
    iy7                       S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
  SSKJ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JrJr  SSK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SK)J*r*J+r+  \(       a  SSK,J-r-  SSK.J/r/   " S S\SS9r0\Rb                  " \25      r3S%S jr4 " S S5      r5S&S jr6S'S jr7 " S S\5      r8 " S S 5      r9 " S! S"5      r: " S# S$\:5      r;g)(z:Build Environment used for isolation during sdist building    )annotationsN)OrderedDict)Iterable)TracebackType)TYPE_CHECKINGProtocol	TypedDict)Version)__file__)open_spinner)get_platlibget_purelib
get_scheme)get_default_environmentget_environment)
deprecated)VERBOSE)get_requirement)call_subprocess)TempDirectorytempdir_kinds)PackageFinder)InstallRequirementc                       \ rS rSr% S\S'   Srg)ExtraEnviron    zdict[str, str]extra_environ N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       _/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/pip/_internal/build_env.pyr   r       s    %%r%   r   F)totalc                    X:w  a  X4$ U 4$ Nr   )abs     r&   _dedupr,   '   s    VA6%!%r%   c                      \ rS rSrSS jrSrg)_Prefix+   c                    Xl         SU l        [        SUS9nUR                  U l        [        UR                  UR                  5      U l        g )NF )prefix)	pathsetupr   scriptsbin_dirr,   purelibplatliblib_dirs)selfr3   schemes      r&   __init___Prefix.__init__,   s;    	
Bt,~~v~~v~~>r%   )r6   r9   r3   r4   N)r3   strreturnNone)r   r    r!   r"   r<   r$   r   r%   r&   r.   r.   +   s    ?r%   r.   c                     [         R                  " [        5      R                  5       R                  n U R                  5       (       d  [        U 5      $ [        R                  " U S-  5      $ )zGet a file to pass to a Python executable, to run the currently-running pip.

This is used to run a pip subprocess, for installing requirements into the build
environment.
z__pip-runner__.py)	pathlibPathpip_locationresolveparentis_dirr>   osfsdecode)sources    r&   get_runnable_piprK   4   sM     \\,'//188F==?? 6{;;v 3344r%   c                     [        [        S5      (       a  [        R                  " 5       n O[        5       [	        5       /n U  Vs1 s H"  n[
        R                  R                  U5      iM$     sn$ s  snf )zGet system site packages

Usually from site.getsitepackages,
but fallback on `get_purelib()/get_platlib()` if unavailable
(e.g. in a virtualenv created by virtualenv<20)

Returns normalized set of strings.
getsitepackages)hasattrsiterM   r   r   rH   r3   normcase)system_sitesr3   s     r&   _get_system_sitepackagesrR   D   sW     t&''++- ${}5/;<|tBGGT"|<<<s   )A0c                  6    \ rS rSrSr          SS jrSrg)BuildEnvironmentInstallerX   zQ
Interface for installing build dependencies into an isolated build
environment.
c                   g r)   r   )r:   requirementsr2   kindfor_reqs        r&   install!BuildEnvironmentInstaller.install^   s     r%   r   N
rW   Iterable[str]r2   r.   rX   r>   rY   InstallRequirement | Noner?   r@   )r   r    r!   r"   __doc__rZ   r$   r   r%   r&   rT   rT   X   s<    
# 
  + 
r%   rT   c                  `    \ rS rSrSr  S       S	S jjrS
S jr          SS jrSrg)#SubprocessBuildEnvironmentInstallerh   z<
Install build dependencies by calling pip in a subprocess.
Nc                <    Xl         U=(       d    / U l        X0l        g r)   )finder_build_constraints!_build_constraint_feature_enabled)r:   rd   build_constraints build_constraint_feature_enableds       r&   r<   ,SubprocessBuildEnvironmentInstaller.__init__m   s     "3"9r1Q.r%   c                    U R                   (       d  U R                  (       a  g[        R                  R	                  S5      nU(       a  UR                  5       (       d  g[        SSSSS9  g)z
Check for deprecation warning: PIP_CONSTRAINT affecting build environments.

This warns when build-constraint feature is NOT enabled and PIP_CONSTRAINT
is not empty.
NPIP_CONSTRAINTzGSetting PIP_CONSTRAINT will not affect build constraints in the future,zto specify build constraints using --build-constraint or PIP_BUILD_CONSTRAINT. To disable this warning without any build constraints set --use-feature=build-constraint or PIP_USE_FEATURE="build-constraint"z26.2)reasonreplacementgone_inissue)rf   re   rH   environgetstripr   )r:   pip_constraints     r&   _deprecation_constraint_checkASubprocessBuildEnvironmentInstaller._deprecation_constraint_checkw   sY     11T5L5L(89^%9%9%;%;35
 	
r%   c               V   U R                  5         U R                  n[        R                  [	        5       SSSSUR
                  SSSSS	/n[        R                  5       [        R                  ::  a  UR                  S
5        O-[        R                  5       [        ::  a  UR                  S5        S Ha  n[        UR                  U5      nUR                  SUR                  SS5      -   SR!                  [#        U=(       d    S15      5      45        Mc     UR$                  n	U	(       a6  UR                  SU	S   /5        U	SS   H  n
UR                  SU
/5        M     OUR                  S5        UR&                   H  nUR                  SU/5        M     UR(                  (       a  UR                  SUR(                  /5        UR*                   H  nUR                  SU/5        M     UR,                  (       a  UR                  SUR,                  /5        UR.                  (       a  UR                  SUR.                  /5        UR0                  (       a  UR                  S5        UR2                  (       a  UR                  S5        U R4                  (       a  UR                  SS/5        U R6                  (       a9  U R6                   H)  nUR                  S U/5        UR                  S!U/5        M+     0 nU R4                  (       a  U R6                  (       d  S"S#S$00nUR                  S5        UR                  U5        U(       a   UR8                  (       a  S%UR8                   3OS	n[;        S&U 35       n[=        U4S'U U 3US(.UD6  S S S 5        g ! , (       d  f       g = f))NrZ   z--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz--no-compilez--targetr1   z-vvz-v)	no_binaryonly_binaryz--_-,z:none:z-ir      z--extra-index-urlz
--no-indexz--find-linksz--proxyz--trusted-hostz--certz--client-certz--prez--prefer-binaryz--use-featurezbuild-constraintz--constraintz--build-constraintr    _PIP_IN_BUILD_IGNORE_CONSTRAINTS1z for zInstalling zinstalling )command_descspinner)rt   rd   sys
executablerK   r3   loggergetEffectiveLevelloggingDEBUGappendr   getattrformat_controlextendreplacejoinsorted
index_urls
find_linksproxytrusted_hostscustom_certclient_certallow_all_prereleasesprefer_binaryrf   re   namer   r   )r:   rW   r2   rX   rY   rd   argsr   formatsr   extra_indexlinkhostconstraint_filer   identify_requirementr   s                    r&   rZ   +SubprocessBuildEnvironmentInstaller.install   s    	**,NN KK')  #
& ##%6KK%%'72KK:Nf33^DGKK>11#s;;HHVG$9z:; ; &&
KKz!}-.)!"~0+>?  . KK%%%DKK./ & <<KKFLL12((DKK)401 )KK6#5#567KK&*<*<=>''KK KK)* 11KK*<=>"" $(#:#:^_=>1?CD $; ')11$:Q:Q -/QSV.WXMDL! '.',,eGLL>"B 	 Kv./7*4&1E0FG  	 0//s   <N
N()rf   re   rd   )NF)rd   r   rg   zlist[str] | Nonerh   boolr?   r@   r?   r@   r\   )	r   r    r!   r"   r_   r<   rt   rZ   r$   r   r%   r&   ra   ra   h   s     /316	RR ,R +/	R
 
R
:a#a a
 a +a 
ar%   ra   c                  |    \ rS rSrSrSS jrSS jr        SS jr    SS jrSS.         SS	 jjr	S
r
g)BuildEnvironment   zACreates and manages an isolated environment to install build depsc                  ^ Xl         [        [        R                  SS9m[	        U4S jS 5       5      U l        / U l        / U l        [        [        U R
                  R                  5       5      5       HM  nU R                  R                  UR                  5        U R                  R                  UR                  5        MO     [        5       n[         R"                  R%                  TR"                  S5      U l        [         R"                  R)                  U R&                  5      (       d   [         R*                  " U R&                  5        [-        [         R"                  R%                  U R&                  S5      SSS	9 nUR/                  [0        R2                  " S
5      R5                  X0R                  S95        S S S 5        g ! , (       d  f       g = f)NT)rX   globally_managedc              3     >#    U  H:  nU[        [        R                  R                  TR                  U5      5      4v   M<     g 7fr)   )r.   rH   r3   r   ).0r   temp_dirs     r&   	<genexpr>,BuildEnvironment.__init__.<locals>.<genexpr>   s5      %
- 7277<<t<=>-s   AA)normaloverlayrO   zsitecustomize.pywzutf-8)encodinga  
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                )rQ   r9   )	installerr   r   	BUILD_ENVr   	_prefixes	_bin_dirs	_lib_dirsreversedlistvaluesr   r6   r   r9   rR   rH   r3   r   	_site_direxistsmkdiropenwritetextwrapdedentformat)r:   r   r2   rQ   fpr   s        @r&   r<   BuildEnvironment.__init__   sA   " m&=&=PTU$ %
-%
 

 %'$&tDNN$9$9$;<=FNN!!&..1NN!!&//2 > 01hmmV<ww~~dnn--HHT^^$GGLL);<cG
HH2 &l^^&L5
 
 
s   ?=G
Gc                   S Vs0 s H$  nU[         R                  R                  US 5      _M&     snU l        U R                  S S  nU R                  S   nU(       a.  UR                  UR                  [         R                  5      5        U R                  /n[         R                  R                  [         R                  R                  U5      S[         R                  R                  U5      S.5        g s  snf )N)PATHPYTHONNOUSERSITE
PYTHONPATHr   r~   )rH   rp   rq   	_save_envr   r   splitpathsepr   updater   )r:   r   r3   old_path
pythonpaths        r&   	__enter__BuildEnvironment.__enter__2  s     C
B "**..t,,B

 ~~a >>&)KKrzz23nn%





-$' jjooj9	

s   +C6c                    U R                   R                  5        H=  u  pEUc"  [        R                  R	                  US 5        M*  U[        R                  U'   M?     g r)   )r   itemsrH   rp   pop)r:   exc_typeexc_valexc_tbvarname	old_values         r&   __exit__BuildEnvironment.__exit__G  sD     #'.."6"6"8G 

w-&/

7#	 #9r%   c                   [        5       n[        5       nU(       Ga?  [        U S5      (       a  [        U R                  5      O	[	        5       nU GH  n[        U5      nUR                  b$  UR                  R                  SS05      (       d  M@  UR                  UR                  5      nU(       d  UR                  U5        Mu  [        UR                  [        5      (       a  UR                   SUR                   3nOUR                   SUR                   3nUR                  R                  UR                  SS9(       a  M  UR                  X45        GM     X24$ )zvReturn 2 sets:
- conflicting requirements: set of (installed, wanted) reqs tuples
- missing requirements: set of reqs
r   extrar1   z==z===T)prereleases)setrN   r   r   r   r   markerevaluateget_distributionr   add
isinstanceversionr
   	specifiercontains)	r:   reqsmissingconflictingenvreq_strreqdistinstalled_req_strs	            r&   check_requirements#BuildEnvironment.check_requirementsS  s    %e 4--  /,. 
  %g. ::)#**2E2EwPRm2T2T++CHH5KK(dllG44+.88*Bt||n(E%+.88*C~(F%}}--dll-MMOO%6$@A  " ##r%   NrY   c                   U R                   U   nUR                  (       a   eSUl        U(       d  g U R                  R                  XX4S9  g )NT)rX   rY   )r   r4   r   rZ   )r:   rW   prefix_as_stringrX   rY   r2   s         r&   install_requirements%BuildEnvironment.install_requirementsu  sD      01<<|$Pr%   )r   r   r   r   r   r   )r   rT   r?   r@   r   r   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | Noner?   r@   )r   r]   r?   z%tuple[set[tuple[str, str]], set[str]]
rW   r]   r   r>   rX   r>   rY   r^   r?   r@   )r   r    r!   r"   r_   r<   r   r   r   r   r$   r   r%   r&   r   r      s    K5n
*
0,
0 &
0 %	
0
 

0 $! $	. $P .2Q#Q Q
 Q +Q 
Q Qr%   r   c                  t    \ rS rSrSrSS jrSS jr        SS jrSS jrSS.         SS	 jjr	S
r
g)NoOpBuildEnvironmenti  z0A no-op drop-in replacement for BuildEnvironmentc                    g r)   r   r:   s    r&   r<   NoOpBuildEnvironment.__init__      r%   c                    g r)   r   r   s    r&   r   NoOpBuildEnvironment.__enter__  r   r%   c                    g r)   r   )r:   r   r   r   s       r&   r   NoOpBuildEnvironment.__exit__  s     	r%   c                    g r)   r   r   s    r&   cleanupNoOpBuildEnvironment.cleanup  r   r%   Nr   c                   [        5       er)   )NotImplementedError)r:   rW   r   rX   rY   s        r&   r   )NoOpBuildEnvironment.install_requirements  s     "##r%   r   r   r   r   )r   r    r!   r"   r_   r<   r   r   r   r   r$   r   r%   r&   r   r     s~    :, & %	
 
 .2$#$ $
 $ +$ 
$ $r%   r   )r*   r>   r+   r>   r?   ztuple[str] | tuple[str, str])r?   r>   )r?   zset[str])<r_   
__future__r   r   rH   rB   rO   r   r   collectionsr   collections.abcr   typesr   typingr   r   r	   pip._vendor.packaging.versionr
   pipr   rD   pip._internal.cli.spinnersr   pip._internal.locationsr   r   r   pip._internal.metadatar   r   pip._internal.utils.deprecationr   pip._internal.utils.loggingr   pip._internal.utils.packagingr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   r   "pip._internal.index.package_finderr   pip._internal.req.req_installr   r   	getLoggerr   r   r,   r.   rK   rR   rT   ra   r   r   r   r%   r&   <module>r     s    @ "  	   
  # $  5 5 1 ( 3 H H K 6 / 9 : E@@&y & 
		8	$&? ?5 =(  M M`JQ JQZ$+ $r%   