
    o[weM                     d    d dl Zd dlZd dlmZ d dlZd dlmZmZ d dl	m
Z eZ G d d          ZdS )    N)ensure_platform_int)Index
RangeIndexc                   
   e Zd Zej        d             Zd Zd Zd Zej	        
                    d ed          dddf edd          dddf edd	
          ddd	f eddd	          ddd	fg          d             Zd Zd Zd Zd Zd Z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 eddd	           eddd	          f ed           eddd           f edd	d            edd d!          f edd"d#           edd$d#          fg          d%             Zd& Zd' Zd( Z ej	        
                    d)d*d+g          d,             Z!d- Z"d. Z#d/ Z$d0 Z%ej	        
                    d1 edd2d	d34           ed5dd#d64          gd7d8g9          d:             Z&d; Z'd< Z(d= Z)ej	        
                    d> e* e+d?d@                    dhz
            dA             Z,ej	        
                    dB e-ddCd          g e-ddCd          f e-dd@d!          g e-dd@d!          f e-dd            e-d dD          g e-ddD          f e-ddd	           e-dd@          g e-dd@d	          f e-dd d	           e-d!dDd           g e-ddDd           f e-dEd d	           e-d!dDd	          g e-dEdDd	          f e-dEdF           e-dFdG          g e-dd          f e-dEdF           e-d dE          g e-dd          f e-dEdF           e-d d          g e-d d          f e-dEd#           e-d d          g e.g dH          f e-d#           e-d d          g e-d d          f e-d	           e-d	          g e.g dI          f e-d	           e-d	d           e-ddJd!          g e-dd@          f e-d	           e-d d           e-ddJd!          g e.g dK          f e-d#d	           e-d	d           e-ddJd!          g e-d#d@          f e-d            e.g dL          g e.g dM          f e-d            e.g dN          g e.g dO          f e-d            e.g dP          g e.g dQ          f e-d d           e.g dP          g e.g dP          fg          dR             Z/dS Z0dT Z1ej	        
                    dU eddd           eddd           edd d	           eddd#           edVd?d#          g          dW             Z2ej	        
                    dX edd	           e.ddg          g          dY             Z3dZ Z4d[ Z5d\S )]TestRangeIndexc                 &    t          ddd          S )Nr         startstopstep)r   )selfs    Flib/python3.11/site-packages/pandas/tests/indexes/ranges/test_range.pysimple_indexzTestRangeIndex.simple_index   s    3333    c                     t          dd          }t          j        ddgt          j                  }t	          j        |j        |           d S )N      r
   dtype)r   nparrayint64tmassert_numpy_array_equal_datar   resultexpecteds      r   test_constructor_unwraps_indexz-TestRangeIndex.test_constructor_unwraps_index   sF    Aq!!8QF"(333
#FL(;;;;;r   c                 L    |}|d         }|                     |          du sJ d S )Nr   F)$_can_hold_identifiers_and_holds_name)r   r   idxkeys       r   test_can_hold_identifiersz(TestRangeIndex.test_can_hold_identifiers   s5    !f77<<EEEEEEr   c                     |}t          j        t          d          5  ddg|_        d d d            d S # 1 swxY w Y   d S )Nz^Lengthmatchrogerharold)pytestraises
ValueErrornamesr   r   indexs      r   test_too_many_namesz"TestRangeIndex.test_too_many_names    s    ]:Y777 	. 	."H-EK	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   
599zindex, start, stop, step   r   r   r
   )r   c                 T    |j         |k    sJ |j        |k    sJ |j        |k    sJ d S Nr   )r   r1   r   r   r   s        r   test_start_stop_step_attrsz)TestRangeIndex.test_start_stop_step_attrs%   sC     {e####zT!!!!zT!!!!!!r   c                     t          dd          }|                                }||usJ |                    |          sJ |j        t	          ddd          k    sJ |j        dk    sJ d S )Nr3   Foonamer   r   )r   copy	identical_rangeranger:   )r   ii_copys      r   	test_copyzTestRangeIndex.test_copy4   s~    qu%%%Q"""""}aA....{e######r   c                 F   t          dd          }t          |          }d}||k    sJ t          |          }t          j        ||d           t          ddd          }t          |          }d	}||k    sJ t          |          }t          j        ||d           d S )
Nr3   r8   r9   z/RangeIndex(start=0, stop=5, step=1, name='Foo')Texactr   z$RangeIndex(start=5, stop=0, step=-1))r   reprevalr   assert_index_equal)r   r?   r   r    s       r   	test_reprzTestRangeIndex.test_repr<   s    qu%%%aD!!!!f
fat4444q!R  a9!!!!f
fat444444r   c                 |   t          dd          }|dd         }t          j        |dd         |                    d|d                   d           t	          dt
          j        dd	d
dgt
          j                  }t
          j        d t          j	        fD ]:}t          d                              d|          }t          j        ||           ;t          d                              dt          j
                  }t	          dt          j
        dd	d
dgt                    }t          j        ||           d S )Nr3   r8   r9   r      r   equivrC   r
   r   r   )r   r   rH   insertr   r   nanfloat64pdNANaTobject)r   r$   r   r    nas        r   test_insertzTestRangeIndex.test_insertM   s   '''QqS 	c!A#haQ(@(@PPPP !RVQ1a0
CCC64' 	4 	4B]]))!R00F!&(3333A%%a00!RVQ1a0???
fh/////r   c                 n   t          t          ddd                    }|                    dd          }t          t          ddd                    }t          j        ||d           |                    dd          }t          t          dd	d                    }t          j        ||d           d S )
NrK   	   r
   r   TrC   r   
      r   r>   rM   r   rH   r   r$   r   r    s       r   &test_insert_edges_preserves_rangeindexz5TestRangeIndex.test_insert_edges_preserves_rangeindex^   s    E!QNN##Aq!!q!Q((
fhd;;;;Ar""q"a))
fhd;;;;;;r   c                 B   t          t          ddd                    }|                    dd          }t          t          d                    }t          j        ||d           |dz  }|                    dd          }|dz  }t          j        ||d           d S )Nr   r   r
   r   TrC   rZ   r[   s       r   'test_insert_middle_preserves_rangeindexz6TestRangeIndex.test_insert_middle_preserves_rangeindexi   s    E!QNN##Aq!!q??
fhd;;;;AgAq!!a<
fhd;;;;;;r   c                    t          dd          }|dd          }|                    d          }t          j        ||d           |j        |j        k    sJ |d d         }|                    d          }t          j        ||d           |j        |j        k    sJ d	}t          j        t          t          f|
          5  |                    t          |                    }d d d            d S # 1 swxY w Y   d S )Nr3   r8   r9   r   r   TrC   rE   z/index 5 is out of bounds for axis 0 with size 5r(   )
r   deleter   rH   r:   r,   r-   
IndexErrorr.   len)r   r$   r    r   msgs        r   test_deletezTestRangeIndex.test_deleteu   s@   '''qrr7A
fhd;;;;{hm++++ss8B
fhd;;;;{hm++++?]J
33??? 	* 	*ZZC))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   #C66C:=C:c                 0   t          t          d          d          }|                    dg          }t          t          d          d          }t          j        ||d           |                    d          }t          j        ||d           d S )Nr
   foor9   r   TrC   r   r>   r`   r   rH   r[   s       r    test_delete_preserves_rangeindexz/TestRangeIndex.test_delete_preserves_rangeindex   s    E!HH5)))QCq...
fhd;;;;A
fhd;;;;;;r   c                    t          t          d          d          }|                    d          }|d d d         }t          j        ||d           |                    d          }t          j        ||d           d S )	Nr   rf   r9   r   r
   TrC   rg   r[   s       r   'test_delete_preserves_rangeindex_middlez6TestRangeIndex.test_delete_preserves_rangeindex_middle   s}    E!HH5)))Asss8
fhd;;;;B
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }|d d         }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	Nr      r   )r
   r   rK   r3   r
   TrC   rE   r   r`   r   rH   r   r$   locr   r    s        r   ,test_delete_preserves_rangeindex_list_at_endz;TestRangeIndex.test_delete_preserves_rangeindex_list_at_end   s    Aq!!llCrr7
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }t          ddd          }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	Nr   rm   r   )r   r
   r   rK   r3   TrC   rE   rn   ro   s        r   ,test_delete_preserves_rangeindex_list_middlez;TestRangeIndex.test_delete_preserves_rangeindex_list_middle   s    Aq!!llCaA&&
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }|d d         }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )Nr   rm   r   )r   r   r
   r   rK   r3   TrC   rE   rn   ro   s        r   $test_delete_all_preserves_rangeindexz3TestRangeIndex.test_delete_all_preserves_rangeindex   s    Aq!!   Crr7
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }t          g d          }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	Nr   rm   r   )r   r   r3   )r   r
   rK   TrC   rE   )r   r`   r   r   rH   ro   s        r   %test_delete_not_preserving_rangeindexz4TestRangeIndex.test_delete_not_preserving_rangeindex   s    Aq!!iiC##
fhd;;;;C"I&&
fhd;;;;;;r   c                 &   t          dd          }|                                }|j        dk    sJ |                    d          }t          j        |j        |           |                    t                     }t          j        ||           d S )Nr   r8   r9   i8)r   viewr:   r   r   valuesrH   )r   r?   i_views      r   	test_viewzTestRangeIndex.test_view   s    qu%%%{e####
#AHf555
##
a(((((r   c                 8    |}|j         t          j        k    sJ d S r5   )r   r   r   r0   s      r   
test_dtypezTestRangeIndex.test_dtype   s"    {bh&&&&&&r   c                    t          ddd          }|j        i k    sJ t          |           |j        i k    sJ t          |           |j        i k    sJ |                    d           |j        i k    sJ d|v  |j        i k    sJ d|v  |j        i k    sJ |                                 |j        i k    sJ |                                 |j        i k    sJ |D ]}|j        i k    sJ |                                 |j        i k    sJ t          j	        dt          d          i|          }t          |           |j        i k    sJ |j        d	          |j        i k    sJ t          j        t          d
          5  |j        d          d d d            n# 1 swxY w Y   |j        i k    sJ |j        dd	          |j        i k    sJ |j        dd          |j        i k    sJ |                    g d           d|j        vsJ |j        d	g          d|j        vsJ |j        g d          d|j        vsJ |j         t%          |j        t&          j                  sJ |j        |j        u sJ d|j        v sJ t'          j        dddd          }t-          j        |j        d         |           d S )Nr   d   rX   r	   Z   [   a)r1   2   51r(   3   r3   )r   r   r   r   )r3   rm         rW   r   r   )r   _cacherF   strget_locallanyformatrP   	DataFramer>   rp   r,   r-   KeyErroriloctaker   
isinstancer   ndarrayaranger   r   )r   r$   _dfr    s        r   
test_cachezTestRangeIndex.test_cache   s\   
 C$$zRS			zRCzRBzR
c		zR
c		zR			zR			zR 	 	AzR

zR\3b		*#666BzR
r

zR]84000 	 	F2JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	zR
r"uzR
"zR 	cj((((
tcj((((
  cj(((( 			#)RZ00000yCI%%%%#*$$$$9QRw777
#CJw$7BBBBBs   F  F$'F$c                    t          ddd          }|j        du sJ |j        du sJ |j        du sJ |j        du sJ |j        du sJ t          ddd          }|j        du sJ |j        du sJ |j        du sJ |j        du sJ t          dd          }|j        du sJ |j        du sJ |j        du sJ |j        du sJ |j        du sJ t          dd          }|j        du sJ |j        du sJ |j        du sJ |j        du sJ |j        du sJ t          dd          }|j        du sJ |j        du sJ |j        du sJ |j        du sJ |j        du sJ d S )	Nr   r	   r
   TFrK   rE   r   )r   is_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingr   r1   s     r   test_is_monotonicz TestRangeIndex.test_is_monotonic  s7   1b!$$,4444,4444,55556$>>>>6%????1a$$,55556%????,44446$>>>>1a  ,4444,4444,44446$>>>>6$>>>>1a  ,4444,4444,44446$>>>>6$>>>>1a  ,4444,4444,44446$>>>>6$>>>>>>r   z
left,rightrW   rX   rE   r   rK   irj   ic                 b    |                     |          sJ |                     |          sJ d S r5   )equals)r   leftrights      r   test_equals_rangez TestRangeIndex.test_equals_range@  s:     {{5!!!!!||D!!!!!!!r   c                     |}|                                 |j                                         k    sJ |                                |j                                        k    sJ d S r5   )r   r{   r   )r   r   r$   s      r   test_logical_compatz"TestRangeIndex.test_logical_compatM  sW    wwyyCJNN,,,,,,wwyyCJNN,,,,,,,,r   c                    |}t          |                                          }|                    |          sJ t          |t                    rd S t          |t
                    }|                    |          rJ |                    t
                    }|                    d          }t          |t
                    }|                    |                    t
                              sJ |                    |          rJ t          |dt
                                        |          sJ |                    t
                                        |                    d                    rJ d S )Nr   rf   )r:   r   r   )r   r;   r<   r   r   rS   rename)r   r   r1   r?   same_values_different_typesame_valuess         r   test_identicalzTestRangeIndex.test_identicalR  sR   %**,,{{5!!!!! eZ(( 	F%*1F%;%;%;";;9:::::JJVJ$$HHUOOAV,,,$$UZZfZ%=%=>>>>>;;u%%%%%[uF;;;EEaHHHHH::F:++55ejjwj6O6OPPPPPPPr   c                     t          dd          }|j        t          |j                  j        dz  k     sJ t          dd          }|j        |j        k    sJ d S )Nr   i  rX   )r   nbytesr   _values)r   r$   i2s      r   test_nbyteszTestRangeIndex.test_nbytesh  sb    D!!zE#+..5::::: 2zRY&&&&&&r   zstart,stop,step)rf   barbaz)012c                     dt          |           d| }t          j        t          |          5  t	          |||           d d d            d S # 1 swxY w Y   d S )NzWrong type z for value r(   )typer,   r-   	TypeErrorr   )r   r   r   r   rc   s        r   test_cant_or_shouldnt_castz)TestRangeIndex.test_cant_or_shouldnt_castq  s     <DKK;;E;;]9C000 	* 	*udD)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AAAc                 >    |}|                     t                     d S r5   )rz   r   r0   s      r   test_view_indexzTestRangeIndex.test_view_index  s    

5r   c                 b    |}|                     d          }|j        t          j        k    sJ d S )NO)astyper   r   object_r   r   r1   r   s       r   test_prevent_castingz#TestRangeIndex.test_prevent_casting  s3    c""|rz))))))r   c                 h    |}t          j        t          t          |                    |           d S r5   )r   rH   rG   rF   r0   s      r   test_repr_roundtripz"TestRangeIndex.test_repr_roundtrip  s.    
d4;;//77777r   c                 ^    t          ddd          }|j        |dd          j        k    sJ d S )Nr   r
   asdfr9   )r   r:   r   r$   s     r   test_slice_keep_namez#TestRangeIndex.test_slice_keep_name  s9    AF+++x3qrr7<''''''r   r1   r	   rf   )r   r   r   r:      r   	index_inc	index_dec)idsc                 *    |j         sJ |j        rJ d S r5   )	is_uniquehas_duplicatesr   s     r   test_has_duplicatesz"TestRangeIndex.test_has_duplicates  s'     ''''''r   c                    |}|                     dd          }|d         |d         dz  |d         dz  z   k    sJ d|d         k    sJ |                     dd          }d|d         dz  |d         dz  z   k    sJ d|d         k    sJ d S )Nrm   rX   r   r   r
   )_extended_gcdr   s       r   test_extended_gcdz TestRangeIndex.test_extended_gcd  s    $$Q++ayF1IMF1IN:::::F1I~~~~$$R++F1INVAY]22222F1I~~~~~~r   c                    t          ddd                              d          }d|k    sJ t          dd                              d          }d|k    sJ t          ddd                              d          }d|k    sJ t          ddd	                              d          }d|k    sJ d
}t          d|dz  d                              |          }||k    sJ d S )Nr   r	   r
   r   rm   r   rj   r3   rE   l      !;o )r   _min_fitting_element)r   r   big_nums      r   test_min_fitting_elementz'TestRangeIndex.test_min_fitting_element  s    Ar1%%::1==F{{{{Aq!!66q99F{{{{BB''<<Q??F{{{{Aq"%%::1==F{{{{*Aw{A..CCGLL&      r   c                 r   |}d|_         |d         }d}||k    sJ |d         }d}||k    sJ |d d          }|}t          j        ||           |ddd         }t          ddgd	          }t          j        ||d
           |ddd         }t          ddgd	          }t          j        ||d
           |ddd         }t          ddgd	          }t          j        ||d
           |d d d         }t          |j        d d d         d	          }t          j        ||d
           |dd d         }t          g dd	          }t          j        ||d
           |dd d         }t          t          j        g t
          j                  d	          }t          j        ||d
           |dd d         }t          |j        dd d         d	          }t          j        ||d
           |dd d         }t          |j        d d d         d	          }t          j        ||d
           d S )Nrf   r   r
   rE   r   r   rX      r9   rL   rC   rj   r   rK      )rK   r
   r   ir   (   )r:   r   rH   r   r{   r   r   r   )r   r   r1   resr    index_slices         r   test_slice_specialisedz%TestRangeIndex.test_slice_specialised  s   
 AhhBih AAAh
k8444 AbFm"b...
k87CCCC Br"Ho"b...
k87CCCC Ac!Gn!Ru---
k87CCCC DDbDkddd+%888
k87CCCCBFFm///
k87CCCCCGGn"BH555EBBB
k87CCCCBFFmbf"f-E:::
k87CCCCBFFmddd+%888
k87CCCCCCr   r   r   rm   c                     |dk    rdnd\  }}t          j        |||          }t          |||          }t          |          t          |          k    sJ t          |||          }t          |          dk    sJ d S )Nr   )r   r3   )r3   r   )r   r   r   rb   )r   r   r   r   arrr1   s         r   test_len_specialisedz#TestRangeIndex.test_len_specialised  s     !%qffftitT**5$--5zzSXX%%%%4--5zzQr   zindices, expectedr   r   r   i)r   r   rK   )r   r   r   r   r   )r   r   r   rK   r3   )rE   r      )r   r   r
   rE   r   r   )rE   @      .@)r   r   r
   rE   r   r   )r   Nr   )r   r   r
   r   Nr   c                    |d                              |dd                    }t          j        ||d           t          |          dk    r:|d                              |d                   }t          j        ||d           d S d S )Nr   r   TrC   r
   )appendr   rH   rb   )r   indicesr    r   result2s        r   test_appendzTestRangeIndex.test_append  s    4 ""7122;//
fhd;;;;w<<1aj''
33G!'84@@@@@@ r   c           	      @   t          ddd          }|                    d          dk    sJ t          j        |                    ddg          t          t          j        ddg                               t          j	        t          d	          5  |                    d           d d d            n# 1 swxY w Y   d
|j        vsJ t          j	        t          d	          5  |                    d           d d d            n# 1 swxY w Y   d
|j        vsJ d S )Nr
   rX   r   r3   r   r   r   3r(   _enginez'a'r   )r   r   r   r   get_indexerr   r   r   r,   r-   r   r   r   s     r   test_engineless_lookupz%TestRangeIndex.test_engineless_lookup  s    B""{{1~~""""
#OOQF##%81a&9I9I%J%J	
 	
 	
 ]83/// 	 	KKNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
**** ]85111 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
******s$   B55B9<B9&DDDc                     t          d          }|                                g k    sJ |                    d          dgk    sJ d S )Nr   Tr9    )r   r   )r   	empty_idxs     r   test_format_emptyz TestRangeIndex.test_format_empty3  sT    qMM	!!R''''T**rd222222r   RIr   c                 ^    |                     g           }t          j        ||d           d S )NTrC   )r   r   rH   )r   r   r   s      r   test_append_len_onez"TestRangeIndex.test_append_len_one9  s1     2
fb555555r   basec                     t          dd          }|                    |          }t          j        ddg          }t	          j        ||           d S )Nr   r   TF)r   isinr   r   r   r   )r   r   r{   r   r    s        r   test_isin_rangezTestRangeIndex.test_isin_rangeH  sP     Aq!!6""8T5M**
#FH55555r   c                 l   ddddddt          ddd          }|                    fd          }t          g d	d
          }t          j        ||d           |                                }|                    fd          }t          j        ||                                d           d S )Nr
   r   r   rX   r   )r   rm   rK   r
   r   c                 .    |                                S r5   mapx
sort_orders    r   <lambda>z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>T  s    !%%
2C2C r   )r%   )rm   r   rK   r
   r   r   r   T)check_exactc                 .    |                                S r5   r   r  s    r   r  z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>Z  s    j0A0A r   )r   sort_valuesr   r   rH   	to_seriesassert_series_equal)r   r{   r   r    serr   r  s         @r   test_sort_values_keyz#TestRangeIndex.test_sort_values_keyP  s    qQ2"55
Ar1%%##(C(C(C(C#DD888
fhDAAAA   //&A&A&A&A/BB
w(:(:(<(<$OOOOOOr   c                 z    dt          ddd          z
  }t          ddd          }t          j        ||           d S )Nr   r   rK   r   rE   )r   r   rH   r   s      r   test_range_index_rsub_by_constz-TestRangeIndex.test_range_index_rsub_by_const]  sB    Z1a(((aR((
fh/////r   N)6__name__
__module____qualname__r,   fixturer   r!   r&   r2   markparametrizer   r6   rA   rI   rU   r\   r^   rd   rh   rk   rq   rs   ru   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   setr>   r   r   r   r   r   r   r   r   r  r   r   r   r   r      s	       ^4 4 ^4< < <
F F F
. . .
 ["Z]]Aq!$Z1q!Q'Z"""Aq!,Z1a  !Q*		
 " " "$ $ $5 5 5"0 0 0"	< 	< 	<
< 
< 
<* * *"< < << < <	< 	< 	<	< 	< 	<	< 	< 	<	< 	< 	<	) 	) 	)' ' 'GC GC GCR!? !? !?F [Z1a  **QA"6"67Z]]JJq"a001Z1a  **Q1"5"56Z2r""JJq#r$:$:;		
 " " "- - -
Q Q Q,' ' ' [ "		
 * * *
  * * *
8 8 8( ( ( [JQRae<<<JRbr>>>	
 +&   ( ( (  ! ! !$5D 5D 5Dn [VSSr1%6%6!%<==	 	 >=	 [bBll^RR2q\\*bAqkk]BBq!QKK(bAhh1a!22a88,bAqkk22a88$bbAqkk2bAqkk22aA;;'Aq!5bQllBBq!QKK(""RA,,7bRjj""R++&1a1bRjj""Q))$bbAhh/bRjj""Q((#RR1XX.bRjj""Q((#UU>>>%:%:;bffbbAhhAq*beeRRUU^UU<<<001beeRR1XXrr!Q{{+RR1XX6beeRR1XXrr!Q{{+UU???-C-CDbQiiAq22aA;;/B;beeUU;;;''(%%0D0D0D*E*EFbeeUU???++,ee4L4L4L.M.MNbeeUU???++,ee4L4L4L.M.MNbAhhooo../1G1GH'	
 0A A1 0A+ + +,3 3 3 [Jq"b!!Jq!QJq!QJq"b!!Jr2r""	
	 	6 6	 	6
 [VjjA&6&6q!f%FGG6 6 HG6P P P0 0 0 0 0r   r   )numpyr   r,   pandas.core.dtypes.commonr   pandasrP   r   r   pandas._testing_testingr   r   r   r  r   r   <module>r     s         9 9 9 9 9 9                  P	0 P	0 P	0 P	0 P	0 P	0 P	0 P	0 P	0 P	0r   