
    yIf
                        d dl mZ d dlZd dlZd dlmZmZ ddlmZ ej	        dk    rd dl
mZ ddZnd dl
mZ  G d dee          ZdgZdS )    )annotationsN)ABCabstractmethod   )	Activator)   
   )filesmodule_namestrfilenamereturnbytesc                J    t          |           |z                                  S N)r
   
read_bytes)r   r   s     V/var/www/piapp/venv/lib/python3.11/site-packages/virtualenv/activation/via_template.pyread_binaryr      s!    k""X-99;;;    )r   c                  X    e Zd Zed             Zd Zd Zd Zd Zd Z	e
d             ZdS )	ViaTemplateActivatorc                    t           r   )NotImplementedError)selfs    r   	templateszViaTemplateActivator.templates   s    !!r   c                    |j         }|                     ||          }|                     ||                                 ||          }| j        | j        |j        d<   |S )Nprompt)bin_dirreplacements	_generater   flag_prompt	pyenv_cfg)r   creatordest_folderr   	generateds        r   generatezViaTemplateActivator.generate   s_    o((+>>NN<1A1A;PWXX	'*.*:Gh'r   c                    | j         dn| j         t          |j                  |j        t          |j                            |j                            t          j        dS )N )__VIRTUAL_PROMPT____VIRTUAL_ENV____VIRTUAL_NAME____BIN_NAME____PATH_SEP__)r!   r   destenv_namer   relative_toospathsep)r   r#   r$   s      r   r   z!ViaTemplateActivator.replacements    sX    (,(8(@""dFV"7<00 ' 0 ; ;GL I IJJJ
 
 	
r   c                   g }|D ]}|                      |||          }||                     |          z  }|                                r|                                 t	          |                              d          rdnd}	|                    |                    |	                     |                    |           |S )Nz.ps1z	utf-8-sigutf-8)	instantiate_templateas_nameexistsunlinkr   endswithwrite_bytesencodeappend)
r   r   r   	to_folderr#   r%   templatetextr.   encodings
             r   r    zViaTemplateActivator._generate)   s    	! 	# 	#H,,\8WMMDt||H555D {{}} &)(mm&<&<V&D&DQ{{'HT[[22333T""""r   c                    |S r    )r   r>   s     r   r6   zViaTemplateActivator.as_name9   s    r   c                    t          | j        |          }|                    dd          }|                                D ]1\  }}|                     ||          }|                    ||          }2|S )Nr4   strict)errors)r   
__module__decodeitems_repr_unicodereplace)	r   r   r>   r#   binaryr?   keyvalue	value_unis	            r   r5   z)ViaTemplateActivator.instantiate_template<   sv    T_h77}}WX}66&,,.. 	0 	0JC**7E::I<<Y//DDr   c                    |S r   rB   )r#   rM   s     r   rI   z"ViaTemplateActivator._repr_unicodeE   s    r   N)__name__rF   __qualname__r   r   r&   r   r    r6   r5   staticmethodrI   rB   r   r   r   r      s        " " ^"  
 
 
          \  r   r   )r   r   r   r   r   r   )
__future__r   r1   sysabcr   r   	activatorr   version_infoimportlib.resourcesr
   r   r   __all__rB   r   r   <module>rZ      s    " " " " " " 				 



 # # # # # # # #            w))))))< < < < < 0/////4 4 4 4 49c 4 4 4p r   