
     i`                     J   d dl Z d dlZd dlmZmZmZ d dlmZ  ej        d          Z	d  e
d          D             ZdZdZed	z   Zeez   Zeez   d
z   Zeez   Z ej        d          Z ej        d          Z e j        d          Z G d d          Z G d d          ZdS )    N)ascii_lettersascii_lowercasedigits)overloadasciic                 @    h | ]}d |d                     d          S )%02Xr   )encode).0is     X/root/.openclaw/workspace/.venvs/songid/lib/python3.11/site-packages/yarl/_quoting_py.py	<setcomp>r      s.    @@@A""7++@@@       z:/?#[]@z!$'()*,+&=;z-._~s   [A-Z0-9][A-Z0-9]z[A-Fa-f0-9][A-Fa-f0-9]zutf-8c                       e Zd Zddddddedededed	d
f
dZeded	efd            Zedd            Zded
z  d	ed
z  fdZd
S )_Quoter FT)safe	protectedqsrequoter   r   r   r   returnNc                >    || _         || _        || _        || _        d S N)_safe
_protected_qs_requote)selfr   r   r   r   s        r   __init__z_Quoter.__init__   s$     
#r   valc                     d S r    r!   r#   s     r   __call__z_Quoter.__call__$       ),r   c                     d S r   r%   r&   s     r   r'   z_Quoter.__call__&       +.3r   c                 b   |d S t          |t                    st          d          |sdS |                    dd          }t	                      }t	                      }| j        }|t          z  }| j        s|dz  }|| j        z  }|                    d          }d}|t          |          k     r||         }|d	z  }|r|t          v r|d
z
  }|                    |           t          |          dk    r=|d	d          }	t                              |	          s/|                    d           |                                 |dz  }	 t!          t#          |d	d                              d          d                    }
n?# t&          $ r2 |                    d           |                                 |dz  }Y $w xY w|
| j        v r|                    |           n<|
|v r#|                    t)          |
                     n|                    |           |                                 nTt          |          dk    rA|t          |          k    r.|                    d           |                                 |d	z  }|t)          d          k    rZ| j        rS|                                 |                    |           |t          |          k    r|                    d           [| j        r7|t)          d          k    r$|                    t)          d                     ||v r|                    |           |                    d|d                    d                     |t          |          k     |                    d          }||k    r|S |S )NArgument should be strr   utf8ignore)errorsr   r   r             s   %25      baser	    +r
   )
isinstancestr	TypeErrorr   	bytearrayr   ALLOWEDr   r   lenBASCII_LOWERCASEappend_IS_HEXmatchextendclearchrintdecode
ValueErrorordr    )r!   r#   bvalretpctr   bsafeidxchbufunquotedret2s               r   r'   z_Quoter.__call__(   s   ;4#s## 	64555 	2zz&z22kkkkzx 	FNDG$$CIIoocB1HC +)))bB

2s88q==abb'C"==-- !

6***		q !#&s3qrr7>>'+B+B'L'L'L#M#M% ! ! !

6***		q 	!  4?22

3!T))

3x==1111

3IIKKKK XX]]sc$ii'7'7JJv&&&IIKKK1HCs3xxDM		

2 #d))##JJv&&&x B#c((NN

3s88$$$U{{

2JJB,,W55666q CIIoot zz'""3;;Js   9F 8GGr#   Nr   N__name__
__module____qualname__r:   boolr"   r   r'   r%   r   r   r   r      s                 	 
     
        ,C,C,,, X,... X.NC$J N3: N N N N N Nr   r   c                       e Zd Zddddddededededd	f
d
Zededefd            Zedd            Zded	z  ded	z  fdZd	S )	_Unquoterr   F)r.   unsafer   plusr.   r[   r   r\   r   Nc                    || _         || _        || _        || _        t	                      | _        t	          d          | _        d S )NT)r   )_ignore_unsafer   _plusr   _quoter
_qs_quoter)r!   r.   r[   r   r\   s        r   r"   z_Unquoter.__init__z   sA     
yy!T***r   r#   c                     d S r   r%   r&   s     r   r'   z_Unquoter.__call__   r(   r   c                     d S r   r%   r&   s     r   r'   z_Unquoter.__call__   r*   r   c                    |d S t          |t                    st          d          |sdS t                      }g }d}|t	          |          k     r#||         }|dz  }|dk    r|t	          |          dz
  k    r|||dz            }t
                              |          rt          t          |d          g          }|dz  }	 |	                    |          }n# t          $ r |d	z
  t	          |j                  d	z  z
  }	|                    ||	|d	z
                      |                                 	 |	                    |          }n2# t          $ r% |                    ||d	z
  |                    Y Y Bw xY wY nw xY w|sP| j        r@|d
v r<|                     |          }
|
t!          d          |                    |
           nc|| j        v s	|| j        v r<|                     |          }
|
t!          d          |                    |
           n|                    |           |j        rQ|dz
  t	          |j                  d	z  z
  }	|                    ||	|dz
                      |                                 |dk    rD| j        s| j        r	|| j        v r|                    d           n|                    d           || j        v rg|                    d           t+          t-          |                                                    dd          }|D ]}|                    |           |                    |           |t	          |          k     #|j        r3|                    |t	          |j                   d	z  d                     d                    |          }||k    r|S |S )Nr,   r   r   r0   r	   r3   r4   r5   r2   z+=&;zCannot quote Noner8   r7   )r9   r:   r;   utf8_decoderr>   _IS_HEX_STR	fullmatchbytesrF   rG   UnicodeDecodeErrorbufferr@   resetr   rb   RuntimeErrorr_   r^   ra   r`   hexrI   upperjoin)r!   r#   decoderrK   rN   rO   rL   brQ   	start_pctto_addhrR   s                r   r'   z_Unquoter.__call__   s   ;4#s## 	64555 	2..CHHnnSB1HCSyySCHHqL00#a-(((-- s3R000122A1HC
%#*>>!#4#4- % % %$'!Gc'..A.AA.E$E	

3y37':#;<<<%'.~~a'8'8HH1 % % %JJs37S='9:::$HH% %H% $ ! x -H$6$6!%!:!:!>"./B"C"CC

6****!T\11X5M5M!%h!7!7!>"./B"C"CC

6****

8,,,~  !Gc'.&9&9A&==	

3y3723444Syy $ $dl8J8JJJsOOOOJJsOOOT\!!

3BLL&&((, # #BJJrNNNNJJrNNNm CHHnnp > 	8JJsC///!3556777wws||3;;Js7   C! !AF=EF*F=FFFFrS   rT   r%   r   r   rZ   rZ   y   s         + + + + 	+
 + + 
+ + + + ,C,C,,, X,... X.HC$J H3: H H H H H Hr   rZ   )codecsrestringr   r   r   typingr   r   r?   rangeBPCT_ALLOWED
GEN_DELIMSSUB_DELIMS_WITHOUT_QS
SUB_DELIMSRESERVED
UNRESERVEDr=   compilerA   rg   getincrementaldecoderrf   r   rZ   r%   r   r   <module>r      sS    				 9 9 9 9 9 9 9 9 9 9      )?)'22 @@UU3ZZ@@@
! "V+

"V#f,

,
, "*(
)
)bj122+v+G44` ` ` ` ` ` ` `F\ \ \ \ \ \ \ \ \ \r   