Ë
    ��hö  ã                  ór   — 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y)	é    )Úannotations)ÚTYPE_CHECKINGÚ
CollectionÚGenericé   )ÚCTÚKTÚRTÚRequirementInformationÚState)Ú	Criterionc                  óX   — 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y
)ÚBaseReporterz?Delegate class to provider progress reporting for the resolver.c                 ó   — y)z-Called before the resolution actually starts.N© )Úselfs    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.pyÚstartingzBaseReporter.starting   ó   � ó    c                 ó   — y)zYCalled before each round of resolution starts.

        The index is zero-based.
        Nr   )r   Úindexs     r   Ústarting_roundzBaseReporter.starting_round   r   r   c                 ó   — y)zÉCalled 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   Ústates      r   Úending_roundzBaseReporter.ending_round   r   r   c                 ó   — y)z/Called before the resolution ends successfully.Nr   )r   r   s     r   ÚendingzBaseReporter.ending   r   r   c                 ó   — y)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   ÚrequirementÚparents      r   Úadding_requirementzBaseReporter.adding_requirement!   r   r   c                 ó   — y)z Called when starting to attempt requirement conflict resolution.

        :param causes: The information on the collision that caused the backtracking.
        Nr   )r   Úcausess     r   Úresolving_conflictsz BaseReporter.resolving_conflicts+   r   r   c                 ó   — y)z6Called when rejecting a candidate during backtracking.Nr   )r   Ú	criterionÚ	candidates      r   Úrejecting_candidatez BaseReporter.rejecting_candidate3   r   r   c                 ó   — y)z9Called when adding a candidate to the potential solution.Nr   )r   r(   s     r   ÚpinningzBaseReporter.pinning6   r   r   N)ÚreturnÚNone)r   Úintr,   r-   )r   r.   r   úState[RT, CT, KT]r,   r-   )r   r/   r,   r-   )r    r
   r!   z	CT | Noner,   r-   )r$   z*Collection[RequirementInformation[RT, CT]]r,   r-   )r'   zCriterion[RT, CT]r(   r   r,   r-   )r(   r   r,   r-   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r"   r%   r)   r+   r   r   r   r   r      s?   „ ÙIó<óóó>óðØ@ðà	óóEôHr   r   N)Ú
__future__r   Útypingr   r   r   Ústructsr   r	   r
   r   r   Ú	resolversr   r   r   r   r   ú<module>r8      s3   ðÝ "ç 5Ñ 5ç >Õ >áÝ$ô,H�7˜2˜r 2˜:Ñ&õ ,Hr   