a
    $ñ»jKv  ã                   @  s&  d dl mZ d dlZd dlZd dlmZ ddlmZmZ eG dd„ dƒƒZ	G dd	„ d	ej
ƒZG d
d„ dej
ƒZG dd„ deƒZeG dd„ dƒƒZeG dd„ dƒƒZdJdddddddœdd„ZdKdddddddddddddddddœdd„Zddd œd!d"„ZdLdd#d#dddd$œd%d&„ZdMdddddd'ddd(d(d(d(dd(d(ddd)œd*d+„ZdNdd,dddd-œd.d/„Zdd0œd1d2„ZdOdd#d#ddd(d(dddd3œ
d4d5„Zd6dd7œd8d9„Zd6dd:œd;d<„ZdPddddd=dd>œd?d@„ZdQddd(d(d(d(ddd=dddddAœdBdC„ZdRddddd=ddDœdEdF„ZedGƒeG dHdI„ dIƒƒƒZdS )Sé    )ÚannotationsN)Ú	dataclassé   )Úevent_classÚT_JSON_DICTc                   @  s¬   e Zd ZU 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dœdd„Zedd dœdd„ƒZdS )Ú
TouchPointÚfloatÚxÚyNútyping.Optional[float]Úradius_xÚradius_yÚrotation_angleÚforceÚtangential_pressureÚtilt_xÚtilt_yútyping.Optional[int]ÚtwistÚid_r   ©Úreturnc                 C  sÒ   t ƒ }| j|d< | j|d< | jd ur.| j|d< | jd urB| j|d< | jd urV| j|d< | jd urj| j|d< | jd ur~| j|d< | jd ur’| j|d< | j	d ur¦| j	|d	< | j
d urº| j
|d
< | jd urÎ| j|d< |S )Nr	   r
   ÚradiusXÚradiusYÚrotationAngler   ÚtangentialPressureÚtiltXÚtiltYr   Úid)Údictr	   r
   r   r   r   r   r   r   r   r   r   ©ÚselfÚjson© r#   ú2E:\soccer\ml_env\Lib\site-packages\mycdp/input_.pyÚto_json2   s,    



















zTouchPoint.to_json©r"   r   c                 C  s.  | t |d ƒt |d ƒ| dd ¡d ur2t |d ƒnd | dd ¡d urPt |d ƒnd | dd ¡d urnt |d ƒnd | dd ¡d urŒt |d ƒnd | dd ¡d urªt |d ƒnd | dd ¡d urÈt |d ƒnd | d	d ¡d uræt |d	 ƒnd | d
d ¡d u�rt|d
 ƒnd | dd ¡d u�r&t |d ƒnd d�S )Nr	   r
   r   r   r   r   r   r   r   r   r   )r	   r
   r   r   r   r   r   r   r   r   r   )r   ÚgetÚint©Úclsr"   r#   r#   r$   Ú	from_jsonJ   s:    

ÿÿÿÿÿÿÿÿ ÔzTouchPoint.from_json)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r   r   r   r   r   r   r   r   r%   Úclassmethodr+   r#   r#   r#   r$   r      s   
r   c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )ÚGestureSourceTypeÚdefaultÚtouchÚmouseÚstrr   c                 C  s   | j S ©N©Úvalue©r!   r#   r#   r$   r%   ‚   s    zGestureSourceType.to_jsonr&   c                 C  s   | |ƒS r6   r#   r)   r#   r#   r$   r+   …   s    zGestureSourceType.from_jsonN)	r,   r-   r.   ÚDEFAULTZTOUCHZMOUSEr%   r0   r+   r#   r#   r#   r$   r1   }   s   r1   c                   @  sF   e Zd ZdZdZdZdZdZdZddœd	d
„Z	e
dd dœdd„ƒZdS )ÚMouseButtonÚnoneÚleftÚmiddleÚrightÚbackÚforwardr5   r   c                 C  s   | j S r6   r7   r9   r#   r#   r$   r%   ’   s    zMouseButton.to_jsonr&   c                 C  s   | |ƒS r6   r#   r)   r#   r#   r$   r+   •   s    zMouseButton.from_jsonN)r,   r-   r.   ÚNONEZLEFTZMIDDLEZRIGHTZBACKZFORWARDr%   r0   r+   r#   r#   r#   r$   r;   Š   s   r;   c                      sB   e Zd ZdZddœdd„Zedd dœdd„ƒZ‡ fd	d
„Z‡  ZS )ÚTimeSinceEpochz2UTC time in seconds, counted from January 1, 1970.r   r   c                 C  s   | S r6   r#   r9   r#   r#   r$   r%   �   s    zTimeSinceEpoch.to_jsonr&   c                 C  s   | |ƒS r6   r#   r)   r#   r#   r$   r+       s    zTimeSinceEpoch.from_jsonc                   s   d  tƒ  ¡ ¡S )NzTimeSinceEpoch({}))ÚformatÚsuperÚ__repr__r9   ©Ú	__class__r#   r$   rF   ¤   s    zTimeSinceEpoch.__repr__)	r,   r-   r.   Ú__doc__r%   r0   r+   rF   Ú__classcell__r#   r#   rG   r$   rC   š   s
   rC   c                   @  sX   e Zd ZU ded< ded< dZded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )ÚDragDataItemr5   Ú	mime_typeÚdataNútyping.Optional[str]ÚtitleÚbase_urlr   r   c                 C  sF   t ƒ }| j|d< | j|d< | jd ur.| j|d< | jd urB| j|d< |S )NÚmimeTyperM   rO   ÚbaseURL)r   rL   rM   rO   rP   r    r#   r#   r$   r%   ¶   s    





zDragDataItem.to_jsonr&   c                 C  sX   | t |d ƒt |d ƒ| dd ¡d ur2t |d ƒnd | dd ¡d urPt |d ƒnd d�S )NrQ   rM   rO   rR   )rL   rM   rO   rP   )r5   r'   r)   r#   r#   r$   r+   À   s    

ÿÿõzDragDataItem.from_json)	r,   r-   r.   r/   rO   rP   r%   r0   r+   r#   r#   r#   r$   rK   ¨   s   

rK   c                   @  sL   e Zd ZU ded< ded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )ÚDragDataztyping.List[DragDataItem]Úitemsr(   Údrag_operations_maskNú!typing.Optional[typing.List[str]]Úfilesr   r   c                 C  sF   t ƒ }dd„ | jD ƒ|d< | j|d< | jd urBdd„ | jD ƒ|d< |S )Nc                 S  s   g | ]}|  ¡ ‘qS r#   ©r%   ©Ú.0Úir#   r#   r$   Ú
<listcomp>Ý   ó    z$DragData.to_json.<locals>.<listcomp>rT   ÚdragOperationsMaskc                 S  s   g | ]}|‘qS r#   r#   rY   r#   r#   r$   r\   à   r]   rW   )r   rT   rU   rW   r    r#   r#   r$   r%   Û   s    

zDragData.to_jsonr&   c                 C  sF   | dd„ |d D ƒt |d ƒ| dd ¡d ur>dd„ |d D ƒnd d�S )Nc                 S  s   g | ]}t  |¡‘qS r#   )rK   r+   rY   r#   r#   r$   r\   æ   r]   z&DragData.from_json.<locals>.<listcomp>rT   r^   rW   c                 S  s   g | ]}t |ƒ‘qS r#   )r5   rY   r#   r#   r$   r\   é   r]   )rT   rU   rW   )r(   r'   r)   r#   r#   r$   r+   ã   s    
ÿúzDragData.from_json)r,   r-   r.   r/   rW   r%   r0   r+   r#   r#   r#   r$   rS   Ò   s   
rS   r5   r   r   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])Útype_r	   r
   rM   Ú	modifiersr   c                 c  sN   t ƒ }| |d< ||d< ||d< | ¡ |d< |dur:||d< d|dœ}|V }dS )	a@  
    Dispatches a drag event into the page.
    **EXPERIMENTAL**
    :param type_: Type of the drag event.
    :param x: X coordinate of the event relative to the main frame's viewport
     in CSS pixels.
    :param y: Y coordinate of the event relative to the main frame's viewport
     in CSS pixels. 0 refers to the top of the viewport and Y increases as it
     proceeds towards the bottom of the viewport.
    :param data:
    :param modifiers: *(Optional)*
     Bit field representing pressed modifier keys.
     Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
    Útyper	   r
   rM   Nr`   zInput.dispatchDragEvent©ÚmethodÚparams©r   r%   )r_   r	   r
   rM   r`   rd   Úcmd_dictr"   r#   r#   r$   Údispatch_drag_eventð   s    þrg   ztyping.Optional[TimeSinceEpoch]rN   ztyping.Optional[bool]rV   )r_   r`   Ú	timestampÚtextÚunmodified_textÚkey_identifierÚcodeÚkeyÚwindows_virtual_key_codeÚnative_virtual_key_codeÚauto_repeatÚ	is_keypadÚis_system_keyÚlocationÚcommandsr   c                 c  s  t ƒ }| |d< |dur||d< |dur2| ¡ |d< |durB||d< |durR||d< |durb||d< |durr||d< |dur‚||d	< |dur’||d
< |	dur¢|	|d< |
dur²|
|d< |durÂ||d< |durÒ||d< |durâ||d< |durüdd„ |D ƒ|d< d|dœ}|V }dS )a¤  
    Dispatches a key event to the page.
    :param type_: Type of the key event.
    :param modifiers: *(Optional)*
     Bit field representing pressed modifier keys.
     Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
    :param timestamp: *(Optional)* Time at which the event occurred.
    :param text: *(Optional)*
     Text as generated by processing a virtual key code with a keyboard layout.
     Not needed for for ``keyUp`` and ``rawKeyDown`` events (default: "")
    :param unmodified_text: *(Optional)*
     Text that would have been generated by the keyboard if no modifiers were
     pressed (except for shift). Useful for shortcut (accelerator) key handling
     (default: "").
    :param key_identifier: *(Optional)*
     Unique key identifier (e.g., 'U+0041') (default: "").
    :param code: *(Optional)*
     Unique DOM defined string value for each physical key (e.g., 'KeyA')
     (default: "").
    :param key: *(Optional)*
     Unique DOM defined string value describing the meaning of the key
      in the context of active modifiers, keyboard layout, etc (e.g., 'AltGr')
      (default: "").
    :param windows_virtual_key_code: *(Optional)*
     Windows virtual key code (default: 0).
    :param native_virtual_key_code: *(Optional)*
     Native virtual key code (default: 0).
    :param auto_repeat: *(Optional)*
     Whether the event was generated from auto repeat (default: false).
    :param is_keypad: *(Optional)*
     Whether the event was generated from the keypad (default: false).
    :param is_system_key: *(Optional)*
     Whether the event was a system key event (default: false).
    :param location: *(Optional)*
     Whether the event was from the left or right side of the keyboard.
     1=Left, 2=Right (default: 0).
    :param commands: **(EXPERIMENTAL)** *(Optional)*
     Editing commands to send with the key event (e.g., 'selectAll')
     (default: []). These are related to but not equal the command
     names used in ``document.execCommand`` and NSStandardKeyBindingResponding.
    See https://source.chromium.org/chromium/chromium/src/+/main:third_party/
     blink/renderer/core/editing/commands/editor_command_names.h
     for valid command names.
    ra   Nr`   rh   ri   ZunmodifiedTextZkeyIdentifierrl   rm   ZwindowsVirtualKeyCodeZnativeVirtualKeyCodeZ
autoRepeatZisKeypadZisSystemKeyrs   c                 S  s   g | ]}|‘qS r#   r#   rY   r#   r#   r$   r\   m  r]   z&dispatch_key_event.<locals>.<listcomp>rt   zInput.dispatchKeyEventrb   re   )r_   r`   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   rd   rf   r"   r#   r#   r$   Údispatch_key_event  sD    =þru   )ri   r   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z¸
    This method emulates inserting text that doesn't come from a key press,
    for example an emoji keyboard or an IME.
    **EXPERIMENTAL**
    :param text: The text to insert.
    ri   zInput.insertTextrb   N©r   )ri   rd   rf   r"   r#   r#   r$   Úinsert_textu  s    þrw   r(   )ri   Úselection_startÚselection_endÚreplacement_startÚreplacement_endr   c                 c  sR   t ƒ }| |d< ||d< ||d< |dur.||d< |dur>||d< d|dœ}|V }dS )	aÃ  
    This method sets the current candidate text for IME.
    Use imeCommitComposition to commit the final text.
    Use imeSetComposition with empty string as text to cancel composition.
    **EXPERIMENTAL**
    :param text: The text to insert
    :param selection_start: selection start
    :param selection_end: selection end
    :param replacement_start: *(Optional)* replacement start
    :param replacement_end: *(Optional)* replacement end
    ri   ZselectionStartZselectionEndNZreplacementStartZreplacementEndzInput.imeSetCompositionrb   rv   )ri   rx   ry   rz   r{   rd   rf   r"   r#   r#   r$   Úime_set_composition…  s    þr|   ztyping.Optional[MouseButton]r   )r_   r	   r
   r`   rh   ÚbuttonÚbuttonsÚclick_countr   r   r   r   r   Údelta_xÚdelta_yÚpointer_typer   c                 c  s
  t ƒ }| |d< ||d< ||d< |dur.||d< |durB| ¡ |d< |durV| ¡ |d< |durf||d< |durv||d	< |dur†||d
< |	dur–|	|d< |
dur¦|
|d< |dur¶||d< |durÆ||d< |durÖ||d< |duræ||d< |durö||d< d|dœ}|V }dS )aW  
    Dispatches a mouse event to the page.
    :param type_: Type of the mouse event.
    :param x: X coordinate of the event relative to the main frame's viewport
     in CSS pixels.
    :param y: Y coordinate of the event relative to the main frame's viewport
     in CSS pixels. 0 refers to the top of the viewport and Y increases as it
     proceeds towards the bottom of the viewport.
    :param modifiers: *(Optional)*
     Bit field representing pressed modifier keys.
     Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
    :param timestamp: *(Optional)* Time at which the event occurred.
    :param button: *(Optional)* Mouse button (default: "none").
    :param buttons: *(Optional)*
     A number indicating which buttons are pressed on the mouse
     when a mouse event is triggered.
     Left=1, Right=2, Middle=4, Back=8, Forward=16, None=0.
    :param click_count: *(Optional)*
     Number of times the mouse button was clicked (default: 0).
    :param force: **(EXPERIMENTAL)** *(Optional)*
     The normalized pressure, which has a range of [0,1] (default: 0).
    :param tangential_pressure: **(EXPERIMENTAL)** *(Optional)*
     The normalized tangential pressure, which has a range of [-1,1]
     (default: 0).
    :param tilt_x: *(Optional)* The plane angle between the Y-Z plane
     and the plane containing both the stylus axis and the Y axis,
     in degrees of the range [-90,90], a positive tiltX is to the right
     (default: 0).
    :param tilt_y: *(Optional)* The plane angle between the X-Z plane
     and the plane containing both the stylus axis and the X axis,
     in degrees of the range [-90,90], a positive tiltY is towards the user
     (default: 0).
    :param twist: **(EXPERIMENTAL)** *(Optional)* The clockwise rotation of
     a pen stylus around its own major axis, in degrees in the range [0,359]
     (default: 0).
    :param delta_x: *(Optional)* X delta in CSS pixels for mouse wheel event
     (default: 0).
    :param delta_y: *(Optional)* Y delta in CSS pixels for mouse wheel event
     (default: 0).
    :param pointer_type: *(Optional)* Pointer type (default: "mouse").
    ra   r	   r
   Nr`   rh   r}   r~   Ú
clickCountr   r   r   r   r   ÚdeltaXÚdeltaYZpointerTypezInput.dispatchMouseEventrb   re   )r_   r	   r
   r`   rh   r}   r~   r   r   r   r   r   r   r€   r�   r‚   rd   rf   r"   r#   r#   r$   Údispatch_mouse_event¦  sD    ;þr†   ztyping.List[TouchPoint])r_   Útouch_pointsr`   rh   r   c                 c  sX   t ƒ }| |d< dd„ |D ƒ|d< |dur0||d< |durD| ¡ |d< d|d	œ}|V }dS )
a˜  
    Dispatches a touch event to the page.
    :param type_: Type of the touch event.
     TouchEnd and TouchCancel must not contain any touch points,
      while TouchStart and TouchMove must contains at least one.
    :param touch_points: Active touch points on the touch device.
     One event per any changed point
     (compared to previous touch event in a sequence) is generated,
     emulating pressing/moving/releasing points one by one.
    :param modifiers: *(Optional)*
     Bit field representing pressed modifier keys.
     Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
    :param timestamp: *(Optional)* Time at which the event occurred.
    ra   c                 S  s   g | ]}|  ¡ ‘qS r#   rX   rY   r#   r#   r$   r\     r]   z(dispatch_touch_event.<locals>.<listcomp>ZtouchPointsNr`   rh   zInput.dispatchTouchEventrb   re   )r_   r‡   r`   rh   rd   rf   r"   r#   r#   r$   Údispatch_touch_event  s    þrˆ   r   c                  c  s   ddi} | V }dS )z(Cancels any active dragging in the page.rc   zInput.cancelDraggingNr#   )rf   r"   r#   r#   r$   Úcancel_dragging(  s    ÿr‰   )
r_   r	   r
   r}   rh   r€   r�   r`   r   r   c	                 c  s’   t ƒ }	| |	d< ||	d< ||	d< | ¡ |	d< |dur>| ¡ |	d< |durN||	d< |dur^||	d< |durn||	d	< |dur~||	d
< d|	dœ}
|
V }dS )aE  
    Emulates touch event from the mouse event parameters.
    **EXPERIMENTAL**
    :param type_: Type of the mouse event.
    :param x: X coordinate of the mouse pointer in DIP.
    :param y: Y coordinate of the mouse pointer in DIP.
    :param button: Mouse button. Only "none", "left", "right" are supported.
    :param timestamp: *(Optional)* Time at which the event occurred
     (default: current time).
    :param delta_x: *(Optional)* X delta in DIP for mouse wheel event
     (default: 0).
    :param delta_y: *(Optional)* Y delta in DIP for mouse wheel event
     (default: 0).
    :param modifiers: *(Optional)*
     Bit field representing pressed modifier keys.
     Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
    :param click_count: *(Optional)*
     Number of times the mouse button was clicked (default: 0).
    ra   r	   r
   r}   Nrh   r„   r…   r`   rƒ   z Input.emulateTouchFromMouseEventrb   re   )r_   r	   r
   r}   rh   r€   r�   r`   r   rd   rf   r"   r#   r#   r$   Úemulate_touch_from_mouse_event0  s&    þrŠ   Úbool)Úignorer   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z�
    Ignores input events (useful while auditing page).
    :param ignore: Ignores input events processing when set to true.
    rŒ   zInput.setIgnoreInputEventsrb   Nrv   )rŒ   rd   rf   r"   r#   r#   r$   Úset_ignore_input_eventsd  s    þr�   )Úenabledr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zí
    Prevents default drag and drop behavior and instead
    emits ``Input.dragIntercepted`` events.
    Drag and drop behavior can be directly controlled
    via ``Input.dispatchDragEvent``.
    **EXPERIMENTAL**
    :param enabled:
    rŽ   zInput.setInterceptDragsrb   Nrv   )rŽ   rd   rf   r"   r#   r#   r$   Úset_intercept_dragst  s    þr�   z"typing.Optional[GestureSourceType])r	   r
   Úscale_factorÚrelative_speedÚgesture_source_typer   c                 c  sV   t ƒ }| |d< ||d< ||d< |dur.||d< |durB| ¡ |d< d|dœ}|V }dS )	a„  
    Synthesizes a pinch gesture over a time period by issuing appropriate
    touch events.
    **EXPERIMENTAL**
    :param x: X coordinate of the start of the gesture in CSS pixels.
    :param y: Y coordinate of the start of the gesture in CSS pixels.
    :param scale_factor: Relative scale factor after zooming
     (>1.0 zooms in, <1.0 zooms out).
    :param relative_speed: *(Optional)*
     Relative pointer speed in pixels per second (default: 800).
    :param gesture_source_type: *(Optional)*
     Which type of input events to be generated
     (default: 'default', which queries the platform for the
     preferred input type).
    r	   r
   ZscaleFactorNZrelativeSpeedÚgestureSourceTypezInput.synthesizePinchGesturerb   re   )r	   r
   r�   r‘   r’   rd   rf   r"   r#   r#   r$   Úsynthesize_pinch_gestureˆ  s    þr”   )r	   r
   Ú
x_distanceÚ
y_distanceÚx_overscrollÚy_overscrollÚprevent_flingÚspeedr’   Úrepeat_countÚrepeat_delay_msÚinteraction_marker_namer   c                 c  sÎ   t ƒ }| |d< ||d< |dur&||d< |dur6||d< |durF||d< |durV||d< |durf||d< |durv||d	< |durŠ| ¡ |d
< |	durš|	|d< |
durª|
|d< |durº||d< d|dœ}|V }dS )a�  
    Synthesizes a scroll gesture over a time period by issuing appropriate
    touch events.
    **EXPERIMENTAL**
    :param x: X coordinate of the start of the gesture in CSS pixels.
    :param y: Y coordinate of the start of the gesture in CSS pixels.
    :param x_distance: *(Optional)* The distance to scroll along the X axis
     (positive to scroll left).
    :param y_distance: *(Optional)* The distance to scroll along the Y axis
     (positive to scroll up).
    :param x_overscroll: *(Optional)* The number of additional pixels
     to scroll back along the X axis, in addition to the given distance.
    :param y_overscroll: *(Optional)* The number of additional pixels
     to scroll back along the Y axis, in addition to the given distance.
    :param prevent_fling: *(Optional)* Prevent fling (default: true).
    :param speed: *(Optional)* Swipe speed in pixels per second (default: 800).
    :param gesture_source_type: *(Optional)* Which type of input events
     to be generated (default: 'default', which queries the platform for the
     preferred input type).
    :param repeat_count: *(Optional)* The number of times to repeat the gesture
     (default: 0).
    :param repeat_delay_ms: *(Optional)* The number of milliseconds delay
     between each repeat. (default: 250).
    :param interaction_marker_name: *(Optional)*
     The name of the interaction markers to generate, if not empty
     (default: "").
    r	   r
   NZ	xDistanceZ	yDistanceZxOverscrollZyOverscrollZpreventFlingrš   r“   ZrepeatCountZrepeatDelayMsZinteractionMarkerNamezInput.synthesizeScrollGesturerb   re   )r	   r
   r•   r–   r—   r˜   r™   rš   r’   r›   rœ   r�   rd   rf   r"   r#   r#   r$   Úsynthesize_scroll_gesture­  s6    )þrž   )r	   r
   ÚdurationÚ	tap_countr’   r   c                 c  s^   t ƒ }| |d< ||d< |dur&||d< |dur6||d< |durJ| ¡ |d< d|dœ}|V }dS )	a�  
    Synthesizes a tap gesture over a time period by issuing appropriate
    touch events.
    **EXPERIMENTAL**
    :param x: X coordinate of the start of the gesture in CSS pixels.
    :param y: Y coordinate of the start of the gesture in CSS pixels.
    :param duration: *(Optional)* Duration between touchdown and touchup
     events in ms (default: 50).
    :param tap_count: *(Optional)* Number of times to perform the tap
     (e.g. 2 for double tap, default: 1).
    :param gesture_source_type: *(Optional)*
     Which type of input events to be generated
     (default: 'default', which queries the platform for the
     preferred input type).
    r	   r
   NrŸ   ZtapCountr“   zInput.synthesizeTapGesturerb   re   )r	   r
   rŸ   r    r’   rd   rf   r"   r#   r#   r$   Úsynthesize_tap_gestureô  s    þr¡   zInput.dragInterceptedc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚDragInterceptedz¹
    **EXPERIMENTAL**
    Emitted only when ``Input.setInterceptDrags`` is enabled.
    Use this data with ``Input.dispatchDragEvent`` to
    restore normal drag and drop behavior.
    rS   rM   r   r&   c                 C  s   | t  |d ¡d�S )NrM   )rM   )rS   r+   r)   r#   r#   r$   r+   %  s    zDragIntercepted.from_jsonN)r,   r-   r.   rI   r/   r0   r+   r#   r#   r#   r$   r¢     s   
r¢   )N)NNNNNNNNNNNNNN)NN)NNNNNNNNNNNNN)NN)NNNNN)NN)
NNNNNNNNNN)NNN)Ú
__future__r   ÚenumÚtypingÚdataclassesr   Úutilr   r   r   ÚEnumr1   r;   r   rC   rK   rS   rg   ru   rw   r|   r†   rˆ   r‰   rŠ   r�   r�   r”   rž   r¡   r¢   r#   r#   r#   r$   Ú<module>   s¢   m)" û%              ñ.b  û%             ð0c  ü"     ÷"4  û(          ô(J   û&