§
    €î§i0  ã                  ó€   — d Z ddlmZ ddlmZmZ ddlmZ erddlmZm	Z	 ddl
mZ ddlmZ  G d„ d	e¦  «        Zd	gZd
S )z+The interface for timezone implementations.é    )Úannotations)ÚABCÚabstractmethod)ÚTYPE_CHECKING)ÚdatetimeÚtzinfo)Úrrule)Úpropc                  óú   — e Zd ZdZeedd„¦   «         ¦   «         Zedd„¦   «         Zedd
„¦   «         Zedd„¦   «         Z	edd„¦   «         Z
edd„¦   «         Zed d„¦   «         Zed!d„¦   «         Zed!d„¦   «         ZdS )"Ú
TZProviderz'Interface for timezone implementations.ÚreturnÚstrc                ó   — dS )zThe name of the implementation.N© ©Úselfs    úV/root/projects/butler/venv/lib/python3.11/site-packages/icalendar/timezone/provider.pyÚnamezTZProvider.name   ó   € € € ó    Údtr   c                ó   — dS )zReturn the datetime in UTC.Nr   )r   r   s     r   Úlocalize_utczTZProvider.localize_utc   r   r   Útzr   c                ó   — dS )z"Localize a datetime to a timezone.Nr   )r   r   r   s      r   ÚlocalizezTZProvider.localize   r   r   ÚtzidÚboolc                ó   — dS )z=Whether the timezone is already cached by the implementation.Nr   )r   r   s     r   Úknows_timezone_idzTZProvider.knows_timezone_id    r   r   r	   Ú
ical_rruleúprop.vRecurÚNonec                ó   — dS )zIMake sure the until value works for rrules generated from the ical_rrule.Nr   )r   r	   r!   s      r   Úfix_rrule_untilzTZProvider.fix_rrule_until$   r   r   r   c                ó   — dS )z.Create a pytz timezone file given information.Nr   )r   r   Útransition_timesÚtransition_infos       r   Úcreate_timezonezTZProvider.create_timezone(   r   r   útzinfo | Nonec                ó   — dS )z;Return a timezone with a name or None if we cannot find it.Nr   )r   r   s     r   ÚtimezonezTZProvider.timezone,   r   r   c                ó   — dS )zWhether we use pytz.Nr   r   s    r   Ú	uses_pytzzTZProvider.uses_pytz0   r   r   c                ó   — dS )zWhether we use zoneinfo.Nr   r   s    r   Úuses_zoneinfozTZProvider.uses_zoneinfo4   r   r   N)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   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r   r   r    r%   r)   r,   r.   r0   r   r   r   r   r      sN  € € € € € Ø1Ð1àØð.ð .ð .ñ „^ñ „Xð.ð ð*ð *ð *ñ „^ð*ð ð1ð 1ð 1ñ „^ð1ð ðLð Lð Lñ „^ðLð ðXð Xð Xñ „^ðXð ð=ð =ð =ñ „^ð=ð ðJð Jð Jñ „^ðJð ð#ð #ð #ñ „^ð#ð ð'ð 'ð 'ñ „^ð'ð 'ð 'r   r   N)r4   Ú
__future__r   Úabcr   r   Útypingr   r   r   Údateutil.rruler	   Ú	icalendarr
   r   Ú__all__r   r   r   ú<module>r<      sÃ   ðØ 1Ð 1à "Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  àð Ø)Ð)Ð)Ð)Ð)Ð)Ð)Ð)à$Ð$Ð$Ð$Ð$Ð$àÐÐÐÐÐð&'ð &'ð &'ð &'ð &'ñ &'ô &'ð &'ðR ˆ.€€€r   