
    f                         d dl mZmZ eefZdZeeef         Z	dde	defdZ
dde	defdZefdee	eef         defd	Zg d
ZdS )    )AnyUnionutf-8valuereturnc                     t          | t                    r| } nRt          | t                    r=	 |                     |          } n&# t          $ r |                     dd          } Y nw xY w| S )z
    Converts a value to bytes, even if it already is bytes
    :param value: The value to convert
    :param encoding: The encoding to use in the conversion
    :return: The bytes representation of the value
    r   replace)
isinstancebytesstrencodeUnicodeEncodeErrorr   encodings     Z/var/www/dev/btcams2024/python_venv/lib/python3.11/site-packages/icalendar/parser_tools.pyfrom_unicoder      s~     % 5	E3		 5	5LL**EE! 	5 	5 	5LL)44EEE	5Ls   A  A('A(	utf-8-sigc                     t          | t                    r| S t          | t                    r=	 |                     |          } n&# t          $ r |                     dd          } Y nw xY w| S )zIConverts a value to unicode, even if it is already a unicode string.
    r   r	   )r
   r   r   decodeUnicodeDecodeErrorr   s     r   
to_unicoder      s|     % 9	E5	!	! 9	9LL**EE! 	9 	9 	9LLi88EEE	9Ls   A  A'&A'datac           	         t          | t                    r|                     |          S t          | t                    rAt          t	          t
          t          |                                                               S t          | t                    st          | t                    r"t          t	          t
          |                     S | S )zsEncode all datastructures to the given encoding.
    Currently unicode strings, dicts and lists are supported.
    )
r
   r   r   dictmapdata_encodeiteritemslisttuple)r   r   s     r   r   r   &   s    
 $ {{8$$$	D$		 CT$**,,%7%788999	D$		 :dE#:#: CT**+++    )DEFAULT_ENCODINGSEQUENCE_TYPESICAL_TYPEdata_encoder   r   N)r   )r   )typingr   r   r   r    r#   r"   r   r   	ICAL_TYPEr   r   r   r   __all__ r!   r   <module>r)      s            #u*	 	     "
 
i 
# 
 
 
 
 >N  eItT12 RW      r!   