Ë 4ƶT·ÙñJãó†—ddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z dd lmZmZej"d k(rpddlZddlZdd lmZd Zd Zej.dd¬«Zej2gej4_ej8ej4_dd„ZGd„de «ZdgZ yGd„de «ZdgZ y)é)Ú annotationsN)Úsuppress)ÚEACCES)ÚPath)Úcasté)Ú BaseFileLock)Úensure_directory_existsÚraise_on_not_writable_fileÚwin32)ÚwintypesilÿÿÚkernel32T)Úuse_last_errorcó¤—tj|«}|tk(r!tj«}|dk(ry|dk(ryyt |t z«S)a Check if a path is a reparse point (symlink, junction, etc.) on Windows. :param path: Path to check :return: True if path is a reparse point, False otherwise :raises OSError: If GetFileAttributesW fails for reasons other than file-not-found éFé)Ú _kernel32ÚGetFileAttributesWÚINVALID_FILE_ATTRIBUTESÚctypesÚget_last_errorÚboolÚFILE_ATTRIBUTE_REPARSE_POINT)ÚpathÚattrsÚerrs ú6/usr/lib/python3.12/site-packages/filelock/_windows.pyÚ_is_reparse_pointrsS€ô×,Ñ,¨TÓ2ˆØ Ô+Ò +ä×'Ñ'Ó)ˆCØ�aŠxØØ�aŠxØàÜ�EÔ8Ñ8Ó9Ð9ócó —eZdZdZdd„Zdd„Zy)ÚWindowsFileLockúWUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.cóÆ—t|j«t|j«t|j«rd|j›�}t |«‚t j t jzt jz} t j|j||jj«} tj|tjd«||j_y#t$r3}t j |«|j"t$k7r‚Yd}~yd}~wwxYw#t$r}|j"t$k7r‚Yd}~yd}~wwxYw)Nz1Lock file is a reparse point (symlink/junction): r)r Ú lock_filer rÚOSErrorÚosÚO_RDWRÚO_CREATÚO_TRUNCÚopenÚ_contextÚmodeÚmsvcrtÚlockingÚLK_NBLCKÚ lock_file_fdÚcloseÚerrnor)ÚselfÚmsgÚflagsÚfdÚ exceptions rÚ_acquirezWindowsFileLock._acquire2s €Ü & t§~¡~Ô 6Ü # D§N¡NÔ 3ô! §¡Ô0ØIÈ$Ï.É.ÐIYÐZ�ܘc“lÐ"ô— ‘ Ü—*‘*ñä—*‘*ñð ð 4Ü—W‘W˜TŸ^™^¨U°D·M±M×4FÑ4FÓG�ð 4Ü—N‘N 2¤v§¡¸Ô:ð 24�D—M‘MÕ.øô òÜ—H‘H˜R”LØ —‘¬&Ò0Øô1ûðûô ò Ø—?‘?¤fÒ,Øô-ûð ús0 5D9Ã%C:Ã: D6Ä)D1Ä1D6Ä9 E ÅEÅE cóp—tt|jj«}d|j_t j |tj d«tj|«tt«5t|j«j«ddd«y#1swYyxYw)Nr)rÚintr+r0r-r.ÚLK_UNLCKr&r1rr%rr$Úunlink)r3r6s rÚ_releasezWindowsFileLock._releasePsl€Ü”c˜4Ÿ=™=×5Ñ5Ó6ˆBØ)-ˆD�M‰MÔ &Ü �N‰N˜2œvŸ™°Ô 2Ü �H‰H�RŒLäœ'Õ"Ü�T—^‘^Ó$×+Ñ+Ô-÷#×"Ñ"ús Á?$B,Â,B5N©ÚreturnÚNone©Ú__name__Ú __module__Ú __qualname__Ú__doc__r8r=©rrr!r!/s„Ùeó 4ô< .rr!có —eZdZdZdd„Zdd„Zy)r!r"có—t‚©N©ÚNotImplementedError©r3s rr8zWindowsFileLock._acquire^ó€Ü%Ð %rcó—t‚rIrJrLs rr=zWindowsFileLock._releasearMrNr>rArFrrr!r![s„Ùeó &ô &r)rÚstrr?r)!Ú __future__rr&ÚsysÚ contextlibrr2rÚpathlibrÚtypingrÚ_apir Ú_utilr r Úplatformrr-r rrÚWinDLLrÚLPCWSTRrÚargtypesÚDWORDÚrestyperr!Ú__all__rFrrÚr^s¶ðÝ"ã Û ÝÝÝÝåßFà‡<�<�7ÒÛÛÝð$.Ð Ø(Ðð�— ‘ ˜j¸Ô>€IØ-5×-=Ñ-=Ð,>€I× Ñ Ô)Ø+3¯>©>€I× Ñ Ô(ó:ô((.˜,ô(.ðnð �ô&˜,ô&ðð �r