+
    É&j-  ã                   ó2   € ^ RI t ^ RIt^ RIt ! R R4      tR# )é    Nc                   óp   a € ] tR t^t o RtRV 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 ltRt	V t
R# )Ú	FileBatonz0A primitive, file-based synchronization utility.Nc                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€Ún/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/utils/file_baton.pyÚ__annotate__ÚFileBaton.__annotate__
   s   ø€ ÷ 5ñ 5ÐUYñ 5ó    c                ó8   € Wn         W n        RV n        W0n        R# )a.  
Create a new :class:`FileBaton`.

Args:
    lock_file_path: The path to the file used for locking.
    wait_seconds: The seconds to periodically sleep (spin) when
        calling ``wait()``.
    warn_after_seconds: The seconds to wait before showing
        lock file path to warn existing lock file.
N)Úlock_file_pathÚwait_secondsÚfdÚwarn_after_seconds)Úselfr   r   r   s   &&&&r   Ú__init__ÚFileBaton.__init__
   s   € ð -ÔØ(ÔØˆŒØ"4Ör   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r   )Úbool)r
   r   s   "€r   r   r      s   ø€ ÷ ñ ™T D[ñ r   c                ó¾   €  \         P                  ! V P                  \         P                  \         P                  ,          4      V n        R#   \         d     R# i ; i)zv
Try to atomically create a file under exclusive access.

Returns:
    True if the file could be created, else False.
TF)ÚosÚopenr   ÚO_CREATÚO_EXCLr   ÚFileExistsError©r   s   &r   Útry_acquireÚFileBaton.try_acquire   sA   € ð	Ü—g’g˜d×1Ñ1´2·:±:ÄÇ	Á	Õ3IÓJˆDŒGÙøÜô 	Úð	ús   ‚A	A ÁAÁAc                ó   <€ V ^8„  d   QhRR/# r   r	   )r
   r   s   "€r   r   r   '   s   ø€ ÷ &ñ &dñ &r   c                óÎ  € Rp\         P                   ! 4       p\        P                  P                  V P                  4      '       dŸ   \         P
                  ! V P                  4       V P                  f   K_  \         P                   ! 4       V,
          V P                  8”  g   KŒ  V'       d   K–  \        P                  ! RV P                   RV P                   R2^R7       RpKÍ  R# )z¦
Periodically sleeps for a certain amount until the baton is released.

The amount of time slept depends on the ``wait_seconds`` parameter
passed to the constructor.
FNzWaited on lock file "z" for z	 seconds.)Ú
stacklevelT)
Útimer   ÚpathÚexistsr   Úsleepr   r   ÚwarningsÚwarn)r   Ú
has_warnedÚ
start_times   &  r   ÚwaitÚFileBaton.wait'   s¦   € ð ˆ
ä—Y’Y“[ˆ
Üg‰gn‰n˜T×0Ñ0×1Ò1ÜJŠJt×(Ñ(Ô)à×&Ñ&Ô2Ü—9’9“; Õ+¨d×.EÑ.EÖEÏjÉjÜ—M’MÐ$9¸$×:MÑ:MÐ9NÈfØ%)×%<Ñ%<Ð$=¸Yð#HØTUõWà!%’Jñ 2r   c                ó   <€ V ^8„  d   QhRR/# r   r	   )r
   r   s   "€r   r   r   :   s   ø€ ÷ 'ñ '˜ñ 'r   c                ó¢   € V P                   e!   \        P                  ! V P                   4       \        P                  ! V P                  4       R# )z'Release the baton and removes its file.N)r   r   ÚcloseÚremover   r    s   &r   ÚreleaseÚFileBaton.release:   s.   € à7‰7ÒÜHŠHT—W‘WÔä
	Š	$×%Ñ%Ö&r   )r   r   r   r   )gš™™™™™¹?N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r!   r.   r4   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s0   ø‡ € Ù:÷5ò 5÷ ð ÷&ð &÷&'ö 'r   r   )r   r&   r*   r   r	   r   r   Ú<module>r=      s   ðã 	Û Û ÷8'ó 8'r   