
     f                    J   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 e G d	 d
                      Ze G d d                      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 G d# d$ej                  Zdd'Zdd)Zdd*Zdd+Zdd.Z 	 ddd0Z!dd3Z"	 ddd6Z#	 	 	 	 	 	 	 	 	 	 dddLZ$ddNZ%ddOZ&ddQZ'ddSZ(	 dddVZ)	 	 dddZZ*dd]Z+	 	 	 dddaZ,ddcZ-	 dddfZ.ddhZ/ddkZ0ddlZ1ddnZ2ddpZ3ddrZ4	 dddtZ5	 	 	 dddzZ6	 ddd|Z7dd~Z8ddZ9ddZ:ddZ;	 	 	 dddZ<ddZ= ed          e G d d                                  Z>dS )    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	ScreenOrientationz
    Screen orientation.
    strtype_intanglec                J    t                      }| j        |d<   | j        |d<   |S )Ntyper   )dictr   r   selfjsons     t/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v127/emulation.pyto_jsonzScreenOrientation.to_json   s&    vvzV
W    c                h     | t          |d                   t          |d                             S )Nr   r   )r   r   r   r   clsr   s     r   	from_jsonzScreenOrientation.from_json"   s9    sd6l##d7m$$
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      s`           JJJ JJJ   
 
 [
 
 
r   r   c                  J    e Zd ZU ded<   ded<   ded<   d Zed             ZdS )	DisplayFeaturer   orientationr   offsetmask_lengthc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr)   r*   
maskLength)r   r)   r*   r+   r   s     r   r   zDisplayFeature.to_json8   s5    vv".]X!-\r   c                     | t          |d                   t          |d                   t          |d                             S )Nr)   r*   r-   )r)   r*   r+   r   r   s     r   r   zDisplayFeature.from_json?   sJ    sD/00tH~&&D.//
 
 
 	
r   Nr    r!   r"   r$   r   r%   r   r&   r   r   r(   r(   *   sg           KKK
    
 
 [
 
 
r   r(   c                  6    e Zd ZU ded<   d Zed             ZdS )DevicePosturer   r   c                6    t                      }| j        |d<   |S )Nr   )r   r   r   s     r   r   zDevicePosture.to_jsonM   s    vvzVr   c                @     | t          |d                             S )Nr   )r   r   r   s     r   r   zDevicePosture.from_jsonR   s*    sd6l##
 
 
 	
r   Nr/   r&   r   r   r1   r1   H   sK          JJJ  
 
 
 [
 
 
r   r1   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )MediaFeaturer   namevaluec                J    t                      }| j        |d<   | j        |d<   |S )Nr7   r8   )r   r7   r8   r   s     r   r   zMediaFeature.to_json_   s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )Nr7   r8   )r7   r8   r4   r   s     r   r   zMediaFeature.from_jsone   s9    sT&\""d7m$$
 
 
 	
r   Nr/   r&   r   r   r6   r6   Y   sR         IIIJJJ   
 
 [
 
 
r   r6   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )VirtualTimePolicya?  
    advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
    allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
    pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
    resource fetches.
    advancepausepauseIfNetworkFetchesPendingc                    | j         S Nr8   r   s    r   r   zVirtualTimePolicy.to_jsonx   
    zr   c                     | |          S rA   r&   r   s     r   r   zVirtualTimePolicy.from_json{       s4yyr   N)
r    r!   r"   r#   ADVANCEPAUSE PAUSE_IF_NETWORK_FETCHES_PENDINGr   r%   r   r&   r   r   r<   r<   m   sZ          GE'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 )UserAgentBrandVersionzh
    Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
    r   brandversionc                J    t                      }| j        |d<   | j        |d<   |S )NrL   rM   )r   rL   rM   r   s     r   r   zUserAgentBrandVersion.to_json   s&    vv
W,Yr   c                h     | t          |d                   t          |d                             S )NrL   rM   )rL   rM   r4   r   s     r   r   zUserAgentBrandVersion.from_json   s9    sd7m$$Y((
 
 
 	
r   Nr   r&   r   r   rK   rK      s^           JJJLLL   
 
 [
 
 
r   rK   c                      e Zd ZU dZ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 )UserAgentMetadataz
    Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
    Missing optional values will be filled in by the target with what it would normally use.
    r   platformplatform_versionarchitecturemodelboolmobileNz3typing.Optional[typing.List[UserAgentBrandVersion]]brandsfull_version_listtyping.Optional[str]full_versionbitnesstyping.Optional[bool]wow64c                X   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        d | j        D             |d<   | j        d | j        D             |d	<   | j        
| j        |d
<   | j	        
| j	        |d<   | j
        
| j
        |d<   |S )NrR   platformVersionrT   rU   rW   c                6    g | ]}|                                 S r&   r   .0is     r   
<listcomp>z-UserAgentMetadata.to_json.<locals>.<listcomp>   s     ???aaiikk???r   rX   c                6    g | ]}|                                 S r&   rb   rc   s     r   rf   z-UserAgentMetadata.to_json.<locals>.<listcomp>   s     &S&S&Sqqyy{{&S&S&Sr   fullVersionListfullVersionr\   r^   )r   rR   rS   rT   rU   rW   rX   rY   r[   r\   r^   r   s     r   r   zUserAgentMetadata.to_json   s    vv=Z"&"7#0^
WX;"??4;???DN!-&S&SD<R&S&S&SD"#("&"3D<#"lDO:! JDMr   c                    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   d|v rd |d         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 )NrR   r`   rT   rU   rW   rX   c                B    g | ]}t                               |          S r&   rK   r   rc   s     r   rf   z/UserAgentMetadata.from_json.<locals>.<listcomp>   s'    OOO1)33A66OOOr   rh   c                B    g | ]}t                               |          S r&   rl   rc   s     r   rf   z/UserAgentMetadata.from_json.<locals>.<listcomp>   s'    ccca4>>qAAcccr   ri   r\   r^   )
rR   rS   rT   rU   rW   rX   rY   r[   r\   r^   )r   rV   r   s     r   r   zUserAgentMetadata.from_json   s$   sj)** &7!899T.122d7m$$X''S[_cScScOOXOOOOimgx  }A  hA  hAcc4PaKbcccc  GK5Bd5J5JT-0111PT,5,=,=CY(((4)0D$tG}%%%d
 
 
 	
r   )r    r!   r"   r#   r$   rX   rY   r[   r\   r^   r   r%   r   r&   r   r   rQ   rQ      s           MMMJJJLLL CGFFFFF NRQQQQ)-L----$(G((((#'E''''  & 
 
 [
 
 
r   rQ   c                  R    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ed             ZdS )
SensorTypezz
    Used to specify sensor types to emulate.
    See https://w3c.github.io/sensors/#automation for more information.
    zabsolute-orientationaccelerometerzambient-lightgravity	gyroscopezlinear-accelerationmagnetometer	proximityzrelative-orientationc                    | j         S rA   rB   rC   s    r   r   zSensorType.to_json   rD   r   c                     | |          S rA   r&   r   s     r   r   zSensorType.from_json   rF   r   N)r    r!   r"   r#   ABSOLUTE_ORIENTATIONACCELEROMETERAMBIENT_LIGHTGRAVITY	GYROSCOPELINEAR_ACCELERATIONMAGNETOMETER	PROXIMITYRELATIVE_ORIENTATIONr   r%   r   r&   r   r   ro   ro      sz          2#M#MGI/!LI1     [  r   ro   c                  V    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	dS )	SensorMetadataNr]   	availabletyping.Optional[float]minimum_frequencymaximum_frequencyc                    t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr   minimumFrequencymaximumFrequency)r   r   r   r   r   s     r   r   zSensorMetadata.to_json   sR    vv>% $D!-'+'=D#$!-'+'=D#$r   c                     | d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd           S )Nr   r   r   )r   r   r   )rV   floatr   s     r   r   zSensorMetadata.from_json   s~    s1<1D1Dd4,---$ASW[A[A[eD);$<===aeASW[A[A[eD);$<===ae
 
 
 	
r   )
r    r!   r"   r   r$   r   r   r   r%   r   r&   r   r   r   r      su         '+I++++044444044444   
 
 [
 
 
r   r   c                  6    e Zd ZU ded<   d Zed             ZdS )SensorReadingSingler   r8   c                6    t                      }| j        |d<   |S )Nr8   )r   r8   r   s     r   r   zSensorReadingSingle.to_json  s    vv
Wr   c                @     | t          |d                             S )Nr8   rB   r   r   s     r   r   zSensorReadingSingle.from_json  s*    sW&&
 
 
 	
r   Nr/   r&   r   r   r   r     sI         LLL  
 
 
 [
 
 
r   r   c                  J    e Zd ZU ded<   ded<   ded<   d Zed             ZdS )SensorReadingXYZr   xyzc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   )r   r   r   r   r   s     r   r   zSensorReadingXYZ.to_json   s1    vvFS	FS	FS	r   c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   r   )r   r   r   r   r   s     r   r   zSensorReadingXYZ.from_json'  sH    sDIDIDI
 
 
 	
r   Nr/   r&   r   r   r   r     s[         HHHHHHHHH   
 
 [
 
 
r   r   c                  T    e Zd ZU ded<   ded<   ded<   ded<   d Zed             ZdS )	SensorReadingQuaternionr   r   r   r   wc                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r   zSensorReadingQuaternion.to_json:  s<    vvFS	FS	FS	FS	r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r   z!SensorReadingQuaternion.from_jsonB  sW    sDIDIDIDI	
 
 
 	
r   Nr/   r&   r   r   r   r   0  sd         HHHHHHHHHHHH   
 
 [
 
 
r   r   c                  V    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	dS )
SensorReadingNz$typing.Optional[SensorReadingSingle]singlez!typing.Optional[SensorReadingXYZ]xyzz(typing.Optional[SensorReadingQuaternion]
quaternionc                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nr   r   r   )r   r   r   r   r   r   s     r   r   zSensorReading.to_jsonT  sn    vv;"![0022DN8(**,,DK?&!%!8!8!:!:Dr   c                     | d|v r t                               |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nr   r   r   )r   r   r   )r   r   r   r   r   s     r   r   zSensorReading.from_json^  s    sDLPTDTDT&00h@@@Z^;@D== **4;777dP\`dPdPd.88l9KLLLjn
 
 
 	
r   )
r    r!   r"   r   r$   r   r   r   r%   r   r&   r   r   r   r   L  ss         37F7777-1C1111;?J????   
 
 [
 
 
r   r   c                  6    e Zd ZdZdZdZd Zed             ZdS )DisabledImageTypez3
    Enum of image types that can be disabled.
    avifwebpc                    | j         S rA   rB   rC   s    r   r   zDisabledImageType.to_jsonn  rD   r   c                     | |          S rA   r&   r   s     r   r   zDisabledImageType.from_jsonq  rF   r   N)	r    r!   r"   r#   AVIFWEBPr   r%   r   r&   r   r   r   r   g  sT          DD     [  r   r   return0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool]c               #  @   K   ddi} | V }t          |d                   S )z^
    Tells whether emulation is supported.

    :returns: True if emulation is supported.
    methodzEmulation.canEmulateresult)rV   cmd_dictr   s     r   can_emulater   v  s2       	(H >>DXr   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z/
    Clears the overridden device metrics.
    r   z$Emulation.clearDeviceMetricsOverrideNr&   r   s     r   clear_device_metrics_overrider     s$      
 	8H >>DDDr   c               #     K   ddi} | V }dS )z?
    Clears the overridden Geolocation Position and Error.
    r   z"Emulation.clearGeolocationOverrideNr&   r   s     r   clear_geolocation_overrider     s$      
 	6H >>DDDr   c               #     K   ddi} | V }dS )z[
    Requests that page scale factor is reset to initial values.

    **EXPERIMENTAL**
    r   zEmulation.resetPageScaleFactorNr&   r   s     r   reset_page_scale_factorr     s$       	2H >>DDDr   enabledrV   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Enables or disables simulating a focused and active page.

    **EXPERIMENTAL**

    :param enabled: Whether to enable to disable focus emulation.
    r   z"Emulation.setFocusEmulationEnabledr   paramsNr   r   r   r   r   s       r   set_focus_emulation_enabledr     s<       &&FF96 H >>DDDr   r]   c              #  F   K   t                      }| | |d<   d|d}|V }dS )z
    Automatically render all web contents using a dark theme.

    **EXPERIMENTAL**

    :param enabled: *(Optional)* Whether to enable or disable automatic dark mode. If not specified, any existing override will be cleared.
    Nr   z!Emulation.setAutoDarkModeOverrider   r   r   s       r   set_auto_dark_mode_overrider     sB       &&F#y5 H >>DDDr   rater   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Enables CPU throttling to emulate slow CPUs.

    :param rate: Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
    r   zEmulation.setCPUThrottlingRater   Nr   )r   r   r   r   s       r   set_cpu_throttling_rater     s;       &&FF6N2 H >>DDDr   colortyping.Optional[dom.RGBA]c              #  j   K   t                      }| |                                 |d<   d|d}|V }dS )a  
    Sets or clears an override of the default background color of the frame. This override is used
    if the content does not specify one.

    :param color: *(Optional)* RGBA of the default background color. If not specified, any existing override will be cleared.
    Nr   z+Emulation.setDefaultBackgroundColorOverrider   r   r   )r   r   r   r   s       r   %set_default_background_color_overrider     sI       &&F--//w? H >>DDDr   widthr   heightdevice_scale_factorrW   scaler   screen_widthtyping.Optional[int]screen_height
position_x
position_ydont_set_visible_sizescreen_orientation"typing.Optional[ScreenOrientation]viewporttyping.Optional[page.Viewport]display_featuretyping.Optional[DisplayFeature]device_posturetyping.Optional[DevicePosture]c              #  |  K   t                      }| |d<   ||d<   ||d<   ||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
                                |d<   ||                                |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )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).

    :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: **(EXPERIMENTAL)** *(Optional)* Scale to apply to resulting view image.
    :param screen_width: **(EXPERIMENTAL)** *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: **(EXPERIMENTAL)** *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: **(EXPERIMENTAL)** *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: **(EXPERIMENTAL)** *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: **(EXPERIMENTAL)** *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: **(EXPERIMENTAL)** *(Optional)* If set, the visible area of the page will be overridden to this viewport. This viewport change is not observed by the page, e.g. viewport-relative elements do not change positions.
    :param display_feature: **(EXPERIMENTAL)** *(Optional)* If set, the display feature of a multi-segment screen. If not set, multi-segment support is turned-off.
    :param device_posture: **(EXPERIMENTAL)** *(Optional)* If set, the posture of a foldable device. If not set the posture is set to continuous. Deprecated, use Emulation.setDevicePostureOverride.
    r   r   deviceScaleFactorrW   Nr   screenWidthscreenHeight	positionX	positionYdontSetVisibleSizescreenOrientationr   displayFeaturedevicePosturez"Emulation.setDeviceMetricsOverrider   r   )r   r   r   rW   r   r   r   r   r   r   r   r   r   r   r   r   r   s                    r   set_device_metrics_overrider     s-     H &&FF7OF8"5FF8w ,} !.~({({('<#$%&8&@&@&B&B"#%--//z"#2#:#:#<#< !"0"8"8":":6 H >>DDDr   posturec              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Start reporting the given posture value to the Device Posture API.
    This override can also be set in setDeviceMetricsOverride().

    **EXPERIMENTAL**

    :param posture:
    r   z"Emulation.setDevicePostureOverrider   Nr   )r   r   r   r   s       r   set_device_posture_overrider   2  sF       &&F))F96 H >>DDDr   c               #     K   ddi} | V }dS )z
    Clears a device posture override set with either setDeviceMetricsOverride()
    or setDevicePostureOverride() and starts using posture information from the
    platform again.
    Does nothing if no override is set.

    **EXPERIMENTAL**
    r   z$Emulation.clearDevicePostureOverrideNr&   r   s     r   clear_device_posture_overrider   F  s$       	8H >>DDDr   hiddenc              #  B   K   t                      }| |d<   d|d}|V }dS )z\


    **EXPERIMENTAL**

    :param hidden: Whether scrollbars should be always hidden.
    r   zEmulation.setScrollbarsHiddenr   Nr   )r   r   r   r   s       r   set_scrollbars_hiddenr   U  s<       &&FF81 H >>DDDr   disabledc              #  B   K   t                      }| |d<   d|d}|V }dS )zc


    **EXPERIMENTAL**

    :param disabled: Whether document.coookie API should be disabled.
    r   z#Emulation.setDocumentCookieDisabledr   Nr   )r   r   r   r   s       r   set_document_cookie_disabledr   h  s<       &&F!F:7 H >>DDDr   configurationrZ   c              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )z


    **EXPERIMENTAL**

    :param enabled: Whether touch emulation based on mouse input should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    r   Nr   z$Emulation.setEmitTouchEventsForMouser   r   )r   r   r   r   r   s        r   set_emit_touch_events_for_mouser   {  sL       &&FF9 "/8 H >>DDDr   mediafeatures*typing.Optional[typing.List[MediaFeature]]c              #  h   K   t                      }| | |d<   |d |D             |d<   d|d}|V }dS )z
    Emulates the given media type or media feature for CSS media queries.

    :param media: *(Optional)* Media type to emulate. Empty string disables the override.
    :param features: *(Optional)* Media features to emulate.
    Nr   c                6    g | ]}|                                 S r&   rb   rc   s     r   rf   z&set_emulated_media.<locals>.<listcomp>  s     <<<aaiikk<<<r   r   zEmulation.setEmulatedMediar   r   )r   r   r   r   r   s        r   set_emulated_mediar     s_       &&Fw<<8<<<z. H >>DDDr   r   r   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Emulates the given vision deficiency.

    :param type_: Vision deficiency to emulate. Order: best-effort emulations come first, followed by any physiologically accurate emulations for medically recognized color vision deficiencies.
    r   z%Emulation.setEmulatedVisionDeficiencyr   Nr   r   r   r   r   s       r   set_emulated_vision_deficiencyr     s;       &&FF6N9 H >>DDDr   latitude	longitudeaccuracyc              #  b   K   t                      }| | |d<   |||d<   |||d<   d|d}|V }dS )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
    Nr   r   r  z Emulation.setGeolocationOverrider   r   )r   r   r  r   r   r   s         r   set_geolocation_overrider    sb       &&F%z'{%z4 H >>DDDr   1typing.Generator[T_JSON_DICT, T_JSON_DICT, float]c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   S )z>


    **EXPERIMENTAL**

    :param type_:
    :returns: 
    r   z(Emulation.getOverriddenSensorInformationr   requestedSamplingFrequencyr   r   r   r   s       r   !get_overridden_sensor_informationr    sS       &&F]]__F6N< H >>D23444r   metadatatyping.Optional[SensorMetadata]c              #     K   t                      }| |d<   |                                |d<   ||                                |d<   d|d}|V }dS )a  
    Overrides a platform sensor of a given type. If ``enabled`` is true, calls to
    Sensor.start() will use a virtual sensor as backend rather than fetching
    data from a real hardware sensor. Otherwise, existing virtual
    sensor-backend Sensor objects will fire an error event and new calls to
    Sensor.start() will attempt to use a real sensor instead.

    **EXPERIMENTAL**

    :param enabled:
    :param type_:
    :param metadata: *(Optional)*
    r   r   Nr	  z"Emulation.setSensorOverrideEnabledr   r   )r   r   r	  r   r   r   s         r   set_sensor_override_enabledr    si      $ &&FF9]]__F6N%--//z6 H >>DDDr   readingc              #     K   t                      }|                                 |d<   |                                |d<   d|d}|V }dS )z
    Updates the sensor readings reported by a sensor type previously overridden
    by setSensorOverrideEnabled.

    **EXPERIMENTAL**

    :param type_:
    :param reading:
    r   r  z#Emulation.setSensorOverrideReadingsr   Nr   )r   r  r   r   r   s        r   set_sensor_override_readingsr    sW       &&F]]__F6N))F97 H >>DDDr   is_user_activeis_screen_unlockedc              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Overrides the Idle state.

    :param is_user_active: Mock isUserActive
    :param is_screen_unlocked: Mock isScreenUnlocked
    isUserActiveisScreenUnlockedzEmulation.setIdleOverrider   Nr   )r  r  r   r   r   s        r   set_idle_overrider    sG       &&F+F>!3F- H >>DDDr   c               #     K   ddi} | V }dS )z&
    Clears Idle state overrides.
    r   zEmulation.clearIdleOverrideNr&   r   s     r   clear_idle_overrider  2  s$      
 	/H >>DDDr   rR   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Overrides value returned by the javascript navigator object.

    **EXPERIMENTAL**

    :param platform: The platform navigator.platform should return.
    rR   zEmulation.setNavigatorOverridesr   Nr   )rR   r   r   r   s       r   set_navigator_overridesr  <  s<       &&F!F:3 H >>DDDr   page_scale_factorc              #  B   K   t                      }| |d<   d|d}|V }dS )zu
    Sets a specified page scale factor.

    **EXPERIMENTAL**

    :param page_scale_factor: Page scale factor.
    pageScaleFactorzEmulation.setPageScaleFactorr   Nr   )r  r   r   r   s       r   set_page_scale_factorr  O  s=       &&F 1F0 H >>DDDr   r8   c              #  B   K   t                      }| |d<   d|d}|V }dS )z|
    Switches script execution in the page.

    :param value: Whether script execution should be disabled in the page.
    r8   z$Emulation.setScriptExecutionDisabledr   Nr   )r8   r   r   r   s       r   set_script_execution_disabledr  b  s;       &&FF7O8 H >>DDDr   max_touch_pointsc              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )z
    Enables touch on platforms which do not support them.

    :param enabled: Whether the touch event emulation should be enabled.
    :param max_touch_points: *(Optional)* Maximum touch points supported. Defaults to one.
    r   NmaxTouchPointsz"Emulation.setTouchEmulationEnabledr   r   )r   r   r   r   r   s        r   set_touch_emulation_enabledr#  s  sM       &&FF9##3 6 H >>DDDr   policybudget&max_virtual_time_task_starvation_countinitial_virtual_time'typing.Optional[network.TimeSinceEpoch]c              #     K   t                      }|                                 |d<   |||d<   |||d<   ||                                |d<   d|d}|V }t          |d                   S )	a#  
    Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
    the current virtual time policy.  Note this supersedes any previous time budget.

    **EXPERIMENTAL**

    :param policy:
    :param budget: *(Optional)* If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.
    :param max_virtual_time_task_starvation_count: *(Optional)* If set this specifies the maximum number of tasks that can be run before virtual is forced forwards to prevent deadlock.
    :param initial_virtual_time: *(Optional)* If set, base::Time::Now will be overridden to initially return this value.
    :returns: Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
    r$  Nr%  !maxVirtualTimeTaskStarvationCountinitialVirtualTimezEmulation.setVirtualTimePolicyr   virtualTimeTicksBaser  )r$  r%  r&  r'  r   r   r   s          r   set_virtual_time_policyr-    s      $ &&F~~''F8!x-96\23'';'C'C'E'E#$2 H >>D,-...r   localec              #  F   K   t                      }| | |d<   d|d}|V }dS )z
    Overrides default host system locale with the specified one.

    **EXPERIMENTAL**

    :param locale: *(Optional)* ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override and restores default host system locale.
    Nr.  zEmulation.setLocaleOverrider   r   )r.  r   r   r   s       r   set_locale_overrider0    sB       &&F!x/ H >>DDDr   timezone_idc              #  B   K   t                      }| |d<   d|d}|V }dS )ag  
    Overrides default host system timezone with the specified one.

    :param timezone_id: The timezone identifier. List of supported timezones: https://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt If empty, disables the override and restores default host system timezone.
    
timezoneIdzEmulation.setTimezoneOverrider   Nr   )r1  r   r   r   s       r   set_timezone_overrider4    s<       &&F&F<1 H >>DDDr   c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )a<  
    Resizes the frame/viewport of the page. Note that this does not affect the frame's container
    (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported
    on Android.

    **EXPERIMENTAL**

    :param width: Frame width (DIP).
    :param height: Frame height (DIP).
    r   r   zEmulation.setVisibleSizer   Nr   )r   r   r   r   r   s        r   set_visible_sizer6    sE       &&FF7OF8, H >>DDDr   image_typestyping.List[DisabledImageType]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zM


    **EXPERIMENTAL**

    :param image_types: Image types to disable.
    c                6    g | ]}|                                 S r&   rb   rc   s     r   rf   z,set_disabled_image_types.<locals>.<listcomp>  s     ===AAIIKK===r   
imageTypeszEmulation.setDisabledImageTypesr   Nr   )r7  r   r   r   s       r   set_disabled_image_typesr<    sJ       &&F=====F<3 H >>DDDr   hardware_concurrencyc              #  B   K   t                      }| |d<   d|d}|V }dS )z]


    **EXPERIMENTAL**

    :param hardware_concurrency: Hardware concurrency to report
    hardwareConcurrencyz(Emulation.setHardwareConcurrencyOverrider   Nr   )r=  r   r   r   s       r   !set_hardware_concurrency_overrider@    s=       &&F$8F !< H >>DDDr   
user_agentaccept_languageuser_agent_metadata"typing.Optional[UserAgentMetadata]c              #     K   t                      }| |d<   |||d<   |||d<   ||                                |d<   d|d}|V }dS )a  
    Allows overriding user agent with the given string.
    ``userAgentMetadata`` must be set for Client Hint headers to be sent.

    :param user_agent: User agent to use.
    :param accept_language: *(Optional)* Browser language to emulate.
    :param platform: *(Optional)* The platform navigator.platform should return.
    :param user_agent_metadata: **(EXPERIMENTAL)** *(Optional)* To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
    	userAgentNacceptLanguagerR   userAgentMetadatazEmulation.setUserAgentOverrider   r   )rA  rB  rR   rC  r   r   r   s          r   set_user_agent_overriderI    sz       &&F$F;"#2 %z&&9&A&A&C&C"#2 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Allows overriding the automation flag.

    **EXPERIMENTAL**

    :param enabled: Whether the override should be enabled.
    r   zEmulation.setAutomationOverrider   Nr   r   s       r   set_automation_overriderK  +  s<       &&FF93 H >>DDDr   z"Emulation.virtualTimeBudgetExpiredc                  *    e Zd ZdZedd            ZdS )VirtualTimeBudgetExpiredz~
    **EXPERIMENTAL**

    Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
    r   r   r   c                     |             S rA   r&   r   s     r   r   z"VirtualTimeBudgetExpired.from_jsonH  s    s 
 
 	
r   N)r   r   r   rM  )r    r!   r"   r#   r%   r   r&   r   r   rM  rM  >  s>          
 
 
 [
 
 
r   rM  )r   r   )r   r   )r   rV   r   r   rA   )r   r]   r   r   )r   r   r   r   )r   r   r   r   )
NNNNNNNNNN)r   r   r   r   r   r   rW   rV   r   r   r   r   r   r   r   r   r   r   r   r]   r   r   r   r   r   r   r   r   r   r   )r   r1   r   r   )r   rV   r   r   )r   rV   r   r   )r   rV   r   rZ   r   r   )NN)r   rZ   r   r   r   r   )r   r   r   r   )NNN)r   r   r   r   r  r   r   r   )r   ro   r   r  )r   rV   r   ro   r	  r
  r   r   )r   ro   r  r   r   r   )r  rV   r  rV   r   r   )rR   r   r   r   )r  r   r   r   )r8   rV   r   r   )r   rV   r   r   r   r   )
r$  r<   r%  r   r&  r   r'  r(  r   r  )r.  rZ   r   r   )r1  r   r   r   )r   r   r   r   r   r   )r7  r8  r   r   )r=  r   r   r   )
rA  r   rB  rZ   rR   rZ   rC  rD  r   r   )?
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r(   r1   r6   Enumr<   rK   rQ   ro   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-  r0  r4  r6  r<  r@  rI  rK  rM  r&   r   r   <module>rV     s   # " " " " " * * * * * * * * ! ! ! ! ! !                     
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
: 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
&    	   & 
 
 
 
 
 
 
 
, ;
 ;
 ;
 ;
 ;
 ;
 ;
 ;
|       . 
 
 
 
 
 
 
 
4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
. 
 
 
 
 
 
 
 
6 
 
 
 
 
 
 
 
4    	   
  
  
  
       	 	 	 	   ( *.    (   $ ,0    0 )--1.2+/+/7;AE37;?9=A A A A AH   (      &   * /3    0 '+?C    ,   $ ,0,0+/    65 5 5 50 59    <   .   (      &   &   & 26    . *.GKHL	/ / / / /F (,    (   "   0   &   * 15)-BF	    <   & 122

 
 
 
 
 
 
  32
 
 
r   