ó
    Eñiã  ã                  óX  • S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
  S SKJr  S SKJr  SSKJr  SS	KJr  S
r\R(                  S:X  a   " S S\5      rO@ S SKr\R.                  \R0                  \R2                  \R4                  4rSr " S S\5      rSS/rg! \\4 a     Nf = f)é    )ÚannotationsN)Úsuppress)ÚEAGAINÚENOSYSÚEWOULDBLOCK)ÚPath)Úcasté   )ÚBaseFileLock)Úensure_directory_existsFÚwin32c                  ó,   • \ rS rSrSrSS jrSS jrSrg)ÚUnixFileLocké   zHUses the :func:`fcntl.flock` to hard lock the lock file on unix systems.c                ó   • [         e©N©ÚNotImplementedError©Úselfs    ÚK/home/mande/repo/quber/.venv/lib/python3.13/site-packages/filelock/_unix.pyÚ_acquireÚUnixFileLock._acquire   ó   € Ü%Ð%ó    c                ó   • [         er   r   r   s    r   Ú_releaseÚUnixFileLock._release   r   r   © N©ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__r   r   r   r   r      s   † ÙVô	&÷	&r   r   Tc                  ó6   • \ rS rSrSrSS jrSS jrSS jrSrg)	r   é%   a  
Uses the :func:`fcntl.flock` to hard lock the lock file on unix systems.

Lock file cleanup: Unix and macOS delete the lock file reliably after release, even in
multi-threaded scenarios. Unlike Windows, Unix allows unlinking files that other processes
have open.
c                ó2  • [        U R                  5        [        R                  [        R                  -  n[        [        SS 5      nUb  X-  nU[        R                  -  nU R                  5       n [        R                  " U R                  X5      nU R                  (       aB  [        [        5         [        R                   " X@R"                  R$                  5        S S S 5         [&        R(                  " U[&        R*                  [&        R,                  -  5        [        R.                  " U5      R0                  S:X  a  [        R2                  " U5        g X@R"                  l        g ! [         aG    U R                  (       a4  [        U R                  5      R                  R                  5       (       a   g e [         as    [        U R                  5      R                  5       (       d  e  [        R                  " U R                  U[        R                  ) -  U5      n GN�! [         a      g f = ff = f! , (       d  f       GNa= f! [6         aÁ  n[        R2                  " U5        UR8                  [:        :X  ar  [        [6        5         [        U R                  5      R=                  5         S S S 5        O! , (       d  f       O= fU R?                  5         U RA                  5          S nAg UR8                  [B        [D        1;  a  e  S nAg S nAff = f)NÚ
O_NOFOLLOWr   )#r   Ú	lock_fileÚosÚO_RDWRÚO_TRUNCÚgetattrÚO_CREATÚ
_open_modeÚopenÚFileNotFoundErrorr   ÚparentÚexistsÚPermissionErrorÚhas_explicit_moder   ÚfchmodÚ_contextÚmodeÚfcntlÚflockÚLOCK_EXÚLOCK_NBÚfstatÚst_nlinkÚcloseÚlock_file_fdÚOSErrorÚerrnor   ÚunlinkÚ_fallback_to_soft_lockr   r   r   )r   Ú
open_flagsÚ
o_nofollowÚ	open_modeÚfdÚ	exceptions         r   r   r   .   s  € Ü# D§N¡NÔ3ÜŸ™¤R§Z¡ZÑ/ˆJÜ ¤ \°4Ó8ˆJØÑ%ØÑ(�
Øœ"Ÿ*™*Ñ$ˆJØŸ™Ó)ˆIðÜ—W’W˜TŸ^™^¨ZÓC�ð" ×%×%ÜœoÕ.Ü—I’I˜b§-¡-×"4Ñ"4Ô5÷ /ð4Ü—’˜B¤§¡´·±Ñ =Ô>ô —8’8˜B“<×(Ñ(¨AÓ-Ü—H’H˜R•Là13—M‘MÕ.øôK %ó ð —>—>¤d¨4¯>©>Ó&:×&AÑ&A×&HÑ&H×&JÑ&JÙØÜ"ó ô ˜DŸN™NÓ+×2Ñ2×4Ñ4ØðÜŸš §¡°¼r¿z¹z¸kÑ1IÈ9ÓU“BøÜ(ó Úðúðú÷ /Ö.ûô ó 	Ü—’˜”Ø—?‘?¤fÓ,Ü!¤'Õ*Ü˜TŸ^™^Ó,×3Ñ3Ô5÷ +×*Ö*úà×/Ñ/Ô1Ø—M‘M”OÜØ—?‘?¬6´;Ð*?Ó?Øô @ûð	úss   Á3!E* Â4+H9Ã(6I Å*AH6Æ93H6Ç-4H$È$
H2È.H6È1H2È2H6È9
IÉ
LÉ9LÊ$J;Ê2	LÊ;
K		Ë'LË1LÌLc                ó†   • SSK Jn  [        R                  " SSS9  SSKJnJn  [        X5      (       a  X l        g UU l        g )Nr
   )ÚSoftFileLockzDflock not supported on this filesystem, falling back to SoftFileLocké   )Ú
stacklevel)ÚAsyncSoftFileLockÚBaseAsyncFileLock)	Ú_softrO   ÚwarningsÚwarnÚasynciorR   rS   Ú
isinstanceÚ	__class__)r   rO   rR   rS   s       r   rH   Ú#UnixFileLock._fallback_to_soft_lock_   s/   € Ý+ä�MŠMÐ`ÐmnÒoßEä2<¸T×2UÑ2UÐ.�NÐ[gˆD�Nr   c                óÆ  • [        SU R                  R                  5      nS U R                  l        [        [        5         [        U R                  5      R                  5         S S S 5        [        R                  " U[        R                  5        [        [        5         [        R                  " U5        S S S 5        g ! , (       d  f       Nb= f! , (       d  f       g = f)NÚint)r	   r;   rD   r   rE   r   r-   rG   r=   r>   ÚLOCK_UNr.   rC   )r   rL   s     r   r   r   g   s…   € Ü�e˜TŸ]™]×7Ñ7Ó8ˆBØ)-ˆD�M‰MÔ&Üœ'Õ"Ü�T—^‘^Ó$×+Ñ+Ô-÷ #ä�KŠK˜œEŸM™MÔ*Üœ'Õ"Ü—’˜”÷ #Ð"÷ #Õ"ú÷ #Õ"ús   Á$CÂ!CÃ
CÃ
C )rY   Nr    )	r#   r$   r%   r&   r'   r   rH   r   r(   r   r   r   r   r   %   s   † ñ	ô/	4ôb	h÷	r   Ú	has_fcntl)Ú
__future__r   r.   ÚsysrU   Ú
contextlibr   rF   r   r   r   Úpathlibr   Útypingr	   Ú_apir   Ú_utilr   r^   Úplatformr   r=   r>   r?   r@   r]   Ú_ÚImportErrorÚAttributeErrorÚ__all__r   r   r   Ú<module>rk      sª   ðÝ "ã 	Û 
Û Ý ß -Ñ -Ý Ý å Ý *ð €	Ø‡<�<�7Óô&�|õ &ðÛà�[‰[˜%Ÿ-™-¨¯©¸¿¹ÐFˆð ˆ	ôI�|ô IðZ Øð�øðc ˜Ð(ó Ùðús   Á2B ÂB)Â(B)