B
    `’»d§  ã               @   st   d dl mZ d dlmZ er`d dlmZmZmZmZm	Z	 d dl
mZ ddlmZmZ ddlmZ G dd	„ d	eƒZd
S )é    )ÚAbstractProvider)ÚMYPY_CHECK_RUNNING)ÚAnyÚOptionalÚSequenceÚTupleÚUnion)ÚInstallRequirementé   )ÚRequirementÚ	Candidate)ÚFactoryc               @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚPipProviderc             C   s   || _ || _d S )N)Ú_factoryÚ_ignore_dependencies)ÚselfÚfactoryÚignore_dependencies© r   úP/tmp/pip-unpacked-wheel-hu9qqap1/pip/_internal/resolution/resolvelib/provider.pyÚ__init__   s    zPipProvider.__init__c             C   s   |  ¡ S )N)Úget_install_requirement)r   Úcr   r   r   r      s    z#PipProvider.get_install_requirementc             C   s   |j S )N)Úname)r   Ú
dependencyr   r   r   Úidentify   s    zPipProvider.identifyc             C   s   t |ƒS )N)Úlen)r   Ú
resolutionÚ
candidatesZinformationr   r   r   Úget_preference    s    zPipProvider.get_preferencec             C   s   |  ¡ S )N)Úfind_matches)r   Úrequirementr   r   r   r    *   s    zPipProvider.find_matchesc             C   s
   |  |¡S )N)Úis_satisfied_by)r   r!   Ú	candidater   r   r   r"   .   s    zPipProvider.is_satisfied_byc             C   s   | j r
g S | ¡ S )N)r   Úget_dependencies)r   r#   r   r   r   r$   2   s    zPipProvider.get_dependenciesN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r    r"   r$   r   r   r   r   r      s   	
r   N)Z pip._vendor.resolvelib.providersr   Úpip._internal.utils.typingr   Útypingr   r   r   r   r   Zpip._internal.req.req_installr	   Úbaser   r   r   r   r   r   r   r   r   Ú<module>   s   