
     f:                    6   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
  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 G d de          Zd8dZd9dZd9dZd:dZd;d Z	 	 	 d<d=d)Zd>d*Z	 	 	 d<d?d/Zd@d1Z ed2          e G d3 d4                                  Z ed5          e G d6 d7                                  ZdS )A    )annotations   )event_classT_JSON_DICT)	dataclassN)domc                  B     e Zd ZdZddZed	d            Z fdZ xZS )
LayerIdz"
    Unique Layer identifier.
    returnstrc                    | S N selfs    u/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v127/layer_tree.pyto_jsonzLayerId.to_json           jsonc                     | |          S r   r   clsr   s     r   	from_jsonzLayerId.from_json       s4yyr   c                j    d                     t                                                                S )NzLayerId({})formatsuper__repr__r   	__class__s    r   r    zLayerId.__repr__   s'    ##EGG$4$4$6$6777r   r   r   )r   r   r   r
   	__name__
__module____qualname____doc__r   classmethodr   r    __classcell__r"   s   @r   r
   r
      sv                [8 8 8 8 8 8 8 8 8r   r
   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )

SnapshotIdz%
    Unique snapshot identifier.
    r   r   c                    | S r   r   r   s    r   r   zSnapshotId.to_json"   r   r   r   c                     | |          S r   r   r   s     r   r   zSnapshotId.from_json%   r   r   c                j    d                     t                                                                S )NzSnapshotId({})r   r!   s    r   r    zSnapshotId.__repr__)   s'    &&uww'7'7'9'9:::r   r#   )r   r   r   r-   r$   r+   s   @r   r-   r-      sv                [; ; ; ; ; ; ; ; ;r   r-   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	
ScrollRectz?
    Rectangle where scrolling happens on the main thread.
    dom.Rectrectr   type_c                n    t                      }| j                                        |d<   | j        |d<   |S )Nr4   type)dictr4   r   r5   r   r   s     r   r   zScrollRect.to_json8   s2    vvy((**VzVr   c                     | t           j                            |d                   t          |d                             S )Nr4   r7   )r4   r5   )r   Rectr   r   r   s     r   r   zScrollRect.from_json>   sA    s##DL11d6l##
 
 
 	
r   Nr%   r&   r'   r(   __annotations__r   r)   r   r   r   r   r2   r2   -   s`           NNN JJJ   
 
 [
 
 
r   r2   c                  `    e Zd ZU dZded<   ded<   dZded<   dZded<   d	 Zed
             Z	dS )StickyPositionConstraintz&
    Sticky position constraints.
    r3   sticky_box_rectcontaining_block_rectNtyping.Optional[LayerId]!nearest_layer_shifting_sticky_box'nearest_layer_shifting_containing_blockc                   t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NstickyBoxRectcontainingBlockRectnearestLayerShiftingStickyBox#nearestLayerShiftingContainingBlock)r8   r@   r   rA   rC   rD   r9   s     r   r   z StickyPositionConstraint.to_jsonW   s    vv $ 4 < < > >_&*&@&H&H&J&J"#1=484Z4b4b4d4dD017C:>:f:n:n:p:pD67r   c           	     <    | t           j                            |d                   t           j                            |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd           S )NrF   rG   rH   rI   )r@   rA   rC   rD   )r   r;   r   r
   r   s     r   r   z"StickyPositionConstraint.from_jsona   s    sH..tO/DEE"%("4"4T:O5P"Q"Q kJ  NR  kR  kRg.?.?Ed@e.f.f.f  X\ w\  `d  wd  wdG4E4EdKpFq4r4r4r  jn	
 
 
 	
r   )
r%   r&   r'   r(   r=   rC   rD   r   r)   r   r   r   r   r?   r?   F   s            $### CG%FFFF IM+LLLL   
 
 [
 
 
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 )
PictureTilezV
    Serialized fragment of layer picture along with its offset within the layer.
    floatxyr   picturec                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )NrN   rO   rP   )r8   rN   rO   rP   r9   s     r   r   zPictureTile.to_jsony   s1    vvFS	FS	,Yr   c                     | t          |d                   t          |d                   t          |d                             S )NrN   rO   rP   )rN   rO   rP   )rM   r   r   s     r   r   zPictureTile.from_json   sH    sDIDIY((
 
 
 	
r   Nr<   r   r   r   rL   rL   k   sk           HHH HHH LLL   
 
 [
 
 
r   rL   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
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 ) Layerz0
    Information about a compositing layer.
    r
   layer_idrM   offset_xoffset_ywidthheightintpaint_countbooldraws_contentNrB   parent_layer_idz"typing.Optional[dom.BackendNodeId]backend_node_idz#typing.Optional[typing.List[float]]	transformtyping.Optional[float]anchor_xanchor_yanchor_zztyping.Optional[bool]	invisiblez(typing.Optional[typing.List[ScrollRect]]scroll_rectsz)typing.Optional[StickyPositionConstraint]sticky_position_constraintc                   t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        d
 | j        D             |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        d | j        D             |d<   | j        | j                                        |d<   |S )NlayerIdoffsetXoffsetYrX   rY   
paintCountdrawsContentparentLayerIdbackendNodeIdc                    g | ]}|S r   r   .0is     r   
<listcomp>z!Layer.to_json.<locals>.<listcomp>   s     ; ; ;q ; ; ;r   r`   anchorXanchorYanchorZre   c                6    g | ]}|                                 S r   r   rq   s     r   rt   z!Layer.to_json.<locals>.<listcomp>   s     "J"J"J1199;;"J"J"Jr   scrollRectsstickyPositionConstraint)r8   rU   r   rV   rW   rX   rY   r[   r]   r^   r_   r`   rb   rc   rd   re   rf   rg   r9   s     r   r   zLayer.to_json   sg   vv-//11Y-Y-Y
WX!-\#1^+$($8$@$@$B$BD!+$($8$@$@$B$BD!>% ; ;DN ; ; ;D=$"mDO=$"mDO=$"mDO>% $D("J"J8I"J"J"JD*6/3/N/V/V/X/XD+,r   c           	         | di dt                               |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   d	t          |d
                   dt	          |d                   dd|v r t                               |d                   nd dd|v r%t
          j                            |d                   nd dd|v rd |d         D             nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt	          |d                   nd dd|v rd |d         D             nd dd|v r t                              |d                   nd S ) NrU   ri   rV   rj   rW   rk   rX   rY   r[   rl   r]   rm   r^   rn   r_   ro   r`   c                ,    g | ]}t          |          S r   )rM   rq   s     r   rt   z#Layer.from_json.<locals>.<listcomp>   s    ;;;AuQxx;;;r   rb   ru   rc   rv   rd   rw   re   rf   rz   c                B    g | ]}t                               |          S r   )r2   r   rq   s     r   rt   z#Layer.from_json.<locals>.<listcomp>   s&    OOOa*..q11OOOr   rg   r{   r   )r
   r   rM   rZ   r\   r   BackendNodeIdr?   r   s     r   r   zLayer.from_json   sr   s 
 
 
&&tI777
4	?+++
 4	?+++
 W&&&	

 h(((
 D.///
 tN3444
 IX[_H_H_G--d?.CDDDei
 SbeiRiRiC-77_8MNNNos
 @Kd?R?R;;k):;;;;X\
 09D/@/@U4	?+++d
 09D/@/@U4	?+++d
 09D/@/@U4	?+++d
 2=1D1Dd4,---$
 TadhShShOO4;NOOOOnr
  pJ  NR  pR  pR'?'I'I$OiJj'k'k'k  X\!
 	
r   )r%   r&   r'   r(   r=   r^   r_   r`   rb   rc   rd   re   rf   rg   r   r)   r   r   r   r   rT   rT      sO           OOO OOO LLL MMM   15O4444 ;?O>>>> 6:I9999 (,H++++ (,H++++ (,H++++ (,I++++ >BLAAAA MQPPPP  : 
 
 [
 
 
r   rT   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
PaintProfilez/
    Array of timings, one per paint step.
    r   typing.List[float]c                    | S r   r   r   s    r   r   zPaintProfile.to_json   r   r   r   c                     | |          S r   r   r   s     r   r   zPaintProfile.from_json   r   r   c                j    d                     t                                                                S )NzPaintProfile({})r   r!   s    r   r    zPaintProfile.__repr__   s'    !(()9)9););<<<r   )r   r   )r   r   r   r   r$   r+   s   @r   r   r      sv                [= = = = = = = = =r   r   rU   r   \typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.List[str], typing.List[str]]]c              #     K   t                      }|                                 |d<   d|d}|V }d |d         D             d |d         D             fS )a  
    Provides the reasons why the given layer was composited.

    :param layer_id: The id of the layer for which we want to get the reasons it was composited.
    :returns: A tuple with the following items:

        0. **compositingReasons** - A list of strings specifying reasons for the given layer to become composited.
        1. **compositingReasonIds** - A list of strings specifying reason IDs for the given layer to become composited.
    ri   zLayerTree.compositingReasonsmethodparamsc                ,    g | ]}t          |          S r   r   rq   s     r   rt   z'compositing_reasons.<locals>.<listcomp>  s    444AQ444r   compositingReasonsc                ,    g | ]}t          |          S r   r   rq   s     r   rt   z'compositing_reasons.<locals>.<listcomp>  s    666AQ666r   compositingReasonIdsr8   r   rU   r   cmd_dictr   s       r   compositing_reasonsr     s|       &&F ((**F90 H >>D44234446645666 r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z/
    Disables compositing tree inspection.
    r   zLayerTree.disableNr   r   r   s     r   disabler     s$      
 	%H >>DDDr   c               #     K   ddi} | V }dS )z.
    Enables compositing tree inspection.
    r   zLayerTree.enableNr   r   s     r   enabler   $  s$      
 	$H >>DDDr   tilestyping.List[PictureTile]6typing.Generator[T_JSON_DICT, T_JSON_DICT, SnapshotId]c              #     K   t                      }d | D             |d<   d|d}|V }t                              |d                   S )z
    Returns the snapshot identifier.

    :param tiles: An array of tiles composing the snapshot.
    :returns: The id of the snapshot.
    c                6    g | ]}|                                 S r   ry   rq   s     r   rt   z!load_snapshot.<locals>.<listcomp>8  s     222qqyy{{222r   r   zLayerTree.loadSnapshotr   
snapshotId)r8   r-   r   )r   r   r   r   s       r   load_snapshotr   .  s^       &&F22E222F7O* H >>D\ 2333r   c              #     K   t                      }|                                 |d<   d|d}|V }t                              |d                   S )z
    Returns the layer snapshot identifier.

    :param layer_id: The id of the layer.
    :returns: The id of the layer snapshot.
    ri   zLayerTree.makeSnapshotr   r   )r8   r   r-   r   r   s       r   make_snapshotr   A  s]       &&F ((**F9* H >>D\ 2333r   snapshot_idmin_repeat_counttyping.Optional[int]min_durationra   	clip_recttyping.Optional[dom.Rect]Etyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[PaintProfile]]c              #     K   t                      }|                                 |d<   |||d<   |||d<   ||                                |d<   d|d}|V }d |d	         D             S )
a  
    :param snapshot_id: The id of the layer snapshot.
    :param min_repeat_count: *(Optional)* The maximum number of times to replay the snapshot (1, if not specified).
    :param min_duration: *(Optional)* The minimum duration (in seconds) to replay the snapshot.
    :param clip_rect: *(Optional)* The clip rectangle to apply when replaying the snapshot.
    :returns: The array of paint profiles, one per run.
    r   NminRepeatCountminDurationclipRectzLayerTree.profileSnapshotr   c                B    g | ]}t                               |          S r   )r   r   rq   s     r   rt   z$profile_snapshot.<locals>.<listcomp>n  s&    ???!L""1%%???r   timingsr   )r   r   r   r   r   r   r   s          r   profile_snapshotr   T  s       &&F&..00F<##3  ,}&..00z- H >>D??tI????r   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zr
    Releases layer snapshot captured by the back-end.

    :param snapshot_id: The id of the layer snapshot.
    r   zLayerTree.releaseSnapshotr   Nr   r   r   r   r   s       r   release_snapshotr   q  sH       &&F&..00F<- H >>DDDr   	from_stepto_stepscale/typing.Generator[T_JSON_DICT, T_JSON_DICT, str]c              #     K   t                      }|                                 |d<   |||d<   |||d<   |||d<   d|d}|V }t          |d                   S )	a  
    Replays the layer snapshot and returns the resulting bitmap.

    :param snapshot_id: The id of the layer snapshot.
    :param from_step: *(Optional)* The first step to replay from (replay from the very start if not specified).
    :param to_step: *(Optional)* The last step to replay to (replay till the end if not specified).
    :param scale: *(Optional)* The scale to apply while replaying (defaults to 1).
    :returns: A data: URL for resulting image.
    r   NfromSteptoStepr   zLayerTree.replaySnapshotr   dataURL)r8   r   r   )r   r   r   r   r   r   r   s          r   replay_snapshotr     s       &&F&..00F<&z"xw, H >>DtIr   =typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[dict]]c              #     K   t                      }|                                 |d<   d|d}|V }d |d         D             S )z
    Replays the layer snapshot and returns canvas log.

    :param snapshot_id: The id of the layer snapshot.
    :returns: The array of canvas function calls.
    r   zLayerTree.snapshotCommandLogr   c                ,    g | ]}t          |          S r   )r8   rq   s     r   rt   z(snapshot_command_log.<locals>.<listcomp>  s    000DGG000r   
commandLogr   r   s       r   snapshot_command_logr     s]       &&F&..00F<0 H >>D00T,/0000r   zLayerTree.layerPaintedc                  <    e Zd ZU ded<   ded<   ed
d            Zd	S )LayerPaintedr
   rU   r3   clipr   r   r   c                     | t                               |d                   t          j                            |d                             S )Nri   r   )rU   r   )r
   r   r   r;   r   s     r   r   zLayerPainted.from_json  sG    s&&tI77##DL11
 
 
 	
r   N)r   r   r   r   r%   r&   r'   r=   r)   r   r   r   r   r   r     sK          NNN
 
 
 [
 
 
r   r   zLayerTree.layerTreeDidChangec                  2    e Zd ZU ded<   edd            ZdS )	LayerTreeDidChangez#typing.Optional[typing.List[Layer]]layersr   r   r   c                F     | d|v rd |d         D             nd           S )Nr   c                B    g | ]}t                               |          S r   )rT   r   rq   s     r   rt   z0LayerTreeDidChange.from_json.<locals>.<listcomp>  s$    ???1EOOA&&???r   )r   r   r   s     r   r   zLayerTreeDidChange.from_json  sA    sCKtCSCS??X????Y]
 
 
 	
r   N)r   r   r   r   r   r   r   r   r   r     sB          0///
 
 
 [
 
 
r   r   )rU   r
   r   r   )r   r   )r   r   r   r   )rU   r
   r   r   )NNN)
r   r-   r   r   r   ra   r   r   r   r   )r   r-   r   r   )
r   r-   r   r   r   r   r   ra   r   r   )r   r-   r   r   )
__future__r   utilr   r   dataclassesr   enumtyping r   r   r
   r-   r2   r?   rL   rT   listr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s6   # " " " " " * * * * * * * * ! ! ! ! ! !        8 8 8 8 8c 8 8 8; ; ; ; ; ; ; ; 
 
 
 
 
 
 
 
0 !
 !
 !
 !
 !
 !
 !
 !
H 
 
 
 
 
 
 
 
: e
 e
 e
 e
 e
 e
 e
 e
P= = = = =4 = = =   2      4 4 4 4&4 4 4 4* 26/3/3	@ @ @ @ @:   & +/(,(,	         >1 1 1 1& %&&

 
 
 
 
 
 
  '&
 +,,

 
 
 
 
 
 
  -,
 
 
r   