
    2hI                        S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJr  S SKJr  S SKJrJrJr  S SKJrJrJrJrJrJrJrJrJr  S SKJ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*  Sr+\\,S4   r-SR\                  r/SR\                  r0Sr1\" 5       r2 " S S\#5      r3 " S S\#5      r4g)    N)defaultdict)Mapping)
BaseCookieMorselSimpleCookie)	DefaultDictDictIterableIteratorListOptionalSetTupleUnion)URL   ) preserve_morsel_with_coded_value)AbstractCookieJarClearCookiePredicate)is_ip_address)LooseCookiesPathLikeStrOrURL)	CookieJarDummyCookieJarzMorsel[str]z{}/{}z{1}.{0}d   c                      ^  \ rS rSrSr\R                  " S5      r\R                  " S5      r\R                  " S5      r	\R                  " S\R                  5      r\R                  " S5      r\" \R                  R                  R!                  \R"                  R$                  S9R'                  5       5      S	-
  r \R,                  " \R0                  " \5      5        \S	-
  rSSSSS.S\S\S\\\ \   S4   S\!\"RF                     SS4
U 4S jjjr$\%S\4S j5       r&S\'SS4S jr(S\'SS4S jr)S4S\!\*   SS4S jjr+S\,SS4S jr-S5S jr.S\4S jr/S6S  jr0S!\ \1\,\,\,4      SS4S" jr2S#\3S\,S$\,S%\,SS4
S& jr4\5" 5       4S'\6S(\5SS4S) jjr7\5" 5       4S*\5SS+4S, jjr8S-\9\,   S\9\,   4S. jr:\;S\,S/\,S\4S0 j5       r<\=S1\,S\!\   4S2 j5       r>S3r?U =r@$ ! \\4 a    \R,                  " S
5      r GN\ a    Sr GNf = f)7r   3   z/Implements cookie storage adhering to RFC 6265.z][\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]*(?P<token>[\x00-\x08\x0A-\x1F\d:a-zA-Z\x7F-\xFF]+)z(\d{1,2}):(\d{1,2}):(\d{1,2})z	(\d{1,2})zG(jan)|(feb)|(mar)|(apr)|(may)|(jun)|(jul)|(aug)|(sep)|(oct)|(nov)|(dec)z	(\d{2,4}))tzinfor   )	i           ;   r#   r$   r$   iFTN)unsafequote_cookietreat_as_secure_originloopr%   r&   r'   r(   returnc                .  > [         TU ]  US9  [        [        5      U l        [        [
        5      U l        [        5       U l        Xl	        X l
        Uc  / nO[        U[        5      (       a  UR                  5       /nO~[        U[        5      (       a  [        U5      R                  5       /nONU Vs/ s HA  n[        U[        5      (       a  [        U5      R                  5       OUR                  5       PMC     nnX0l        / U l        0 U l        g s  snf Nr(   )super__init__r   r   _cookiesdict_morsel_cacheset_host_only_cookies_unsafe_quote_cookie
isinstancer   originstr_treat_as_secure_origin_expire_heap_expirations)selfr%   r&   r'   r(   url	__class__s         I/var/www/auris/envauris/lib/python3.13/site-packages/aiohttp/cookiejar.pyr.   CookieJar.__init__X   s    	d#DOE
  	 9<)!)%'".44&<&C&C&E%F".44&)*@&A&H&H&J%K" 2&1C &0S%9%9C!szz|K1 # & (>$FH?A&s   3ADc                     U R                   $ N)r5   r<   s    r?   r&   CookieJar.quote_cookiey   s    !!!    	file_pathc                     [         R                  " U5      nUR                  SS9 n[        R                  " U R
                  U[        R                  5        S S S 5        g ! , (       d  f       g = f)Nwbmode)pathlibPathopenpickledumpr/   HIGHEST_PROTOCOLr<   rF   fs      r?   saveCookieJar.save}   sF    LL+	^^^&!KKq&*A*AB '&&s   1A  
A.c                     [         R                  " U5      nUR                  SS9 n[        R                  " U5      U l        S S S 5        g ! , (       d  f       g = f)NrbrI   )rK   rL   rM   rN   loadr/   rQ   s      r?   rW   CookieJar.load   s;    LL+	^^^&!"KKNDM '&&s   A
A	predicatec                    Uc  U R                   R                  5         U R                  R                  5         U R                  R                  5         U R                  R                  5         U R
                  R                  5         g [        R                  " 5       nU R                  R                  5        VVVVVs/ s HY  u  u  p4nUR                  5         H<  u  pgX4U4=oR
                  ;   a  U R
                  U   U::  d  U" U5      (       d  M:  UPM>     M[     n	nnnnnU	(       a  U R                  U	5        g g s  snnnnnf rB   )	r:   clearr/   r1   r3   r;   timeitems_delete_cookies)
r<   rY   nowdomainpathcookienamemorselkeyto_dels
             r?   r[   CookieJar.clear   s   ##%MM!$$&##))+##%iik +/--*=*=*?	
*?& &t,,1B1BB%%c*c1   . *? 	 	
   ( 	
s   <AD<
D<r`   c                 4   ^ ^ T R                  UU 4S j5        g )Nc                 .   > TR                  TU S   5      $ )Nr`   )_is_domain_match)xr`   r<   s    r?   <lambda>(CookieJar.clear_domain.<locals>.<lambda>   s    T2261X;GrE   )r[   r<   r`   s   ``r?   clear_domainCookieJar.clear_domain   s    

GHrE   c              #      #    U R                  5         U R                  R                  5        H  nUR                  5        S h  vN   M     g  N	7frB   )_do_expirationr/   values)r<   vals     r?   __iter__CookieJar.__iter__   s:     =='')Czz|## *#s   AAA
Ac                 V    [        S U R                  R                  5        5       5      $ )zgReturn number of cookies.

This function does not iterate self to avoid unnecessary expiration
checks.
c              3   T   #    U  H  n[        UR                  5       5      v   M      g 7frB   )lenrs   ).0rb   s     r?   	<genexpr>$CookieJar.__len__.<locals>.<genexpr>   s      M6LF3v}}''6Ls   &()sumr/   rs   rC   s    r?   __len__CookieJar.__len__   s"     Mdmm6J6J6LMMMrE   c                    [        U R                  5      =n(       d  gU[        :  a  U[        U R                  5      S-  :  ai  U R                   Vs/ s H,  nU R                  R	                  US   5      US   :X  d  M*  UPM.     snU l        [
        R                  " U R                  5        [        R                  " 5       n/ nU R                  (       az  U R                  S   u  pVXS:  a  Oc[
        R                  " U R                  5        U R                  R	                  U5      U:X  a  UR                  U5        U R                  (       a  Mz  U(       a  U R                  U5        ggs  snf )zRemove expired cookies.N   r   r   )ry   r:    _MIN_SCHEDULED_COOKIE_EXPIRATIONr;   getheapqheapifyr\   heappopappendr^   )r<   expire_heap_lenentryr_   rf   when
cookie_keys          r?   rr   CookieJar._do_expiration   s3   #&t'8'8#999 >>#d&7&7"81"<< "..!.E$$((q2eAh> .!D
 MM$++,iik-/#003DzMM$++,
   $$Z0D8j)    ( -!s   )E)?E)rf   c                    U H  u  p#nU R                   R                  X$45        U R                  X#4   R                  US 5        U R                  X#4   R                  US 5        U R
                  R                  X#U4S 5        M     g rB   )r3   discardr/   popr1   r;   )r<   rf   r`   ra   rc   s        r?   r^   CookieJar._delete_cookies   sz    "(F$##++VN;MM6.)--dD9~.224>!!6"6=	 #)rE   r   ra   rc   c                     X#U4nU R                   R                  U5      U:X  a  g [        R                  " U R                  X45        XR                   U'   g rB   )r;   r   r   heappushr:   )r<   r   r`   ra   rc   r   s         r?   _expire_cookieCookieJar._expire_cookie   sM    D)
  ,4t((4*<=(,*%rE   cookiesresponse_urlc                    UR                   nU R                  (       d  [        U5      (       a  g[        U[        5      (       a  UR                  5       nU GH  u  pE[        U[        5      (       d  [        5       nXVU'   Xd   nUS   nU(       a  US   S:X  a  SnUS	 U(       d%  Ub"  U R                  R                  X445        U=ouS'   U(       a  US   S:X  a	  USS nXuS'   U(       a  U R                  Xs5      (       d  M  US   nU(       a	  US   S	:w  a@  UR                  nUR                  S	5      (       d  S	nOS	USUR                  S	5       -   nXS'   UR                  S	5      nUS
   =n	(       aK   [        U	5      n
[!        ["        R"                  " 5       U
-   U R$                  5      nU R'                  XX5        O<US   =n(       a0  U R+                  U5      =n(       a  U R'                  XX5        OSUS'   Xx4nU R,                  U   R/                  U5      U:w  d  GM  XPR,                  U   U'   U R0                  U   R3                  US5        GM     U R5                  5         g! [(         a    SUS
'    Nf = f)zUpdate cookies.Nr`   r$   . r   r   ra   /zmax-ageexpires)raw_hostr4   r   r6   r   r]   r   r   r3   addrj   ra   
startswithrfindrstripintminr\   MAX_TIMEr   
ValueError_parse_dater/   r   r1   r   rr   )r<   r   r   hostnamerc   rb   tmpr`   ra   max_agedelta_secondsmax_age_expirationr   expire_timere   s                  r?   update_cookiesCookieJar.update_cookies   sa   ((||h 7 7gw''mmoG#LDff--"n"D	H%F &*+8$h2 ''++X,<=,44)&)s*#)x  5 5f G G&>D47c>#((s++D a$**S/!::D!%v;;s#D ++w++$'LM),TYY[=-H$--)X&''(:DO #9---"&"2"27";;;;''TH(*F9%.C}}S!%%d+v5 ,2c"4(""3'++D$7w $z 	! " +(*F9%+s   4A	I((I:9I:request_urlBaseCookie[str]c                    [        5       nU R                  (       d  U$ U R                  5         U R                  (       d  U$ [        U5      [        La1  [
        R                  " S[        U5       3[        SS9  [	        U5      nUR                  =(       d    SnUR                  S;  nU(       a\  U R                  (       aK  [	        5       n[        R                  " [        5         UR                  5       nSSS5        XPR                  ;  nSnU R                  U   R                  5        H  nUR                   U R"                  U   ;   a*  U R"                  U   UR                      X'R                   '   MJ  U R%                  U5      nXR"                  U   UR                   '   XUR                   '   M     ['        U5      (       a  U R(                  (       d  U$ U4n	O3[*        R,                  " [/        UR1                  S5      5      [2        5      n	[*        R,                  " UR4                  R1                  S	5      [6        5      n
[*        R8                  " X5      n[;        UR4                  5      nU H  nXR                  ;  a  M  U R                  U   R=                  5        H  u  pUS
   nUU4U R>                  ;   a  UU:w  a  M$  [;        US   5      U:  a  M8  U(       a  US   (       a  MK  XR"                  U   ;   a  U R"                  U   U   X.'   Ms  U R%                  U5      nXR"                  U   U'   XU'   M     M     U$ ! , (       d  f       GNS= f)z8Returns this jar's cookies filtered by their attributes.zQfilter_cookies expects yarl.URL instances only,and will stop working in 4.x, got r   )
stacklevelr   )httpswssN)r   r   r   r   r`   ra   secure) r   r/   rr   typer   warningswarnDeprecationWarningr   schemer9   
contextlibsuppressr   r7   rs   re   r1   _build_morselr   r4   	itertools
accumulatereversedsplit_FORMAT_DOMAIN_REVERSEDra   _FORMAT_PATHproductry   r]   r3   )r<   r   filteredr   is_not_securerequest_originre   cmrsl_valdomainspathspairspath_lenprc   rb   r`   s                    r?   filter_cookiesCookieJar.filter_cookies2  s   
 %/L}}O}}OC'MM559+5F4GI"	 k*K''-2#**2BBT99 UN$$Z0!,!3!3!5 1*2N2NNM s#**,Auu**3//"&"4"4S"9!%%"@ ))!,H-5s#AEE*&QUUO - ""<<&.[G  **,-/FG
 $$[%5%5%;%;C%@,O!!'1{''(A% $a 0 6 6 8)D>T%<%<<8AS vf~&1 VH%5 --a00%)%7%7%:4%@HN  --f5.6""1%d+!)+ !9 4 y 10s   $M
Mrb   c                 V   U R                   (       a/  UR                  (       a  UR                  S   S:X  a  [        U5      $ [        5       nU R                   (       a"  [        R                  UR                  5      u  p4OUR                  =pCUR                  UR                  X4S.5        U$ )z<Build a morsel for sending, respecting quote_cookie setting.r   ")re   valuecoded_value)	r5   r   r   r   _SIMPLE_COOKIEvalue_encoder   __setstate__re   )r<   rb   rd   r   r   s        r?   r   CookieJar._build_morsel  s    &"4"49K9KA9NRU9U3F;;$h!/!<!<V\\!JE;"(,,.K
 	FJJ[\rE   r   c                     X:X  a  gUR                  U 5      (       d  gUS[        U 5      *  nUR                  S5      (       d  g[        U5      (       + $ )z0Implements domain matching adhering to RFC 6265.TFNr   )endswithry   r   )r`   r   non_matchings      r?   rj   CookieJar._is_domain_match  sU       ((3v;,/$$S)) ***rE   date_strc                    U(       d  gSnSnSnSnS=n=pxSn	Sn
SnU R                   R                  U5       GH3  nUR                  S5      nU(       d@  U R                  R	                  U5      nU(       a  SnS UR                  5        5       u  pgnM\  U(       d?  U R                  R	                  U5      nU(       a  Sn[        UR                  5       5      n	M  U(       dA  U R                  R	                  U5      nU(       a  SnUR                  c   eUR                  n
M  U(       a  M  U R                  R	                  U5      nU(       d  GM  Sn[        UR                  5       5      nGM6     SUs=::  a  S::  a	  O  OUS	-  nOSUs=::  a  S
::  a  O  OUS-  nSX4XR4;   a  gSU	s=::  a  S::  d   g  gUS:  d  US:  d  US:  d  US:  a  g[        R                  " XXXxSSS4	5      $ )z4Implements date string parsing adhering to RFC 6265.NFr   tokenTc              3   8   #    U  H  n[        U5      v   M     g 7frB   )r   )rz   ss     r?   r{   (CookieJar._parse_date.<locals>.<genexpr>  s     +P<OqCFF<Os   F   c   il  E   i  r   r!   iA  r"   r#   r$   )DATE_TOKENS_REfinditergroupDATE_HMS_TIME_REmatchgroupsDATE_DAY_OF_MONTH_REr   DATE_MONTH_RE	lastindexDATE_YEAR_REcalendartimegm)clsr   
found_time	found_dayfound_month
found_yearhourminuteseconddaymonthyeartoken_matchr   
time_match	day_matchmonth_match
year_matchs                     r?   r   CookieJar._parse_date  s    
	
!"""v--66x@K%%g.E 1177>
!%J+PJ<M<M<O+P(D&44::5A	 $Iioo/0C!//55e<"&K&00<<<'11E: --33E:
:!%Jz//12D= A@ DLD$_"_DLDYZDDC~2~ $;$)v{frkSBPRSTTrE   )r/   r;   r:   r3   r1   r5   r9   r4   rB   r)   zIterator[Morsel[str]])r)   N)A__name__
__module____qualname____firstlineno____doc__recompiler   r   r   Ir   r   r   datetimemaxreplacetimezoneutc	timestampr   r   r   r\   gmtimeOSErrorr   OverflowErrorSUB_MAX_TIMEboolr   r   r   r   asyncioAbstractEventLoopr.   propertyr&   r   rS   rW   r   r[   r8   ro   ru   r~   rr   r   r^   floatr   r   r   r   r   r   r   staticmethodrj   classmethodr   __static_attributes____classcell__r>   s   @r?   r   r   3   s   9ZZ	>N
 zz"BC::l3JJQ
M
 ::l+L
 	H!!))1B1B1F1F)GQQSTWXX 	H-. a<L
 !HL48B B 	B
 !&hX&D EB w001B 
B BB "d " "Ch C4 C
+h +4 +
)x(<= ) ).I3 I4 I$
N N))V>d5c3+?&@ >T >-5 -# -S - -PT - IL Hl H# HRV HT 14 V# V:K VpF3K F3K   + + + + + =U3 =U8C= =U =U}
 Z  K ??#IJ s   >"G G=2G=<G=r   c                      ^  \ rS rSrSrSS.S\\R                     SS4U 4S jjjrSS jr	S\
4S	 jr\S\4S
 j5       rSS\\   SS4S jjrS\SS4S jr\" 5       4S\S\SS4S jjrS\SS4S jrSrU =r$ )r   i  zpImplements a dummy cookie storage.

It can be used with the ClientSession when no cookie processing is needed.

Nr,   r(   r)   c                    > [         TU ]  US9  g r+   )r-   r.   )r<   r(   r>   s     r?   r.   DummyCookieJar.__init__  s    d#rE   c              #      #    g 7frB    rC   s    r?   ru   DummyCookieJar.__iter__  s     s   c                     g)Nr   r#  rC   s    r?   r~   DummyCookieJar.__len__  s    rE   c                     g)NTr#  rC   s    r?   r&   DummyCookieJar.quote_cookie  s    rE   rY   c                     g rB   r#  )r<   rY   s     r?   r[   DummyCookieJar.clear       rE   r`   c                     g rB   r#  rn   s     r?   ro   DummyCookieJar.clear_domain  r+  rE   r   r   c                     g rB   r#  )r<   r   r   s      r?   r   DummyCookieJar.update_cookies  r+  rE   r   r   c                     [        5       $ rB   )r   )r<   r   s     r?   r   DummyCookieJar.filter_cookies	  s
    ~rE   r#  r  rB   )r  r  r  r  r  r   r  r  r.   ru   r   r~   r  r  r&   r   r[   r8   ro   r   r   r   r   r  r  r  s   @r?   r   r     s     GK $)B)B C $t $ $  d  x(<=  3 4  IL l # RV # 2C  rE   r   )5r  r   r   r  r   r   osrK   rN   r  r\   r   collectionsr   collections.abcr   http.cookiesr   r   r   typingr   r	   r
   r   r   r   r   r   r   yarlr   _cookie_helpersr   abcr   r   helpersr   typedefsr   r   r   __all__r8   
CookieItemformatr   r   r   r   r   r   r#  rE   r?   <module>r?     s          	   	   # # 9 9
 
 
  = 8 " 6 6
) 3%&
 ~~#** 
 $'  uU! uUp& rE   