
                         B    S SK Jr  S SKJrJr  S SKJr   " S S\5      rg)    )unicode_literals)	ValidatorValidationError)string_typesc                   (    \ rS rSrSrSS jrS rSrg)SentenceValidator   z
Validate input only when it appears in this list of sentences.

:param sentences: List of sentences.
:param ignore_case: If True, case-insensitive comparisons.
c                 `   [        S U 5       5      (       d   e[        U[        5      (       d   e[        U[        5      (       d   e[	        U5      U l        X l        X0l        X@l        U(       a9  [        U R
                   Vs/ s H  oUR                  5       PM     sn5      U l        g g s  snf )Nc              3   B   #    U  H  n[        U[        5      v   M     g 7f)N)
isinstancer   ).0ss     9lib/third_party/prompt_toolkit/contrib/validators/base.py	<genexpr>-SentenceValidator.__init__.<locals>.<genexpr>   s     B	1:a..	s   )allr   boolr   list	sentencesignore_caseerror_messagemove_cursor_to_endsetlower)selfr   r   r   r   r   s         r   __init__SentenceValidator.__init__   s    B	BBBBB+t,,,,-6666i&*"4 T^^!D^'')^!DEDN !Ds   B+c                     UR                   U R                  ;  a=  U R                  (       a  [        UR                   5      nOSn[	        UU R
                  S9eg )Nr   )cursor_positionmessage)textr   r   lenr   r   )r   documentindexs      r   validateSentenceValidator.validate   sK    ==.&&HMM*!%*.*<*<> > /    )r   r   r   r   N)FzInvalid inputF)__name__
__module____qualname____firstlineno____doc__r   r%   __static_attributes__ r'   r   r   r      s    F>r'   r   N)
__future__r   prompt_toolkit.validationr   r   sixr   r   r.   r'   r   <module>r2      s    ' @ >	 >r'   