
    bMh\                        d dl m Z mZ d dlZd dlZd dlZd dlmc mZ	 d dl
Zd dl
mZmZmZmZmZmZmZ d dlmZ d dlmZmZmZ  e ddd           e ddd          cZZ G d d	          Z G d
 d          Z G d d          ZdS )    )datetimetimezoneN)	DataFrameDatetimeIndexIndexSeries	Timestampbdate_range
date_range)	BMonthEndMinuteMonthEndi     i  c                      e Zd Zg dZd Zej                            dej	        e
eg          d             Zej                            de          d             Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zej                            dg d          d             Zej                            dddg          d             Zd Zej                            de          d             Zd Zd Zej                            dg d          d             Zd Zd Z ej                            dg d           d!             Z!d" Z"d#S )$TestDatetimeIndexSetOps)NUTC
Asia/Tokyo
US/Easternzdateutil/Asia/Singaporedateutil/US/Pacificc                     t          dd          }|d d         }|dd          }|                    ||          }t          j        ||           d S N
2020-01-01
   periods   sort)r   uniontmassert_index_equal)selfr   
everythingfirstsecondr   s         j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/datetimes/test_setops.pytest_union2z#TestDatetimeIndexSetOps.test_union2,   s\    b999
2A2ABBF..
eZ00000    boxc                     t          dd          }|d d         }|dd          }|                    ||          } ||j                  }|                    ||          }t          j        ||           d S r   )r   r   valuesr    r!   )	r"   r   r)   r#   r$   r%   expectedcaseresults	            r&   test_union3z#TestDatetimeIndexSetOps.test_union33   s    b999
2A2ABB ;;vD;11s6=!!T--
fh/////r(   tzc                 T   t          ddd|          }t          ddd|          }t          ddd|          }t          t          |          t          |          z             }t          ddd|          }t          ddd|          }t          ddd|          }	t          t          |          t          |d d	                   z             }
t          ddd|          }t          g |
                              d          }t          ddd|          }|}||||f|||	|
f||||ffD ]w\  }}}}|                    ||          }t          j        ||           |                    ||          }|t          j        ||           bt          j        ||           xd S )N1/1/2000Dr   freqr   r0   1/6/2000r   1/4/2000      r0   nsr   )r   r   listas_unitr   r    r!   )r"   r0   r   rng1other1	expected1expected1_notsortedrng2other2	expected2expected2_notsortedrng3other3	expected3expected3_notsortedrngotherexpexp_notsortedresult_unions                       r&   
test_unionz"TestDatetimeIndexSetOps.test_union?   s   *3bAAAJS!CCCzRBGGG	+DLL4::,EFF*3bAAAJS!CCCzQ2FFF	+DLL4RaR>>,IJJ*3bAAArb)))11$77zQ2FFF	" 69&9:69&9:69&9:/
 	C 	C*C]
 99U966L!,444 ;;s;66L|%lC8888%lMBBBB	C 	Cr(   c                 R   t          g d          }t          |                                d          }|                    ||          }t          j        ||           |d d                             ||          }t          j        ||           |j        |j        k    sJ d S )N)z
2000-01-03
2000-01-01z
2000-01-02inferr5   r   r   )r   sort_valuesr   r    r!   r5   )r"   r   idxorderedr.   s        r&   test_union_coveragez+TestDatetimeIndexSetOps.test_union_coverage^   s    FFFGG 1 1@@@s..
fg...!""7"66
fg...{gl******r(   c                 P   t          ddd          }t          ddd          }|                    ||          }t          |          t          |dd                    z   }|t          t	          |                    }nt          |          }t          j        ||           d S )N1/1/2012   3hr   r5   4hr   r   )r   r   r<   r   sortedr    r!   )r"   r   rng_arng_br.   rL   s         r&   test_union_bug_1730z+TestDatetimeIndexSetOps.test_union_bug_1730h   s    :qt<<<:qt<<<U..5kkDqrrOO+<s,,CC$$C
fc*****r(   c                     t          dg          }t          g d          }|                    ||          }t          g d          }||                                }t          j        ||           d S )N2012-05-11 15:19:49.695000)2012-05-29 13:04:21.3220002012-05-11 15:27:24.8730002012-05-11 15:31:05.350000r   )rc   rd   re   rf   )r   r   rT   r    r!   )r"   r   leftrightr.   rL   s         r&   test_union_bug_1745z+TestDatetimeIndexSetOps.test_union_bug_1745t   s    :;<<  
 
 E--  
 
 <//##C
fc*****r(   c                 B   ddl m} t          dd          }| |d          z   }|                    ||          }t	          |          t	          |          z   }|t          t          |                    }nt          |          }t          j        ||           d S )Nr   
DateOffsetz
2013-01-01z
2013-02-01   )minutesr   )	pandasrl   r   r   r<   r   r^   r    r!   )r"   r   rl   rg   rh   r.   rL   s          r&   test_union_bug_4564z+TestDatetimeIndexSetOps.test_union_bug_4564   s    %%%%%%,55zz"----E--4jj4;;&<s,,CC$$C
fc*****r(   c                     t          dd          }d |j        _        |                    ||          }t	          j        ||           |j        J d S )N20150101r   r   r   )r
   _datar5   r   r    r!   )r"   r   r,   r.   s       r&   test_union_freq_both_nonez1TestDatetimeIndexSetOps.test_union_freq_both_none   sZ    z2666"t44
fh///{"""""r(   c                     t          dd          }|g d         }|g d         }|j        J |j        J |                    |          }t          j        ||           |j        dk    sJ d S )Nz
2016-01-01r   r   )r   r   r9   rZ   )   r9   r   r3   )r   r5   r   r    r!   )r"   dtirg   rh   r.   s        r&   test_union_freq_inferz-TestDatetimeIndexSetOps.test_union_freq_infer   s     q111<<< IIIy   z!!!E""
fc***{c!!!!!!r(   c                    t          ddd          }t          t          j                            d                              t          |                    |          }t          ddd          }t          t          j                            d                              t          |                    |          }t          ||d          }t          ddd          }t          j	        |j
        |           d S )	Nz1/1/1999rY   MSrS   rv   z1/1/1980z	12/1/2001)s1s2)r   r   nprandomdefault_rngstandard_normallenr   r    r!   index)r"   r>   r{   rB   r|   dfrL   s          r&   test_union_dataframe_indexz2TestDatetimeIndexSetOps.test_union_dataframe_index   s    *jt<<<BI))!,,<<SYYGGNN*k===BI))!,,<<SYYGGNNb++,,Zd;;;
bh,,,,,r(   c                     t          t          j        dddt          j                            }t	          ddd          }|                    ||	           |                    ||	           d S )
Nr      rv   dtypez2012-01-03 00:00:00r   r3   )startr   r5   r   )r   r}   arangeint64r   r   )r"   r   i1i2s       r&   test_union_with_DatetimeIndexz5TestDatetimeIndexSetOps.test_union_with_DatetimeIndex   sk    29QARX666773RcJJJ
$
$r(   c                 8   t          ddd                              d          }t          ddd                              d          }|                    |          }t          ddd                              d          }t          j        ||           d S )NrQ   r9   r   )r   r0   msus)r   r=   r   r    r!   )r"   idx1idx2r.   r,   s        r&   (test_union_same_timezone_different_unitsz@TestDatetimeIndexSetOps.test_union_same_timezone_different_units   s    ,e<<<DDTJJ,e<<<DDTJJD!!lA%@@@HHNN
fh/////r(   c                    t          dd          }|dd          |                              }t          j        |           fdt          j        t          t          fD             }|D ],}|                    |          }t          j        |           -t          g d          }|                    |          }t          g t                    }t          j        ||           d S )Nr   r   r   r   c                 0    g | ]} |j                   S  )r+   ).0klassr%   s     r&   
<listcomp>z>TestDatetimeIndexSetOps.test_intersection2.<locals>.<listcomp>   s%    LLL%v}%%LLLr(   )abcr   )
r   intersectionr    r!   r}   arrayr   r<   r   object)	r"   r$   	intersectcasesr-   r.   thirdr,   r%   s	           @r&   test_intersection2z*TestDatetimeIndexSetOps.test_intersection2   s    <444qrr&&v..	
i000 MLLLBHfd3KLLL 	2 	2D''--F!&&1111ooo&&##E**6***
fh/////r(   )Nr   r   r   c                 ~   t          dddd          }t          dddd          }t          dddd          }t          dddd          }t          dddd           }t          d	d
dd          }t          g ddd          }	||f||f||	ffD ]A\  }
}|                    |
          }t          j        ||           |j        |j        k    sJ Bt          g d|d                              d          }t          g d|d                              d          }t          ddg|d                              d          }t          g d|d                              d          }t          ddg|d                               d          }t          d	d
d|d          }t          g |d                              d          }	|	j        J ||f||f||	ffD ]Y\  }
}|                    |
|          }||                                }t          j        ||           |j        |j        k    sJ Zd S )N6/1/2000z	6/30/2000r3   rU   )r5   namez	5/15/2000z	6/20/2000rK   z7/1/2000z	7/31/2000M8[ns])r5   r   r   )z
2011-01-05
2011-01-04
2011-01-02z
2011-01-03)r0   r   r;   )r   r   z
2011-02-02z
2011-02-03r   r   )r5   r0   r   r   )r   r   r   r    r!   r5   r=   rT   )r"   r0   r   baserB   rD   rF   rH   rng4	expected4rJ   r,   r.   s                r&   test_intersectionz)TestDatetimeIndexSetOps.test_intersection   s   
 *k%HHH +{5IIIz;SuMMM	 +{7KKKz;StLLL	*k%HHH!"3U(KKK	 999
 	0 	0MC
 &&s++F!&(333;(-///// DDDRW
 
 

'$-- 	 DDDRW
 
 

'$-- 	 "<(Re
 
 

'$-- 	 DDD
 
 
 '$--	 	
 "<(Rd
 
 

'$-- 	
 *kOOO!"%888@@FF	~%%% 999
 		0 		0MC
 &&s&66F|#//11!&(333;(-/////		0 		0r(   r5   minBc                    |}t          dd||          }|dd                             |          }t          |          dk    sJ |j        |j        k    sJ |                    |dd                   }t          |          dk    sJ |j        |j        k    sJ |dk    }|d d                             |dd                    }t	          j        ||d d                    |r|j        |j        k    sJ |dd                              |d d                   }t	          j        ||d d                    |r|j        |j        k    sJ d S d S )Nr   z	6/15/2000)r5   r0   r   r   r9   )r   r   r   r5   r    r!   )r"   tz_aware_fixturer5   r0   rJ   r.   
check_freqs          r&   test_intersection_emptyz/TestDatetimeIndexSetOps.test_intersection_empty   s    [tCCCQqS&&s++6{{a{ch&&&&!!#ac(++6{{a{ch&&&& U]
RaR%%c"##h//
fc"1"g... 	+;#(**** RSS&&s2A2w//
fc"1"g... 	+;#(****	+ 	+**r(   c                     ddl m} t          ddd          }| |d          z   }|                    |          }t	          |          dk    sJ d S )	Nr   rk   rY   rZ   12hr\   r   )hours)ro   rl   r   r   r   )r"   rl   index_1index_2r.   s        r&   test_intersection_bug_1708z2TestDatetimeIndexSetOps.test_intersection_bug_1708<  so    %%%%%%Z???JJQ////%%g..6{{ar(   c                 "   g d}t          ||          }t          ddd|          }t          ||          }t          ||          }t          ddd|          }t          |d d         |          }	t          ||          }
t          g |          }t          ||          }|||f|||	f|
||ffD ]V\  }}}|                    ||          }|#t          |          r|                                }t          j        ||           Wd S )	N)z1/2/2000z1/3/2000r2   r7   z1/5/2000r:   r6   r3   r   r4   r7   r9   )r   r   
differencer   rT   r    r!   )r"   r0   r   	rng_datesr>   r?   r@   rB   rC   rD   rF   rG   rH   rJ   rK   r,   result_diffs                    r&   test_differencez'TestDatetimeIndexSetOps.test_differenceE  sL   PPP	Y2...JS!CCC!)333	Y2...JS!CCC!)BQB-B777	Y2...rb)))!)333	 69%69%69%%
 		9 		9 C
 ..55K|E

|#//11!+x8888		9 		9r(   c                    t          ddd          }t          ddd          }t          ddgdd           }|                    ||          }t          j        ||           t          j        d	||           t          d
dd          }|                    ||          }t          ddgdd          }t          j        ||           t          j        d	||           d S )N2016092020160925r3   rS   2016092120160924r   )r   r5   r5   20160922)r   r   r   r    r!   assert_attr_equal)r"   r   r   rK   r,   idx_diffs         r&   test_difference_freqz,TestDatetimeIndexSetOps.test_difference_freq`  s     :z<<<:z<<< *j!9PTUUU##E400
h111
VXx888 :z<<<##E400 *j!9PSTTT
h111
VXx88888r(   c                     t          dt          ddd          d          }t          dt          ddd          d          }t          |                    ||                    dk    sJ d S )	NzQE-JANi        d   )r5   r   r   b   rv   )r   r   r   r   )r"   r   dti1dti2s       r&   test_datetimeindex_diffz/TestDatetimeIndexSetOps.test_datetimeindex_diffr  so    xxb"/E/EsSSSxxb"/E/ErRRR4??4..//1444444r(   )Nr   r   c                 \   t          ddd|          }|d d                             |dd                   }|j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |d d                             |dd                   }|j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |d d                             |dd                   }|j        |j        k    sJ |j        J |j        |j        k    sJ |d d                             |d	d
                   }|j        |j        k    sJ |j        dk    sJ |j        |j        k    sJ t          t          |d	d
                   d          }|d d                             |          }|j        J |j        |j        k    sJ |j        |j        k    sJ |d d                             |          }|j        J |j        |j        k    sJ |j        |j        k    sJ d S )Nr2   z1/1/2002rU   )r   r0   2   r      <      K   r3   rK   r   )	r   r   r   r5   r0   r   freqstrr   r<   )r"   r0   rJ   r.   nofreqs        r&   test_setops_preserve_freqz1TestDatetimeIndexSetOps.test_setops_preserve_freqw  s]   ZeCCCSbSBsF,,{ch&&&&{ch&&&&yCF""""SbSBsF,,{ch&&&&{ch&&&&yCF""""SbSBsF,,{ch&&&&{"""yCF""""SbS&&s2b5z22{ch&&&&~$$$$yCF""""tC2J//g>>>SbS''{"""{ch&&&&yCF""""SbS&&v..{"""{ch&&&&yCF""""""r(   c                     t          g dd          }|d d d                             |dd d                   }|d d         }t          j        ||           d S )N)z
2018-12-31z
2019-03-31z
2019-06-30z
2019-09-30z
2019-12-31z
2020-03-31zQE-DECrS   rv   r   r   )r   r   r    r!   )r"   rw   r.   r,   s       r&   &test_intersection_non_tick_no_fastpathz>TestDatetimeIndexSetOps.test_intersection_non_tick_no_fastpath  sy       

 

 

 SSqS&&s14a4y11rr7
fh/////r(   c                     t          dddd          }|dd         d d d         }|d	d
         d d d         }|j        |j        k    sJ |                    |          }|j        |j        k    sJ d S )Nz1/1/2011r   hutcr   r5   r0   r   Z   r   P   )r   r0   r   )r"   rJ   rg   rh   r.   s        r&   test_dti_intersectionz-TestDatetimeIndexSetOps.test_dti_intersection  s    SsuEEE2b5z$$B$BrE
44R4 w#&    ""5))yDG######r(   setop)r   r   symmetric_differencec                    t          dddd          }t          dddd          } t          ||          |          }|                    d          }|                    d          } t          ||          |          }t          j        ||           |j        |j        k    sJ t          |          r6|d	         j        t          j        u sJ |d
         j        t          j        u sJ d S d S )Nz2012-11-15 00:00:00   r   z
US/Centralr   z2012-11-15 12:00:00r   r   r   r   )	r   getattr
tz_convertr    r!   r0   r   r   r   )r"   r   rJ   rB   r.   rg   rh   r,   s           r&   test_dti_setop_awarez,TestDatetimeIndexSetOps.test_dti_setop_aware  s     .UUU/VVV$e$$T**~~e$$&&'74''..
fh///yDG####v;; 	1!9<8<////":=HL0000	1 	100r(   c           	      n   t          t          d          t          j        g          }t          ddgd          }|                    |          }t          t          d          t          j        t          dd          t          dd          gt                    }t          j        ||           d S )Nz
2011-01-01z
2012-01-01z
2012-01-02r   r:   r   )	r   r	   pdNaTr   r   r   r    r!   )r"   rJ   rB   r.   r,   s        r&   test_dti_union_mixedz,TestDatetimeIndexSetOps.test_dti_union_mixed  s    Y|44bf=>>lL9lKKK4,'',<888,<888	 
 
 
 	fh/////r(   N)#__name__
__module____qualname__r0   r'   pytestmarkparametrizer}   r   r   r<   r/   rO   rW   ra   ri   rp   rt   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(   r&   r   r   !   s       
 
 
B1 1 1 [URXvt$<==	0 	0 >=	0 [T2&&C C '&C<+ + +
+ 
+ 
++ + +.+ + +# # #" " "	- 	- 	-     0 0 00 0 0" [GGG ;0 ;0 ;0~ [VeS\22+ + 32+6      [T2&&9 9 '&949 9 9$5 5 5
 [T#E#E#EFF #  # GF #D0 0 0"$ $ $ [W&W&W&WXX1 1 YX1$0 0 0 0 0r(   r   c                       e Zd Zd Zd Zd Zd Zd Zd Ze	j
        d             Zej                            dd	d
g          d             Zd
S )TestBusinessDatetimeIndexc                 x   t          t          t                    }|d d         }|dd         }|                    ||          }t	          |t
                    sJ |d d         }|dd          }|                    ||          }t	          |t                    sJ |d d         }|dd         }|                    ||          }t	          |t
                    sJ |+t          j        |                    ||          |           nVt          t          |          t          |          z             }t          j        |                    ||          |           t          t          t          t                                }|                    ||          }t	          |t
                    sJ d S )Nr   r   r   rS   )r
   STARTENDr   
isinstancer   r   r    r!   r<   r   r   )r"   r   rJ   rg   rh   	the_unionr,   s          r&   rO   z$TestBusinessDatetimeIndex.test_union  s   %%%3B3xAbD	JJu4J00	)]33333 2A2wBCCJJu4J00	)U+++++ 2A2wAbD	JJu4J00	)]33333 <!%++d+">">	JJJJ$T%[[4::%=>>H!%++d+">">III )++666IIcI--	)]3333333r(   c                    t          ddt                                }|dd          }|d d         }|                    ||          }|t          j        ||           nQt          t          |dd                    t          |d d                   z             }t          j        ||           |dd          }|dd         }|                    ||          }|dd          }t          j        ||           d S )	Nr2   r   r\   r   r   r   rm   #   )r   r   r   r    r!   r   r<   )r"   r   rJ   r>   rB   r   r,   s          r&   test_union_not_cacheablez2TestBusinessDatetimeIndex.test_union_not_cacheable  s    Rfhh???233x3B3xJJt$J//	<!)S1111$T#bcc(^^d3ss8nn%DEEH!)X666233x2b5zJJt$J//	rss8
i22222r(   c                 0   t          ddt                                }|dd          }|d d         }|                    |          }|dd         }t          j        ||           t          |t                    sJ |j        |j        k    sJ |                    |          }t          j        ||           |d d                             |dd                    }t          g                               d          }t          j        ||           d S )Nr2   r   r\   r   r   r;   )	r   r   r   r    r!   r   r   r5   r=   )r"   rJ   r>   rB   the_intr,   s         r&   r   z+TestBusinessDatetimeIndex.test_intersection  s   Rfhh???233x3B3x##D))r"u:
gx000'=11111|sx''''##D))
gx000 crc(''BCC11 $$,,T22
gx00000r(   c                     t          dd          }t          dd          }|                    |          }t          j        ||           |j        |j        k    sJ d S )N
11/30/2011
12/31/2011
12/10/2011
12/20/2011r
   r   r    r!   r5   r"   r   r   r.   s       r&   test_intersection_bugz/TestBusinessDatetimeIndex.test_intersection_bug"  s_    l33l33""
fa((({af$$$$$$r(   c                     t          d          t          d          g}t          |d          }|                    |          }t          j        ||           d S )Nr   z
2020-02-01r   r   )r	   r   r   r    r!   )r"   r+   rU   ress       r&   test_intersection_listz0TestBusinessDatetimeIndex.test_intersection_list*  s\     L))9\+B+BCF---v&&
c3'''''r(   c                 `   t          j        d          }t          ddd          }t          ddd          }t          ddd          }t          ddd          }t          |||t	                                }t          |||t	                                }|                    ||           d S )Nr     r   r9   r   r   endr0   r5   r   )pytzr   r   r   r   r   )	r"   r   r0   early_start	early_end
late_startlate_endearly_drlate_drs	            r&   test_month_range_union_tz_pytzz8TestBusinessDatetimeIndex.test_month_range_union_tz_pytz2  s    ]<((tQ**T1a((	dAq))
D!Q''KY2HJJWWW:8TTTwT*****r(   c                 Z   ddl m}  |d          }t          ddd          }t          ddd          }t          ddd          }t          ddd          }t          |||t	                                }t          |||t	                                }	|                    |	|	           d S )
Nr   )dateutil_gettzr   r  r   r9   r   r  r   )pandas._libs.tslibs.timezonesr  r   r   r   r   )
r"   r   r  r0   r  r  r  r  r  r  s
             r&   "test_month_range_union_tz_dateutilz<TestBusinessDatetimeIndex.test_month_range_union_tz_dateutil@  s    @@@@@@^L))tQ**T1a((	dAq))
D!Q''KY2HJJWWW:8TTTwT*****r(   r   FNc                 &   t          t          d          t          d          t          d          g          }|                    ||          }t          t          d          t          d          g          }t          j        ||           d S )Nz
2019-12-13z
2019-12-12r   )r   r	   r   r    r!   )r"   r   r   r.   r,   s        r&   test_intersection_duplicatesz6TestBusinessDatetimeIndex.test_intersection_duplicatesQ  s     ,'','',''
 
 ""4d"33)L119\3J3JKLL
fh/////r(   )r   r   r   rO   r   r   r
  r  r  tdskip_if_windowsr  r   r   r   r  r   r(   r&   r   r     s        "4 "4 "4H3 3 3"1 1 1$% % %( ( (+ + + + + +  [VeT]330 0 430 0 0r(   r   c            	           e Zd Zd Zd Zej                            dddd ej	        d          g          d             Z
dS )	TestCustomDatetimeIndexc                    t          t          t          d          }|d d         }|dd         }|                    ||          }t	          |t
                    sJ |d d         }|dd          }|                    ||          }t	          |t                    sJ |d d         }|dd         }|                    ||          }t	          |t
                    sJ |*t          j        |                    ||          |           t          t          t          t                                }|                    ||          }t	          |t
                    sJ d S )NCrS   r   r   r   )r
   r   r   r   r   r   r   r    r!   r   r   )r"   r   rJ   rg   rh   r   s         r&   rO   z"TestCustomDatetimeIndex.test_uniona  s\   %3///3B3xAbD	JJu4J00	)]33333 2A2wBCCJJud++	)U+++++ 2A2wAbD	JJu4J00	)]33333 <!%++d+">">	JJJ )++666IIcI--	)]3333333r(   c                     t          ddd          }t          ddd          }|                    |          }t          j        ||           |j        |j        k    sJ d S )Nr  r  r%  rS   r  r  r  r	  s       r&   r
  z-TestCustomDatetimeIndex.test_intersection_bug  si    l===l===""
fa((({af$$$$$$r(   r0   Nr   zEurope/Berlinic                    t          ddd|          }t          ddd|          }|                    |          }t          ddd|          }t          j        ||           t          dddd	          }t          d
ddd	          }|                    |          }t          dddd	          }t          j        ||           d S )Nz
2020-03-27r   r3   r   z
2020-03-30rv   z
2021-10-28r9   zEurope/Londonz
2021-10-30rZ   r   )r   r   r    r!   r   )r"   r0   r   r   r.   r,   index1index2s           r&    test_intersection_dst_transitionz8TestCustomDatetimeIndex.test_intersection_dst_transition  s    
 ,CCC,CCC""4((lACBGGG
fh/// L!#/RRRL!#/RRRf%%lACOTTT
fh/////r(   )r   r   r   rO   r
  r   r   r   r  FixedOffsetr*  r   r(   r&   r#  r#  `  s        4 4 4B% % % [tUO-=T-=c-B-BC 0 0 0 0 0r(   r#  )r   r   numpyr}   r   r  pandas.util._test_decoratorsutil_test_decoratorsr   ro   r   r   r   r   r   r	   r
   r   pandas._testing_testingr    pandas.tseries.offsetsr   r   r   r   r   r   r   r#  r   r(   r&   <module>r3     s         
       ) ) ) ) ) ) ) ) )                                     XdAq!!88D!Q#7#7
sv0 v0 v0 v0 v0 v0 v0 v0rC0 C0 C0 C0 C0 C0 C0 C0L:0 :0 :0 :0 :0 :0 :0 :0 :0 :0r(   