<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    )è2YÙ%  ã               @   sx  d dl mZmZ d dlmZmZ d dlmZmZmZm	Z	 d dlm
Z
 d dlZye W n ek
rl   eZY nX dddd	d
dgZG dd„ deƒZeddeidZed dd„ dD ƒ¡deidZeddeidZedƒZd2dd„Zd3dd„Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd4d$d%„Zd&d'„ Z G d(d„ de!ƒZ"e"ƒ Z#ddd)e#fd*d	„Z$d+d
„ Z%d,d-„ Z&d.d/„ Z'd0d1„ Z(dS )5é    )ÚXPathÚElementBase)Ú
fromstringÚXHTML_NAMESPACE)Ú_forms_xpathÚ_options_xpathÚ_nonsÚ_transform_result)ÚdefsNÚFormNotFoundÚ	fill_formÚfill_form_htmlÚinsert_errorsÚinsert_errors_htmlÚDefaultErrorCreatorc               @   s   e Zd ZdZdS )r   z*
    Raised when no form can be found
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   úE/opt/alt/python37/lib64/python3.7/site-packages/lxml/html/formfill.pyr      s   zKdescendant-or-self::form[name=$name]|descendant-or-self::x:form[name=$name]Úx)Z
namespacesú|c             C   s   g | ]}d | ‘qS )zdescendant-or-self::r   )Ú.0Z_tagr   r   r   ú
<listcomp>   s    r   )ÚinputÚselectÚtextareazx:inputzx:selectz
x:textareaz-//label[@for=$for_id]|//x:label[@for=$for_id]z"descendant-or-self::*[@name=$name]c             C   s   t | ||d} t| |ƒ d S )N)Úform_idÚ
form_index)Ú
_find_formÚ
_fill_form)ÚelÚvaluesr   r   r   r   r   r      s    c             C   s@   t | ƒ}t| tƒrt| ƒ}n
t | ¡}t||||d t||ƒS )N)r   r   )ÚtypeÚ
isinstanceÚ
basestringr   ÚcopyÚdeepcopyr   r	   )Úhtmlr#   r   r   Úresult_typeÚdocr   r   r   r   &   s    


c          	   C   sè   i }t |dƒr| ¡ }t| ƒ}xÄ|D ]¼}| d¡}|s8q$t|ƒrl| |g ¡}t|ttfƒs`|g}t||ƒ q$||krxq$q$| |d¡}|d ||< || }t|ttfƒrÌy|| }W qÖ t	k
rÈ   w$Y qÖX n
|dkrÖq$t
||ƒ q$W d S )NÚmixedÚnamer   é   )Úhasattrr,   Ú_input_xpathÚgetÚ_takes_multipler%   ÚlistÚtupleÚ_fill_multipleÚ
IndexErrorÚ_fill_single)r"   r#   ZcountsZinputsr   r-   ÚvalueÚindexr   r   r   r!   /   s4    



r!   c             C   s<   t | jƒdkr|  d¡rdS |  dd¡ ¡ }|dkr8dS dS )Nr   ZmultipleTr$   Ú )ÚradioÚcheckboxF)r   Útagr1   Úlower)r   r$   r   r   r   r2   M   s    r2   c             C   sÜ   |   dd¡ ¡ }|dkrj|   d¡}|d krZ|s4d}n|d }t|tƒrN|dk}t| |ƒ qØt| ||kƒ nn|dkrŒ|   d¡}t| ||kƒ nLt| jƒd	ksžt‚x8t| ƒD ],}|  d¡}|d krÆ| 	¡ }t
|||kƒ q¨W d S )
Nr$   r:   r<   r8   Fr   Úonr;   r   )r1   r>   r%   r&   Ú_checkr   r=   ÚAssertionErrorr   Ztext_contentÚ_select)r   r8   r$   ÚvÚresultZoptionr   r   r   r5   V   s(    



r5   c             C   s(   |r|   dd¡ nd| jkr$| jd= d S )NÚcheckedr:   )ÚsetÚattrib)r"   Úcheckr   r   r   r@   r   s    
r@   c             C   s(   |r|   dd¡ nd| jkr$| jd= d S )NZselectedr:   )rF   rG   )r"   r   r   r   r   rB   y   s    
rB   c             C   s&   t | jƒdkr|| _n|  d|¡ d S )Nr   r8   )r   r=   ÚtextrF   )r   r8   r   r   r   r7   €   s    r7   c             C   sÆ   |d kr0|d kr0t | ƒ}x|D ]}|S W tdƒ‚|d k	r€|  |¡}|d k	rN|S t| |d}|rf|d S tdtd t| ƒ¡f ƒ‚|d k	rÂt | ƒ}y|| S  tk
rÀ   td|t|ƒf ƒ‚Y nX d S )NzNo forms in page)r-   r   z-No form with the name or id of %r (forms: %s)z, z3There is no form with the index %r (%i forms found))	r   r   Úget_element_by_idÚ_form_name_xpathÚidÚjoinÚ_find_form_idsr6   Úlen)r"   r   r   ÚformsÚformr   r   r   r    †   s0    

r    c             c   s   t | ƒ}|sdV  d S xtt|ƒD ]h\}}| d¡rf| d¡rXd| d¡| d¡f V  qˆ| d¡V  q | d¡r~| d¡V  q d| V  q W d S )Nz
(no forms)rL   r-   z%s or %sz(unnamed form %s))r   Ú	enumerater1   )r"   rP   r9   rQ   r   r   r   rN   ¡   s    



rN   c               @   s4   e Zd ZdZdZdZdZdZdZdd„ Z	dd	„ Z
d
S )r   TZdivzerror-messagezerror-blockZInvalidc             K   s<   x6|  ¡ D ]*\}}t| |ƒs(td| ƒ‚t| ||ƒ q
W d S )NzUnexpected keyword argument: %s)Úitemsr/   Ú	TypeErrorÚsetattr)ÚselfÚkwr-   r8   r   r   r   Ú__init__¾   s
    

zDefaultErrorCreator.__init__c             C   s  |  | j¡}| jr | d| j¡ |rH| jrH| d| dd¡d | j ¡ |d ksX|dkr^| j}t|tƒrt| 	|¡ n"t|t
ƒsŠtd| ƒ‚|p’| j|_|rÎ| jrÎ| jrÂ|j|_d |_| d|¡ n
| 	|¡ nD| ¡ }| |¡}| jrô| ||¡ n|j|_d |_| |d |¡ d S )NÚclassr:   ú z.Bad message; should be a string or element: %rr   r.   )ZmakeelementÚerror_container_tagÚerror_message_classrF   Úerror_block_classr1   Údefault_messager%   r   Úappendr&   rA   rI   Úblock_insideÚinsert_beforeÚtailÚinsertZ	getparentr9   )rV   r"   Úis_blockÚmessageÚerror_elÚparentÚposr   r   r   Ú__call__Å   s2    




zDefaultErrorCreator.__call__N)r   r   r   ra   r`   r[   r\   r]   r^   rX   ri   r   r   r   r   r   ¶   s   Úerrorc       
      C   sz   t | ||d} xf| ¡ D ]Z\}}|d kr*qxFt| ||ƒD ]6\}}	t|	ttd ƒtfƒs`td|	 ƒ‚t||	||ƒ q8W qW d S )N)r   r   zBad message: %r)	r    rS   Ú_find_elements_for_namer%   r&   r$   r   rA   Ú_insert_error)
r"   Úerrorsr   r   Úerror_classÚerror_creatorr-   rj   rf   re   r   r   r   r   ç   s    
c             K   s>   t | ƒ}t| tƒrt| ƒ}n
t | ¡}t||f|Ž t||ƒS )N)r$   r%   r&   r   r'   r(   r   r	   )r)   r#   rW   r*   r+   r   r   r   r   ø   s    


c             C   sŒ   t | jƒtjkst | jƒdkr$d}nd}t | jƒdkrD|rDt| |ƒ |  d¡r|t| |  d¡d}|r|x|D ]}t||ƒ qjW || ||ƒ d S )Nr   FTrQ   rL   )Zfor_id)r   r=   r
   Z
empty_tagsÚ
_add_classr1   Ú_label_for_xpath)r"   rj   rn   ro   rd   ÚlabelsZlabelr   r   r   rl     s    


rl   c             C   s6   |   d¡r&|  d|   d¡d | ¡ n|  d|¡ d S )NrY   rZ   )r1   rF   )r"   Ú
class_namer   r   r   rp     s    
rp   c             c   s¬   |d kr| |fV  d S |  d¡rH|  |dd … ¡}|d k	rD||fV  d S t| |d}|s\d S t|ttfƒs||d |fV  d S x*t||ƒD ]\}}|d kršqˆ||fV  qˆW d S )Nú#r.   )r-   r   )Ú
startswithrJ   Ú_name_xpathr%   r3   r4   Úzip)rQ   r-   rj   r"   ZelsÚerrr   r   r   rk     s$    


rk   )NN)NN)NN))Z
lxml.etreer   r   Z	lxml.htmlr   r   r   r   r   r	   r
   r'   r&   Ú	NameErrorÚstrÚ__all__ÚLookupErrorr   rK   rM   r0   rq   rv   r   r   r!   r2   r5   r@   rB   r7   r    rN   Úobjectr   Zdefault_error_creatorr   r   rl   rp   rk   r   r   r   r   Ú<module>   sN   
 

		
.	