+
    ¾¾j:  ã                  óú   € R 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HtHtHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^RIHt ]'       d   ^ R	I H!t! ^ R
IH"t" ^ RI#H$t$  ! R R]4      t%R.t&R# )zeThis implements the sub-component "AVAILABLE" of "VAVAILABILITY".

This is specified in :rfc:`7953`.
)ÚannotationsN)Údatetime)ÚTYPE_CHECKING)ÚCONCEPTS_TYPE_SETTERÚLINKS_TYPE_SETTERÚRELATED_TO_TYPE_SETTERÚcategories_propertyÚcontacts_propertyÚdescription_propertyÚduration_propertyÚexdates_propertyÚlocation_propertyÚrdates_propertyÚrfc_7953_dtend_propertyÚrfc_7953_dtstart_propertyÚrfc_7953_duration_propertyÚrfc_7953_end_propertyÚrrules_propertyÚsequence_propertyÚsummary_propertyÚuid_property)Úget_example)ÚInvalidCalendar)Ú	Component)ÚSequence)Údate)ÚSelfc                  ó¶   a € ] tR t^,tRtRt]t]t	]
t]t]t]t]t]t]t]t^ RIHt ];tt]t ]!! R 4      t"]#t$]%t&]'R	R V 3R lll4       t(]'R
R R ll4       t)Rt*V ;t+# )Ú	Availablea5  Sub-component of "VAVAILABILITY from :rfc:`7953`.

Description:
    "AVAILABLE" subcomponents are used to indicate periods of free
    time within the time range of the enclosing "VAVAILABILITY"
    component.  "AVAILABLE" subcomponents MAY include recurrence
    properties to specify recurring periods of time, which can be
    overridden using normal iCalendar recurrence behavior (i.e., use
    of the "RECURRENCE-ID" property).

Examples:
    This is a recurring "AVAILABLE" subcomponent:

    .. code-block:: ics

        BEGIN:AVAILABLE
        UID:57DD4AAF-3835-46B5-8A39-B3B253157F01
        SUMMARY:Monday to Friday from 9:00 to 17:00
        DTSTART;TZID=America/Denver:20111023T090000
        DTEND;TZID=America/Denver:20111023T170000
        RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
        LOCATION:Denver
        END:AVAILABLE

    You can get the same example from :meth:`example`:

    .. code-block: pycon

        >>> from icalendar import Available
        >>> a = Available.example()
        >>> str(a.summary)
        'Monday to Friday from 9:00 to 17:00'

Ú	AVAILABLE)ÚRECURRENCE_IDc          &     ód   € V ^8„  d   Qh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/# ) é   Ú
categorieszSequence[str]Úcommentszlist[str] | str | NoneÚconceptsr   ÚcontactsÚcreatedzdate | NoneÚdescriptionz
str | NoneÚendzdatetime | NoneÚlast_modifiedÚlinksr   ÚlocationÚrecurrence_idzdate | datetime | NoneÚrefidsÚ
related_tor   Úsequencez
int | NoneÚstampÚstartÚsummaryÚuidzstr | uuid.UUID | NoneÚreturnr   © )Úformats   "ÚV/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/cal/available.pyÚ__annotate__ÚAvailable.__annotate__e   sß   € ÷ _ñ _ð "ð_ð )ð	_ð
 'ð_ð )ð_ð ð_ð  ð_ð ð_ð #ð_ð !ð_ð ð_ð .ð_ð 'ð_ð +ð_ð  ð!_ð" ð#_ð$ ð%_ð& ð'_ð( $ð)_ð* 
ñ+_ó    c               ó(  <€ \         ST `  Ve   TMV P                  4       VVVV	VVVR7      pVVn        VVn        Ve   TM\
        P                  ! 4       Vn        VVn        VVn	        V
Vn
        VVn        VVn        V P                  '       du   Ve0   \        V\        4      '       d   VP                   f   \#        R4      h\        V\        4      '       d   VP                   f   \#        R4      hVP%                  VV4       VVn        VVn        V# )aù  Create a new Available component with all required properties.

This creates a new Available component in accordance with :rfc:`7953`.

Parameters:
    categories: The :attr:`categories` of the Available component.
    comments: The :attr:`~icalendar.Component.comments` of the Available
        component.
    concepts: The :attr:`~icalendar.Component.concepts` of the Available
        component.
    contacts: The :attr:`contacts` of the Available component.
    created: The :attr:`~icalendar.Component.created` of the Available
        component.
    description: The :attr:`description` of the Available component.
    end: The :attr:`end` of the Available component.
    last_modified: The :attr:`~icalendar.Component.last_modified` of the
        Available component.
    links: The :attr:`~icalendar.Component.links` of the Available component.
    location: The :attr:`location` of the Available component.
    recurrence_id: The :attr:`RECURRENCE_ID` of the Available component.
    refids: :attr:`~icalendar.Component.refids` of the Available component.
    related_to: :attr:`~icalendar.Component.related_to` of the Available
        component.
    sequence: The :attr:`sequence` of the Available component.
    stamp: The :attr:`~icalendar.Component.stamp` of the Available component.
        If None, this is set to the current time.
    start: The :attr:`start` of the Available component.
    summary: The :attr:`summary` of the Available component.
    uid: The :attr:`uid` of the Available component.
        If None, this is set to a new :func:`uuid.uuid4`.

Returns:
    :class:`Available`

Raises:
    ~error.InvalidCalendar: If the content is not valid
        according to :rfc:`7953`.

.. warning:: As time progresses, we will be stricter with the validation.
)r1   r'   r*   r$   r+   r/   r.   r%   z0Available end must be a datetime with a timezonez2Available start must be a datetime with a timezone)ÚsuperÚnewÚ_utc_nowr3   r(   ÚuuidÚuuid4r4   r0   r#   r,   r&   r    Ú_validate_newÚ
isinstancer   Útzinfor   Ú_validate_start_and_endr2   r)   )Úclsr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Ú	availableÚ	__class__s   "&&&&&&&&&&&&&&&&&& €r8   r>   ÚAvailable.newd   s  ø€ ô~  ™'™+Ø Ò,‘%°#·,±,³.ØØ'ØØØ!ØØð &ó 	
ˆ	ð $ˆ	ÔØ +ˆ	ÔØ"š™´D·J²J³Lˆ	ŒØ%ˆ	ÔØ)ˆ	ÔØ%ˆ	ÔØ%ˆ	ÔØ"/ˆ	Ôà××ÐØŠÜ˜s¤H×-Ò-°·±Ò1Cä%ØFóð ô ˜e¤X×.Ò.°%·,±,Ò2FÜ%ØHóð ð ×-Ñ-¨e°SÔ9Øˆ	ŒØˆ	ŒØÐr;   c               ó    € V ^8„  d   QhRRRR/# )r"   ÚnameÚstrr5   r   r6   )r7   s   "r8   r9   r:   Ç   s   € ÷ Oñ O˜3ð O°)ñ Or;   c                óZ   € V P                  \        RV4      4      P                  ^ ,          # )z0Return the calendar example with the given name.Úavailabilities)Ú	from_icalr   rG   )rF   rK   s   &&r8   ÚexampleÚAvailable.exampleÆ   s&   € ð �}‰}œ[Ð)9¸4Ó@ÓA×KÑKÈAÕNÐNr;   r6   )r6   NNNNNNNNNNNNNNNNN)Ú
rfc_7953_1),Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rK   r   r3   r
   r(   r   r0   r   r#   r   r4   r   r,   r	   r&   r   Úexdatesr   Úrdatesr   ÚrrulesÚicalendar.attrr    r   r2   ÚDTSTARTr   ÚDTENDr   ÚDURATIONr   Údurationr   r)   Úclassmethodr>   rP   Ú__static_attributes__Ú__classcell__)rH   s   @r8   r   r   ,   s™   ø† ñ!ðF €Dà€GØ&€KØ €HØ$€JØ
€CØ €HØ €HØ€GØ€FØ€FÝ,à/Ð/€EˆGØ#€EÙ  Ó-€HØ)€HØ
€Cà÷_ñ _ó ð_ðB öOó öOr;   r   )'rW   Ú
__future__r   r@   r   Útypingr   r[   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úicalendar.cal.examplesr   Úicalendar.errorr   Ú	componentr   Úcollections.abcr   r   Úicalendar.compatibilityr   r   Ú__all__r6   r;   r8   Ú<module>rk      sb   ðñõ
 #ã Ý Ý  ÷÷ ÷ ÷ ÷ õ( /Ý +å  çÝ(Ýå,ô]O�	ô ]Oð@ ˆ-‚r;   