Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pandas/_config/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pandas/_config/__pycache__/config.cpython-312.pyc

�

Mٜgnc���UdZddlmZddlmZmZddlZddlmZm	Z	m
Z
mZmZm
Z
ddlZddlmZmZddlmZerddlmZmZGd	�d
e�ZGd�de�ZiZd
ed<iZded<iZded<dgZded<Gd�dee�Z d9d�Z!d:d;d�Z"d<d�Z#d=d>d�Z$d:d?d�Z%d@d�Z&Gd�d�Z'Gd �d!ee�Z(d"Z)d#Z*d$Z+d%Z,e(e"e)�a-e(e#e*�a.e(e%e,�Z/e(e$e+�Z0e'e�Z1Gd&�d'e�Z2			dA											dBd(�a3			dC									dDd)�Z4dEd*�Z5dFd+�Z6dGd,�Z7dHd-�Z8dHd.�Z9dId/�Z:dGd0�Z;dJd1�Z<dKdLd2�Z=edMd3��Z>dNd4�Z?dOd5�Z@dOd6�ZAdPd7�ZBe?eC�ZDe?eE�ZFe?eG�ZHe?eI�ZJe@eIeKf�ZLdQd8�ZMy)Ra�
The config module holds package-wide configurables and provides
a uniform API for working with them.

Overview
========

This module supports the following requirements:
- options are referenced using keys in dot.notation, e.g. "x.y.option - z".
- keys are case-insensitive.
- functions should accept partial/regex keys, when unambiguous.
- options can be registered by modules at import time.
- options can be registered at init-time (via core.config_init)
- options have a default value, and (optionally) a description and
  validation function associated with them.
- options can be deprecated, in which case referencing them
  should produce a warning.
- deprecated options can optionally be rerouted to a replacement
  so that accessing a deprecated option reroutes to a differently
  named option.
- options can be reset to their default value.
- all option can be reset to their default value at once.
- all options in a certain sub - namespace can be reset at once.
- the user can set / get / reset or ask for the description of an option.
- a developer can register and mark an option as deprecated.
- you can register a callback to be invoked when the option value
  is set or reset. Changing the stored value is considered misuse, but
  is not verboten.

Implementation
==============

- Data is stored using nested dictionaries, and should be accessed
  through the provided API.

- "Registered options" and "Deprecated options" have metadata associated
  with them, which are stored in auxiliary dictionaries keyed on the
  fully-qualified key, e.g. "x.y.z.option".

- the config_init module is imported by the package's __init__.py file.
  placing any register_option() calls there will ensure those options
  are available as soon as pandas is loaded. If you use register_option
  in a module, it will only be available after that module is imported,
  which you should be aware of.

- `config_prefix` is a context_manager (for use with the `with` keyword)
  which can save developers some typing, see the docstring.

�)�annotations)�ContextDecorator�contextmanagerN)�
TYPE_CHECKING�Any�Callable�Generic�
NamedTuple�cast)�F�T)�find_stack_level)�	Generator�Iterablec�6�eZdZUded<ded<ded<ded<y)�DeprecatedOption�str�key�
str | None�msg�rkey�removal_verN��__name__�
__module__�__qualname__�__annotations__���@/usr/local/lib/python3.12/site-packages/pandas/_config/config.pyrrQs��	�H�	�O�
���rrc�@�eZdZUded<ded<ded<ded<ded	<y
)�RegisteredOptionrr�object�defval�doc�Callable[[object], Any] | None�	validator�Callable[[str], Any] | None�cbNrrrr r"r"Xs��	�H��N�	�H�-�-�#�#rr"zdict[str, DeprecatedOption]�_deprecated_optionszdict[str, RegisteredOption]�_registered_options�dict[str, Any]�_global_config�all�	list[str]�_reserved_keysc��eZdZdZy)�OptionErrorz�
    Exception raised for pandas.options.

    Backwards compatible with KeyError checks.

    Examples
    --------
    >>> pd.options.context
    Traceback (most recent call last):
    OptionError: No such option
    N)rrr�__doc__rrr r2r2ms��
rr2c���t|�}t|�dk(r$|st|�tdt	|�����t|�dkDrtd��|d}|st|�t|�}|S)NrzNo such keys(s): �zPattern matched multiple keys)�_select_options�len�_warn_if_deprecatedr2�repr�_translate_key)�pat�silent�keysrs    r �_get_single_keyr>ss���3��D�
�4�y�A�~����$��-�d�3�i�[�9�:�:�
�4�y�1�}��9�:�:�
�q�'�C���C� �
��
�C��Jrc�@�t||�}t|�\}}||S�N)r>�	_get_root)r;r<r�root�ks     r �_get_optionrD�s&��
�#�v�
&�C���n�G�D�!���7�Nrc�Z�t|�}|r|dzdk7rtd��|jdd�}|r1tt	|j���}t
d|�d���t|ddd�|ddd��D]�\}}t||�}t|�}|r|jr|j|�t|�\}	}
||	|
<|js�\|r1tjd	�
�5|j|�ddd���|j|���y#1swY��xYw)N�rz4Must provide an even number of non-keyword argumentsr<Fz2_set_option() got an unexpected keyword argument "�"r5T)�record)r7�
ValueError�pop�next�iterr=�	TypeError�zipr>�_get_registered_optionr'rAr)�warnings�catch_warnings)�args�kwargs�nargsr<�kwargrC�vr�orB�k_roots           r �_set_optionrY�s����I�E��E�A�I��N��O�P�P��Z�Z��%�
(�F�
��T�&�+�+�-�(�)���L�U�G�ST�U�V�V��D��1��I�t�A�D�q�D�z�*���1��a��(��"�3�'������
�K�K��N�!��~���f���V���4�4���,�,�D�9��D�D��I�:�9����S�	�!+�:�9�s�2D!�!D*	c���t|�}t|�dk(rtd��dj|D�cgc]
}t	|���c}�}|rt|�y|Scc}w)Nr�No such keys(s)�
)r6r7r2�join�_build_option_description�print)r;�_print_descr=rC�ss     r �_describe_optionrb�s]���3��D�
�4�y�A�~��+�,�,��	�	��>��A�,�Q�/��>�?�A��
�a����H��?s�Ac���t|�}t|�dk(rtd��t|�dkDrt|�dkr|dk7rtd��|D]!}t	|t
|j|���#y)Nrr[r5�r.z�You must specify at least 4 characters when resetting multiple keys, use the special keyword "all" to reset all the options to their default value�r<)r6r7r2rIrYr+r$)r;r<r=rCs    r �
_reset_optionrf�su���3��D�
�4�y�A�~��+�,�,�
�4�y�1�}��S��A��#��,��
D�
�	
����A�*�1�-�4�4�V�D�rc�F�t|d��}t|�jS�NTre)r>rOr$)r;rs  r �get_default_valri�s��
�#�d�
+�C�!�#�&�-�-�-rc�>�eZdZUdZded<d	d
d�Zdd�Zdd�Zd
d�Zy)�DictWrapperz/provide attribute-style access to a nested dictr,�dc�`�tj|d|�tj|d|�y)Nrl�prefix)r#�__setattr__)�selfrlrns   r �__init__zDictWrapper.__init__�s&�����4��a�(����4��6�2rc���tj|d�}|r|dz
}||z
}||jvr*t|j|t�s
t||�yt
d��)Nrn�.z.You can only set the value of existing options)r#�__getattribute__rl�
isinstance�dictrYr2)rpr�valrns    r rozDictWrapper.__setattr__�s]���(�(��x�8����c�M�F��#�
���$�&�&�=��D�F�F�3�K��!>����$��N�O�Orc��tj|d�}|r|dz
}||z
}	tj|d�|}t	|t
�rt
||�St|�S#t$r}td�|�d}~wwxYw)NrnrsrlzNo such option)r#rt�KeyErrorr2rurvrkrD)rprrnrV�errs     r �__getattr__zDictWrapper.__getattr__�s����(�(��x�8����c�M�F��#�
��	9��'�'��c�2�3�7�A��a����q�&�)�)��v�&�&���	9��.�/�S�8��	9�s�A$�$	A>�-A9�9A>c�H�t|jj��Sr@)�listrlr=)rps r �__dir__zDictWrapper.__dir__�s���D�F�F�K�K�M�"�"rN)�)rlr,rnr�return�None)rrrwrr�r��rr)r�r/)	rrrr3rrqror{r~rrr rkrk�s ��9���3�
P�'�#rrkc�.�eZdZdd�Zdd�Zedd��Zy)�CallableDynamicDocc� �||_||_yr@)�__doc_tmpl__�__func__)rp�func�doc_tmpls   r rqzCallableDynamicDoc.__init__
s��$�����
rc�&�|j|i|��Sr@)r�)rprR�kwdss   r �__call__zCallableDynamicDoc.__call__s���t�}�}�d�+�d�+�+rc��tdd��}tttj	���}|j
j
||��S)Nr.F)r`)�	opts_desc�	opts_list)rb�pp_options_listr}r+r=r��format)rpr�r�s   r r3zCallableDynamicDoc.__doc__sC��$�U��>�	�#�D�)<�)A�)A�)C�$D�E�	�� � �'�'�)�y�'�Q�QrN)r�zCallable[..., T]r�rr�r�)r�r
)r�r)rrrrqr��propertyr3rrr r�r�s"���,��R��Rrr�a�
get_option(pat)

Retrieves the value of the specified option.

Available options:

{opts_list}

Parameters
----------
pat : str
    Regexp which should match a single option.
    Note: partial matches are supported for convenience, but unless you use the
    full option name (e.g. x.y.z.option_name), your code may break in future
    versions if new options with similar names are introduced.

Returns
-------
result : the value of the option

Raises
------
OptionError : if no such option exists

Notes
-----
Please reference the :ref:`User Guide <options>` for more information.

The available options with its descriptions:

{opts_desc}

Examples
--------
>>> pd.get_option('display.max_columns')  # doctest: +SKIP
4
a�
set_option(pat, value)

Sets the value of the specified option.

Available options:

{opts_list}

Parameters
----------
pat : str
    Regexp which should match a single option.
    Note: partial matches are supported for convenience, but unless you use the
    full option name (e.g. x.y.z.option_name), your code may break in future
    versions if new options with similar names are introduced.
value : object
    New value of option.

Returns
-------
None

Raises
------
OptionError if no such option exists

Notes
-----
Please reference the :ref:`User Guide <options>` for more information.

The available options with its descriptions:

{opts_desc}

Examples
--------
>>> pd.set_option('display.max_columns', 4)
>>> df = pd.DataFrame([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
>>> df
   0  1  ...  3   4
0  1  2  ...  4   5
1  6  7  ...  9  10
[2 rows x 5 columns]
>>> pd.reset_option('display.max_columns')
a�
describe_option(pat, _print_desc=False)

Prints the description for one or more registered options.

Call with no arguments to get a listing for all registered options.

Available options:

{opts_list}

Parameters
----------
pat : str
    Regexp pattern. All matching keys will have their description displayed.
_print_desc : bool, default True
    If True (default) the description(s) will be printed to stdout.
    Otherwise, the description(s) will be returned as a unicode string
    (for testing).

Returns
-------
None by default, the description(s) as a unicode string if _print_desc
is False

Notes
-----
Please reference the :ref:`User Guide <options>` for more information.

The available options with its descriptions:

{opts_desc}

Examples
--------
>>> pd.describe_option('display.max_columns')  # doctest: +SKIP
display.max_columns : int
    If max_cols is exceeded, switch to truncate view...
a�
reset_option(pat)

Reset one or more options to their default value.

Pass "all" as argument to reset all options.

Available options:

{opts_list}

Parameters
----------
pat : str/regex
    If specified only options matching `prefix*` will be reset.
    Note: partial matches are supported for convenience, but unless you
    use the full option name (e.g. x.y.z.option_name), your code may break
    in future versions if new options with similar names are introduced.

Returns
-------
None

Notes
-----
Please reference the :ref:`User Guide <options>` for more information.

The available options with its descriptions:

{opts_desc}

Examples
--------
>>> pd.reset_option('display.max_columns')  # doctest: +SKIP
c�(�eZdZdZdd�Zdd�Zdd�Zy)�option_contextaF
    Context manager to temporarily set options in the `with` statement context.

    You need to invoke as ``option_context(pat, val, [(pat, val), ...])``.

    Examples
    --------
    >>> from pandas import option_context
    >>> with option_context('display.max_rows', 10, 'display.max_columns', 5):
    ...     pass
    c	��t|�dzdk7st|�dkrtd��tt|ddd�|ddd���|_y)NrFrz>Need to invoke as option_context(pat, val, [(pat, val), ...]).r5)r7rIr}rN�ops)rprRs  r rqzoption_context.__init__�sS���t�9�q�=�A���T��Q���P��
���D��1��I�t�A�D�q�D�z�2�3��rc��|jD��cgc]\}}|t|�f��c}}|_|jD]\}}t||d���ycc}}wrh)r�rD�undorY)rpr;rws   r �	__enter__zoption_context.__enter__�sN��=A�X�X�F�X���c�c�;�s�+�,�X�F��	����H�C����S��.�!��Gs�Ac�b�|jr#|jD]\}}t||d���yyrh)r�rY)rprRr;rws    r �__exit__zoption_context.__exit__�s,���9�9� �I�I���S��C��T�2�&�rN�r�r�)rrrr3rqr�r�rrr r�r��s��
�4�/�3rr�c
��ddl}ddl}|j�}|tvrt	d|�d���|t
vrt	d|�d���|r||�|j
d�}|D]U}tjd|jzdz|�st|�d	���|j|�s�It|�d
���t}	d}
t|dd�D]P\}}t|	t�s-t	|
j!dj#|d|��
���||	vri|	|<|	|}	�Rt|	t�s-t	|
j!dj#|dd��
���||	|d<t%|||||��t|<y)a�
    Register an option in the package-wide pandas config object

    Parameters
    ----------
    key : str
        Fully-qualified key, e.g. "x.y.option - z".
    defval : object
        Default value of the option.
    doc : str
        Description of the option.
    validator : Callable, optional
        Function of a single argument, should raise `ValueError` if
        called with a value which is not a legal value for the option.
    cb
        a function of a single argument "key", which is called
        immediately after an option value is set/reset. key is
        the full name of the option.

    Raises
    ------
    ValueError if `validator` is specified and `defval` is not a valid value.

    rN�Option 'z' has already been registeredz' is a reserved keyrs�^�$z is not a valid identifierz is a python keywordz5Path prefix to option '{option}' is already an option���)�option)rr$r%r'r))�keyword�tokenize�lowerr+r2r0�split�re�match�NamerI�	iskeywordr-�	enumeraterurvr�r]r")
rr$r%r'r)r�r��pathrC�cursorr�i�ps
             r �register_optionr��s���>��

�)�)�+�C�
�!�!��H�S�E�)F�G�H�H�
�n���H�S�E�)<�=�>�>���&���9�9�S�>�D�
���x�x��h�m�m�+�c�1�1�5���s�"<�=�>�>����Q����s�"6�7�8�8�	��F�
A�C��$�s��)�$���1��&�$�'��c�j�j�����b�q��0B�j�C�D�D��F�?��F�1�I�����%��f�d�#��#�*�*�C�H�H�T�#�2�Y�,?�*�@�A�A��F�4��8�� 0���C�9�� ���rc�|�|j�}|tvrtd|�d���t||||�t|<y)a
    Mark option `key` as deprecated, if code attempts to access this option,
    a warning will be produced, using `msg` if given, or a default message
    if not.
    if `rkey` is given, any access to the key will be re-routed to `rkey`.

    Neither the existence of `key` nor that if `rkey` is checked. If they
    do not exist, any subsequence access will fail as usual, after the
    deprecation warning is given.

    Parameters
    ----------
    key : str
        Name of the option to be deprecated.
        must be a fully-qualified option name (e.g "x.y.z.rkey").
    msg : str, optional
        Warning message to output when the key is referenced.
        if no message is given a default message will be emitted.
    rkey : str, optional
        Name of an option to reroute access to.
        If specified, any referenced `key` will be
        re-routed to `rkey` including set/get/reset.
        rkey must be a fully-qualified option name (e.g "x.y.z.rkey").
        used by the default message if no `msg` is specified.
    removal_ver : str, optional
        Specifies the version in which this option will
        be removed. used by the default message if no `msg` is specified.

    Raises
    ------
    OptionError
        If the specified key has already been deprecated.
    r�z)' has already been defined as deprecated.N)r�r*r2r)rrrrs    r �deprecate_optionr�6sD��N�)�)�+�C�
�!�!��H�S�E�)R�S�T�T�/��S�$��L���rc���|tvr|gSttj��}|dk(r|S|D�cgc]*}tj||tj
�s�)|��,c}Scc}w)zb
    returns a list of keys matching `pat`

    if pat=="all", returns all registered options
    r.)r+�sortedr=r��search�I)r;r=rCs   r r6r6isa���!�!��u���%�*�*�,�-�D�
�e�|����7�t�!�r�y�y��a����6�A�t�7�7��7s�*A&�A&c�\�|jd�}t}|ddD]}||}�	||dfS)Nrsr�)r�r-)rr�r�r�s    r rArA{s<���9�9�S�>�D�
�F�
�#�2�Y��������4��8��rc�2�|j�}|tvS)z4Returns True if the given option has been deprecated)r�r*�rs r �_is_deprecatedr��s��

�)�)�+�C��%�%�%rc�8�	t|}|S#t$rYywxYw)z�
    Retrieves the metadata for a deprecated option, if `key` is deprecated.

    Returns
    -------
    DeprecatedOption (namedtuple) if key is deprecated, None otherwise
    N)r*ry�rrls  r �_get_deprecated_optionr��s,�����$���������s�	
�	�c�,�tj|�S)z�
    Retrieves the option metadata if `key` is a registered option.

    Returns
    -------
    RegisteredOption (namedtuple) if key is deprecated, None otherwise
    )r+�getr�s r rOrO�s���"�"�3�'�'rc�@�t|�}|r|jxs|S|S)z�
    if key id deprecated and a replacement key defined, will return the
    replacement key, otherwise returns `key` as - is
    )r�rr�s  r r:r:�s$��
	�s�#�A���v�v�}����
rc�p�t|�}|r�|jr/tj|jtt���yd|�d�}|jr|d|j��z
}|jr|d|j�d�z
}n|dz
}tj|tt���yy	)
z�
    Checks if `key` is a deprecated option and if so, prints a warning.

    Returns
    -------
    bool - True if `key` is deprecated, False otherwise.
    )�
stacklevel�'z' is deprecatedz and will be removed in z, please use 'z
' instead.z, please refrain from using it.TF)r�rrP�warn�
FutureWarningrrr)rrlrs   r r8r8�s���	�s�#�A���5�5��M�M�����+�-�
���c�U�/�*�C��}�}��1�!�-�-��A�A���v�v������x�z�:�:���8�8���M�M�#�}�9I�9K�L��rc�d�t|�}t|�}|�d�}|jr<|dj|jj	�jd��z
}n|dz
}|r |d|j�dt|d��d�z
}|r#|jxsd}|d	z
}|d
|�d�z
}|dz
}|S)
zCBuilds a formatted description of a registered option and prints it� r\zNo description available.z
    [default: z] [currently: T�]rz
    (Deprecatedz, use `z
` instead.�))	rOr�r%r]�stripr�r$rDr)rCrWrlrars     r r^r^�s����q�!�A��q�!�A��#�Q��A��u�u�	�T�Y�Y�q�u�u�{�{�}�*�*�4�0�
1�1��	�
(�(���	�����z���A�t�8L�7M�Q�
O�O����v�v�|���	�
 � ��	�w�t�f�J�
'�'��	�S����Hrc�����ddlm}ddlm�d��fd�}g}t	|�D�cgc]}|jd�dks�|��}}|r||d|�z
}|D�cgc]}|jd�dk\s�|��}}|t	|�d��D]8\}}	t
|	�D�cgc]}|t|�dzd	��}
}||||
�z
}�:d
j|�}|rt|�y	|Scc}wcc}wcc}w)z@Builds a concise listing of available options, grouped by prefixr)�groupby)�wrapc���|rd|zdznd}�dj|��|dd��}|r|dr
|r|dd	z|d<|S)
Nz- z.[rz, z  F)�initial_indent�subsequent_indent�break_long_wordsr�r�)r])�name�ks�pfx�ls�widthr�s    ��r �ppzpp_options_list.<locals>.pp�sY���$(�d�T�k�D� �b��
��I�I�b�M���"�"�
���"�R�&�T���V�c�\�B�r�F��	rrsrc�*�|d|jd�S�Nrs)�rfind)�xs r �<lambda>z!pp_options_list.<locals>.<lambda>�s���.�A�G�G�C�L�0Arr5Nr\)r�rr��
Iterable[str]r�r/)
�	itertoolsr��textwrapr�r��findr}r7r]r_)
r=r��_printr�r�r�r��singlesrC�gr�rar�s
 `          @r r�r��s����!����B� ��,�:�,�Q�!�&�&��+��/�q�,�G�:��
�b��W�o����0�t�!�q�v�v�c�{�a�/�A�t�D�0���t��&A�B���1�'+�A�w�
/�w�!�a��A���
��o�w��
/�
�b��B�i���C�	
�	�	�"�
�A�
�
�a�����;��1��0s�C&�C&�C+�1C+�C0c#��K�d�fd�}t}t}t}|t�a|t�a|t�a	d��|a|a|ay#|a|a|awxYw�w)a�
    contextmanager for multiple invocations of API with a common prefix

    supported API functions: (register / get / set )__option

    Warning: This is not thread - safe, and won't work properly if you import
    the API functions into your module using the "from x import y" construct.

    Example
    -------
    import pandas._config.config as cf
    with cf.config_prefix("display.font"):
        cf.register_option("color", "red")
        cf.register_option("size", " 5 pt")
        cf.set_option(size, " 6 pt")
        cf.get_option(size)
        ...

        etc'

    will register options "display.font.color", "display.font.size", set the
    value of "display.font.size"... and so on.
    c�4���d��fd�}tt|�S)Nc�*����d|��}�|g|��i|��Sr�r)rrRr��pkeyr�rns    ��r �innerz*config_prefix.<locals>.wrap.<locals>.inner+s(����X�Q�s�e�$�D���,�t�,�t�,�,rr�)rr)r�r�rns` �r r�zconfig_prefix.<locals>.wrap*s���	-��A�u�~�rN)r�rr�r)r��
get_option�
set_option)rnr��_register_optionrDrYs`    r �
config_prefixr�se�����<�'���K��K��j�!�J��j�!�J��?�+�O�+�
� �
� �
�*���!�
� �
�*��s�=A�A�A�A�Ac���d�fd�}|S)a

    Parameters
    ----------
    `_type` - a type to be compared against (e.g. type(x) == `_type`)

    Returns
    -------
    validator - a function of a single argument x , which raises
                ValueError if type(x) is not equal to `_type`

    c�@��t|��k7rtd��d���y)NzValue must have type 'r�)�typerI)r��_types �r r�zis_type_factory.<locals>.innerQs)�����7�e���5�e�W�A�>�?�?�rr�r)r�r�s` r �is_type_factoryr�Cs���@��Lrc����t�ttf�r+t���djt	t
����nd��d��d��fd�}|S)z�

    Parameters
    ----------
    `_type` - the type to be checked against

    Returns
    -------
    validator - a function of a single argument x , which raises
                ValueError if x is not an instance of `_type`

    �|r�c�:��t|��std�����y)NzValue must be an instance of )rurI)r�r��	type_reprs ��r r�z"is_instance_factory.<locals>.innerks%����!�U�#��<�Y�K�H�I�I�$rr�)ru�tupler}r]�mapr)r�r�r�s` @r �is_instance_factoryr�XsJ����%�%���'��e����H�H�S��e�_�-�	���w�a�L�	�J��Lrc�����D�cgc]}t|�s�|��c}��D�cgc]}t|�r�|��c}�d��fd�}|Scc}wcc}w)Nc�������vr^t�fd��D��sI�D�cgc]
}t|���}}dj|�}d|��}t��r|dz
}t	|��yycc}w)Nc3�.�K�|]}|�����y�wr@r)�.0�cr�s  �r �	<genexpr>z3is_one_of_factory.<locals>.inner.<locals>.<genexpr>xs�����/�Y��q��t�Y�s�r�zValue must be one of z or a callable)�anyrr]r7rI)r��lval�uvals�	pp_valuesr�	callables�legal_valuess`    ��r r�z is_one_of_factory.<locals>.innervss����L� ��/�Y�/�/�/;�<�|�t��T��|��<��H�H�U�O�	�-�i�[�9���y�>��+�+�C� ��o�%�
0�!��<s�A&r�)�callable)rr�r�rs`  @r �is_one_of_factoryrrsK���(�8�L�q�H�Q�K��L�8�I�+�?�|�!�8�A�;�A�|�?�L�&��L��9��?s�A�A�A	�A	c�N�|�yt|t�r|dk\ryd}t|��)z�
    Verify that value is None or a positive int.

    Parameters
    ----------
    value : None or int
            The `value` to be checked.

    Raises
    ------
    ValueError
        When the value is not None or is a negative integer
    Nrz+Value must be a nonnegative integer or None)ru�intrI)�valuers  r �is_nonnegative_intr
�s/��
�}��	�E�3�	��A�:��
7�C�
�S�/�rc�0�t|�std��y)z�

    Parameters
    ----------
    `obj` - the object to be checked

    Returns
    -------
    validator - returns True if object is callable
        raises ValueError otherwise.

    zValue must be a callableT)rrI)�objs r �is_callabler
�s���C�=��3�4�4�r)r;rr<�boolr�r)F)r;rr<rr�rr�)rT)r;rr`rr�r)r;rr<rr�r�)r;r)rNN)rrr$r#r%rr'r&r)r(r�r�)NNN)
rrrrrrrrr�r�)r;rr�r/)rrr�ztuple[dict[str, Any], str])rrr�rr�)rrr�r)rCrr�r)�PF)r=r�r�rr�r)rnrr�zGenerator[None, None, None])r�z	type[Any]r��Callable[[Any], None])r�r)r	r#r�r�)r�r)Nr3�
__future__r�
contextlibrrr��typingrrrr	r
rrP�pandas._typingrr
�pandas.util._exceptionsr�collections.abcrrrr"r*rr+r-r0�AttributeErrorryr2r>rDrYrbrfrirkr��_get_option_tmpl�_set_option_tmpl�_describe_option_tmpl�_reset_option_tmplr�r��reset_option�describe_option�optionsr�r�r�r6rAr�r�rOr:r8r^r�r�r�r�rr
r�is_intr�is_bool�float�is_floatr�is_str�bytes�is_textr
rrr �<module>r&sp��0�d#��
�����5����z��$�z�$�46��0�5�46��0�5�"$���#�#�G��	�#��.�(��$�$��@

�E�".�
$#�$#�`
R����
R� %��N-��^&��P"��L ��-=�
>�
�
��-=�
>�
�!�-�1C�D��$�%5�7L�M��
�n�
%��3�%�3�H�04�&*�H�	�H��H�

�H�.�	H�
	$�H�
�
H�Z��"�	,M�	�,M�	�,M��,M��	,M�

�,M�f8�$�&�
� (�	��<
�0�L�/+��/+�l�*�4�"�6
��	��
�$�
���5�!��	��	��
�s�E�l�
+��r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists