
    i                    @   S SK Jr  SSKJrJr  S SKJr  S SKrS SKrSSK	J
r
   " S S\5      r " S	 S
\5      r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       rS(S jrS(S jr\" S5      \ " S S5      5       5       r\" S5      \ " S S5      5       5       r\" S5      \ " S  S!5      5       5       r\" S"5      \ " S# S$5      5       5       r\" S%5      \ " S& S'5      5       5       rg))    )annotations   )event_classT_JSON_DICT)	dataclassN)domc                  J   ^  \ rS rSrSrSS jr\SS j5       rU 4S jrSr	U =r
$ )	PlayerId   zA
Players will get an ID that is unique within the agent context.
c                    U $ N selfs    ZC:\des-py\RoboSAPF\venv\Lib\site-packages\selenium/webdriver/common/devtools/v141/media.pyto_jsonPlayerId.to_json           c                    U " U5      $ r   r   clsjsons     r   	from_jsonPlayerId.from_json       4yr   c                >   > SR                  [        TU ]	  5       5      $ )NzPlayerId({})formatsuper__repr__r   	__class__s    r   r!   PlayerId.__repr__   s    $$UW%5%788r   r   )returnstr)r   r&   r%   r
   )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r!   __static_attributes____classcell__r#   s   @r   r
   r
      s+      9 9r   r
   c                  F   ^  \ rS rSrSS jr\SS j5       rU 4S jrSrU =r	$ )	Timestamp   c                    U $ r   r   r   s    r   r   Timestamp.to_json   r   r   c                    U " U5      $ r   r   r   s     r   r   Timestamp.from_json"   r   r   c                >   > SR                  [        TU ]	  5       5      $ )NzTimestamp({})r   r"   s    r   r!   Timestamp.__repr__&   s    %%eg&6&899r   r   )r%   float)r   r9   r%   r1   )
r'   r(   r)   r*   r   r,   r   r!   r-   r.   r/   s   @r   r1   r1      s&      : :r   r1   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rSr	g	)
PlayerMessage*   zI
Have one type per entry in MediaLogRecord::Type
Corresponds to kMessage
r&   levelmessagec                V    [        5       nU R                  US'   U R                  US'   U$ )Nr=   r>   )dictr=   r>   r   r   s     r   r   PlayerMessage.to_json=   s(    v

W,,Yr   c                @    U " [        US   5      [        US   5      S9$ )Nr=   r>   )r=   r>   r&   r   s     r   r   PlayerMessage.from_jsonC   s'    d7m$Y(
 	
r   r   N
r'   r(   r)   r*   r+   __annotations__r   r,   r   r-   r   r   r   r;   r;   *   s,     JL 
 
r   r;   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rSr	g	)
PlayerPropertyK   z%
Corresponds to kMediaPropertyChange
r&   namevaluec                V    [        5       nU R                  US'   U R                  US'   U$ )NrK   rL   )r@   rK   rL   rA   s     r   r   PlayerProperty.to_jsonT   s(    vyyV

Wr   c                @    U " [        US   5      [        US   5      S9$ )NrK   rL   )rK   rL   rD   r   s     r   r   PlayerProperty.from_jsonZ   s'    T&\"d7m$
 	
r   r   NrF   r   r   r   rI   rI   K   s,     IJ 
 
r   rI   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)PlayerEventb   z%
Corresponds to kMediaEventTriggered
r1   	timestampr&   rL   c                r    [        5       nU R                  R                  5       US'   U R                  US'   U$ )NrT   rL   )r@   rT   r   rL   rA   s     r   r   PlayerEvent.to_jsonk   s2    v NN224[

Wr   c                T    U " [         R                  US   5      [        US   5      S9$ )NrT   rL   )rT   rL   )r1   r   r&   r   s     r   r   PlayerEvent.from_jsonq   s.    ))${*;<d7m$
 	
r   r   NrF   r   r   r   rR   rR   b   s-     J 
 
r   rR   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)PlayerErrorSourceLocationy   z
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    [        5       nU R                  US'   U R                  US'   U$ )Nr\   r^   )r@   r\   r^   rA   s     r   r   !PlayerErrorSourceLocation.to_json   s(    vyyVyyVr   c                @    U " [        US   5      [        US   5      S9$ )Nr\   r^   )r\   r^   )r&   r]   r   s     r   r   #PlayerErrorSourceLocation.from_json   s'    T&\"T&\"
 	
r   r   NrF   r   r   r   rZ   rZ   y   s,     I
I 
 
r   rZ   c                  b    \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S r\S 5       rSr	g)PlayerError   z
Corresponds to kMediaError
r&   
error_typer]   codez&typing.List[PlayerErrorSourceLocation]stacktyping.List[PlayerError]causer@   datac                <   [        5       nU R                  US'   U R                  US'   U R                   Vs/ s H  o"R	                  5       PM     snUS'   U R
                   Vs/ s H  o"R	                  5       PM     snUS'   U R                  US'   U$ s  snf s  snf )N	errorTyperg   rh   rj   rk   )r@   rf   rg   rh   r   rj   rk   )r   r   is      r   r   PlayerError.to_json   s~    v OO[yyV.2jj9jj9W.2jj9jj9WyyV :9s   B$Bc                   U " [        US   5      [        US   5      US    Vs/ s H  n[        R                  U5      PM     snUS    Vs/ s H  n[        R                  U5      PM     sn[        US   5      S9$ s  snf s  snf )Nrm   rg   rh   rj   rk   )rf   rg   rh   rj   rk   )r&   r]   rZ   r   rd   r@   r   r   rn   s      r   r   PlayerError.from_json   s    4,-T&\"CG=Q=a,66q9=Q59']C];((+]Cd6l#
 	
 RCs   A=Br   NrF   r   r   r   rd   rd      sE     O I 21 $# J 
 
r   rd   c                  D    \ rS rSr% S\S'   SrS\S'   S r\S 5       rS	r	g)
Player   r
   	player_idNz"typing.Optional[dom.BackendNodeId]dom_node_idc                    [        5       nU R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ )NplayerId	domNodeId)r@   rv   r   rw   rA   s     r   r   Player.to_json   sJ    v>>113Z' $ 0 0 8 8 :Dr   c                    U " [         R                  US   5      SU;   a$  [        R                  R                  US   5      S9$ S S9$ )Nry   rz   )rv   rw   )r
   r   r   BackendNodeIdr   s     r   r   Player.from_json   sP    ((j)9:JUY]J]))33D4EF
 	
cg
 	
r   r   )
r'   r(   r)   r*   rG   rw   r   r,   r   r-   r   r   r   rt   rt      s,    6:K3: 
 
r   rt   c               #     #    SS0n U v ng7f)z
Enables the Media domain
methodzMedia.enableNr   cmd_dictr   s     r   enabler      s     
 	.H >D   
c               #     #    SS0n U v ng7f)z
Disables the Media domain.
r   zMedia.disableNr   r   s     r   disabler      s     
 	/H >Dr   zMedia.playerPropertiesChangedc                  B    \ rS rSr% SrS\S'   S\S'   \S
S j5       rSrg	)PlayerPropertiesChanged   z
This can be called multiple times, and can be used to set / override /
remove player properties. A null propValue indicates removal.
r
   rv   ztyping.List[PlayerProperty]
propertiesc           	         U " [         R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nry   r   )rv   r   )r
   r   rI   rq   s      r   r   !PlayerPropertiesChanged.from_json   sI    ((j)9:=A,=OP=O003=OP
 	
P   A
r   N)r   r   r%   r   	r'   r(   r)   r*   r+   rG   r,   r   r-   r   r   r   r   r      s'     ++
 
r   r   zMedia.playerEventsAddedc                  B    \ rS rSr% SrS\S'   S\S'   \S
S j5       rSrg	)PlayerEventsAdded   z
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
   rv   ztyping.List[PlayerEvent]eventsc           	         U " [         R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nry   r   )rv   r   )r
   r   rR   rq   s      r   r   PlayerEventsAdded.from_json   F    ((j)9:6:8nEnK))!,nE
 	
Er   r   N)r   r   r%   r   r   r   r   r   r   r      s'     $$
 
r   r   zMedia.playerMessagesLoggedc                  B    \ rS rSr% SrS\S'   S\S'   \S
S j5       rSrg	)PlayerMessagesLoggedi  z8
Send a list of any messages that need to be delivered.
r
   rv   ztyping.List[PlayerMessage]messagesc           	         U " [         R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nry   r   )rv   r   )r
   r   r;   rq   s      r   r   PlayerMessagesLogged.from_json  sI    ((j)9::>z:JK:JQm--a0:JK
 	
Kr   r   N)r   r   r%   r   r   r   r   r   r   r     s'     ((
 
r   r   zMedia.playerErrorsRaisedc                  B    \ rS rSr% SrS\S'   S\S'   \S
S j5       rSrg	)PlayerErrorsRaisedi  z6
Send a list of any errors that need to be delivered.
r
   rv   ri   errorsc           	         U " [         R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nry   r   )rv   r   )r
   r   rd   rq   s      r   r   PlayerErrorsRaised.from_json!  r   r   r   N)r   r   r%   r   r   r   r   r   r   r     s'     $$
 
r   r   zMedia.playerCreatedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	PlayerCreatedi)  z
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 one
event for each active player.
rt   playerc                :    U " [         R                  US   5      S9$ )Nr   )r   )rt   r   r   s     r   r   PlayerCreated.from_json3  s!    ##DN3
 	
r   r   N)r   r   r%   r   r   r   r   r   r   r   )  s     
 N
 
r   r   )r%   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])
__future__r   utilr   r   dataclassesr   enumtyping r   r&   r
   r9   r1   r;   rI   rR   rZ   rd   rt   r   r   r   r   r   r   r   r   r   r   <module>r      s   # * !   9s 9	: 	: 
 
 
@ 
 
 
, 
 
 
, 
 
 
. %
 %
 %
P 
 
 
( ,-

 
  .
  &'

 
  (
  )*

 
  +
 '(

 
  )
 "#

 
  $
r   