Ë
    sPêj÷  ã                   ó>  — d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ej                  dk\  rddlmZ nddlmZ d	d
lmZmZ d	dlmZ d	dlmZ  ed«       G d„ de
«      «       Z G d„ de
«      Z G d„ de
«      Z G d„ de
«      Z ed«       G d„ de«      «       Zy)zY
Set of helper classes for use with ``serializable`` when conducting (de-)serialization.
é    N)ÚAnyÚOptional)ÚUUID)Ú
PackageURL)Ú
BaseHelper)é   é   )Ú
deprecatedé   )Ú!CycloneDxDeserializationExceptionÚ'SerializationOfUnexpectedValueException)ÚBomRef)Ú%_LicenseRepositorySerializationHelperzUse :class:`BomRef` instead.c                   óJ   — e Zd ZdZededee   fd„«       Zedede	fd„«       Z
y)ÚBomRefHelperzn**DEPRECATED** in favour of :class:`BomRef`.

    .. deprecated:: 8.6
       Use :class:`BomRef` instead.
    ÚoÚreturnc                 ó,   — t        j                  |«      S ©N)r   Ú	serialize©Úclsr   s     úe/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/serialization/__init__.pyr   zBomRefHelper.serialize3   s   € ä×Ñ Ó"Ð"ó    c                 ó,   — t        j                  |«      S r   )r   Údeserializer   s     r   r   zBomRefHelper.deserialize7   s   € ä×!Ñ! !Ó$Ð$r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   Ústrr   r   r   © r   r   r   r   )   sO   „ ñð ð#˜#ð # (¨3¡-ò #ó ð#ð ð%˜Cð % Fò %ó ñ%r   r   c                   ó@   — e Zd Zededefd„«       Zededefd„«       Zy)Ú
PackageUrlr   r   c                 óp   — t        |t        «      rt        |j                  «       «      S t	        d|›�«      ‚)Nz'Attempt to serialize a non-PackageURL: )Ú
isinstancer   r"   Ú	to_stringr   r   s     r   r   zPackageUrl.serialize>   s4   € ä�aœÔ$Ü�q—{‘{“}Ó%Ð%Ü5Ø5°a°UÐ;ó=ð 	=r   c                 ó‚   — 	 t        j                  t        |«      ¬«      S # t        $ r}t	        d|›�«      |‚d }~ww xY w)N)Úpurlz%PURL string supplied does not parse: )r   Úfrom_stringr"   Ú
ValueErrorr   ©r   r   Úerrs      r   r   zPackageUrl.deserializeE   sF   € ð	Ü×)Ñ)¬s°1«vÔ6Ð6øÜò 	Ü3Ø7¸°uÐ=óàðûð	ús   ‚! ¡	>ª9¹>N)	r   r   r   r!   r   r"   r   r   r   r#   r   r   r%   r%   <   sD   „ àð=˜#ð = Cò =ó ð=ð ð˜Cð  Jò ó ñr   r%   c                   ó@   — e Zd Zededefd„«       Zededefd„«       Zy)ÚUrnUuidHelperr   r   c                 óV   — t        |t        «      r|j                  S t        d|›�«      ‚)Nz!Attempt to serialize a non-UUID: )r'   r   Úurnr   r   s     r   r   zUrnUuidHelper.serializeQ   s,   € ä�aœÔØ—5‘5ˆLÜ5Ø/°¨uÐ5ó7ð 	7r   c                 ól   — 	 t        t        |«      «      S # t        $ r}t        d|›�«      |‚d }~ww xY w)Nz%UUID string supplied does not parse: )r   r"   r,   r   r-   s      r   r   zUrnUuidHelper.deserializeX   s?   € ð	Üœ˜A›“<ÐøÜò 	Ü3Ø7¸°uÐ=óàðûð	ús   ‚ –	3Ÿ.®3N)	r   r   r   r!   r   r"   r   r   r   r#   r   r   r0   r0   O   sD   „ àð7˜#ð 7 #ò 7ó ð7ð ð˜Cð  Dò ó ñr   r0   c                   óÄ   — e Zd ZdZededee   fd„«       Zededee   fd„«       Z	ededee
   fd„«       Zededee   fd„«       Zededefd„«       Zededefd	„«       Zy
)ÚXmlBoolAttributez‹Helper for serializing boolean values as XML attribute-compatible 'true'/'false' strings,
    while keeping native boolean values for JSON.r   r   c                 óH   — |€y t        |t        «      r|S t        d|›�«      ‚)Nú$Attempt to serialize a non-boolean: ©r'   Úboolr   r   s     r   Újson_serializezXmlBoolAttribute.json_serializef   s0   € àˆ9ØÜ�aœÔØˆHÜ5Ø2°1°%Ð8ó:ð 	:r   c                 óH   — |€y t        |t        «      r|S t        d|›�«      ‚)NúInvalid boolean value: )r'   r9   r   r   s     r   Újson_deserializez!XmlBoolAttribute.json_deserializeo   s0   € àˆ9ØÜ�aœÔØˆHÜ/Ø% a UÐ+ó
ð 	
r   c                 óP   — |€y t        |t        «      r|rdS dS t        d|›�«      ‚)NÚtrueÚfalser7   r8   r   s     r   Úxml_serializezXmlBoolAttribute.xml_serializey   s8   € àˆ9ØÜ�aœÔÙ�6Ð+ GÐ+Ü5Ø2°1°%Ð8ó:ð 	:r   c                 óœ   — |€y t        |t        «      r|S t        |t        «      r|j                  «       }|dv ry|dv ryt	        d|›�«      ‚)N)Ú1r?   T)Ú0r@   Fr<   )r'   r9   r"   Úlowerr   )r   r   Úo_lowers      r   Úxml_deserializez XmlBoolAttribute.xml_deserialize‚   s]   € àˆ9ØÜ�aœÔØˆHÜ�aœÔð —g‘g“iˆGØ˜-Ñ'ØØ˜.Ñ(ØÜ/Ø% a UÐ+ó
ð 	
r   c                 ó$   — | j                  |«      S r   )rA   r   s     r   r   zXmlBoolAttribute.serialize•   s   € à× Ñ  Ó#Ð#r   c                 ó$   — | j                  |«      S r   )rG   r   s     r   r   zXmlBoolAttribute.deserialize™   s   € à×"Ñ" 1Ó%Ð%r   N)r   r   r   r    r!   r   r   r9   r:   r=   r"   rA   rG   r   r   r#   r   r   r5   r5   b   sã   „ ñ5ð ð:˜sð : x°¡~ò :ó ð:ð ð
 ð 
¨°$©ò 
ó ð
ð ð:˜cð : h¨s¡mò :ó ð:ð ð
 ð 
¨°©ò 
ó ð
ð$ ð$˜#ð $ #ò $ó ð$ð ð&˜Cð & Cò &ó ñ&r   r5   z)No public API planned for replacing this,c                   ó   — e Zd ZdZy)ÚLicenseRepositoryHelperz]**DEPRECATED**

    .. deprecated:: 8.6
       No public API planned for replacing this,
    N)r   r   r   r    r#   r   r   rK   rK   ž   s   „ ñð 	r   rK   )r    ÚsysÚtypingr   r   Úuuidr   Ú
packageurlr   Úpy_serializable.helpersr   Úversion_infoÚwarningsr
   Útyping_extensionsÚexception.serializationr   r   Úmodel.bom_refr   Úmodel.licenser   r   r%   r0   r5   rK   r#   r   r   ú<module>rW      s¢   ðñ&ó ß  Ý õ "Ý .à×Ñ�wÒÞ#å,ç pÝ "Ý Añ Ð*Ó+ô%�:ó %ó ,ð%ô$�ô ô&�Jô ô&9&�zô 9&ñx Ð7Ó8ô		ÐCó 		ó 9ñ		r   