+
    �WÝjZU  ã                   óˆ  € R t ^ RIt^ RIt^ RIt. R"OtRP
                  tRP
                  tRP
                  t ! R R]	4      t
]P                  ]P                  ,           R	,           t]R
,           t]! ]! R4      4      ]! ]! ]]4      4      ,
           U u/ uF  p V RV ,          bK  	  up t]P)                  ]! R4      R]! R4      R/4       ]P*                  ! R]P,                  ! ]4      ,          4      P.                  t]P*                  ! R4      tR tR t]P*                  ! R4      P8                  tR tR t. R#Ot . R$Ot!^ ] ]!3R lt" ! R R]#4      t$Rt%]%R,           t&]P*                  ! R]%,           R,           ]&,           R,           ]PN                  ]PP                  ,          4      t) ! R  R]#4      t* ! R! R]*4      t+R# u up i )%a%
  
Here's a sample session to show how to use this module.
At the moment, this is the only documentation.

The Basics
----------

Importing is easy...

   >>> from http import cookies

Most of the time you start by creating a cookie.

   >>> C = cookies.SimpleCookie()

Once you've created your Cookie, you can add values just as if it were
a dictionary.

   >>> C = cookies.SimpleCookie()
   >>> C["fig"] = "newton"
   >>> C["sugar"] = "wafer"
   >>> C.output()
   'Set-Cookie: fig=newton\r\nSet-Cookie: sugar=wafer'

Notice that the printable representation of a Cookie is the
appropriate format for a Set-Cookie: header.  This is the
default behavior.  You can change the header and printed
attributes by using the .output() function

   >>> C = cookies.SimpleCookie()
   >>> C["rocky"] = "road"
   >>> C["rocky"]["path"] = "/cookie"
   >>> print(C.output(header="Cookie:"))
   Cookie: rocky=road; Path=/cookie
   >>> print(C.output(attrs=[], header="Cookie:"))
   Cookie: rocky=road

The load() method of a Cookie extracts cookies from a string.  In a
CGI script, you would use this method to extract the cookies from the
HTTP_COOKIE environment variable.

   >>> C = cookies.SimpleCookie()
   >>> C.load("chips=ahoy; vienna=finger")
   >>> C.output()
   'Set-Cookie: chips=ahoy\r\nSet-Cookie: vienna=finger'

The load() method is darn-tootin smart about identifying cookies
within a string.  Escaped quotation marks, nested semicolons, and other
such trickeries do not confuse it.

   >>> C = cookies.SimpleCookie()
   >>> C.load('keebler="E=everybody; L=\\"Loves\\"; fudge=;";')
   >>> print(C)
   Set-Cookie: keebler="E=everybody; L=\"Loves\"; fudge=;"

Each element of the Cookie also supports all of the RFC 2109
Cookie attributes.  Here's an example which sets the Path
attribute.

   >>> C = cookies.SimpleCookie()
   >>> C["oreo"] = "doublestuff"
   >>> C["oreo"]["path"] = "/"
   >>> print(C)
   Set-Cookie: oreo=doublestuff; Path=/

Each dictionary element has a 'value' attribute, which gives you
back the value associated with the key.

   >>> C = cookies.SimpleCookie()
   >>> C["twix"] = "none for you"
   >>> C["twix"].value
   'none for you'

The SimpleCookie expects that all values should be standard strings.
Just to be sure, SimpleCookie invokes the str() builtin to convert
the value to a string, when the values are set dictionary-style.

   >>> C = cookies.SimpleCookie()
   >>> C["number"] = 7
   >>> C["string"] = "seven"
   >>> C["number"].value
   '7'
   >>> C["string"].value
   'seven'
   >>> C.output()
   'Set-Cookie: number=7\r\nSet-Cookie: string=seven'

Finis.
NÚCookieErrorÚ
BaseCookieÚSimpleCookieÚ z; Ú c                   ó   € ] tR t^‘tRtR# )r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Ú]C:\Users\johnn\AppData\Roaming\uv\python\cpython-3.14-windows-x86_64-none\Lib\http\cookies.pyr   r   ‘   s   † Ûr   z!#$%&'*+-.^_`|~:z ()/<=>?@[]{}é   z\%03oÚ"z\"Ú\z\\z[%s]+z[\x00-\x1F\x7F]c                 ój   € \         ;QJ d    R V  4       F  '       g   K   R# 	  R# ! R V  4       4      # )z`Detects control characters within a value.
Supports any type, as header values can be any type.
c              3   ó^   "  € T F#  p\         P                  \        V4      4      x € K%  	  R # 5i©N)Ú_control_character_reÚsearchÚstr)Ú.0Úvs   & r   Ú	<genexpr>Ú)_has_control_character.<locals>.<genexpr>´   s#   é € ÐA¹S¸Ô$×+Ñ+¬C°«F×3Ð3»Sùs   ‚+-TF)Úany)Úvals   *r   Ú_has_control_characterr   °   s-   € ÷ ‹3ÑA¹SÓA�3Œ3ÐAŠ3ÐAˆ3ÑA¹SÓAÓAÐAr   c                óv   € V e   \        V 4      '       d   V # RV P                  \        4      ,           R,           # )zÓQuote a string for use in a cookie header.

If the string does not need to be double-quoted, then just return the
string.  Otherwise, surround the string in doublequotes and quote
(with a \) special characters.
r   )Ú_is_legal_keyÚ	translateÚ_Translator©r   s   &r   Ú_quoter%   ·   s1   € ð ‚{”m C×(Ò(Øˆ
à�S—]‘]¤;Ó/Õ/°#Õ5Ð5r   z\\(?:([0-3][0-7][0-7])|(.))c                 ój   € V ^,          '       d   \        \        V ^,          ^4      4      # V ^,          # )é   )ÚchrÚint)Úms   &r   Ú_unquote_replacer+   Æ   s)   € Øˆ‡t„tÜ”3�q˜•t˜Q“<Ó Ð à��tˆr   c                 ó”   € V e   \        V 4      ^8  d   V # V ^ ,          R8w  g   V R,          R8w  d   V # V ^R p \        \        V 4      # )Nr   éÿÿÿÿ)ÚlenÚ_unquote_subr+   r$   s   &r   Ú_unquoter0   Ì   sO   € ð ‚{”c˜#“h ”lØˆ
Ø
ˆ1…v�„}˜˜B� 3œØˆ
ð ˆa�ˆ)€Cô Ô(¨#Ó.Ð.r   c           	      ó|   € ^ RI HpH p V! 4       pV! WP,           4      w	  rgr‰r«rÍpRW,          W‚V,          WiW«3,          # )é    )ÚgmtimeÚtimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r4   r3   )ÚfutureÚweekdaynameÚ	monthnamer3   r4   ÚnowÚyearÚmonthÚdayÚhhÚmmÚssÚwdÚyÚzs   &&&            r   Ú_getdaterB   í   sE   € ß!Ù
‹&€CÙ-3°CµLÓ-AÑ*€D�˜" "¨Ø0Ø�O˜S¨EÕ"2°D¸bÐEõFð Fr   c                   óV  a € ] tR t^õt o RtRRRRRRRRR	R
RRRRRRRRRR/
t]P                  ]R4      t0 R*mt	R t
]R 4       t]R 4       t]R 4       tR tR+R ltR t]P&                  tR tR tR  tR! tR" tR# tR$ tR,R% lt]tR& tR+R' ltR+R( lt] ! ]!PD                  4      t#R)t$V t%R# )-ÚMorsela/  A class to hold ONE (key, value) pair.

In a cookie, each such pair may have several attributes, so this class is
used to keep the attributes associated with the appropriate key,value pair.
This class also includes a coded_value attribute, which is used to hold
the network representation of the value.
ÚexpiresÚpathÚPathÚcommentÚCommentÚdomainÚDomainúmax-agezMax-AgeÚsecureÚSecureÚhttponlyÚHttpOnlyÚversionÚVersionÚsamesiteÚSameSiteÚpartitionedÚPartitionedr   c                ón   € R ;V n         ;V n        V n        \        P	                  W P
                  4       R # r   )Ú_keyÚ_valueÚ_coded_valueÚdictÚupdateÚ_reserved_defaults©Úselfs   &r   Ú__init__ÚMorsel.__init__  s,   € à6:Ð:ˆŒ	Ð:�D”K $Ô"3ô 	�‰�D×1Ñ1Ö2r   c                ó   € V P                   # r   )rX   r^   s   &r   ÚkeyÚ
Morsel.key"  s   € à�y‰yÐr   c                ó   € V P                   # r   )rY   r^   s   &r   ÚvalueÚMorsel.value&  s   € à�{‰{Ðr   c                ó   € V P                   # r   )rZ   r^   s   &r   Úcoded_valueÚMorsel.coded_value*  s   € à× Ñ Ð r   c                óØ   € VP                  4       pWP                  9   g   \        R V: 24      h\        W4      '       d   \        RV: RV: 24      h\        P                  WV4       R# ©úInvalid attribute ú.Control characters are not allowed in cookies r   N)ÚlowerÚ	_reservedr   r   r[   Ú__setitem__)r_   ÚKÚVs   &&&r   rq   ÚMorsel.__setitem__.  s\   € Ø�G‰G‹IˆØ—N‘NÔ"ÝºÐ;Ó<Ð<Ü! !×'Ò'ÜÐ NÈqÉeÐSTÐUVÑTYÐZÓ[Ð[Ü×Ñ˜ !Ö$r   Nc                óÔ   € VP                  4       pWP                  9  d   \        R V: 24      h\        W4      '       d   \        RV: RV: 24      h\        P                  WV4      # )rm   rn   r   )ro   rp   r   r   r[   Ú
setdefault)r_   rc   r   s   &&&r   rv   ÚMorsel.setdefault6  sS   € Ø�i‰i‹kˆØ—n‘nÔ$ÝºÐ=Ó>Ð>Ü! #×+Ò+ÝÓWZÒ\_ÐaÓbÐbÜ�‰˜t¨#Ó.Ð.r   c                ó*  € \        V\        4      '       g   \        # \        P	                  W4      ;'       d\    V P
                  VP
                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )Ú
isinstancerD   ÚNotImplementedr[   Ú__eq__rY   rX   rZ   ©r_   Úmorsels   &&r   r{   ÚMorsel.__eq__>  sz   € Ü˜&¤&×)Ò)Ü!Ð!Ü—‘˜DÓ)÷ 9ð 9Ø—‘˜vŸ}™}Ñ,÷9ð 9à—	‘	˜VŸ[™[Ñ(÷9ð 9ð ×!Ñ! V×%8Ñ%8Ñ8ð	:r   c                óŽ   € \        4       p\        P                  W4       VP                  P                  V P                  4       V# r   )rD   r[   r\   Ú__dict__r|   s   & r   ÚcopyÚMorsel.copyH  s0   € Ü“ˆÜ�‰�FÔ!Ø�‰×Ñ˜tŸ}™}Ô-Øˆr   c                ó&  € / p\        V4      P                  4        F\  w  r4VP                  4       pW0P                  9  d   \	        R V: 24      h\        W44      '       d   \	        RV: RV: 24      hWBV&   K^  	  \         P                  W4       R# rl   )r[   Úitemsro   rp   r   r   r\   )r_   ÚvaluesÚdatarc   r   s   &&   r   r\   ÚMorsel.updateN  s…   € ØˆÜ˜V›×*Ñ*Ö,‰HˆCØ—)‘)“+ˆCØŸ.™.Ô(Ý!ºCÐ"AÓBÐBÜ% c×/Ò/Ü!ð #-Ø-0©G°1°S±Gð#=ó >ð >à�‹Iñ -ô 	�‰�DÖr   c                ó(   € V P                  V4       V # r   )r\   )r_   r…   s   &&r   Ú__ior__ÚMorsel.__ior__Z  s   € Ø�‰�FÔØˆr   c                ó<   € VP                  4       V P                  9   # r   )ro   rp   )r_   rr   s   &&r   ÚisReservedKeyÚMorsel.isReservedKey^  s   € Ø�w‰w‹y˜DŸN™NÑ*Ð*r   c                ó  € VP                  4       V P                  9   d   \        R V: 24      h\        V4      '       g   \        RV: 24      h\	        WV4      '       d   \        RV: RV: RV: 24      hWn        W n        W0n        R# )zAttempt to set a reserved key zIllegal key rn   r   N)ro   rp   r   r!   r   rX   rY   rZ   )r_   rc   r   Ú	coded_vals   &&&&r   ÚsetÚ
Morsel.seta  su   € Ø�9‰9‹;˜$Ÿ.™.Ô(ÝÂCÐIÓJÐJÜ˜S×!Ò!Ý²#Ð7Ó8Ð8Ü! #¨I×6Ò6ÝÛLOÓQTÒV_Ðaócð cð Œ	ØŒØ%Ör   c                óN   € R V P                   RV P                  RV P                  /# )rc   rf   ri   )rX   rY   rZ   r^   s   &r   Ú__getstate__ÚMorsel.__getstate__o  s)   € à�4—9‘9Ø�T—[‘[Ø˜4×,Ñ,ð
ð 	
r   c                ó²   € VR ,          pVR,          pVR,          p\        W#V4      '       d   \        RV: RV: RV: 24      hW n        W0n        W@n        R# )rc   rf   ri   rn   r   N)r   r   rX   rY   rZ   )r_   Ústaterc   rf   ri   s   &&   r   Ú__setstate__ÚMorsel.__setstate__v  sd   € Ø�E�lˆØ�g•ˆØ˜MÕ*ˆÜ! #¨k×:Ò:ÜÐNØ!$¡ q¨©	°°;±/ðCó Dð DàŒ	ØŒØ'Ör   c                ó2   € V: R V P                  V4      : 2# )r   )ÚOutputString)r_   ÚattrsÚheaders   &&&r   ÚoutputÚMorsel.output�  s   € Û  $×"3Ñ"3°EÕ":Ð;Ð;r   c                ó\   € R V P                   P                  : RV P                  4       : R2# )Ú<ú: Ú>)Ú	__class__r	   rš   r^   s   &r   Ú__repr__ÚMorsel.__repr__†  s    � Ø!Ÿ^™^×4Ô4°d×6GÑ6GÖ6IÐJÐJr   c                ó®   € ^ RI pV P                  V4      p\        V4      '       d   \        R4      hVP                  P                  VRRR7      pRV: R2# )r2   Nú-Control characters are not allowed in cookiesr   zutf-8)ÚsafeÚencodingzq
        <script type="text/javascript">
        <!-- begin hiding
        document.cookie = decodeURIComponent("z8");
        // end hiding -->
        </script>
        )Úurllib.parserš   r   r   ÚparseÚquote)r_   r›   ÚurllibÚoutput_stringÚoutput_encodeds   &&   r   Ú	js_outputÚMorsel.js_output‰  sX   € Ûà×)Ñ)¨%Ó0ˆÜ! -×0Ò0ÜÐMÓNÐNð  Ÿ™×+Ñ+¨MÀÈWÐ+ÓU‰ó ð ð 	 r   c                ój  € . pVP                   pV! V P                  : R V P                  : 24       Vf   V P                  p\	        V P                  4       4      pV EFH  w  rVVR8X  d   K  WQ9  d   K  VR8X  dB   \        V\        4      '       d,   V! V P                  V,          : R \        V4      : 24       K_  VR8X  d;   \        V\        4      '       d%   V! RV P                  V,          V3,          4       K   VR8X  dB   \        V\        4      '       d,   V! V P                  V,          : R \        V4      : 24       Kè  WPP                  9   d1   V'       d&   V! \        V P                  V,          4      4       EK%  EK(  V! V P                  V,          : R V: 24       EKK  	  \        V4      # )Ú=r   rE   rL   z%s=%drH   )Úappendrc   ri   rp   Úsortedr„   ry   r)   rB   r   r%   Ú_flagsÚ_semispacejoin)r_   r›   Úresultr´   r„   rc   rf   s   &&     r   rš   ÚMorsel.OutputStringš  sK  € ð ˆØ—‘ˆñ 	˜$Ÿ(œ( D×$4Ó$4Ð5Ô6ð Š=Ø—N‘NˆEÜ�t—z‘z“|Ó$ˆÜ‰JˆCØ˜Œ{ÙØÔÙØ�iÔ¤J¨u´c×$:Ò$:Ù $§.¡.°×"5Ð"5´xÀµÐGÖHØ˜	Ô!¤j°¼×&<Ò&<Ù�w $§.¡.°Õ"5°uÐ!=Õ=Ö>Ø˜	Ô!¤j°¼×&<Ò&<Ù $§.¡.°×"5Ð"5´v¸eµ}ÐEÖFØŸ™Ô#ßÙœ3˜tŸ~™~¨cÕ2Ó3×4ò ñ  $§.¡.°×"5Ð"5²uÐ=×>ñ  ô$ ˜fÓ%Ð%r   )rZ   rX   rY   >   rM   rO   rU   r   )NúSet-Cookie:)&r	   r
   r   r   Ú__doc__rp   r[   Úfromkeysr]   r¶   r`   Úpropertyrc   rf   ri   rq   rv   r{   ÚobjectÚ__ne__r�   r\   r‰   rŒ   r�   r“   r—   r�   Ú__str__r¤   r°   rš   ÚclassmethodÚtypesÚGenericAliasÚ__class_getitem__r   Ú__classdictcell__©Ú__classdict__s   @r   rD   rD   õ   s  ø‡ € ñð* 	�YØ�VØ�YØ�XØ�YØ�XØ�ZØ�YØ�ZØ�}ð€Ið Ÿ™ y°"Ó5Ðâ2€Fò3ð ñó ðð ñó ðð ñ!ó ð!ò%ô/ò:ð �]‰]€Fòò
 òò+ò&ò
ò	(ô<ð €GòKô ô"&ñB $ E×$6Ñ$6Ó7Ör   rD   z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]zŒ
    \s*                            # Optional whitespace at start of cookie
    (?P<key>                       # Start of group 'key'
    [ax  ]+?   # Any word of at least one letter
    )                              # End of group 'key'
    (                              # Optional group: there may not be a value.
    \s*=\s*                          # Equal Sign
    (?P<val>                         # Start of group 'val'
    "(?:[^\\"]|\\.)*"                  # Any double-quoted string
    |                                  # or
    # Special case for "expires" attr
    (\w{3,6}day|\w{3}),\s              # Day of the week or abbreviated day
    [\w\d\s-]{9,11}\s[\d:]{8}\sGMT     # Date and time in specific format
    |                                  # or
    [a-  ]*      # Any word or empty string
    )                                # End of group 'val'
    )?                             # End of optional value group
    \s*                            # Any number of spaces.
    (\s+|;|$)                      # Ending either at space, semicolon, or EOS.
    c                   óv   a € ] tR tRt o RtR tR tRR ltR tR t	RR	 lt
]
tR
 tRR ltR t]3R ltRtV tR# )r   iâ  z'A container class for a set of Morsels.c                ó   € W3# )zâreal_value, coded_value = value_decode(STRING)
Called prior to setting a cookie's value from the network
representation.  The VALUE is the value read from HTTP
header.
Override this function to modify the behavior of cookies.
r   ©r_   r   s   &&r   Úvalue_decodeÚBaseCookie.value_decodeå  s   € ð ˆxˆr   c                ó   € \        V4      pW"3# )zÝreal_value, coded_value = value_encode(VALUE)
Called prior to setting a cookie's value from the dictionary
representation.  The VALUE is the value being assigned.
Override this function to modify the behavior of cookies.
r$   ©r_   r   Ústrvals   && r   Úvalue_encodeÚBaseCookie.value_encodeî  s   € ô �S“ˆØˆ~Ðr   Nc                ó<   € V'       d   V P                  V4       R # R # r   )Úload)r_   Úinputs   &&r   r`   ÚBaseCookie.__init__÷  s   € ßØ�I‰I�eÖñ r   c                óŠ   € V P                  V\        4       4      pVP                  WV4       \        P	                  WV4       R# )z+Private method for setting a cookie's valueN)ÚgetrD   r�   r[   rq   )r_   rc   Ú
real_valueri   ÚMs   &&&& r   Ú__setÚBaseCookie.__setû  s2   € à�H‰H�Sœ&›(Ó#ˆØ	�‰ˆc˜{Ô+Ü×Ñ˜ AÖ&r   c                ó¬   € \        V\        4      '       d   \        P                  WV4       R# V P	                  V4      w  r4V P                  WV4       R# )zDictionary style assignment.N)ry   rD   r[   rq   rÐ   Ú_BaseCookie__set)r_   rc   rf   ÚrvalÚcvals   &&&  r   rq   ÚBaseCookie.__setitem__  s?   € ä�eœV×$Ò$ä×Ñ˜T¨Ö.à×*Ñ*¨5Ó1‰JˆDØ�J‰J�s $Ö'r   c                óì   € . p\        V P                  4       4      pV FC  w  rgVP                  W4      p\        V4      '       d   \	        R4      hVP                  V4       KE  	  VP                  V4      # )z"Return a string suitable for HTTP.r§   )rµ   r„   r�   r   r   r´   Újoin)	r_   r›   rœ   Úsepr¸   r„   rc   rf   Úvalue_outputs	   &&&&     r   r�   ÚBaseCookie.output
  se   € àˆÜ�t—z‘z“|Ó$ˆÛ‰JˆCØ Ÿ<™<¨Ó6ˆLÜ% l×3Ò3Ü!Ð"QÓRÐRØ�M‰M˜,Ö'ñ	  ð
 �x‰x˜ÓÐr   c                óô   € . p\        V P                  4       4      pV F0  w  r4VP                  V: R \        VP                  4      : 24       K2  	  RV P
                  P                  : R\        V4      : R2# )r³   r    r¡   r¢   )rµ   r„   r´   Úreprrf   r£   r	   Ú
_spacejoin)r_   Úlr„   rc   rf   s   &    r   r¤   ÚBaseCookie.__repr__  sV   € ØˆÜ�t—z‘z“|Ó$ˆÛ‰JˆCØ�H‰H£¤T¨%¯+©+Õ%6Ð7Ö8ò  à!Ÿ^™^×4Ô4´jÀ¶mÐDÐDr   c                ó¤   € . p\        V P                  4       4      pV F%  w  rEVP                  VP                  V4      4       K'  	  \	        V4      # )z(Return a string suitable for JavaScript.)rµ   r„   r´   r°   Ú	_nulljoin)r_   r›   r¸   r„   rc   rf   s   &&    r   r°   ÚBaseCookie.js_output  sC   € àˆÜ�t—z‘z“|Ó$ˆÛ‰JˆCØ�M‰M˜%Ÿ/™/¨%Ó0Ö1ñ  ä˜Ó Ð r   c                ó’   € \        V\        4      '       d   V P                  V4       R# VP                  4        F	  w  r#W0V&   K  	  R# )z½Load cookies from a string (presumably HTTP_COOKIE) or
from a dictionary.  Loading cookies from a dictionary 'd'
is equivalent to calling:
    map(Cookie.__setitem__, d.keys(), d.values())
N)ry   r   Ú_BaseCookie__parse_stringr„   )r_   Úrawdatarc   rf   s   &&  r   rÓ   ÚBaseCookie.load&  sB   € ô �gœs×#Ò#Ø×Ñ Ô(ñ
 	ð &Ÿm™mžo‘
�Ø!�S“	ñ .ár   c                óT  € ^ p\        V4      p. pRp^p^p^ Tu;8:  d	   V8  Ed=   M EM8VP                  W4      p	V	'       g   EMV	P                  R4      V	P                  R4      rºV	P                  ^ 4      pV
^ ,          R8X  d'   V'       g   Ky  VP	                  WzR,          V34       K•  V
P                  4       \        P                  9   dh   V'       g   R# Vf;   V
P                  4       \        P                  9   d   VP	                  WzR34       Kþ  R# VP	                  Wz\        V4      34       EK  Ve(   VP	                  WŠV P                  V4      34       RpEKJ  R# RpV F>  w  rÚpW×8X  d   Vf   Q hW¼V
&   K  WØ8X  g   Q hVw  rïV P                  W®V4       W
,          pK@  	  R# )r2   Frc   r   Ú$:r'   NNNT)r.   ÚmatchÚgroupÚendr´   ro   rD   rp   r¶   r0   rË   rÝ   )r_   r   ÚpattÚiÚnÚparsed_itemsÚmorsel_seenÚTYPE_ATTRIBUTEÚTYPE_KEYVALUErô   rc   rf   rÙ   ÚtprÞ   rß   s   &&&             r   Ú__parse_stringÚBaseCookie.__parse_string4  sy  € ØˆÜ�‹HˆØˆØˆàˆØˆð
 �1Žj�q�j‰jà—J‘J˜sÓ&ˆEßáàŸ™ UÓ+¨U¯[©[¸Ó-?�Ø—	‘	˜!“ˆAà�1�v˜Œ}ß"ñ Ø×#Ñ# ^¸µW¸eÐ$DÖEØ—‘“¤× 0Ñ 0Ô0ß"áØ’=Ø—y‘y“{¤f§m¡mÔ3Ø$×+Ñ+¨^À$Ð,GÖHñ à ×'Ñ'¨¼hÀu»oÐ(N×OØÒ"Ø×#Ñ# ]¸×9JÑ9JÈ5Ó9QÐ$RÔSØ"“ñ ð ˆÛ*‰NˆB�UØÔ#Ø’}Ð$�}Ø�#“àÔ*Ð*Ð*Ø"‘
�Ø—
‘
˜3 dÔ+Ø•I’ó +r   r   r   )Nrº   z
)r	   r
   r   r   r»   rË   rÐ   r`   rÝ   rq   r�   rÀ   r¤   r°   rÓ   Ú_CookiePatternrï   r   rÅ   rÆ   s   @r   r   r   â  sL   ø‡ € Ù1òòôò'ò(ô	 ð €GòEô!òð (6÷ :ò :r   c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r   iq  zê
SimpleCookie supports strings as cookie values.  When setting
the value using the dictionary assignment notation, SimpleCookie
calls the builtin str() to convert the value to a string.  Values
received from HTTP are kept as strings.
c                ó   € \        V4      V3# r   )r0   rÊ   s   &&r   rË   ÚSimpleCookie.value_decodex  s   € Ü˜‹}˜cÐ!Ð!r   c                ó2   € \        V4      pV\        V4      3# r   )r   r%   rÎ   s   && r   rÐ   ÚSimpleCookie.value_encode{  s   € Ü�S“ˆØ”v˜f“~Ð%Ð%r   r   N)	r	   r
   r   r   r»   rË   rÐ   r   rÅ   rÆ   s   @r   r   r   q  s   ø‡ € ñò"÷&ð &r   )r   r   r   )ÚMonÚTueÚWedÚThuÚFriÚSatÚSun)NÚJanÚFebÚMarÚAprÚMayÚJunÚJulÚAugÚSepÚOctÚNovÚDec),r»   ÚreÚstringrÂ   Ú__all__râ   rì   r·   rè   Ú	Exceptionr   Úascii_lettersÚdigitsÚ_LegalCharsÚ_UnescapedCharsr�   ÚrangeÚmapÚordr#   r\   ÚcompileÚescapeÚ	fullmatchr!   r   r   r%   Úsubr/   r+   r0   Ú_weekdaynameÚ
_monthnamerB   r[   rD   Ú_LegalKeyCharsÚ_LegalValueCharsÚASCIIÚVERBOSEr  r   r   )rù   s   0r   Ú<module>r/     sà  ðñNXóz 
Û Û â
7€à�G‰G€	Ø—‘€Ø�X‰X€
ô
	�)ô 	ð" ×"Ñ" V§]¡]Õ2Ð5GÕG€Ø Õ/€ñ ™E #›J›©#©c°#°Ó.GÓ*HÖHóJÙH�1ð �(˜Q•,ŠÙHñJ€à × Ñ ÙˆƒHˆeÙˆƒIˆvðô ð
 —
’
˜7 R§Y¢Y¨{Ó%;Õ;Ó<×FÑF€ØŸ
š
Ð#5Ó6Ð òBò
6ð �zŠzÐ8Ó9×=Ñ=€òò/ò6 A€ò8€
ð  <¸:ô FôF8ˆTô F8ðd B€Ø! GÕ+Ð Ø—’ð 	ð õð	õ	ð õðõð& 
�‰�B—J‘JÕ	ó' €ô2L�ô Lô^&�:ö &ùòYJs   ÂF?