
    3i                        d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 e	rd dl
mZ d dlmZ d dlmZ  ej                   e      Z	 d	 	 	 	 	 	 	 ddZ G d	 d
      ZdddZedk(  r e        yy)    )annotationsN)default_timer)TYPE_CHECKING)MutableMappingVirtualEnvOptions)Sessionc                   |t         j                  n|}t               }ddlm} ddlm} | t        j                  dd  } 	  || ||      }t        j                  t        ||             y # |$ r}t        d|j                   d|j                          t        |j                  t        j                   d	       t        |j"                  t        j$                  d	       t'        |j                        d }~wt(        $ r>}|j*                  t*        j,                  k(  rt        d
t        j$                          d }~ww xY w)Nr   )cli_run)ProcessCallFailedError   )envzsubprocess call failed for z with code  )fileendzOSError: [Errno 24] Too many open files. You may need to increase your OS open files limit.
  On macOS/Linux, try 'ulimit -n 2048'.
  For Windows, this is not a common issue, but you can try to close some applications.)r   )osenvironr   virtualenv.runr   virtualenv.util.errorr   sysargvLOGGERwarning
LogSessionprintcmdcodeoutstdouterrstderr
SystemExitOSErrorerrnoEMFILE)argsoptionsr   startr   r   session	exceptions           F/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/__main__.pyrunr,      s     "**COE&<|xx|$S1z'512! )+IMM?+innEUVWimm#**"5imm#**"5(( ??ell*i ZZ	 	s%   *A, ,E1BC77E9D<<Ec                      e Zd ZddZddZy)r   c                     || _         || _        y N)r)   r(   )selfr)   r(   s      r+   __init__zLogSession.__init__1   s    
    c                   | j                   j                  j                  j                  }t	               | j
                  z
  dz  }d| d|ddd| j                   j                  g}| j                   j                  j                  r|j                  d| j                   j                         | j                   j                  j                  j                         }t        d |D              }|j                  d	d
j                  |              | j                   j                  r>|j                  ddj                  d | j                   j                  D                      dj                  |      S )Ni  zcreated virtual environment z in z.0fmsz
  creator z	  seeder c              3     K   | ]>  }|j                   d k(  sdj                  |j                  j                  d             @ yw)z
.dist-infoz==-N)suffixjoinstemsplit.0is     r+   	<genexpr>z%LogSession.__str__.<locals>.<genexpr>?   s2     eqAHHXdLddiiS(9:es
   A/Az    added seed packages: z, z  activators ,c              3  H   K   | ]  }|j                   j                    y wr/   )	__class____name__r;   s     r+   r>   z%LogSession.__str__.<locals>.<genexpr>C   s     1h1!++2F2F1hs    "
)r)   creatorinterpreterspecr   r(   seederenabledappendpurelibiterdirsortedr8   
activators)r0   rF   elapsedlinespathpackagess         r+   __str__zLogSession.__str__5   s-   ||##//44 ?TZZ/47*4&WSMD--01
 <<&&LL9T\\%8%8$;<=<<''//779DeDeeHLL4TYYx5H4IJK<<""LL=1hPTP\P\PgPg1h)h(ijkyyr2   N)r)   r	   r(   floatreturnNone)rT   str)rB   
__module____qualname__r1   rR    r2   r+   r   r   0   s     r2   r   c                Z   ddl m} |t        j                  n|} |       }	 t	        | ||       y # t
        t        t        f$ r}	 t        |dd      r t        |t              r|j                  dk(  s*t        j                  dt        |      j                  |       t        |t              r|j                  nd}t        j                   |       t        j"                  D ]  }|j%                           n*# t        j"                  D ]  }|j%                           w xY wY d }~y d }~ww xY w)Nr   r   with_tracebackFz%s: %sr   )virtualenv.config.cli.parserr   r   r   r,   KeyboardInterruptr"   	Exceptiongetattr
isinstancer   r   errortyperB   r   exithandlersflush)r&   r   r   r'   r*   r   handlers          r+   run_with_catchrg   G   s    >"**C!G D'3z95 
 		 w 0%8y*5)..A:MXtI'?'?K%/	:%F9>>ADHHTN!??   6??     
 s(   1 D*B
C6&D%6'DD%%D*__main__)NNN)r&   list[str] | Noner'   zVirtualEnvOptions | Noner   MutableMapping[str, str] | NonerT   rU   )NN)r&   ri   r   rj   rT   rU   )
__future__r   r$   loggingr   r   timeitr   typingr   collections.abcr   r\   r   virtualenv.run.sessionr	   	getLoggerrB   r   r,   r   rg   rY   r2   r+   <module>rr      s    "   	 
    .>.			8	$ uy
,DRq	:   . ( z r2   