ó
    Ñ]j¨K  ã                  ób  • S SK Jr  S SKJrJr  S SKJrJr  S SKrS SK	J
r  S SKJrJrJrJrJrJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJr  S SKJr  S SKJ r   S SK!J"r"J#r#J$r$J%r%  S SK&J's  J(r)  S SK*J's  J+s  J,r-  S SK*J.r.  S SK/J0r0  S SK1J2r2J3r3  S SK4J5r5  \(       a  S SK6J7r7  S SK8J9r9J:r:J;r;  \<" \-Rz                  5      r=\=R}                  SS05        SS0r?S r@\5" SSS/\"R‚                  Q\"SS9\5" S/\"5      \" S5       " S  S!\05      5       5       5       rB\" S5           S#     S$S" jj5       rCg)%é    )Úannotations)ÚdatetimeÚ	timedelta)ÚTYPE_CHECKINGÚSelfN)Úindex)Ú
BaseOffsetÚDayÚNaTÚPeriodÚ
ResolutionÚTick)ÚOFFSET_TO_PERIOD_FREQSTR)Úcache_readonlyÚdocÚ
set_module)Ú
is_integer)ÚPeriodDtype)Ú	ABCSeries)Úis_valid_na_for_dtype)ÚPeriodArrayÚperiod_arrayÚraise_on_incompatibleÚvalidate_dtype_freq)Úmaybe_extract_name)ÚDatetimeIndexOpsMixin)ÚDatetimeIndexÚIndex)Úinherit_names)ÚHashable)ÚDtypeÚDtypeObjÚnptÚtarget_klasszPeriodIndex or list of PeriodsÚklassr   c                óÈ   • UR                  S5      nUR                  S:X  a9  UR                  SS 5      n[        U5      n[        X$S9nU R                  " U40 UD6$ U " U40 UD6$ )NÚdataÚint64Úfreq©Údtype)Úpopr+   r   r   Ú_simple_new)ÚclsÚdÚvaluesr)   r+   s        ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/core/indexes/period.pyÚ_new_PeriodIndexr2   F   sc   € à�U‰U�6‹]€FØ‡|�|�wÓØ�u‰u�V˜TÓ"ˆÜ˜DÓ!ˆÜ˜VÑ1ˆØ�Š˜vÑ+¨Ñ+Ð+á�6Ñ˜QÑÐó    ÚstrftimeÚ
start_timeÚend_timeT)ÚwrapÚis_leap_yearÚpandasc            
      óR  ^ • \ rS rSr% SrSrS\S'   S\S'   S\S	'   \rS
r	\
S(S j5       r\S)S j5       r\" \R                  4SSS.\D6S*S+S jj5       r\" \R"                  5      S,S-S jj5       r\
\" \R$                  R&                  5      S.S j5       5       r\
\" \R(                  R&                  5      S.S j5       5       r\
\" \R*                  R&                  5      S.S j5       5       r     S/       S0S jjr\SSSSSSSSS. S1S jj5       r\SS.S1S jj5       r\
S2S j5       rS3S jrS4S jrS5U 4S jjr\
S6S j5       r\
S7S j5       rU 4S  jr S! r!S8S" jr"S9S# jr#\" \$RJ                  5      S:U 4S$ jj5       r%S;S% jr&\" \$RN                  5      S<S=S& jj5       r'S'r(U =r)$ )>ÚPeriodIndexéR   a%  
Immutable ndarray holding ordinal values indicating regular periods in time.

Index keys are boxed to Period objects which carries the metadata (eg,
frequency information).

Parameters
----------
data : array-like (1d int np.ndarray or PeriodArray), optional
    Optional period-like data to construct index with.
freq : str or period object, optional
    One of pandas period strings or corresponding objects.
dtype : str or PeriodDtype, default None
    A dtype from which to extract a freq.
copy : bool, default None
    Whether to copy input data, only relevant for array, Series, and Index
    inputs (for other input, e.g. a list, a new array is created anyway).
    Defaults to True for array input and False for Index/Series.
    Set to False to avoid copying array input at your own risk (if you
    know the input data won't be modified elsewhere).
    Set to True to force copying Series/Index input up front.
name : str, default None
    Name of the resulting PeriodIndex.

Attributes
----------
day
dayofweek
day_of_week
dayofyear
day_of_year
days_in_month
daysinmonth
end_time
freq
freqstr
hour
is_leap_year
minute
month
quarter
qyear
second
start_time
week
weekday
weekofyear
year

Methods
-------
asfreq
strftime
to_timestamp
from_fields
from_ordinals

Raises
------
ValueError
    Passing the parameter data as a list without specifying either freq or
    dtype will raise a ValueError: "freq not specified and cannot be inferred"

See Also
--------
Index : The base pandas Index type.
Period : Represents a period of time.
DatetimeIndex : Index with datetime64 data.
TimedeltaIndex : Index of timedelta64 data.
period_range : Create a fixed-frequency PeriodIndex.

Examples
--------
>>> idx = pd.PeriodIndex(data=["2000Q1", "2002Q3"], freq="Q")
>>> idx
PeriodIndex(['2000Q1', '2002Q3'], dtype='period[Q-DEC]')
Úperiodindexr   Ú_datar	   r)   r   r+   Tc                ó"   • [         R                  $ ©N)ÚlibindexÚPeriodEngine©Úselfs    r1   Ú_engine_typeÚPeriodIndex._engine_type±   s   € ä×$Ñ$Ð$r3   c                ó.   • U R                   R                  $ r@   )r+   Ú_resolution_objrC   s    r1   rH   ÚPeriodIndex._resolution_objµ   s   € ð �z‰z×)Ñ)Ð)r3   zarrays.PeriodArray)ÚotherÚ
other_nameNc                ó|   • U R                   R                  X5      n[        U 5      R                  X0R                  S9$ ©N©Úname)r>   ÚasfreqÚtyper-   rO   ©rD   r)   ÚhowÚarrs       r1   rP   ÚPeriodIndex.asfreq¾   s4   € ð �j‰j×Ñ Ó*ˆÜ�D‹z×%Ñ% c·	±	Ð%Ð:Ð:r3   c                ót   • U R                   R                  X5      n[        R                  " X0R                  S9$ rM   )r>   Úto_timestampr   r-   rO   rR   s       r1   rW   ÚPeriodIndex.to_timestampÈ   s+   € à�j‰j×%Ñ% dÓ0ˆÜ×(Ò(¨·9±9Ñ=Ð=r3   c                óT   • [        U R                  R                  U R                  SS9$ ©NF©rO   Úcopy)r   r>   ÚhourrO   rC   s    r1   r]   ÚPeriodIndex.hourÍ   s   € ô �T—Z‘Z—_‘_¨4¯9©9¸5ÑAÐAr3   c                óT   • [        U R                  R                  U R                  SS9$ rZ   )r   r>   ÚminuterO   rC   s    r1   r`   ÚPeriodIndex.minuteÒ   ó!   € ô �T—Z‘Z×&Ñ&¨T¯Y©Y¸UÑCÐCr3   c                óT   • [        U R                  R                  U R                  SS9$ rZ   )r   r>   ÚsecondrO   rC   s    r1   rd   ÚPeriodIndex.second×   rb   r3   c                óˆ  • S nU(       d'  [        U[        [        45      (       a  UR                  n[	        XQU 5      n[        X25      nU R                  XU5      u  pU(       a1  [        X5      (       a!  UR                  U:w  a  UR                  U5      n[        XS9nU(       a  UR                  5       nU R                  XUS9$ )N)r'   r)   )rO   Úrefs)Ú
isinstancer   r   Ú_referencesr   r   Ú_maybe_copy_array_inputr)   rP   r   r\   r-   )r.   r'   r)   r+   r\   rO   rg   s          r1   Ú__new__ÚPeriodIndex.__new__ß   s«   € ð ˆÞœ
 4¬%´Ð);×<Ñ<Ø×#Ñ#ˆDä! $¨cÓ2ˆä" 5Ó/ˆð ×0Ñ0°¸UÓC‰
ˆö
 ”J˜t×)Ñ)¨d¯i©i¸4Ó.?ð —;‘;˜tÓ$ˆDô  Ñ1ˆæØ—9‘9“;ˆDà�‰˜t°TˆÐ:Ð:r3   )ÚyearÚquarterÚmonthÚdayr]   r`   rd   r)   c               ó¾   • UUUUUUUS.n	U	R                  5        V
Vs0 s H  u  p«Uc  M
  X«_M     n	n
n[        R                  " X˜S9nU R                  U5      $ s  snn
f )a  
Construct a PeriodIndex from fields (year, month, day, etc.).

Parameters
----------
year : int, array, or Series, default None
    Year for the PeriodIndex.
quarter : int, array, or Series, default None
    Quarter for the PeriodIndex.
month : int, array, or Series, default None
    Month for the PeriodIndex.
day : int, array, or Series, default None
    Day for the PeriodIndex.
hour : int, array, or Series, default None
    Hour for the PeriodIndex.
minute : int, array, or Series, default None
    Minute for the PeriodIndex.
second : int, array, or Series, default None
    Second for the PeriodIndex.
freq : str or period object, optional
    One of pandas period strings or corresponding objects.

Returns
-------
PeriodIndex

See Also
--------
PeriodIndex.from_ordinals : Construct a PeriodIndex from ordinals.
PeriodIndex.to_timestamp : Cast to DatetimeArray/Index.

Examples
--------
>>> idx = pd.PeriodIndex.from_fields(year=[2000, 2002], quarter=[1, 3])
>>> idx
PeriodIndex(['2000Q1', '2002Q3'], dtype='period[Q-DEC]')
)rm   rn   ro   rp   r]   r`   rd   )Úfieldsr)   )Úitemsr   Ú_from_fieldsr-   )r.   rm   rn   ro   rp   r]   r`   rd   r)   rr   ÚkeyÚvaluerT   s                r1   Úfrom_fieldsÚPeriodIndex.from_fields  sj   € ðf ØØØØØØñ
ˆð 06¯|©|¬~ÔSª~¡ À“*�#’*©~ˆÑSÜ×&Ò&¨fÑ@ˆØ�‰˜sÓ#Ð#ùó Ts
   ž	A«ArN   c               ó¤   • [         R                  " U[         R                  S9n[        U5      n[        R
                  " XS9nU R                  XSS9$ )a�  
Construct a PeriodIndex from ordinals.

Parameters
----------
ordinals : array-like of int
    The period offsets from the proleptic Gregorian epoch.
freq : str or period object
    One of pandas period strings or corresponding objects.
name : str, default None
    Name of the resulting PeriodIndex.

Returns
-------
PeriodIndex

See Also
--------
PeriodIndex.from_fields : Construct a PeriodIndex from fields
    (year, month, day, etc.).
PeriodIndex.to_timestamp : Cast to DatetimeArray/Index.

Examples
--------
>>> idx = pd.PeriodIndex.from_ordinals([-1, 0, 1], freq="Q")
>>> idx
PeriodIndex(['1969Q4', '1970Q1', '1970Q2'], dtype='period[Q-DEC]')
r*   rN   )ÚnpÚasarrayr(   r   r   r-   )r.   Úordinalsr)   rO   r+   r'   s         r1   Úfrom_ordinalsÚPeriodIndex.from_ordinalsA  sC   € ô< —:’:˜h¬b¯h©hÑ7ˆÜ˜DÓ!ˆÜ×&Ò& xÑ=ˆØ�‰˜tˆÐ/Ð/r3   c                ó4   • [         R                  " U [        S9$ )Nr*   )rz   r{   ÚobjectrC   s    r1   r0   ÚPeriodIndex.valuesg  s   € ä�zŠz˜$¤fÑ-Ð-r3   c                ó  • [        U[        [        R                  [        [        R
                  45      (       aC  [        U R                  [        [        45      (       a  U R                  R                  U5      nU$ Oy[        U[        5      (       a;  UR                  U R                  R                  :X  a  UR                  $ [        X5      e[        U5      (       a  [        U[        5      (       d   eU$ [        U S5      e)ae  
Convert timedelta-like input to an integer multiple of self.freq

Parameters
----------
other : timedelta, np.timedelta64, DateOffset, int, np.ndarray

Returns
-------
converted : int, np.ndarray[int64]

Raises
------
IncompatibleFrequency : if the input cannot be written as a multiple
    of self.freq.  Note IncompatibleFrequency subclasses ValueError.
N)rh   r   rz   Útimedelta64r   Úndarrayr)   r
   r>   Ú _check_timedeltalike_freq_compatr	   ÚbaseÚnr   r   Úint)rD   rJ   Údeltas      r1   Ú_maybe_convert_timedeltaÚ$PeriodIndex._maybe_convert_timedeltak  s¾   € ô" �eœi¬¯©¼¼r¿z¹zÐJ×KÑKÜ˜$Ÿ)™)¤d¬C [×1Ñ1àŸ
™
×CÑCÀEÓJ�Ø�ð 2ô ˜œz×*Ñ*Ø�z‰z˜TŸY™YŸ^™^Ó+Ø—w‘w�ä'¨Ó4Ð4Ü˜×ÑÜ˜e¤S×)Ñ)Ð)Ð)ØˆLô $ D¨$Ó/Ð/r3   c                ó    • U R                   U:H  $ )z6
Can we compare values of the given dtype to our own?
r*   )rD   r+   s     r1   Ú_is_comparable_dtypeÚ PeriodIndex._is_comparable_dtype�  s   € ð �z‰z˜UÑ"Ð"r3   c                óÌ   >• [        U[        5      (       a   [        UR                  U R                  SS9nO [        U[        5      (       d  [        S5      e[        TU ]  X5      $ )za
where : array of timestamps
mask : np.ndarray[bool]
    Array of booleans where data is not NA.
F)r)   r\   z6asof_locs `where` must be DatetimeIndex or PeriodIndex)rh   r   r;   Ú_valuesr)   Ú	TypeErrorÚsuperÚ	asof_locs)rD   ÚwhereÚmaskÚ	__class__s      €r1   r“   ÚPeriodIndex.asof_locs–  sQ   ø€ ô �eœ]×+Ñ+Ü §¡°D·I±IÀEÑJ‰EÜ˜E¤;×/Ñ/ÜÐTÓUÐUä‰wÑ  Ó-Ð-r3   c                ó¼   • [        U 5      S:X  a  gU R                  (       d  [        S5      eU R                  n[	        USS USS -
  S:  R                  5       5      $ )zq
Returns True if this PeriodIndex is range-like in that all Periods
between start and end are present, in order.
r   TzIndex is not monotonicé   Néÿÿÿÿé   )ÚlenÚis_monotonic_increasingÚ
ValueErrorÚasi8ÚboolÚall)rD   r0   s     r1   Úis_fullÚPeriodIndex.is_full£  sZ   € ô ˆt‹9˜‹>ØØ×+×+ÜÐ5Ó6Ð6Ø—‘ˆÜ�f˜Q˜R�j 6¨#¨2 ;Ñ.°!Ñ3×8Ñ8Ó:Ó;Ð;r3   c                ó   • g)NÚperiod© rC   s    r1   Úinferred_typeÚPeriodIndex.inferred_type°  s   € ð r3   c                ó|   >• [         TU ]  X5      nU R                  UR                  :X  a  U R                  U5      nU$ r@   )r’   Ú_convert_tolerancer+   rŠ   )rD   Ú	toleranceÚtargetr–   s      €r1   rª   ÚPeriodIndex._convert_tolerance¹  s:   ø€ ô
 ‘GÑ.¨yÓAˆ	à�:‰:˜Ÿ™Ó%à×5Ñ5°iÓ@ˆIàÐr3   c                ó   • UnU R                  U5        [        XR                  5      (       a  [        nOÖ[	        U[
        5      (       ah   U R                  U5      u  p4U R                  U5      (       a   U R                  XC5      $ X@R                  :X  a  U R                  U5      nOd[        U5      e[	        U[        5      (       a  U R                  U5        O2[	        U[        5      (       a  U R                  U5      nO[        U5      e [         R"                  " X5      $ ! [         a  n[        SU S35      UeSnAff = f! [         a  n[        U5      UeSnAff = f! [         a  n[        U5      UeSnAff = f)aC  
Get integer location for requested label.

Parameters
----------
key : Period, NaT, str, or datetime
    String or datetime key must be parsable as Period.

Returns
-------
loc : int or ndarray[int64]

Raises
------
KeyError
    Key is not present in the index.
TypeError
    If key is listlike or otherwise not hashable.
zCannot interpret 'z' as periodN)Ú_check_indexing_errorr   r+   r   rh   ÚstrÚ_parse_with_resorž   ÚKeyErrorÚ_can_partial_date_sliceÚ_partial_date_slicerH   Ú_cast_partial_indexing_scalarr   Ú_disallow_mismatched_indexingr   r   Úget_loc)rD   ru   Úorig_keyÚparsedÚresoÚerrs         r1   r·   ÚPeriodIndex.get_locÆ  sa  € ð( ˆà×"Ñ" 3Ô'ä  §j¡j×1Ñ1Ü‰Cä˜œS×!Ñ!ðOØ#×4Ñ4°SÓ9‘�ð
 ×+Ñ+¨D×1Ñ1ð1Ø×3Ñ3°DÓAÐAð ×+Ñ+Ó+ð ×8Ñ8¸Ó@‘ä˜s“mÐ#ä˜œV×$Ñ$Ø×.Ñ.¨sÕ3ä˜œX×&Ñ&Ø×4Ñ4°SÓ9‰Cô ˜3“-Ðð	.Ü—=’= Ó+Ð+øô9 ó OäÐ!3°C°5¸ÐDÓEÈ3ÐNûðOûô  ó 1Ü" 3›-¨SÐ0ûð1ûô, ó 	.Ü˜8Ó$¨#Ð-ûð	.úsH   ÁD" Á5E ÄE" Ä"
EÄ,D<Ä<EÅ
EÅEÅEÅ"
E=Å,E8Å8E=c                óN   • UR                   U R                  :w  a  [        U5      eg r@   )Ú_dtyper+   r²   )rD   ru   s     r1   r¶   Ú)PeriodIndex._disallow_mismatched_indexing  s!   € Ø�:‰:˜Ÿ™Ó#Ü˜3“-Ðð $r3   c                ój   •  [        XR                  S9nU$ ! [         a  n[        U5      UeS nAff = f)N©r)   )r   r)   rž   r²   )rD   Úlabelr¥   r»   s       r1   rµ   Ú)PeriodIndex._cast_partial_indexing_scalar  s:   € ð	+Ü˜E¯	©	Ñ2ˆFð ˆøô ó 	+ä˜5“/ sÐ*ûð	+ús   ‚ —
2¡-­2c                ón   >• [        U[        5      (       a  U R                  U5      n[        TU ]  X5      $ r@   )rh   r   rµ   r’   Ú_maybe_cast_slice_bound)rD   rÂ   Úsider–   s      €r1   rÅ   Ú#PeriodIndex._maybe_cast_slice_bound  s0   ø€ ä�eœX×&Ñ&Ø×6Ñ6°uÓ=ˆEä‰wÑ.¨uÓ;Ð;r3   c                óÒ   • [         R                  " UR                  UR                  5      n[        X#S9nUR	                  U R
                  SS9UR	                  U R
                  SS94$ )NrÁ   Ústart)rS   Úend)r   ÚgetÚattr_abbrevr   rP   r)   )rD   rº   r¹   r)   Úivs        r1   Ú_parsed_string_to_boundsÚ$PeriodIndex._parsed_string_to_bounds  sW   € Ü'×+Ò+¨D×,<Ñ,<¸d×>NÑ>NÓOˆÜ�FÑ&ˆØ—	‘	˜$Ÿ)™)¨�	Ð1°2·9±9¸T¿Y¹YÈE°9Ð3RÐSÐSr3   c                óT   • Ub"  [        S[        U 5      R                   S35      eX-   $ )Nz%`freq` argument is not supported for z.shift)r‘   rQ   Ú__name__)rD   Úperiodsr)   s      r1   ÚshiftÚPeriodIndex.shift  s6   € àÑÜØ7¼¸T»
×8KÑ8KÐ7LÈFÐSóð ð ‰~Ðr3   r¦   )Úreturnztype[libindex.PeriodEngine])rÕ   r   )NÚE)rS   r°   rÕ   r   )NrÉ   )rS   r°   rÕ   r   )rÕ   r   ©NNNNN)r+   zDtype | Noner\   zbool | NonerO   úHashable | NonerÕ   r   )rÕ   r   )rÕ   znpt.NDArray[np.object_])rÕ   zint | npt.NDArray[np.int64])r+   r"   rÕ   r    )r”   r   r•   znpt.NDArray[np.bool_]rÕ   z
np.ndarray)rÕ   r    )rÕ   r°   )ru   r   rÕ   ÚNone)rÂ   r   rÕ   r   )rÆ   r°   )rº   r   r¹   r   )r™   N)rÒ   rˆ   rÕ   r   )*rÑ   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_typÚ__annotations__r   Ú	_data_clsÚ!_supports_partial_string_indexingÚpropertyrE   r   rH   r   rP   Ú_shared_doc_kwargsrW   r]   Úfgetr`   rd   rk   Úclassmethodrw   r}   r0   rŠ   r�   r“   r¢   r§   rª   r·   r¶   rµ   r   rÅ   rÎ   rÓ   Ú__static_attributes__Ú__classcell__)r–   s   @r1   r;   r;   R   sn  ø‡ ñLð\ €DàÓØ
ÓØÓà€IØ(,Ð%àó%ó ð%ð ó*ó ð*ñ 	Ø×Ñðà"Ø ñð ñ	õ;óð;ñ 	ˆ×	!Ñ	!Ó"õ>ó #ð>ð Ùˆ×	Ñ	×	Ñ	ÓóBó  ó ðBð Ùˆ×	Ñ	×	 Ñ	 Ó!óDó "ó ðDð Ùˆ×	Ñ	×	 Ñ	 Ó!óDó "ó ðDð ØØ"Ø Ø $ð!;ð ð	!;ð
 ð!;ð ð!;ð 
õ!;ðF ð ØØØØØØØñ<$ð 
ô<$ó ð<$ð| Ø37ö  0ó ð 0ðJ ó.ó ð.ô 0ôD#÷.ð ó
<ó ð
<ð óó ðõò<.ô| ôñ 	Ð	×	6Ñ	6Ó7ö<ó 8ð<ôTñ
 	Ð	×	$Ñ	$Ó%õó &ör3   r;   c                ó  • [         R                  " XU5      S:w  a  [        S5      eUc,  [        U [        5      (       d  [        U[        5      (       d  Sn[
        R                  " XX#5      u  pS[        U5      n[        XVS9n[        XTSS9$ )a-  
Return a fixed frequency PeriodIndex.

The day (calendar) is the default frequency.

Parameters
----------
start : str, datetime, date, pandas.Timestamp, or period-like, default None
    Left bound for generating periods.
end : str, datetime, date, pandas.Timestamp, or period-like, default None
    Right bound for generating periods.
periods : int, default None
    Number of periods to generate.
freq : str or DateOffset, optional
    Frequency alias. By default the freq is taken from `start` or `end`
    if those are Period objects. Otherwise, the default is ``"D"`` for
    daily frequency.
name : str, default None
    Name of the resulting PeriodIndex.

Returns
-------
PeriodIndex
    A PeriodIndex of fixed frequency periods.

See Also
--------
date_range : Returns a fixed frequency DatetimeIndex.
Period : Represents a period of time.
PeriodIndex : Immutable ndarray holding ordinal values indicating regular periods
    in time.

Notes
-----
Of the three parameters: ``start``, ``end``, and ``periods``, exactly two
must be specified.

To learn more about the frequency strings, please see
:ref:`this link<timeseries.offset_aliases>`.

Examples
--------
>>> pd.period_range(start="2017-01-01", end="2018-01-01", freq="M")
PeriodIndex(['2017-01', '2017-02', '2017-03', '2017-04', '2017-05', '2017-06',
         '2017-07', '2017-08', '2017-09', '2017-10', '2017-11', '2017-12',
         '2018-01'],
        dtype='period[M]')

If ``start`` or ``end`` are ``Period`` objects, they will be used as anchor
endpoints for a ``PeriodIndex`` with frequency matching that of the
``period_range`` constructor.

>>> pd.period_range(
...     start=pd.Period("2017Q1", freq="Q"),
...     end=pd.Period("2017Q2", freq="Q"),
...     freq="M",
... )
PeriodIndex(['2017-03', '2017-04', '2017-05', '2017-06'],
            dtype='period[M]')
r›   zOOf the three parameters: start, end, and periods, exactly two must be specifiedÚDr*   Fr[   )	ÚcomÚcount_not_nonerž   rh   r   r   Ú_generate_ranger   r;   )rÉ   rÊ   rÒ   r)   rO   r'   r+   s          r1   Úperiod_rangerí   %  s…   € ôH ×Ò˜% gÓ.°!Ó3Üð,ó
ð 	
ð �|œZ¨¬v×6Ñ6¼zÈ#Ìv×?VÑ?VØˆä×,Ò,¨U¸ÓG�J€DÜ˜Ó€EÜ�tÑ)€DÜ�t¨UÑ3Ð3r3   r×   )rÒ   z
int | NonerO   rØ   rÕ   r;   )DÚ
__future__r   r   r   Útypingr   r   Únumpyrz   Úpandas._libsr   rA   Úpandas._libs.tslibsr	   r
   r   r   r   r   Úpandas._libs.tslibs.dtypesr   Úpandas.util._decoratorsr   r   r   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   Úpandas.core.dtypes.genericr   Úpandas.core.dtypes.missingr   Úpandas.core.arrays.periodr   r   r   r   Úpandas.core.commonÚcoreÚcommonrê   Úpandas.core.indexes.baseÚindexesr†   Úibaser   Ú pandas.core.indexes.datetimeliker   Úpandas.core.indexes.datetimesr   r   Úpandas.core.indexes.extensionr   Úcollections.abcr    Úpandas._typingr!   r"   r#   ÚdictÚ_index_doc_kwargsÚupdaterã   r2   Ú
_field_opsr;   rí   r¦   r3   r1   Ú<module>r	     s_  ðÝ "÷÷ó
 å *÷÷ õ @÷ñ õ 1Ý 1Ý 0Ý <÷ó ÷ !Ð  ß (Ó (Ý 7Ý B÷õ 8æÝ(÷ñ ñ ˜×0Ñ0Ó1Ð Ø × Ñ ˜.Ð*JÐKÔ Làˆ]ðÐ ò	 ñ Ø�˜zÐC¨K×,BÑ,BÐCØØ	ññ
 �Ð Ó-ÙˆHÓôIÐ'ó Ió ó .óðIñX ˆHÓà
ØØØ	Ø ðN4ð ðN4ð
 ðN4ð ôN4ó ñN4r3   