§
    ½ÞMhœ  ã                  ó`   — d dl mZ d dlmZ d dlmZ ddlmZmZm	Z	 dgZ
 G d„ de¦  «        ZdS )	é    )Úannotations)ÚIterable)ÚDocumenté   )ÚCompleteEventÚ	CompleterÚ
CompletionÚDeduplicateCompleterc                  ó"   — e Zd ZdZdd„Zdd„ZdS )r
   zè
    Wrapper around a completer that removes duplicates. Only the first unique
    completions are kept.

    Completions are considered to be a duplicate if they result in the same
    document text when they would be applied.
    Ú	completerr   ÚreturnÚNonec                ó   — || _         d S ©N)r   )Úselfr   s     úe/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/completion/deduplicate.pyÚ__init__zDeduplicateCompleter.__init__   s   € Ø"ˆŒˆˆó    Údocumentr   Úcomplete_eventr   úIterable[Completion]c              #  ó(  K  — t          ¦   «         }| j                             ||¦  «        D ]e}|j        d |j        |j        z   …         |j        z   |j        |j        d …         z   }||j        k    rŒG||v rŒL|                     |¦  «         |V — Œfd S r   )Úsetr   Úget_completionsÚtextÚcursor_positionÚstart_positionÚadd)r   r   r   Úfound_so_farÚ
completionÚtext_if_applieds         r   r   z$DeduplicateCompleter.get_completions   sÁ   è è € õ "%¡¤ˆàœ.×8Ò8¸À>ÑRÔRð 	ð 	ˆJà”ÐT Ô 8¸:Ô;TÑ TÐTÔUØ”/ñ"à”- Ô 8Ð :Ð :Ô;ñ<ð ð  (¤-Ò/Ð/àà ,Ð.Ð.Øà×Ò˜_Ñ-Ô-Ð-ØÐÐÐÐð	ð 	r   N)r   r   r   r   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r
   r
      sF   € € € € € ðð ð#ð #ð #ð #ðð ð ð ð ð r   N)Ú
__future__r   Útypingr   Úprompt_toolkit.documentr   Úbaser   r   r	   Ú__all__r
   r&   r   r   ú<module>r,      s•   ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à!Ð
"€ð!ð !ð !ð !ð !˜9ñ !ô !ð !ð !ð !r   