Ë
    ž…jSü  ã                   óø)  — d dl m Z mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d	„ Zd
„ Zej:                  j=                  ddd ej>                  dg«      g«      d„ «       Z ej:                  j=                  d ed¬«       ed¬«      d e edd¬«       ed«      ¬«      g«      d„ «       Z!ej:                  j=                  dddg«      d„ «       Z"ej:                  j=                  d ed¬«       ed¬«      g«      d„ «       Z#ej:                  j=                  d ed¬«       ed¬«      dg«      d„ «       Z$d „ Z%ej:                  j=                  d!d"g d#¢g d$¢g d%¢g d&¢g d'¢gfd(g d)¢g d#¢g d*¢g d+¢g d'¢gfd,g d#¢g d*¢g d+¢g d'¢g d-¢gfd.g d)¢g d/¢g d0¢g d1¢g d-¢gfg«      d2„ «       Z&ej:                  j=                  d3d4d,g d5¢fd4d"g d5¢fd4d(g d5¢fd4d.g d5¢fd6d,g d7¢fd6d"g d5¢fd6d(g d8¢fd6d.g d9¢fg«      d:„ «       Z'ej:                  j=                  d3d;d,g d<¢fd;d(g d=¢fd;d"g d>¢fd;d.g d?¢fg«      d@„ «       Z(ej:                  j=                  dAd(ejR                  ejR                  ddddBdCdCdDdEg
fd.ejR                  ejR                  ddddFdddGdHg
fd,g dI¢fd"g dJ¢fg«      dK„ «       Z*ej:                  j=                  dAd(ejR                  ejR                  ddddBdLdLdDdEg
fd.ejR                  ejR                  ddddBdLdLdGdHg
fd,g dM¢fd"g dN¢fg«      dO„ «       Z+dP„ Z,dQ„ Z-ej:                  j=                  dRd.d(g«      dS„ «       Z.ej:                  j=                  dTdUdVg«      dW„ «       Z/ej:                  j=                  dTdUdVg«      dX„ «       Z0ej:                  j=                  dYdZd[g«      ej:                  j=                  d\dUd,g d]¢fdUd"g d^¢fdUd.ejR                  d d dddd_dd`dag
fdUd(ejR                  d d d dddd_dd`g
fdVd,g db¢fdVd"g db¢fdVd.ejR                  d dddd_dd`dadHg
fdVd(ejR                  d dddd_dd`dadHg
fg«      dc„ «       «       Z1dd„ Z2ej:                  j=                  d\dUd,ejR                  d d dddd_dejR                  ejR                  g
fdUd"ejR                  d d d dddd_dejR                  g
fdUd.ejR                  ejR                  d dddd_dejR                  ejR                  g
fdUd(ejR                  ejR                  d d dddd_dejR                  g
fdVd,ejR                  dddd_dd`d`ejR                  ejR                  g
fdVd"ejR                  dddd_dd`d`d`ejR                  g
fdVd.ejR                  ejR                  dddd_dd`ejR                  ejR                  g
fdVd(ejR                  ejR                  dddd_dd`d`ejR                  g
fg«      de„ «       Z3ej:                  j=                  dAd,g df¢fd"g dg¢fd.ejR                  d dhdidjdkdldmdndog
fd(ejR                  d dhdddd_dd`dag
fg«      dp„ «       Z4ej:                  j=                  dqdrdg«      ds„ «       Z5dt„ Z6du„ Z7dv„ Z8dw„ Z9dx„ Z:dy„ Z;dz„ Z<d{„ Z=d|„ Z>d}„ Z?d~„ Z@d„ ZAej:                  j=                  d€g d�¢g d‚¢dƒœdgd_gdƒœd gfddgd_dgdƒœd dgfg d�¢g d‚¢dƒœg d„¢fgddfg d�¢g d‚¢dƒœdgd_gdƒœd gfddgd_dgdƒœd dgfddgdd`gdƒœddgfgddfg d�¢g d‚¢dƒœdgd_gdƒœd gfddgd_dgdƒœd dgfddgdd`gdƒœddgfgddfg d�¢g d‚¢dƒœdgd_gdƒœd gfdgdgdƒœdgfdgd`gdƒœdgfgddfg d�¢g d‚¢dƒœdgd_gdƒœd gfdgdgdƒœdgfdgd`gdƒœdgfgdd fdgd_gdƒœg ddfdgd_gdƒœg ddfdi g fgddfdejR                  dgejR                  dd`gdƒœd…gejR                  gdƒœd gfdejR                  gejR                  dgdƒœd dgfdejR                  dgejR                  dd`gdƒœg d„¢fgddfg	«      d†„ «       ZBej:                  j=                  d‡dgd_gdƒœd gfddgd_dgdƒœd dgfddgdd`gdƒœddgfgd;fdgd_gdƒœd gfddgd_dgdƒœd dgfg d�¢g d‚¢dƒœg d„¢fgdfdgd_gdƒœd gfdgdgdƒœdgfdgd`gdƒœdgfgdˆfg«      d‰„ «       ZCdŠ„ ZDej:                  j=                  d‹ eg d�¢«      dgd gfddgd dgfg d�¢g d„¢fgddf eg d�¢«      dgd gfddgd dgfg d�¢g d„¢fgddf eg d�¢«      dgd gfddgd dgfddgddgfgddf eg d�¢«      dgd gfddgd dgfddgddgfgddf eg d�¢«      dgd gfdgdgfdgdgfgdd f eg d�¢«      dgd gfdgdgfdgdgfgddf eddg«      dgd gfddgd dgfgdd f eg dŒ¬�«      g ddfg«      dŽ„ «       ZEej:                  j=                  d�d gdgdgdgd_gg ed�dd‘¬’«       ed“dd‘¬’«       ed”dd‘¬’«       ed•dd‘¬’«       ed–dd‘¬’«      gdˆfd gd dgddgddgdd_gg ed�dd‘¬’«       ed�dd‘¬’«       ed“dd‘¬’«       ed”dd‘¬’«       ed•dd‘¬’«      gd;fd gd dgg d„¢g d�¢g d—¢g ed�dd‘¬’«       ed�dd‘¬’«       ed�dd‘¬’«       ed“dd‘¬’«       ed”dd‘¬’«      gdfg«      d˜„ «       ZFej:                  j=                  d™dšd i ejŽ                  g d›¢ddg¬œ«      fd�dži ejŽ                  g dŸ¢dždg¬œ«      fg«      d „ «       ZHej:                  j=                  d¡d¢dg«      d£„ «       ZId¤„ ZJd¥„ ZKd¦„ ZLd§„ ZMej:                  j=                  d¨ ed©dªdU¬««      d¬f ed©d­d®¬««      d¯fg«      ej:                  j=                  d°dUejR                  d d dddd_dd`g	fdVejR                  d dddd_dd`dag	fd±ejR                  d ddddadFd²dGg	fg«      d³„ «       «       ZNd´„ ZOej:                  j=                  dµd¶g d·¢ddg d¸¢fd¹g d·¢ddg dº¢fd¶g d»¢ddg d¼¢fd¹g d»¢ddg d½¢fd¹g d¾¢ddg d¿¢fd¶g dÀ¢ddg dÁ¢fd¹g dÂ¢d`dg dÃ¢fg«      dÄ„ «       ZPdÅ„ ZQej:                  j=                  dÆg dÇ¢«      dÈ„ «       ZRej:                  j=                  d3d6d,g dÉ¢fd6d(g dÊ¢fd6d"g dË¢fd6d.g dÌ¢fd4d,g dË¢fd4d(g dË¢fd4d"g dË¢fd4d.g dË¢fg«      dÍ„ «       ZSej:                  j=                  dÎdÏg dÐ¢fdÑg dÒ¢fg«      dÓ„ «       ZTej:                  j=                  dÔd¶ eUdÕ«      dÖ eUdÕ«      d×dØdÙdÚdÛgfdÜ eUdÕ«      do eUdÕ«      dÝdÞdßdàdágfd± eUdÕ«      dâ eUdÕ«      dãdâdädådægfdç eUdÕ«      dè eUdÕ«      dédêdëdìdígfdî eUdÕ«      dï eUdÕ«      dðdñdòdódôgfg«      dõ„ «       ZVej:                  j=                  d¨g dö¢df ed÷d‘d¬ø«      d;fg«      dù„ «       ZWej:                  j=                  dúg dû¢dü eUdÕ«       eUdÕ«      d…ddýdþdÿdÞ�d �dg
fd…ejR                  dýejR                  dÿejR                  �d ejR                  �dejR                  g
dü eUdÕ«      gdBz  fg dû¢�d eUdÕ«       eUdÕ«      dýdþdÿdÞ�d �d�d�dg
fd…ejR                  dýejR                  dÿejR                  �d ejR                  �dejR                  g
�d eUdÕ«      gdBz  fg«      �d„ «       ZXej:                  j=                  dúg dû¢düg �d¢fd…ejR                  dýejR                  dÿejR                  �d ejR                  �dejR                  g
düg �d¢fg dû¢�dg dû¢fd…ejR                  dýejR                  dÿejR                  �d ejR                  �dejR                  g
�dg �d¢fg«      �d	„ «       ZY�d
„ ZZej:                  j=                  dÆdçdîg«      �d„ «       Z[ej:                  j=                  �ddçg �d¢ejR                  gdz  g �d¢z   fdçg �d¢ejR                  gdz  g �d¢z   fdîg �d¢ejR                  gdz  g �d¢z   fdîg �d¢ejR                  gdz  g �d¢z   fg«      �d„ «       Z\ej:                  j=                  dÆdçdîg«      �d„ «       Z]�d„ Z^�d„ Z_�d„ Z`�d„ Zaej:                  j=                  �ddg �d¢fdg �d¢fg«      �d„ «       Zb�d„ Zc�d„ Zdej:                  j=                  dg �d¢«      ej:                  j=                  dÆg �d ¢«      ej:                  j=                  �d!�d"�d#g«      ej:                  j=                  �d$g �d%¢«      �d&„ «       «       «       «       Zeej:                  j=                  dg �d¢«      ej:                  j=                  �d$g �d'¢«      �d(„ «       «       Zf�d)„ Zgej:                  j=                  �d*g �d+¢«      ej:                  j=                  �d,g �d-¢«      ej:                  j=                  �d.g �d/¢g �d0¢d¢ejR                  �d1ejR                  �d2gejR                  ejR                  ejR                  ejR                  gejR                  �d3ejR                  �d4�d2dhgdhgejR                  �d5�d6gg«      �d7„ «       «       «       Zh�d8„ Zi�d9„ Zj�d:„ Zk�d;„ Zl�d<„ Zm�d=„ Znej:                  j=                  g �d>¢�d?dBdBejÞ                  ddddgddejR                  �d@�dAd �dBd �dCdgg�d?dBdBejR                  dBdddgddejR                  �d@�dAd d �dB�dDdggejR                  dd`dadddgddejR                  gdz  g �dE¢z   gddadadaejR                  ejÞ                  d_dddg
ddejR                  gdz  �dFd gz   ejR                  gd_z  z   �dCd gz   gddadadaejR                  ejÞ                  dadddg
ddejR                  gdz  �dFd gz   ejR                  gd_z  z   �dGd gz   gddagd_z  ddejR                  gdz  �dFgd`z  z   gddadejR                  daddagddejR                  d�dFgdgdz  z   �dFgz   gg«      �dH„ «       Zp�dI„ Zq�dJ„ Zr�dK„ Zsej:                  j=                  �dLddg«      ej:                  j=                  �dM�d"�d#g«      �dN„ «       «       Ztej:                  j=                  �dOeuevg«      �dP„ «       Zwej:                  j=                  �dLddg«      ej:                  j=                  �dM�d"�d#g«      ej:                  j=                  �dOeuevg«      �dQ„ «       «       «       Zxej:                  j=                  �dRg �dS¢«      �dT„ «       Zy G �dU„ �dVe«      Zz G �dW„ �dX«      Z{y(Y  é    )ÚdatetimeÚ	timedeltaN)ÚIS64)ÚPandas4Warning)Ú	DataFrameÚDatetimeIndexÚ
MultiIndexÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangeÚperiod_range)ÚBaseIndexer)ÚVariableOffsetWindowIndexer)ÚBusinessDayc                  óÈ   — t        ddddt        j                  dgi«      } |  | j                  d«      j	                  «        | j                  dd¬«      j	                  «        y )NÚBr   é   é   é   ©Úmin_periods)r   ÚnpÚnanÚrollingÚsum)Údfs    úa/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/window/test_rolling.pyÚtest_doc_stringr      sP   € Ü	�C˜!˜Q ¤2§6¡6¨1Ð-Ð.Ó	/€BÙØ‡J�JˆqƒM×ÑÔØ‡J�Jˆq˜a€JÓ ×$Ñ$Õ&ó    c                 ó  —  | t        d«      «      j                  } |d«        |d¬«        |dd¬«        |ddd¬«        |ddd	¬«       d
}t        j                  t        |¬«      5   |d«       d d d «       y # 1 sw Y   y xY w)Né   r   r   ©Úwindowr   ©r$   r   T©r$   r   ÚcenterFz&window must be an integer 0 or greater©Úmatchéÿÿÿÿ)Úranger   ÚpytestÚraisesÚ
ValueError)Úframe_or_seriesÚcÚmsgs      r   Útest_constructorr2   &   s{   € ñ 	œ˜a›Ó!×)Ñ)€Añ €a„DÙˆQ…KÙˆQ˜AÕÙˆQ˜A dÕ+ÙˆQ˜A eÕ,ð 3€Cä	�‰”z¨Ô	-ñ Ù	ˆ"Œ÷÷ ñ ús   Á*	A<Á<BÚwç       @Úfoor   c                 óÄ  —  | t        d«      «      j                  }dj                  ddg«      }t        j                  t
        |¬«      5   ||¬«       d d d «       d}t        j                  t
        |¬«      5   |d|¬	«       d d d «       d
}t        j                  t
        |¬«      5   |dd|¬«       d d d «       y # 1 sw Y   ŒkxY w# 1 sw Y   ŒGxY w# 1 sw Y   y xY w)Nr"   ú|zwindow must be an integerz=passed window foo is not compatible with a datetimelike indexr(   r#   zmin_periods must be an integerr   r%   zcenter must be a booleanr   r&   )r+   r   Újoinr,   r-   r.   )r/   r3   r0   r1   s       r   Útest_invalid_constructorr9   :   sÌ   € ñ 	œ˜a›Ó!×)Ñ)€Aà
�(‰(à'ØKð	
ó€Cô 
�‰”z¨Ô	-ñ Ù	��÷ð +€CÜ	�‰”z¨Ô	-ñ #Ù	� Õ"÷#ð %€CÜ	�‰”z¨Ô	-ñ -Ù	� ¨!Õ,÷-ð -÷ð ú÷#ð #ú÷-ð -ús$   Á

B>Á9C
Â)CÂ>CÃ
CÃCr$   é   ©ÚdaysÚ3Dz
2015-12-25r"   ©Úperiodsr   ©ÚindexÚoffsetc                 óþ   — t        t        j                  d«      t        ddd¬«      ¬«      }t	        j
                  t        d¬«      5  |j                  | d¬	«      j                  «        d d d «       y # 1 sw Y   y xY w)
Né
   ú
2015-12-24ÚD©r?   Úfreq©rA   z(^step (not implemented|is not supported)r(   r:   ©Ústep)	r   r   Úaranger   r,   r-   ÚNotImplementedErrorr   r   )r$   r   s     r   Ú test_freq_window_not_implementedrN   R   si   € ô 
Ü
�	‰	�"‹Ü˜¨r¸Ô<ô
€Bô 
�‰ÜÐ#Mô
ñ )ð 	�
‰
�6 ˆ
Ó"×&Ñ&Ô(÷)÷ )ñ )ús   Á"A3Á3A<ÚaggÚcovÚcorrc                 óÐ   — t        t        d«      «      j                  dd¬«      }t        j                  t
        d¬«      5   t        || «      «        d d d «       y # 1 sw Y   y xY w)Nr   r   rJ   zstep not implementedr(   )r   r+   r   r,   r-   rM   Úgetattr)rO   Úrolls     r   Ú&test_step_not_implemented_for_cov_corrrU   i   sV   € ô ”U˜1“XÓ×&Ñ& q¨qÐ&Ó1€DÜ	�‰Ô*Ð2HÔ	Iñ ØŒ��cÓÔ÷÷ ñ ús   ÁAÁA%c                 óÊ  — d}t        dt        j                  |«      it        d|d¬«      ¬«      }t        j                  ddgt        j                  d	d
d«      «      }|j                  | ¬«      j                  «       }t        d|it        d|d¬«      ¬«      }t        j                  ||«       |j                  d«      j                  «       }t        j                  ||«       y )NrD   ÚvaluerE   rF   rG   rI   ç        ç      ð?ç      @ç      ;@r:   r#   r=   )	r   r   rL   r   Úappendr   r   ÚtmÚassert_frame_equal)r$   Únr   Úexpected_dataÚresultÚexpecteds         r   Ú&test_constructor_with_timedelta_windowrc   q   sÂ   € ð 	€AÜ	Ø	”"—)‘)˜A“,ÐÜ˜¨q°sÔ;ô
€Bô —I‘I˜s C˜j¬"¯)©)°C¸¸qÓ*AÓB€Mà�Z‰Z˜vˆZÓ&×*Ñ*Ó,€FÜØ	�-Ð Ü˜¨q°sÔ;ô€Hô ×Ñ˜& (Ô+Ø�z‰z˜$Ó×#Ñ#Ó%€HÜ×Ñ˜& (Õ+r    c                 óö  — d}t        dt        j                  |«      it        d|d¬«      ¬«      }t        dt        j                  t        j
                  dgt        j                  dd	d
«      «      it        d|d¬«      ¬«      }|j                  | d¬«      j                  «       }|j                  | d¬«      j                  t        |¬«      }t        j                  ||«       t        j                  ||«       y )NrD   rW   z
2017-08-08rF   rG   rI   rY   rZ   r[   r:   r   r%   )Úraw)r   r   rL   r   r\   r   r   r   Úapplyr]   r^   )r$   re   r_   r   rb   Úresult_roll_sumÚresult_roll_generics          r   Ú0test_constructor_timedelta_window_and_minperiodsri   …   sÑ   € ð 	€AÜ	Ø	”"—)‘)˜A“,ÐÜ˜¨q°sÔ;ô
€Bô Ø	”"—)‘)œRŸV™V S˜M¬2¯9©9°S¸$ÀÓ+BÓCÐDÜ˜¨q°sÔ;ô€Hð —j‘j¨¸A�jÓ>×BÑBÓD€OØŸ*™*¨FÀ˜*ÓB×HÑHÌÐRUÐHÓVÐÜ×Ñ˜/¨8Ô4Ü×ÑÐ-¨xÕ8r    c                 ó6  — |}t        dg d¢i«      }t        dg d¢it        dd¬«      ¬«      } t        |j                  d| d¬	«      |«      «       } t        |j                  d
| d¬	«      |«      «       j	                  d¬«      }t        j                  ||«       y )NÚA©r   r   r   r:   r   Ú2020r"   r>   rI   r   r   ©Úclosedr   Ú2DT©Údrop)r   r   rS   r   Úreset_indexr]   r^   )ro   Úarithmetic_win_operatorsÚ	func_nameÚdf_fixedÚdf_timera   rb   s          r   Útest_closed_fixedrx   —   s¥   € à(€IÜ˜#šÐ/Ó0€HÜ˜šoÐ.´jÀÐQRÔ6SÔT€GðŒWØ×Ñ˜ 6°qÐÓ9Øóó €FðŒwØ�‰˜ V¸ˆÓ;Øóó ÷ 	‰˜ˆÓð ô
 ×Ñ˜& (Õ+r    zclosed, window_selectionsÚboth)TTFFF)TTTFF)FTTTF)FFTTT)FFFTTÚleft)TFFFF)FTTFF)FFTTFÚright)FFFFTÚneither)FTFFF)FFTFF)FFFTFc                 óP  — |}t        dg d¢it        dd¬«      ¬«      }t        d|D �cg c]#  } t        |d   j                  |   |«      «       ‘Œ% c}it        dd¬«      ¬«      } t        |j	                  d| dd	¬
«      |«      «       }t        j                  ||d¬«       y c c}w )Nrk   )rX   rY   r4   rZ   ç      @rm   r"   r>   rI   rp   r   T)ro   r   r'   F)Úcheck_dtype)r   r   rS   Úilocr   r]   r^   )ro   Úwindow_selectionsrt   ru   rw   Úsrb   ra   s           r   Ú%test_datetimelike_centered_selectionsrƒ   ©   s°   € ðb )€IÜØ	Ò'Ð(´
¸6È1Ô0Mô€Gô Ø	ÐCTÖU¸aÐ7Œw�w˜s‘|×(Ñ(¨Ñ+¨YÓ7Õ9ÒUÐVÜ˜¨Ô+ô€Hð
ŒWØ�‰˜ V¸À4ˆÓHØóó €Fô
 ×Ñ˜& (¸Ö>ùò Vs   ©(B#
zwindow,closed,expectedÚ3s)rZ   rZ   rZ   Ú2s)rZ   r4   r4   )rY   rZ   rZ   ©rY   r4   r4   c                 óà   — t        d«      t        d«      t        d«      g} |g d¢|¬«      }|j                  | |d¬«      j                  «       } |||¬«      }t        j                  ||«       y )Nz20130101 09:00:01z20130101 09:00:02)r   r   r   rI   T©ro   r'   )r   r   r   r]   Úassert_equal©r$   ro   rb   r/   rA   r   ra   s          r   Ú,test_datetimelike_centered_offset_covers_allr‹   ì   sk   € ô& 	Ð%Ó&ÜÐ%Ó&ÜÐ%Ó&ð€Eñ
 
š¨%Ô	0€Bà�Z‰Z˜ v°dˆZÓ;×?Ñ?ÓA€FÙ˜x¨uÔ5€HÜ‡O�O�F˜HÕ%r    rp   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   é   rŒ   rŒ   rŒ   r   r   )r   r   r   r   r   r   r   r   c                 óÒ   — t        g d¢«      } |dgdz  |t        ¬«      } |||t        ¬«      }|j                  | d|¬«      j                  «       }t	        j
                  ||«       y )N)ú
2020-01-01rŽ   ú
2020-01-02r�   ú
2020-01-03r�   ú
2020-01-04r‘   r   é   ©rA   ÚdtypeT)r'   ro   )r   Úfloatr   r   r]   r‰   rŠ   s          r   Ú+test_datetimelike_nonunique_index_centeringr–   
  sb   € ô ò		
ó€Eñ 
˜!˜˜q™¨´UÔ	;€BÙ˜x¨u¼EÔB€Hà�Z‰Z˜ t°FˆZÓ;×?Ñ?ÓA€Fä‡O�O�F˜HÕ%r    zclosed,expectedrD   é   é   é   é	   é   r’   )
r   r   r:   rŒ   rD   r—   é   r˜   r™   é   )
r   r   r:   rŒ   rD   é   é   é   é   é   c                 óÚ   — t        g d¢«      } |t        d«      |t        ¬«      } |||t        ¬«      }|j                  d| ¬«      j	                  «       }t        j                  ||«       y )N©
ú
2011-01-01r¥   ú
2011-01-02r¦   r¦   z
2011-01-03ú
2011-01-04r§   z
2011-01-05z
2011-01-06rD   r“   rp   ©ro   )r   r+   r•   r   r   r]   r‰   )ro   rb   r/   rA   r   ra   s         r   Útest_variable_window_nonuniquer©   +  s^   € ô ò	
ó€Eñ 
œ˜r›¨%´uÔ	=€BÙ˜x¨u¼EÔB€Hà�Z‰Z˜ VˆZÓ,×0Ñ0Ó2€Fä‡O�O�F˜HÕ%r    rž   )
r   r   r:   rŒ   rD   rž   r™   é   r™   r�   )
r   r   r:   rŒ   rD   rž   r™   rª   r¡   r¢   c                 ó  — t        g d¢«      } |t        d«      |t        ¬«      } |||t        ¬«      }t        d«      }t	        ||¬«      }|j                  || d¬«      j                  «       }t        j                  ||«       y )Nr¤   rD   r“   r   r@   r   rn   )	r   r+   r•   r   r   r   r   r]   r‰   )ro   rb   r/   rA   r   rB   Úindexerra   s           r   Ú%test_variable_offset_window_nonuniquer­   M  su   € ô ò	
ó€Eñ 
œ˜r›¨%´uÔ	=€BÙ˜x¨u¼EÔB€Hä˜‹^€FÜ)°¸fÔE€GØ�Z‰Z˜¨¸AˆZÓ>×BÑBÓD€Fä‡O�O�F˜HÕ%r    c                  óê   — t        t        d«      t        ddd¬«      ¬«      } | j                  ddd¬	«      j	                  «       }t        g d
¢| j
                  ¬«      }t        j                  ||«       y )Nr:   rŽ   rF   ©ÚstartrH   r?   rI   rp   r   Tr&   )ç      à?ç      ø?r   )r
   r+   r   r   ÚmeanrA   r]   Úassert_series_equal©r‚   ra   rb   s      r   Ú!test_even_number_window_alignmentr¶   q  s[   € äŒu�Q‹xœz°À3ÐPQÔRÔS€Að
 �Y‰Y˜d°¸$ˆYÓ?×DÑDÓF€Fä’m¨1¯7©7Ô3€Hä×Ñ˜6 8Õ,r    c                 óp  — g d¢}t        d|it        ddt        |«      ¬«      ¬«      }| rg d¢}nt        j                  dd	d
d	dd	dg}t        |dgt        ddt        |«      ¬«      ¬«      d d |…   }|j                  t        |«      dd| |¬«      }|j                  «       }t        j                  ||«       y )N)r   r   r   r   r   r   r   r   Ú
binary_colrŽ   Úminr¯   rI   )çUUUUUUå?r±   çš™™™™™Ù?r±   ç£å@µmÛ?r±   g.�_x%Iâ?r±   r   r±   rº   r»   r¼   )ÚcolumnsrA   rz   r   )r$   ro   r   r'   rK   )	r   r   Úlenr   r   r   r³   r]   r^   )r'   rK   Údatar   r`   rb   r   ra   s           r   Útest_closed_fixed_binary_colrÀ     s¿   € â#€DÜ	Ø	�tÐÜ˜|°%ÄÀTÃÔKô
€Bñ
 ÚL‰äŸ™  C¨°°S¸#¸xÐHˆäØØ�Ü˜|°%ÄÀ]ÓASÔTôñ ˆ€fñ	€Hð �j‰jÜ�2‹w˜v°1¸VÈ$ð ó €Gð �\‰\‹^€FÜ×Ñ˜& (Õ+r    ro   c                 ó&  — |}t        t        j                  d«      t        ddd¬«      ¬«      }|j	                  d| ¬«      } t        ||«      «       }t        t        j                  gdz  |j                  ¬«      }t        j                  ||«       y )	Nr"   Ú2000rp   rG   ©r¿   rA   Ú1Dr¨   rI   )
r
   r   rL   r   r   rS   r   rA   r]   r´   )ro   rt   ru   ÚserrT   ra   rb   s          r   Útest_closed_emptyrÆ   ™  ss   € ð )€IÜ
”b—i‘i “l¬*°VÀQÈTÔ*RÔ
S€CØ�;‰;�t Fˆ;Ó+€Dà%ŒW�T˜9Ó%Ó'€FÜ”r—v‘v�h ‘l¨#¯)©)Ô4€HÜ×Ñ˜6 8Õ,r    Úfuncr¹   Úmaxc                 óî   — t        dgt        dd¬«      ¬«      } t        |j                  dd¬«      | «      «       }t	        j
                  |t        t        j                  g|j                  ¬	«      «       y )
Nr   rÂ   r   r>   rÃ   Ú10Drz   r¨   rI   )	r
   r   rS   r   r]   r´   r   r   rA   )rÇ   rÅ   ra   s      r   Útest_closed_one_entryrË   ¥  sX   € ô �q�c¤¨F¸AÔ!>Ô
?€CØ=ŒW�S—[‘[ ¨v�[Ó6¸Ó=Ó?€FÜ×Ñ˜6¤6¬2¯6©6¨(¸#¿)¹)Ô#DÕEr    c                 ó~  — t        g d¢g d¢dœt        dd¬«      ¬«      } t        |j                  dd	¬
«      d   j	                  dd¬«      | «      «       }t        j                  g d¢|j                  gd¬«      }t        t        j                  dt        j                  g|d¬«      }t        j                  ||«       y )N)r   r   r   )r:   r   r   ©rk   r   rÂ   r:   r>   rÃ   rk   F)Úsortr   rÊ   rz   r¨   )rk   N)ÚarraysÚnames)r¿   rA   Úname)r   r   rS   Úgroupbyr   r	   Úfrom_arraysrA   r
   r   r   r]   r´   )rÇ   rÅ   ra   Úexp_idxrb   s        r   Útest_closed_one_entry_groupbyrÕ   ­  s¤   € ô Ú¢9Ñ-Ü˜¨Ô+ô€CðŒWØ�‰�C˜eˆÓ$ SÑ)×1Ñ1°%ÀÐ1ÓGÈóó €Fô ×$Ñ$ªY¸¿	¹	Ð,BÈ+ÔV€GÜœBŸF™F A¤r§v¡vÐ.°gÀCÔH€HÜ×Ñ˜6 8Õ,r    Úinput_dtypeÚintr•   zfunc,closed,expected)
rX   r   r   r   r   r:   r   r"   rŒ   é   )
rX   r   r   r   r   r   r:   r   r"   rŒ   r   rŒ   rØ   )
rX   r   r   r:   r   r"   rŒ   rØ   r’   rš   c                 ó  — t        t        j                  d«      j                  | «      t	        dd¬«      ¬«      } t        |j                  d|¬«      |«      «       }t        ||j                  ¬«      }t        j                  ||«       y )NrD   rÂ   r>   rÃ   r=   r¨   rI   )
r
   r   rL   Úastyper   rS   r   rA   r]   r´   )rÖ   rÇ   ro   rb   rÅ   ra   s         r   Útest_closed_min_max_datetimerÛ   ¼  sn   € ô  Ü�Y‰Y�r‹]×!Ñ! +Ó.Ü˜¨Ô,ô€Cð
 =ŒW�S—[‘[ ¨f�[Ó5°tÓ<Ó>€FÜ�h c§i¡iÔ0€HÜ×Ñ˜6 8Õ,r    c            
      ód  — t        t        j                  d«      t        dd¬«      ¬«      } | j	                  | j
                  ddg   ¬«      } | j                  dd	¬
«      j                  «       }t        t        j                  dddddddg| j
                  ¬«      }t        j                  ||«       y )NrD   rÂ   r>   rÃ   r   r"   rI   r=   rz   r¨   r   r   r:   r   rŒ   )r
   r   rL   r   rr   rA   r   r¹   r   r]   r´   )rÅ   ra   rb   s      r   Útest_closed_unevenrÝ   Ö  sŒ   € ä
”b—i‘i “m¬:°fÀbÔ+IÔ
J€Cð �(‰(˜Ÿ™ A q 6Ñ*ˆ(Ó
+€CØ�[‰[˜ fˆ[Ó-×1Ñ1Ó3€FÜ”r—v‘v˜q ! Q¨¨1¨a°Ð3¸3¿9¹9ÔE€HÜ×Ñ˜6 8Õ,r    c                 ó\  — t        t        j                  d«      t        dd¬«      ¬«      }|j	                  d«      }t        j
                  ||j                  dd  <    t        |j                  dd|¬	«      | «      «       }t        ||j                  ¬
«      }t        j                  ||«       y )NrD   rÂ   r>   rÃ   r•   éýÿÿÿr=   r   )r   ro   rI   )r
   r   rL   r   rÚ   r   rA   rS   r   r]   r´   )rÇ   ro   rb   rÅ   ra   s        r   Útest_closed_min_max_minprà   á  s…   € ô ”b—i‘i “m¬:°fÀbÔ+IÔ
J€Cà
�*‰*�WÓ
€CÜŸ&™&€Cˆ�	‰	�"�#ˆÑØKŒW�S—[‘[ °1¸V�[ÓDÀdÓKÓM€FÜ�h c§i¡iÔ0€HÜ×Ñ˜6 8Õ,r    )
r   r±   r   r   r:   r   r"   rŒ   rØ   r’   )
r   r±   r   r²   ç      @ç      @ç      @ç      @ç      @ç      @r±   r²   rá   râ   rã   rä   rå   ræ   c                 óH  — t        t        j                  d«      t        dd¬«      ¬«      }|j	                  d| ¬«      }t        ||j
                  ¬«      }|j                  «       }t        j                  ||«       |j                  d«      }t        j                  ||«       y )	NrD   rÂ   r>   rÃ   r=   r¨   rI   r±   )
r
   r   rL   r   r   rA   Úmedianr]   r´   Úquantile)ro   rb   rÅ   rT   ra   s        r   Útest_closed_median_quantilerê   ù  sz   € ô ”b—i‘i “m¬:°fÀbÔ+IÔ
J€CØ�;‰;�t Fˆ;Ó+€DÜ�h c§i¡iÔ0€Hà�[‰[‹]€FÜ×Ñ˜6 8Ô,à�]‰]˜3Ó€FÜ×Ñ˜6 8Õ,r    ÚrollerÚ1sc                 óL  — t        «       }t        «       j                  | «      j                  «       }t        j                  ||«       t        t        g «      ¬«      }t        t        g «      ¬«      j                  | «      j                  «       }t        j                  ||«       y )NrI   )r   r   r   r]   r^   r   )rë   rb   ra   s      r   Útests_empty_df_rollingrî     sz   € ô ‹{€HÜ‹[× Ñ  Ó(×,Ñ,Ó.€FÜ×Ñ˜& (Ô+ô œ}¨RÓ0Ô1€HÜœ]¨2Ó.Ô/×7Ñ7¸Ó?×CÑCÓE€FÜ×Ñ˜& (Õ+r    c                  óh  — t        t        j                  t        j                  t        j                  g«      } t        t        j                  d«      «      j	                  d«      }|j                  «       }t        j                  || «       |j                  d«      }t        j                  || «       y )Nr:   r   çš™™™™™¹?)	r
   r   r   rL   r   rè   r]   r´   ré   )rb   rT   ra   s      r   Ú!test_empty_window_median_quantilerñ     su   € ä”r—v‘vœrŸv™v¤r§v¡vÐ.Ó/€HÜ”"—)‘)˜A“,Ó×'Ñ'¨Ó*€Dà�[‰[‹]€FÜ×Ñ˜6 8Ô,à�]‰]˜3Ó€FÜ×Ñ˜6 8Õ,r    c                  ó`  — t        t        j                  g«      } | j                  dd¬«      j	                  «       }t        dg«      }t        j                  ||«       | j                  dd¬«      j	                  «       }t        t        j                  g«      }t        j                  ||«       y )Nr   r   r   rX   )r
   r   r   r   r   r]   r´   ©Úxra   rb   s      r   Útest_missing_minp_zerorõ   *  s‡   € ô 	”—‘ˆxÓ€AØ�Y‰Y�q aˆYÓ(×,Ñ,Ó.€FÜ�s�e‹}€HÜ×Ñ˜6 8Ô,ð �Y‰Y�q aˆYÓ(×,Ñ,Ó.€FÜ”r—v‘v�hÓ€HÜ×Ñ˜6 8Õ,r    c                  ó  — t        t        j                  gdz  t        g d¢«      ¬«      } | j	                  t        d«      d¬«      j                  «       }t        d| j                  ¬«      }t        j                  ||«       y )Nr   )z
2017-01-01z
2017-01-04z
2017-01-06z
2017-01-07rI   rp   r   r   rX   )
r
   r   r   r   r   r   r   rA   r]   r´   ró   s      r   Útest_missing_minp_zero_variabler÷   8  sc   € äÜ	�‰ˆ�1‰ÜÒTÓUô	€Að �Y‰Y”y “°AˆYÓ6×:Ñ:Ó<€FÜ�c §¡Ô)€HÜ×Ñ˜6 8Õ,r    c                  óN  — t        j                  ddgg d¢gddg¬«      } t        t        j                  d«      | ¬«      }|j                  d	«      j                  «       }t        j                  |j                  |j                  «       |j                  j                  g d
¢k(  sJ ‚y )Nrk   r   )ÚCrF   ÚEÚ1Ú2©rÐ   )rD   rŒ   ©r½   r:   )Nrû   rü   )r	   Úfrom_productr   r   Úonesr   rP   r]   Úassert_index_equalr½   rA   rÐ   )Úcolsr   ra   s      r   Útest_multi_index_namesr  C  s}   € ä×"Ñ" S¨# J²Ð#@ÈÈcÈ
ÔS€DÜ	”2—7‘7˜7Ó#¨TÔ	2€BØ�Z‰Z˜‹]×ÑÓ €Fä×Ñ˜&Ÿ.™.¨"¯*©*Ô5Ø�<‰<×ÑÒ!1Ò1Ð1Ñ1r    c            	      ó,  — t        t        j                  d«      «      } t        t        d«      D �ci c]  }|t        j                  gdz  dgdz  z   “Œ  c}«      }| j                  d«      j                  «       }t        j                  ||«       y c c}w )N)rD   rŸ   rŸ   r   rZ   r’   r:   )	r   r   r   r+   r   r   r   r]   r^   )r   Úirb   ra   s       r   Útest_rolling_axis_sumr  M  st   € ä	”2—7‘7˜8Ó$Ó	%€BÜ¼uÀR»yÖI¸!˜!œbŸf™f˜X¨™\¨S¨E°A©IÑ5Ñ5ÒIÓJ€HØ�Z‰Z˜‹]×ÑÓ €FÜ×Ñ˜& (Õ+ùò Js   ±#Bc                  óÖ   — t        t        d«      t        d«      dœ«      } t        g d¢g d¢dœ«      }| j                  dd¬«      j                  «       }t	        j
                  ||«       y )Nr:   )rô   Úyr†   r   r   r   )r   r+   r   Úcountr]   r^   )r   rb   ra   s      r   Útest_rolling_axis_countr
  U  sS   € ä	œ˜q›¬¨a«Ñ1Ó	2€Bäš²_ÑEÓF€HØ�Z‰Z˜ qˆZÓ)×/Ñ/Ó1€FÜ×Ñ˜& (Õ+r    c                  óh  — t        j                  ddt         j                  ddg«      } | j                  d¬«       t	        | «      j                  d«      j                  «       }t	        t         j                  dt         j                  t         j                  dg«      }t        j                  ||«       y )Nr   r:   r"   F)Úwriter   r   )	r   Úarrayr   Úsetflagsr
   r   r³   r]   r´   )Úarrra   rb   s      r   Útest_readonly_arrayr  ^  s{   € ä
�(‰(�A�qœ"Ÿ&™& ! QÐ'Ó
(€CØ‡L�L�u€LÔÜ�C‹[× Ñ  Ó#×(Ñ(Ó*€FÜ”r—v‘v˜q¤"§&¡&¬"¯&©&°!Ð4Ó5€HÜ×Ñ˜6 8Õ,r    c           	      ó¬  — | }t        t        ddd|¬«      D �ci c]	  }|dgdz  “Œ c}«      }|j                  j                  d«      j	                  «       j                  }t        i t        ddd|¬«      D �ci c]	  }|d	gdz  “Œ c}¥t        d
dd|¬«      D �ci c]	  }|dgdz  “Œ c}¥«      }t        j                  ||«       y c c}w c c}w c c}w )Nz	2019-8-01z
2019-08-03rF   )rH   Útzr   r   rp   )r?   rH   r  rY   z	2019-8-02z	2019-8-03r4   )r   r   ÚTr   r   r]   r^   )Útz_naive_fixturer  r  r   ra   rb   s         r   Útest_rolling_datetimer  g  sí   € à	€BÜ	Ü'¨°\ÈÐPRÔSÖT˜ˆˆQˆC�!‰G‰ÒTó
€Bð �T‰T�\‰\˜$Ó×#Ñ#Ó%×'Ñ'€FÜð		
ô $ K¸ÀÈÔLöàð �C�5˜1‘9‘òð		
ô $ K°À3È2ÔNöàð �C�5˜1‘9‘òð		
ó€Hô ×Ñ˜& (Õ+ùò! 	Uùòùòs   ™CÁ8C
ÂC
c                 ó>  — t        j                  «       }t        ||t        d«      z   d¬«      }t	        j
                  t        |«      «      }t        ||dœ«      }|j                  dd¬«       |j                  dd	d
| ¬«      d   j                  d«      }|j                  d«      }|j                  d «      }t	        j
                  t        |«      t        j                  ¬«      }| st        j                  |d d	 t        ||d¬«      }t!        j"                  ||«       y )Nim  rF   )rH   )ÚDateColÚmetricr  T)ÚinplaceÚ21Dr   rz   )r$   r   ro   r'   r  rÈ   ©r”   )rA   rÑ   )r   Únowr   r   r   r   r¾   r   Ú	set_indexr   rO   ÚrenameÚ
_with_freqÚfloat64r   r
   r]   r´   )	r'   Ú
date_todayr<   r¿   r   ra   rA   r`   rb   s	            r   Útest_rolling_window_as_stringr"  ~  sè   € ä—‘“€JÜ�j *¬y¸«~Ñ"=ÀCÔH€Dä�7‰7”3�t“9Ó€DÜ	˜t¨tÑ4Ó	5€Bà‡L�L� D€LÔ)Ø�Z‰Z˜u°!¸FÈ6ˆZÓRØñç	�cˆ%ƒjð ð �K‰K˜	Ó"€EØ×Ñ˜TÓ"€EÜ—G‘GœC ›I¬R¯Z©ZÔ8€MÙÜŸF™Fˆ�b�qÐÜ�m¨5°xÔ@€HÜ×Ñ˜6 8Õ,r    c                  ó¸   — t        g d¢dg¬«      } | d   j                  ddd¬«      j                  «       }t        g d¢d¬	«      }t	        j
                  ||«       y )
N)r   r   r   r   r   Úarþ   r:   Tr   )r'   r   )rY   r4   r4   r4   rY   ©rÑ   )r   r   rÈ   r
   r]   r´   ©r   ra   rb   s      r   Útest_min_periods1r'  ”  sN   € ä	’?¨S¨EÔ	2€BØ�‰W�_‰_˜Q t¸ˆ_Ó;×?Ñ?ÓA€FÜÒ/°cÔ:€HÜ×Ñ˜6 8Õ,r    c                 óâ   —  | t        d«      «      j                  dd¬«      j                  «       } | t        j                  t        j                  dddg«      }t        j                  ||«       y )Nr"   r:   r   rZ   )r+   r   r	  r   r   r]   r‰   )r/   ra   rb   s      r   Ú#test_rolling_count_with_min_periodsr)  œ  sT   € áœU 1›XÓ&×.Ñ.¨q¸aÐ.Ó@×FÑFÓH€FÙ¤§¡¬¯©°°S¸#Ð>Ó?€HÜ‡O�O�F˜HÕ%r    c                 óÄ   — dddt         j                  dddg}g d¢} | |«      j                  dd¬	«      j                  «       } | |«      }t	        j
                  ||«       y )
Nr   r   r:   r   r"   rŒ   )rY   r4   rZ   r4   r4   r4   rZ   r   r   )r   r   r   r	  r]   r‰   )r/   ÚvaluesÚexpected_countsra   rb   s        r   Ú7test_rolling_count_default_min_periods_with_null_valuesr-  £  s\   € à��A”r—v‘v˜q ! QÐ'€FÚ9€Oñ ˜VÓ$×,Ñ,¨Q¸AÐ,Ó>×DÑDÓF€FÙ˜Ó/€HÜ‡O�O�F˜HÕ%r    zdf,expected,window,min_periods©r   r   r:   )r   r"   rŒ   rÍ   ©r   r   r   rY   c                 óÞ   — t        | «      } |D ��cg c]  \  }}t        ||¬«      ‘Œ }}}t        || j                  ||¬«      d¬«      D ]  \  }}t        j                  ||«       Œ y c c}}w )NrI   r   F©Ústrict)r   Úzipr   r]   r^   )r   rb   r$   r   r+  rA   Ú	expectedsÚactuals           r   Útest_iter_rolling_dataframer6  ®  sq   € ôL 
�2‹€BØGO×P±O°V¸U”˜6¨Ö/ÐP€IÑPäØ�2—:‘:˜f°+�:Ó>Àuôò 0Ñˆ�&ô 	×Ñ˜f hÕ/ñ0ùó Qs   ‘A)zexpected,windowrÄ   c           
      ó$  — t        g d¢g d¢t        ddd¬«      dœ«      }| D ��cg c]!  \  }}t        ||j                  |df   ¬	«      ‘Œ# }}}t        ||j	                  |d¬
«      d¬«      D ]  \  } }t        j                  || «       Œ y c c}}w )N©r   r   r:   r   r"   )r   r"   rŒ   rØ   r’   z
2016-01-01r"   rF   ©r°   r?   rH   )rk   r   rù   rù   rI   )ÚonFr1  )r   r   Úlocr3  r   r]   r^   )rb   r$   r   r+  rA   r4  r5  s          r   Útest_iter_rolling_on_dataframer<  ý  sœ   € ô> 
â Ú Ü ,¸ÀÔDñ	
ó
€Bð LT÷Ù8G¸ÀŒ	�& §¡ u¨c zÑ 2Ö3ð€Iñ ô   	¨2¯:©:°fÀ¨:Ó+EÈeÔTò 0Ñˆ�&Ü
×Ñ˜f hÕ/ñ0ùós   ¥&Bc                  ó(  — t        g d¢g d¢dœ«      } t        | j                  d«      j                  d«      «      }dgddgdgfD �cg c]  }| j                  |dgf   ‘Œ }}t        ||d¬	«      D ]  \  }}t        j                  ||«       Œ y c c}w )
N)rô   r  rô   r/  ©r$  Úbr$  r   r   r   Tr1  )r   ÚlistrÒ   r   r€   r3  r]   r^   )r   ÚresultsÚidxr4  ra   rb   s         r   Ú(test_iter_rolling_on_dataframe_unorderedrC  +  s’   € ä	šªyÑ9Ó	:€BÜ�2—:‘:˜c“?×*Ñ*¨1Ó-Ó.€GØ01¨s°Q¸°F¸Q¸CÐ.@ÖA s�—‘˜˜q˜c˜Ó"ÐA€IÐAÜ ¨¸4Ô@ò 0Ñˆ�Ü
×Ñ˜f hÕ/ñ0ùò Bs   ÁBz ser,expected,window, min_periodsÚint64r  c                 óÈ   — |D ��cg c]  \  }}t        ||¬«      ‘Œ }}}t        || j                  ||¬«      d¬«      D ]  \  }}t        j                  ||«       Œ y c c}}w )NrI   r   Tr1  )r
   r3  r   r]   r´   )rÅ   rb   r$   r   r+  rA   r4  r5  s           r   Útest_iter_rolling_seriesrF  4  sj   € ðF EM×M±°&¸%”˜ eÖ,ÐM€IÑMäØ�3—;‘;˜v°;�;Ó?Èôò 1Ñˆ�&ô 	×Ñ˜v xÕ0ñ1ùó Ns   †Azexpected,expected_index,windowrŽ   rF   rG   r�   r�   r‘   z
2020-01-05)r   r:   r   c                 ó   — t        t        d«      t        ddd¬«      ¬«      }t        | |d¬«      D ��cg c]  \  }}t        ||¬«      ‘Œ }}}t        ||j	                  |«      d¬«      D ]  \  } }t        j                  || «       Œ y c c}}w )Nr"   rŽ   rF   r9  rI   Tr1  )r
   r+   r   r3  r   r]   r´   )rb   Úexpected_indexr$   rÅ   r+  rB  r4  r5  s           r   Útest_iter_rolling_datetimerI  _  s�   € ôP ”�q“¤°,ÈÐPSÔ!TÔ
U€Cô ! ¨>À$ÔG÷áˆV�Sô 	ˆv˜SÖ!ð€Iñ ô
   	¨3¯;©;°vÓ+>ÀtÔLò 1Ñˆ�&Ü
×Ñ˜v xÕ0ñ1ùós   ´B
zgrouping,_indexÚlevel)©r   r   rK  ©r   r   rL  rL  rý   ÚbyÚX)rK  )r   r   )r   r   )r:   r   )r   r   c                 ó   — d„ }t        dt        d«      ig d¢¬«      }t        dg d¢i|¬«      }d| v r|j                  dd¬	«      } |j                  di | ¤Žj	                  d
«      j                  ||d¬«      }t        j                  ||«       y )Nc                  ód   — t        | «      dk  rt        d«      ‚| \  }}|j                  «       |z  S )Nr   z The function needs two arguments)r¾   r.   r   )Úargsr  Úscales      r   Ú
scaled_sumz4test_rolling_positional_argument.<locals>.scaled_sum¦  s3   € Üˆt‹9�qŠ=ÜÐ?Ó@Ð@Ø‰ˆˆuØ�y‰y‹{˜UÑ"Ð"r    rN  r"   )r   r   r   r   r   rÃ   )rX   r±   rY   r²   r4   rM  Úignore)r½   Úerrorsr   )r   )re   rQ  © )r   r+   rr   rÒ   r   rf   r]   r^   )ÚgroupingÚ_indexre   rS  r   rb   ra   s          r   Ú test_rolling_positional_argumentrY  ’  s‰   € ò(#ô 
˜œe A›h˜ªÔ	?€Bä˜sÒ$=Ð>ÀfÔM€HàˆxÑØ—=‘=¨°X�=Ó>ˆØˆR�Z‰ZÑ#˜(Ñ#×+Ñ+¨AÓ.×4Ñ4°ZÀSÈtÐ4ÓT€FÜ×Ñ˜& (Õ+r    ÚaddrX   c           
      óæ  — t        t        d«      t        d«      t        d«      g«      j                  |«      }t        dd| z   ddgi|¬«      }|j	                  d«      j                  «       j                  d	d
d¬«      j                  «       }t        ddd|¬«      }t        dt        j                  t        j                  t        j                  ddddgi|¬«      }t        j                  ||«       y )Nz19700101 09:00:00z19700101 09:00:03z19700101 09:00:06rk   gVUUUUU%Cç       €rI   rì   r„   rz   r:   rn   rØ   r‚   )r?   rH   ÚunitgUUUUUU%CgÇqÇqCgÇqÇqCrX   )r   r   Úas_unitr   ÚresampleÚffillr   r³   r   r   r   r]   r^   )rZ  r]  Údtir   ra   Údatesrb   s          r   Ú*test_rolling_numerical_accuracy_kahan_meanrc  ¶  sù   € ô äÐ)Ó*ÜÐ)Ó*ÜÐ)Ó*ð	
ó÷ �gˆdƒmð ô 
Ø	Ð! CÑ'¨¨tÐ4Ð5Øô
€Bð
 	�‰�DÓ×ÑÓ!×)Ñ)¨$°vÈ1Ð)ÓM×RÑRÓTð ô Ð*°A¸CÀdÔK€EÜàÜ—‘Ü—‘Ü—‘Ø"Ø#Ø$Øðð
	
ð ô€Hô ×Ñ˜& (Õ+r    c                  óò   — t        g d¢dg¬«      } | d   j                  d«      j                  «       }t        t        j
                  t        j
                  ddddgd¬«      }t        j                  ||«       y )	N)g°rh‘í|@ç'1¬Zú¿rX   rX   rX   rX   rô   rþ   r:   gsh‘í|?á?re  rX   r%  )r   r   r   r
   r   r   r]   r´   r&  s      r   Ú)test_rolling_numerical_accuracy_kahan_sumrf  Ù  s]   € ä	Ò6ÀÀÔ	F€BØ�‰W�_‰_˜QÓ×#Ñ#Ó%€FÜ”r—v‘vœrŸv™v u¨f°c¸3Ð?ÀcÔJ€HÜ×Ñ˜6 8Õ,r    c                  óP  — t        ddd¬«      j                  t        dg«      «      } t        j                  j                  d«      j	                  t        | «      «      }t        d|i| ¬«      }|j                  d«      j                  «       }t        j                  ||dg   «       y )	NrŽ   r�   Ú60s©r°   ÚendrH   r�   r   r¿   rI   )r   r\   r   r   ÚrandomÚdefault_rngr¾   r   r   r³   r]   r^   )rA   r¿   r   ra   s       r   Ú$test_rolling_numerical_accuracy_jumprm  á  s‡   € ä˜\¨|À%ÔH×OÑOÜ�|�nÓ%ó€Eô �9‰9× Ñ  Ó#×*Ñ*¬3¨u«:Ó6€Dä	�F˜D�>¨Ô	/€BØ�Z‰Z˜Ó×#Ñ#Ó%€FÜ×Ñ˜& " f X¡,Õ/r    c                  ó    — t        g d¢t        dd«      ¬«      } | j                  d«      j                  «       }t	        j
                  || «       y )N)g›(¶@ŠS ?ga2U0*©3?r\  r\  z
1999-02-03z
1999-02-06rÃ   r   )r
   r   r   r³   r]   r´   )r‚   ra   s     r   Ú,test_rolling_numerical_accuracy_small_valuesro  í  sA   € äÚ-Ü˜ |Ó4ô	€Að �Y‰Y�q‹\×ÑÓ €FÜ×Ñ˜6 1Õ%r    c                  ó�  — t        ddd¬«      } t        t        d«      | t        j                  ¬«      }d|j
                  d<   |j                  d«      j                  «       }t        t        j                  t        j                  t        j                  t        j                  d	d	d	d
ddg
| ¬«      }t        j                  ||«       y )Nz
2015-01-01rD   rF   rG   )r¿   rA   r”   gÐ¢�†¿»ûÆr   r"   gÚ¦kÌ/ÖÆç      @ç      @ç      @rI   )r   r
   r+   r   r   r€   r   r³   r   r]   r´   )rb  Údsra   rb   s       r   Ú(test_rolling_numerical_too_large_numbersru  ÷  s�   € ä�|¨R°cÔ:€EÜ	”U˜2“Y e´2·:±:Ô	>€BØ€B‡G�GˆA�JØ�Z‰Z˜‹]×ÑÓ!€FÜä�F‰FÜ�F‰FÜ�F‰FÜ�F‰FØØØØØØð	
ð ô€Hô ×Ñ˜6 8Õ,r    )rA   r$   z2020-01-01 08:00z2020-01-01 08:08ri  Ú2minz2020-01-01 12:00Ú30minÚ1h)rÇ   r+  r   rœ   c                 ó¬   — t        g d¢| ¬«      } t        |j                  |d¬«      |«      «       }t        || ¬«      }t        j                  ||«       y )N)	r   r   r   r:   r   r"   rŒ   rØ   r’   rI   rz   r¨   ©r
   rS   r   r]   r´   )rA   r$   rÇ   r+  rt  ra   rb   s          r   Útest_rolling_period_indexr{    sK   € ô2 
Ò+°5Ô	9€BØ=ŒW�R—Z‘Z ¨v�ZÓ6¸Ó=Ó?€FÜ�f EÔ*€HÜ×Ñ˜6 8Õ,r    c                 ó  —  | g d¢«      }|j                  dd¬«      j                  «       }t        |t        «      rt	        |d   j
                  «      }t	        t        j                  gdgdz  z   «      }t        j                  ||«       y )Nr/  r   r   r   r   r±   )
r   ÚsemÚ
isinstancer   r
   r+  r   r   r]   r´   )r/   Úobjra   rb   s       r   Útest_rolling_semr€  .  sp   € á
š)Ó
$€CØ�[‰[˜¨ˆ[Ó*×.Ñ.Ó0€FÜ�&œ)Ô$Ü˜˜q™	×(Ñ(Ó)ˆÜ”r—v‘v�h # ¨¡Ñ*Ó+€HÜ×Ñ˜6 8Õ,r    )rÇ   r+  r$   ÚddofÚexpected_valuesÚvar)ì   ÿ;ár   r   r   r:   r   r   )ç|Øê›ÐîFr   r±   r±   r   r   Ústd)ç >g¤ßfoCr   çPï˜pž æ?rˆ  ç»¹øÛž ö?r   )r„  r   r   r   r:   r   r   )r…  r±   r   r±   r   r   )r‡  rˆ  r   rˆ  r‰  r   )g     À’@g ÐÌú¤Ý|Cg xb¤A§€Cg     ,Ÿ@g     Ÿ@)g i\‚DitCg ,ˆÇICg òËp'�wCg$+¿ÆH@)
rX   rX   g,É`µÈ)M<gkµÜZ5Pµ<gˆMpÛ¢·j5rX   rX   g¯¶0A¬�6g8n†˜AÏ0rX   )gKœåö·‘8ç=Až +ºb9rŠ  g1ômiíb9g–¹ïž¾Í*ç§Î1àçÁ4,r‹  r‹  )r   r*   r   r   r:   r   éþÿÿÿl    d(	 r   r   r   rŒ  r   r:   r   r   )gß'Üež ö?gêîý?ç  €Ú·jîAr�  r�  r�  r�  r�  gM¾—ÊôŽû?gá­ûàßü?gŽéÇ.jJú?c                 óf  — t        |«      } t        |j                  |¬«      | «      |¬«      }|j                  «       r4||j	                  «       |j                  «       dz    j                  d¬«      }t        |«      }t        j                  ||d¬«       t        j                  |dk(  |dk(  «       y )	Nr#   ©r�  r   Trq   gƒØvo®�ƒ4©Úatolr   )r
   rS   r   Úlast_valid_indexÚfirst_valid_indexrs   r]   r´   )rÇ   r+  r$   r�  r‚  Útsra   rb   s           r   Útest_rolling_var_correctnessr•  8  s£   € ôX 
�‹€BØ5ŒW�R—Z‘Z v�ZÓ.°Ó5¸4Ô@€FØ×ÑÔ ØØ×$Ñ$Ó&¨×)@Ñ)@Ó)BÀQÑ)Fð
ç
‰+˜4ˆ+Ó
 ð 	ô �oÓ&€HÜ×Ñ˜6 8°%Õ8ä×Ñ˜6 Q™;¨°A©Õ6r    c                 ó  — t        t        d«      t        d«      t        d«      t        d«      t        d«      g«      j                  | «      }t        j                  |ddgg«      }t        t        j                  t        j                  dd	d
ddd
dd
g
t        j                  t        j                  d	dddd
dd
dg
dœ|¬«      }t        g d¢g d¢dœ|¬«      }|j                  d¬«      j                  «       }t        j                  ||«       y )Nz20130101 09:00:00z20130102 09:00:02z20130103 09:00:03z20130105 09:00:05z20130106 09:00:06r   rk   gþÿÿÿÿÿï?g      ð¿rY   g6µ<AìòÔ¿g     ð?gáÿÿÿÿÿï?)r   rk   rI   )r   r   r   r   r:   )rØ   r   rŒ   rš   r:   r=   r#   )r   r   r^  r	   rÿ   r   r   r   r   rQ   r]   r^   )r]  ra  ÚmiÚexpr   Úress         r   Ú,test_timeoffset_as_window_parameter_for_corrrš  �  s  € ä
äÐ)Ó*ÜÐ)Ó*ÜÐ)Ó*ÜÐ)Ó*ÜÐ)Ó*ð	
ó÷ �gˆdƒmð ô 
×	 Ñ	  #¨¨S zÐ!2Ó	3€Bä
ô —‘Ü—‘Ø"ØØØ#Ø"ØØ"Øðô —‘Ü—‘ØØ"Ø#Ø"ØØ"ØØ"ðñ	
ð4 ô7€Cô< 
Ú¢OÑ4Øô
€Bð
 �*‰*˜Dˆ*Ó
!×
&Ñ
&Ó
(€Cä×Ñ˜#˜sÕ#r    Úmethod)rƒ  r   r³   ÚskewÚkurtr¹   rÈ   c                 ó�  — t        dt        j                  dd«      dz  i«      }t        d|d   ddd…   i|j                  ddd…   ¬«      } t	        |j                  d¬	«      | «      «       } t	        |j                  d¬	«      | «      «       }t        j                  |j                  ddd…   dd
 |j                  dd d¬«       y)zf
    Make sure that decreasing indices give the same results as increasing indices.

    GH 36933
    r+  iñÿÿÿrD   r   Nr*   rI   r"   r#   éüÿÿÿr   gê-�™—q=r�  )	r   r   rL   rA   rS   r   r]   Úassert_almost_equalr+  )r›  r   Ú
df_reverseÚ
increasingÚ
decreasings        r   Útest_rolling_decreasing_indicesr¤  Å  sÀ   € ô 
�HœbŸi™i¨¨RÓ0°AÑ5Ð6Ó	7€BÜ˜H b¨¡l±4°R°4Ñ&8Ð9ÀÇÁÉ$ÈBÈ$ÁÔP€Jà6”˜Ÿ™¨1˜Ó-¨vÓ6Ó8€JØ>”˜×+Ñ+°1Ð+Ó5°vÓ>Ó@€Jä×ÑØ×Ñ™$˜B˜$Ñ  Ð$ j×&7Ñ&7¸¸Ð&;À%ör    )rY   rZ   rq  rZ   )rX   rY   rZ   rq  )rY   rZ   rr  rq  )rX   rY   r4   rZ   c                 óŒ  — t        ddd¬«      } |t        d«      |¬«      } |t        d«      |ddd…   ¬«      } |||¬«      } |||ddd…   ¬«      }|j                  | |d¬	«      j                  «       }	|j                  | |d¬	«      j                  «       }
t	        j
                  |	|«       t	        j
                  |
|«       y)
zV
    Ensure that a symmetrical inverted index return same result as non-inverted.
    rm   r   rì   rG   rI   Nr*   Trˆ   )r   r+   r   r   r]   r‰   )r$   ro   rb   r/   rA   Údf_incÚdf_decÚexpected_incÚexpected_decÚ
result_incÚ
result_decs              r   Ú(test_rolling_decreasing_indices_centeredr¬  ×  s°   € ô& �v q¨tÔ4€EÙœU 1›X¨UÔ3€FÙœU 1›X¨U±4°R°4©[Ô9€Fá" 8°5Ô9€LÙ" 8°5¹¸2¸±;Ô?€Là—‘ ¨v¸d�ÓC×GÑGÓI€JØ—‘ ¨v¸d�ÓC×GÑGÓI€Jä‡O�O�J Ô-Ü‡O�O�J Õ-r    zwindow,expectedÚ1ns)rY   rY   rY   rY   Ú3ns)r4   rZ   rZ   r4   c                 óÐ   — t        ddd¬«      } |g d¢|t        ¬«      } |||t        ¬«      }|j                  | |d¬«      j                  «       }t	        j
                  ||«       y )	Nrm   r   r­  rG   )r   r   r   r   r“   Trˆ   )r   r•   r   r   r]   r‰   rŠ   s          r   Ú)test_rolling_center_nanosecond_resolutionr°  ø  sY   € ô �v q¨uÔ5€EÙ	š¨U¼%Ô	@€BÙ˜x¨u¼EÔB€HØ�Z‰Z˜ v°dˆZÓ;×?Ñ?ÓA€FÜ‡O�O�F˜HÕ%r    zmethod,expectedr   g     €E@g¯µ÷©ª
a@g     ÀE@gÖÇCßÝ½W@g     Àf@g     às@r³   g     €5@rr  g¥„`UU"@g      *@g     €1@g      >@g     €U@g     €K@g     ÀV@g     €a@rœ  g/àe†�²æ?g8j…é{Ú?göì¹LM‚ï?gô4`�ôií?g
+TTýë?g­ùñ—õê?r�  g %”bøîâ¿g�Oq&àð¿g zCen@¯¿gk±=ôáCÐ¿gÀ~é—~é×¿gf`8gÕÝ¿c                 ó  — g d¢}t        dt        j                  t        |«      «      dz  i«      } G d„ dt        «      } |d|¬«      } t        |j                  |«      | «      «       }t        d|i«      }t        j                  ||«       y)	zÓ
    Make sure the (rare) branch of non-monotonic indices is covered by a test.

    output from 1.1.3 is assumed to be the expected output. Output of sum/mean has
    manually been verified.

    GH 36933.
    )TFTFTTTTr+  r   c                   ó   — e Zd Zd„ Zy)ú1test_rolling_non_monotonic.<locals>.CustomIndexerc                 ó&  — t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      D ]6  }| j                  |   rd||<   |dz   ||<   Œ |||<   || j
                  z   ||<   Œ8 ||fS )Nr  r   r   )r   ÚemptyrD  r+   Úuse_expandingÚwindow_size)	ÚselfÚ
num_valuesr   r'   ro   rK   r°   rj  r  s	            r   Úget_window_boundszCtest_rolling_non_monotonic.<locals>.CustomIndexer.get_window_boundsK  s‹   € Ü—H‘H˜Z¬r¯x©xÔ8ˆEÜ—(‘(˜:¬R¯X©XÔ6ˆCÜ˜:Ó&ò 2�Ø×%Ñ% aÒ(Ø �E˜!‘HØ ™U�C˜’Fà �E˜!‘HØ ×!1Ñ!1Ñ1�C˜’Fð2ð ˜#�:Ðr    N)Ú__name__Ú
__module__Ú__qualname__rº  rV  r    r   ÚCustomIndexerr³  J  s   „ ó
	r    r¾  r   )r·  r¶  N)	r   r   rL   r¾   r   rS   r   r]   r^   )r›  rb   r¶  r   r¾  r¬   ra   s          r   Útest_rolling_non_monotonicr¿  	  s€   € ò| G€MÜ	�HœbŸi™i¬¨MÓ(:Ó;¸qÑ@ÐAÓ	B€Bôœô ñ ¨¸ÔG€Gà1ŒW�R—Z‘Z Ó(¨&Ó1Ó3€FÜ˜( HÐ-Ó.€HÜ×Ñ˜& (Õ+r    rl   z
2001-01-01)rH   r?   c                 ó(  — t        g d¢| ¬«      }|j                  «       }d|j                  dd |j                  |«      j	                  |«      }t        t
        j                  t
        j                  dddg| ¬«      }t        j                  ||«       y )Nr8  rI   rX   r   r   r   )	r
   Úcopyr€   r   rQ   r   r   r]   r   )rA   r$   rô   r  ra   rb   s         r   Ú!test_rolling_corr_timedelta_indexrÂ  ^  sr   € ô 	Š eÔ,€AØ	�‰‹€AØ€A‡F�Fˆ1ˆQ€KØ�Y‰Y�vÓ×#Ñ# AÓ&€FÜ”r—v‘vœrŸv™v q¨!¨QÐ/°uÔ=€HÜ×Ñ˜6 8Õ,r    zvalues,method,expected)
rY   r4   rZ   r~   rq  rr  rs  ç       @ç      "@ç      $@ÚfirstrZ   r~   rq  rs  rÃ  rÄ  ÚlastrÅ  c                 ó<  — t        | «      } t        |j                  d«      |«      «       }t        |«      }t        j                  ||«       t        d| i«      } t        |j                  d«      |«      «       }t        d|i«      }t        j                  ||«       y )Nr:   rk   ©r
   rS   r   r]   r   r   ©r+  r›  rb   rô   ra   s        r   Útest_rolling_first_lastrË  o  s…   € ô6 	ˆv‹€AØ*ŒW�Q—Y‘Y˜q“\ 6Ó*Ó,€FÜ�hÓ€HÜ×Ñ˜6 8Ô,ä�3˜�-Ó €AØ*ŒW�Q—Y‘Y˜q“\ 6Ó*Ó,€FÜ˜#˜x˜Ó)€HÜ×Ñ˜6 8Õ,r    )
rY   rY   rY   r4   rZ   r~   rq  rr  rs  rÃ  )
rY   rY   rY   rZ   rZ   rq  rq  rs  rs  rÄ  )
rY   rY   rZ   rZ   rq  rq  rs  rs  rÄ  rÄ  c                 óD  — t        | «      } t        |j                  dd¬«      |«      «       }t        |«      }t        j                  ||«       t        d| i«      } t        |j                  dd¬«      |«      «       }t        d|i«      }t        j                  ||«       y )Nr:   r   r   rk   rÉ  rÊ  s        r   Útest_rolling_first_last_no_minprÍ  •  s�   € ô6 	ˆv‹€AØ9ŒW�Q—Y‘Y˜q¨a�YÓ0°&Ó9Ó;€FÜ�hÓ€HÜ×Ñ˜6 8Ô,ä�3˜�-Ó €AØ9ŒW�Q—Y‘Y˜q¨a�YÓ0°&Ó9Ó;€FÜ˜#˜x˜Ó)€HÜ×Ñ˜6 8Õ,r    c            	      ón  — dt         j                  ddt         j                  gg d¢dœ} t        | «      }|j                  dd¬«      j	                  dd¬	«      j                  «       }t        d
g d¢it        ddt         j                  gg d¢gg d¢g d¢gdd g¬«      ¬«      }t        j                  ||«       y )NÚg1Úg2rl   )Úgroupr   rÑ  F)Údropnar   r   r   )rX   r4   rZ   rY   r~   )r   r   r   r   r   )r   r   r:   r   r   rý   rI   )	r   r   r   rÒ   r   r³   r	   r]   r^   )r¿   r   ra   rb   s       r   Ú!test_groupby_rolling_nan_includedrÓ  »  s¤   € àœBŸF™F D¨$´·±Ð7ºoÑN€DÜ	�4‹€BØ�Z‰Z˜¨ˆZÓ.×6Ñ6°qÀaÐ6ÓH×MÑMÓO€FÜØ	Ò'Ð(ô Ø�Dœ"Ÿ&™&Ð!¢?Ð3ÚšoÐ.Ø˜D�/ô
ô€Hô ×Ñ˜& (Õ+r    c                 ót  — t        t        j                  j                  d«      j                  d«      «      }|j	                  «       } t        |j                  d«      | «      «       }t        j                  ||«       |dz   } t        |j                  d«      | «      «       }t        j                  ||«       y )Nr   rD   r:   iPÃ  )	r
   r   rk  rl  rÁ  rS   r   r]   r´   )r›  rÅ   Úser_copyrb   ra   s        r   Ú*test_rolling_skew_kurt_numerical_stabilityrÖ  Ñ  sŽ   € ô ”—‘×&Ñ& qÓ)×0Ñ0°Ó4Ó
5€CØ�x‰x‹z€HØ.Œw�s—{‘{ 1“~ vÓ.Ó0€HÜ×Ñ˜3 Ô)Ø
�‰+€CØ,ŒW�S—[‘[ “^ VÓ,Ó.€FÜ×Ñ˜6 8Õ,r    )r›  r¿   r+  )iÀÆ- r   r   r   r:   r   iç  )r4   gŠä+�”Xë?rX   gJ_9ïÿÿ?)g    €„.Ag    €„.Ár   r   r:   r   r"   rŒ   )gñàTáÄ×¾g       ÀrX   rX   rX   )r~   g˜¿BæÊ ô¿ç333333ó¿gÍ >°ãÿ@)r²   r~   r×  r×  r×  c                 óœ   — t        |«      } t        |j                  d«      | «      «       }t        |«      }t        j                  ||«       y )Nr   rz  )r›  r¿   r+  r‚   ra   rb   s         r   Ú(test_rolling_skew_kurt_large_value_rangerÙ  Ý  s?   € ô6 	ˆt‹€AØ*ŒW�Q—Y‘Y˜q“\ 6Ó*Ó,€FÜ�f‹~€HÜ×Ñ˜6 8Õ,r    c                 ób  — d}d}d}t         j                  j                  d«      }|j                  dd|¬«      }t	        |d | «      j                  |«      }t	        |«      j                  |«      } t        || «      «       } t        || «      «       }	|	d | }
t        j                  ||
d¬	«       y )
NrD   é   r’   r   rX   g     @�@)r;  rR  ÚsizeT)Úcheck_exact)	r   rk  rl  Únormalr
   r   rS   r]   r´   )r›  Úlen_smallerÚ
len_biggerr·  Úrngr¿   Úwindow_smallerÚwindow_biggerÚresult_smallerÚresult_biggerÚresult_bigger_trimmeds              r   Ú'test_same_result_with_different_lengthsrç  þ  s­   € ð €KØ€JØ€Kä
�)‰)×
Ñ
 Ó
"€CØ�:‰:˜# S¨zˆ:Ó:€DÜ˜D  +Ð.Ó/×7Ñ7¸ÓD€NÜ˜4“L×(Ñ(¨Ó5€Mà4”W˜^¨VÓ4Ó6€NØ2”G˜M¨6Ó2Ó4€Mà)¨,¨;Ð7Ðä×Ñ˜>Ð+@ÈdÖSr    c                  ó®   — t        j                  t        d¬«      5  t        t	        d«      «      j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nz!method must be 'table' or 'singler(   r   r5   )r›  )r,   r-   r.   r
   r+   r   rV  r    r   Útest_invalid_methodré    sB   € Ü	�‰”zÐ)LÔ	Mñ 2ÜŒu�Q‹xÓ× Ñ  ¨5Ð Ô1÷2÷ 2ñ 2úó   œ&AÁAc                 ó0  — d}t        j                  t        |¬«      5  t        ddd¬«      } | t	        dd«      |¬	«      }|j                  dd
¬«      j                  «       }d d d «        | t        j                  ddg¬	«      }t        j                  |«       j                  d d d…   j                  dd
¬«      j                  «       }t        ddd¬«      } | t        j                  ddg|¬	«      }t        j                  ||«       y # 1 sw Y   Œ«xY w)Nz:'d' is deprecated and will be removed in a future version.r(   rŽ   r�   Ú1dri  r   r   rI   rz   r¨   r   r*   rÄ   z-1Dr:   )r]   Úassert_produces_warningr   r   r+   r   r   r   r   r‰   r€   )r/   r1   rB  r  ra   rb   s         r   Ú.test_rolling_descending_date_order_with_offsetrî    sé   € à
F€Cä	×	#Ñ	#¤N¸#Ô	>ñ 8Ü˜|°ÀDÔIˆÙœe A q›k°Ô5ˆØ—‘˜T¨&�Ó1×5Ñ5Ó7ˆ÷8ñ
 ¤§¡¨¨1˜~°SÔ9€HÜ‡O�O�F˜HÔ%à�X‰X‘d˜�d‰^×#Ñ# D°Ð#Ó8×<Ñ<Ó>€FÜ
˜<¨\ÀÔ
F€CÙ¤§¡¨¨1˜~°SÔ9€HÜ‡O�O�F˜HÕ%÷8ð 8ús   žADÄDc                  ó  — t        g d¢«      } | j                  d«      j                  «       }t        t        j                  t        j                  ddg«      }t        j                  ||dd¬«       t        j                  |dk(  |dk(  «       y )N)rØ   r"   r"   r"   r:   çUUUUUUõ?r   çVçž¯Ò<©r‘  Úrtol)r
   r   rƒ  r   r   r]   r´   rµ   s      r   Ú,test_rolling_var_floating_artifact_precisionrô  )  sk   € äŠ|Ó€AØ�Y‰Y�q‹\×ÑÓ€FÜ”r—v‘vœrŸv™v u¨aÐ0Ó1€HÜ×Ñ˜6 8°'ÀÕHô ×Ñ˜6 Q™;¨°A©Õ6r    c                  óÆ   — t        g d¢«      } | j                  d«      j                  «       }t        t        j                  ddg«      }t        j                  ||dd¬«       y )N)çQöØŽ�¢>g 4PSªÈ¡>rö  r   gÌ[³¸^>>rñ  rò  )r
   r   r†  r   r   r]   r´   rµ   s      r   Útest_rolling_std_small_valuesr÷  4  sR   € äò	
ó	€Að �Y‰Y�q‹\×ÑÓ€FÜ”r—v‘v˜{¨KÐ8Ó9€HÜ×Ñ˜6 8°'ÀÖHr    zstart, exp_values)ç¸…ëQ¸ž?çX9´Èv¾�?rù  gºI+‡†?gË¡E¶óý„?)çü©ñÒMbP?rú  gú~j¼t“X?ç›<#‹	n?c                 ó:  — t        dddt        j                  ddt        j                  t        j                  t        j                  t        j                  t        j                  t        j                  ddg«      }g |¢d‘d‘d‘d‘t        j                  ‘t        j                  ‘d‘d‘}t        |t        t	        | t        |«      | z   «      «      ¬	«      }|j                  | d  j                  d
d¬«      j                  «       }t        j                  ||«       y )Nrø  rú  çü©ñÒMb`?çü©ñÒMb€?ç{®Gázt?çš™™™™™É?rû  g=
×£p=º?rI   r"   r   r   )r   r   r   r@  r+   r¾   r€   r   r³   r]   r^   )r°   Ú
exp_valuesr   r+  rb   ra   s         r   Ú3test_rolling_mean_all_nan_window_floating_artifactsr  B  s  € ô 
àØØÜ�F‰FØØÜ�F‰FÜ�F‰FÜ�F‰FÜ�F‰FÜ�F‰FÜ�F‰FØØð	
ó
€Bð&
Ø	ð
àð
ð 	ð
ð 	ð	
ð
 	ð
ô 	�‰ð
ô 	�‰ð
ð 	ð
ð 	ð
€Fô ØÜ”5˜¤ F£¨eÑ 3Ó4Ó5ô€Hð �W‰W�U�Vˆ_×$Ñ$ Q°AÐ$Ó6×;Ñ;Ó=€FÜ×Ñ˜& (Õ+r    c                  ó  — t        dddt        j                  t        j                  t        j                  g«      } | j                  dd¬«      j	                  «       }t        g d¢«      }t        j                  ||«       y )Nrý  rþ  rÿ  r:   r   r   )rý  g{®Gáz„?g¸…ëQ¸Ž?g9´Èv¾ŸŠ?rÿ  rX   )r   r   r   r   r   r]   r^   r&  s      r   Ú2test_rolling_sum_all_nan_window_floating_artifactsr  q  s[   € ä	�E˜5 %¬¯©´·±¼¿¹Ð@Ó	A€BØ�Z‰Z˜ qˆZÓ)×-Ñ-Ó/€FÜÒAÓB€HÜ×Ñ˜& (Õ+r    c                  óÊ   — t        t        d«      «      } | j                  d«      j                  «       }t        t        j
                  g«      }t        j                  ||«       y )Nr   r   )r
   r+   r   r¹   r   r   r]   r´   rµ   s      r   Útest_rolling_zero_windowr  y  sF   € äŒu�Q‹xÓ€AØ�Y‰Y�q‹\×ÑÓ€FÜ”r—v‘v�hÓ€HÜ×Ñ˜6 8Õ,r    )r   r:   rD   rŸ   )r¹   rÈ   ÚaverageÚpctTFÚ	test_data)ÚdefaultÚ
duplicatesÚnansc           
      ó¢  ‡‡‡— d}|dk(  r9t        t        j                  j                  d«      j                  |«      ¬«      }n®|dk(  r:t        t        j                  j                  d«      j	                  d|«      ¬«      }no|dk(  rjt        t        j                  j                  d«      j	                  dd	d
t        j
                  t        j                  t        j                   g|«      ¬«      }j                  | «      j                  ˆˆˆfd„«      }|j                  | «      j                  ‰‰‰¬«      }t        j                  ||«       y )NrŸ   r
  r   ©r¿   r  r:   r  rY   ç      Ð?ç      è?c                 óF   •— | j                  ‰‰‰¬«      j                  d   S )N©r›  r  Ú	ascendingr*   )Úrankr€   )rô   r  r›  r  s    €€€r   ú<lambda>ztest_rank.<locals>.<lambda>“  s!   ø€ �!—&‘& ¨C¸9�&ÓE×JÑJÈ2ÑN€ r    r  )r
   r   rk  rl  Úchoicer   Úinfr   rf   r  r]   r´   )	r$   r›  r  r  r	  ÚlengthrÅ   rb   ra   s	    ```     r   Ú	test_rankr  �  s  ú€ ð
 €FØ�IÒÜœ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸&ÓAÔB‰Ø	�lÒ	"Üœ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸!¸VÓDÔE‰Ø	�fÒ	ÜÜ—‘×&Ñ& qÓ)×0Ñ0Ø�d˜D¤"§&¡&¬"¯&©&´2·6±6°'Ð:¸Fóô
ˆð �{‰{˜6Ó"×(Ñ(ÝNó€Hð �[‰[˜Ó ×%Ñ%¨V¸È	Ð%ÓR€Fä×Ñ˜6 8Õ,r    )r
  r  r  Ú	precisionc           
      óÒ  — d}|dk(  r9t        t        j                  j                  d«      j                  |«      ¬«      }nÑ|dk(  r:t        t        j                  j                  d«      j	                  d|«      ¬«      }n’|dk(  rkt        t        j                  j                  d«      j	                  dd	d
t        j
                  t        j                  t        j                   g|«      ¬«      }n"|dk(  rt        g d¢t        j                  ¬«      }j                  | «      j                  d„ «      }|j                  | «      j                  «       }t        j                  ||«       y )NrŸ   r
  r   r  r  r:   r  rY   r  r  r  )
ç333333Ó?g433333Ó?ç333333ã?g433333ã?çÍÌÌÌÌÌì?gÌÌÌÌÌÌì?r±   r±   çš™™™™™é?r  )r¿   r”   c                 ó"   — | j                  «       S ©N)Únunique)rô   s    r   r  ztest_nunique.<locals>.<lambda>¹  s   € °1·9±9³;€ r    )r
   r   rk  rl  r  r   r  r   r   rf   r"  r]   r´   )r$   r	  r  rÅ   rb   ra   s         r   Útest_nuniquer#  š  s  € ð €FØ�IÒÜœ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸&ÓAÔB‰Ø	�lÒ	"Üœ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸!¸VÓDÔE‰Ø	�fÒ	ÜÜ—‘×&Ñ& qÓ)×0Ñ0Ø�d˜D¤"§&¡&¬"¯&©&´2·6±6°'Ð:¸Fóô
‰ð
 
�kÒ	!Üòô —*‘*ô
ˆð  �{‰{˜6Ó"×(Ñ(Ñ)>Ó?€HØ�[‰[˜Ó ×(Ñ(Ó*€Fä×Ñ˜6 8Õ,r    c                  ó†  — d} d}t        d| d¬«      }t        t        j                  j	                  d«      j                  | |z  «      j                  | df«      |¬«      }|j                  g d	¢d
¬«      }t        j                  |g d¢d
¬«      }t        j                  |j                  t        j                  |«      «       y )NrD   r"   Ú20100101r   rG   r   r*   rI   )r  r±   r  r   )Úaxis)é   é2   éK   )r   r   r   rk  rl  Úreshaperé   Ú
percentiler]   r   r+  r  )ÚrowÚcolrB  r   Údf_quantileÚnp_percentiles         r   Ú#test_rolling_quantile_np_percentiler0  ¿  sž   € ð €CØ
€CÜ
�Z¨°3Ô
7€CÜ	Ü
�	‰	×Ñ˜aÓ ×'Ñ'¨¨c©	Ó2×:Ñ:¸CÀ¸9ÓEÈSô
€Bð —+‘+Ò/°a�+Ó8€KÜ—M‘M "¢l¸Ô;€Mä×Ñ˜;×-Ñ-¬r¯x©x¸Ó/FÕGr    ré   )rX   rð   gÍÌÌÌÌÌÜ?r±   r   Úinterpolation)ÚlinearÚlowerÚhigherÚnearestÚmidpointr¿   )rY   r4   rZ   r~   rq  rr  rs  )rÃ  rY   rZ   r~   rq  r4   rr  rs  r   r»   rð   r  gffffffæ?r  c                 óL  — t        |«      }|j                  | |«      }|j                  d¬«      j                  | |«      j                  d   }t	        j
                  |«      rt	        j
                  |«      sJ ‚y t        st	        j                  |g|gdd¬«      sJ ‚y ||k(  sJ ‚y )Nr   r   r*   gH¯¼šò×z>r   )ró  r‘  )r
   ré   Ú	expandingr€   r   Úisnanr   Úallclose)ré   r1  r¿   r‚   Úq1Úq2s         r   Ú+test_rolling_quantile_interpolation_optionsr=  Ï  sŠ   € ô& 	ˆt‹€Aà	
�‰�H˜mÓ	,€BØ	
�‰ ˆÓ	#×	,Ñ	,¨X°}Ó	E×	JÑ	JÈ2Ñ	N€Bä	‡x�x�„|Ü�x‰x˜Œ|Ð‰|Ýä�{‰{˜B˜4 " ¨E¸Õ:Ð:Ñ:à�RŠxˆ‰xr    c                  ó  — t        j                  d«      } t        | «      }d}t        j                  t
        |¬«      5  |j                  t        | «      d¬«      j                  dd¬«       d d d «       y # 1 sw Y   y xY w)	Nr"   z(Interpolation 'invalid' is not supportedr(   r   r   r±   Úinvalid)r1  )	r   rL   r
   r,   r-   r.   r   r¾   ré   )r¿   r‚   r1   s      r   Útest_invalid_quantile_valuer@  ð  sh   € Ü�9‰9�Q‹<€DÜˆt‹€Aà
4€CÜ	�‰”z¨Ô	-ñ SØ	�	‰	”#�d“)¨ˆ	Ó+×4Ñ4°SÈ	Ð4ÔR÷S÷ Sñ Sús   ¾.A5Á5A>c                  ó
  — t        g d¢«      } d}t        j                  t        |¬«      5  | j	                  d«      j                  d«       d d d «       d}t        j                  t        |¬«      5  | j	                  d«      j                  d«       d d d «       d}t        j                  t        |¬«      5  | j	                  d«      j                  d	«       d d d «       y # 1 sw Y   Œ–xY w# 1 sw Y   Œ\xY w# 1 sw Y   y xY w)
N)rX   rð   r±   r  rY   z#quantile value -0.1 not in \[0, 1\]r(   r:   gš™™™™™¹¿z#quantile value 10.0 not in \[0, 1\]rÅ  zmust be real number, not strr5   )r
   r,   r-   r.   r   ré   Ú	TypeError)rÅ   r1   s     r   Útest_rolling_quantile_paramrC  ù  sÐ   € Ü
Ò*Ó
+€CØ
1€CÜ	�‰”z¨Ô	-ñ &Ø�‰�A‹×Ñ Ô%÷&ð 2€CÜ	�‰”z¨Ô	-ñ &Ø�‰�A‹×Ñ Ô%÷&ð )€CÜ	�‰”y¨Ô	,ñ 'Ø�‰�A‹×Ñ Ô&÷'ð '÷&ð &ú÷&ð &ú÷'ð 'ús#   «!C!Á1!C-Â7!C9Ã!C*Ã-C6Ã9Dc                  ó   — t        g d¢«      } | j                  dd¬«      j                  «       }t        t        j                  gdz  «      }t        j                  ||«       | j                  dd¬«      j                  d¬«      }t        dgdz  «      }t        j                  ||«       t        t        j                  t        j                  dd	dg«      j                  dd
¬«      j                  «       }t        j                  |d
   «      sJ ‚y )N)rY   r4   rZ   r~   rq  r   r   r"   r   r�  rX   r:   r   r   )r
   r   r†  r   r   r]   r´   r9  )Úvalsra   rb   s      r   Útest_rolling_std_1obsrF    sØ   € ÜÒ+Ó,€Dà�\‰\˜!¨ˆ\Ó+×/Ñ/Ó1€FÜ”r—v‘v�h ‘lÓ#€HÜ×Ñ˜6 8Ô,à�\‰\˜!¨ˆ\Ó+×/Ñ/°QÐ/Ó7€FÜ�s�e˜a‘iÓ €HÜ×Ñ˜6 8Ô,ä”R—V‘VœRŸV™V Q¨¨1Ð-Ó.×6Ñ6°qÀaÐ6ÓH×LÑLÓN€FÜ�8‰8�F˜1‘IÔÐÑr    c                  ó>  — t        g d¢«      } | j                  d¬«      j                  «       }t        j                  |dd  «      j                  «       sJ ‚| j                  d¬«      j                  «       }t        j                  |dd  «      j                  «       sJ ‚y )N)ge>¸¸ÁR?ç¨R¨z1Ò2?rH  rH  rH  r:   r#   r   )Úspan)r
   r   r†  r   ÚisfiniteÚallÚewmr>  s     r   Útest_rolling_std_neg_sqrtrM    sˆ   € ô
 	ò	
ó	€Að 	
�	‰	˜ˆ	Ó×ÑÓ!€AÜ�;‰;�q˜˜�uÓ×!Ñ!Ô#Ð#Ð#à	�‰�1ˆ‹×ÑÓ€AÜ�;‰;�q˜˜�uÓ×!Ñ!Ô#Ð#Ñ#r    c                  ó®   — t        j                  t        d¬«      5  t        t	        d«      «      j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nzstep must be an integerr(   r   r   r5   rJ   ©r,   r-   r.   r   r+   r   rV  r    r   Útest_step_not_integer_raisesrP  ,  sB   € Ü	�‰”zÐ)BÔ	Cñ 3Ü”%˜“(Ó×#Ñ# A¨EÐ#Ô2÷3÷ 3ñ 3úrê  c                  ó®   — t        j                  t        d¬«      5  t        t	        d«      «      j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nzstep must be >= 0r(   r   r   r*   rJ   rO  rV  r    r   Útest_step_not_positive_raisesrR  1  sB   € Ü	�‰”zÐ)<Ô	=ñ 0Ü”%˜“(Ó×#Ñ# A¨BÐ#Ô/÷0÷ 0ñ 0úrê  )r+  r$   r   rb   rŸ   r(  g«ªªªªª@@g     @D@çUUUUUUÕ?gUUUUUU8@)r   r   rð  r   rð  gUUUUUU@c                 ó¢  — t        |«      }t        | «      }|j                  ||¬«      j                  «       }t        j                  ||«       t        j                  |dk(  |dk(  «       |j                  ||¬«      j                  «       }t        j                  |t        j                  |«      «       t        j                  |dk(  |dk(  «       y )Nr   r   )r
   r   rƒ  r]   r´   r†  r   Úsqrt)r+  r$   r   rb   ÚsrÚ
result_varÚ
result_stds          r   Ú'test_rolling_var_same_value_count_logicrY  6  s­   € ôd �hÓ€HÜ	�‹€Bð —‘˜F°�Ó<×@Ñ@ÓB€Jô ×Ñ˜: xÔ0ä×Ñ˜8 q™=¨*¸©/Ô:ð —‘˜F°�Ó<×@Ñ@ÓB€JÜ×Ñ˜:¤r§w¡w¨xÓ'8Ô9Ü×Ñ˜8 q™=¨*¸©/Õ:r    c                  óà   — t        g d¢«      } | j                  d«      }|j                  «       }|dd  dk(  j                  «       sJ ‚|j	                  «       }|dd  dk(  j                  «       sJ ‚y )N©rS  r   r   r   r   r   r   r:   rß   r   )r
   r   r³   rK  r   )rV  Úrra   s      r   Ú(test_rolling_mean_sum_floating_artifactsr]  €  sl   € ô 
Ò)Ó	*€BØ
�
‰
�1‹€AØ�V‰V‹X€FØ�2�3ˆK˜1Ñ×!Ñ!Ô#Ð#Ð#Ø�U‰U‹W€FØ�2�3ˆK˜1Ñ×!Ñ!Ô#Ð#Ñ#r    c            	      óÈ  — t        g d¢«      } | j                  d«      }|j                  «       }t        t        j                  t        j                  t        j                  ddddg«      }t        j                  ||«       |j                  «       }t        t        j                  t        j                  t        j                  ddddg«      }t        j                  ||«       y )	Nr[  r   g87þõcÿ?r4   rX   g˜tï¬©è@r~   g      À)r
   r   rœ  r   r   r]   r´   r�  )rV  r\  ra   rb   s       r   Ú)test_rolling_skew_kurt_floating_artifactsr_  ‹  sž   € ô 
Ò)Ó	*€BØ
�
‰
�1‹€AØ�V‰V‹X€FÜ”r—v‘vœrŸv™v¤r§v¡vÐ/AÀ3ÈÈSÐQÓR€HÜ×Ñ˜6 8Ô,Ø�V‰V‹X€FÜ”r—v‘vœrŸv™v¤r§v¡vÐ/AÀ3ÈÈdÐSÓT€HÜ×Ñ˜6 8Õ,r    c                 ó’  — | }t        dgdddœ«      }|d   j                  t        «      |d<   |j                  dd¬«      }t	        ||«      } ||¬«      }|rdd	gng d¢}||   j                  |g«      j                  d
¬«      j                  t        «      }t        |j                  «      |k(  sJ ‚t        j                  ||«       y )Nr   r   r:   ©r$  r?  r0   r0   r   ©Únumeric_onlyr$  r?  Trq   )r   rÚ   Úobjectr   rS   rO   rs   r•   r@  r½   r]   r^   )	rt   rc  Úkernelr   r   Úopra   r½   rb   s	            r   Útest_numeric_only_framerg  ˜  s»   € à%€FÜ	˜!˜ 1¨1Ñ-Ó	.€BØ�‰g�n‰nœVÓ$€B€s�GØ�j‰j˜¨ˆjÓ*€GÜ	�˜&Ó	!€BÙ˜\Ô*€Fá(ˆs�C‰jªo€GØ�'‰{�‰ ˜xÓ(×4Ñ4¸$Ð4Ó?×FÑFÄuÓM€HÜ�× Ñ Ó! WÒ,Ð,Ð,ä×Ñ˜& (Õ+r    re  Úuse_argc                 ó„  — t        g d¢dddœ«      }|d   j                  t        «      |d<   |r|fnd}|j                  dd¬«      }t	        || «      } ||d	|iŽ}|rd
dgng d¢}||   j                  t
        «      }	|r|	fnd}
|	j                  dd¬«      }t	        || «      } ||
d	|iŽ}t        j                  ||«       y )Nr.  r   r:   ra  r0   rV  r   r   rc  r$  r?  )r   rÚ   rd  r   rS   r•   r]   r^   )re  rc  rh  r   Úargr   rf  ra   r½   Údf2Úarg2Úrolling2Úop2rb   s                 r   Ú test_numeric_only_corr_cov_framero  ¨  sÎ   € ô 
š¨°Ñ3Ó	4€BØ�‰g�n‰nœVÓ$€B€s�GÙˆ2‰% €CØ�j‰j˜¨ˆjÓ*€GÜ	�˜&Ó	!€BÙ�Ð0 <Ñ0€Fñ )ˆs�C‰jªo€GØ
ˆW‰+×
Ñ
œUÓ
#€CÙˆC‰6 "€DØ�{‰{˜1¨!ˆ{Ó,€HÜ
�(˜FÓ
#€CÙ�DÐ4 |Ñ4€Hä×Ñ˜& (Õ+r    r”   c                 óž  — | }t        dg|¬«      }|j                  dd¬«      }t        ||«      }|r<|t        u r4d|› d�}t	        j
                  t        |¬«      5   ||¬«       d d d «       y  ||¬«      }|j                  |g«      j                  d	¬
«      j                  t        «      }	t        j                  ||	«       y # 1 sw Y   y xY w)Nr   r  r   r   úRolling.ú  does not implement numeric_onlyr(   rb  Trq   )r
   r   rS   rd  r,   r-   rM   rO   rs   rÚ   r•   r]   r´   )
rt   rc  r”   re  rÅ   r   rf  r1   ra   rb   s
             r   Útest_numeric_only_seriesrs  ¾  sÃ   € ð &€FÜ
�!�˜EÔ
"€CØ�k‰k˜!¨ˆkÓ+€GÜ	�˜&Ó	!€BÙ˜¤™Ø˜˜Ð @ÐAˆÜ�]‰]Ô.°cÔ:ñ 	*Ù˜LÕ)÷	*ð 	*ñ  Ô.ˆØ—7‘7˜F˜8Ó$×0Ñ0°dÐ0Ó;×BÑBÄ5ÓIˆÜ
×Ñ˜v xÕ0÷	*ð 	*ús   Á
CÃCc                 óÂ  — t        g d¢|¬«      }|r|fnd}|j                  dd¬«      }t        || «      }|r;|t        u r3d| › d�}t	        j
                  t        |¬	«      5   ||d
|iŽ d d d «       y  ||d
|iŽ}	|j                  t        «      }
|r|
fnd}|
j                  dd¬«      }t        || «      } ||d
|iŽ}t        j                  |	|«       y # 1 sw Y   y xY w)Nr.  r  rV  r   r   r   rq  rr  r(   rc  )r
   r   rS   rd  r,   r-   rM   rÚ   r•   r]   r´   )re  rh  rc  r”   rÅ   rj  r   rf  r1   ra   Úser2rl  rm  rn  rb   s                  r   Ú!test_numeric_only_corr_cov_seriesrv  Ï  sî   € ô
 ’ %Ô
(€CÙˆ3‰& €CØ�k‰k˜!¨ˆkÓ+€GÜ	�˜&Ó	!€BÙ˜¤™Ø˜˜Ð @ÐAˆÜ�]‰]Ô.°cÔ:ñ 	0Ù�Ð/ ,Ò/÷	0ð 	0ñ �SÐ4 |Ñ4ˆà�z‰zœ%Ó ˆÙ!�‰w rˆØ—<‘< ¨q�<Ó1ˆÜ�h Ó'ˆÙ˜Ð8¨<Ñ8ˆÜ
×Ñ˜v xÕ0÷	0ð 	0ús   Á!	CÃCr  )NÚUTCzEurope/Praguec           
      ó`  — t        dt        d«      it        ddd|d¬«      ¬«      }|j                  d«      j	                  «       }|j
                  j                  | «      |_        |j                  d«      j	                  «       }|j
                  j                  d«      |_        t        j                  ||«       t        dd	d|¬
«      }t        d|¬«      }d|j                  d<   |j                  t        d¬«      «      j                  «       }t        dd	| |¬
«      }t        d|¬«      }	d|	j                  d<   |	j                  t        d¬«      «      j                  «       }
t        |«      }t        |
«      }|j
                  j                  d«      |_        t        j                  ||«       y )Nrk   r"   z
2013-01-01rì   Úns)rH   r?   r  r]  rI   z
2023-01-01z
2023-01-10)r]  r  r   r   r   r;   )r   r+   r   r   r   rA   r^  r]   r^   r
   r€   r   rÈ   )r]  r  rw   Úsum_in_nanosecsÚsum_in_microsecsÚ	ref_datesÚ
ref_seriesÚref_max_seriesrb  ÚseriesÚ
max_seriesÚref_dfr   s                r   Ú-test_rolling_timedelta_window_non_nanosecondsr‚  ç  sd  € ô Ø	Œe�A‹hˆÜ˜¨D¸!ÀÈÔNô€Gð —o‘o dÓ+×/Ñ/Ó1€Oà—M‘M×)Ñ)¨$Ó/€G„MØ—‘ tÓ,×0Ñ0Ó2ÐØ-×3Ñ3×;Ñ;¸DÓAÐÔÜ×Ñ˜/Ð+;Ô<ô ˜<¨¸DÀRÔH€IÜ˜ Ô+€JØ€J‡O�O�AÑØ×'Ñ'¬	°qÔ(9Ó:×>Ñ>Ó@€Nä�| \¸ÀÔD€EÜ�A˜UÔ#€FØ€F‡K�K��NØ—‘¤	¨qÔ 1Ó2×6Ñ6Ó8€Jä�~Ó&€FÜ	�:Ó	€BØ�x‰x×Ñ Ó%€B„Hä×Ñ˜& "Õ%r    c                   ó(   ‡ — e Zd Zˆ fd„Z	 dd„Zˆ xZS )ÚPrescribedWindowIndexerc                 ó>   •— || _         || _        t        ‰| �  «        y r!  )Ú_startÚ_endÚsuperÚ__init__)r¸  r°   rj  Ú	__class__s      €r   r‰  z PrescribedWindowIndexer.__init__  s   ø€ ØˆŒØˆŒ	Ü‰ÑÕr    c                 ó¼   — |€t        | j                  «      }t        j                  | j                  d|«      }t        j                  | j                  d|«      }||fS )Nr   )r¾   r†  r   Úclipr‡  )r¸  r¹  r   r'   ro   rK   r°   rj  s           r   rº  z)PrescribedWindowIndexer.get_window_bounds  sN   € ð ÐÜ˜TŸ[™[Ó)ˆJÜ—‘˜Ÿ™ Q¨
Ó3ˆÜ�g‰g�d—i‘i  JÓ/ˆØ�cˆzÐr    )NNNNN)r»  r¼  r½  r‰  rº  Ú__classcell__)rŠ  s   @r   r„  r„    s   ø„ ôð QU÷r    r„  c            
       ó†   — e Zd Zej                  j                  dddg d¢fddg d¢fddg d¢fddg d¢fg«      d„ «       Zd	„ Zy
)Ú
TestMinMaxzis_max, has_nan, exp_listTF)
rZ   rq  r4   rq  rY   rq  rr  rs  rÃ  rÄ  )
rZ   r~   r4   r~   rY   r~   rr  rs  rs  rÄ  )
rZ   r4   r4   rY   rY   rX   rX   rX   rs  rX   )
rZ   r4   r4   rY   rY   rY   rr  rr  rs  rY   c                 ó®  — g d¢}t        g d¢g d¢g d¢dœ«      }|rt        j                  |j                  |df<   t	        |d¬«      }|j
                  j                  t        |j                  j                  «       |j                  j                  «       «      «      }|r|j                  «       }n|j                  «       }t        j                  ||«       y )N)r   r"   r’   )
rq  r~   rZ   r4   rY   rX   rr  rs  rÃ  rÄ  )
r   r   r:   r   r   r   r"   r"   rØ   r:   )
r:   r   r   r"   r"   rŒ   rØ   r’   rš   rD   ©r¿   r°   rj  r¿   r%  )r   r   r   r;  r
   r¿   r   r„  r°   Úto_numpyrj  rÈ   r¹   r]   r´   )	r¸  Úis_maxÚhas_nanÚexp_listÚnan_idxr   rb   r\  ra   s	            r   Útest_minmaxzTestMinMax.test_minmax  s§   € ò ˆÜâJÚ7Ú6ñó
ˆñ Ü&(§f¡fˆB�F‰F�7˜F�?Ñ#Ü˜(¨Ô0ˆØ�G‰G�O‰OÜ# B§H¡H×$5Ñ$5Ó$7¸¿¹¿¹Ó9JÓKó
ˆñ Ø—U‘U“W‰Fà—U‘U“WˆFä
×Ñ˜v xÕ0r    c                 ó~  — t        j                  t        d«      t         j                  ¬«      }|dz   }|d   |d<   |d   dz
  |d<   t	        |dz  ||dœ«      }|j
                  j                  t        ||«      «      }t        j                  t        d¬	«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)
Nr"   r  r   r   r:   rY   r‘  z5Start/End ordering requirement is violated at index 3r(   )r   r  r+   rD  r   r¿   r   r„  r,   r-   r.   rÈ   )r¸  r°   rj  r   r\  s        r   Útest_wrong_orderzTestMinMax.test_wrong_order7  s¢   € Ü—‘œ˜q›¬¯©Ô2ˆØ�a‰iˆØ�Q‘ˆˆA‰Ø˜‘8˜a‘<ˆˆa‰ä ¨¡°eÀCÑHÓIˆà�G‰G�O‰OÔ3°E¸3Ó?Ó@ˆÜ�]‰]ÜÐUô
ñ 	ð �E‰EŒG÷	÷ 	ñ 	ús   ÂB3Â3B<N)r»  r¼  r½  r,   ÚmarkÚparametrizer—  r™  rV  r    r   r�  r�    s\   „ Ø‡[�[×ÑØ#à�5ÒLÐMØ�4ÒKÐLØ�EÒMÐNØ�DÒLÐMð		
óñ1óð1ó,r    r�  )|r   r   Únumpyr   r,   Úpandas.compatr   Úpandas.errorsr   Úpandasr   r   r	   r
   r   r   r   r   Úpandas._testingÚ_testingr]   Úpandas.api.indexersr   Úpandas.core.indexers.objectsr   Úpandas.tseries.offsetsr   r   r2   rš  r›  r  r9   rN   rU   rc   ri   rx   rƒ   r‹   r–   r   r©   r­   r¶   rÀ   rÆ   rË   rÕ   rÛ   rÝ   rà   rê   rî   rñ   rõ   r÷   r  r  r
  r  r  r"  r'  r)  r-  r6  r<  rC  rF  rI  Úfrom_tuplesrY  rc  rf  rm  ro  ru  r{  r€  r•  rš  r¤  r¬  r°  r•   r¿  rÂ  rË  rÍ  rÓ  rÖ  rÙ  rç  ré  rî  rô  r÷  r  r  r  r  r#  r0  r=  r@  rC  rF  rM  rP  rR  r  rY  r]  r_  rg  ro  r×   rd  rs  rv  r‚  r„  r�  rV  r    r   ú<module>r¦     sr  ð÷ó
 Û õõ )÷	÷ 	ó 	õ Ý +Ý Då .ò'òð( ‡�×Ñ˜˜s E¨8¨2¯8©8°Q°C«=Ð9Ó:ñ-ó ;ð-ð. ‡�×ÑØá�qÔÙ�qÔØÙ#Ù˜\°1Ô5¹kÈ!»nô	
ð	ó
ñ	)ó
ð	)ð ‡�×Ñ˜ ¨ Ó0ñó 1ðð ‡�×Ñ˜¡I°1Ô$5±yÀaÔ7HÐ#IÓJñ,ó Kð,ð& ‡�×Ñ˜¡I°1Ô$5±yÀaÔ7HÈ$Ð#OÓPñ9ó Qð9ò",ð$ ‡�×ÑØð â1Ú0Ú0Ú0Ú1ðð		
ð â2Ú1Ú1Ú1Ú1ðð		
ð â1Ú1Ú1Ú1Ú2ðð		
ð â2Ú2Ú2Ú2Ú2ðð		
ð?)ó,ñZ?ó[,ðZ?ð, ‡�×ÑØà	ˆwšÐ(Ø	ˆv’Ð'Ø	ˆv’Ð'Ø	ˆyš/Ð*Ø	ˆwšÐ(Ø	ˆv’Ð'Ø	ˆv’Ð'Ø	ˆyš/Ð*ð	óñ&óð&ð" ‡�×ÑØà	ˆwÒ0Ð1Ø	ˆvÒ/Ð0Ø	ˆvÒ/Ð0Ø	ˆyÒ2Ð3ð	óñ&óð&ð0 ‡�×ÑØà	�"—&‘&˜"Ÿ&™& ! Q¨¨2¨r°2°r¸2Ð>Ð?Ø	�R—V‘V˜RŸV™V Q¨¨1¨a°°A°r¸1Ð=Ð>Ø	Ò6Ð7Ø	Ò5Ð6ð	óñ&óð&ð2 ‡�×ÑØà	�"—&‘&˜"Ÿ&™& ! Q¨¨2¨r°2°r¸2Ð>Ð?Ø	�R—V‘V˜RŸV™V Q¨¨1¨b°"°b¸"¸aÐ@ÐAØ	Ò6Ð7Ø	Ò5Ð6ð	óñ&óð&ò6-ò,ð4 ‡�×Ñ˜ I¨vÐ#6Ó7ñ-ó 8ð-ð ‡�×Ñ˜ %¨ Ó0ñFó 1ðFð ‡�×Ñ˜ %¨ Ó0ñ-ó 1ð-ð ‡�×Ñ˜¨°Ð(8Ó9Ø‡�×ÑØà	�Ò9Ð:Ø	�Ò8Ð9Ø	�	˜BŸF™F A q¨!¨Q°°1°a¸¸AÐ>Ð?Ø	�˜Ÿ™  A q¨!¨Q°°1°a¸Ð;Ð<Ø	�Ò9Ð:Ø	�Ò8Ð9Ø	�	˜BŸF™F A q¨!¨Q°°1°a¸¸AÐ>Ð?Ø	�˜Ÿ™  A q¨!¨Q°°1°a¸Ð;Ð<ð	óñ	-óó :ð	-ò-ð ‡�×ÑØà	�˜"Ÿ&™& ! Q¨¨1¨a°°A°r·v±v¸r¿v¹vÐFÐGØ	�˜Ÿ™  A q¨!¨Q°°1°a¸¿¹Ð@ÐAØ	�	˜BŸF™F B§F¡F¨A¨q°!°Q¸¸1¸b¿f¹fÀbÇfÁfÐMÐNØ	�˜Ÿ™ §¡¨¨A¨q°!°Q¸¸1¸b¿f¹fÐEÐFØ	�˜"Ÿ&™& ! Q¨¨1¨a°°A°r·v±v¸r¿v¹vÐFÐGØ	�˜Ÿ™  A q¨!¨Q°°1°a¸¿¹Ð@ÐAØ	�	˜BŸF™F B§F¡F¨A¨q°!°Q¸¸1¸b¿f¹fÀbÇfÁfÐMÐNØ	�˜Ÿ™ §¡¨¨A¨q°!°Q¸¸1¸b¿f¹fÐEÐFð	óñ-óð-ð ‡�×ÑØà	Ò2Ð3Ø	Ò?Ð@Ø	�R—V‘V˜Q  S¨#¨s°C¸¸cÀ3ÐGÐHØ	�"—&‘&˜!˜S ! Q¨¨1¨a°°AÐ6Ð7ð	óñ
-óð
-ð ‡�×Ñ˜ D¨! 9Ó-ñ,ó .ð,ò	-ò-ò-ò2ò,ò,ò-ò,ò.-ò,-ò&ò&ð ‡�×ÑØ$ò ¢)Ñ,à�s ! Ñ%¨ sÐ+Ø˜1�v Q¨ FÑ+¨a°¨VÐ4Ú ¢yÑ1²9Ð=ðð
 Øð		
ò ¢)Ñ,à�s ! Ñ%¨ sÐ+Ø˜1�v Q¨ FÑ+¨a°¨VÐ4Ø˜1�v Q¨ FÑ+¨a°¨VÐ4ðð
 Øð		
ò ¢)Ñ,à�s ! Ñ%¨ sÐ+Ø˜1�v Q¨ FÑ+¨a°¨VÐ4Ø˜1�v Q¨ FÑ+¨a°¨VÐ4ðð
 Øð		
ò ¢)Ñ,à�s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+ðð
 Øð		
ò ¢)Ñ,à�s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+ðð
 Øð		
ð ˆs˜!˜Ñ	˜r 1 dÐ+Øˆs˜!˜Ñ	˜r 1 aÐ(Ø	��R�ˆz˜1˜dÐ#à�b—f‘f˜a�.¨¯©°°1 ~Ñ6à�u B§F¡F 8Ñ,¨q¨cÐ2Ø˜2Ÿ6™6�{¨"¯&©&°!¨Ñ5¸¸1°vÐ>Ø˜2Ÿ6™6 1�~¨R¯V©V°Q¸¨NÑ;ºYÐGðð
 Øð		
ðm@óCñH0óICðH0ð ‡�×ÑØð �s ! Ñ%¨ sÐ+Ø˜1�v Q¨ FÑ+¨a°¨VÐ4Ø˜1�v Q¨ FÑ+¨a°¨VÐ4ðð
 ð	
ð �s ! Ñ%¨ sÐ+Ø˜1�v Q¨ FÑ+¨a°¨VÐ4Ú ¢yÑ1²9Ð=ðð
 ð	
ð �s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+Ø�s ! Ñ%¨ sÐ+ðð
 ð	
ð#óñ:0ó;ð:0ò"0ð ‡�×ÑØ&ñ ’9ÓØˆc�A�3ˆZ˜1˜a˜& 1 a &Ð)ªI²yÐ+AÐBØØð		
ñ ’9ÓØˆc�A�3ˆZ˜1˜a˜& 1 a &Ð)ªI²yÐ+AÐBØØð		
ñ ’9ÓØˆc�A�3ˆZ˜1˜a˜& 1 a &Ð)¨Q°¨F°Q¸°FÐ+;Ð<ØØð		
ñ ’9ÓØˆc�A�3ˆZ˜1˜a˜& 1 a &Ð)¨Q°¨F°Q¸°FÐ+;Ð<ØØð		
ñ 
’	Ó	˜q˜c A 3˜Z¨1¨#°¨s¨°q°c¸A¸3°ZÐ@À!ÀQÐGÙ	’	Ó	˜q˜c A 3˜Z¨1¨#°¨s¨°q°c¸A¸3°ZÐ@À!ÀQÐGÙ	��A�‹˜A˜3  ˜*¨¨1 v°°1¨vÐ&6Ð7¸¸AÐ>Ù	�˜'Ô	" B¨¨1Ð-ð9ó ñB1óC ðB1ð ‡�×ÑØ$ð ˆS�1�#˜�s˜Q˜C ! Ð%á˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=ðð ð
	
ð ˆS�1�a�&˜1˜a˜& 1 a &¨1¨a¨&Ð1á˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=ðð ð
	
ð ˆS�1�a�&š)¢Y²	Ð:á˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=Ù˜<°¸Ô=ðð ð
	
ð/"ó%ñL
1óM%ðL
1ð ‡�×ÑØð �aˆLØ"ˆJ×"Ñ"Ú8ÀÀtÀôð	
ð �3ˆKØ"ˆJ×"Ñ"Ú8ÀÀdÀôð	
ðóñ",ó#ð",ð& ‡�×Ñ˜  c 
Ó+ñ,ó ,ð,òD-ò	0ò&ò-ð0 ‡�×ÑØñ Ð1Ð7IÐPUÔVØð	
ñ
 Ø(Ð.@Àwôð ð		
ðóð ‡�×ÑØà	�—‘˜˜A˜q ! Q¨¨1¨aÐ0Ð1Ø	�—‘˜˜A˜q ! Q¨¨1¨aÐ0Ð1Ø	�—‘˜˜A˜q ! Q¨¨2¨rÐ2Ð3ðóñ-óóð.-ò-ð ‡�×ÑØ;à	Ò5°q¸!Ò=VÐWàÚ1ØØÚ?ð	
ð 
Ò5°q¸!Ò=VÐWàÚ1ØØÚ?ð	
ð Ú8ØØÚ@ð	
ð òð Øò	ð!	
ð8 ÚIØØòð	
ðgFóIñT7óUIðT7ò2$ðj ‡�×Ñ˜Ò#WÓXñó Yðð" ‡�×ÑØà	ˆwÒ,Ð-Ø	ˆvÒ+Ð,Ø	ˆvÒ+Ð,Ø	ˆyÒ.Ð/Ø	ˆwÒ,Ð-Ø	ˆvÒ+Ð,Ø	ˆvÒ+Ð,Ø	ˆyÒ.Ð/ð	óñ.óð.ð( ‡�×ÑØà	Ò$Ð%Ø	Ò$Ð%ðóñ&óð&ð ‡�×ÑØð á�e“ØÙ�e“ØØØØØð	ð	
ð Ù�5‹\˜3¡ e£¨d°C¸À4ÈÐNð	
ð
 Ù�5‹\˜4¡ u£¨t°T¸4ÀÀuÐMð	
ð
 á�e“ØÙ�e“ØØØØØð	ð	
ð á�e“Ø#Ù�e“Ø#Ø$Ø"Ø$Ø$ð	ð	
ðG0ó3ñh,ói3ðh,ðB ‡�×ÑØâ	˜!ÐÙ	�L s°AÔ	6¸Ð=ðóñ-óð-ð ‡�×ÑØò @ØÙ�5‹\™5 ›<¨¨c°3¸¸SÀ#ÁsÉCÐPð	
ð �"—&‘&˜#˜rŸv™v s¨B¯F©F±C¸¿¹ÁÀbÇfÁfÐMØÙ�5‹\ˆN˜RÑð	
ò @ÙÙ�5‹\™5 ›<¨¨c°3¸¹SÁ#ÁsÉDÐQð	
ð �"—&‘&˜#˜rŸv™v s¨B¯F©F±C¸¿¹ÁÀbÇfÁfÐMÙÙ�5‹\ˆN˜RÑð	
ð!óò2
-ó3ð2
-ð ‡�×ÑØò @ØÛ>ð	
ð �"—&‘&˜#˜rŸv™v s¨B¯F©F±C¸¿¹ÁÀbÇfÁfÐMØÛ>ð	
ò @ÙÚ?ð	
ð �"—&‘&˜#˜rŸv™v s¨B¯F©F±C¸¿¹ÁÀbÇfÁfÐMÙÛ>ð	
ð!óò2
-ó3ð2
-ó,ð, ‡�×Ñ˜ F¨FÐ#3Ó4ò-ó 5ð-ð ‡�×ÑÙ ð Û)Ø�V‰VˆH�q‰LÓ9Ñ9ð	
ð Û)Ø�V‰VˆH�q‰LÓAÑAð	
ð Û)Ø�V‰VˆH�q‰LÓ;Ñ;ð	
ð Û)Ø�V‰VˆH�q‰LÓ7Ñ7ð	
ð!óò2-ó3ð2-ð ‡�×Ñ˜ F¨FÐ#3Ó4òTó 5ðTó&2ó
&ó$7óIð ‡�×ÑÙà	
Ó2Ð3Ø	
Ó.Ð/ðóò%,óð%,óP,ó-ð ‡�×Ñ˜£>Ó2Ø‡�×Ñ˜Ó#<Ó=Ø‡�×Ñ™¡¡u Ó.Ø‡�×Ñ™Ó&GÓHò-ó Ió /ó >ó 3ð-ð* ‡�×Ñ˜£>Ó2Ø‡�×Ñ™Ó&TÓUò -ó Vó 3ð -óFHð  ‡�×Ñ™Ó%=Ó>Ø‡�×ÑÙÓIóð ‡�×ÑÙ
ã+Û0Ø	ˆb�f‰f‘c˜2Ÿ6™6¡3Ð'Ø	�‰�—‘˜Ÿ™ §¡Ð(Ø	�‰‘�b—f‘f™c¡3¨Ð,Ø	ˆØ	�‰‘‘cÐðóòóóó ?ð ó"Só'óó$ó*3ó
0ð
 ‡�×ÑÛ3ñ ��R˜Ÿ™  A q¨!Ð,ØØØ�V‰V‘R™ !¡T¨1©e°QÐ7ð		
ñ ��R˜Ÿ™  Q¨¨1Ð-ØØØ�V‰V‘R™ ! Q©©f°aÐ8ð		
ð �V‰V�Q˜˜1˜a  AÐ&ØØØ�V‰VˆH�q‰LÓ+Ñ+ð		
ð ��1�a˜Ÿ™ §¡¨¨A¨q°!Ð4ØØØ�V‰VˆH�q‰L™E 1˜:Ñ%¨¯©¨°1©Ñ4¹¸q°zÑAð		
ð ��1�a˜Ÿ™ §¡¨¨A¨q°!Ð4ØØØ�V‰VˆH�q‰L™E 1˜:Ñ%¨¯©¨°1©Ñ4¹À°{ÑBð		
ð �ˆF�Q‰JØØØ�V‰VˆH�q‰L™E˜7 Q™;Ñ&ð		
ð ��1�b—f‘f˜a  AÐ&ØØØ�V‰V�Q™Ð !  q¡Ñ(©E¨7Ñ2ð		
ðK+ó.ò^;ó_.ð^;ó6$ó
-ó,ð  ‡�×Ñ™ F¨E ?Ó3Ø‡�×Ñ™¡T©5 MÓ2ò,ó 3ó 4ð,ð( ‡�×Ñ™ 3¨ -Ó0ò1ó 1ð1ð  ‡�×Ñ™ F¨E ?Ó3Ø‡�×Ñ™¡T©5 MÓ2Ø‡�×Ñ™ 3¨ -Ó0ò1ó 1ó 3ó 4ð1ð* ‡�×Ñ™Ó=Ó>ò&ó ?ð&ö>˜kô ÷ ,ô ,r    