o
    2ѹg
                     @   s   U d dl mZ d dlmZmZ d dlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ e Zeed	< ed
Zeed< G dd dedZdedefddZdedefddZdee fddZdeddfddZdS )    )dedent)AnyOptional)Version   )__version__)deprecation_warning)	Singleton)HydraException_UNSPECIFIED_z1.1__compat_version__c                   @   sZ   e Zd ZdddZdddZdee fd	d
Zede	de	dd fddZ
edddZdS )VersionBasereturnNc                 C   s
   t | _d S N)r   version_baseself r   Q/Users/admin/.pyenv/versions/3.10.0/lib/python3.10/site-packages/hydra/version.py__init__   s   
zVersionBase.__init__versionr   c                 C   s&   t |tsJ dt| || _d S )NzUnexpected Version type : )
isinstancer   typer   )r   r   r   r   r   setbase   s   
zVersionBase.setbasec                 C   s   | j S r   )r   r   r   r   r   getbase   s   zVersionBase.getbaseargskwargsc                  O   s   t jtg| R i |S r   )r	   instancer   )r   r   r   r   r   r   !   s   zVersionBase.instancer   c                 C   s   t | tsJ | tjt< d S r   )r   r   r	   Z
_instances)r   r   r   r   set_instance%   s   zVersionBase.set_instance)r   N)r   r   r   N)r   r   r   N)__name__
__module____qualname__r   r   r   r   r   staticmethodr   r   r   r   r   r   r   r      s    

r   )	metaclassverr   c                 C   s   t | }t |j d|j S )N.)r   majorminor)r$   Zpverr   r   r   _get_version+   s   r(   c                 C   sH   t   }t|ttu rt  t t}t|tsJ |t	| kS r   )
r   r   r   r   r   r   r   r   r   r(   r$   Z_version_baser   r   r   base_at_least1   s   r*   c                   C   s   t   S r   )r   r   r   r   r   r   r   r   :   s   r   Nc                 C   sp   t | t tu rttdt dd t}n| d u rtt}nt| }|tk r/tdt dt	 
| d S )Nz
            The version_base parameter is not specified.
            Please specify a compatability version level, or None.
            Will assume defaults for version    )message
stacklevelzversion_base must be >= "")r   r   r   r   r   r(   r   r
   r   r   r   r)   r   r   r   r   >   s    	
r   )textwrapr   typingr   r   Zpackaging.versionr    r   Z_internal.deprecation_warningr   Zcore.singletonr	   errorsr
   objectr   __annotations__r   r   strr(   boolr*   r   r   r   r   r   r   <module>   s   	