+
    8i                    j    R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	H
t
 ^ RIHt Rt ! R R4      tR# )	z3Tools for representing MongoDB internal Timestamps.)annotationsN)AnyUnion)_getstate_slots_setstate_slots)utcl        c                      ] tR t^tRtRt]t]t	^t
R R lt]R R l4       t]R R l4       tR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltRtR# )	Timestampz.MongoDB internal timestamps used in the opLog.c               $    V ^8  d   QhRRRRRR/# )   timezUnion[datetime.datetime, int]incintreturnNone )formats   "L/var/www/html/photoedit/myenv/lib/python3.14/site-packages/bson/timestamp.py__annotate__Timestamp.__annotate__&   s"        :          c                $   \        V\        P                  4      '       dJ   VP                  4       pVe	   W,
          p\        \        P
                  ! VP                  4       4      4      p\        V\        4      '       g   \        R\        V4       24      h\        V\        4      '       g   \        R\        V4       24      h^ Tu;8:  d   \        8  g   M \        R4      h^ Tu;8:  d   \        8  g   M \        R4      hWn        W n        R# )a3  Create a new :class:`Timestamp`.

This class is only for use with the MongoDB opLog. If you need
to store a regular timestamp, please use a
:class:`~datetime.datetime`.

Raises :class:`TypeError` if `time` is not an instance of
:class: `int` or :class:`~datetime.datetime`, or `inc` is not
an instance of :class:`int`. Raises :class:`ValueError` if
`time` or `inc` is not in [0, 2**32).

:param time: time in seconds since epoch UTC, or a naive UTC
    :class:`~datetime.datetime`, or an aware
    :class:`~datetime.datetime`
:param inc: the incrementing counter
Nz%time must be an instance of int, not z$inc must be an instance of int, not z$time must be contained in [0, 2**32)z#inc must be contained in [0, 2**32))
isinstancedatetime	utcoffsetr   calendartimegm	timetuple	TypeErrortype
UPPERBOUND
ValueError_Timestamp__time_Timestamp__inc)selfr   r   offsets   &&& r   __init__Timestamp.__init__&   s    " dH--..^^%F!}xt~~'789D$$$CDJ<PQQ#s##B49+NOOD%:%CDDC$*$BCC
r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   I   s      c r   c                    V P                   # )z0Get the time portion of this :class:`Timestamp`.)r"   r$   s   &r   r   Timestamp.timeH   s     {{r   c                   V ^8  d   QhRR/# r)   r   )r   s   "r   r   r   N   s      S r   c                    V P                   # )z/Get the inc portion of this :class:`Timestamp`.)r#   r+   s   &r   r   Timestamp.incM   s     zzr   c                    V ^8  d   QhRRRR/# r   otherr   r   boolr   )r   s   "r   r   r   R   s     " "C "D "r   c                	    \        V\        4      '       d;   V P                  VP                  8H  ;'       d    V P                  VP
                  8H  # \        # N)r   r	   r"   r   r#   r   NotImplementedr$   r2   s   &&r   __eq__Timestamp.__eq__R   s=    eY'';;%**,HHuyy1HH!!r   c                   V ^8  d   QhRR/# r)   r   )r   s   "r   r   r   X   s     0 0# 0r   c                	`    \        V P                  4      \        V P                  4      ,          # r5   )hashr   r   r+   s   &r   __hash__Timestamp.__hash__X   s    DIIdhh//r   c                    V ^8  d   QhRRRR/# r1   r   )r   s   "r   r   r   [   s     ! !C !D !r   c                	    W8X  * # r5   r   r7   s   &&r   __ne__Timestamp.__ne__[   s      r   c                    V ^8  d   QhRRRR/# r1   r   )r   s   "r   r   r   ^         C D r   c                	    \        V\        4      '       d2   V P                  V P                  3VP                  VP                  38  # \        # r5   r   r	   r   r   r6   r7   s   &&r   __lt__Timestamp.__lt__^   :    eY''IItxx(EJJ		+BBBr   c                    V ^8  d   QhRRRR/# r1   r   )r   s   "r   r   r   c   rD   r   c                	    \        V\        4      '       d2   V P                  V P                  3VP                  VP                  38*  # \        # r5   rF   r7   s   &&r   __le__Timestamp.__le__c   :    eY''IItxx(UZZ,CCCr   c                    V ^8  d   QhRRRR/# r1   r   )r   s   "r   r   r   h   rD   r   c                	    \        V\        4      '       d2   V P                  V P                  3VP                  VP                  38  # \        # r5   rF   r7   s   &&r   __gt__Timestamp.__gt__h   rI   r   c                    V ^8  d   QhRRRR/# r1   r   )r   s   "r   r   r   m   rD   r   c                	    \        V\        4      '       d2   V P                  V P                  3VP                  VP                  38  # \        # r5   rF   r7   s   &&r   __ge__Timestamp.__ge__m   rN   r   c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   r   r   s     9 9# 9r   c                	<    R V P                    RV P                   R2# )z
Timestamp(z, ))r"   r#   r+   s   &r   __repr__Timestamp.__repr__r   s    DKK=4::,a88r   c                   V ^8  d   QhRR/# )r   r   zdatetime.datetimer   )r   s   "r   r   r   u   s     A A. Ar   c                ^    \         P                   P                  V P                  \        4      # )zReturn a :class:`~datetime.datetime` instance corresponding
to the time portion of this :class:`Timestamp`.

The returned datetime's timezone is UTC.
)r   fromtimestampr"   r   r+   s   &r   as_datetimeTimestamp.as_datetimeu   s!       ..t{{C@@r   )__inc__timeN)rc   rb   )__name__
__module____qualname____firstlineno____doc__	__slots__r   __getstate__r   __setstate___type_markerr&   propertyr   r   r8   r=   rA   rG   rL   rQ   rU   r[   r`   __static_attributes__r   r   r   r	   r	      s{    8#I"L"LL D    "0!



9A Ar   r	   )rh   
__future__r   r   r   typingr   r   bson._helpersr   r   bson.tz_utilr   r    r	   r   r   r   <module>rs      s/    : "    : 
_A _Ar   