
    vKg{-                     h   S /r SSKrSSKrSSKrSSKJr  SSKJrJr  SSK	J
r
  SSKJrJrJrJrJrJrJr  SSKJr  SS	KJrJr  \S \\\\4   \\\\4      4   r\ " S
 S5      5       r\R6                  " S\R8                  5      r\R6                  " S\R8                  5      r " S S \\\4   5      rg)Cookies    N)	dataclass)Cookie	CookieJar)_unquote)DictIteratorListMutableMappingOptionalTupleUnion)urlparse   )CookieConflictRequestsErrorc                       \ rS rSr% \\S'   \\S'   Sr\\S'   Sr\\S'   Sr	\\S	'   Sr
\\S
'   Sr\\S'   Sr\\S'   \S 5       r\S 5       r\S\4S j5       rS r\S\4S j5       rS\4S jrSrg)
CurlMorsel   namevalue hostnameF
subdomains/pathsecurer   expires	http_onlyc                     U S:H  $ )NTRUE ss    Z/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/curl_cffi/requests/cookies.py
parse_boolCurlMorsel.parse_bool    s    F{    c                     U (       a  S$ S$ )Nr!   FALSEr"   r#   s    r%   	dump_boolCurlMorsel.dump_bool$   s    v''r(   set_cookie_linec                    UR                  5       R                  S5      u  nnnnnnnU(       a  US   S:X  a  Sn	USS  n
OSn	Un
U " U
U R                  U5      UU R                  U5      [        U5      U[	        U5      U	S9$ )N	r   #T
   F)r   r   r   r   r   r   r   r   )decodesplitr&   intr   )clsr-   r   r   r   r   r   r   r   r   domains              r%   from_curl_formatCurlMorsel.from_curl_format(   s     ""$**40	
s*Ibc]FIF~~j1>>&)L5/	
 		
r(   c           	      x   U R                   (       d%  [        SU R                   SU R                   35      eSR	                  U R                   U R                  U R                  5      U R                  U R                  U R                  5      [        U R                  5      U R                  U R                  /5      $ )NzDomain not found for cookie =r/   )r   r   r   r   joinr+   r   r   r   strr   selfs    r%   to_curl_formatCurlMorsel.to_curl_formatE   s    }}">tyyk4::, WXXyyt/		t{{+DLL!		



 
	
r(   cookiec                     U " UR                   UR                  =(       d    SUR                  UR                  UR                  UR
                  [        UR                  =(       d    S5      SS9$ )Nr   r   F)r   r   r   r   r   r   r   r   )r   r   r6   domain_specifiedr   r   r4   r   )r5   rA   s     r%   from_cookiejar_cookie CurlMorsel.from_cookiejar_cookieT   sT    ,,$"]]..==+!,	
 		
r(   returnc           
         [        S0 SS_SU R                  _SU R                  _SS _SS_SU R                  _S	U R                  _S
[        U R                  R                  S5      5      _SU R                  _S[        U R                  5      _SU R                  _SU R                  S:X  a  S OU R                  _SU R                  S:H  _SS _SS _S[        U R                   S9_SS_6$ )Nversionr   r   r   portport_specifiedFr6   rC   domain_initial_dot.r   path_specifiedr   r   discardcommentcomment_urlrest)r   rfc2109r"   )r   r   r   r   r   bool
startswithr   r   r   dictr   r=   s    r%   to_cookiejar_cookieCurlMorsel.to_cookiejar_cookiea   s     


 **
 	

 !
 ==
 "__
  $DMM$<$<S$AB
 
  		?
 ;;
 !LLA-D4<<
 LLA%
 
  !
" 4>>"24#
$ %
 	
r(   r"   N)__name__
__module____qualname____firstlineno__r<   __annotations__r   r   rS   r   r   r   r4   r   staticmethodr&   r+   classmethodbytesr7   r?   r   rD   rV   __static_attributes__r"   r(   r%   r   r      s    
IJHcJD#OFDGSIt  ( ( 
u 
 
8
 

6 

 


V 
r(   r   z:\d+$z\.\d+$c                      \ rS rSrSrSS\\   SS4S jjrS\4S jr	S\
\   4S jrS	\
\   4S
 jrSS\S\S\S\SS4
S jjr   S S\S\\   S\\   S\\   S\\   4
S jjrS!S\\   S\\   S\4S jjr  S!S\S\\   S\\   SS4S jjrS!S\\   S\\   SS4S jjrSS\\   SS4S jjrS\S\SS4S jrS\S\4S jrS\SS4S jrS\4S jrS\\   4S jrS\4S jrS\4S jrSrg)"r      z%
HTTP Cookies, as a mutable mapping.
NcookiesrF   c                    Ub  [        U[        5      (       aP  [        5       U l        [        U[        5      (       a+  UR	                  5        H  u  p#U R                  X#5        M     g g [        U[        5      (       a,  [        5       U l        U H  u  p#U R                  X#5        M     g [        U[        5      (       a>  [        5       U l        UR                   H  nU R                  R                  U5        M      g Xl        g N)	
isinstancerU   r   jaritemssetlistr   
set_cookie)r>   rc   keyr   rA   s        r%   __init__Cookies.__init__   s    ?j$77 {DH'4((")--/JCHHS( #2 ) && {DH%
$ &)) {DH!++##F+ & Hr(   c                 0   [        UR                  5      S   nUS:X  a  UR                  R                  SS5      n[        R                  SUS5      nUR                  5       nUR                  S5      S:X  a  [        R                  U5      (       d  US-  nU$ )z
Almost equivalent to the eff_request_host function in:
    https://github.com/python/cpython/blob/3.11/Lib/http/cookiejar.py#L636
r   r   HostrL   z.local)
r   urlheadersgetcut_port_resublowerfindIPV4_REsearch)r>   requesthosts      r%   _eff_request_hostCookies._eff_request_host   s    
 $Q'2:??&&vr2D r4+zz|99S>Rt(<(<HDr(   c                 ^   U R                   R                  R                  5         / n [        [        R                  " 5       5      =U R                   R
                  l        U l        U R                    HP  n[        R                  U5      nUR                  (       d  U R                  U5      Ul	        UR                  U5        MR     U R                   R                  R                  5         U R                   R                  5         U$ ! U R                   R                  R                  5         f = f)zMthe process is similar to `cookiejar.add_cookie_header`, but load all cookies)rg   _cookies_lockacquirer4   time_policy_nowr   rD   r   r}   appendreleaseclear_expired_cookies)r>   r{   morselsrA   morsels        r%   get_cookies_for_curlCookies.get_cookies_for_curl   s    &&(	-03DIIK0@@DHH!DI((#99&A&*&<&<W&EFOv&	 # HH""**,&&( HH""**,s   BD &D,r   c                     U H.  nUR                  5       nU R                  R                  U5        M0     U R                  R                  5         g re   )rV   rg   rk   r   )r>   r   r   rA   s       r%   update_cookies_from_curl Cookies.update_cookies_from_curl   s>    F//1FHH'  	&&(r(   r   r   r6   r   c                    UR                  S5      (       a  USL a  [        R                  " SSS9  SnOCUR                  S5      (       a-  USL d  U(       d  US:w  a  [        R                  " S	SS9  SnS
nSn0 SS_SU_SU_SS_SS_SU_S[        U5      _SUR                  S5      _SU_S[        U5      _SU_SS_SS_SS_SS_SSS0_SS_n[	        S 0 UD6nU R
                  R                  U5        g)!zE
Set a cookie value by name. May optionally include domain and path.
z	__Secure-Fz9`secure` changed to True for `__Secure-` prefixed cookies   )
stacklevelTz__Host-r   z^`host` changed to True, `domain` removed, `path` changed to `/` for `__Host-` prefixed cookiesr   rH   r   r   r   rI   NrJ   r6   rC   rK   rL   r   rM   r   r   rN   rO   rP   rQ   HttpOnlyrR   r"   )rT   warningswarnrS   r   rg   rk   )r>   r   r   r6   r   r   kwargsrA   s           r%   ri   Cookies.set   s}   
 ??;''FeOMMK F__Y''Vu_$RU+MM1
 FFD
q
D
 U
 D	

 e
 f
 V
 !&"3"3C"8
 D
 d4j
 f
 t
 t
 t
 4
  Z&!
" u#
& !&!F#r(   defaultc                    SnSnU R                    H  nUR                  U:X  d  M  Ub  UR                  U:X  d  M*  Ub  UR                  U:X  d  M?  Uby  UR	                  UR                  5      (       dY  [        UR                  5      R	                  U5      (       d0  XWR                  :w  a!  SU SU SUR                   S3n[        U5      eUR                  nUR                  =(       d    SnM     Uc  U$ U$ )zt
Get a cookie by name. May optionally include domain and path
in order to specify exactly which cookie to retrieve.
Nr   z!Multiple cookies exist with name=z on z and z., add domain parameter to suppress this error.)rg   r   r6   r   endswithr<   r   r   )	r>   r   r   r6   r   r   matched_domainrA   messages	            r%   rt   Cookies.get   s     hhFt#^v}}'>\V[[D%8 %*33FMMBB.77GG- <D6)*% ?<< 
 )11!'!4") , =Nr(   c                     0 nU R                    HE  nUb  UR                  U:X  d  M  Ub  UR                  U:X  d  M-  UR                  X4R                  '   MG     U$ )z
Cookies with the same name on different domains may overwrite each other,
do NOT use this function as a method of serialization.
)rg   r6   r   r   r   )r>   r6   r   retrA   s        r%   get_dictCookies.get_dict  sQ    
 hhF&--6"9PVP[P[_cPc#)<<KK   
r(   c                    Ub  Ub  U R                   R                  X#U5      $ U R                    Vs/ sHA  nUR                  U:X  d  M  Ub  UR                  U:X  d  M*  Ub  UR                  U:X  d  M?  UPMC     nnU H>  nU R                   R                  UR                  UR                  UR                  5        M@     gs  snf )zu
Delete a cookie by name. May optionally include domain and path
in order to specify exactly which cookie to delete.
N)rg   clearr   r6   r   )r>   r   r6   r   rA   removes         r%   deleteCookies.delete  s     $"288>>&55 ((
"{{d"  6==F#:  !4	 " 	 
 FHHNN6==&++v{{C 
s   B?B?B?2B?c                     / nUb  UR                  U5        Ub  Uc   eUR                  U5        U R                  R                  " U6   g)zo
Delete all cookies. Optionally include a domain and path in
order to only delete a subset of all the cookies.
N)r   rg   r   )r>   r6   r   argss       r%   r   Cookies.clear0  sI    
 KK%%%KKr(   c                 v    [        U5      nUR                   H  nU R                  R                  U5        M      g re   )r   rg   rk   )r>   rc   rA   s      r%   updateCookies.update=  s,    '"kkFHH' "r(   c                 $    U R                  X5      $ re   )ri   r>   r   r   s      r%   __setitem__Cookies.__setitem__B  s    xx$$r(   c                 D    U R                  U5      nUc  [        U5      eU$ re   )rt   KeyErrorr   s      r%   __getitem__Cookies.__getitem__E  s#    =4. r(   c                 $    U R                  U5      $ re   )r   )r>   r   s     r%   __delitem__Cookies.__delitem__K  s    {{4  r(   c                 ,    [        U R                  5      $ re   )lenrg   r=   s    r%   __len__Cookies.__len__N  s    488}r(   c                 (    S U R                    5       $ )Nc              3   6   #    U H  oR                   v   M     g 7fre   )r   ).0rA   s     r%   	<genexpr>#Cookies.__iter__.<locals>.<genexpr>R  s     3((s   rg   r=   s    r%   __iter__Cookies.__iter__Q  s    3$((33r(   c                 *    U R                    H  n  g   g)NTFr   )r>   _s     r%   __bool__Cookies.__bool__T  s    A r(   c                     SR                  U R                   Vs/ sH-  nSUR                   SUR                   SUR                   S3PM/     sn5      nSU S3$ s  snf )Nz, z<Cookie r:   z for z />z	<Cookies[z]>)r;   rg   r   r   r6   )r>   rA   cookies_reprs      r%   __repr__Cookies.__repr__Y  sc    yyZ^ZbZbcZbPVx}Afll^5sKZbc
 <.++ ds   3A)r   rg   re   )r   r   F)NNN)NN) rX   rY   rZ   r[   __doc__r   CookieTypesrm   r<   r}   r
   r   r   r   ri   rt   rU   r   r   r   r   r   r   r   r4   r   r	   r   rS   r   r   r`   r"   r(   r%   r   r      s    5  "C  tJ/? ")Z0@ )($ ($C ($ ($ ($]a ($Z "& $"%% #% 	%
 sm% 
#%N	x} 	8C= 	TX 	 !%"	DD D sm	D
 
D0HSM  QU (h{3 (t (
% %C %D %  ! ! ! 4(3- 4$ 
,# ,r(   ) __all__rer   r   dataclassesr   http.cookiejarr   r   http.cookiesr   typingr   r	   r
   r   r   r   r   urllib.parser   errorsr   r   r<   r   r   compileASCIIru   ry   r   r"   r(   r%   <module>r      s   
 + 	   ! , ! O O O ! 1Iy$sCx.$uS#X:OOP b
 b
 b
J jj288,
**Y
)_,nS#X& _,r(   