
     f                       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 G d de	          Z
 G d d	e          Ze G d
 d                      Ze G d d                      Ze G d d                      Ze G 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dS )&    )annotations   )event_classT_JSON_DICT)	dataclassNc                  B     e Zd ZdZddZed	d            Z fdZ xZS )
PlayerIdzI
    Players will get an ID that is unique within the agent context.
    returnstrc                    | S N selfs    o/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/media.pyto_jsonzPlayerId.to_json           jsonc                     | |          S r   r   clsr   s     r   	from_jsonzPlayerId.from_json       s4yyr   c                j    d                     t                                                                S )NzPlayerId({})formatsuper__repr__r   	__class__s    r   r   zPlayerId.__repr__   s'    $$UWW%5%5%7%7888r   )r
   r   )r   r   r
   r	   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__r!   s   @r   r	   r	      sv                [9 9 9 9 9 9 9 9 9r   r	   c                  >     e Zd ZddZedd            Z fdZ xZS )		Timestampr
   floatc                    | S r   r   r   s    r   r   zTimestamp.to_json   r   r   r   c                     | |          S r   r   r   s     r   r   zTimestamp.from_json    r   r   c                j    d                     t                                                                S )NzTimestamp({})r   r    s    r   r   zTimestamp.__repr__$   s'    %%egg&6&6&8&8999r   )r
   r+   )r   r+   r
   r*   )r"   r#   r$   r   r&   r   r   r'   r(   s   @r   r*   r*      sl               [: : : : : : : : :r   r*   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )PlayerMessagezU
    Have one type per entry in MediaLogRecord::Type
    Corresponds to kMessage
    r   levelmessagec                J    t                      }| j        |d<   | j        |d<   |S )Nr1   r2   )dictr1   r2   r   r   s     r   r   zPlayerMessage.to_json;   s&    vv
W,Yr   c                h     | t          |d                   t          |d                             S )Nr1   r2   )r1   r2   r   r   s     r   r   zPlayerMessage.from_jsonA   s9    sd7m$$Y((
 
 
 	
r   Nr"   r#   r$   r%   __annotations__r   r&   r   r   r   r   r0   r0   (   s^           JJJLLL   
 
 [
 
 
r   r0   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )PlayerPropertyz-
    Corresponds to kMediaPropertyChange
    r   namevaluec                J    t                      }| j        |d<   | j        |d<   |S )Nr<   r=   )r4   r<   r=   r5   s     r   r   zPlayerProperty.to_jsonR   s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )Nr<   r=   )r<   r=   r7   r   s     r   r   zPlayerProperty.from_jsonX   s9    sT&\""d7m$$
 
 
 	
r   Nr8   r   r   r   r;   r;   I   s^           IIIJJJ   
 
 [
 
 
r   r;   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	PlayerEventz-
    Corresponds to kMediaEventTriggered
    r*   	timestampr   r=   c                n    t                      }| j                                        |d<   | j        |d<   |S )NrB   r=   )r4   rB   r   r=   r5   s     r   r   zPlayerEvent.to_jsoni   s3    vv N2244[
Wr   c                ~     | t                               |d                   t          |d                             S )NrB   r=   )rB   r=   )r*   r   r   r   s     r   r   zPlayerEvent.from_jsono   s@    s))${*;<<d7m$$
 
 
 	
r   Nr8   r   r   r   rA   rA   `   sa           JJJ   
 
 [
 
 
r   rA   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )PlayerErrorz$
    Corresponds to kMediaError
    r   type_
error_codec                J    t                      }| j        |d<   | j        |d<   |S )Ntype	errorCode)r4   rG   rH   r5   s     r   r   zPlayerError.to_json   s'    vvzV O[r   c                h     | t          |d                   t          |d                             S )NrJ   rK   )rG   rH   r7   r   s     r   r   zPlayerError.from_json   s:    sd6l##4,--
 
 
 	
r   Nr8   r   r   r   rF   rF   w   s`           JJJ OOO   
 
 [
 
 
r   rF   r
   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z"
    Enables the Media domain
    methodzMedia.enableNr   cmd_dictr   s     r   enablerR      s#      
 	.H >>DDDr   c               #     K   ddi} | V }dS )z$
    Disables the Media domain.
    rO   zMedia.disableNr   rP   s     r   disablerT      s#      
 	/H >>DDDr   zMedia.playerPropertiesChangedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )PlayerPropertiesChangedz
    This can be called multiple times, and can be used to set / override /
    remove player properties. A null propValue indicates removal.
    r	   	player_idztyping.List[PlayerProperty]
propertiesr   r   r
   c                x     | t                               |d                   d |d         D                       S )NplayerIdc                B    g | ]}t                               |          S r   )r;   r   .0is     r   
<listcomp>z5PlayerPropertiesChanged.from_json.<locals>.<listcomp>   s&    PPP0033PPPr   rX   )rW   rX   r	   r   r   s     r   r   z!PlayerPropertiesChanged.from_json   sG    s((j)9::PPT,=OPPP
 
 
 	
r   N)r   r   r
   rV   r"   r#   r$   r%   r9   r&   r   r   r   r   rV   rV      sX           ++++
 
 
 [
 
 
r   rV   zMedia.playerEventsAddedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )PlayerEventsAddedz
    Send events as a list, allowing them to be batched on the browser for less
    congestion. If batched, events must ALWAYS be in chronological order.
    r	   rW   ztyping.List[PlayerEvent]eventsr   r   r
   c                x     | t                               |d                   d |d         D                       S )NrZ   c                B    g | ]}t                               |          S r   )rA   r   r\   s     r   r_   z/PlayerEventsAdded.from_json.<locals>.<listcomp>   &    EEEK))!,,EEEr   rd   )rW   rd   r`   r   s     r   r   zPlayerEventsAdded.from_json   F    s((j)9::EEd8nEEE
 
 
 	
r   N)r   r   r
   rc   ra   r   r   r   rc   rc      sX           $$$$
 
 
 [
 
 
r   rc   zMedia.playerMessagesLoggedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )PlayerMessagesLoggedz@
    Send a list of any messages that need to be delivered.
    r	   rW   ztyping.List[PlayerMessage]messagesr   r   r
   c                x     | t                               |d                   d |d         D                       S )NrZ   c                B    g | ]}t                               |          S r   )r0   r   r\   s     r   r_   z2PlayerMessagesLogged.from_json.<locals>.<listcomp>   s&    KKKQm--a00KKKr   rk   )rW   rk   r`   r   s     r   r   zPlayerMessagesLogged.from_json   sG    s((j)9::KK$z:JKKK
 
 
 	
r   N)r   r   r
   rj   ra   r   r   r   rj   rj      sX           ((((
 
 
 [
 
 
r   rj   zMedia.playerErrorsRaisedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )PlayerErrorsRaisedz>
    Send a list of any errors that need to be delivered.
    r	   rW   ztyping.List[PlayerError]errorsr   r   r
   c                x     | t                               |d                   d |d         D                       S )NrZ   c                B    g | ]}t                               |          S r   )rF   r   r\   s     r   r_   z0PlayerErrorsRaised.from_json.<locals>.<listcomp>   rg   r   rp   )rW   rp   r`   r   s     r   r   zPlayerErrorsRaised.from_json   rh   r   N)r   r   r
   ro   ra   r   r   r   ro   ro      sX           $$$$
 
 
 [
 
 
r   ro   zMedia.playersCreatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
PlayersCreatedz
    Called whenever a player is created, or when a new agent joins and recieves
    a list of active players. If an agent is restored, it will recieve the full
    list of player ids and all events again.
    ztyping.List[PlayerId]playersr   r   r
   c                :     | d |d         D                       S )Nc                B    g | ]}t                               |          S r   r`   r\   s     r   r_   z,PlayersCreated.from_json.<locals>.<listcomp>   s&    DDDqX''**DDDr   ru   )ru   r   r   s     r   r   zPlayersCreated.from_json   s0    sDDDODDD
 
 
 	
r   N)r   r   r
   rt   ra   r   r   r   rt   rt      sL          
 #"""
 
 
 [
 
 
r   rt   )r
   rM   )
__future__r   utilr   r   dataclassesr   enumtypingr   r	   r+   r*   r0   r;   rA   rF   rR   rT   rV   rc   rj   ro   rt   r   r   r   <module>r}      s   # " " " " " * * * * * * * * ! ! ! ! ! !  9 9 9 9 9s 9 9 9	: 	: 	: 	: 	: 	: 	: 	: 
 
 
 
 
 
 
 
@ 
 
 
 
 
 
 
 
, 
 
 
 
 
 
 
 
, 
 
 
 
 
 
 
 
6       ,--

 
 
 
 
 
 
  .-
  &''

 
 
 
 
 
 
  ('
  )**

 
 
 
 
 
 
  +*
 '((

 
 
 
 
 
 
  )(
 #$$

 
 
 
 
 
 
  %$
 
 
r   