
    E d              	       N   d dl Z d dlZd dlZd dlZddlmZ ej        ee	f         Z
	 dde
deded	e	fd
Zde
d	e	fdZde
d	e	fdZej         ej         d                    d          Z ej        d          Zej        Z ej        dej                  Zded	e	fdZde	d	efdZdS )    N   )BadDatautf-8strictsencodingerrorsreturnc                 \    t          | t                    r|                     ||          } | S )N)
isinstancestrencode)r   r   r	   s      ^C:\Users\ChattiNader\Documents\MyHotelMatch\api\dev\Lib\site-packages\itsdangerous/encoding.py
want_bytesr      s.     !S 'HHXv&&H    stringc                 n    t          |           } t          j        |                               d          S )z^Base64 encode a string of bytes or text. The resulting bytes are
    safe to use in URLs.
       =)r   base64urlsafe_b64encoderstrip)r   s    r   base64_encoder      s0     F#F++224888r   c                     t          | dd          } | dt          |            dz  z  z  } 	 t          j        |           S # t          t
          f$ r}t          d          |d}~ww xY w)zOBase64 decode a URL-safe string of bytes or text. The result is
    bytes.
    asciiignore)r   r	   r      zInvalid base64-encoded dataN)r   lenr   urlsafe_b64decode	TypeError
ValueErrorr   )r   es     r   base64_decoder"      s     BBBF
ds6{{lQ&''F<'///z" < < <344!;<s   A A'A""A'z-_=r   z>Qz#_t.Callable[[bytes], _t.Tuple[int]]numc                 F    t          |                               d          S )N    )_int_to_byteslstrip)r#   s    r   int_to_bytesr(   1   s    $$W---r   bytestrc                 T    t          |                     dd                    d         S )N   r%   r   )_bytes_to_intrjust)r)   s    r   bytes_to_intr.   5   s#    q'2233A66r   )r   r   )r   r   structtyping_texcr   Unionr   bytes_t_str_bytesr   r   r"   ascii_lettersdigitsr   _base64_alphabetStruct_int64_structpackr&   castunpackr,   intr(   r.    r   r   <module>r@      sx               xU
# =E "69
   9, 95 9 9 9 9
<, 
<5 
< 
< 
< 
< *>FM>>>EEgNN d##"=}?STT.c .e . . . .7% 7C 7 7 7 7 7 7r   