
    ,h                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZ 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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y)&    )annotations   )event_classT_JSON_DICT)	dataclassNc                  <     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.
    c                    | S N selfs    o/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v135/media.pyto_jsonzPlayerId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzPlayerId.from_json       4yr   c                >    dj                  t        | 	               S )NzPlayerId({})formatsuper__repr__r   	__class__s    r   r   zPlayerId.__repr__   s    $$UW%5%788r   )returnstr)r   r!   r    r	   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__r   s   @r   r	   r	      s+      9 9r   r	   c                  8     e Zd ZddZedd       Z fdZ xZS )	Timestampc                    | S r   r   r   s    r   r   zTimestamp.to_json   r   r   c                     | |      S r   r   r   s     r   r   zTimestamp.from_json    r   r   c                >    dj                  t        | 	               S )NzTimestamp({})r   r   s    r   r   zTimestamp.__repr__$   s    %%eg&6&899r   )r    float)r   r.   r    r*   )r"   r#   r$   r   r&   r   r   r'   r(   s   @r   r*   r*      s&      : :r   r*   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)PlayerMessagezU
    Have one type per entry in MediaLogRecord::Type
    Corresponds to kMessage
    r!   levelmessagec                V    t               }| j                  |d<   | j                  |d<   |S )Nr1   r2   )dictr1   r2   r   r   s     r   r   zPlayerMessage.to_json;   s(    v

W,,Yr   c                F     | t        |d         t        |d               S )Nr1   r2   )r1   r2   r!   r   s     r   r   zPlayerMessage.from_jsonA   s'    d7m$Y(
 	
r   Nr"   r#   r$   r%   __annotations__r   r&   r   r   r   r   r0   r0   (   s,     JL 
 
r   r0   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)PlayerPropertyz-
    Corresponds to kMediaPropertyChange
    r!   namevaluec                V    t               }| j                  |d<   | j                  |d<   |S )Nr<   r=   )r4   r<   r=   r5   s     r   r   zPlayerProperty.to_jsonR   s(    vyyV

Wr   c                F     | t        |d         t        |d               S )Nr<   r=   )r<   r=   r7   r   s     r   r   zPlayerProperty.from_jsonX   s'    T&\"d7m$
 	
r   Nr8   r   r   r   r;   r;   I   s,     IJ 
 
r   r;   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	PlayerEventz-
    Corresponds to kMediaEventTriggered
    r*   	timestampr!   r=   c                r    t               }| j                  j                         |d<   | j                  |d<   |S )NrB   r=   )r4   rB   r   r=   r5   s     r   r   zPlayerEvent.to_jsoni   s2    v NN224[

Wr   c                Z     | t         j                  |d         t        |d               S )NrB   r=   )rB   r=   )r*   r   r!   r   s     r   r   zPlayerEvent.from_jsono   s.    ))${*;<d7m$
 	
r   Nr8   r   r   r   rA   rA   `   s-     J 
 
r   rA   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	PlayerErrorSourceLocationz
    Represents logged source line numbers reported in an error.
    NOTE: file and line are from chromium c++ implementation code, not js.
    r!   fileintlinec                V    t               }| j                  |d<   | j                  |d<   |S )NrG   rI   )r4   rG   rI   r5   s     r   r   z!PlayerErrorSourceLocation.to_json   s(    vyyVyyVr   c                F     | t        |d         t        |d               S )NrG   rI   )rG   rI   )r!   rH   r   s     r   r   z#PlayerErrorSourceLocation.from_json   s'    T&\"T&\"
 	
r   Nr8   r   r   r   rF   rF   w   s,     I
I 
 
r   rF   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)PlayerErrorz$
    Corresponds to kMediaError
    r!   
error_typerH   codez&typing.List[PlayerErrorSourceLocation]stacktyping.List[PlayerError]causer4   datac                4   t               }| j                  |d<   | j                  |d<   | j                  D cg c]  }|j	                          c}|d<   | j
                  D cg c]  }|j	                          c}|d<   | j                  |d<   |S c c}w c c}w )N	errorTyperO   rP   rR   rS   )r4   rN   rO   rP   r   rR   rS   )r   r   is      r   r   zPlayerError.to_json   sz    v OO[yyV.2jj99W.2jj99WyyV :9s   B"Bc                    | t        |d         t        |d         |d   D cg c]  }t        j                  |       c}|d   D cg c]  }t        j                  |       c}t        |d               S c c}w c c}w )NrU   rO   rP   rR   rS   )rN   rO   rP   rR   rS   )r!   rH   rF   r   rM   r4   r   r   rV   s      r   r   zPlayerError.from_json   sx    4,-T&\"CG=Qa,66q9Q59']C;((+Cd6l#
 	
 RCs   A:	A?Nr8   r   r   r   rM   rM      sE     O I 21 $# J 
 
r   rM   c               #     K   ddi} | }yw)z"
    Enables the Media domain
    methodzMedia.enableNr   cmd_dictr   s     r   enabler]      s     
 	.H >D   
c               #     K   ddi} | }yw)z$
    Disables the Media domain.
    rZ   zMedia.disableNr   r[   s     r   disabler`      s     
 	/H >Dr^   zMedia.playerPropertiesChangedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	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]
propertiesc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )NplayerIdrd   )rc   rd   )r	   r   r;   rX   s      r   r   z!PlayerPropertiesChanged.from_json   sC    ((j)9:=A,=OP003P
 	
P   A
N)r   r   r    rb   r"   r#   r$   r%   r9   r&   r   r   r   r   rb   rb      s'     ++
 
r   rb   zMedia.playerEventsAddedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	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	   rc   ztyping.List[PlayerEvent]eventsc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nrf   rk   )rc   rk   )r	   r   rA   rX   s      r   r   zPlayerEventsAdded.from_json   B    ((j)9:6:8nEK))!,E
 	
Erg   N)r   r   r    rj   rh   r   r   r   rj   rj      s'     $$
 
r   rj   zMedia.playerMessagesLoggedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerMessagesLoggedz@
    Send a list of any messages that need to be delivered.
    r	   rc   ztyping.List[PlayerMessage]messagesc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nrf   rp   )rc   rp   )r	   r   r0   rX   s      r   r   zPlayerMessagesLogged.from_json   sC    ((j)9::>z:JKQm--a0K
 	
Krg   N)r   r   r    ro   rh   r   r   r   ro   ro      s'     ((
 
r   ro   zMedia.playerErrorsRaisedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerErrorsRaisedz>
    Send a list of any errors that need to be delivered.
    r	   rc   rQ   errorsc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nrf   rt   )rc   rt   )r	   r   rM   rX   s      r   r   zPlayerErrorsRaised.from_json
  rm   rg   N)r   r   r    rs   rh   r   r   r   rs   rs     s'     $$
 
r   rs   zMedia.playersCreatedc                  .    e Zd ZU dZded<   edd       Zy)PlayersCreatedz
    Called whenever a player is created, or when a new agent joins and receives
    a list of active players. If an agent is restored, it will receive the full
    list of player ids and all events again.
    ztyping.List[PlayerId]playersc                f     | |d   D cg c]  }t         j                  |       c}      S c c}w )Nrx   )rx   )r	   r   rX   s      r   r   zPlayersCreated.from_json  s/    48ODqX''*D
 	
Ds   .N)r   r   r    rw   rh   r   r   r   rw   rw     s!    
 #"
 
r   rw   )r    z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])
__future__r   utilr   r   dataclassesr   enumtypingr!   r	   r.   r*   r0   r;   rA   rF   rM   r]   r`   rb   rj   ro   rs   rw   r   r   r   <module>r      sz   # * !  9s 9	: 	: 
 
 
@ 
 
 
, 
 
 
, 
 
 
. %
 %
 %
P ,-

 
  .
  &'

 
  (
  )*

 
  +
 '(

 
  )
 #$

 
  %
r   