
    <ȋh                        d dl mZ d dlmZmZmZ ddlmZmZm	Z	m
Z
mZ erddlmZ  G d dee	eef                   ZdS )	    )annotations)TYPE_CHECKING
CollectionGeneric   )CTKTRTRequirementInformationState)	Criterionc                  R    e Zd 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"dZdS )#BaseReporterz>Delegate class to provide progress reporting for the resolver.returnNonec                    dS )z-Called before the resolution actually starts.N )selfs    ]/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/reporters.pystartingzBaseReporter.starting             indexintc                    dS )zYCalled before each round of resolution starts.

        The index is zero-based.
        Nr   )r   r   s     r   starting_roundzBaseReporter.starting_round   r   r   stateState[RT, CT, KT]c                    dS )zCalled before each round of resolution ends.

        This is NOT called if the resolution ends at this round. Use `ending`
        if you want to report finalization. The index is zero-based.
        Nr   )r   r   r   s      r   ending_roundzBaseReporter.ending_round   r   r   c                    dS )z/Called before the resolution ends successfully.Nr   )r   r   s     r   endingzBaseReporter.ending   r   r   requirementr
   parent	CT | Nonec                    dS )a  Called when adding a new requirement into the resolve criteria.

        :param requirement: The additional requirement to be applied to filter
            the available candidaites.
        :param parent: The candidate that requires ``requirement`` as a
            dependency, or None if ``requirement`` is one of the root
            requirements passed in from ``Resolver.resolve()``.
        Nr   )r   r#   r$   s      r   adding_requirementzBaseReporter.adding_requirement!   r   r   causes*Collection[RequirementInformation[RT, CT]]c                    dS )zCalled when starting to attempt requirement conflict resolution.

        :param causes: The information on the collision that caused the backtracking.
        Nr   )r   r(   s     r   resolving_conflictsz BaseReporter.resolving_conflicts+   r   r   	criterionCriterion[RT, CT]	candidater   c                    dS )z6Called when rejecting a candidate during backtracking.Nr   )r   r,   r.   s      r   rejecting_candidatez BaseReporter.rejecting_candidate3   r   r   c                    dS )z9Called when adding a candidate to the potential solution.Nr   )r   r.   s     r   pinningzBaseReporter.pinning6   r   r   N)r   r   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r#   r
   r$   r%   r   r   )r(   r)   r   r   )r,   r-   r.   r   r   r   )r.   r   r   r   )__name__
__module____qualname____doc__r   r   r    r"   r'   r+   r0   r2   r   r   r   r   r      s        HH< < < <      > > > >      E E E EH H H H H Hr   r   N)
__future__r   typingr   r   r   structsr   r	   r
   r   r   	resolversr   r   r   r   r   <module>r;      s    " " " " " " 5 5 5 5 5 5 5 5 5 5 > > > > > > > > > > > > > > %$$$$$$,H ,H ,H ,H ,H72r2:& ,H ,H ,H ,H ,Hr   