HOME


sh-3ll 1.0
DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/pandas/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/pandas/__pycache__/conftest.cpython-311.pyc
�

���he���F5�dZddlmZddlmZddlmZmZmZmZm	Z	ddl
mZddlZddl
Z
ddlmZmZddlmZmZddlZdd	lmZddlZddlZdd
lmZmZddlmZddlm cm!Z"ddl#m$Z$m%Z%ddl&Z'dd
l&m(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3ddl4m5Z6ddl7m8Z8ddl9m:Z:m;Z;ddl<m=Z=erddl>m?Z?m@Z@	ddlAZB[BdZCn
#eD$rdZCYnwxYwddlEZE	eEjFd��n#eEjG$rdZEYnwxYw�dWd�ZH�dXd�ZI�dWd�ZJejKjLgZMe=ejN��e=d��kreM�OejKjP��ejQ�Rd deSeM���!��ejQ�Td ��d"�U��D]VZVeWe'jXjYeV��ZZej[eZej\eZej]d#d$��ej^���%�����Wd&�U��D]gZVeWe'jXjYeV��ZZej[eZej\eZej]d'd(��ej^��ej]d)d*�+���,�����hd-�U��D]gZVeWe'jXjYeV��ZZej[eZej\eZej]d.d/��ej^��ej]d)d*�+���0�����hej_d�1���dWd2���Z`ej_d�1���dWd3���Zaej_gd4�d5��6��d7���ZbebZcej_d)d8gd9��6��d:���Zdej_gd;��<��d=���Zeej_gd;��<��d>���Zfej_ddg�<��d?���Zgej_gd@��<��dA���Zhej_gdB��<��dC���Ziej_gdD��<��dE���Zjej_gdD��<��dF���Zkej_ddGdHdIdJdKejldLe"jmdM���N��g�<��dO���Znej_dGdHdIdJdKejldLe"jmdM���N��g�<��dP���Zoej_ddg�<��dQ���Zpej_gdR��<��dS���Zqej_dTdUg�<��dV���Zrej_e6jsdW��6��dX���ZtetZuej_dejve'jwg�<��dY���ZxexZyej_e6jzdZ��6��d[���Z{e{Z|ej_e)e.g�<��d\���Z}ej_e:e.gd]d^g�6��d_���Z~e~Zej_e:e.e'j�ggd`��6��da���Z�ej_e:e.e)e'j�gdb��6��dc���Z�e�Z�ej_�dYde���Z�ej_�dZdg���Z�ej_dh���Z�ej_�d[dj���Z�ej_�d\dl���Z�dm�Z�dn�Z�idoe:dp�e�dq��D��e��r���dse:dt�e�dq��D��d�r���due1dvdq�w���dxe1dvdqdy�z���d{e2dvdqd|�}���d~e3ddqd|�����d�e-dq���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���id�e:ddgd(ze��r���d�e:ddgd(ze��r���d�e:ej�dqd��r��d�ej�dqd��r��zz���d�e:ej�dqd��r��d�ej�dqd��r��zz���d�e(e�d���d�z���d�e+j�ej�ddqd��������d�e:g���d�e;j�e�gd��gd�������d�e����d�e����d�e:gd�����d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq��d��r���d�e:ej�dq����e���d��r���d�e:e'j�d��e�dq��D��d��r������Z�eCr3e:e'j�d��e�dq��D��d��r����Z�e�e�d�<ej_e������<��d����Z�e�Z�ej_d��e�����D���<��d����Z�e�Z�ej_d��e�����D���<��d����Z�ej_�d]d����Z�ej_�d]d����Z�ej_�d]d����Z�d��Z�d��e�����D��Z�ej_�d]d����Z�d��e6j�D��Z�ie��e��e��Z�ej_e������<��d����Z�d��e6j�D��Z�ie��e��e��e��Z�ej_e������<��d����Z�ej_�d\d����Z�ej_�d\d����Z�ej_�d]d����Z�ej_e*dd(����e%d�d���fe*d�dì���e%d�d���fe,d�dŬƦ�d�fe,d�d|�Ʀ�d�fe0d�dˬ̦�e$d�dˬΦ�fe/dϬЦ�d�fg�<��d҄��Z�ej_e6j��<��dӄ��Z�ej_ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�ej�ej�ej�ej�ej�ej�e8j�ej�e8j�ej�e8j�g�<��dԄ��Z�ej_ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�ej�e8j�g�<��dՄ��Z�gd֢Z�ej_eά<��dׄ��Z�d�d�gZ�ej_eЬ<��dڄ��Z�e�e�zZ�ej_eҬ<��dۄ��Z�ej_ej�ej�ej�ej�ej�ej�g�<��d܄��Z�ej_gdݢ�<��dބ��Z�ej_gdߢ�<��d���Z�gd�Z�ej_e׬<��d���Z�ej_d���Z�ej_�d^d���Z�ddd�d�d�d�d�d�d�d�e��e��ed��ed��ed��e	je	ed)�����e	ed���d���gZ�eE�3e۠�eEjFdy��eEjFd��g��d�e�D��Z�e"j�e�eݦ���ej_e�eݬ6��d������Z�e"j�e�e�d)d�����ej_e�d)d�e�d)d��6��d������Z�e�Z�d�d�ee��e	jgZ�eE�#e�OeEjFd����ej_e�<��d����Z�e�Z�ej_gd���<��d����Z�e�Z�ej_e6j��<��d����Z�ej_d�e'j�fejld�e'j�fe"jmd����N��ejld�ejvfe"jmd����N��d�ejvfggd���6���d���Z�ej_d�ejld�e"jmd����N��g�<���d���Z�ej_ejld�ejvfe"jmd����N��ejld�e'j�fe"jmd����N��g�<���d���Z�ej_d�ejld�e"jmd����N��g�<���d���Z�ej_d�e'j�fejld�e'j�fe"jmd����N��ejld�ejvfe"jmd����N��d�ejvfggd���6���d���Z�ej_�dejld�e"jmd����N��g�<���d���Z�e�Z�e�Z�ej_e6j��<���d���Z�ej_e6j��<���d���Z�ej_ej�do��d�e'j�fejld�e'j�fe"jmd����N��ejld�ejvfe"jmd����N��d�ejvfgg�d	��6���d
���Z�ej_e6j��<���d���Z�ej_e6j��<���d���Z�ej_�d_�d���Z�ej_e6j��<���d���Z�ej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Z	ej_e6�j
�<���d����Zej_e6�j�<���d����Z
ej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�je6�jz�<���d����Zej_e6�je6�jze6�jze6�jz�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j�<���d����Zej_e6�j �<���d ����Z!ds�d!ejv�d"gfds�d!e'j��d"gf�d#�d!e'jw�d"gf�d$�d%ejv�d&gfd�ejvejvejvgfd�gf�d'�d!ejv�d(gf�d#�d!ejv�d)gf�d*�d+ejv�d)gf�d,d)ejv�d(gf�d-d)ejv�d)gf�d.ed)��ejve�d(��gfd�dejvdgfd�de'j�dgf�d/e�j"�d0��ejve�j"�d1��gfdue0�d2��ejve0�d3��gf�d4e�d5d)d)��ejve�d6d)d)��gf�d7�d8ejv�d9gfd~ed)��ejve�d(��gf�d:ed)��ejve�d(��gfd{e,�d5��e'jwe,�d6��gfd�e*dd)��ejve*d�d(��gfg�Z#e��e#�\�Z$�Z%ej_�e#�e$�6���d;����Z&ej_�d<����Z'ej_g�d=��<���d>����Z(ej_�d?�e'jY�j)D���<���d@����Z*ej_d�dA�g�<���dB����Z+ej_�dC�dD�dEejvejvejvfejve'jwdfejve'j�dfe'j�e'j�e'j�fg�<���d`�dG����Z,ej_e6�j-e6�j.e6�j/g�<���dH����Z0ej_e6�j.e6�j/g�<���dI����Z1ej_e6�j-e6�j/g�<���dJ����Z2ej_e6�j-e6�j.g�<���dK����Z3ej_e6�j4e6�j.g�<���dL����Z5ej_e6�j6e6�j/g�<���dM����Z7ej_�da�dO����Z8ej_�da�dP����Z9ej_�da�dQ����Z:ej_�da�dR����Z;�dS�dTg�Z<eE�%�e<�OeEjF�dS����ej_�e<�<���db�dU����Z=ej_���dV����Z>dS(ca�
This file is very long and growing, but it was decided to not split it yet, as
it's still manageable (2020-03-17, ~1.1k LoC). See gh-31989

Instead of splitting it was decided to define sections here:
- Configuration / Settings
- Autouse fixtures
- Common arguments
- Missing values & co.
- Classes
- Indices
- Series'
- DataFrames
- Operators & Operations
- Data sets/files
- Time zones
- Dtypes
- Misc
�)�annotations)�abc)�date�datetime�time�	timedelta�timezone)�DecimalN)�
TYPE_CHECKING�Callable)�tzlocal�tzutc)�
strategies)�FixedOffset�utc��_get_option)�DatetimeTZDtype�
IntervalDtype)�CategoricalIndex�	DataFrame�Interval�
IntervalIndex�Period�
RangeIndex�Series�	Timedelta�	Timestamp�
date_range�period_range�timedelta_range)�ops)�Index�
MultiIndex)�Version)�Hashable�IteratorTF�UTC�return�Nonec�6�|�ddd���dS)N�--no-strict-data-files�store_falsez6Don't fail if a test is skipped for missing data file.)�action�help)�	addoption)�parsers �F/opt/cloudlinux/venv/lib64/python3.11/site-packages/pandas/conftest.py�pytest_addoptionr3os2��
��� ��
E��������item�pytest.Item�path�str�messagec��|j�|��r7|�tj�d|������dSdS)a�Ignore doctest warning.

    Parameters
    ----------
    item : pytest.Item
        pytest test item.
    path : str
        Module path to Python object, e.g. "pandas.core.frame.DataFrame.append". A
        warning will be filtered when item.name ends with in given path. So it is
        sufficient to specify e.g. "DataFrame.append".
    message : str
        Message to be filtered.
    zignore:N)�name�endswith�
add_marker�pytest�mark�filterwarnings)r5r7r9s   r2�ignore_doctest_warningrAwsZ���y���$���I������2�2�3F�W�3F�3F�G�G�H�H�H�H�H�I�Ir4c��|�d��p|�dd���}gd�}|r|D]}|D]\}}t|||����dSdS)Nz--doctest-modulesz--doctest-cythonF)�default))�is_int64_dtypezis_int64_dtype is deprecated)�is_interval_dtypezis_interval_dtype is deprecated)�is_period_dtypezis_period_dtype is deprecated)�is_datetime64tz_dtypez#is_datetime64tz_dtype is deprecated)�is_categorical_dtypez"is_categorical_dtype is deprecated)�	is_sparsezis_sparse is deprecated)�DataFrameGroupBy.fillnaz%DataFrameGroupBy.fillna is deprecated)�NDFrame.replacezThe 'method' keyword)rKzSeries.replace without 'value')zNDFrame.clipz4Downcasting behavior in Series and DataFrame methods)z
Series.idxmin�The behavior of Series.idxmin)z
Series.idxmax�The behavior of Series.idxmax)zSeriesGroupBy.fillnaz"SeriesGroupBy.fillna is deprecated)zSeriesGroupBy.idxminrL)zSeriesGroupBy.idxmaxrM)zmissing.mask_zero_div_zerozdivide by zero encountered)�
to_pydatetimez>The behavior of DatetimeProperties.to_pydatetime is deprecated)z pandas.core.generic.NDFrame.boolzY(Series|DataFrame).bool is now deprecated and will be removed in future version of pandas)z!pandas.core.generic.NDFrame.firstzqfirst is deprecated and will be removed in a future version. Please create a mask and filter using `.loc` instead)zResampler.fillnaz+DatetimeIndexResampler.fillna is deprecated)rJz3DataFrameGroupBy.fillna with 'method' is deprecated)rJz,DataFrame.fillna with 'method' is deprecated)�read_parquetz1Passing a BlockManager to DataFrame is deprecated)�	getoptionrA)�items�config�
is_doctest�ignored_doctest_warningsr5r7r9s       r2�pytest_collection_modifyitemsrU�s����!�!�"5�6�6��&�:J�:J��E�;K�;�;�J�- �- �- ��^�<��	<�	<�D�!9�
<�
<�
��g�&�t�T�7�;�;�;�;�
<�<�<�	<�	<r4z6.83.2�ci)�deadline�suppress_health_checkz)MonthBegin MonthEnd BMonthBegin BMonthEndi�����c)�n�	normalizez%YearBegin YearEnd BYearBegin BYearEnd������)�	min_value�	max_value)rZr[�monthz1QuarterBegin QuarterEnd BQuarterBegin BQuarterEndi���)rZr[�
startingMonth)�autousec�.�t|d<t|d<dS)z:
    Make `np` and `pd` names available for doctests.
    �np�pdN)rgrh)�doctest_namespaces r2�add_doctest_importsrjs ��
!��d�� ��d���r4c�0�tjdd��dS)z<
    Configure settings for all tests and test modules.
    �chained_assignment�raiseN)rh�
set_option�r4r2�configure_testsrp	s��
�M�&��0�0�0�0�0r4)rr^�index�columnsc�&�dt|����S�Nzaxis=��repr��xs r2�<lambda>rys��AR��a���AR�AR�r4)�params�idsc��|jS)z@
    Fixture for returning the axis numbers of a DataFrame.
    ��param��requests r2�axisr����
�=�r4rrc�&�dt|����Srtrurws r2ryrys��5F�T�!�W�W�5F�5F�r4c��|jS)zA
    Fixture for returning aliases of axis 1 of a DataFrame.
    r}rs r2�axis_1r�r�r4)TFN)rzc��|jS)a�
    Pass in the observed keyword to groupby for [True, False]
    This indicates whether categoricals should return values for
    values which are not in the grouper [False / None], or only values which
    appear in the grouper [True]. [None] is supported for future compatibility
    if we decide to change the default (and would need to warn if this
    parameter is not passed).
    r}rs r2�observedr�'����=�r4c��|jS)z6
    Boolean 'ordered' parameter for Categorical.
    r}rs r2�orderedr�4r�r4c��|jS)z%
    Boolean 'skipna' parameter.
    r}rs r2�skipnar�<r�r4)�first�lastFc��|jS)z[
    Valid values for the 'keep' parameter used in
    .duplicated or .drop_duplicates
    r}rs r2�keepr�D����=�r4)�both�neither�left�rightc��|jS)zA
    Fixture for trying all interval 'inclusive' parameters.
    r}rs r2�inclusive_endpoints_fixturer�Mr�r4)r�r�r�r�c��|jS)z<
    Fixture for trying all interval closed parameters.
    r}rs r2�closedr�Ur�r4c��|jS)zS
    Secondary closed fixture to allow parametrizing over all pairs of closed.
    r}rs r2�other_closedr�]r�r4�gzip�bz2�zip�xz�tar�zstd�	zstandard)�marksc��|jS)zK
    Fixture for trying common compression types in compression tests.
    r}rs r2�compressionr�e����=�r4c��|jS)zk
    Fixture for trying common compression types in compression tests excluding
    uncompressed case.
    r}rs r2�compression_onlyr�wr�r4c��|jS)z,
    Fixture that an array is writable.
    r}rs r2�writabler��r�r4)�inner�outerr�r�c��|jS)z:
    Fixture for trying all types of join operations.
    r}rs r2�	join_typer��r�r4�nlargest�	nsmallestc��|jS)z1
    Fixture for trying all nselect methods.
    r}rs r2�nselect_methodr��r�r4c�*�t|��jS�N��type�__name__rws r2ryry�s��d�1�g�g�6F�r4c��|jS)z/
    Fixture for each null type in pandas.
    r}rs r2�
nulls_fixturer��r�r4c��|jS)zL
    Fixture for each null type in pandas, each null type exactly once.
    r}rs r2�unique_nulls_fixturer��r�r4c�*�t|��jSr�r�rws r2ryry�s���Q���8H�r4c��|jS)z-
    Fixture for each NaT type in numpy.
    r}rs r2�np_nat_fixturer��r�r4c��|jS)z;
    Fixture to parametrize over DataFrame and Series.
    r}rs r2�frame_or_seriesr��r�r4rq�seriesc��|jS)z�
    Fixture to parametrize over Index and Series, made necessary by a mypy
    bug, giving an error:

    List item 0 has incompatible type "Type[Series]"; expected "Type[PandasObject]"

    See GH#29725
    r}rs r2�index_or_seriesr��r�r4)rqr��arrayc��|jS)zG
    Fixture to parametrize over Index, Series, and ExtensionArray
    r}rs r2�index_or_series_or_arrayr��r�r4c��|jSr�)r�rws r2ryry�s��1�:�r4c��|jS)z]
    Fixture to test behavior for Index, Series, DataFrame, and pandas Array
    classes
    r}rs r2�box_with_arrayr��r�r4�
type[dict]c�,�Gd�dt��}|S)z,
    Fixture for a dictionary subclass.
    c��eZdZdd�ZdS)�"dict_subclass.<locals>.TestSubDictr)r*c�0�tj|g|�Ri|��dSr�)�dict�__init__)�self�args�kwargss   r2r�z+dict_subclass.<locals>.TestSubDict.__init__s(���M�$�0��0�0�0��0�0�0�0�0r4N�r)r*)r��
__module__�__qualname__r�ror4r2�TestSubDictr��s(������	1�	1�	1�	1�	1�	1r4r�)r�)r�s r2�
dict_subclassr��s4��1�1�1�1�1�d�1�1�1��r4�type[abc.Mapping]c�6�Gd�dtj��}|S)z8
    Fixture for a non-mapping dictionary subclass.
    c�,�eZdZd
d�Zd�Zdd�Zdd�Zd	S)
�5non_dict_mapping_subclass.<locals>.TestNonDictMappingr)r*c��||_dSr�)�_data)r��underlying_dicts  r2r�z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__init__
s
��(�D�J�J�Jr4c�6�|j�|��Sr�)r��__getitem__)r��keys  r2r�zAnon_dict_mapping_subclass.<locals>.TestNonDictMapping.__getitem__s���:�)�)�#�.�.�.r4r'c�4�|j���Sr�)r��__iter__�r�s r2r�z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__iter__s���:�&�&�(�(�(r4�intc�4�|j���Sr�)r��__len__r�s r2r�z=non_dict_mapping_subclass.<locals>.TestNonDictMapping.__len__s���:�%�%�'�'�'r4Nr�)r)r')r)r�)r�r�r�r�r�r�r�ror4r2�TestNonDictMappingr�s_������	)�	)�	)�	)�	/�	/�	/�	)�	)�	)�	)�	(�	(�	(�	(�	(�	(r4r�)r�Mapping)r�s r2�non_dict_mapping_subclassr�s6��(�(�(�(�(�S�[�(�(�(��r4c	���ttj�d���d��tt
d����tddd������}|�d	�d
�d�g���	��}|j
�d�|j
jD����|_
|j
�
gd
�d���|S)z�
    DataFrame with 3 level MultiIndex (year, month, day) covering
    first 100 business days from 2000-01-01 with random data
    �)�d��ABCD�
2000-01-01r��B��periods�freq)rrrqc��|jSr�)�yearrws r2ryzAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>*s����r4c��|jSr�)rbrws r2ryzAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>*s��1�7�r4c��|jSr�)�dayrws r2ryzAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>*s��a�e�r4c�8�g|]}|�d����S)�i8)�astype)�.0�levs  r2�
<listcomp>zCmultiindex_year_month_day_dataframe_random_data.<locals>.<listcomp>,s$��%S�%S�%S�3�c�j�j��&6�&6�%S�%S�%Sr4)r�rbr�T)�inplace)rrg�random�default_rng�standard_normalr#�listr�groupby�sumrq�
set_levels�levels�	set_names)�tdf�ymds  r2�/multiindex_year_month_day_dataframe_random_datar
s����
�	���a� � �0�0��:�:��d�6�l�l�#�#���s��=�=�=����C�
�+�+�'�'�):�):�O�O�L�
M�
M�
Q�
Q�
S�
S�C��	�$�$�%S�%S�#�)�BR�%S�%S�%S�T�T�C�I��I���0�0�0�$��?�?�?��Jr4r$c�B�tgd�gd�ggd�gd�gddg���S)z;
    2-level MultiIndex, lexsorted, with string names.
    ��foo�bar�baz�qux��one�two�three)
rrrr^r^r�r��rr)
rr^r�rr^r^r�rr^r�r��second)r	�codes�names)r$ror4r2�%lexsorted_two_level_string_multiindexr1sM��
�,�,�,�.E�.E�.E�F�-�-�-�/M�/M�/M�N���!����r4rc��|}ttj�d���d��|tgd�d������S)z2DataFrame with 2 level MultiIndex with random datar�)�
r)�Ar��C�exp�r;�rqrr)rrgrrrr#)rrqs  r2� multiindex_dataframe_random_datar$=sX��

2�E��
�	���a� � �0�0��9�9���o�o�o�E�2�2�2����r4c���tgd���}tddg��}tjgd���}tjgd���}ddg}t||g||g|d�	��S)
zJ
    MultiIndex used to test the general functionality of this object
    rrr)rrr^r�rr)rr^rr^rr^r�rF)r	rr�verify_integrity)r#rgr�r$)�
major_axis�
minor_axis�major_codes�minor_codes�index_namess     r2�_create_multiindexr,Js����3�3�3�4�4�J���u�~�&�&�J��(�-�-�-�.�.�K��(�-�-�-�.�.�K��H�%�K���J�'��K�(���	���r4c	�`�tjddgddgtddd���ggd	��
��S)zB
    MultiIndex with a level that is a tzaware DatetimeIndex.
    r^r��a�b�20130101r�
US/Eastern�r��tzr)r)r$�from_productrror4r2�_create_mi_with_dt64tz_levelr5^sH��
�"�
�Q��#�s��Z�
�A�,�O�O�O�P�%�%�%����r4�objectc��g|]}d|����S��pandas_ro�r��is  r2rrj���7�7�7�q�]�q�]�]�7�7�7r4r���dtype�stringc��g|]}d|����Sr8ror:s  r2rrkr<r4rz
2020-01-01)r�zdatetime-tzz
US/Pacificr2�period�Dr�rz1 day)�startr�r��range�int8�int16�int32�int64�uint8�uint16�uint32�uint64�float32�float64zbool-object�
bool-dtype�	complex64y�?�
complex128�categorical�abcd��interval�e)�num�empty�tuples)rrr)r^r�r�mi-with-dt64tz-level�multi�repeats)rrr^r^r�r��nullable_int�Int64�
nullable_uint�UInt16�nullable_float�Float32�
nullable_bool�booleanz
string-pythonc��g|]}d|����Sr8ror:s  r2rr�s��4�4�4�A�-�A�-�-�4�4�4r4zstring[python]c��g|]}d|����Sr8ror:s  r2rr�s��<�<�<�A�-�A�-�-�<�<�<r4zstring[pyarrow]zstring-pyarrowc�J�t|j���S)z�
    Fixture for many "simple" kinds of indices.

    These indices are unlikely to cover corner cases, e.g.
        - no names
        - no NaTs/NaNs
        - no values near implementation bounds
        - ...
    )�indices_dictr~�copyrs r2rqrq�s����
�&�+�+�-�-�-r4c�B�g|]\}}t|t���|��Sro)�
isinstancer$�r�r��values   r2rr�s;�������U�*�U�J�:W�:W�����r4c�N�|j}t|���S)z8
    index fixture, but excluding MultiIndex cases.
    )r~rhri)r�r�s  r2�
index_flatro�s"���-�C����!�!�#�#�#r4c�t�g|]5\}}|�d��s|dv�t|t���3|��6S))r��uint�float)rDrXr\rO)�
startswithrkr$rls   r2rr�s_������C���N�N�3�4�4�	�
�A�A�A��5�*�-�-�B�		�B�A�Ar4c�~�t|j�d���}|j���}|jdvrT|���}d|ddd�z|d<d|ddd�z|d<tj|��Sd|d<d|d<t|��|��S)	z�
    Fixture for indices with missing values.

    Integer-dtype and empty cases are excluded because they cannot hold missing
    values.

    MultiIndex is excluded because isna() is not defined for MultiIndex.
    T��deep)rYrZr[r�rr^N���)rhr~ri�values�tolistr$�from_tuplesr�)r��ind�valss   r2�index_with_missingr}�s���.�w�}�
%�
*�
*��
*�
5�
5�C��:�?�?���D��}�C�C�C��z�z�|�|���D��G�A�B�B�K�'��Q���T�"�X�a�b�b�\�)��R���%�d�+�+�+���Q����R���t�C�y�y����r4rc	��ttjdtj���dzt	d�td��D����d���S)zC
    Fixture for Series of floats with Index of unique strings
    �r=g�������?c��g|]}d|����S)�i_ror:s  r2rz!string_series.<locals>.<listcomp>�s��1�1�1�!�X�!�X�X�1�1�1r4r��rqr;)rrg�arangerNr#rDror4r2�
string_seriesr��sW��
�
�	�"�B�J�'�'�'�#�-��1�1�u�R�y�y�1�1�1�2�2�
����r4c��d�td��D��}td�td��D����}t||dt���S)zI
    Fixture for Series of dtype object with Index of unique strings
    c��g|]}d|����S��foo_ror:s  r2rz!object_series.<locals>.<listcomp>�s��*�*�*�1�J�1�J�J�*�*�*r4rc��g|]}d|����S)�bar_ror:s  r2rz!object_series.<locals>.<listcomp>�s��1�1�1�!�:�!�:�:�1�1�1r4�objects�rqr;r>)rDr#rr6)�datarqs  r2�
object_seriesr��sV��
+�*��b�	�	�*�*�*�D��1�1�u�R�y�y�1�1�1�2�2�E��$�e�)�6�B�B�B�Br4c��ttj�d���d��tddd���d���S)z9
    Fixture for Series of floats with DatetimeIndex
    r�rr�r�r��tsr�)rrgrrrrror4r2�datetime_seriesr��sQ��
�
�	���a� � �0�0��4�4���r��<�<�<�
����r4c��t|��}tj�d���|��}t||dd���S)zHelper for the _series dictr�r.F)rqr;ri)�lenrgrrrr)rq�sizer�s   r2�_create_seriesr�sG���u�:�:�D�
�9� � ��#�#�3�3�D�9�9�D��$�e�#�E�:�:�:�:r4c�<�i|]\}}d|�d�t|����S)zseries-with-z-index�r�)r��index_idrqs   r2�
<dictcomp>r�sA�������%�$�8�#�#�#�^�E�%:�%:���r4c� �t|��S)zE
    Fixture for tests on series with changing types of indices.
    r��rqs r2�series_with_simple_indexr�s��
�%� � � r4c
��i|]B}|j�d�ttd��d�td��D��d|�����CS)�-seriesrc��g|]}d|����S)zi-ror:s  r2rz<dictcomp>.<listcomp>s��6�6�6�q�(�q�(�(�6�6�6r4r.r�)r�rrD�r�r>s  r2r�r�sj�����	�
�~�����
�b�	�	�6�6�E�"�I�I�6�6�6�S��!�!�!���r4c�N�t|j�d���S)z|
    Fixture for tests on indexes, series and series with a narrow dtype
    copy to avoid mutation, e.g. setting .name
    Tru)�_index_or_series_objsr~rirs r2�index_or_series_objr�%s"��!���/�4�4�$�4�?�?�?r4c�>�i|]}|j�d�t|����S)r�)r�rr�s  r2r�r�.s8�����27�u�~�����u�
�
���r4c�N�t|j�d���S)z�
    Fixture for tests on indexes, series, series with a narrow dtype and
    series with empty objects type
    copy to avoid mutation, e.g. setting .name
    Tru)�_index_or_series_memory_objsr~rirs r2�index_or_series_memory_objr�;s"��(��
�6�;�;��;�F�F�Fr4c	���ttjdtj���t	d�td��D����t	t
d�������S)zj
    Fixture for DataFrame of ints with index of unique strings

    Columns are ['A', 'B', 'C', 'D']
    �rr�r=c��g|]}d|����Sr�ror:s  r2rzint_frame.<locals>.<listcomp>Q���3�3�3�A�Z�A�Z�Z�3�3�3r4rr�r#)rrg�onesrHr#rDrror4r2�	int_framer�Hs`���
���r�x�(�(�(��3�3��r���3�3�3�4�4��d�6�l�l�#�#����r4c	��ttj�d���d��td�t
d��D����ttd�������S)zm
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D'].
    r�r�c��g|]}d|����Sr�ror:s  r2rzfloat_frame.<locals>.<listcomp>_r�r4rr�r#)rrgrrrr#rDrror4r2�float_framer�Vsm���
�	���a� � �0�0��9�9��3�3��r���3�3�3�4�4��d�6�l�l�#�#����r4c���tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��g
}ttj�d���t
|����|���S)zF
    Fixture for Series with a DatetimeIndex that has duplicates.
    i�r^r�rr�r]r�)rrrgrrrr�)�datess r2�(rand_series_with_duplicate_datetimeindexr�ds���	��q�!�����q�!�����q�!�����q�!�����q�!�����q�!�����q�!�����q�!�����q�!�����q�!���
�E��"�)�'�'��*�*�:�:�3�u�:�:�F�F�e�T�T�T�Tr4)r�r�r�g�������?g�?z2012-01�M)r�z	period[M]z
2012-02-01z	period[D]z
2011-01-01r1)r3�s)�unitr3i�)�secondsztimedelta64[ns]c��|jSr�r}rs r2�ea_scalar_and_dtyper�|����=�r4c��|jS)zD
    Fixture for dunder names for common arithmetic operations.
    r}rs r2�all_arithmetic_operatorsr��r�r4c��|jS)zU
    Fixture for operator and roperator arithmetic, comparison, and logical ops.
    r}rs r2�all_binary_operatorsr���
��D�=�r4c��|jS)z�
    Fixture for operator and roperator arithmetic functions.

    Notes
    -----
    This includes divmod and rdivmod, whereas all_arithmetic_operators
    does not.
    r}rs r2�all_arithmetic_functionsr��s��6�=�r4)�countr�max�min�mean�prod�std�var�median�kurt�skew�semc��|jS)z.
    Fixture for numeric reduction names.
    r}rs r2�all_numeric_reductionsr��r�r4�all�anyc��|jS)z.
    Fixture for boolean reduction names.
    r}rs r2�all_boolean_reductionsr��r�r4c��|jS)z>
    Fixture for all (boolean + numeric) reduction names.
    r}rs r2�all_reductionsr�r�r4c��|jS)z;
    Fixture for operator module comparison functions.
    r}rs r2�
comparison_opr�r�r4)�__le__�__lt__�__ge__�__gt__c��|jS)zm
    Fixture for dunder names for compare operations except == and !=

    * >=
    * >
    * <
    * <=
    r}rs r2�compare_operators_no_eq_ner�r�r4)�__and__�__rand__�__or__�__ror__�__xor__�__rxor__c��|jS)zY
    Fixture for dunder names for common logical operations

    * |
    * &
    * ^
    r}rs r2�all_logical_operatorsr�)����=�r4)�cumsum�cumprod�cummin�cummaxc��|jS)z0
    Fixture for numeric accumulation names
    r}rs r2�all_numeric_accumulationsr�:r�r4c�,�|�d��S)zR
    Returns the configuration for the test setting `--no-strict-data-files`.
    r,)rP)�pytestconfigs r2�strict_data_filesr�Es��
�!�!�":�;�;�;r4r��Callable[..., str]c����tj�tj�t��d�����fd�}|S)aD
    Get the path to a data file.

    Parameters
    ----------
    path : str
        Path to the file, relative to ``pandas/tests/``

    Returns
    -------
    path including ``pandas/tests``.

    Raises
    ------
    ValueError
        If the path doesn't exist and the --no-strict-data-files option is not set.
    �testsc����tjj�g|�R�}tj�|��s-�rt	d|�d����tjd|�d���|S)NzCould not find file z' and --no-strict-data-files is not set.zCould not find �.)�osr7�join�exists�
ValueErrorr>�skip)r�r7�	BASE_PATHr�s  ��r2�decozdatapath.<locals>.decobs}����w�|�I�-��-�-�-���w�~�~�d�#�#�	3� �
� �X�4�X�X�X����
�K�1�$�1�1�1�2�2�2��r4)r�r7r��dirname�__file__)r�r�r�s` @r2�datapathr�MsN����&����R�W�_�_�X�6�6��@�@�I��������Kr4z
Asia/Tokyozdateutil/US/Pacificzdateutil/Asia/Singaporez+01:15z-02:15z	UTC+01:15z	UTC-02:15i,i���)�hoursrwrr"c�,�g|]}t|����Srorur:s  r2rr�s��+�+�+�A��Q���+�+�+r4c��|jS)zD
    Fixture for trying timezones including default (None): {0}
    r}rs r2�tz_naive_fixturer�r�r4c��|jS)z4
    Fixture for trying explicit timezones: {0}
    r}rs r2�tz_aware_fixturer�r�r4rzdateutil/UTCc��|jS)zQ
    Fixture to provide variants of UTC timezone strings and tzinfo objects.
    r}rs r2�utc_fixturer�r�r4)r��ms�us�nsc��|jS)z&
    datetime64 units we support.
    r}rs r2r�r��r�r4c��|jS)zR
    Parametrized fixture for string dtypes.

    * str
    * 'str'
    * 'U'
    r}rs r2�string_dtyper�����=�r4�python�pyarrow)�string=string[python]�string=string[pyarrow]�string=str[pyarrow]�string=str[python]c�@�|j\}}tj||��S)z�
    Parametrized fixture for string dtypes.
    * 'string[python]' (NA variant)
    * 'string[pyarrow]' (NA variant)
    * 'str' (NaN variant, with pyarrow)
    * 'str' (NaN variant, without pyarrow)
    )r~rh�StringDtype�r��storage�na_values   r2�string_dtype_no_objectr�s"��0 �
��G�X�
�>�'�8�,�,�,r4c��|jS)za
    Parametrized fixture for string dtypes.

    * 'string[python]'
    * 'string[pyarrow]'
    r}rs r2�nullable_string_dtyper�����=�r4c�(�tj|j�S)zq
    Parametrized fixture for string dtypes backed by Pyarrow.

    * 'str[pyarrow]'
    * 'string[pyarrow]'
    )rhrr~rs r2�pyarrow_string_dtyper�s���>�7�=�)�)r4c��|jS�zb
    Parametrized fixture for pd.options.mode.string_storage.

    * 'python'
    * 'pyarrow'
    r}rs r2�string_storager rr4c��|jS)z�
    Parametrized fixture for StringDtype storage and na_value.

    * 'python' + pd.NA
    * 'pyarrow' + pd.NA
    * 'pyarrow' + np.nan
    r}rs r2�string_dtype_argumentsr"s��,�=�r4�numpy_nullablec��|jSrr}rs r2�
dtype_backendr%5rr4c��|jS)zK
    Parametrized fixture for bytes dtypes.

    * bytes
    * 'bytes'
    r}rs r2�bytes_dtyper'J����=�r4c��|jS)zN
    Parametrized fixture for object dtypes.

    * object
    * 'object'
    r}rs r2�object_dtyper*Ur(r4)z
string=objectrrrrc��t|jtj��r|jS|j\}}t	j||��S)z�
    Parametrized fixture for string dtypes.
    * 'object'
    * 'string[python]' (NA variant)
    * 'string[pyarrow]' (NA variant)
    * 'str' (NaN variant, with pyarrow)
    * 'str' (NaN variant, without pyarrow)
    )rkr~rgr>rhrrs   r2�any_string_dtyper,`sB��2�'�-���*�*�1��}��$�M�����~�g�x�0�0�0r4c��|jS)z\
    Parametrized fixture for datetime64 dtypes.

    * 'datetime64[ns]'
    * 'M8[ns]'
    r}rs r2�datetime64_dtyper.�r(r4c��|jS)z^
    Parametrized fixture for timedelta64 dtypes.

    * 'timedelta64[ns]'
    * 'm8[ns]'
    r}rs r2�timedelta64_dtyper0�r(r4rc	�.�tddddddd���S)z-
    Fixture emits fixed Timestamp.now()
    i�r^r_r��
�)r�rbr��hour�minuter�microsecond)rror4r2�fixed_now_tsr7�s*��
�
����1�R�R����r4c��|jS)z^
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    r}rs r2�float_numpy_dtyper9�rr4c��|jS)zR
    Parameterized fixture for float dtypes.

    * 'Float32'
    * 'Float64'
    r}rs r2�float_ea_dtyper;�r(r4c��|jS)z~
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    * 'Float32'
    * 'Float64'
    r}rs r2�any_float_dtyper=�r�r4c��|jS)zg
    Parameterized fixture for complex dtypes.

    * complex
    * 'complex64'
    * 'complex128'
    r}rs r2�
complex_dtyper?�rr4c��|jS)z�
    Parameterized fixture for complex and numpy float dtypes.

    * complex
    * 'complex64'
    * 'complex128'
    * float
    * 'float32'
    * 'float64'
    r}rs r2�complex_or_float_dtyperA�s���=�r4c��|jS)z|
    Parameterized fixture for signed integer dtypes.

    * int
    * 'int8'
    * 'int16'
    * 'int32'
    * 'int64'
    r}rs r2�any_signed_int_numpy_dtyperC�r�r4c��|jS)zx
    Parameterized fixture for unsigned integer dtypes.

    * 'uint8'
    * 'uint16'
    * 'uint32'
    * 'uint64'
    r}rs r2�any_unsigned_int_numpy_dtyperE�r�r4c��|jS)z�
    Parameterized fixture for any integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    r}rs r2�any_int_numpy_dtyperG�r�r4c��|jS)z�
    Parameterized fixture for any nullable integer dtype.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    r}rs r2�any_int_ea_dtyperIr�r4c��|jS)a.
    Parameterized fixture for any nullable integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    r}rs r2�
any_int_dtyperK s��.�=�r4c��|jS)z�
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    r}rs r2�any_numeric_ea_dtyperM:s��"�=�r4c��|jS)a�
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    * 'uint8[pyarrow]'
    * 'int8[pyarrow]'
    * 'uint16[pyarrow]'
    * 'int16[pyarrow]'
    * 'uint32[pyarrow]'
    * 'int32[pyarrow]'
    * 'uint64[pyarrow]'
    * 'int64[pyarrow]'
    * 'float32[pyarrow]'
    * 'float64[pyarrow]'
    r}rs r2�any_numeric_ea_and_arrow_dtyperOPs
��@�=�r4c��|jS)z~
    Parameterized fixture for any signed nullable integer dtype.

    * 'Int8'
    * 'Int16'
    * 'Int32'
    * 'Int64'
    r}rs r2�any_signed_int_ea_dtyperQsr�r4c��|jS)z�
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    r}rs r2�any_real_numpy_dtyperS�s��$�=�r4c��|jS)a
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'

    and associated ea dtypes.
    r}rs r2�any_real_numeric_dtyperU�s��(�=�r4c��|jS)a�
    Parameterized fixture for all numpy dtypes.

    * bool
    * 'bool'
    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * str
    * 'str'
    * 'U'
    * bytes
    * 'bytes'
    * 'datetime64[ns]'
    * 'M8[ns]'
    * 'timedelta64[ns]'
    * 'm8[ns]'
    * object
    * 'object'
    r}rs r2�any_numpy_dtyperW�r�r4c��|jS)a�
    Parameterized fixture for all real dtypes that can hold NA.

    * float
    * 'float32'
    * 'float64'
    * 'Float32'
    * 'Float64'
    * 'UInt8'
    * 'UInt16'
    * 'UInt32'
    * 'UInt64'
    * 'Int8'
    * 'Int16'
    * 'Int32'
    * 'Int64'
    * 'uint8[pyarrow]'
    * 'uint16[pyarrow]'
    * 'uint32[pyarrow]'
    * 'uint64[pyarrow]'
    * 'int8[pyarrow]'
    * 'int16[pyarrow]'
    * 'int32[pyarrow]'
    * 'int64[pyarrow]'
    * 'float[pyarrow]'
    * 'double[pyarrow]'
    r}rs r2�any_real_nullable_dtyperY�s��:�=�r4c��|jS)a�
    Parameterized fixture for all numeric dtypes.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    r}rs r2�any_numeric_dtyper[�s��>�=�r4r.�c�mixed�bytes�a�cz
mixed-integerr�g@�floatingg�?�integerzmixed-integer-float�decimal�
datetime64z
2013-01-01z
2018-01-01r0�20180101ri�i��complexy�?�?y@@rc�T�|j\}}tj|t���}||fS)a�
    Fixture for all inferred dtypes from _libs.lib.infer_dtype

    The covered (inferred) types are:
    * 'string'
    * 'empty'
    * 'bytes'
    * 'mixed'
    * 'mixed-integer'
    * 'mixed-integer-float'
    * 'floating'
    * 'integer'
    * 'decimal'
    * 'boolean'
    * 'datetime64'
    * 'datetime'
    * 'date'
    * 'timedelta'
    * 'time'
    * 'period'
    * 'interval'

    Returns
    -------
    inferred_dtype : str
        The string for the inferred dtype from _libs.lib.infer_dtype
    values : np.ndarray
        An array of object dtype that will be inferred to have
        `inferred_dtype`

    Examples
    --------
    >>> from pandas._libs import lib
    >>>
    >>> def test_something(any_skipna_inferred_dtype):
    ...     inferred_dtype, values = any_skipna_inferred_dtype
    ...     # will pass
    ...     assert lib.infer_dtype(values, skipna=True) == inferred_dtype
    r=)r~rgr�r6)r��inferred_dtyperxs   r2�any_skipna_inferred_dtyperi2s2��R%�]��N�F�
�X�f�F�
+�
+�
+�F��6�!�!r4c��tjdd���ddlm}ddlm}|��}d|j_||���S)	zj
    Get an instance of IPython.InteractiveShell.

    Will raise a skip if IPython is not installed.
    �IPythonz6.0.0)�
minversionr)�InteractiveShell)�Configz:memory:)rR)r>�importorskip�IPython.core.interactiveshellrm�traitlets.configrn�HistoryManager�	hist_file)rmrnr\s   r2�iprtesj����	�g�6�6�6�6�>�>�>�>�>�>�(�'�'�'�'�'�����A�!+�A�����1�%�%�%�%r4)�bsr�coo�csc�csr�dia�dok�lilc�Z�tjd��}t||jdz��S)z-
    Yields scipy sparse matrix classes.
    zscipy.sparse�_matrix)r>ro�getattrr~)r��sparses  r2�spmatrixr�xs+��
�
 ��
0�
0�F��6�7�=�9�4�5�5�5r4c��g|]Y}tttj|��tjj��r |dk�?ttj|����ZS)�Tick)�
issubclassr~rh�offsetsr�)r��os  r2rr�s[�����
��g�b�j�!�,�,�b�j�o�>�>��DE��;�;�	��
�A���CN�;�;r4c��|jS)zN
    Fixture for Tick based datetime offsets available for a time series.
    r}rs r2�tick_classesr��r�r4c��|Sr�rorws r2ryry�s���r4c��|jS)zk
    Simple fixture for testing keys in sorting methods.
    Tests None (no key) and the identity key.
    r}rs r2�sort_by_keyr��r�r4)rNN)�Egon�VenkmanN)�NCC1701Dr�r��#tuple[Hashable, Hashable, Hashable]c��|jS)zP
    A 3-tuple of names, the first two for operands, the last for a result.
    r}rs r2rr�s�� �=�r4c��|jS)zI
    Parametrize over __setitem__, loc.__setitem__, iloc.__setitem__
    r}rs r2�indexer_slir��r�r4c��|jS)z<
    Parametrize over loc.__getitem__, iloc.__getitem__
    r}rs r2�
indexer_lir��r�r4c��|jS)z8
    Parametrize over __setitem__, iloc.__setitem__
    r}rs r2�
indexer_sir��r�r4c��|jS)z7
    Parametrize over __setitem__, loc.__setitem__
    r}rs r2�
indexer_slr��r�r4c��|jS)z:
    Parametrize over at.__setitem__, loc.__setitem__
    r}rs r2�
indexer_alr��r�r4c��|jS)z<
    Parametrize over iat.__setitem__, iloc.__setitem__
    r}rs r2�indexer_ialr��r�r4�boolc�,�tdd���dkS)z>
    Fixture to check if the array manager is being used.
    �mode.data_managerT��silentr�rror4r2�using_array_managerr��s��
�*�4�8�8�8�G�C�Cr4c�\�tjjjduot	dd���dkS)z7
    Fixture to check if Copy-on-Write is enabled.
    Tr�r��block�rh�options�mode�
copy_on_writerror4r2�using_copy_on_writer��s4��	�
��%��-�	E��+�D�9�9�9�W�D�r4c�`�tjjjdkot	dd���dkS)z?
    Fixture to check if Copy-on-Write is in warning mode.
    �warnr�Tr�r�r�ror4r2�warn_copy_on_writer��s4��	�
��%��/�	E��+�D�9�9�9�W�D�r4c�2�tjjjduS)z=
    Fixture to check if infer string option is enabled.
    T)rhr��future�infer_stringror4r2�using_infer_stringr��s��
�:��)�T�1�1r4z
Europe/Warsawzdateutil/Europe/Warsawc��|jS)zE
    tzinfo for Europe/Warsaw using pytz, dateutil, or zoneinfo.
    r}rs r2�warsawr�r�r4c��dS)N)r�
pyarrow_numpyroror4r2�arrow_string_storager�s��'�'r4r�)r5r6r7r8r9r8r)r*)r)r�)r)r�)r)r$)r)r)r)r)r�r8r)r�)r)r)r)r�)r)r�)r)r8(?�__doc__�
__future__r�collectionsrrrrrr	rcr
�operatorr��typingrr�dateutil.tzr
r�
hypothesisr�st�numpyrgr>�pytzrr�pandas._config.configr�pandas.util._test_decorators�util�_test_decorators�td�pandas.core.dtypes.dtypesrr�pandasrhrrrrrrrrrrr r!�pandas._testing�_testing�tm�pandas.corer"�pandas.core.indexes.apir#r$�pandas.util.versionr%�collections.abcr&r'r�pa�has_pyarrow�ImportError�zoneinfo�ZoneInfo�ZoneInfoNotFoundErrorr3rArU�HealthCheck�too_slow�hypothesis_health_checks�__version__�append�differing_executors�settings�register_profile�tuple�load_profile�splitr;r~�tseriesr��cls�register_type_strategy�builds�integers�booleans�fixturerjrpr��
axis_framer�r�r�r�r�r�r�r�r~�
skip_if_nor�r�r�r�r��NULL_OBJECTSr��nulls_fixture2�nan�NaTr��unique_nulls_fixture2�NP_NAT_OBJECTSr��np_nat_fixture2r�r��index_or_series2r�r�r��box_with_array2r�r�r
rr$r,r5rDr6r�r�r�from_breaks�linspacerzr�r�rh�idx�keysrq�index_fixture2rQro�index_flat2r}r�r�r�r��_seriesr��NARROW_NP_DTYPES�_narrow_seriesr�r��PYTHON_DATA_TYPES�_typ_objects_seriesr�r�r�r�r�r��arithmetic_dunder_methodsr��add�radd�sub�rsub�mul�rmul�truediv�rtruediv�floordiv�	rfloordiv�mod�rmod�pow�rpow�eq�ne�lt�le�gt�ge�and_�rand_�xor�rxor�or_�ror_r�r��_all_numeric_reductionsr��_all_boolean_reductionsr��_all_reductionsr�r�r�r��_all_numeric_accumulationsr�r�r��	TIMEZONES�extend�TIMEZONE_IDS�parametrize_fixture_docr8rr�tz_aware_fixture2�_UTCSr�utc_fixture2r��unit2�
STRING_DTYPESr�NArrrr r"r%�string_storage2�string_dtype_arguments2�BYTES_DTYPESr'�
OBJECT_DTYPESr*r>r,�DATETIME64_DTYPESr.�TIMEDELTA64_DTYPESr0r7�FLOAT_NUMPY_DTYPESr9�FLOAT_EA_DTYPESr;�ALL_FLOAT_DTYPESr=�COMPLEX_DTYPESr?�COMPLEX_FLOAT_DTYPESrA�SIGNED_INT_NUMPY_DTYPESrC�UNSIGNED_INT_NUMPY_DTYPESrE�ALL_INT_NUMPY_DTYPESrG�ALL_INT_EA_DTYPESrI�ALL_INT_DTYPESrKrM�ALL_INT_PYARROW_DTYPES_STR_REPR�FLOAT_PYARROW_DTYPES_STR_REPRrO�SIGNED_INT_EA_DTYPESrQ�ALL_REAL_NUMPY_DTYPESrS�ALL_REAL_DTYPESrU�ALL_NUMPY_DTYPESrW�ALL_REAL_NULLABLE_DTYPESrY�ALL_NUMERIC_DTYPESr[rd�_any_skipna_inferred_dtyper{�_rirtr��__all__r�r�r�setitem�loc�ilocr�r�r�r��atr��iatr�r�r�r�r��warsawsr�r�ror4r2�<module>rEs.)����&#�"�"�"�"�"�������������������������������	�	�	�	���������
������������'�'�'�'�'�'�����
�
�
�
���������
.�-�-�-�-�-�)�)�)�)�)�)�)�)�)���������
����
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
���������������������(�'�'�'�'�'�����������
�����	��K�K��	�����K�K�K�����������H��e�������%�����H�H�H���������I�I�I�I�$9<�9<�9<�9<�x'�2�;�<��
�7�:�!�"�"�g�g�h�&7�&7�7�7��#�#�J�$:�$N�O�O�O���$�$����%� 8�9�9�%������ � ��&�&�&�
8�=�=�?�?���D�
�'�"�*�$�d�
+�
+�C��B���Y�R�Y�s�k�b�k�#�r�2�2�k�b�k�m�m�
L�
L�
L�����
4�9�9�;�;�
�
�D�
�'�"�*�$�d�
+�
+�C��B�����	���b�k�"�a� � �!�b�k�m�m��"�+��R�8�8�8�		
�	
�	
�����
@�E�E�G�G�
�
�D�
�'�"�*�$�d�
+�
+�C��B�����	���b�k�#�r�"�"�!�b�k�m�m�%�"�+��R�@�@�@�		
�	
�	
�����$�������!�!�!���!��������1�1�1���1����1�1�1�7R�7R�S�S�S���T�S���
�����9�~�+F�+F�G�G�G���H�G�����*�*�*�+�+�+�	�	�,�+�	����*�*�*�+�+�+���,�+������e�}�%�%�%���&�%�����/�/�/�0�0�0���1�0�����;�;�;�<�<�<���=�<�����;�;�;�<�<�<���=�<�����;�;�;�<�<�<���=�<�������
�
��
����V�=�2�=��#=�#=�>�>�>��
�
�
���
�
������
�
��
����V�=�2�=��#=�#=�>�>�>�
�	�	�	���	�	������e�}�%�%�%���&�%�����:�:�:�;�;�;���<�;�����
�K�0�1�1�1���2�1�����r��,F�,F�G�G�G���H�G��������b�f�b�f�-�.�.�.���/�.��-�����r�(�.H�.H�I�I�I���J�I��!�����	�6�*�+�+�+���,�+������v��W�h�,?�@�@�@�	�	�A�@�	�#������v�r�x�0�6R�6R�6R�S�S�S���T�S������v�y�"�(�;�AU�AU�V�V�V���W�V��!����	�	�	���	���������0�������"����������	�	�	���	����(���(��e�e�7�7�E�E�#�J�J�7�7�7�v�F�F�F�(��e�e�7�7�E�E�#�J�J�7�7�7�u�E�E�E�(��
�
�<��5�5�5�(��:�:�l�C�L�I�I�I�	(�

�l�l�<��3�?�?�?�(����w��#�F�F�F�
(��Z�Z��_�_�(��E�E�)�"�)�C�.�.��/�/�/�(��U�U�9�2�9�S�>�>��
1�
1�
1�(��U�U�9�2�9�S�>�>��
1�
1�
1�(��U�U�9�2�9�S�>�>��
1�
1�
1�(��U�U�9�2�9�S�>�>��
1�
1�
1�(�
�e�e�I�B�I�c�N�N�(�3�3�3�(�
�e�e�I�B�I�c�N�N�(�3�3�3�(�
�e�e�I�B�I�c�N�N�(�3�3�3�(� �u�u�Y�R�Y�s�^�^�9�5�5�5�!(�"�u�u�Y�R�Y�s�^�^�9�5�5�5�#(�(�$�5�5�$����*�&�9�9�9�%(�&�%�%��u�
��)��6�6�6�'(�(�����	�#�[�)�)�)�D�9�2�9�S��3T�3T�3T�,T�T���)(�.�%�%���	�#�\�*�*�*�T�I�B�I�c��4V�4V�4V�-V�V���/(�4�#�#�D�D��L�L�2�$5�6�6�5(�6�)�
�)�+�"�+�a��#�*F�*F�*F�G�G�7(�8�U�U�2�Y�Y�9(�:
�$�j�$�S�S�)>�)>�)>�	�	�	�%J�%J�K�K�;(�<�8�8�:�:�=(�>�
�
�
!�
!�?(�@�u�u�'�'�'�(�(�A(�B�E�E�)�"�)�C�.�.��8�8�8�C(�D�U�U�9�2�9�S�>�>��:�:�:�E(�F�e�e�I�B�I�c�N�N�)�<�<�<�G(�H�U�U�9�2�9�S�>�>�0�0��6�6�i�H�H�H�I(�J�U�U����4�4���s���4�4�4�<L�M�M�M���K(�(��R�)�
�%����<�<���s���<�<�<�DU�V�V�V�
W�
W�C�%(�L�!�"����|�(�(�*�*�+�+�+�.�.�,�+�.��������*�0�0�2�2�������
$�$���
$��������&�,�,�.�.����
�
�
���
�
��:����������C�C�C���C���������;�;�;���'�-�-�/�/�������!�!�!���!����$�	����F�<�E�7�E�n�E�����,�1�1�3�3�4�4�4�@�@�5�4�@���;=�;O�����
 �� �
� �� ��	 �����3�8�8�:�:�;�;�;�G�G�<�;�G���
�
�
���
���
�
�
���
���U�U�U���U�.���	��q��	"�	"�	"�M�M�'�7�$C�$C�D�	��s�#�	&�	&�	&�
�
�i��(I�(I�J�	��	��	$�	$�	$�k�2�	���3�	'�	'�	'��5��I�l�|�4�4�4��O���6�6�6�	
�
��3�	�	�	�!2�3�
������������r�3�4�4�4���5�4������������������������
����������������������
��	���������5����<��=��<�����������������������
�������������$	�	�%��$	�
�
�
�� ���.�/�/�/���0�/��!�%�.�����.�/�/�/���0�/��*�,C�C������'�'�'���(�'�����������������
�	�	�	���	�	�����?�?�?�@�@�@�	�	�A�@�	����N�N�N���������G�F�F�����1�2�2�2���3�2����<�<���<���������J	�	���������	�E�G�G��G�I�I��K�����K��N�N��K�����L��H�Y�Y�Q�
�
�
� � ��H�Y�Y�R�
 �
 �
 �u�-�-�-�%
�	�(��
����H��l�+�+��H��e�$�$�	
����,�+��+�+�+�����C�C��-�-�.�.����y�l�3�3�3���4�3�/�.�����C�C��Q�R�R� 0�1�1�2�2����y����}�,�q�r�r�*:�;�;�;���<�;�3�2��%��
���U�U�W�W�h�l�;����	�L�L�"��"�5�)�)�*�*�*����u��������������.�.�.�/�/�/���0�/��	
�����r�'�(�(�(���)�(�����	�2�5�����i���'�}�r�}�Y�/G�/G�H�H�H����i���(�
��
�i�0H�0H�I�I�I�	�2�6��	�	�	�	�
�
�
�-�-�
�
�-��������&�m�b�m�I�.F�.F�G�G�G�������
���������i���(�
��
�i�0H�0H�I�I�I����i���'�}�r�}�Y�/G�/G�H�H�H�����*�*�
��*��������Y�m�b�m�I�&>�&>�?�?�?�������
������	�2�5�����i���'�}�r�}�Y�/G�/G�H�H�H����i���(�
��
�i�0H�0H�I�I�I�	�2�6��	�	�	�	�
�
�
���
�
���������Y�m�b�m�I�&>�&>�?�?�?�������
���!��0�����r��'�'�'���(�'�����r�'�(�(�(���)�(�����������	�2�5�����i���'�}�r�}�Y�/G�/G�H�H�H����i���(�
��
�i�0H�0H�I�I�I�	�2�6���	�	�	���� 1�1�!�� 1�$���r�+�,�,�,���-�,�����r�,�-�-�-���.�-�������������r�,�-�-�-���.�-�����r�)�*�*�*���+�*�����r�*�+�+�+�
�
�,�+�
����r�(�)�)�)���*�)�����r�.�/�/�/���0�/�����r�1�2�2�2�
�
�3�2�
����r�3�4�4�4�	�	�5�4�	����r�.�/�/�/���0�/��"���r�+�,�,�,�
�
�-�,�
� ���r�(�)�)�)���*�)��2���r�+�b�.@�@�A�A�A���B�A��*���
������(�)�	�&�'������
���:���r�.�/�/�/�	�	�0�/�	����r�/�0�0�0���1�0��(���r�)�*�*�*���+�*��,���r�*�+�+�+�!�!�,�+�!�H���r�2�3�3�3���4�3��>���r�,�-�-�-���.�-��F��R�V�S�!�"�
��R�U�C� �!��s�B�F�C� �!��t�R�V�T�"�#��r�v�r�v�r�v�&�'��b�M��s�B�F�A�&�'��s�B�F�C� �!��#�r�v�s�#�$���B�F�A����Q����,�-�������R�V�W�W�Q�Z�Z�0�1���r�v�u�%�&���r�u�e�$�%��M�B�M�,�/�/������|�9T�9T�U�V��)�)�J�'�'�����:�1F�1F�G�H��d�d�4��A�������T�1�a�(8�(8�
9�:������(�)��9�9�Q�<�<�����1���6�7��d�d�1�g�g�r�v�t�t�A�w�w�
'�(�
���t���b�f�f�f�T�l�l�3�4��(�(�1�a�.�.�"�&�(�(�1�a�.�.�9�:�3��6

��(�	)���Q����1�s�;�;�;�,"�,"�<�;�,"�d��&�&���&�$���H�H�H�I�I�I�6�6�J�I�6��������#����������������k�k�*�+�+�+���,�+������!�,�	������ �	������	������	����r�u��	��������������
�B�F�B�G�4�5�5�5���6�5���������(�)�)�)���*�)������
�B�G�,�-�-�-���.�-������
�B�F�+�,�,�,���-�,�������r�v��'�'�'���(�'���������(�)�)�)���*�)����D�D�D���D�������������������2�2�2���2��4�
5�����N�N�$�8�$�_�5�5�6�6�6����w������� ��������(�(���(�(�(s$�1B9�9C�C�C�C+�*C+