+
    O(iE	              
       &  a  R t0 t R t^ RIt^ RIHt ^ RIHt ^RIHtH	t	H
t
 ^RIHt ]P                  ! RP                  ]P                  ! RP!                  ]]
,           4      4      4      ]P"                  4      t] ^ k R R	 ltR. R
R
3R R lltR# )zA
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
N)Sequence)Final)ascii_symbolsto_strunprintable_ascii_chars)InvalidCharError[{}] c                (    V ^8  d   QhR\         RR/# )   textreturnN)str)formats   "Z/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pathvalidate/_symbol.py__annotate__r      s     G G# G$ G    c                n    \         P                  \        V 4      4      pV'       d   \        RV 24      hR# )z
Verifying whether symbol(s) included in the ``text`` or not.

Args:
    text:
        Input text to validate.

Raises:
    ValidationError (ErrorReason.INVALID_CHARACTER):
        If symbol(s) included in the ``text``.
zinvalid symbols found: N)__RE_SYMBOLfindallr   r   )r   
match_lists   & r   validate_symbolr      s3     $$VD\2J!8EFF r   Fc                v    V ^8  d   QhR\         R\         R\        \         ,          R\        R\        R\         /# )r   r   replacement_textexclude_symbolsis_replace_consecutive_charsis_stripr   )r   r   bool)r   s   "r   r   r   $   sH     9 9
99 c]9 #'	9
 9 	9r   c                @   V'       d   \         P                  ! RP                  \         P                  ! RP	                  \        \        \        ,           4      \        V4      ,
          4      4      4      \         P                  4      pM\        p VP                  V\        V 4      4      pT'       g   T# T'       d/   \         P                  ! \         P                  ! T4       R2Y4      pT'       d   TP                  T4      pT#   \         d    \        R4      hi ; i)a  
Replace all of the symbols in the ``text``.

Args:
    text:
        Input text.
    replacement_text:
        Replacement text.
    exclude_symbols:
        Symbols that were excluded from the replacement.
    is_replace_consecutive_chars:
        If |True|, replace consecutive multiple ``replacement_text`` characters
        to a single character.
    is_strip:
        If |True|, strip ``replacement_text`` from the beginning/end of the replacement text.

Returns:
    A replacement string.

Example:

    :ref:`example-sanitize-symbol`
r   r	   ztext must be a string+)recompiler   escapejoinsetr   r   UNICODEr   subr   	TypeErrorstrip)r   r   r   r   r   regexpnew_texts   &&&&&  r   replace_symbolr+   $   s    > MM		GGC0G GH3K__`
 JJ
 1::.t= #66RYY'789;=MX>>"23O  1/001s   D Dc                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   r   )__conditional_annotations__r   )r   s   "r   r   r      s"       U r   )r-   __doc__r    collections.abcr   typingr   _commonr   r   r   errorr   r!   r   r"   r#   r%   r   r   r+   r   )r-   s   @r   <module>r3      s    
 $  C C # ZZ
MM"))BGGM4K$KLMNPRPZPZ 
G( %').9 9r   