+
    ‘°³jÖ2  ã                  ó2  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^RIHtHt ^RIHtHtHt ^R	IHt ^R
IHtHtHtHt RtR] R&   Rt!R] R&   ^
t"R] R&   ^t#R] R&    ! R R]4      t$R R lt%R R lt&R R lt'R.t(R# )é    )ÚannotationsN)Úsuppress)ÚEACCESÚEEXISTÚEPERM)ÚPath)ÚFinal)ÚBaseFileLockÚ_raise_grouped_errors)Ú	host_nameÚowner_is_staleÚprocess_start_token)ÚSTRICT_SOFT_SENTINEL_RECORD)Úbreak_lock_fileÚensure_directory_existsÚraise_on_not_writable_fileÚ	write_allg       @zFinal[float]Ú_MALFORMED_LOCK_AGE_THRESHOLDi   z
Final[int]Ú_MAX_LOCK_FILE_SIZEÚ_UNLINK_MAX_RETRIESÚ#_MARKER_WITH_START_TOKEN_LINE_COUNTc                  óê   € ] tR t^t$ RtRtR]R&   R tR]R&   RtR]R&   Rt	R]R	&   R
 R lt
R R ltR R lt]R R l4       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tR# )!ÚSoftFileLockaR  
Cooperative file lock based on a shared existence marker.

Unlike :class:`UnixFileLock <filelock.UnixFileLock>` and :class:`WindowsFileLock <filelock.WindowsFileLock>`, this
lock does not use OS-level locking primitives. Instead, it creates the lock file with ``O_CREAT | O_EXCL`` and
treats its existence as the lock indicator. The filesystem must provide coherent exclusive creation and directory
updates to each participating process. A crash can leave the marker behind.

The marker contains the holder's PID and hostname. A contender may remove it when it can no longer find a same-host
process with that PID. A configured :attr:`~filelock.BaseFileLock.lifetime` also permits removal based on marker
age, including while the holder remains alive. Age-based expiry can overlap protected operations and does not
provide strict mutual exclusion.

TÚboolÚ_lifetime_supportedztuple[str, str] | NoneÚ_lifetime_replacementsFÚ_preserve_lock_file_supportedÚ_on_acquired_supportedc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "ÚO/home/luca/screen-checking/.venv/lib/python3.14/site-packages/filelock/_soft.pyÚ__annotate__ÚSoftFileLock.__annotate__3   s   € ÷ &ñ &˜$ñ &ó    c                	ó¨  € \        V P                  4       \        V P                  4       \        P                  \        P
                  ,          \        P                  ,          \        P                  ,          p\        \        R R4      ;pe	   W,          p \        P                  ! V P                  WP                  4       4      pT P%                  T4       T P'                  T4       R#   \         d\   pTP                  \        8X  g,   TP                  \        8X  d   \        P                   R8X  g   h T P#                  4         Rp?R# Rp?ii ; i)Ú
O_NOFOLLOWNÚwin32)r   Ú	lock_filer   ÚosÚO_WRONLYÚO_CREATÚO_EXCLÚO_TRUNCÚgetattrÚopenÚ
_open_modeÚOSErrorÚerrnor   r   ÚsysÚplatformÚ_try_break_stale_lockÚ_mark_descriptor_pendingÚ_publish_held_marker)ÚselfÚflagsÚ
o_nofollowÚfdÚ	exceptions   &    r&   Ú_acquireÚSoftFileLock._acquire3   sá   € Ü" 4§>¡>Ô2Ü §¡Ô/ô —‘œbŸj™jÕ(¬2¯9©9Õ4´r·z±zÕAˆÜ!¤" l°DÓ9Ð9ˆJÒFØÕˆEð	Ü—’˜Ÿ™¨·±Ó0AÓBˆBð 	×%Ñ% bÔ)Ø×!Ñ! "Ö%øô ô 	à—‘¤6Ô)¨i¯o©oÄÔ.GÌCÏLÉLÐ\cÔLcàØ×&Ñ&Ô(Ýûð	ús   Â/C+ Ã+EÃ6AEÅEc               ó    € V ^8„  d   QhRRRR/# ©r!   r@   Úintr"   r#   r$   )r%   s   "r&   r'   r(   G   s   € ÷ 2ñ 2 sð 2¨tñ 2r)   c                	ó
  € R p \        \        P                  ! V4      4      pV P                  V4       T P                  Y4       R #   \         d±    T P                  4        \        P                  ! T4       \        \        4      ;_uu_ 4        TeR   \        \        P                  ! T P                  4      4      T8X  d$   \        T P                  4      P                  4        R R R 4       h   + '       g   i     h ; ii ; i©N)Ú_file_identityr.   ÚfstatÚ_write_lock_infoÚBaseExceptionÚ_mark_descriptor_releasedÚcloser   r6   Úlstatr-   r   ÚunlinkÚ_mark_descriptor_owned)r=   r@   Úidentitys   && r&   r<   Ú!SoftFileLock._publish_held_markerG   s¾   € ð ,0ˆð		Ü%¤b§h¢h¨r£lÓ3ˆHØ×!Ñ! "Ô%ð 	×#Ñ# BÖ1øô ô 	Ø×*Ñ*Ô,Ü�HŠH�RŒLÜœ'×"Õ"ØÒ'¬N¼2¿8º8ÀDÇNÁNÓ;SÓ,TÐX`Ô,`Ü˜Ÿ™Ó(×/Ñ/Ô1÷ #ð ÷ #Ö"ð úð	ús%   „0A ÁADÂAC.Ã%	DÃ.C>Ã9	Dc               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r&   r'   r(   X   s   € ÷ <ñ < tñ <r)   c                	óÈ  € \        \        \        4      ;_uu_ 4        \        V P                  4      w  rpV\
        8X  d    R R R 4       R # \        V4      pVfG   \        P                  ! 4       V,
          \        8¼  d   \        V P                  W#4        R R R 4       R # \        V!  '       d   \        V P                  W#4       R R R 4       R #   + '       g   i     R # ; irH   )r   r6   Ú
ValueErrorÚ_read_lock_filer-   r   Ú_parse_lock_holderÚtimer   r   r   )r=   ÚcontentÚmtimeÚinoÚholders   &    r&   r:   Ú"SoftFileLock._try_break_stale_lockX   s    € Ü”gœz×*Õ*Ü"1°$·.±.Ó"AÑˆG˜CØÔ5Ô5Ø÷ +Ñ*ô (¨Ó0ˆFàŠ~ô —9’9“; Õ&Ô*GÔGÜ# D§N¡N°EÔ?Ø÷ +Ñ*ô ˜v×&Ð&Ü §¡°Ô;÷ +×*×*Ò*ús   �%CÁACÂ!%CÃC!	c               ó    € V ^8„  d   QhRRRR/# rE   r$   )r%   s   "r&   r'   r(   k   s   € ÷ %ñ %˜Sð % Tñ %r)   c                	óØ   € \         P                  ! 4        R \        4        R 2p\        \         P                  ! 4       4      ;pe   W R 2,          p\	        WP                  4       4       R# )Ú
N)r.   Úgetpidr   r   r   Úencode)r@   ÚinfoÚtokens   &  r&   rK   ÚSoftFileLock._write_lock_infoj   sP   € ô
 —)’)“+�˜b¤£ ¨RÐ0ˆÜ(¬¯ª«Ó5Ð5ˆEÒBØ�g˜R�LÕ ˆDÜ�"—k‘k“mÖ$r)   c               ó   € V ^8„  d   QhRR/# )r!   r"   z
int | Noner$   )r%   s   "r&   r'   r(   u   s   € ÷ ñ �Zñ r)   c                óò   € \        \        \        4      ;_uu_ 4        \        \	        V P
                  4      ^ ,          4      pVe   V^ ,          uuRRR4       #  RRR4       R#   + '       g   i     R# ; i)z§
The PID of the process holding this lock, read from the lock file.

:returns: the PID as an integer, or ``None`` if the lock file does not exist or cannot be parsed

N)r   r6   rV   rX   rW   r-   )r=   r]   s   & r&   ÚpidÚSoftFileLock.pidt   sY   € ô ”gœz×*Õ*Ü'¬¸¿¹Ó(GÈÕ(JÓKˆFØÒ!Ø˜a•y÷ +Ò*à!÷ +ñ ÷	 +Ö*ñ ús   �2A%Á%A6	c               ó   € V ^8„  d   QhRR/# )r!   r"   r   r$   )r%   s   "r&   r'   r(   ƒ   s   € ÷ ñ  Dñ r)   c                óD  € \        \        \        4      ;_uu_ 4        \        \	        V P
                  4      ^ ,          4      pVe=   Vw  r#pV\        P                  ! 4       8H  ;'       d    V\        4       8H  uuRRR4       #  RRR4       R#   + '       g   i     R# ; i)z‘
Whether this lock is held by the current process.

:returns: ``True`` if the lock file exists and names the current process's PID and hostname

NF)	r   r6   rV   rX   rW   r-   r.   rb   r   )r=   r]   ri   ÚhostnameÚ_s   &    r&   Úis_lock_held_by_usÚSoftFileLock.is_lock_held_by_us‚   sy   € ô ”gœz×*Õ*Ü'¬¸¿¹Ó(GÈÕ(JÓKˆFØÒ!Ø#)Ñ �˜qØœbŸiši›kÑ)×EÐE¨h¼)»+Ñ.E÷	 +Ò*à!÷ +ñ
 ÷ +Ö*ñ
 ús   �ABÁ+BÂB	c               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r&   r'   r(   ‘   s   € ÷ *ñ *˜Dñ *r)   c                ó´   € \        \        4      ;_uu_ 4        \        V P                  4      P	                  4        RRR4       R#   + '       g   i     R# ; i)zNForcibly break the lock by removing the lock file, regardless of who holds it.N)r   r6   r   r-   rP   )r=   s   &r&   Ú
break_lockÚSoftFileLock.break_lock‘   s1   € ä”g×ÕÜ�—‘Ó ×'Ñ'Ô)÷ ××Òús   ˜$AÁA	c               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r&   r'   r(   –   s   € ÷ +ñ +˜$ñ +r)   c                	óæ  € V P                   P                  pVf   Q hR p\        \        4      ;_uu_ 4        \	        \
        P                  ! V4      4      pR R R 4       V P                  4         V P                  VRR7       T P                  T4       R #   + '       g   i     LG; i  \         d>   p T P                  T4       h   \         d   p\        RTT4        R p?h R p?ii ; iR p?ii ; i)NF)Údefault_suppressesz4lock descriptor close and marker cleanup both failed)Ú_contextÚlock_file_fdr   r6   rI   r.   rJ   rM   Ú_close_released_fdrL   Ú_unlink_held_markerr   )r=   r@   rR   Úclose_errorÚcleanup_errors   &    r&   Ú_releaseÚSoftFileLock._release–   sØ   € Ø�]‰]×'Ñ'ˆØŠ~Ðˆ~ð ,0ˆÜ”g×ÕÜ%¤b§h¢h¨r£lÓ3ˆH÷ ð 	×&Ñ&Ô(ð	Ø×#Ñ# B¸5Ð#ÔAð 	× Ñ  Ö*÷% ×ûô ô 		ðØ×(Ñ(¨Ô2ð øô !ô Ü%ØJØØ!÷ð ð
 ûðþð		úsG   ¶ BÁ/B( ÂB%	Â(C0Â4CÃC+ÃC(ÃC#ÃC+Ã#C(Ã(C+Ã+C0c               ó    € V ^8„  d   QhRRRR/# )r!   rR   ztuple[int, int] | Noner"   r#   r$   )r%   s   "r&   r'   r(   ±   s   € ÷ 2ñ 2Ð,Bð 2Àtñ 2r)   c                	ól  € Vf   R # \         P                  R8X  d   V P                  V4       R # \        \        4      ;_uu_ 4        \        \        P                  ! V P                  4      4      V8X  d$   \        V P                  4      P                  4        R R R 4       R #   + '       g   i     R # ; i)Nr,   )r8   r9   Ú_windows_unlink_if_oursr   r6   rI   r.   rO   r-   r   rP   )r=   rR   s   &&r&   r{   Ú SoftFileLock._unlink_held_marker±   sn   € ØÒÙÜ�<‰<˜7Ô"Ø×(Ñ(¨Ö2äœ'×"Õ"Ü!¤"§(¢(¨4¯>©>Ó":Ó;¸xÔGÜ˜Ÿ™Ó(×/Ñ/Ô1÷ #×"×"Ò"ús   ÁAB"Â"B3	c               ó    € V ^8„  d   QhRRRR/# )r!   rR   útuple[int, int]r"   r#   r$   )r%   s   "r&   r'   r(   »   s   € ÷ ñ °ð ÀDñ r)   c                	óÆ  € R p\        \        4       FY  p \        \        P                  ! V P
                  4      4      V8w  d    R# \        V P
                  4      P                  4         R# 	  R#   \         de   pTP                  \        \        09  d    Rp? R# T\        ^,
          8  d&   \        P                  ! T4       T^,          p Rp?KÃ   Rp?KÉ  Rp?ii ; i)gü©ñÒMbP?N)Úranger   rI   r.   rO   r-   r   rP   r6   r7   r   r   rY   Úsleep)r=   rR   Úretry_delayÚattemptÚexcs   &&   r&   r‚   Ú$SoftFileLock._windows_unlink_if_ours»   s¡   € ØˆÜÔ0Ö1ˆGðÜ!¤"§(¢(¨4¯>©>Ó":Ó;¸xÔGÚÜ�T—^‘^Ó$×+Ñ+Ô-ò ó 2øô ô %Ø—9‘9¤V¬U OÔ3ÞØÔ0°1Õ4Ô4Ü—J’J˜{Ô+Ø 1Õ$–Kõ 5ûð%ús#   –.A1Á#A1Á1C Á<CÂ1CÃC r$   N)ÚStrictSoftFileLockÚSoftFileLease)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__annotations__r   r   r   rB   r<   r:   ÚstaticmethodrK   Úpropertyri   ro   rs   r~   r{   r‚   Ú__static_attributes__r$   r)   r&   r   r      s¡   ‡ ñð  !%Ð˜Ó$ð 6]ÐÐ2Ó\ð +0Ð! 4Ó/ð $)Ð˜DÓ(õ&õ(2õ"<ð$ ô%ó ð%ð ôó ðð ôó ðõ*õ
+õ62÷ñ r)   r   c               ó    € V ^8„  d   QhRRRR/# )r!   Ústzos.stat_resultr"   r…   r$   )r%   s   "r&   r'   r'   Î   s   € ÷  ñ  �~ð  ¨/ñ  r)   c                ó2   € V P                   V P                  3# rH   )Úst_devÚst_ino)r™   s   &r&   rI   rI   Î   s   € ð �9‰9�b—i‘iÐÐr)   c               ó    € V ^8„  d   QhRRRR/# )r!   ÚpathÚstrr"   ztuple[str | None, float, int]r$   )r%   s   "r&   r'   r'   Ô   s   € ÷ (ñ (˜#ð (Ð"?ñ (r)   c           	     óà  € \         P                  ! V 4      p\        P                  ! VP                  4      '       g   R VP
                  VP                  3# \         P                  ! V \         P                  \        \         R^ 4      ,          \        \         R^ 4      ,          4      p \         P                  ! V4      p\        P                  ! VP                  4      '       g0   R VP
                  VP                  3\         P                  ! V4       # \         P                  ! V\        ^,           4      p\         P                  ! V4       \        V4      \        8:  dK   \        \         4      ;_uu_ 4        VP#                  R4      VP
                  VP                  3uuR R R 4       # R VP
                  VP                  3#   \         P                  ! T4       i ; i  + '       g   i     LD; i)Nr+   Ú
O_NONBLOCKzutf-8)r.   rO   ÚstatÚS_ISREGÚst_modeÚst_mtimerœ   r4   ÚO_RDONLYr3   rJ   rN   Úreadr   Úlenr   ÚUnicodeDecodeErrorÚdecode)rž   r™   r@   Údatas   &   r&   rW   rW   Ô   s;  € ô
 
�Š�$‹€BÜ�<Š<˜Ÿ
™
×#Ò#Ø�R—[‘[ "§)¡)Ð+Ð+ô 
�Š�”r—{‘{¤W¬R°¸qÓ%AÕAÄGÌBÐP\Ð^_ÓD`Õ`Ó	a€BðÜ�XŠX�b‹\ˆÜ�|Š|˜BŸJ™J×'Ò'Ø˜Ÿ™ b§i¡iÐ/ô 	�Š��ô �wŠw�rÔ.°Õ2Ó3ˆä
�Š�ŒÜ
ˆ4ƒyÔ'Ô'ÜÔ(×)Õ)Ø—;‘;˜wÓ'¨¯©°b·i±iÐ?÷ *Ò)à�—‘˜bŸi™iÐ'Ð'øô	 	�Š��úç)×)ús   Â(AG Ä"G Å6(GÇGÇG-	c               ó    € V ^8„  d   QhRRRR/# )r!   rZ   z
str | Noner"   z"tuple[int, str, int | None] | Noner$   )r%   s   "r&   r'   r'   í   s   € ÷ &ñ & 
ð &Ð/Qñ &r)   c                óL  € V '       d/   \        V P                  4       P                  4       ;p4      R9  d   R#  \        V^ ,          4      p\        V4      \        8X  d   \        V^,          4      MRp^Tu;8:  d
   R8:  g    R#  R# Y!^,          T3#   \
         d     R# i ; i)r!   N>   r!   é   iÿÿÿ)r¨   ÚstripÚ
splitlinesrF   r   rV   )rZ   Úlinesri   Ústart_tokens   &   r&   rX   rX   í   s•   € ÷
 ”c 7§=¡=£?×#=Ñ#=Ó#?Ð?˜%Ó@ÈÔNÙðÜ�%˜•(‹mˆÜ'*¨5£zÔ5XÔ'X”c˜% �(”mÐ^bˆð �Ö �yÕ Ùð !ÙØ�a•˜+Ð%Ð%øô ô Úðús   º:B ÂB#Â"B#))Ú__conditional_annotations__Ú
__future__r   r.   r¢   r8   rY   Ú
contextlibr   r7   r   r   r   Úpathlibr   Útypingr	   Ú_apir
   r   Ú	_identityr   r   r   Ú_soft_protocolr   Ú_utilr   r   r   r   r   r”   r   r   r   r   rI   rW   rX   Ú__all__)r³   s   @r&   Ú<module>r½      s�   øðß "Ð "ã 	Û Û 
Û Ý ß 'Ñ 'Ý Ý ç 5ß EÑ EÝ 7ß bÓ bà.1Ð ˜|Ó 1Ø"&Ð �ZÓ &Ø"$Ð �ZÓ $Ø23Ð # ZÓ 3ôt�<ô tõn õ(õ2&ð, ð‚r)   