
                             S SK rSSKJr  S\R                  S\4S jrS\R                  \R                     S\4S jrS\R                  S\4S jr	g)	    N   )Markupsreturnc                    [        U S5      (       a  [        U R                  5       5      $ [        [        U 5      R	                  SS5      R	                  SS5      R	                  SS5      R	                  SS	5      R	                  S
S5      5      $ )a  Replace the characters ``&``, ``<``, ``>``, ``'``, and ``"`` in
the string with HTML-safe sequences. Use this if you need to display
text that might contain such characters in HTML.

If the object has an ``__html__`` method, it is called and the
return value is assumed to already be safe for HTML.

:param s: An object to be converted to a string and escaped.
:return: A :class:`Markup` string with the escaped text.
__html__&z&amp;>z&gt;<z&lt;'z&#39;"z&#34;)hasattrr   r   strreplacer   s    %lib/third_party/markupsafe/_native.pyescaper      sr     q*ajjl##A	g		f		f		g		g	     c                 2    U c
  [        5       $ [        U 5      $ )zLike :func:`escape` but treats ``None`` as the empty string.
Useful with optional values, as otherwise you get the string
``'None'`` when the value is ``None``.

>>> escape(None)
Markup('None')
>>> escape_silent(None)
Markup('')
)r   r   r   s    r   escape_silentr      s     	yx!9r   c                 F    [        U [        5      (       d  [        U 5      $ U $ )a|  Convert an object to a string if it isn't already. This preserves
a :class:`Markup` string rather than converting it back to a basic
string, so it will still be marked as safe and won't be escaped
again.

>>> value = escape("<User 1>")
>>> value
Markup('&lt;User 1&gt;')
>>> escape(str(value))
Markup('&amp;lt;User 1&amp;gt;')
>>> escape(soft_str(value))
Markup('&lt;User 1&gt;')
)
isinstancer   r   s    r   soft_strr   .   s     a1vHr   )
typingt r   Anyr   Optionalr   r   r    r   r   <module>r       sY     aee  0QZZ& 6   # r   