Ë
    sPêj÷  ã                   óü   — d dl mZmZ d dlmZ d dlmZmZ d dlZ	d dl
mZ ddlmZ ddlmZ d	d
lmZ  G d„ de	j&                  j(                  «      Z e	j,                  d¬«       G d„ d«      «       Z G d„ de«      Zy)é    )ÚABCÚabstractmethod)ÚIterable)ÚAnyÚOptionalN)Ú	SortedSeté   )ÚComparableTuple)Ú'SerializationOfUnexpectedValueExceptioné   )ÚBomRefc                   óP   — e Zd ZdZededee   fd„«       Zedede	d   fd„«       Z
y)Ú(_DependencyRepositorySerializationHelperz   THIS CLASS IS NON-PUBLIC API  ÚoÚreturnc                 óš   — t        |t        t        f«      r#|D �cg c]  }t        |j                  «      ‘Œ c}S t        d|›�«      ‚c c}w )Nz1Attempt to serialize a non-DependencyRepository: )Ú
isinstancer   ÚsetÚstrÚrefr   )Úclsr   Úis      ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/model/dependency.pyÚ	serializez2_DependencyRepositorySerializationHelper.serialize"   sH   € ä�aœ)¤SÐ)Ô*Ø()Ö* 1”C˜Ÿ™•JÒ*Ð*Ü5Ø?À¸uÐEóGð 	Gùò +s   ›AÚ
Dependencyc                 ó’   — t        «       }t        |t        «      r,|D ]'  }|j                  t	        t        |¬«      ¬«      «       Œ) |S )N)Úvalue©r   )r   r   ÚlistÚaddr   r   )r   r   ÚdependenciesÚvs       r   Údeserializez4_DependencyRepositorySerializationHelper.deserialize)   sA   € ä“uˆÜ�aœÔØò B�Ø× Ñ ¤´¸Q´Ô!@ÕAðBàÐó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r   r   r   r#   © r$   r   r   r      sT   „ Ù*àðG˜#ð G $ s¡)ò Gó ðGð ð˜Cð  C¨Ñ$5ò ó ñr$   r   T)Ú%ignore_unknown_during_deserializationc                   ó  — e Zd ZdZddedeed       ddfd„Ze e	j                  e«       e	j                  «       defd„«       «       «       Zej                  deddfd„«       Ze e	j                  d	«       e	j                  e«       e	j                   e	j"                  j$                  d
«      dd„«       «       «       «       Zej                  ded    ddfd„«       Zdee   fd„Zdefd„Zdedefd„Zdedefd„Zdefd„Zdefd„Z y)r   z~
    Models a Dependency within a BOM.

    .. note::
        See https://cyclonedx.org/docs/1.7/xml/#type_dependencyType
    Nr   r!   r   c                 ó(   — || _         |xs g | _        y ©N)r   r!   )Úselfr   r!   s      r   Ú__init__zDependency.__init__;   s   € ØˆŒØ(Ò.¨BˆÕr$   c                 ó   — | j                   S r.   ©Ú_ref©r/   s    r   r   zDependency.ref?   s   € ð �y‰yÐr$   c                 ó   — || _         y r.   r2   )r/   r   s     r   r   zDependency.refE   s	   € àˆ�	r$   Ú	dependsOnÚ
dependencyc                 ó   — | j                   S r.   )Ú_dependenciesr4   s    r   r!   zDependency.dependenciesI   s   € ð
 ×!Ñ!Ð!r$   c                 ó$   — t        |«      | _        y r.   )r   r9   )r/   r!   s     r   r!   zDependency.dependenciesP   s   € ä& |Ó4ˆÕr$   c                 óB   — t        t        d„ | j                  «      «      S )Nc                 ó   — | j                   S r.   r   )Úds    r   ú<lambda>z5Dependency.dependencies_as_bom_refs.<locals>.<lambda>U   s
   €  §¡€ r$   )r   Úmapr!   r4   s    r   Údependencies_as_bom_refsz#Dependency.dependencies_as_bom_refsT   s   € Ü”3‘¨×(9Ñ(9Ó:Ó;Ð;r$   c                 óV   — t        | j                  t        | j                  «      f«      S r.   )Ú_ComparableTupler   r!   r4   s    r   Ú__comparable_tuplezDependency.__comparable_tupleW   s)   € ÜØ�H‰HÔ& t×'8Ñ'8Ó9ð!
ó ð 	r$   Úotherc                 óf   — t        |t        «      r!| j                  «       |j                  «       k(  S y)NF)r   r   Ú_Dependency__comparable_tuple©r/   rD   s     r   Ú__eq__zDependency.__eq__\   s,   € Ü�eœZÔ(Ø×*Ñ*Ó,°×0HÑ0HÓ0JÑJÐJØr$   c                 óp   — t        |t        «      r!| j                  «       |j                  «       k  S t        S r.   )r   r   rF   ÚNotImplementedrG   s     r   Ú__lt__zDependency.__lt__a   s/   € Ü�eœZÔ(Ø×*Ñ*Ó,¨u×/GÑ/GÓ/IÑIÐIÜÐr$   c                 ó4   — t        | j                  «       «      S r.   )ÚhashrF   r4   s    r   Ú__hash__zDependency.__hash__f   s   € Ü�D×+Ñ+Ó-Ó.Ð.r$   c                 óN   — d| j                   ›dt        | j                  «      › d�S )Nz<Dependency ref=z
, targets=ú>)r   Úlenr!   r4   s    r   Ú__repr__zDependency.__repr__i   s'   € Ø! $§(¡( ¨Z¼¸D×<MÑ<MÓ8NÐ7OÈqÐQÐQr$   r.   )r   zSortedSet[Dependency])!r%   r&   r'   r(   r   r   r   r0   ÚpropertyÚserializableÚtype_mappingÚxml_attributer   ÚsetterÚ	json_namer   Ú	xml_arrayÚXmlArraySerializationTypeÚFLATr!   r   r@   rB   rF   ÚobjectÚboolrH   r   rK   ÚintrN   r   rR   r*   r$   r   r   r   2   sƒ  „ ññ/˜Fð /°(¸8ÀLÑ;QÑ2Rð /Ð^bó /ð Ø€\×Ñ˜vÓ&Ø€\×ÑÓ!ð�Vò ó "ó 'ó ðð 	‡Z�Zð�vð  $ò ó ðð Ø€\×Ñ˜KÓ(Ø€\×ÑÐGÓHØ€\×Ñ˜L×BÑB×GÑGÈÓVò"ó Wó Ió )ó ð"ð ×Ñð5¨°,Ñ)?ð 5ÀDò 5ó ð5ð<¨#¨f©+ó <ðÐ$4ó ð
˜Fð  tó ð
˜Cð  Dó ð
/˜#ó /ðR˜#ô Rr$   r   c                   ó0   — e Zd ZdZeedefd„«       «       Zy)Ú
Dependablez@
    Dependable objects can be part of the Dependency Graph
    r   c                  ó   — y r.   r*   r4   s    r   Úbom_refzDependable.bom_refr   s   € ð 	r$   N)r%   r&   r'   r(   rS   r   r   rb   r*   r$   r   r`   r`   m   s*   „ ñð Øð˜ò ó ó ñr$   r`   )Úabcr   r   Úcollections.abcr   Útypingr   r   Úpy_serializablerT   Úsortedcontainersr   Ú_internal.comparer
   rB   Úexception.serializationr   rb   r   ÚhelpersÚ
BaseHelperr   Úserializable_classr   r`   r*   r$   r   ú<module>rm      sn   ð÷& $Ý $ß  ã &Ý &å CÝ MÝ ô¨|×/CÑ/C×/NÑ/Nô ð& !€× Ñ ÀtÔL÷7Rð 7Ró Mð7Rôt�õ r$   