+
    @žÀj“  ã                  ó  € ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIHt ^ RIH	t	 ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^R	I
Ht ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt  ! R R]4      t ! R R]],          4      tR# )é    )ÚannotationsN)Údatetime)Útimezone)Úbase64_decode)Úbase64_encode)Úbytes_to_int)Úint_to_bytes)Ú
want_bytes)ÚBadSignature)ÚBadTimeSignature)ÚSignatureExpired)Ú_TSerialized)Ú
Serializer)ÚSignerc                  óÆ   a € ] tR t^tRtR R ltR R ltR R lt]P                  RR R	 ll4       t
]P                  RR
 R ll4       t
RR V 3R lllt
RR R lltRtV ;t# )ÚTimestampSignerzîWorks like the regular :class:`.Signer` but also records the time
of the signing and can be used to expire signatures. The
:meth:`unsign` method can raise :exc:`.SignatureExpired` if the
unsigning failed because the signature is expired.
c               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚint© )Úformats   "Úf/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/itsdangerous/timed.pyÚ__annotate__ÚTimestampSigner.__annotate__   s   € ÷  ñ  ˜sñ  ó    c                ó>   € \        \        P                  ! 4       4      # )zDReturns the current timestamp. The function must return an
integer.
)r   Útime)Úselfs   &r   Úget_timestampÚTimestampSigner.get_timestamp   s   € ô ”4—9’9“;ÓÐr   c               ó    € V ^8„  d   QhRRRR/# )r   Útsr   r   r   r   )r   s   "r   r   r   #   s   € ÷ ;ñ ;¨ð ;°ñ ;r   c                óN   € \         P                  ! V\        P                  R7      # )zøConvert the timestamp from :meth:`get_timestamp` into an
aware :class`datetime.datetime` in UTC.

.. versionchanged:: 2.0
    The timestamp is returned as a timezone-aware ``datetime``
    in UTC rather than a naive ``datetime`` assumed to be UTC.
)Útz)r   Úfromtimestampr   Úutc)r   r#   s   &&r   Útimestamp_to_datetimeÚ%TimestampSigner.timestamp_to_datetime#   s   € ô ×%Ò% b¬X¯\©\Ô:Ð:r   c               ó    € V ^8„  d   QhRRRR/# )r   Úvalueústr | bytesr   Úbytesr   )r   s   "r   r   r   -   s   € ÷ 7ñ 7˜+ð 7¨%ñ 7r   c                óà   € \        V4      p\        \        V P                  4       4      4      p\        V P                  4      pW,           V,           pW,           V P                  V4      ,           # )z:Signs the given string and also attaches time information.)r
   r   r	   r    ÚsepÚget_signature)r   r+   Ú	timestampr/   s   &&  r   ÚsignÚTimestampSigner.sign-   sV   € ä˜5Ó!ˆÜ!¤,¨t×/AÑ/AÓ/CÓ"DÓEˆ	Ü˜Ÿ™Ó"ˆØ•˜iÕ'ˆØ�{˜T×/Ñ/°Ó6Õ6Ð6r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úsigned_valuer,   Úmax_ageú
int | NoneÚreturn_timestampzt.Literal[False]r   r-   r   )r   s   "r   r   r   9   s2   € ÷ ñ à!ðð ðð +ð	ð
 
ñr   c                	ó   € R # ©Nr   ©r   r5   r6   r8   s   &&&&r   ÚunsignÚTimestampSigner.unsign8   s   € ñ r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r5   r,   r6   r7   r8   zt.Literal[True]r   ztuple[bytes, datetime]r   )r   s   "r   r   r   A   s2   € ÷ %ñ %à!ð%ð ð%ð *ð	%ð
 
 ñ%r   c                	ó   € R # r:   r   r;   s   &&&&r   r<   r=   @   s   € ñ "%r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r5   r,   r6   r7   r8   Úboolr   ztuple[bytes, datetime] | bytesr   )r   s   "r   r   r   H   s8   € ÷ Vñ Và!ðVð ðVð ð	Vð
 
(ñVr   c                óX  <€  \         SV `  V4      pRp\	        V P
                  4      pWt9  d   V'       d   Vh\        RVR7      hVP                  V^4      w  r‰Rp
Rp \        \        V	4      4      p
Ve-   V
e    V P                  V
4      p\        \        V4      W‹R7      hV
f   \        RVR7      hVej   V P!                  4       V
,
          pWÒ8”  d%   \#        RV RV R	2VV P                  V
4      R7      hV^ 8  d"   \#        RV R
2VV P                  V
4      R7      hV'       d   W€P                  V
4      3# V#   \         d$   pTpTP                  ;'       g    Rp Rp?ELRRp?ii ; i  \         d     EL	i ; i  \        \        \        3 d   p\        RTR7      ThRp?ii ; i)a­  Works like the regular :meth:`.Signer.unsign` but can also
validate the time. See the base docstring of the class for
the general behavior. If ``return_timestamp`` is ``True`` the
timestamp of the signature will be returned as an aware
:class:`datetime.datetime` object in UTC.

.. versionchanged:: 2.0
    The timestamp is returned as a timezone-aware ``datetime``
    in UTC rather than a naive ``datetime`` assumed to be UTC.
Nr   ztimestamp missing)ÚpayloadzMalformed timestamp)rC   Údate_signedzSignature age z > z secondsz < 0 seconds)Úsuperr<   r   rC   r
   r/   r   Úrsplitr   r   Ú	Exceptionr(   Ú
ValueErrorÚOSErrorÚOverflowErrorÚstrr    r   )r   r5   r6   r8   ÚresultÚ	sig_errorÚer/   r+   Úts_bytesÚts_intÚts_dtÚexcÚageÚ	__class__s   &&&&          €r   r<   r=   H   sÐ  ø€ ð 	&Ü‘W‘^ LÓ1ˆFØˆIô
 ˜Ÿ™Ó"ˆð ÔßØ�ä"Ð#6ÀÔGÐGà Ÿ-™-¨¨QÓ/‰ˆØ!ˆØ!%ˆð	Ü!¤-°Ó"9Ó:ˆFð Ò ØÒ!ðØ ×6Ñ6°vÓ>�Eô #¤3 y£>¸5ÔTÐTð Š>Ü"Ð#8À%ÔHÐHð ÒØ×$Ñ$Ó&¨Õ/ˆCàŒ}Ü&Ø$ S E¨¨W¨I°XÐ>Ø!Ø $× :Ñ :¸6Ó Bôð ð �QŒwÜ&Ø$ S E¨Ð6Ø!Ø $× :Ñ :¸6Ó Bôð ÷ Ø×4Ñ4°VÓ<Ð<Ð<àˆøôG ô 	&ØˆIØ—Y‘Y×%Ð% #ŽFûð	&ûô. ô 	Úð	ûô #¤G¬]Ð;ô ô +Ø-°uôàðûðúsA   ƒD= ÁE. Á<F  Ä=E+ÅE&Å&E+Å.E=Å<E=Æ F)ÆF$Æ$F)c               ó$   € V ^8„  d   QhRRRRRR/# )r   r5   r,   r6   r7   r   rA   r   )r   s   "r   r   r       s"   € ÷ ñ  [ð ¸:ð ÐQUñ r   c                óP   €  V P                  WR7       R#   \         d     R# i ; i)z]Only validates the given signed value. Returns ``True`` if
the signature exists and is valid.)r6   TF)r<   r   )r   r5   r6   s   &&&r   ÚvalidateÚTimestampSigner.validate    s*   € ð	Ø�K‰K˜ˆKÔ6ÙøÜô 	Úð	ús   ‚ –%¤%r   )NF)NTr:   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r    r(   r2   ÚtÚoverloadr<   rW   Ú__static_attributes__Ú__classcell__©rT   s   @r   r   r      s^   ø† ñõ õ;õ7ð ‡Z�Zöó ðð ‡Z�Zö%ó ð%÷Vò V÷põ r   r   c                  óf   a € ] tR t^ªt$ Rt]tR]R&   RR V 3R llltRR R llt	RR R	 llt
R
tV ;t# )ÚTimedSerializerzGUses :class:`TimestampSigner` instead of the default
:class:`.Signer`.
ztype[TimestampSigner]Údefault_signerc               ó    € V ^8„  d   QhRRRR/# )r   Úsaltústr | bytes | Noner   úcabc.Iterator[TimestampSigner]r   )r   s   "r   r   ÚTimedSerializer.__annotate__±   s    € ÷ Vñ VØ&ðVà	'ñVr   c                	óL   <€ \         P                  ! R \        SV `  V4      4      # )ri   )r^   ÚcastrE   Úiter_unsigners)r   rg   rT   s   &&€r   rm   ÚTimedSerializer.iter_unsigners±   s!   ø€ ô �vŠvÐ6¼¹Ñ8NÈtÓ8TÓUÐUr   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   Úsr,   r6   r7   r8   rA   rg   rh   r   zt.Anyr   )r   s   "r   r   rj   ¹   s<   € ÷ #3ñ #3àð#3ð ð#3ð ð	#3ð
 !ð#3ð 
ñ#3r   c                ó:  € \        V4      pRpV P                  V4       F9  p VP                  WRR7      w  rxV P                  V4      p	V'       d   W˜3u # V	u # 	  \        P                  ! \
        V4      h  \         d    h \
         d   p
T
p Rp
?
Kv  Rp
?
ii ; i)aV  Reverse of :meth:`dumps`, raises :exc:`.BadSignature` if the
signature validation fails. If a ``max_age`` is provided it will
ensure the signature is not older than that time in seconds. In
case the signature is outdated, :exc:`.SignatureExpired` is
raised. All arguments are forwarded to the signer's
:meth:`~TimestampSigner.unsign` method.
NT)r6   r8   )r
   rm   r<   Úload_payloadr   r   r^   rl   )r   rp   r6   r8   rg   Úlast_exceptionÚsignerÚbase64dr1   rC   Úerrs   &&&&&      r   ÚloadsÚTimedSerializer.loads¹   s¡   € ô �q‹MˆØˆà×)Ñ)¨$Ö/ˆFð%Ø%+§]¡]Ø¸ð &3ó &Ñ"�ð ×+Ñ+¨GÓ4�ç#Ø"Ð-Ò-à’ñ 0ô$ �fŠf”\ >Ó2Ð2øô $ô ð Üô %Ø!$–ûð%ús#   £0A7ÁA7Á7BÂBÂBÂBc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   rp   r,   r6   r7   rg   rh   r   ztuple[bool, t.Any]r   )r   s   "r   r   rj   Þ   s8   € ÷ Rñ RàðRð ðRð !ð	Rð
 
ñRr   c                	ó,   € V P                  WR V/R7      # )r6   )Úload_kwargs)Ú_loads_unsafe_impl)r   rp   r6   rg   s   &&&&r   Úloads_unsafeÚTimedSerializer.loads_unsafeÞ   s   € ð ×&Ñ& q¸YÈÐ<PÐ&ÓQÐQr   r   r:   )NFN)NN)rY   rZ   r[   r\   r]   r   re   Ú__annotations__rm   rw   r}   r`   ra   rb   s   @r   rd   rd   ª   s3   ø‡ ñð -<€NÐ)Ó;÷Vò V÷#3÷JRõ Rr   rd   )Ú
__future__r   Úcollections.abcÚabcÚcabcr   Útypingr^   r   r   Úencodingr   r   r   r	   r
   rR   r   r   r   Ú
serializerr   r   rt   r   r   rd   r   r   r   Ú<module>r‡      sZ   ðÝ "å Û Û Ý Ý å #Ý #Ý "Ý "Ý  Ý Ý !Ý !Ý $Ý "Ý ôQ�fô Qôh:R�j Õ.ö :Rr   