
    dF                     6	   d Z ddlmZ ddlZddlZddlZddlmZ ddlZddlZddlZddl	Z	ddl
mZ ddlZddlZddlZddlZddlmZ ddlZddlZddlZddlmZmZ ddlmZ dd	lmZ ddlmc mZ  ddl!Z"dd
l!m#Z#m$Z$m%Z% ddl&m'Z( ddl)mc m*Z+ ddl,m-Z-m.Z.  ej/        d          d             Z0d Z1e	j2        3                    e	j2        4                    e5          dd          Z6 ej        e	j2        3                    e6dd                    Z7 ej/        e7          d             Z8ej9        :                    ddd e;d           e<d           ej=        d           edg d           e<d          >                    dd           e<d          >                    dd          ddd          ej?        d          @                    dd            ej?        d          @                    dd!            ej?        d          @                    dd           dddddf         g          d"             ZAd# ZBd$ ZCd% ZDej9        :                    d& ejE        eCd'(           ejE        e"jF        d)(           ejE         ej        e"jF        ejG        *          d+(           ejE         ej        e"jF        d,*          d-(           ejE         ej        e"jF        d.*          d/(          g          ej9        :                    d0e"jF        eCg          d1                         ZHd2 ZId3 ZJej/        d4             ZK G d5 d6          ZL G d7 d8          ZMej9        :                    d9d:gd; e#g d<          fd=e"jN        O                    g d<g d>g          fg          d?             ZPd@ ZQej9        :                    dAg dB          dC             ZR e jS        dD          dE             ZT G dF dGejU                  ZVdH ZWdI ZXdJ ZYdK ZZej9        :                    dLdMdNdL ej        dOdPdP          dQg          dR             Z[dS Z\dT Z]e j^        dU             Z_ej9        :                    dVej`        ejG        g          dW             ZadX ZbdS )Ya<  
manage legacy pickle tests

How to add pickle tests:

1. Install pandas version intended to output the pickle.

2. Execute "generate_legacy_storage_files.py" to create the pickle.
$ python generate_legacy_storage_files.py <output_dir> pickle

3. Move the created pickle to "data/legacy_pickle/<version>" directory.
    )arrayN)partial)Path)catch_warnings)get_lzma_fileis_platform_little_endian)import_optional_dependency)flatten_buffer)IndexSeriesperiod_range)DayMonthEndmodule)scopec                  r    ddl m}  t                      5   |             cd d d            S # 1 swxY w Y   d S )Nr   create_pickle_data)-pandas.tests.io.generate_legacy_storage_filesr   r   r   s    W/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/test_pickle.pycurrent_pickle_datar   8   s     QPPPPP			 $ $!!##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   
,00c                 v   t          |t                    rt          j        ||            d S |                    d          rt          j        | |           d S |dk    r*|t          j        u r| t          j        u sJ d S | |k    sJ d S t          t          d| dt          j	                  } || |           d S )Nsp_	timestampassert__equal)

isinstancer   tmassert_index_equal
startswithassert_equalpdNaTgetattrassert_almost_equal)resultexpectedtyp
comparators       r   compare_elementr*   D   s    (E"" 
h///
~~e 	%
)))))			rvRV######X%%%%%%R!63!6!6!68NOO

68$$$$$    datalegacy_pickle*z*.pickle)paramsc                 "     || j                   S N)param)requestdatapaths     r   r-   r-   Y   s    8GM"""r+   s   123s   123456I)         B)r8   r7   r7      )r8      C)orderFc                 Z   t          |           }t          |                               d          }||k    sJ t          | t          t
          f          r|| u sJ d S t          |t                    r6|j        dk    sJ |j        dk    sJ |j        sJ |j	        |j
        fk    sJ d S d S )NAr6   r9   )r
   
memoryviewtobytesr   bytes	bytearrayndimformat
contiguousshapenbytes)r,   r&   r'   s      r   test_flatten_bufferrJ   c   s    " D!!F$'',,HX$	*++ 0~~~~~~	FJ	'	' 0{a}####    |/////	0 0 0/r+   c                 h   t                      st          j        d           t          j        |           }|                                D ]e\  }}|                                D ]I\  }}||         |         }|dk    r;|dk    r4t          j        ||           |j        j	        |j        j	        k    sJ |j        j	        j
        rJ t          j        |dk    |dk               |j        j	        }|t          d          z   t          d          k    sJ |t          j        d          z   }t          |t          j                  sJ |t          j        dd          k    sJ |t          j        d	          z   }t          |t          j                  sJ |t          j        dd
          k    sJ V|dk    r|dk    rt          j        ||           t          |j	        t                    sJ |j	        t                      k    sJ |j        dk    sJ t          j        |                    d          |                    d                     |dk    r|dv rt          j        ||           |dk    r|dv rt          j        ||           8t'          |||           Kgd S )Nz"known failure on non-little endianseriestsr   r6   r7   )hours)daysrN   )nanoseconds)rO   rP   indexperiodM)dt_tzcatframe)dt_mixed_tzs
cat_onecolcat_and_float)r   pytestskipr"   read_pickleitemsr   assert_series_equalrQ   freq	normalizer   	Timedeltar   r   r   freqstrshiftassert_frame_equalr*   )	r-   r,   r(   dvdtr&   r'   r_   ress	            r   test_picklesrh      s   $&& :8999>-((D::<< %7 %7R((** $	7 $	7JBCy}Hh2::&vx888|(HN,?????!<,6666&vz8a<@@@ |(c!ff}A....R\2222!#r|44444bl;;;;;;;R\a8888!#r|44444blqAAAAAAAAB(NN%fh777!&+x88888{hjj0000~,,,,%fll1oox~~a7H7HIIIIR+;%;%;&vx8888B + % %
 %fh7777#6666I$	7%7 %7r+   c                     t          |d          5 }t          j        | |d           d d d            d S # 1 swxY w Y   d S Nwbprotocolopenpickledumpobjpathfhs      r   python_picklerrw      s    	dD		 *RCb))))* * * * * * * * * * * * * * * * * *   6::c                     t          | d          5 }|                    d           t          j        |          cd d d            S # 1 swxY w Y   d S )Nrbr   )rp   seekrq   load)ru   rv   s     r   python_unpicklerr}      s    	dD		 R



{2                 s   )AAApickle_writerpython)idpandas_proto_defaultrm   pandas_proto_highestr;   pandas_proto_4   pandas_proto_5writerc           	         | }|                                 D ]K\  }}|                                 D ]/\  }}t          j                    5 } |||           t          j        |          }	t          |	||           t          |          }	t          |	||           t          |d          5 }
 |||           |
                    d           d d d            n# 1 swxY w Y   t          |d          5 }
t          j        |
          }	|
                    d           d d d            n# 1 swxY w Y   t          |	||           d d d            n# 1 swxY w Y   1Md S )Nrk   moder   rz   )	r]   r   ensure_cleanr"   r\   r*   r}   rp   r{   )r   r~   r   r,   r(   re   rf   r'   ru   r&   handles              r   test_round_trip_currentr      s$   $ D::<< 7 7RHHJJ 	7 	7LB"" 7dh--- --#666)$//#666 $T*** #fF8T***KKNNN# # # # # # # # # # # # # # # $T*** #f^F33FKKNNN# # # # # # # # # # # # # # #  #666%7 7 7 7 7 7 7 7 7 7 7 7 7 7 7	77 7s[   
A#E-"C	ECE"C#E7*D-	!E-D11E4D15EEEc                      t          j                    } t          j        | j        t          j                  }t          j        | |           d S r1   )r   makeDataFrameround_trip_pathlib	to_pickler"   r\   rd   dfr&   s     r   test_pickle_path_pathlibr      s?    				B"2<@@F"f%%%%%r+   c                      t          j                    } t          j        | j        t          j                  }t          j        | |           d S r1   )r   r   round_trip_localpathr   r"   r\   rd   r   s     r   test_pickle_path_localpathr      s?    				B$R\2>BBF"f%%%%%r+   c                  0    dt          j                     dS )N__z	__.pickle)uuiduuid4 r+   r   get_random_pathr      s    '
''''r+   c                       e Zd Zej        Zd Zd Zej	        
                    dg d          d             Zd Zd Zd Zd	S )
TestCompressionc                 z   |t          j        ||           d S |dk    rt          j        |d          }n|dk    rt	          j        |d          }nw|dk    rnt          j        |dt          j                  5 }|	                    |t          j                            |                     d d d            n# 1 swxY w Y   n|dk    rt          |d          5 }t          j        |d          5 }|                    |t          j                            |                    }|                    ||           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   n]|d	k    r t!                      |d          }n>|d
k    r$t#          d                              |d          }nd| }t%          |          |dvrlt          |d          5 }|5  |	                    |                                           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S d S )Ngzipwbz2zipcompressiontarrz   r   xzzstd	zstandardrk   zUnrecognized compression type: )r   r   )shutilcopyfiler   rp   r   BZ2FilezipfileZipFileZIP_DEFLATEDwriteosru   basenametarfile
gettarinfoaddfiler   r	   
ValueErrorread)	selfsrc_path	dest_pathr   frv   r   tarinfomsgs	            r   compress_filezTestCompression.compress_file   sd   OHi000F&  	)S))AAE!!Is++AAE!!CW=QRRR >VW"'"2"28"<"<===> > > > > > > > > > > > > > >E!!h%% -\)#666 -#!nnXrw7G7G7Q7QRRGKK,,,- - - - - - - - - - - - - - -- - - - - - - - - - - - - - - D  	3//AAF""*;77<<YMMAAAKAACS//!n,,h%% ' ' 'GGBGGII&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -,s   ;4B;;B?B?E"5A
E?E"E	E"E	E""E&)E&H."(H
H.H	H.H	H..H25H2c           	      t   |}|dz   }|dz   }t          j        |          5 }t          j        |          5 }t          j                    }|                    ||           t          j        ||          5 }	t          |d          5 }
|
                    |	                                           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j	        |d           }t          j
        ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N.compressed.rawr   rk   )r   r   r   r   decompress_filerp   r   r   r"   r\   rd   )r   r   r   basepath1path2p1p2r   r   rv   df2s               r   test_write_explicitz#TestCompression.test_write_explicit  s   }$v_U## 	+r2?5+A+A 	+R!##B LLL555 #BK@@@ 'A"d^^ 'rHHQVVXX&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' '
 .666C!"c***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s}   D-AD7C(B<	0C<C  CC CDCDC.D	D-D	D-D	D--D14D1r   ) Nonebad7zc                    t          j        t          d          5  t          j        |          5 }t          j                    }|                    ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NzUnrecognized compression type)matchr   )rZ   raisesr   r   r   r   r   )r   r   r   ru   r   s        r   test_write_explicit_badz'TestCompression.test_write_explicit_bad/  s   ]:-LMMM 	< 	<11 <T%''T{;;;< < < < < < < < < < < < < < <	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s4   B +A(B (A,	,B /A,	0B  BBc           	         |}||z   }|dz   }| j                             |                                          }t          j        |          5 }t          j        |          5 }t          j                    }	|	                    |           t          j        ||          5 }
t          |d          5 }|	                    |

                                           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        |d           }t          j        |	|           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   rk   )_extension_to_compressiongetlowerr   r   r   r   r   rp   r   r   r"   r\   rd   )r   compression_extr   r   r   r   r   r   r   r   r   rv   r   s                r   test_write_inferz TestCompression.test_write_infer6  s=   &v4889N9N9P9PQQ_U## 	+r2?5+A+A 	+R!##B LL #BK@@@ 'A"d^^ 'rHHQVVXX&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' '
 .666C!"c***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s~   E"?D?!C=2(C&	C=&C**C=-C*.C=1D?=DD?D.D?3E?E	EE	EEEc                    |}|dz   }|dz   }t          j        |          5 }t          j        |          5 }t          j                    }|                    |d            |                     |||           t          j        ||          }	t          j        ||	           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   r   r   r   r   r"   r\   rd   )
r   r   r   r   r   r   r   r   r   r   s
             r   test_read_explicitz"TestCompression.test_read_explicitL  sX   v}$_U## 	+r2?5+A+A 	+R!##B LLL... r2;??? .===C!"c***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s5   CA.B0$C0B4	4C7B4	8CCCc                    |}|dz   }||z   }| j                             |                                          }t          j        |          5 }t          j        |          5 }t          j                    }	|	                    |d            |                     |||           t          j	        |          }
t          j
        |	|
           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   )r   r   r   r   r   r   r   r   r"   r\   rd   )r   r   r   r   r   r   r   r   r   r   r   s              r   test_read_inferzTestCompression.test_read_infer^  su   v&4889N9N9P9PQQ_U## 	+r2?5+A+A 	+R!##B LLL... r2;??? .$$C!"c***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s7   C2"A,CC2C	C2!C	"C22C69C6N)__name__
__module____qualname__icomextension_to_compressionr   r   r   rZ   markparametrizer   r   r   r   r   r+   r   r   r      s         $ =' ' '<+ + +* [],E,E,EFF< < GF<+ + +,+ + +$+ + + + +r+   r   c                   Z    e Zd Zej                            dg d          d             ZdS )TestProtocolrn   )rl   r   r6   r7   c                    t          j        |          5 }t          j                    }|                    ||           t	          j        |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nrm   r   r   r   r   r"   r\   rd   )r   rn   r   ru   r   r   s         r   	test_readzTestProtocol.test_readx  s    __-- 	+!##BLLL111.&&C!"c***		+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AA66A:=A:N)r   r   r   rZ   r   r   r   r   r+   r   r   r   w  sD        [Z77+ + 87+ + +r+   r   pickle_fileexcolsztest_py27.pkl)abcztest_mi_py27.pkl)r@   r9   r<   c                 ~     | ddd|          }t          j        |          }t          j        |j        |           d S )Nior,   rq   )r"   r\   r   r   columns)r4   r   r   ru   r   s        r   test_unicode_decode_errorr     sE     8D&(K88D			B "*f-----r+   c                     t          j                    5 } t          j                    }t          | d          5 }|                    |           d d d            n# 1 swxY w Y   t          | d          5 }t          j        |          }d d d            n# 1 swxY w Y   t          j        ||           d d d            d S # 1 swxY w Y   d S )Nrk   rz   )r   r   r   rp   r   r"   r\   rd   )ru   r   rv   r&   s       r   test_pickle_buffer_roundtripr     sw   			 *d$ 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	$ 	(^B''F	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(
b&)))* * * * * * * * * * * * * * * * * *sX   $CACA	C!A	"C5B
CB	CB	CC
Cmockurl)zhttp://url.comzftp://test.comzhttp://gzip.comc                 J   d } G d d          t          j                    5 fd}t          j                    } ||           |                     d|           t	          j        |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nc                     t          |d          5 }t          j        | |d           d d d            d S # 1 swxY w Y   d S rj   ro   rs   s      r   rw   z3test_pickle_generalurl_read.<locals>.python_pickler  s    $ 	.KR"----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.rx   c                   .    e Zd ZddZd Zd Zd Zd ZdS )	5test_pickle_generalurl_read.<locals>.MockReadResponsereturnNc                 `    t          |d          | _        d|v rddi| _        d S ddi| _        d S )Nrz   r   zContent-Encodingr   )rp   fileheaders)r   ru   s     r   __init__z>test_pickle_generalurl_read.<locals>.MockReadResponse.__init__  s<    T4((DI~~ 2F; 2B7r+   c                     | S r1   r   r   s    r   	__enter__z?test_pickle_generalurl_read.<locals>.MockReadResponse.__enter__  s    Kr+   c                 .    |                                   d S r1   )close)r   argss     r   __exit__z>test_pickle_generalurl_read.<locals>.MockReadResponse.__exit__  s    JJLLLLLr+   c                 4    | j                                         S r1   )r   r   r   s    r   r   z:test_pickle_generalurl_read.<locals>.MockReadResponse.read  s    9>>###r+   c                 4    | j                                         S r1   )r   r  r   s    r   r  z;test_pickle_generalurl_read.<locals>.MockReadResponse.close  s    9??$$$r+   r   N)r   r   r   r   r   r  r   r  r   r+   r   MockReadResponser     sd        	8 	8 	8 	8	 	 		 	 		$ 	$ 	$	% 	% 	% 	% 	%r+   r  c                                 S r1   r   )r  kwargsr  ru   s     r   mock_urlopen_readz6test_pickle_generalurl_read.<locals>.mock_urlopen_read  s    ##D)))r+   zurllib.request.urlopen)r   r   r   setattrr"   r\   rd   )monkeypatchr   rw   r
  r   r&   r  ru   s         @@r   test_pickle_generalurl_readr    s&   . . .% % % % % % % %( 
		 	*d	* 	* 	* 	* 	* 	* r4   46GHHH((
b&)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   A%BBBfsspecc                     t          j                    5  d} t          j                    }|                    |            t	          j        |           }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nzmemory://afiler   )r   r   r&   s      r   test_pickle_fsspec_roundtripr    s    			 * *"
W((
b&)))* * * * * * * * * * * * * * * * * *s   AA55A9<A9c                       e Zd ZddZdS )MyTzr   Nc                     d S r1   r   r   s    r   r   zMyTz.__init__  s    r+   r  )r   r   r   r   r   r+   r   r  r    s(             r+   r  c                      t          t                    t                      f} t          j        |           }t          j        |d         | d                    t          |d         t                    sJ d S )N)dtyper   r6   )r   objectr  r   round_trip_pickler^   r   )r'   r&   s     r   test_read_pickle_with_subclassr    sf    F###TVV+H!(++F6!9hqk222fQi&&&&&&&r+   c                 ,   t          j                    }t          j                    5 }|                    ||            t	          |                                          }ddd           n# 1 swxY w Y   t          j                    }|                    ||            |                    d           |	                                |k    s| dv sJ t          j        ||           }|                    d           t          j        ||           dS )ze
    Read/write from binary file-objects w/wo compression.

    GH 26237, GH 29054, and GH 29570
    r   Nr   )r   r   r   )r   r   r   r   r   
read_bytesr   BytesIOr{   getvaluer"   r\   rd   )r   r   ru   	referencebufferread_dfs         r   %test_pickle_binary_object_compressionr     s9    
			B 
		 ,d
T{333JJ))++	, , , , , , , , , , , , , , ,
 Z\\FLL[L111
KKNNN ??	))[<R-R-R-R-R nV===G
KKNNN"g&&&&&s   9A,,A03A0c                     | }|}d } ||            ||j                     ||            ||j                    d S )Nc                 X    t          j        |           }t          j        | |           d S r1   )r   r  rd   )rV   	unpickleds     r   _test_roundtripzDtest_pickle_dataframe_with_multilevel_index.<locals>._test_roundtrip  s+    (//	
eY/////r+   )T)/multiindex_year_month_day_dataframe_random_data multiindex_dataframe_random_dataymdrV   r$  s        r   +test_pickle_dataframe_with_multilevel_indexr)    si     :C,E0 0 0 OEOEGOCOCEr+   c                      t          ddd          } t          t          j                            t          |                     |           }t          j        |          }|j        j	        dk    sJ d S )Nz1/1/2011z1/1/2012rS   )r_   )
r   r   nprandomrandnlenr   r  rQ   r_   )prngrM   new_tss      r   "test_pickle_timeseries_periodindexr1    se    
JS999D		D		**D	1	1B!"%%F<######r+   namei	  g     H@i     )r6   r7   c                 n    t          j        t          j        |                     }|j        | k    sJ d S )N)r2  )r   r  makeTimeSeriesr2  )r2  r#  s     r   test_pickle_preserve_namer6    s;     $R%6D%A%A%ABBI>T!!!!!!r+   c                 X    t          j        |           }t          j        ||            d S r1   r   r  r^   )datetime_seriesunp_tss     r   test_pickle_datetimesr;  %  s+    !/22F6?33333r+   c                 X    t          j        |           }t          j        ||            d S r1   r8  )string_series
unp_seriess     r   test_pickle_stringsr?  *  s+    %m44J:}55555r+   c                  P   t          t          d                                        d          j        dg         } t	          j        |           }|j        j        d         j        dk    sJ |j        j        d         j	        dk    sJ t	          j
        |dg         |            d S )Nabccategoryr   r6   )r6   T)r   listastypeilocr   r  _mgrblocksrE   rH   r^   )serrg   s     r    test_pickle_preserves_block_ndimrI  /  s     e


$
$Z
0
0
5qc
:C

s
#
#C8?1"a''''8?1#t++++ 3v;,,,,,r+   rn   c                     t          j        t          d                    }t          j        t          |j        | |          t          t           j        |                    }t          j        ||           d S )Ni )rn   r   r   )	r"   	DataFrameranger   r   r   r   r\   rd   )rn   r   r   r&   s       r   %test_pickle_big_dataframe_compressionrM  <  sl     
eFmm	$	$B"x[IIIK888 F "f%%%%%r+   c                      t           j                            t          dd          } t	          | d          5 }t          j        |          }d d d            n# 1 swxY w Y   t          j        g g           }t          j
        ||           d S )Nz1.2.4zempty_frame_v1_2_4-GH#42345.pklrz   )rQ   r   )r   ru   joinlegacy_dirnamerp   rq   r|   r"   rK  r   rd   )ru   fdr   r'   s       r   #test_pickle_frame_v124_unpickle_130rR  G  s    7<<1RSSD	dD		 R[__               |"b111H"h'''''s   AAA)c__doc__r   r   datetime	functoolsr   globr   r   r   pathlibr   rq   r   r   r   warningsr   r   numpyr+  rZ   pandas.compatr   r   pandas.compat._optionalr	   pandas.compat.compressorsr
   pandas.util._test_decoratorsutil_test_decoratorstdpandasr"   r   r   r   pandas._testing_testingr   pandas.io.commoncommonr   pandas.tseries.offsetsr   r   fixturer   r*   ru   rO  dirname__file__rP  filesr-   r   r   rD   rA   PickleBuffercastarangereshaperJ   rh   rw   r}   r2   r   HIGHEST_PROTOCOLr   r   r   r   r   r   
MultiIndexfrom_arraysr   r   r  
skip_if_nor  tzinfor  r  r   r)  r1  r6  r;  r?  skip_array_manager_invalid_testrI  DEFAULT_PROTOCOLrM  rR  r   r+   r   <module>rv     s          



              				 				           # # # # # #              ? > > > > > 4 4 4 4 4 4 ) ) ) ) ) ) ) ) )             
                       h$ $  $% % %" bgooh77QQ	"',,~sJ??@@ u# # # 
	&
6F##c999
9""3//
9""3//!4	"fC00	"fC00	"fC00CCaC8  
0 
0!  
0+7 +7 +7\* * *
   ^111R\&<===IblV5LMMM%	
 	
 	
 	&Y&r|a@@@EUVVVIblQ777	
 	
 	
   BL.#ABB7 7 CB! "72& & && & & ( ( (v+ v+ v+ v+ v+ v+ v+ v+|+ + + + + + + + H	%%001M%%&HII	
	 	. .	 	.* * * FFF "* "* "*J x* * *    8?   
' ' '' ' '6  "$ $ $ 
S%!2!24R!@!@&I " " "
4 4 4
6 6 6
 #	- 	- $#	- f&=v?V%WXX& & YX&( ( ( ( (r+   