§
    ¯õiÕ  ã                   ól   — d dl mZ d dlmZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Zd	S )
é    )ÚOptional©Úcommand_builderc                   ó(   — e Zd ZdZdZdZdZeeehZdS )ÚUserPromptHandlerTypez3Represents the behavior of the user prompt handler.ÚacceptÚdismissÚignoreN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚACCEPTÚDISMISSÚIGNOREÚVALID_TYPES© ó    úr/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/common/bidi/session.pyr   r      s/   € € € € € Ø=Ð=à€FØ€GØ€Fà˜7 FÐ+€K€K€Kr   r   c                   ó¤   — e Zd ZdZ	 	 	 	 	 	 ddee         dee         dee         dee         dee         dee         fd	„Zd
eeef         fd„ZdS )ÚUserPromptHandlerz8Represents the configuration of the user prompt handler.NÚalertÚbefore_unloadÚconfirmÚdefaultÚfileÚpromptc           	      óò   — d|fd|fd|fd|fd|fd|ffD ]7\  }}|�0|t           j        vr"t          d|› d	|› d
t           j        › �¦  «        ‚Œ8|| _        || _        || _        || _        || _        || _        dS )aö  Initialize UserPromptHandler.

        Parameters:
        -----------
            alert: Handler type for alert prompts
            before_unload: Handler type for beforeUnload prompts
            confirm: Handler type for confirm prompts
            default: Default handler type for all prompts
            file: Handler type for file picker prompts
            prompt: Handler type for prompt dialogs

        Raises:
        ------
            ValueError: If any handler type is not valid
        r   r   r   r   r   r   NzInvalid z handler type: z. Must be one of )	r   r   Ú
ValueErrorr   r   r   r   r   r   )	Úselfr   r   r   r   r   r   Ú
field_nameÚvalues	            r   Ú__init__zUserPromptHandler.__init__$   sÂ   € ð2 �eÐØ˜mÐ,Ø˜Ð Ø˜Ð Ø�TˆNØ�vÐð"
ð 	ð 	ÑˆJ˜ð Ð  UÕ2GÔ2SÐ%SÐ%SÝ Øu˜zÐuÐu¸%ÐuÐuÕRgÔRsÐuÐuñô ð øð ˆŒ
Ø*ˆÔØˆŒØˆŒØˆŒ	ØˆŒˆˆr   Úreturnc                 ó~   — dddddddœ}i }|                      ¦   «         D ]\  }}t          | |¦  «        }|�|||<   Œ|S )z¼Convert the UserPromptHandler to a dictionary for BiDi protocol.

        Returns:
        -------
            Dict[str, str]: Dictionary representation suitable for BiDi protocol
        r   ÚbeforeUnloadr   r   r   r   )r   r   r   r   r   r   )ÚitemsÚgetattr)r    Úfield_mappingÚresultÚ	attr_nameÚdict_keyr"   s         r   Úto_dictzUserPromptHandler.to_dictP   sn   € ð Ø+Ø Ø ØØð
ð 
ˆð ˆØ#0×#6Ò#6Ñ#8Ô#8ð 	)ð 	)ÑˆI�xÝ˜D )Ñ,Ô,ˆEØÐ Ø#(��xÑ øØˆr   )NNNNNN)	r   r   r   r   r   Ústrr#   Údictr-   r   r   r   r   r   !   s½   € € € € € ØBÐBð  $Ø'+Ø!%Ø!%Ø"Ø $ð*ð *à˜Œ}ð*ð   ”}ð*ð ˜#”ð	*ð
 ˜#”ð*ð �sŒmð*ð ˜”ð*ð *ð *ð *ðX˜˜c 3˜hœð ð ð ð ð ð r   r   c                   ó2   — e Zd Zd„ Zddœd„Zddœd„Zd„ ZdS )ÚSessionc                 ó   — || _         d S )N)Úconn)r    r3   s     r   r#   zSession.__init__i   s   € ØˆŒ	ˆ	ˆ	r   N)Úbrowsing_contextsc                ó@   — d|i}|€g }|r||d<   t          d|¦  «        S )NÚeventsÚbrowsingContextszsession.subscriber   ©r    r4   r6   Úparamss       r   Ú	subscribezSession.subscribel   s@   € à�fð
ˆð Ð$Ø "ÐØð 	;Ø):ˆFÐ%Ñ&ÝÐ2°FÑ;Ô;Ð;r   c                ó@   — d|i}|€g }|r||d<   t          d|¦  «        S )Nr6   r7   zsession.unsubscriber   r8   s       r   ÚunsubscribezSession.unsubscribev   s@   € à�fð
ˆð Ð$Ø "ÐØð 	;Ø):ˆFÐ%Ñ&ÝÐ4°fÑ=Ô=Ð=r   c                 óV   — t          di ¦  «        }| j                             |¦  «        S )a5  
        The session.status command returns information about the remote end's readiness
        to create new sessions and may include implementation-specific metadata.

        Returns
        -------
        dict
            Dictionary containing the ready state (bool), message (str) and metadata
        zsession.status)r   r3   Úexecute)r    Úcmds     r   ÚstatuszSession.status€   s*   € õ Ð.°Ñ3Ô3ˆØŒy× Ò  Ñ%Ô%Ð%r   )r   r   r   r#   r:   r<   r@   r   r   r   r1   r1   h   sn   € € € € € ðð ð ð 48ð <ð <ð <ð <ð <ð 6:ð >ð >ð >ð >ð >ð&ð &ð &ð &ð &r   r1   N)Útypingr   Ú%selenium.webdriver.common.bidi.commonr   r   r   r1   r   r   r   ú<module>rC      s¶   ðð$ Ð Ð Ð Ð Ð à AÐ AÐ AÐ AÐ AÐ Að,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ðDð Dð Dð Dð Dñ Dô Dð DðN#&ð #&ð #&ð #&ð #&ñ #&ô #&ð #&ð #&ð #&r   