HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/yarl/__pycache__/_quoting_py.cpython-310.pyc
o

"we��@s�ddlZddlZddlmZmZmZddlmZmZe�	d�Z
dd�ed�D�ZdZ
d	Zed
Ze
eZeedZeeZe�d�Ze�d
�Ze�d�ZGdd�d�ZGdd�d�ZdS)�N)�
ascii_letters�ascii_lowercase�digits)�Optional�cast�asciicCsh|]}d|d���d��qS)�%�02Xr)�encode)�.0�i�r
�I/home/arjun/projects/env/lib/python3.10/site-packages/yarl/_quoting_py.py�	<setcomp>sr�z:/?#[]@z!$'()*,�+&=;z-._~s[A-Z0-9][A-Z0-9]z[A-Fa-f0-9][A-Fa-f0-9]zutf-8c@sPeZdZddddd�dedededed	d
f
dd�Zd
eed	eefdd�Zd
S)�_Quoter�FT)�safe�	protected�qs�requoterrrr�returnNcCs||_||_||_||_dS)N)�_safe�
_protected�_qs�_requote)�selfrrrrr
r
r�__init__s
z_Quoter.__init__�valcCsr|durdSt|t�std��|sdStt|�jddd�}t�}t�}|j}|t7}|js1|d7}||j	7}|�d�}d}|t
|�k�r+||}|d	7}|r�|tvrV|d
}|�|�t
|�dkr�|d	d�}	t
�|	�sz|�d�|��|d
8}q=ztt|d	d��d�dd��}
Wnty�|�d�|��|d
8}Yq=w|
|j	vr�|�|�n|
|vr�|�t|
��n|�|�|��nt
|�d
kr�|t
|�kr�|�d�|��|d	8}q=|td�kr�|jr�|��|�|�|t
|�kr�|�d�q=|j�r|td�k�r|�td��q=||v�r|�|�q=|�d|d���d��|t
|�ksD|�d�}||k�r7|S|S)N�Argument should be strr�utf8�ignore)�errorsrrr�� �s%25����baser� �+r	)�
isinstance�str�	TypeErrorrr
�	bytearrayr�ALLOWEDrr�len�BASCII_LOWERCASE�append�_IS_HEX�match�extend�clear�chr�int�decode�
ValueError�ordr)rr�bval�ret�pctr�bsafe�idx�ch�buf�unquoted�ret2r
r
r�__call__$s�





"
�







�
;
z_Quoter.__call__��__name__�
__module__�__qualname__r.�boolrrrGr
r
r
rrs"�����
�
rc@sDeZdZddd�dededdfdd	�Zd
eedeefdd�ZdS)
�	_UnquoterrF)�unsaferrNrrNcCs$||_||_t�|_tdd�|_dS)NT)r)�_unsaferr�_quoter�
_qs_quoter)rrNrr
r
rrwsz_Unquoter.__init__rc
Cs�|durdSt|t�std��|sdSttjt��}g}d}|t|�k�r<||}|d7}|dkr�|t|�dkr�|||d�}t�	|�r�t
t|dd�g�}|d7}z|�|�}Wn@t
y�|d	t|j�d	}	|�||	|d	��|��z|�|�}Wnt
y�|�||d	|��YYqwYnw|s�q|jr�|d
vr�|�|�}
|
dur�td��|�|
�n||jvr�|�|�}
|
dur�td��|�|
�n|�|�q|jr�|dt|j�d	}	|�||	|d��|��|dk�r|j�r||jv�r|�d�n|�d
�q||jv�r1|�d�tt|����dd�}|D]}|�|��q'q|�|�|t|�ks%|j�rO|�|t|j�d	d��d�|�}||k�r[|S|S)Nr rrr$rr'r(r)r&z+=&;zCannot quote Noner,r+)r-r.r/r�codecs�BufferedIncrementalDecoder�utf8_decoderr2�_IS_HEX_STR�	fullmatch�bytesr:r;�UnicodeDecodeError�bufferr4�resetrrQ�RuntimeErrorrOrP�hexr=�upper�join)
rr�decoderr?rBrCr@�brE�	start_pct�to_add�hrFr
r
rrG}s�

���	







�8

z_Unquoter.__call__rHr
r
r
rrMvsrM)rR�re�stringrrr�typingrrr
r3�range�BPCT_ALLOWED�
GEN_DELIMS�SUB_DELIMS_WITHOUT_QS�
SUB_DELIMS�RESERVED�
UNRESERVEDr1�compiler5rU�getincrementaldecoderrTrrMr
r
r
r�<module>s"



`