
    qh                         S SK r  \" S5        / SQr/ SQr\\-   rS rS rS	 rS
 r	S r
\ R                  " S\
5        g! \ a
    / SQrS/r N7f = f)    N   )   i  i   i  i  i  )r   i )i   i )i   i )i   i )i   i )i   i )i   i )i   i )i  	 i	 )i  
 i
 )i   i )i   i )i   i )i  i )i   i  )i   i )i   i )r   r   r   r   c                 F    [          H  u  pXs=::  a
  U::  d  M     g  M     g)NTF)_ESCAPE_RANGES)octetstartends      B/var/www/html/env/lib/python3.13/site-packages/openid/codecutil.py_in_escape_ranger   .   s&    $
 S  ! %     c                 B    [        U 5      nSUs=:*  =(       a    S:*  $ s  $ )Ni   i  ord	character
char_values     r   _starts_surrogate_pairr   5   $    YJZ))6))))r   c                 B    [        U 5      nSUs=:*  =(       a    S:*  $ s  $ )Ni   i  r   r   s     r   _ends_surrogate_pairr   :   r   r   c                    / n[        U 5      nU H  n[        U5      n[        U5      (       a7  [        U5      R	                  S5       H  nUR                  SU-  5        M     MU  [        U5      (       a;  [        U5      nX6-   R	                  S5       H  nUR                  SU-  5        M     M  UR                  [        U5      5        M     U$ )Nzutf-8z%%%X)iterr   r   chrencodeappendr   next)chunkreplacements
chunk_iterr   	codepointcharnext_characters          r   _pct_encoded_replacementsr'   ?   s    LeJ		N	I&&I--g6##FTM2 7#I..!*-N"3;;GD##FTM2 E I/   r   c                     U R                   U R                  U R                   n[        U5      nSR	                  U5      U R                  4$ )z
Encoding error handler that does percent-escaping of Unicode, to be used
with codecs.register_error
TODO: replace use of this with urllib.parse.quote as appropriate
 )objectr   r   r'   join)errr!   r"   s      r   _pct_escape_handlerr-   P   s>     JJsyy)E,U3LGGL!377++r   oid_percent_escape)codecsr   UCSCHARIPRIVATE
ValueErrorr
   r   r   r   r'   r-   register_error r   r   <module>r5      s    &LG(H 8#*
*
",   *,? @m  
G 	H
s   > AA