§
    2@Äj‹  ã                   óP  — d Z ddlZddlZddlZddlmZ ddlmZm	Z	 ddl
mZ ddlmZmZmZmZ ddl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 ej                             d¦  «        xZZ eeej         ¦  «        Z ej!        fdz  Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'dId„Z(dId„Z)d„ Z*d„ Z+ eeg d¢¦  «        Z, eeg d¢¦  «        Z- eeg d¢¦  «        Z. eeg d¢¦  «        Z/ eej0        ¦  «         eej!        ¦  «        d„ ¦   «         ¦   «         Z1 eej2        ej!        ¦  «        d„ ¦   «         Z3 eej4        ej!        ¦  «        d„ ¦   «         Z5 ee6ej!        ¦  «        d„ ¦   «         Z7d „ Z8 eej9        ge"¢R Ž  eej:        ge"¢R Ž d!„ ¦   «         ¦   «         Z; eej<        ge"¢R Ž  eej=        ge"¢R Ž d"„ ¦   «         ¦   «         Z>d#„ Z? eej@        ej!        ejA        ¦  «         eejB        ej!        ejA        ¦  «         eej@        ej!        ejC        ¦  «         eejB        ej!        ejC        ¦  «        d$„ ¦   «         ¦   «         ¦   «         ¦   «         ZD eej@        ejA        ej!        ¦  «         eejB        ejA        ej!        ¦  «         eej@        ejC        ej!        ¦  «         eejB        ejC        ej!        ¦  «        d%„ ¦   «         ¦   «         ¦   «         ¦   «         ZE eejF        ej!        ejA        ¦  «         eejG        ej!        ejA        ¦  «         eejH        ej!        ejA        ¦  «         eejI        ej!        ejA        ¦  «         eejF        ej!        ejC        ¦  «         eejG        ej!        ejC        ¦  «         eejH        ej!        ejC        ¦  «         eejI        ej!        ejC        ¦  «        d&„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZJ eejF        ge"¢R Ž  eejG        ge"¢R Ž d'„ ¦   «         ¦   «         ZK eejH        ge"¢R Ž d(„ ¦   «         ZLd)„ ZMd*„ ZNd+„ ZO eNd,e	jP        ¦  «        ZQ eNd-e	jR        ¦  «        ZS eOd.¦  «        ZT eOd/¦  «        ZU eOd0¦  «        ZV eOd1¦  «        ZWejX        eQfejY        eSfejZ        eTfej[        eUfej\        eVfej]        eWffD ]\  Z^Z_  ee^ge"¢R Ž e_¦  «         Œd2„ Z`d3„ Zad4„ Zbd5„ Zcd6„ Zd edd7¦  «        Ze edd8¦  «        Zf eej9        ej0        ej!        ¦  «         eej:        ej0        ej!        ¦  «        d9„ ¦   «         ¦   «         Zg eej9        ej!        ej0        ¦  «         eej:        ej!        ej0        ¦  «        d:„ ¦   «         ¦   «         Zh eej<        ej0        ej!        ¦  «         eej=        ej0        ej!        ¦  «        d;„ ¦   «         ¦   «         Zi eej<        ej0        ej0        ¦  «        d<„ ¦   «         Zjd=„ Zk ekd,¦  «        Zl ekd-¦  «        Zm ekd.¦  «        Zn ekd/¦  «        Zo ekd0¦  «        Zp ekd1¦  «        ZqejX        elfejY        emfejZ        enfej[        eofej\        epfej]        eqffD ] \  ZrZ_  eergej0        gdz  ¢R Ž e_¦  «         Œ!d>„ Zs esd?¦  «        Zt esd@¦  «        ZudA„ Zv evd?¦  «        Zw evd@¦  «        ZxdB„ Zy eyd?¦  «        Zz eyd@¦  «        Z{dC„ Z| e|d?¦  «        Z} e|d@¦  «        Z~dD„ Z eej€        ej0        ¦  «         eej€        ej!        ¦  «        dE„ ¦   «         ¦   «         Z� eej0        ejA        ¦  «         eej!        ejA        ¦  «        dF„ ¦   «         ¦   «         Z‚ eej!        dG¦  «         eej0        dG¦  «        dH„ ¦   «         ¦   «         Zƒ  eej„        ej0        ej0        ¦  «        ew¦  «           eej„        ej!        ej!        ¦  «        ew¦  «           eej…        ej0        ej0        ¦  «        et¦  «           eej…        ej!        ej!        ¦  «        et¦  «         dS )Jz4
Implementation of operations on numpy timedelta64.
é    N)ÚConstant)ÚtypesÚcgutils)Úcreate_constant_array)Úlower_builtinÚlower_constantÚimpl_ret_untrackedÚ
lower_cast)Únpdatetime_helpersÚnumpy_supportÚnpyfuncs)Úoverload_method)Ú	IS_32BITS)ÚLoweringError)r   é@   é   c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z2
    Multiply *val* by the constant *factor*.
    )Úmulr   ÚTIMEDELTA64©ÚbuilderÚvalÚfactors      úDC:\Projects\Historical\venv\Lib\site-packages\numba/np/npdatetime.pyÚscale_by_constantr      s"   € ð �;Š;�s�H¥[°&Ñ9Ô9Ñ:Ô:Ð:ó    c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z0
    Divide *val* by the constant *factor*.
    )Úsdivr   r   r   s      r   Úunscale_by_constantr   #   s"   € ð �<Š<˜�X¥k°6Ñ:Ô:Ñ;Ô;Ð;r   c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z(
    Add constant *const* to *val*.
    )Úaddr   r   )r   r   Úconsts      r   Úadd_constantr#   *   s"   € ð �;Š;�s�H¥[°%Ñ8Ô8Ñ9Ô9Ð9r   c                 ó¨   — t          j        |j        |j        ¦  «        }|€!d|j        › d|j        › �}t          |¦  «        ‚t	          |||¦  «        S )zo
    Scale the timedelta64 *val* from *srcty* to *destty*
    (both numba.npy_types.NPTimedelta instances)
    Nz cannot convert timedelta64 from ú to )r   Úget_timedelta_conversion_factorÚunitr   r   )Úcontextr   r   ÚsrctyÚdesttyr   Úmsgs          r   Úscale_timedeltar,   1   s]   € õ
  Ô?ØŒ
�F”Kñ!ô !€Fà€~àN°´ÐNÐNÀÄÐNÐNˆÝ˜CÑ Ô Ð Ý˜W c¨6Ñ2Ô2Ð2r   c                 óü   — t          j        |j        |j        ¦  «        }|�t          |||¦  «        |fS t          j        |j        |j        ¦  «        }|�|t          |||¦  «        fS t	          d|›d|›�¦  «        ‚)ze
    Scale either *left* or *right* to the other's unit, in order to have
    homogeneous units.
    Nzcannot normalize z and )r   r&   r'   r   ÚRuntimeError)r(   r   ÚleftÚrightÚlefttyÚrighttyr   s          r   Únormalize_timedeltasr3   ?   s�   € õ
  Ô?ØŒ�W”\ñ#ô #€FàÐÝ  ¨$°Ñ7Ô7¸Ð>Ð>ÝÔ?ØŒ�f”kñ#ô #€FàÐØÕ& w°°vÑ>Ô>Ð>Ð>å
ˆ,°v°v°v¸w¸wÐGÑ
HÔ
HÐHr   Úretc                 ót   — t          j        | t          |¬¦  «        }|                      t          |¦  «         |S )zM
    Allocate a NaT-initialized datetime64 (or timedelta64) result slot.
    ©Úname)r   Úalloca_oncer   ÚstoreÚNAT©r   r7   r4   s      r   Úalloc_timedelta_resultr<   P   s4   € õ Ô
˜g¥{¸Ð
>Ñ
>Ô
>€CØ‡M‚M•#�sÑÔÐØ€Jr   c                 ón   — t          j        | t          j                             d¦  «        |¬¦  «        }|S )z8
    Allocate an uninitialized boolean result slot.
    é   r6   )r   r8   ÚllvmliteÚirÚIntTyper;   s      r   Úalloc_boolean_resultrB   Y   s0   € õ Ô
˜g¥x¤{×':Ò':¸1Ñ'=Ô'=ÀDÐ
IÑ
IÔ
I€CØ€Jr   c                 ó:   — |                       d|t          ¦  «        S )z?
    Return a predicate which is true if *val* is not NaT.
    ú!=)Úicmp_unsignedr:   )r   r   s     r   Ú
is_not_natrF   a   s   € ð × Ò   s­CÑ0Ô0Ð0r   c                 ó¾   — t          |¦  «        dk    sJ ‚t          | |d         ¦  «        }|dd…         D ]&}|                      |t          | |¦  «        ¦  «        }Œ'|S )zH
    Return a predicate which is true if all of *vals* are not NaT.
    r>   r   N)ÚlenrF   Úand_)r   ÚvalsÚpredr   s       r   Úare_not_natrL   h   se   € õ ˆt‰9Œ9˜Š>ˆ>ˆ>ˆ>Ý�g˜t AœwÑ'Ô'€DØ�A�B�BŒxð <ð <ˆØ�|Š|˜D¥*¨W°cÑ":Ô":Ñ;Ô;ˆˆØ€Kr   )é   é   rM   é   rM   rO   rM   rM   rO   rM   rO   rM   )rM   é   rM   rO   rM   rO   rM   rM   rO   rM   rO   rM   )r   rM   é;   éZ   éx   é—   éµ   éÔ   éó   i  i0  iN  )r   rM   é<   é[   éy   é˜   é¶   éÕ   éô   i  i1  iO  c                 óZ   — t          |                     t          j        ¦  «        ¦  «        S ©N)Ú
DATETIME64ÚastypeÚnpÚint64)r(   r   ÚtyÚpyvals       r   Údatetime_constantrg   �   s    € õ �e—l’l¥2¤8Ñ,Ô,Ñ-Ô-Ð-r   c                 ó@   — |d         }t          | ||j        |¦  «        S ©Nr   )r	   Úreturn_type©r(   r   ÚsigÚargsÚress        r   Útimedelta_pos_implro   ‰   s!   € à
ˆqŒ'€CÝ˜g w°´ÀÑEÔEÐEr   c                 óf   — |                      |d         ¦  «        }t          | ||j        |¦  «        S ri   )Únegr	   rj   rk   s        r   Útimedelta_neg_implrr   �   s-   € à
�+Š+�d˜1”gÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEr   c                 óì  — |\  }t          |¦  «        }|                     t          j        ||¦  «        ¦  «        5 \  }}|5  |                     |                     |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S r`   )	r<   Úif_elser   Úis_scalar_negr9   rq   Úloadr	   rj   )	r(   r   rl   rm   r   r4   ÚthenÚ	otherwisern   s	            r   Útimedelta_abs_implry   •   sŸ  € à�D€CÝ
  Ñ
)Ô
)€CØ	�Š�Ô.¨w¸Ñ<Ô<Ñ	=Ô	=ð $ÑARÀ$È	Øð 	1ð 	1Ø�MŠM˜'Ÿ+š+ cÑ*Ô*¨CÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1àð 	$ð 	$Ø�MŠM˜#˜sÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEsY   ¼B?Á*A8Á,B?Á8A<	Á<B?Á?A<	Â B?ÂB(ÂB?Â(B,	Â,B?Â/B,	Â0B?Â?CÃCc           
      ó¬  — |\  }t          |¦  «        }t          t          d¦  «        }|                     |                     d||¦  «        ¦  «        5 \  }}|5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   |5  |                     |                     d||¦  «        ¦  «        5 \  }	}
|	5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   |
5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                     |¦  «        }|j        t          j
        k    r|                     ||                      |j        ¦  «        ¦  «        }|                     |                     d|t          ¦  «        t          |j        t!          d¦  «        ¦  «        |¦  «        }t#          | ||j        |¦  «        S )z
    np.sign(timedelta64)
    r   ú>r>   Nú==éÿÿÿÿÚnan)r<   r   r   rt   Úicmp_signedr9   rE   rv   rj   r   Úfloat64ÚsitofpÚget_value_typeÚselectr:   ÚtypeÚfloatr	   )r(   r   rl   rm   r   r4   ÚzeroÚgt_zeroÚle_zeroÚeq_zeroÚlt_zerorn   s               r   Útimedelta_sign_implr‹   ¢   s×  € ð �D€CÝ
  Ñ
)Ô
)€CÝ•K Ñ#Ô#€DØ	�Š˜×,Ò,¨S°#°tÑ<Ô<ñ 
ô 
ð 
BÙ0˜w¨Øð 	9ð 	9Ø�MŠM�(¥;°Ñ2Ô2°CÑ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9àð 	Bð 	BØ—’ ×!6Ò!6°t¸SÀ$Ñ!GÔ!Gñ #ô #ð BÙ&8 w°Øð Að AØ—M’M¥(­;¸Ñ":Ô":¸CÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aàð Bð BØ—M’M¥(­;¸Ñ";Ô";¸SÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð	Bð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð	
Bð 
Bð 
Bñ 
Bô 
Bð 
Bð 
Bð 
Bð 
Bð 
Bð 
Bøøøð 
Bð 
Bð 
Bð 
Bð �,Š,�sÑ
Ô
€CØ
„�%œ-Ò'Ð'Ø�nŠn˜S '×"8Ò"8¸¼Ñ"IÔ"IÑJÔJˆØ�nŠn˜W×2Ò2°4¸½cÑBÔBÅHÈSÌXÕW\Ð]bÑWcÔWcÑDdÔDdÐfiÑjÔjˆÝ˜g w°´ÀÑEÔEÐEsÆ   ÁFÁ*BÂFÂB	ÂFÂB	ÂFÂ+E4ÃEÃ*D	Ã7EÄDÄEÄ
DÄEÄ*E	Ä:EÅE
Å
EÅE
ÅEÅE4ÅE!Å!E4Å$E!Å%E4Å(FÅ4E8	Å8FÅ;E8	Å<FÆFÆFc                 óÄ  — |\  }}|j         \  }}t          |¦  «        }t          j        |t	          |||g¦  «        ¦  «        5  t          | ||||j        ¦  «        }t          | ||||j        ¦  «        }|                     |                     ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }	t          | ||j        |	¦  «        S r`   )rm   r<   r   Ú	if_likelyrL   r,   rj   r9   r!   rv   r	   ©
r(   r   rl   rm   ÚvaÚvbÚtaÚtbr4   rn   s
             r   Útimedelta_add_implr“   »   ó  € ð �H€RˆØŒx�H€RˆÝ
  Ñ
)Ô
)€CÝ	Ô	˜7¥K°¸"¸b¸Ñ$BÔ$BÑ	CÔ	Cð 0ð 0Ý˜W g¨r°2°s´ÑGÔGˆÝ˜W g¨r°2°s´ÑGÔGˆØ�Š�g—k’k " bÑ)Ô)¨3Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEó   ÁAB+Â+B/Â2B/c                 óÄ  — |\  }}|j         \  }}t          |¦  «        }t          j        |t	          |||g¦  «        ¦  «        5  t          | ||||j        ¦  «        }t          | ||||j        ¦  «        }|                     |                     ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }	t          | ||j        |	¦  «        S r`   )rm   r<   r   r�   rL   r,   rj   r9   Úsubrv   r	   rŽ   s
             r   Útimedelta_sub_implr˜   É   r”   r•   c                 óø  — t          |¦  «        }t          j        |t          ||¦  «        ¦  «        5  t	          |t
          j        ¦  «        rC|                     ||j        ¦  «        }| 	                    ||¦  «        }t          | ||¦  «        }n|                     ||¦  «        }t          | ||||¦  «        }|                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        S r`   )r<   r   r�   rF   Ú
isinstancer   ÚFloatr�   r„   ÚfmulÚ_cast_to_timedeltar   r,   r9   rv   )	r(   r   Útd_argÚtd_typeÚ
number_argÚnumber_typerj   r4   r   s	            r   Ú_timedelta_times_numberr¢   ×   s"  € å
  Ñ
)Ô
)€CÝ	Ô	˜7¥J¨w¸Ñ$?Ô$?Ñ	@Ô	@ð 
 ð 
 Ý�k¥5¤;Ñ/Ô/ð 	2Ø—.’. ¨¬Ñ9Ô9ˆCØ—,’,˜s JÑ/Ô/ˆCÝ$ W¨g°sÑ;Ô;ˆCˆCà—+’+˜f jÑ1Ô1ˆCõ ˜g w°°W¸kÑJÔJˆØ�Š�c˜3ÑÔÐð
 ð 
 ð 
 ñ 
 ô 
 ð 
 ð 
 ð 
 ð 
 ð 
 ð 
 øøøð 
 ð 
 ð 
 ð 
 ð �<Š<˜ÑÔÐs   ³BCÃC Ã#C c           	      ó¨   — t          | ||d         |j        d         |d         |j        d         |j        ¦  «        }t          | ||j        |¦  «        S )Nr   r>   ©r¢   rm   rj   r	   rk   s        r   Útimedelta_times_numberr¥   è   óQ   € õ
 " '¨7Ø"& q¤'¨3¬8°A¬;¸¸Q¼ÀÄÈ!ÄØ"%¤/ñ3ô 3€Cõ ˜g w°´ÀÑEÔEÐEr   c           	      ó¨   — t          | ||d         |j        d         |d         |j        d         |j        ¦  «        }t          | ||j        |¦  «        S ©Nr>   r   r¤   rk   s        r   Únumber_times_timedeltar©   ó   r¦   r   c           	      óâ  — |\  }}|j         d         }t          |¦  «        }|                     t          ||¦  «        |                     t          j        ||¦  «        ¦  «        ¦  «        }t          j        ||¦  «        5  t          |t          j
        ¦  «        rC|                     ||j        ¦  «        }	|                     |	|¦  «        }	t          | ||	¦  «        }	n|                     ||¦  «        }	t!          | ||	|j         d         |j        ¦  «        }	|                     |	|¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }
t)          | ||j        |
¦  «        S r¨   )rm   r<   rI   rF   Únot_r   Úis_scalar_zero_or_nanr�   rš   r   r›   r�   r„   Úfdivr�   r   r,   rj   r9   rv   r	   )r(   r   rl   rm   rž   r    r¡   r4   Úokr   rn   s              r   Útimedelta_over_numberr¯   þ   sŽ  € ð Ñ€FˆJØ”(˜1”+€KÝ
  Ñ
)Ô
)€CØ	�Š•j ¨&Ñ1Ô1Ø—l’l¥7Ô#@ÀÈ*Ñ#UÔ#UÑVÔVñ
Xô 
X€Bå	Ô	˜7 BÑ	'Ô	'ð  ð  å�k¥5¤;Ñ/Ô/ð 	3Ø—.’. ¨¬Ñ9Ô9ˆCØ—,’,˜s JÑ/Ô/ˆCÝ$ W¨g°sÑ;Ô;ˆCˆCà—,’,˜v zÑ2Ô2ˆCõ ˜g w°Ø!œh qœk¨3¬?ñ<ô <ˆà�Š�c˜3ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÂB-D:Ä:D>ÅD>c           	      ó”  — |\  }}|j         \  }}t          |||g¦  «        }|                      |j        ¦  «        }	t	          j        ||	d¬¦  «        }
|                     t          |	t          d¦  «        ¦  «        |
¦  «         t	          j	        ||¦  «        5  t          | |||||¦  «        \  }}|                     ||	¦  «        }|                     ||	¦  «        }|                     |                     ||¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t          | ||j        |¦  «        S )Nr4   r6   r~   )rm   rL   r‚   rj   r   r8   r9   r   r…   r�   r3   r�   r­   rv   r	   )r(   r   rl   rm   r�   r�   r‘   r’   Únot_nanÚll_ret_typer4   rn   s               r   Útimedelta_over_timedeltar³     so  € ð �H€RˆØŒx�H€RˆÝ˜' B¨ 8Ñ,Ô,€GØ×(Ò(¨¬Ñ9Ô9€KÝ
Ô
˜g {¸Ð
?Ñ
?Ô
?€CØ‡M‚M•(˜;­¨e©¬Ñ5Ô5°sÑ;Ô;Ð;Ý	Ô	˜7 GÑ	,Ô	,ð 1ð 1Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBØ�^Š^˜B Ñ,Ô,ˆØ�^Š^˜B Ñ,Ô,ˆØ�Š�g—l’l 2 rÑ*Ô*¨CÑ0Ô0Ð0ð	1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÂA.DÄDÄDc                 ó  — |\  }}|j         \  }}|                      |j        ¦  «        }t          |||g¦  «        }	t	          j        ||d¬¦  «        }
t          |d¦  «        }t          |d¦  «        }|                     ||
¦  «         t	          j        ||	¦  «        5  t          | |||||¦  «        \  }}| 
                    |                     d||¦  «        ¦  «        }t	          j        ||¦  «        5  |                     d||¦  «        }|                     ||                     d||¦  «        ¦  «        }|                     |¦  «        5 \  }}|5  |                     |¦  «        5 \  }}|5  |                     ||¦  «        }|                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «        }|                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t%          | ||j        |¦  «        S )Nr4   r6   r   r>   r|   ú<)rm   r‚   rj   rL   r   r8   r   r9   r�   r3   r«   r   Úor_rt   r—   r   r!   rv   r	   )r(   r   rl   rm   r�   r�   r‘   r’   r²   r±   r4   r†   ÚoneÚdenom_okÚvanegrq   rw   rx   ÚnegthenÚnegotherwiseÚtopÚdivrn   s                          r   Útimedelta_floor_div_timedeltar¾   /  s×  € à�H€RˆØŒx�H€RˆØ×(Ò(¨¬Ñ9Ô9€KÝ˜' B¨ 8Ñ,Ô,€GÝ
Ô
˜g {¸Ð
?Ñ
?Ô
?€CÝ�K Ñ#Ô#€DÝ
�; Ñ
"Ô
"€CØ‡M‚M�$˜ÑÔÐÝ	Ô	˜7 GÑ	,Ô	,ð ,ð ,Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBà—<’< × 3Ò 3°D¸"¸dÑ CÔ CÑDÔDˆÝÔ˜w¨Ñ1Ô1ð 	,ð 	,à×'Ò'¨¨R°Ñ6Ô6ˆEØ—+’+˜e W×%8Ò%8¸¸bÀ$Ñ%GÔ%GÑHÔHˆCØ—’ Ñ%Ô%ð ,Ñ):¨$°	Øð 	4ð 	4Ø Ÿš¨Ñ/Ô/ð 4Ñ3J°G¸\Ø$ð 4ð 4Ø")§+¢+¨b°#Ñ"6Ô"6˜CØ")§,¢,¨s°BÑ"7Ô"7˜CØ#ŸMšM¨#¨sÑ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð *ð 4ð 4Ø")§+¢+¨b°#Ñ"6Ô"6˜CØ")§,¢,¨s°BÑ"7Ô"7˜CØ#ŸMšM¨#¨sÑ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð ð ,ð ,Ø!Ÿ,š, r¨2Ñ.Ô.�CØ—M’M # sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð		,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð	,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð, �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs  ÂAKÃ5AJ<ÅJ%ÅI	Å)H1Å/AF>Æ2H1Æ>GÇH1ÇGÇH1ÇAHÈH1ÈHÈH1È!HÈ"H1È%I	È1H5È5I	È8H5È9I	È<J%ÉIÉJ%ÉIÉJ%É-J	ÊJ%ÊJÊJ%ÊJÊJ%ÊJ<Ê%J)Ê)J<Ê,J)Ê-J<Ê0KÊ<K 	Ë KËK 	ËKËKËKc           
      óÈ  — |\  }}|j         \  }}t          |||g¦  «        }|                      |j        ¦  «        }	t	          |¦  «        }
|                     t          |
¦  «         t          |	d¦  «        }t          j	        ||¦  «        5  t          | |||||¦  «        \  }}|                     |                     d||¦  «        ¦  «        }t          j	        ||¦  «        5  |                     d||¦  «        }|                     d||¦  «        }|                     ||¦  «        }|                     |                     ||¦  «        |                     d||¦  «        ¦  «        }|                     |¦  «        5 \  }}|5  |                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     |                     ||¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t'          | ||j        |¦  «        S )Nr   r|   r{   )rm   rL   r‚   rj   r<   r9   r:   r   r   r�   r3   r«   r   Úsremr¶   rI   rt   r!   rv   r	   )r(   r   rl   rm   r�   r�   r‘   r’   r±   r²   r4   r†   r¸   ÚvaposÚvbposÚremÚcondrw   rx   rn   s                       r   Útimedelta_mod_timedeltarÅ   R  sw  € ð �H€RˆØŒx�H€RˆÝ˜' B¨ 8Ñ,Ô,€GØ×(Ò(¨¬Ñ9Ô9€KÝ
  Ñ
)Ô
)€CØ‡M‚M•#�sÑÔÐÝ�K Ñ#Ô#€DÝ	Ô	˜7 GÑ	,Ô	,ð =ð =Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBà—<’< × 3Ò 3°D¸"¸dÑ CÔ CÑDÔDˆÝÔ˜w¨Ñ1Ô1ð 	=ð 	=à×'Ò'¨¨R°Ñ6Ô6ˆEØ×'Ò'¨¨R°Ñ6Ô6ˆEØ—,’,˜r 2Ñ&Ô&ˆCØ—;’;˜wŸ|š|¨E°5Ñ9Ô9Ø&×2Ò2°4¸¸dÑCÔCñEô EˆDà—’ Ñ&Ô&ð =Ñ*;¨4°Øð ,ð ,Ø—M’M # sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,àð =ð =Ø—M’M '§+¢+¨c°2Ñ"6Ô"6¸Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð	=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð" �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs¤   ÂAH-Ã"BHÅ;G?ÆF$	ÆG?Æ$F(Æ(G?Æ+F(Æ,G?Æ1+G(	ÇG?Ç(G,Ç,G?Ç/G,Ç0G?Ç3HÇ?HÈHÈHÈHÈ
H-ÈH	ÈH-ÈH	ÈH-È-H1È4H1c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc           
      óâ  •— |\  }}|j         \  }}t          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }	}
|	5  	 t	          | |||||¦  «        \  }}|                     |                     ‰||¦  «        |¦  «         n&# t          $ r |                     ‰|¦  «         Y nw xY wd d d ¦  «         n# 1 swxY w Y   |
5  ‰dk    r!|                     t          j	        |¦  «         n |                     t          j
        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S ©NrD   )rm   rB   rt   rL   r3   r9   rE   r.   r   Útrue_bitÚ	false_bitrv   r	   rj   )r(   r   rl   rm   r�   r�   r‘   r’   r4   rw   rx   Únorm_aÚnorm_brn   Údefault_valueÚll_ops                 €€r   Úimplz/_create_timedelta_comparison_impl.<locals>.implx  sR  ø€ Ø‰ˆˆRØ”8‰ˆˆRÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	:Ñ@QÀÀyØð Uð UðUÝ%9Ø ¨"¨b°"°bñ&:ô &:‘N�F˜Fð —M’M '×"7Ò"7¸¸vÀvÑ"NÔ"NÐPSÑTÔTÐTÐTøõ	 $ð 6ð 6ð 6à—M’M -°Ñ5Ô5Ð5Ð5Ð5ð6øøøð	Uð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð ð :ð :ð ˜D’=�=Ø—M’M¥'Ô"2°CÑ8Ô8Ð8Ð8à—M’M¥'Ô"3°SÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð" �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs   ÁD:ÁCÁBÁ$,CÂ B3Â0CÂ2B3Â3CÂ6D:ÃC	ÃD:Ã	C	Ã
D:ÃAD#ÄD:Ä#D'	Ä'D:Ä*D'	Ä+D:Ä:D>ÅD>© )rÎ   rÍ   rÏ   s   `` r   Ú!_create_timedelta_comparison_implrÑ   w  s/   øø€ ðJð Jð Jð Jð Jð Jð0 €Kr   c                 ó   ‡ — ˆ fd„}|S )Nc           
      óD  •— |\  }}|j         \  }}t          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }	}
|	5  t	          | |||||¦  «        \  }}|                     |                     ‰||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   |
5  |                     t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }t          | ||j        |¦  «        S r`   )rm   rB   rt   rL   r3   r9   r   r   rÊ   rv   r	   rj   )r(   r   rl   rm   r�   r�   r‘   r’   r4   rw   rx   rË   rÌ   rn   rÎ   s                 €r   rÏ   z-_create_timedelta_ordering_impl.<locals>.impl”  sê  ø€ Ø‰ˆˆRØ”8‰ˆˆRÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	6Ñ@QÀÀyØð Oð OÝ!5Ø˜W b¨"¨b°"ñ"6ô "6‘�˜à—’˜g×1Ò1°%¸ÀÑHÔHÈ#ÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð ð 6ð 6à—’�gÔ/°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs[   ÁC+ÁABÂC+ÂB	ÂC+Â!B	Â"C+Â'!CÃC+ÃC	ÃC+ÃC	ÃC+Ã+C/Ã2C/rÐ   ©rÎ   rÏ   s   ` r   Ú_create_timedelta_ordering_implrÕ   “  s(   ø€ ðJð Jð Jð Jð Jð €Kr   r|   rD   rµ   ú<=r{   ú>=c           
      ó  — |                       |t          t          d¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }|                      ||                      ||¦  «        ¦  «        S )z_
    Return a predicate indicating whether *year_val* (offset by 1970) is a
    leap year.
    i²  é   éd   é�  )	r!   r   ra   r   Úis_nullrI   Úis_not_nullrÀ   r¶   )r   Úyear_valÚactual_yearÚmultiple_of_4Únot_multiple_of_100Úmultiple_of_400s         r   Úis_leap_yearrã   º  sà   € ð
 —+’+˜h­µ¸TÑ(BÔ(BÑCÔC€KÝ”OØ�—’˜k­8µJÀÑ+BÔ+BÑCÔCñEô E€Må!Ô-Ø�—’˜k­8µJÀÑ+DÔ+DÑEÔEñGô GÐå”oØ�—’˜k­8µJÀÑ+DÔ+DÑEÔEñGô G€Oà�<Š<˜ØŸšÐ$7¸ÑIÔIñKô Kð Kr   c           
      ó.  — t          j        | t          ¦  «        }t          | |d¦  «        }|                      t          j        | |¦  «        ¦  «        5 \  }}|5  t          | |d¦  «        }|                      |t          | |d¦  «        ¦  «        }t          | |d¦  «        }|  	                    |t          | |d¦  «        ¦  «        }t          | |d¦  «        }	|                      |t          | |	d¦  «        ¦  «        }|  
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   |5  t          | |d	¦  «        }
|                      |t          | |
d¦  «        ¦  «        }t          | |
d
¦  «        }|  	                    |t          | |d¦  «        ¦  «        }|                      |t          | |d¦  «        ¦  «        }|  
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                      |¦  «        S )zg
    Given a year *year_val* (offset to 1970), return the number of days
    since the 1970 epoch.
    im  r>   é   éD   rÚ   i,  rÛ   Néþÿÿÿiäÿÿÿ)r   r8   r   r   rt   Ú
is_neg_intr#   r!   r   r—   r9   rv   )r   rÞ   r4   ÚdaysÚif_negÚif_posÚ	from_1968Úp_daysÚ	from_1900Ú	from_1600Ú	from_1972Ún_daysÚ	from_2000s                r   Úyear_to_daysró   Ê  s×  € õ Ô
˜g¥{Ñ
3Ô
3€Cå˜W h°Ñ4Ô4€Dà	�Š�Ô+¨G°XÑ>Ô>Ñ	?Ô	?ð ''Ù�˜Øð 	'ð 	'õ % W¨h¸Ñ:Ô:ˆIà—[’[ Ý!4°W¸iÈÑ!KÔ!KñMô MˆFõ % W¨i¸Ñ<Ô<ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFõ % W¨i¸Ñ=Ô=ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFà�MŠM˜& #Ñ&Ô&Ð&ð%	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð& ð 	'ð 	'õ
 % W¨h¸Ñ;Ô;ˆIà—[’[ Ý!4°W¸iÈÑ!KÔ!KñMô MˆFõ % W¨i¸Ñ=Ô=ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFð —[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFà�MŠM˜& #Ñ&Ô&Ð&ð%	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð+''ð ''ð ''ñ ''ô ''ð ''ð ''ð ''ð ''ð ''ð ''øøøð ''ð ''ð ''ð ''ðP �<Š<˜ÑÔÐs\   ÁG7ÁB9DÄG7ÄD#	Ä#G7Ä&D#	Ä'G7Ä,B(G ÇG7Ç G$	Ç$G7Ç'G$	Ç(G7Ç7G;Ç>G;c                 ó  — t           j        |         }t           j        |         }|dk     s|dk    r||fS |dk    r|}t          | |¦  «        }�n˜t          j        | dt
          ¦  «        }t          j        | dt          ¦  «        }	t          j        | t          ¦  «        }
t          j	        | |d¦  «        \  }}|  
                    t          | |¦  «        ¦  «        5 \  }}|5  |                      t          j        | |d|d¬¦  «        ¦  «        }|                      ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                      t          j        | |	d|d¬¦  «        ¦  «        }|                      ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          | |¦  «        }|                      ||                      |
¦  «        ¦  «        }|dk    rt          j	        | |d¦  «        \  }}|d	fS |d
fS )Nr   r   Úleap_year_months_accÚnormal_year_months_accé   T)Úinboundsé   ÚWÚD)r   ÚDATETIME_UNITSró   r   Úglobal_constantrõ   rö   r8   r   Údivmod_by_constantrt   rã   rv   Úgepr9   r!   )r   Údt_valÚsrc_unitÚ	dest_unitÚdest_unit_codeÚsrc_unit_coderÞ   Údays_valÚ
leap_arrayÚnormal_arrayré   ÚyearÚmonthrw   rx   ÚaddendÚweeksÚ_s                     r   Úreduce_datetime_for_unitr     sí  € Ý'Ô6°yÔA€NÝ&Ô5°hÔ?€MØ˜ÒÐ˜]¨aÒ/Ð/Ø�xÐÐà˜ÒÐàˆÝ ¨Ñ2Ô2ˆ‰õ Ô,¨WÐ6LÝ-AñCô Cˆ
åÔ.¨wÐ8PÝ/EñGô Gˆõ Ô" 7­KÑ8Ô8ˆõ Ô0°¸&À"ÑEÔE‰ˆˆeð �_Š_�\¨'°4Ñ8Ô8Ñ9Ô9ð 	,Ñ=N¸dÀIØð ,ð ,Ø Ÿš¥g¤k°'¸:Ø23°UÀTð'Kñ 'Kô 'Kñ Lô L�à—’˜f dÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ð ,ð ,Ø Ÿš¥g¤k°'¸<Ø23°UÀTð'Kñ 'Kô 'Kñ Lô L�à—’˜f dÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ   ¨Ñ.Ô.ˆØ—;’;˜x¨¯ª°dÑ);Ô);Ñ<Ô<ˆà˜ÒÐåÔ-¨g°xÀÑCÔC‰ˆˆqØ�cˆzÐà˜ˆ}Ðs\   ÃF#Ã!AD0Ä$F#Ä0D4	Ä4F#Ä7D4	Ä8F#Ä=AFÆ F#ÆF	ÆF#ÆF	ÆF#Æ#F'Æ*F'c                 ó¦   — t          | |||¦  «        \  }}t          j        ||¦  «        }|€t          d|›d|›�¦  «        ‚t	          | ||¦  «        S )zC
    Convert datetime *dt_val* from *src_unit* to *dest_unit*.
    Nzcannot convert datetime64 from r%   )r  r   r&   r   r   )r   r   r  r  Údt_unitÚ	dt_factors         r   Úconvert_datetime_for_arithr  -  ss   € õ
 /Ø�˜ 9ñ.ô .�O€FˆGõ #ÔBÀ7ÈIÑVÔV€IØÐåˆmØ*2¨(¨(°I°Ið?ñ @ô @ð 	@å˜W f¨iÑ8Ô8Ð8r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó–  •— t          |¦  «        }t          j        |t          |||g¦  «        ¦  «        5  t	          ||||¦  «        }t          j        ||¦  «        }t          |||¦  «        } t          |‰
¦  «        ||¦  «        }	| 	                    |	|¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    |¦  «        S r`   )r<   r   r�   rL   r  r   r&   r   Úgetattrr9   rv   )r(   r   Údt_argr  rž   Útd_unitÚret_unitr4   Ú	td_factorÚret_valÚ
ll_op_names             €r   rÏ   z'_datetime_timedelta_arith.<locals>.impl>  s  ø€ å$ WÑ-Ô-ˆÝÔ˜w­°G¸fÀfÐ=MÑ(NÔ(NÑOÔOð 	(ð 	(Ý/°¸Ø07¸ñCô CˆFå*ÔJØ˜ñ#ô #ˆIå& w°¸	ÑBÔBˆFØ2•g˜g zÑ2Ô2°6¸6ÑBÔBˆGØ�MŠM˜' 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð �|Š|˜CÑ Ô Ð s   ¶A)B+Â+B/Â2B/rÐ   )r  rÏ   s   ` r   Ú_datetime_timedelta_arithr  =  s#   ø€ ð!ð !ð !ð !ð !ð €Kr   r!   r—   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S r`   ©rm   Ú_datetime_plus_timedeltar'   rj   r	   ©	r(   r   rl   rm   r  rž   Údt_typerŸ   rn   s	            r   Údatetime_plus_timedeltar!  S  óZ   € ð �N€FˆFØ”xÑ€GˆWÝ
" 7¨GØ#)¨7¬<Ø#)¨7¬<Ø#&¤?Ô#7ñ9ô 9€Cõ ˜g w°´ÀÑEÔEÐEr   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S r`   r  )	r(   r   rl   rm   rž   r  rŸ   r   rn   s	            r   Útimedelta_plus_datetimer$  _  r"  r   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S r`   )rm   Ú_datetime_minus_timedeltar'   rj   r	   r  s	            r   Údatetime_minus_timedeltar'  m  sZ   € ð �N€FˆFØ”xÑ€GˆWÝ
# G¨WØ$*¨G¬LØ$*¨G¬LØ$'¤OÔ$8ñ:ô :€Cõ ˜g w°´ÀÑEÔEÐEr   c                 óä  — |\  }}|j         \  }}|j        }|j        }	|j        j        }
t          |¦  «        }t	          j        |t          |||g¦  «        ¦  «        5  t          ||||
¦  «        }t          |||	|
¦  «        }|                     ||¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    |¦  «        }t          | ||j        |¦  «        S r`   )rm   r'   rj   r<   r   r�   rL   r  r—   r9   rv   r	   )r(   r   rl   rm   r�   r�   r‘   r’   Úunit_aÚunit_br  r4   r  rn   s                 r   Údatetime_minus_datetimer+  {  s'  € à�F€BˆØŒX�F€BˆØŒW€FØŒW€FØŒÔ#€HÝ
  Ñ
)Ô
)€CÝ	Ô	˜7¥K°¸"¸b¸Ñ$BÔ$BÑ	CÔ	Cð $ð $Ý'¨°°V¸XÑFÔFˆÝ'¨°°V¸XÑFÔFˆØ—+’+˜b "Ñ%Ô%ˆØ�Š�g˜sÑ#Ô#Ð#ð	$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÁAB;Â;B?ÃB?c                 ó   ‡ — ˆ fd„}|S )Nc                 óÒ  •— |\  }}|j         \  }}|j        }|j        }	t          j        ||	¦  «        }
t	          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }}|5  t          ||||
¦  «        }t          |||	|
¦  «        }|                     ‰||¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |5  ‰dk    rt          j        }nt          j        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S rÈ   )rm   r'   r   Úget_best_unitrB   rt   rL   r  r   r9   r   rÉ   rÊ   rv   r	   rj   )r(   r   rl   rm   r�   r�   r‘   r’   r)  r*  r  r4   rw   rx   rË   rÌ   r  rn   rÎ   s                     €r   rÏ   z._create_datetime_comparison_impl.<locals>.impl�  s&  ø€ Ø‰ˆˆBØ”‰ˆˆBØ”ˆØ”ˆÝ%Ô3°F¸FÑCÔCˆÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	,Ñ@QÀÀyØð ,ð ,Ý3Ø˜R ¨ñ3ô 3�å3Ø˜R ¨ñ3ô 3�à!×-Ò-¨e°V¸VÑDÔD�Ø—’˜g sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ð ,ð ,Ø˜D’=�=Ý%Ô.�G�Gå%Ô/�GØ—’˜g sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs[   Á(D2Á.ACÃ D2ÃC	ÃD2ÃC	ÃD2Ã6DÄD2ÄD	ÄD2Ä"D	Ä#D2Ä2D6Ä9D6rÐ   rÔ   s   ` r   Ú _create_datetime_comparison_implr/  Ž  s(   ø€ ðJð Jð Jð Jð Jð0 €Kr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S ©Nr×   ©rF   r   rƒ   r	   rj   ©r(   r   rl   rm   Úin1Úin2Úin1_not_natÚin2_not_natÚ
in1_ge_in2rn   ÚNAT_DOMINATESs             €r   Údatetime_max_implz1_gen_datetime_max_impl.<locals>.datetime_max_impl¾  ó©   ø€ ð ‰ˆˆSÝ  ¨#Ñ.Ô.ˆÝ  ¨#Ñ.Ô.ˆØ×(Ò(¨¨s°CÑ8Ô8ˆ
Ø�nŠn˜Z¨¨cÑ2Ô2ˆØð 	 à˜C�ˆCØ�nŠn˜[¨#¨sÑ3Ô3ˆØ�nŠn˜[¨#¨sÑ3Ô3ˆå! '¨7°C´OÀSÑIÔIÐIr   rÐ   )r:  r;  s   ` r   Ú_gen_datetime_max_implr=  ½  ó)   ø€ ðJð Jð Jð Jð Jð Ðr   TFc                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S ©NrÖ   r3  ©r(   r   rl   rm   r5  r6  r7  r8  Ú
in1_le_in2rn   r:  s             €r   Údatetime_min_implz1_gen_datetime_min_impl.<locals>.datetime_min_implÓ  r<  r   rÐ   )r:  rD  s   ` r   Ú_gen_datetime_min_implrE  Ò  r>  r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S r2  r3  r4  s             €r   Útimedelta_max_implz3_gen_timedelta_max_impl.<locals>.timedelta_max_implè  r<  r   rÐ   )r:  rH  s   ` r   Ú_gen_timedelta_max_implrI  ç  ó)   ø€ ðJð Jð Jð Jð Jð Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S rA  r3  rB  s             €r   Útimedelta_min_implz3_gen_timedelta_min_impl.<locals>.timedelta_min_implý  r<  r   rÐ   )r:  rM  s   ` r   Ú_gen_timedelta_min_implrN  ü  rJ  r   c                 óê  — |                      t          ¦  «        }|                     d||¦  «        }|                     |¦  «        5 \  }}|5  |                     t
          |¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     |                     |t          ¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        S )NÚuno)Úallocar   Úfcmp_unorderedrt   r9   r:   Úfptosirv   )r(   r   r   ÚtempÚ
val_is_nanrw   Úelss          r   r�   r�     s»  € Ø�>Š>�+Ñ&Ô&€DØ×'Ò'¨¨s°CÑ8Ô8€JØ	�Š˜Ñ	$Ô	$ð Bñ )Ø�#Øð 	%ð 	%ð �MŠM�#˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð ð 	Bð 	BØ�MŠM˜'Ÿ.š.¨­kÑ:Ô:¸DÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	BðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð �<Š<˜ÑÔÐsZ   ÁCÁA5Á)CÁ5A9	Á9CÁ<A9	Á=CÂ0B>Â2CÂ>C	ÃCÃC	ÃCÃCÃCc                 ó0   — t          j        | |||¦  «        S r`   )r   Únp_datetime_isnat_impl)r(   r   rl   rm   s       r   Ú_np_isnat_implrY    s   € õ Ô*¨7°G¸SÀ$ÑGÔGÐGr   c                 óR   — |j         dk    rd|› d|› d|› d�}t          |¦  «        ‚|S )Nr   zCannot cast r%   z as z is not 64 bits wide.)ÚbitwidthÚ
ValueError)r(   r   ÚfromtyÚtotyr   r+   s         r   Ú_cast_npdatetime_int64r_  %  sB   € ð „}˜ÒÐØN˜VÐNÐN¨ÐNÐN°4ÐNÐNÐNˆÝ˜‰oŒoÐØ€Jr   Ú__hash__c                 ó¢   — t           j        dk    r0t          | t          j        ¦  «        r| j        st          d¦  «        ‚t          rd„ }nd„ }|S )N)r   r   zCan't hash generic timedelta64c                 ó.  — t          j        | ¦  «        } | dk     rt          j        | ¦  «        }nKt          j        | ¦  «        dz  dz	  }t          j        | ¦  «        dz  }t          j        |d|z  z   ¦  «        }|dk    rt          j        d¦  «        }|S )Niÿÿÿl       üÿ é    l   ÿÿ iCB r}   rç   )rc   rd   Úint32)ÚxÚyÚhiÚlos       r   rÏ   z ol_hash_npdatetime.<locals>.impl6  s…   € Ý”˜‘”ˆAØ�9Š}ˆ}Ý”H˜Q‘K”K��å”h˜q‘k”kÐ$6Ñ6¸2Ñ=�Ý”h˜q‘k”kÐ$6Ñ6�Ý”H˜R 7¨b¡.Ñ0Ñ1Ô1�Ø�BŠwˆwÝ”H˜R‘L”L�ØˆHr   c                 ó‚   — t          j        | ¦  «        dk    rt          j        d¦  «        S t          j        | ¦  «        S )Nr}   rç   )rc   rd   )re  s    r   rÏ   z ol_hash_npdatetime.<locals>.implB  s1   € ÝŒx˜‰{Œ{˜bÒ Ð Ý”x ‘|”|Ð#Ý”8˜A‘;”;Ðr   )r   Únumpy_versionrš   Ú	npy_typesÚNPTimedeltar'   r\  r   )re  rÏ   s     r   Úol_hash_npdatetimerm  .  sr   € õ Ô" fÒ,Ð,Ý˜�IÔ1Ñ2Ô2ð -Ø;<¼6ð -åÐ9Ñ:Ô:Ð:åð ð
	ð 
	ð 
	ð 
	ð	ð 	ð 	ð €Kr   )r4   )†Ú__doc__Únumpyrc   ÚoperatorÚllvmlite.irr?   r   Ú
numba.corer   r   Únumba.core.cgutilsr   Únumba.core.imputilsr   r   r	   r
   Únumba.npr   r   r   Únumba.extendingr   Únumba.core.configr   Únumba.core.errorsr   rk  r@   rA   ra   r   r:   rl  ÚTIMEDELTA_BINOP_SIGr   r   r#   r,   r3   r<   rB   rF   rL   Únormal_year_monthsÚleap_year_monthsrö   rõ   Ú
NPDatetimerg   Úposro   rq   rr   Úabsry   r‹   r!   Úiaddr“   r—   Úisubr˜   r¢   r   ÚIntegerÚimulr›   r¥   r©   ÚtruedivÚitruedivÚfloordivÚ	ifloordivr¯   r³   r¾   rÅ   rÑ   rÕ   rÊ   Útimedelta_eq_timedelta_implrÉ   Útimedelta_ne_timedelta_implÚtimedelta_lt_timedelta_implÚtimedelta_le_timedelta_implÚtimedelta_gt_timedelta_implÚtimedelta_ge_timedelta_implÚeqÚneÚltÚleÚgtÚgeÚop_Úfuncrã   ró   r  r  r  r  r&  r!  r$  r'  r+  r/  Údatetime_eq_datetime_implÚdatetime_ne_datetime_implÚdatetime_lt_datetime_implÚdatetime_le_datetime_implÚdatetime_gt_datetime_implÚdatetime_ge_datetime_implÚopr=  Údatetime_maximum_implÚdatetime_fmax_implrE  Údatetime_minimum_implÚdatetime_fmin_implrI  Útimedelta_maximum_implÚtimedelta_fmax_implrN  Útimedelta_minimum_implÚtimedelta_fmin_implr�   ÚisnatrY  r_  rm  Údatetime_minimumÚdatetime_maximumrÐ   r   r   ú<module>r§     s/  ððð ð Ð Ð Ð Ø €€€à Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðAð Að Að Að Að Að Að Að Að Að Að Aà @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð $œ;×.Ò.¨rÑ2Ô2Ð 2€
ˆ[Ø€hˆ{Ð.Ô2Ñ3Ô3€à Ô,Ð.°Ñ2Ð ð;ð ;ð ;ð<ð <ð <ð:ð :ð :ð3ð 3ð 3ðIð Ið Ið"ð ð ð ðð ð ð ð1ð 1ð 1ðð ð ð +Ð*ØØ4Ð4Ð4ñ6ô 6Ð ð )Ð(ØØ4Ð4Ð4ñ6ô 6Ð ð /Ð.ØØ;Ð;Ð;ñ=ô =Ð ð -Ð,ØØ;Ð;Ð;ñ=ô =Ð ð
 €�	Ô$Ñ%Ô%Ø€�	Ô%Ñ&Ô&ð.ð .ñ 'Ô&ñ &Ô%ð.ð €ˆxŒ|˜YÔ2Ñ3Ô3ðFð Fñ 4Ô3ðFð
 €ˆxŒ|˜YÔ2Ñ3Ô3ðFð Fñ 4Ô3ðFð
 €ˆs�IÔ)Ñ*Ô*ð	Fð 	Fñ +Ô*ð	FðFð Fð Fð2 €ˆxŒ|Ð2Ð1Ð2Ð2Ð2Ø€ˆxŒ}Ð3Ð2Ð3Ð3Ð3ð	Fð 	Fñ 4Ô3ñ 3Ô2ð	Fð €ˆxŒ|Ð2Ð1Ð2Ð2Ð2Ø€ˆxŒ}Ð3Ð2Ð3Ð3Ð3ð	Fð 	Fñ 4Ô3ñ 3Ô2ð	Fðð ð ð" €ˆxŒ|˜YÔ2°E´MÑBÔBØ€ˆxŒ}˜iÔ3°U´]ÑCÔCØ€ˆxŒ|˜YÔ2°E´KÑ@Ô@Ø€ˆxŒ}˜iÔ3°U´[ÑAÔAðFð Fñ BÔAñ AÔ@ñ DÔCñ CÔBðFð €ˆxŒ|˜Uœ]¨IÔ,AÑBÔBØ€ˆxŒ}˜eœm¨YÔ-BÑCÔCØ€ˆxŒ|˜Uœ[¨)Ô*?Ñ@Ô@Ø€ˆxŒ}˜eœk¨9Ô+@ÑAÔAðFð Fñ BÔAñ AÔ@ñ DÔCñ CÔBðFð €ˆxÔ Ô!6¸¼ÑFÔFØ€ˆxÔ  )Ô"7¸¼ÑGÔGØ€ˆxÔ  )Ô"7¸¼ÑGÔGØ€ˆxÔ! 9Ô#8¸%¼-ÑHÔHØ€ˆxÔ Ô!6¸¼ÑDÔDØ€ˆxÔ  )Ô"7¸¼ÑEÔEØ€ˆxÔ  )Ô"7¸¼ÑEÔEØ€ˆxÔ! 9Ô#8¸%¼+ÑFÔFðFð Fñ GÔFñ FÔEñ FÔEñ EÔDñ IÔHñ HÔGñ HÔGñ GÔFðFð. €ˆxÔÐ6Ð"5Ð6Ð6Ð6Ø€ˆxÔ Ð7Ð#6Ð7Ð7Ð7ðFð Fñ 8Ô7ñ 7Ô6ðFð  €ˆxÔ Ð7Ð#6Ð7Ð7Ð7ð Fð  Fñ 8Ô7ð FðD Fð  Fð  FðJð ð ð8ð ð ð& @Ð?Øˆ'Ô
ñô Ð à?Ð?Øˆ'Ô
ñô Ð à=Ð=¸cÑBÔBÐ Ø=Ð=¸dÑCÔCÐ Ø=Ð=¸cÑBÔBÐ Ø=Ð=¸dÑCÔCÐ à”;Ð ;Ð<Ø”;Ð ;Ð<Ø”;Ð!<Ð=Ø”;Ð ;Ð<Ø”;Ð!<Ð=Ø”;Ð ;Ð<ð>ð 3ð 3�I€Cˆð -€M€M�#Ð,Ð+Ð,Ð,Ð,¨TÑ2Ô2Ð2Ð2ð
Kð Kð Kð 3ð 3ð 3ðl*ð *ð *ðZ9ð 9ð 9ð ð ð ð  5Ð4°UÑ;Ô;Ð Ø5Ð5°eÑ<Ô<Ð ð
 €ˆxŒ|˜YÔ1°9Ô3HÑIÔIØ€ˆxŒ}˜iÔ2°IÔ4IÑJÔJðFð Fñ KÔJñ JÔIðFð €ˆxŒ|˜YÔ2°IÔ4HÑIÔIØ€ˆxŒ}˜iÔ3°YÔ5IÑJÔJðFð Fñ KÔJñ JÔIðFð €ˆxŒ|˜YÔ1°9Ô3HÑIÔIØ€ˆxŒ}˜iÔ2°IÔ4IÑJÔJðFð Fñ KÔJñ JÔIðFð €ˆxŒ|˜YÔ1°9Ô3GÑHÔHðFð Fñ IÔHðFð$ð ð ð8 =Ð<¸TÑBÔBÐ Ø<Ð<¸TÑBÔBÐ Ø<Ð<¸SÑAÔAÐ Ø<Ð<¸TÑBÔBÐ Ø<Ð<¸SÑAÔAÐ Ø<Ð<¸TÑBÔBÐ à”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9ð;ð 7ð 7�H€Bˆð 1€M€M�"Ð0˜	Ô,Ð-¨aÑ/Ð0Ð0Ð0°Ñ6Ô6Ð6Ð6ðð ð ð$ /Ð.¨tÑ4Ô4Ð Ø+Ð+¨EÑ2Ô2Ð ðð ð ð$ /Ð.¨tÑ4Ô4Ð Ø+Ð+¨EÑ2Ô2Ð ðð ð ð$ 1Ð0°Ñ6Ô6Ð Ø-Ð-¨eÑ4Ô4Ð ðð ð ð$ 1Ð0°Ñ6Ô6Ð Ø-Ð-¨eÑ4Ô4Ð ðð ð ð €ˆrŒx˜Ô-Ñ.Ô.Ø€ˆrŒx˜Ô.Ñ/Ô/ðHð Hñ 0Ô/ñ /Ô.ðHð €ˆIÔ  %¤-Ñ0Ô0Ø€ˆIÔ! 5¤=Ñ1Ô1ðð ñ 2Ô1ñ 1Ô0ðð €�Ô&¨
Ñ3Ô3Ø€�Ô% zÑ2Ô2ðð ñ 3Ô2ñ 4Ô3ðð2 _€€Ð Ô1°9Ô3GÈÔI]Ñ ^Ô ^Ð_tÑ uÔ uÐ uØ `€€Ð Ô1°9Ô3HÈ)ÔJ_Ñ `Ô `ÐavÑ wÔ wÐ wØ ^€€Ð Ô1°9Ô3GÈÔI]Ñ ^Ô ^Ð_tÑ uÔ uÐ uØ `€€Ð Ô1°9Ô3HÈ)ÔJ_Ñ `Ô `ÐavÑ wÔ wÐ wÐ wÐ wr   