+
    NV-jmH  ã                  óÄ  € ^ RI Ht ^ RIHt ^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHt ^ RIHtHtHtHtHt ^ RIHt ^ R	IHtHt ^ R
IHtHtHt ^ RIHt ^ RI H!t!H"t" ^ RI#H$t$ ^ RI%H&t&H't'H(t( ^ RI)H*t*H+t+ ^ RI,H-t- ]'       d   ^ RI.H/t/ ^ RI0H1t1H2t2H3t3 ^ RI4H5t5 . R3Ot6]6 F  t7] F  t8]7 R]8 2t9]]7,          ]]9&   K  	  K!  	  R4 F  t7] F  t8]7 R]8 2t:]:]]:&   K  	  K  	  ] F  t;R]; 2]R]; 2&   K  	  R R lt<]"! R4      R R l4       t= ! R R4      t> ! R R]>4      t?R R  lt@R! R" ltAR# R$ ltBR% R& ltCR' R( ltDR) R* ltER+ R, ltFR- R. ltGR/ R0 ltHR1 R2 ltI. R5OtJR# )6é    )Úannotations)ÚTYPE_CHECKINGN)Úlib)Úunique_deltas)Ú	TimestampÚget_unit_from_dtypeÚperiods_per_dayÚtz_convert_from_utc)ÚDAYSÚMONTH_ALIASESÚMONTH_NUMBERSÚMONTHSÚint_to_weekday)ÚOFFSET_TO_PERIOD_FREQSTR)Úbuild_field_sarrayÚmonth_position_check)Ú
DateOffsetÚDayÚ	to_offset)Úget_rule_month)Úcache_readonlyÚ
set_module)Úis_numeric_dtype)Ú
ArrowDtypeÚDatetimeTZDtypeÚPeriodDtype)ÚABCIndexÚ	ABCSeries)Úunique)Únpt)ÚDatetimeIndexÚSeriesÚTimedeltaIndex)ÚDatetimeLikeArrayMixinÚ-úW-c               ó    € V ^8„  d   QhRRRR/# )é   Ú
offset_strÚstrÚreturnú
str | None© )Úformats   "Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/tseries/frequencies.pyÚ__annotate__r0   O   s   € ÷ :ñ : ð :¨ñ :ó    c                ó0   € \         P                  ! V R4      # )z,
Alias to closest period strings BQ->Q etc.
N)r   Úget)r)   s   &r/   Úget_period_aliasr4   O   s   € ô $×'Ò'¨
°DÓ9Ð9r1   Úpandasc               ó    € V ^8„  d   QhRRRR/# )r(   Úindexz@DatetimeIndex | TimedeltaIndex | Series | DatetimeLikeArrayMixinr+   r,   r-   )r.   s   "r/   r0   r0   [   s    € ÷ Vñ VØKðVàñVr1   c                óâ  € ^ RI Hp \        V \        4      '       dì   V P                  p\        V P
                  \        4      '       dJ   ^ RIpVP                  P                  VP
                  P                  4      '       d   VP                  4       p\        P                  ! VP
                  R4      '       gN   \        VP
                  \        4      '       g.   VP
                  \        8X  g   \!        RV P
                   24      hTp \#        V R4      '       g   M \        V P
                  \$        4      '       d   \!        R4      h\        P                  ! V P
                  R4      '       d   \'        V 4      pVP)                  4       # \+        V P
                  4      '       d   \!        RV P
                   24      h\        W4      '       g   V! V R	R
7      p \-        V 4      pVP)                  4       # )a0  
Infer the most likely frequency given the input index.

This method attempts to deduce the most probable frequency (e.g., 'D' for daily,
'H' for hourly) from a sequence of datetime-like objects. It is particularly useful
when the frequency of a time series is not explicitly set or known but can be
inferred from its values.

Parameters
----------
index : DatetimeIndex, TimedeltaIndex, Series or array-like
  If passed a Series will use the values of the series (NOT THE INDEX).

Returns
-------
str or None
    None if no discernible frequency.

Raises
------
TypeError
    If the index is not datetime-like.
ValueError
    If there are fewer than three values.

See Also
--------
date_range : Return a fixed frequency DatetimeIndex.
timedelta_range : Return a fixed frequency TimedeltaIndex with day as the default.
period_range : Return a fixed frequency PeriodIndex.
DatetimeIndex.freq : Return the frequency object if it is set, otherwise None.

Examples
--------
>>> idx = pd.date_range(start="2020/12/01", end="2020/12/30", periods=30)
>>> pd.infer_freq(idx)
'D'
)r!   NÚmMz>cannot infer freq from a non-convertible dtype on a Series of ÚdtypezJPeriodIndex given. Check the `freq` attribute instead of using infer_freq.Úmz8cannot infer freq from a non-convertible index of dtype F)Úcopy)Úpandas.core.apir!   Ú
isinstancer   Ú_valuesr:   r   ÚpyarrowÚtypesÚis_timestampÚpyarrow_dtypeÚ_to_datetimearrayr   Úis_np_dtyper   ÚobjectÚ	TypeErrorÚhasattrr   Ú_TimedeltaFrequencyInfererÚget_freqr   Ú_FrequencyInferer)r7   r!   ÚvaluesÚpaÚinferers   &    r/   Ú
infer_freqrO   Z   sy  € õT .ä�%œ×#Ò#Ø—‘ˆä�e—k‘k¤:×.Ò.Û à�x‰x×$Ñ$ V§\¡\×%?Ñ%?×@Ò@à×1Ñ1Ó3�ô �OŠO˜FŸL™L¨$×/Ò/Ü˜&Ÿ,™,¬×8Ò8Ø�|‰|œvÔ%äð"Ø"'§+¡+ ð0óð ð ˆô �5˜'×"Ò"ØÜ	�E—K‘K¤×	-Ò	-ÜØXó
ð 	
ô 
�Š˜Ÿ™ c×	*Ò	*ä,¨UÓ3ˆØ×ÑÓ!Ð!ä	˜%Ÿ+™+×	&Ò	&ÜØFÀuÇ{Á{ÀmÐTó
ð 	
ô �e×+Ò+Ù˜e¨%Ô0ˆä Ó&€GØ×ÑÓÐr1   c                  ón  € ] tR t^´tRtR R lt]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
R R lt]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R lt]R R l4       t]R R l4       tR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR*tR+# ),rK   z0
Not sure if I can avoid the state machine here
c               ó   € V ^8„  d   QhRR/# )r(   r+   ÚNoner-   )r.   s   "r/   r0   Ú_FrequencyInferer.__annotate__¹   s   € ÷ 
ñ 
 ñ 
r1   c                	óP  € Wn         VP                  V n        \        V\        4      '       d0   \        VP                  P                  P                  4      V n	        M$\        VP                  P                  4      V n	        \        VR 4      '       d@   VP                  e2   \        V P                  VP                  V P                  R7      V n        \        V4      ^8  d   \        R4      hV P                   P                  ;'       g    V P                   P                   V n        R# )ÚtzN©Úresoz(Need at least 3 dates to infer frequency)r7   Úasi8Úi8valuesr>   r   r   Ú_dataÚ_ndarrayr:   Ú_cresorH   rU   r
   ÚlenÚ
ValueErrorÚ_is_monotonic_increasingÚ_is_monotonic_decreasingÚis_monotonic)Úselfr7   s   &&r/   Ú__init__Ú_FrequencyInferer.__init__¹   sÔ   € ØŒ
ØŸ
™
ˆŒô �eœX×&Ò&ô .Ø—‘×$Ñ$×*Ñ*óˆD�Kô
 .¨e¯n©n×.BÑ.BÓCˆDŒKô �5˜$×ÒØ�x‰xÒ#Ü 3Ø—M‘M 5§8¡8°$·+±+ô!�”ô ˆu‹:˜Œ>ÜÐGÓHÐHð �J‰J×/Ñ/×VÐV°4·:±:×3VÑ3Vð 	Ör1   c               ó   € V ^8„  d   QhRR/# ©r(   r+   znpt.NDArray[np.int64]r-   )r.   s   "r/   r0   rS   Ù   s   € ÷ ,ñ ,Ð-ñ ,r1   c                	ó,   € \        V P                  4      # ©N)r   rY   ©rb   s   &r/   ÚdeltasÚ_FrequencyInferer.deltasØ   s   € ä˜TŸ]™]Ó+Ð+r1   c               ó   € V ^8„  d   QhRR/# rf   r-   )r.   s   "r/   r0   rS   Ý   s   € ÷ .ñ .Ð2ñ .r1   c                	ó@   € \        V P                  P                  4      # rh   )r   r7   rX   ri   s   &r/   Údeltas_asi8Ú_FrequencyInferer.deltas_asi8Ü   s   € ô ˜TŸZ™ZŸ_™_Ó-Ð-r1   c               ó   € V ^8„  d   QhRR/# ©r(   r+   Úboolr-   )r.   s   "r/   r0   rS   ã   s   € ÷ %ñ %˜4ñ %r1   c                	ó2   € \        V P                  4      ^8H  # ©é   )r]   rj   ri   s   &r/   Ú	is_uniqueÚ_FrequencyInferer.is_uniqueâ   s   € ä�4—;‘;Ó 1Ñ$Ð$r1   c               ó   € V ^8„  d   QhRR/# rq   r-   )r.   s   "r/   r0   rS   ç   s   € ÷ *ñ * ñ *r1   c                	ó2   € \        V P                  4      ^8H  # rt   )r]   rn   ri   s   &r/   Úis_unique_asi8Ú _FrequencyInferer.is_unique_asi8æ   s   € ä�4×#Ñ#Ó$¨Ñ)Ð)r1   c               ó   € V ^8„  d   QhRR/# ©r(   r+   r,   r-   )r.   s   "r/   r0   rS   ê   s   € ÷ 01ñ 01˜*ñ 01r1   c                ón  € V P                   '       d   V P                  P                  '       g   R# V P                  ^ ,          p\	        V P
                  4      pV'       d"   \        W4      '       d   V P                  4       # V P                  ^^.^^A.. RO39   d   R# V P                  '       g   R# V P                  ^ ,          pV^,          pV^<,          pV^<,          p\        W4      '       d   \        RW,          4      # \        W4      '       d   \        RW,          4      # \        W4      '       d   \        RW,          4      # \        WR,          4      '       d   \        RWR,          ,          4      # \        WR,          4      '       d   \        R	WR,          ,          4      # \        R
V4      # )zx
Find the appropriate frequency string to describe the inferred
frequency of self.i8values

Returns
-------
str or None
NÚbhÚhÚminÚsiè  Úmsi@B ÚusÚns)ru   é   éA   )ra   r7   Ú
_is_uniquerj   r	   r\   Ú_is_multipleÚ_infer_daily_ruleÚhour_deltasrz   rn   Ú_maybe_add_count)rb   ÚdeltaÚppdÚpphÚppmÚppss   &     r/   rJ   Ú_FrequencyInferer.get_freqê   s\  € ð × × Ð ¨¯
©
×(=×(=Ð(=Ùà—‘˜A•ˆÜ˜dŸk™kÓ*ˆß”\ %×-Ò-Ø×)Ñ)Ó+Ð+ð ×Ñ  B ¨!¨R¨²+Ð>Ô>Ùð
 ×"×"Ð"Ùà× Ñ  Õ#ˆØ�R�iˆØ�R�iˆØ�R�iˆÜ˜×#Ò#ä# C¨­Ó5Ð5Ü˜%×%Ò%ä# E¨5­;Ó7Ð7Ü˜%×%Ò%ä# C¨­Ó5Ð5Ü˜%¨¥+×/Ò/ä# D¨%¸$µ;Õ*?Ó@Ð@Ü˜%¨Õ"2×4Ò4ä# D¨%¸)Õ3CÕ*DÓEÐEô $ D¨%Ó0Ð0r1   c               ó   € V ^8„  d   QhRR/# ©r(   r+   z	list[int]r-   )r.   s   "r/   r0   rS     s   € ÷ .ñ .˜Iñ .r1   c                	óz   € \        V P                  4      pV P                   Uu. uF  q"V,          NK  	  up# u upi rh   ©r	   r\   rj   )rb   rŽ   Úxs   &  r/   Ú
day_deltasÚ_FrequencyInferer.day_deltas  s0   € ä˜dŸk™kÓ*ˆØ!%§¢Ó-¡˜A�C—�¡Ñ-Ð-ùÒ-s   ¤8c               ó   € V ^8„  d   QhRR/# r”   r-   )r.   s   "r/   r0   rS   "  s   € ÷ .ñ .˜Yñ .r1   c                	óˆ   € \        V P                  4      ^,          pV P                   Uu. uF  q"V,          NK  	  up# u upi )é   r–   )rb   r�   r—   s   &  r/   r‹   Ú_FrequencyInferer.hour_deltas!  s5   € ä˜dŸk™kÓ*¨bÕ0ˆØ!%§¢Ó-¡˜A�C—�¡Ñ-Ð-ùÒ-s   «?c               ó   € V ^8„  d   QhRR/# )r(   r+   z
np.ndarrayr-   )r.   s   "r/   r0   rS   '  s   € ÷ Cñ C˜
ñ Cr1   c                	óD   € \        V P                  V P                  R 7      # )rV   )r   rY   r\   ri   s   &r/   ÚfieldsÚ_FrequencyInferer.fields&  s   € ä! $§-¡-°d·k±kÔBÐBr1   c               ó   € V ^8„  d   QhRR/# )r(   r+   r   r-   )r.   s   "r/   r0   rS   +  s   € ÷ Añ A˜9ñ Ar1   c                	óf   € \        V P                  ^ ,          V P                  P                  R7      # )r   )Úunit)r   rY   r7   r¤   ri   s   &r/   Ú	rep_stampÚ_FrequencyInferer.rep_stamp*  s    € ä˜Ÿ™ qÕ)°·
±
·±Ô@Ð@r1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   .  s   € ÷ Gñ G jñ Gr1   c                	óV   € \        V P                  V P                  P                  4      # rh   )r   r    r7   Ú	dayofweekri   s   &r/   r   Ú&_FrequencyInferer.month_position_check.  s   € Ü# D§K¡K°·±×1EÑ1EÓFÐFr1   c               ó   € V ^8„  d   QhRR/# rf   r-   )r.   s   "r/   r0   rS   2  s   € ÷ 3ñ 3Ð-ñ 3r1   c                	óš   € V P                   R ,          ^,          V P                   R,          ,           p\        VP                  R4      4      # )ÚYÚMÚi8)r    r   Úastype)rb   Únmonthss   & r/   ÚmdiffsÚ_FrequencyInferer.mdiffs1  s7   € à—+‘+˜cÕ" RÕ'¨$¯+©+°cÕ*:Õ:ˆÜ˜WŸ^™^¨DÓ1Ó2Ð2r1   c               ó   € V ^8„  d   QhRR/# rf   r-   )r.   s   "r/   r0   rS   7  s   € ÷ <ñ <Ð-ñ <r1   c                	óX   € \        V P                  R ,          P                  R4      4      # )r­   r¯   )r   r    r°   ri   s   &r/   ÚydiffsÚ_FrequencyInferer.ydiffs6  s!   € ä˜TŸ[™[¨Õ-×4Ñ4°TÓ:Ó;Ð;r1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   :  s   € ÷ ñ  :ñ r1   c                	óÆ  € V P                  4       pV'       dG   V P                  ^ ,          p\        V P                  P                  ,          pV RV 2p\        WB4      # V P                  4       pV'       dc   V P                  ^ ,          ^,          p^ ^^^^^
/p\        WpP                  P                  ^,          ,          ,          pV RV 2p\        WF4      # V P                  4       pV'       d   \        W€P                  ^ ,          4      # V P                  '       d   V P                  4       # V P                  4       '       d   R# V P                  4       p	V	'       d   V	# R# )r   r%   ÚBN)Ú_get_annual_ruler¶   r   r¥   ÚmonthrŒ   Ú_get_quarterly_ruler²   Ú_get_monthly_rulerv   Ú_get_daily_ruleÚ_is_business_dailyÚ_get_wom_rule)
rb   Úannual_ruleÚnyearsr¼   ÚaliasÚquarterly_ruleÚ	nquartersÚmod_dictÚmonthly_ruleÚwom_rules
   &         r/   rŠ   Ú#_FrequencyInferer._infer_daily_rule:  s#  € Ø×+Ñ+Ó-ˆßØ—[‘[ •^ˆFÜ! $§.¡.×"6Ñ"6Õ7ˆEØ"�m 1 U GÐ,ˆEÜ# EÓ2Ð2à×1Ñ1Ó3ˆßØŸ™ A�¨Õ*ˆIØ˜2˜q " a¨Ð,ˆHÜ! (¯>©>×+?Ñ+?À!Õ+CÕ"DÕEˆEØ%Ð& a¨ wÐ/ˆEÜ# EÓ5Ð5à×-Ñ-Ó/ˆßÜ# L·+±+¸aµ.ÓAÐAà�>�>ˆ>Ø×'Ñ'Ó)Ð)à×"Ñ"×$Ò$Ùà×%Ñ%Ó'ˆßØˆOár1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   Z  s   € ÷ 	/ñ 	/ ñ 	/r1   c                	ó  € \        V P                  4      pV P                  ^ ,          V,          pV^,          ^ 8X  d=   \        V P                  P                  4       ,          pRV 2p\        WB^,          4      # \        RV4      # )r   r&   ÚD)r	   r\   rj   r   r¥   ÚweekdayrŒ   )rb   rŽ   ÚdaysÚwdrÄ   s   &    r/   r¿   Ú!_FrequencyInferer._get_daily_ruleZ  sk   € Ü˜dŸk™kÓ*ˆØ�{‰{˜1�~ Õ#ˆØ�!�8�qŒ=ä §¡× 6Ñ 6Ó 8Õ9ˆBØ˜˜�IˆEÜ# E°!­8Ó4Ð4ä# C¨Ó.Ð.r1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   e  s   € ÷ Uñ U *ñ Ur1   c                	óð   € \        V P                  4      ^8”  d   R# \        \        V P                  R,          4      4      ^8”  d   R# V P	                  4       pVf   R# RRRRRRR	R
/P                  V4      # )ru   Nr®   ÚcsÚYSÚbsÚBYSÚceÚYEÚbeÚBYE)r]   r¶   r   r    r   r3   ©rb   Ú	pos_checks   & r/   r»   Ú"_FrequencyInferer._get_annual_rulee  sm   € Üˆt�{‰{Ó˜aÔÙäŒv�d—k‘k #Õ&Ó'Ó(¨1Ô,Ùà×-Ñ-Ó/ˆ	àÒÙà˜$  e¨T°4¸¸uÐE×IÑIÈ)ÓTÐTr1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   s  s   € ÷ Uñ U Zñ Ur1   c                	óÚ   € \        V P                  4      ^8”  d   R# V P                  ^ ,          ^,          ^ 8X  g   R# V P                  4       pVf   R# RRRRRRRR	/P                  V4      # )
ru   NrÔ   ÚQSrÖ   ÚBQSrØ   ÚQErÚ   ÚBQE©r]   r²   r   r3   rÜ   s   & r/   r½   Ú%_FrequencyInferer._get_quarterly_rules  sg   € Üˆt�{‰{Ó˜aÔÙà�{‰{˜1�~ Õ! QÔ&Ùà×-Ñ-Ó/ˆ	àÒÙà˜$  e¨T°4¸¸uÐE×IÑIÈ)ÓTÐTr1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   �  s   € ÷ Uñ U :ñ Ur1   c                	ó˜   € \        V P                  4      ^8”  d   R# V P                  4       pVf   R# RRRRRRRR	/P                  V4      # )
ru   NrÔ   ÚMSrÖ   ÚBMSrØ   ÚMErÚ   ÚBMErå   rÜ   s   & r/   r¾   Ú#_FrequencyInferer._get_monthly_rule�  sO   € Üˆt�{‰{Ó˜aÔÙØ×-Ñ-Ó/ˆ	àÒÙà˜$  e¨T°4¸¸uÐE×IÑIÈ)ÓTÐTr1   c               ó   € V ^8„  d   QhRR/# rq   r-   )r.   s   "r/   r0   rS   ‹  s   € ÷ 
ñ 
 Dñ 
r1   c                	óü  € V P                   ^^.8w  d   R# V P                  ^ ,          P                  4       p\        P                  ! V P
                  4      p\        V P                  4      p\        P                  ! W#4      p\        P                  ! V\        P                  ! V4      ,           ^4      p\        \        P                  ! V^ 8H  V^8H  ,          V^ 8„  V^8*  ,          V^8H  ,          ,          4      4      # )ru   F)r˜   r7   rÎ   ÚnpÚdiffrY   r	   r\   Úfloor_divideÚmodÚcumsumrr   Úall)rb   Úfirst_weekdayÚshiftsrŽ   Úweekdayss   &    r/   rÀ   Ú$_FrequencyInferer._is_business_daily‹  sÁ   € à�?‰?˜q !˜fÔ$Ùð Ÿ
™
 1�×-Ñ-Ó/ˆÜ—’˜Ÿ™Ó'ˆÜ˜dŸk™kÓ*ˆÜ—’ Ó-ˆÜ—6’6˜-¬"¯)ª)°FÓ*;Õ;¸QÓ?ˆäÜ�FŠFØ˜a‘- F¨a¡KÕ0Ø˜q‘L X°¡]Õ3°vÀ±{ÕCõEóó
ð 	
r1   c               ó   € V ^8„  d   QhRR/# r}   r-   )r.   s   "r/   r0   rS   ž  s   € ÷ !ñ !˜zñ !r1   c                	ón  € \        V P                  P                  4      p\        V4      ^8”  d   R# \        V P                  P                  ^,
          ^,          4      pW"^8  ,          p\        V4      ^ 8X  g   \        V4      ^8”  d   R# V^ ,          ^,           p\
        V^ ,          ,          pRV V 2# )ru   NzWOM-)r   r7   rÎ   r]   Údayr   )rb   rø   Úweek_of_monthsÚweekrÐ   s   &    r/   rÁ   Ú_FrequencyInferer._get_wom_rulež  sš   € Ü˜$Ÿ*™*×,Ñ,Ó-ˆÜˆx‹=˜1ÔÙä §¡§¡°!Õ!3¸Õ 9Ó:ˆà'¸Ñ(:Õ;ˆÜˆ~Ó !Ô#¤s¨>Ó':¸QÔ'>Ùð ˜aÕ  1Õ$ˆÜ˜H Q�KÕ(ˆà�d�V˜B˜4Ð Ð r1   )r\   rY   r7   ra   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rc   r   rj   rn   rv   rz   rJ   r˜   r‹   r    r¥   r   r²   r¶   rŠ   r¿   r»   r½   r¾   rÀ   rÁ   Ú__static_attributes__r-   r1   r/   rK   rK   ´   s  † ñõ
ð> ô,ó ð,ð ô.ó ð.ð
 ô%ó ð%ð ô*ó ð*õ01ðd ô.ó ð.ð ô.ó ð.ð ôCó ðCð ôAó ðAõGð ô3ó ð3ð ô<ó ð<õõ@	/õUõUõUõ
÷&!ñ !r1   rK   c                  ó   € ] tR tRtR tRtR# )rI   i°  c                	óJ   € V P                   '       d   V P                  4       # R # rh   )rv   r¿   ri   s   &r/   rŠ   Ú,_TimedeltaFrequencyInferer._infer_daily_rule±  s   € Ø�>�>ˆ>Ø×'Ñ'Ó)Ð)ñ r1   r-   N)r   r  r  r  rŠ   r  r-   r1   r/   rI   rI   °  s   † ö*r1   rI   c               ó    € V ^8„  d   QhRRRR/# )r(   ÚmultÚintr+   rr   r-   )r.   s   "r/   r0   r0   ¶  s   € ÷ ñ ˜3ð  4ñ r1   c                ó   € W,          ^ 8H  # )r   r-   )r„   r
  s   &&r/   r‰   r‰   ¶  s   € Ø�9˜‰>Ðr1   c               ó$   € V ^8„  d   QhRRRRRR/# )r(   Úbaser*   ÚcountÚfloatr+   r-   )r.   s   "r/   r0   r0   º  s!   € ÷ ñ ˜3ð  uð °ñ r1   c                óZ   € V^8w  d$   V\        V4      8X  g   Q h\        V4      pV V  2# V # rt   )r  )r  r  s   &&r/   rŒ   rŒ   º  s8   € Ø�„zØœ˜E›
Ô"Ð"Ð"Ü�E“
ˆØ�˜˜ÐÐàˆr1   c               ó   € V ^8„  d   QhRR/# rq   r-   )r.   s   "r/   r0   r0   Ç  s   € ÷ 4ñ 4 Dñ 4r1   c                ó>  € Ve   V f   R# \        V 4      p \        V4      p\        V4      '       d5   \        V 4      '       d   \        \	        V 4      \	        V4      4      # V R9   # \        V4      '       d   V R9   # \        V4      '       d   V R9   # \        V4      '       d   WRRRRRRRR	R
0
9   # VR8X  d   V R9   # VR8X  d   V R9   # VR8X  d   V R9   # VR8X  d   V R9   # VR8X  d   V R9   # VR8X  d   V R9   # VR8X  d   V R9   # VR	8X  d   V R9   # VR
8X  d   V R9   # R# )zí
Returns True if downsampling is possible between source and target
frequencies

Parameters
----------
source : str or DateOffset
    Frequency converting from
target : str or DateOffset
    Frequency converting to

Returns
-------
bool
FrÍ   ÚCrº   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„   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ƒ   r…   r„   >   r…   r„   >   r…   )Ú_maybe_coerce_freqÚ
_is_annualÚ_is_quarterlyÚ_quarter_months_conformr   Ú_is_monthlyÚ
_is_weekly)ÚsourceÚtargets   &&r/   Úis_subperiodr  Ç  sg  € ð  ‚~˜šÙÜ Ó'€FÜ Ó'€Fä�&×ÒÜ˜× Ò Ü*Ü˜vÓ&¬°vÓ(>óð ð ÐPÑPÐPÜ	�v×	Ò	ØÐPÑPÐPÜ	�V×	Ò	ØÐKÑKÐKÜ	�F×	Ò	Ø # s¨C°°e¸SÀ$ÈÈdÐSÑSÐSØ	�3ŒØÐAÑAÐAØ	�3ŒØÐAÑAÐAØ	�3ŒØÐAÑAÐAØ	�3ŒØÐ<Ñ<Ð<Ø	�5ŒØÐ7Ñ7Ð7Ø	�3ŒØÐ0Ñ0Ð0Ø	�4ŒØÐ+Ñ+Ð+Ø	�4ŒØ˜Ñ%Ð%Ø	�4ŒØ˜ÑÐár1   c               ó   € V ^8„  d   QhRR/# rq   r-   )r.   s   "r/   r0   r0   þ  s   € ÷ 7ñ 7 dñ 7r1   c                ó”  € Ve   V f   R# \        V 4      p \        V4      p\        V 4      '       d`   \        V4      '       d   \        V 4      \        V4      8H  # \        V4      '       d"   \        V 4      p\        V4      p\	        W#4      # VR9   # \        V 4      '       d   VR9   # \        V 4      '       d   VR9   # \        V 4      '       d   WRRRRRRRR	R
0
9   # V R8X  d   VR9   # V R8X  d   VR9   # V R8X  d   VR9   # V R8X  d   VR9   # V R8X  d   VR9   # V R8X  d   VR9   # V R8X  d   VR9   # V R	8X  d   VR9   # V R
8X  d   VR9   # R# )zë
Returns True if upsampling is possible between source and target
frequencies

Parameters
----------
source : str or DateOffset
    Frequency converting from
target : str or DateOffset
    Frequency converting to

Returns
-------
bool
FrÍ   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…   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  ÚsmonthÚtmonths   &&  r/   Úis_superperiodr"  þ  sˆ  € ð  ‚~˜šÙÜ Ó'€FÜ Ó'€Fä�&×ÒÜ�f×ÒÜ! &Ó)¬^¸FÓ-CÑCÐCä˜× Ò Ü# FÓ+ˆFÜ# FÓ+ˆFÜ*¨6Ó:Ð:ØÐPÑPÐPÜ	�v×	Ò	ØÐPÑPÐPÜ	�V×	Ò	ØÐKÑKÐKÜ	�F×	Ò	Ø # s¨C°°e¸SÀ$ÈÈdÐSÑSÐSØ	�3ŒØÐKÑKÐKØ	�3ŒØÐKÑKÐKØ	�3ŒØÐKÑKÐKØ	�3ŒØÐ<Ñ<Ð<Ø	�5ŒØÐ7Ñ7Ð7Ø	�3ŒØÐ0Ñ0Ð0Ø	�4ŒØÐ+Ñ+Ð+Ø	�4ŒØ˜Ñ%Ð%Ø	�4ŒØ˜ÑÐár1   c               ó   € V ^8„  d   QhRR/# )r(   r+   r*   r-   )r.   s   "r/   r0   r0   8  s   € ÷ ñ  ñ r1   c                ó¼   € V f   Q h\        V \        4      '       d)   \        \        V P                  4      4      P
                  p V R9   d   V # V P                  4       # )z¤we might need to coerce a code to a rule_code
and uppercase it

Parameters
----------
source : str or DateOffset
    Frequency converting from

Returns
-------
str
>   r€   r‚   rƒ   r…   r„   r�   )r>   r   r   r   ÚnameÚ_freqstrÚupper)Úcodes   &r/   r  r  8  sP   € ð ÒÐÐÜ�$œ
×#Ò#Üœ9 T§Y¡YÓ/Ó0×9Ñ9ˆØÐ2Ô2Øˆà�z‰z‹|Ðr1   c               ó$   € V ^8„  d   QhRRRRRR/# )r(   r  r*   r  r+   rr   r-   )r.   s   "r/   r0   r0   N  s!   € ÷  ñ   Cð  °ð  ¸ñ  r1   c                ó\   € \         V ,          p\         V,          pV^,          V^,          8H  # )é   )r   )r  r  ÚsnumÚtnums   &&  r/   r  r  N  s)   € Ü˜Õ €DÜ˜Õ €DØ�!�8�t˜a•xÑÐr1   c               ó    € V ^8„  d   QhRRRR/# ©r(   Úruler*   r+   rr   r-   )r.   s   "r/   r0   r0   T  ó   € ÷ 0ñ 0�Sð 0˜Tñ 0r1   c                ó^   € V P                  4       p V R 8H  ;'       g    V P                  R4      # )r­   zY-©r'  Ú
startswith©r0  s   &r/   r  r  T  ó(   € Ø�:‰:‹<€DØ�3‰;×/Ð/˜$Ÿ/™/¨$Ó/Ð/r1   c               ó    € V ^8„  d   QhRRRR/# r/  r-   )r.   s   "r/   r0   r0   Y  s   € ÷ 8ñ 8˜ð 8 ñ 8r1   c                ó^   € V P                  4       p V R 8H  ;'       g    V P                  R4      # )ÚQ)zQ-ÚBQr3  r5  s   &r/   r  r  Y  s(   € Ø�:‰:‹<€DØ�3‰;×7Ð7˜$Ÿ/™/¨,Ó7Ð7r1   c               ó    € V ^8„  d   QhRRRR/# r/  r-   )r.   s   "r/   r0   r0   ^  s   € ÷ ñ �cð ˜dñ r1   c                ó,   € V P                  4       p V R9   # )r®   )r®   ÚBM)r'  r5  s   &r/   r  r  ^  s   € Ø�:‰:‹<€DØ�;ÑÐr1   c               ó    € V ^8„  d   QhRRRR/# r/  r-   )r.   s   "r/   r0   r0   c  r1  r1   c                ó^   € V P                  4       p V R 8H  ;'       g    V P                  R4      # )ÚWr&   r3  r5  s   &r/   r  r  c  r6  r1   )rá   rä   râ   rÕ   rÛ   r×   )r­   r9  )r   r4   rO   r  r"  r   )KÚ
__future__r   Útypingr   Únumpyrð   Úpandas._libsr   Úpandas._libs.algosr   Úpandas._libs.tslibsr   r   r	   r
   Úpandas._libs.tslibs.ccalendarr   r   r   r   r   Úpandas._libs.tslibs.dtypesr   Úpandas._libs.tslibs.fieldsr   r   Úpandas._libs.tslibs.offsetsr   r   r   Úpandas._libs.tslibs.parsingr   Úpandas.util._decoratorsr   r   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   r   r   Úpandas.core.dtypes.genericr   r   Úpandas.core.algorithmsr   Úpandas._typingr    r5   r!   r"   r#   Úpandas.core.arrays.datetimeliker$   Ú_need_suffixÚ_prefixÚ_mÚkeyÚ_aliasÚ_dr4   rO   rK   rI   r‰   rŒ   r  r"  r  r  r  r  r  r  Ú__all__r-   r1   r/   Ú<module>rZ     s{  ðÝ "å  ã å Ý ,÷ó ÷õ õ @÷÷ñ õ
 7÷õ
 7÷ñ ÷
õ
 *çÝ"÷ñ õ
 Gò 8€ã€GÛˆØ�	˜˜2˜$ÐˆØ(@ÀÕ(IÐ  Ó%ó ñ ó
 €GÛˆØ�9˜A˜b˜TÐ"ˆØ+1Ð  Ó(ó ñ ó
 €BØ,.¨r¨d¨)Ð˜r " ˜YÓ'ñ õ:ñ ˆHÓôVó ðV÷ry!ñ y!ôx*Ð!2ô *õõõ4õn7õtõ, õ0õ
8õ
õ
0ò
‚r1   