§ ]<ˆj^$ãóê—UddlZddlZddlZddlZddlZddlZddlmZm Z ddl m Z ddl m Z mZmZmZmZmZmZmZddlmZmZeje¦«Zedd¬¦«Zed d d ¬ ¦«Zdaeeed <e dedfd„¦«ZGd„d¦«Z da!ee ed<e dee ddffd„¦«Z"Gd„d¦«Z#e#¦«Z$Gd„d¦«Z%Gd„de%¦«Z&dS)éN)Ú ExitStackÚcontextmanager)ÚPath)ÚAnyÚCallableÚDictÚ GeneratorÚListÚOptionalÚTypeVarÚUnion)ÚenumÚrmtreeÚ_TÚ TempDirectory)Úboundz build-envzephem-wheel-cachez req-build)Ú BUILD_ENVÚEPHEM_WHEEL_CACHEÚ REQ_BUILDÚ_tempdir_managerÚreturn)NNNc#óŒK—t¦«5}t|c}a dV—|an#|awxYw ddd¦«dS#1swxYwYdS©N)rr)ÚstackÚold_tempdir_managers ún/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pip/_internal/utils/temp_dir.pyÚglobal_tempdir_managerr's®èè€õ ‰Œð3˜Ý0@À%Ð-ÐÐ-ð 3Ø ˆEˆEˆEà2Ð Ð øÐ2Ð Ð 2Ð 2Ð 2Ð 2Ð ð 3ð3ð3ñ3ô3ð3ð3ð3ð3ð3ð3ð3øøøð3ð3ð3ð3ð3ð3s‘ 9�$¡9¤(¨9¹=Á=có>—eZdZdZd d„Zdededdfd„Zdedefd„ZdS) ÚTempDirectoryTypeRegistryzManages temp directory behaviorrNcó—i|_dSr©Ú_should_delete©Úselfs rÚ__init__z"TempDirectoryTypeRegistry.__init__5s€Ø/1ˆÔÐÐóÚkindÚvaluecó—||j|<dS)z[Indicate whether a TempDirectory of the given kind should be auto-deleted. Nr!)r$r'r(s rÚ set_deletez$TempDirectoryTypeRegistry.set_delete8s€ð%*ˆÔ˜DÑ!Ð!Ð!r&có8—|j |d¦«S)z^Get configured auto-delete flag for a given TempDirectory type, default True. T)r"Úget)r$r's rÚ get_deletez$TempDirectoryTypeRegistry.get_delete>s€ðÔ"×&Ò& t¨TÑ2Ô2Ð2r&©rN) Ú__name__Ú __module__Ú __qualname__Ú__doc__r%ÚstrÚboolr*r-©r&rrr2sy€€€€€Ø)Ð)ð2ð2ð2ð2ð*˜sð*¨4ð*°Dð*ð*ð*ð*ð 3˜sð3 tð3ð3ð3ð3ð3ð3r&rÚ_tempdir_registryc#óZK—t}t¦«a tV—|adS#|awxYw)zuProvides a scoped global tempdir registry that can be used to dictate whether directories should be deleted. N)r6r)Úold_tempdir_registrys rÚtempdir_registryr9HsJèè€õ -ÐÝ1Ñ3Ô3Ðð1ÝÐÐÐà0ÐÐÐøÐ0ÐÐ0Ð0Ð0Ð0s™ &¦*có—eZdZdS)Ú_DefaultN)r/r0r1r5r&rr;r;Vs€€€€€Ø€Dr&r;c óʇ—eZdZdZdedddfdeedeede fded ed ef ˆfd „ Z e d efd „¦«Z d efd„Z ded efd„Zdededed dfd„Zded efd„Zdd„ZˆxZS)raMHelper class that owns and cleans up a temporary directory. This class can be used as a context manager or as an OO representation of a temporary directory. Attributes: path Location to the created temporary directory delete Whether the directory should be deleted when exiting (when used as a contextmanager) Methods: cleanup() Deletes the temporary directory When used as a context manager, if the delete attribute is True, on exiting the context the temporary directory is deleted. NÚtempFTÚpathÚdeleter'Úglobally_managedÚignore_cleanup_errorscó*•—t¦« ¦«|tur|�d}nd}|€| |¦«}||_d|_||_||_||_|r%t€J‚t  |¦«dSdS)NF) Úsuperr%Ú_defaultÚ_createÚ_pathÚ_deletedr?r'rArÚ enter_context)r$r>r?r'r@rAÚ __class__s €rr%zTempDirectory.__init__rs°ø€õ ‰Œ×ÒÑÔÐà •XÐ Ð ØÐð��ð�ð ˆ<Ø—<’< Ñ%Ô%ˆDàˆŒ ؈Œ ؈Œ ؈Œ Ø%:ˆÔ"à ð 1Ý#Ð/Ð/Ð/Ý × *Ò *¨4Ñ 0Ô 0Ð 0Ð 0Ð 0ð 1ð 1r&rcóB—|jrJd|j›�¦«‚|jS)Nz"Attempted to access deleted path: )rGrFr#s rr>zTempDirectory.path•s+€à”=ÐSÐSÐ"SÀtÄzÐ"SÐ"SÑSÔSÐ ØŒzÐr&có2—d|jj›d|j›d�S)Nú<ú ú>)rIr/r>r#s rÚ__repr__zTempDirectory.__repr__šs"€Ø;�4”>Ô*Ð;Ð;¨T¬YÐ;Ð;Ð;Ð;r&r$có—|Srr5r#s rÚ __enter__zTempDirectory.__enter__�s€Øˆ r&Úexcr(Útbcó¦—|j�|j}n)tr t |j¦«}nd}|r| ¦«dSdS)NT)r?r6r-r'Úcleanup)r$rRr(rSr?s rÚ__exit__zTempDirectory.__exit__ sZ€Ø Œ;Ð "Ø”[ˆFˆFÝ ð Ý&×1Ò1°$´)Ñ<Ô<ˆFˆFàˆFà ð Ø �LŠL‰NŒNˆNˆNˆNð ð r&có¨—tj tjd|›d�¬¦«¦«}t  d|¦«|S)zÚrealpathÚtempfileÚmkdtempÚloggerÚdebug)r$r'r>s rrEzTempDirectory._create«sI€õ Œw×Ò¥Ô 0¸¸t¸¸¸Ð GÑ GÔ GÑHÔHˆÝ� Š Ð6¸Ñ=Ô=Ð=؈ r&c󸇗d|_tj |j¦«sdSgŠdt dt fdtdtddfˆfd„ }|j rd t|jd ¬ ¦«n&#t$rt|j|¬ ¦«YnwxYw‰r"t  d |j¦«dSdSt|j¦«dS) z6Remove the temporary directory created and reset stateTNÚfunc.r>Úexc_valrcóŠ•—d tjt|¦«|¦«¦«}| ¦«}|t jt jt jfvrt  d||¦«n!t  d|j |¦«‰  |¦«dS)z/Log a warning for a `rmtree` error and continueú z2Failed to remove a temporary file '%s' due to %s. z%s failed with %s.N) ÚjoinÚ tracebackÚformat_exception_onlyÚtypeÚrstripr]ÚunlinkÚremoveÚrmdirrarbr1Úappend)rdr>reÚ formatted_excÚerrorss €rÚonerrorz&TempDirectory.cleanup..onerror½s±ø€ð !ŸIšIÝÔ/µ°W± ´ ¸wÑGÔGñôˆMð*×0Ò0Ñ2Ô2ˆMØ�œ ¥2¤9­b¬hÐ7Ð7Ð7Ý— ’ ØIØØ!ñôððõ — ’ Ð1°4Ô3DÀmÑTÔTÐTØ �MŠM˜'Ñ "Ô "Ð "Ð "Ð "r&F)Ú ignore_errors)Úonexcz[Failed to remove contents in a temporary directory '%s'. You can safely remove it manually.)rGr]r>ÚexistsrFrrrÚ BaseExceptionrArÚOSErrorraÚwarning)r$rsrrs @rrUzTempDirectory.cleanupµs-ø€àˆŒ ÝŒw�~Š~˜dœjÑ)Ô)ð Ø ˆFà&(ˆð #ݘ3¥˜8Ô$ð #åð #õ#ð #ðð  #ð #ð #ð #ð #ð #ð( Ô %ð ð 2å�t”z°Ð7Ñ7Ô7Ð7Ð7øÝð 2ð 2ð 2å�t”z¨Ð1Ñ1Ô1Ð1Ð1Ð1ð 2øøøðð Ý—’ð9à”Jñôðððð ð õ �4”:Ñ Ô Ð Ð Ð sÁ#A:Á: BÂBr.)r/r0r1r2rDr r3r r4r;r%Úpropertyr>rOrrQrrVrErUÚ __classcell__©rIs@rrr]shø€€€€€ððð,#Ø.6ØØ!&Ø&*ð !1ð!1à�sŒmð!1ð�d˜D (Ð*Ô+ð!1ðð !1ð ð !1ð $ð !1ð!1ð!1ð!1ð!1ð!1ðFð�cðððñ„Xðð<˜#ð<ð<ð<ð<ð˜ð˜rððððð ˜Cð ¨ð °ð ¸ð ð ð ð ð˜Cð Cððððð*ð*ð*ð*ð*ð*ð*ð*r&c󄇗eZdZdZdZd dedeeddfˆfd„ Ze dede eddffd „¦«Z d edefd „Z ˆxZ S) ÚAdjacentTempDirectoryaªHelper class that creates a temporary directory adjacent to a real one. Attributes: original The original directory to create a temp directory for. path After calling create() or entering, contains the full path to the temporary directory. delete Whether the directory should be deleted when exiting (when used as a contextmanager) z-~.=%0123456789NÚoriginalr?rc󀕗| d¦«|_t¦« |¬¦«dS)Nz/\)r?)rlrrCr%)r$rr?rIs €rr%zAdjacentTempDirectory.__init__øs7ø€Ø Ÿš¨Ñ.Ô.ˆŒ Ý ‰Œ×Ò ÐÑ'Ô'Ð'Ð'Ð'r&Únamec#ó°K—tdt|¦«¦«D]O}tj|j|dz ¦«D]/}dd |¦«z||d…z}||kr|V—Œ0ŒPtt|j¦«¦«D]D}tj|j|¦«D]'}dd |¦«z|z}||kr|V—Œ(ŒEdS)a Generates a series of temporary names. The algorithm replaces the leading characters in the name with ones that are valid filesystem characters, but are not valid package names (for both Python and pip definitions of package). éú~ÚN)ÚrangeÚlenÚ itertoolsÚcombinations_with_replacementÚ LEADING_CHARSrh)Úclsr�ÚiÚ candidateÚnew_names rÚ_generate_namesz%AdjacentTempDirectory._generate_namesüsèè€õ�q�#˜d™)œ)Ñ$Ô$ð #ð #ˆAÝ&ÔDØÔ! 1 q¡5ñôð #ð #� ð §¢¨Ñ!3Ô!3Ñ3°d¸1¸2¸2´hÑ>�ؘtÒ#Ð#Ø"�N�N�Nøð  #õ•s˜3Ô,Ñ-Ô-Ñ.Ô.ð #ð #ˆAÝ&ÔDØÔ! 1ñôð #ð #� ð §¢¨Ñ!3Ô!3Ñ3°dÑ:�ؘtÒ#Ð#Ø"�N�N�Nøð  #ð #ð #r&r'có*—tj |j¦«\}}| |¦«D]„}tj ||¦«} tj|¦«tj |¦«}nc#t$r }|j tj kr‚Yd}~Œ}d}~wwxYwtj tj d|›d�¬¦«¦«}t d|¦«|S)NrXrYrZr\)r]r>Úsplitrr�rhÚmkdirr^rxÚerrnoÚEEXISTr_r`rarb)r$r'Úrootr�r�r>Úexs rrEzAdjacentTempDirectory._creates€Ý”W—]’] 4¤=Ñ1Ô1‰ ˆˆdØ×-Ò-¨dÑ3Ô3ð Mð MˆIÝ”7—<’<  iÑ0Ô0ˆDð Ý”˜‘”�õ ”w×'Ò'¨Ñ-Ô-�Ø�øõ ð ð ð à”8�uœ|Ò+Ð+Øð,Ð+Ð+Ð+Ð+øøøøð øøøõ”7×#Ò#¥HÔ$4¸NÀ4¸N¸N¸NÐ$KÑ$KÔ$KÑLÔLˆDå� Š Ð6¸Ñ=Ô=Ð=؈ sÁ B B?ÂB:Â:B?r)r/r0r1r2rŠr3r r4r%Ú classmethodr r�rEr{r|s@rr~r~âsÇø€€€€€ð ð ð&&€Mð(ð( ð(¨h°t¬nð(Èð(ð(ð(ð(ð(ð(ðð# 3ð#¨9°S¸$À°_Ô+Eð#ð#ð#ñ„[ð#ð2˜Cð Cððððððððr&r~)'r“rˆÚloggingÚos.pathr]r_riÚ contextlibrrÚpathlibrÚtypingrrrr r r r r Úpip._internal.utils.miscrrÚ getLoggerr/rarÚ tempdir_kindsrÚ__annotations__rrr6r9r;rDrr~r5r&rúr¡s�ðØ € € € € ØÐÐÐØ€€€Ø€€€Ø€€€ØÐÐÐØ0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÐÐÐÐÐð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð2Ð1Ð1Ð1Ð1Ð1Ð1Ð1à ˆÔ ˜8Ñ $Ô $€à €WˆT˜Ð)Ñ)Ô)€ð �ØØ)Øðñô€ ð)-Ð�(˜9Ô%Ð,Ð,Ñ,ðð3  Ð*:Ô ;ð3ð3ð3ñ„ð3ð3ð3ð3ð3ð3ñ3ô3ð3ð&:>Ð�8Ð5Ô6Ð=Ð=Ñ=ðð 1˜)Ð$=¸tÀTÐ$IÔJð 1ð 1ð 1ñ„ð 1ð ð ð ð ð ñ ô ð ð ˆ8‰:Œ:€ðBðBðBðBðBñBôBðBðJFðFðFðFðF˜MñFôFðFðFðFr&