+
    :1j)                        R t ^ RIt^ RIt^ RIHt ^RIHt ^RIHt ^t	^
t
^t]R 4       t ^ RIt]R 4       tR
]
/R ltR tR#   ] d5     ^ RIt ! R R4      t L$  ] d    ]P"                  ! R	4       ]t  LBi ; ii ; i)z
Record locking to manage potential repodata / repodata metadata file contention
between conda processes. Try to acquire a lock on a single byte in the metadat
file; modify both files; then release the lock.
N)contextmanager)context)	LockErrorc              #     "   Rx  R# 5i)zWhen locking is not available.N fdlock_attemptss   &&8lib/python3.14/site-packages/conda/gateways/disk/lock.py
_lock_noopr      s
      
s   	c              #     "   V P                  4       pV P                  \        4        \        P                  ! V P                  4       \        P                  ^4        V P                  V4       Rx  V P                  \        4        \        P                  ! V P                  4       \        P                  ^4       R#   \         d    \        R4      hi ; i  T P                  \        4        \        P                  ! T P                  4       \        P                  ^4       i   \         d    \        R4      hi ; i; i  \         d    \        R4      hi ; i5i)   NFailed to release lock.Failed to acquire lock.)
tellseek	LOCK_BYTEmsvcrtlockingfilenoLK_LOCKLK_UNLCKOSErrorr   )r   r	   r   s   && r
   
_lock_implr      s     wwy
		?NN299;:?	"?NN299;C ?#$=>>? 	"?NN299;C ?#$=>>?  	7566	7s^   &E4E C 3E	4B? =E?CED?04D%$D?%D<<D??EEEc                   2   a  ] tR t^=t o R tR tR tRtV tR# )r   c                    Wn         W n        R # Nr   )selfr   r	   s   &&&r
   __init___lock_impl.__init__>   s    %2"    c                r   \        V P                  4       FO  p \        P                  ! V P                  \        P
                  \        P                  ,          ^\        4        R# 	  R#   \         dA    YP                  ^,
          8  d   \        R4      h\        P                  ! \        4        K  i ; i)r   r   N)ranger	   fcntllockfr   LOCK_EXLOCK_NBr   r   r   timesleep
LOCK_SLEEP)r   attempts   & r
   	__enter___lock_impl.__enter__B   s    $T%7%78G	/ GGU]]U]]%BAy   9 # /"%7%7!%;;"+,E"FF

:./s   A
A++AB65B6c                     \         P                  ! V P                  \         P                  ^\        4       R#   \
         d    \        R4      hi ; i)r   r   N)r#   r$   r   LOCK_UNr   r   r   )r   excs   &*r
   __exit___lock_impl.__exit__O   s<    ?KK9E ?#$=>>?s	   59 Ar   N)	__name__
__module____qualname____firstlineno__r   r+   r0   __static_attributes____classdictcell__)__classdict__s   @r
   r   r   =   s     3/? ?r    r   zfile locking not availabler	   c                Z    \         P                  '       g   \        W4      # \        W4      # r   )r   no_lockr   r   r   s   &$r
   lockr;   V   s!    ???",,b((r    c                     \         \        J# )z@Return a bool to report whether file locking is supported or not)r   r   r   r    r
   locking_supportedr=   ]   s    Z''r    )__doc__r'   warnings
contextlibr   base.contextr   
exceptionsr   r   LOCK_ATTEMPTSr)   r   r   r   ImportErrorr#   warnr;   r=   r   r    r
   <module>rF      s      % # #	
 
 

8?? ?n)m )(W  !? ?	? 	?   23
	 !?s/   A A?A
A?A;7A?:A;;A?