+
    ¾¾jK  ã                   ó*  € R t ^ RIt^ RIHt ^ RIt^ RIHt ^ RIHtH	t	H
t
 ]'       d	   ^ RIHtHt ]P                  P                  RR R .4      t]R	 4       t]R
 4       t]R 4       t]P                  P                  R. RO4      ]P                  P                  RR R R .4      R 4       4       t]P                  P                  RRRR]P*                  .4      R 4       t]P                  P                  R. RO4      t]R 4       t]R 4       tR tR# )zNThis implemensts RFC 6868.

There are only some changes to parameters needed.
N)ÚTYPE_CHECKING)ÚCalendar)ÚdquoteÚrfc_6868_escapeÚrfc_6868_unescape)ÚvCalAddressÚvTextÚ	duplicatec                 ó   € V # ©N© ©Úxs   &Ú\/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/tests/test_rfc_6868.pyÚ<lambda>r      s   € ™Aó    c                 óJ   € \         P                  ! V P                  4       4      # r   )r   Ú	from_icalÚto_ical)Úcals   &r   r   r      s   € ¬8×+=Ò+=¸c¿k¹k»mÔ+Lr   c                ó„   € V! V P                   4      pVP                  ^ ,          R,          pVP                  R8X  g   Q hR# )zCheck the example from the RFC.ÚattendeezGeorge Herman "Babe" RuthN)Úrfc_6868ÚeventsÚname)Ú	calendarsr	   r   r   s   &&  r   Útest_rfc_6868_exampler      s9   € ñ ˜i×0Ñ0Ó1€CØŸJ™J q�M¨*Õ5€HØ�=‰=Ð7Ô7Ð7Ò7r   c                óp   € V! V P                   4      pVR,          P                  R,          pVR8X  g   Q hR# )z.Check that all examples get decoded correctly.úX-PARAMÚALLz^"
N©r   Úparams©r   r	   r   Úparams   &&  r   Útest_all_parametersr$      s4   € ñ ˜i×0Ñ0Ó1€CØ�	�N×!Ñ! %Õ(€EØ�FŒ?ÐŠ?r   c                óp   € V! V P                   4      pVR,          P                  R,          pVR8X  g   Q hR# )z”if a ^ (U+005E) character is followed by any character other than
the ones above, parsers MUST leave both the ^ and the following
character in placer   ÚUNKNOWNz^a^ ^asdNr    r"   s   &&  r   Útest_unknown_characterr'   '   s6   € ñ
 ˜i×0Ñ0Ó1€CØ�	�N×!Ñ! )Õ,€EØ�JÔÐÒr   Úmodifyc                 ó   € V # r   r   r   s   &r   r   r   <   s   € ™r   c                 ó   € V ^
,          # )é
   r   r   s   &r   r   r   <   s   €  a¨"¦fr   c                 ó   € R V  R2# )ÚasdzaaA^AAr   r   s   &r   r   r   <   s   € ¸#¸a¸SÀ¹r   c                óD   € \        V! V 4      4      pW2! V4      8X  g   Q hR# )zCheck unescaping.N)r   )ÚtextÚexpectedr(   Úresults   &&& r   Útest_unescaper2   1   s%   € ô ™v d›|Ó,€FØ�V˜HÓ%Ô%Ð%Ò%r   ÚnewlineÚ
z
Úc                óX   € VP                  \        RV 4       \        R4      V 8X  g   Q hR# )zUnescape the newline.Úlinesepú^nN)ÚsetattrÚosr   )r3   Úmonkeypatchs   &&r   Útest_unescape_newliner<   D   s)   € ð ×Ñœ˜I wÔ/Ü˜TÓ" gÔ-Ð-Ò-r   c                óz   € \        V 4      pW!8X  g   Q V: RV: 24       h\        \        V4      4      V8X  g   Q hR# )z=Check that we can escape the content with special characters.z == N)r   r   )r/   r0   Úescapeds   && r   Útest_escape_rfc_6868r?   W   sC   € ô ˜dÓ#€GØÔÐ> 7¡+¨T°(±Ð >Ó>ÐÜÔ,¨WÓ5Ó6¸(ÔBÐBÒBr   c                 óð   € \        4       pVP                  R R4       VR,          pWP                  R&   VP                  4       P	                  4       p\        V4       R\        V4      ,           V9   g   Q hR# )zX-Paramr-   r   ÚRFC6868zX-PARAM;RFC6868=N)r   Úaddr!   r   ÚdecodeÚprintr   )r/   r0   r   r#   Úicals   &&   r   Útest_escaping_parametersrF   _   s_   € ä
‹*€CØ‡G�GˆI�uÔØ�y•>€EØ"‡L�L�ÑØ�;‰;‹=×ÑÓ!€DÜ	ˆ$„KØ¤ xÓ 0Õ0°DÔ8Ð8Ò8r   c                óÀ   € V P                   p\        P                  ! VP                  4       4      pW8X  g   Q hVP                  4       VP                  4       8X  g   Q hR# )z0The example file should yield its content again.N)r   r   r   r   )r   r   Úagains   &  r   Útest_encode_example_againrI   j   sG   € à×&Ñ&€CÜ×Ò˜sŸ{™{›}Ó-€EØŒ<Ðˆ<Ø�;‰;‹=˜EŸM™M›OÔ+Ð+Ò+r   )r/   r0   ))ú^arJ   )ú^^Ú^)z^'Ú")z^^a^bz^a^b))Ú rN   )rL   rK   )r8   z^^n)zThis text
 has several
 linesz!This text^n has^n several^n lines)zCall me "Harry".zCall me ^'Harry^'.)Ú__doc__r:   Útypingr   ÚpytestÚicalendar.cal.calendarr   Úicalendar.parserr   r   r   Ú	icalendarr   r   ÚmarkÚparametrizeÚparam_duplicater   r$   r'   r2   r7   r<   Úparam_valuesr?   rF   rI   r   r   r   Ú<module>rY      sS  ðñó
 
Ý  ã å +ß GÑ Gçß,ð —+‘+×)Ñ)Ø‘+ÑLÐMó€ð
 ñ8ó ð8ð ñó ðð ñó ðð ‡�×ÑØòó	ð ‡�×ÑØ‰{Ñ,Ñ.GÐHóñ&óó	ð&ð ‡�×Ñ˜ T¨6°4¸¿¹Ð$DÓEñ.ó Fð.ð �{‰{×&Ñ&Øòó	€ð ñCó ðCð ñ9ó ð9ô,r   