§
    ™Štj?  ã                  ój   — d Z ddlmZ ddlZddlZddlZda G d„ dej        ¦  «        Zdd	„Zddd„Z	dS )zŽAdapted from
https://github.com/oittaa/uuid6-python/blob/main/src/uuid6/__init__.py#L95
Bundled in to avoid install issues with uuid6 package
é    )ÚannotationsNc                  ó„   ‡ — e Zd ZdZdZ	 	 	 	 	 	 dej        j        dœdˆ fd„Ze	dd„¦   «         Z
e	dˆ fd„¦   «         Zˆ xZS )ÚUUIDzUUID draft version objects© N)Úis_safeÚhexú
str | NoneÚbytesúbytes | NoneÚbytes_leÚfieldsú*tuple[int, int, int, int, int, int] | NoneÚintú
int | NoneÚversionr   úuuid.SafeUUIDÚreturnÚNonec          	     óŒ  •— |�||||g                      d¦  «        dk    r(t          ¦   «                              |||||||¬¦  «        S d|cxk    r	ddz  k     sn t          d¦  «        ‚|�5d|cxk    rd	k    sn t          d
¦  «        ‚|dz  }|dz  }|dz  }||dz  z  }t          ¦   «                              ||¬¦  «         dS )zCreate a UUID.Né   )r   r
   r   r   r   r   r   r   é   é€   z*int is out of range (need a 128-bit value)é   é   zillegal version numberlûÿÿÿ        l            lúÿÿÿ          éL   )r   r   )ÚcountÚsuperÚ__init__Ú
ValueError)	Úselfr   r
   r   r   r   r   r   Ú	__class__s	           €úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/checkpoint/base/id.pyr   zUUID.__init__   s  ø€ ð ˆ;˜3  x°Ð8×>Ò>¸tÑDÔDÈÒIÐIÝ‘7”7×#Ò#ØØØ!ØØØØð $ñ ô ð ð �CÐ"Ð"Ò"Ð"˜!˜s™(Ò"Ð"Ð"Ð"ÝÐIÑJÔJÐJØÐØ˜Ð$Ð$Ò$Ð$ 1Ò$Ð$Ð$Ð$Ý Ð!9Ñ:Ô:Ð:à�?Ñ"ˆCØ�<ÑˆCà�?Ñ"ˆCØ�7˜b‘=Ñ ˆCÝ‰Œ×Ò˜S¨'ÐÑ2Ô2Ð2Ð2Ð2ó    c                ó>   — | j         dz	  dz  dz  | j         dz	  dz  z  S )Né@   éÿ  r   é6   éÿ   )r   )r    s    r"   ÚsubseczUUID.subsec8   s(   € à”˜R‘ 6Ñ)¨aÑ/°D´HÀ±NÀdÑ3JÑKÐKr#   c                ó  •— | j         dk    r | j        dz  | j        dz  z  | j        dz  z  S | j         dk    r
| j        dz	  S | j         dk    r"| j        dz	  dz  t          | j        ¦  «        z   S t          ¦   «         j        S )	Nr   é   é   r&   é   éP   r   é@B )	r   Útime_lowÚtime_midÚtime_hi_versionr   Ú_subsec_decoder)   r   Útime)r    r!   s    €r"   r4   z	UUID.time<   s’   ø€ àŒ<˜1ÒÐà” "Ñ$Ø”= BÑ&ñ(àÔ'¨&Ñ0ñ2ðð
 Œ<˜1ÒÐØ”8˜r‘>Ð!ØŒ<˜1ÒÐØ”H ‘N eÑ+­n¸T¼[Ñ.IÔ.IÑIÐIÝ‰wŒwŒ|Ðr#   )NNNNNN)r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚuuidÚSafeUUIDÚunknownr   Úpropertyr)   r4   Ú__classcell__)r!   s   @r"   r   r      sÄ   ø€ € € € € Ø%Ð%à€Ið Ø"Ø!%Ø=AØØ"ð"3ð "&¤Ô!6ð"3ð "3ð "3ð "3ð "3ð "3ð "3ð "3ðH ðLð Lð Lñ „XðLð ðð ð ð ð ñ „Xðð ð ð ð r#   r   Úvaluer   r   c                ó   — |  dz  dz   S )Nr/   i   r   )r?   s    r"   r3   r3   K   s   € ØˆV�e‰^˜uÑ$Ð%Ð%r#   Únoder   Ú	clock_seqc                óH  — t          j        ¦   «         }|dz  dz   }t          �|t          k    r
t          dz   }|a|€t          j        d¦  «        }| €t          j        d¦  «        } |dz	  dz  }|d	z  }|d
z  }||dz  z  }||dz  dz  z  }|| dz  z  }t          |d¬¦  «        S )aÑ  UUID version 6 is a field-compatible version of UUIDv1, reordered for
    improved DB locality. It is expected that UUIDv6 will primarily be
    used in contexts where there are existing v1 UUIDs. Systems that do
    not involve legacy UUIDv1 SHOULD consider using UUIDv7 instead.

    If 'node' is not given, a random 48-bit number is chosen.

    If 'clock_seq' is given, it is used as the sequence number;
    otherwise a random 14-bit sequence number is chosen.éd   l    @'Hw�Nr   é   é0   r,   l   ÿÿÿ r&   r.   r%   iÿ?  r   )r   r   )r4   Útime_nsÚ_last_v6_timestampÚrandomÚgetrandbitsr   )rA   rB   ÚnanosecondsÚ	timestampÚtime_high_and_time_midÚtime_low_and_versionÚuuid_ints          r"   Úuuid6rP   O   s×   € õ ”,‘.”.€Kð ˜sÑ"Ð%7Ñ7€IÝÐ%¨)Õ7IÒ*IÐ*IÝ&¨Ñ*ˆ	Ø"ÐØÐÝÔ& rÑ*Ô*ˆ	Ø€|ÝÔ! "Ñ%Ô%ˆØ'¨2™o°Ñ?ÐØ$ vÑ-ÐØ%¨Ñ+€HØÐ$¨Ñ*Ñ*€HØ�˜VÑ#¨Ñ*Ñ*€HØ��~Ñ%Ñ%€HÝ�H aÐ(Ñ(Ô(Ð(r#   )r?   r   r   r   )NN)rA   r   rB   r   r   r   )
r8   Ú
__future__r   rI   r4   r:   rH   r   r3   rP   r   r#   r"   ú<module>rR      s¨   ððð ð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€àÐ ð9ð 9ð 9ð 9ð 9ˆ4Œ9ñ 9ô 9ð 9ðx&ð &ð &ð &ð)ð )ð )ð )ð )ð )ð )r#   