Ë
    `Qêj^  ã                   ó<   — d Z ddlmZ ddlmZ d„ Z G d„ de«      Zy)z6Contains _ExtensionDict class to represent extensions.é    )ÚFieldDescriptor)Útype_checkersc           	      óŽ  — t        |t        «      st        d|z  «      ‚|j                  st        d|j                  z  «      ‚|j
                  st        d|j                  z  «      ‚|j
                  | j                  urGt        d|j                  ›d|j
                  j                  ›d| j                  j                  ›d�«      ‚y)	z0Verify that the given extension handle is valid.z3HasExtension() expects an extension handle, got: %sz"%s" is not an extension.z""%s" is missing a containing_type.zExtension "z" extends message type "z ", but this message is of type "z".N)Ú
isinstancer   ÚKeyErrorÚis_extensionÚ	full_nameÚcontaining_typeÚ
DESCRIPTOR)ÚmessageÚextension_handles     úl/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/google/protobuf/internal/extension_dict.pyÚ_VerifyExtensionHandler      sÄ   € ô 
Ð$¤oÔ	6Ü
Ø=Ð@PÑPóð ð 
×	&Ò	&Ü
Ð.Ð1A×1KÑ1KÑKÓ
LÐLà	×	)Ò	)Ü
Ø,Ð/?×/IÑ/IÑIóð ð ×%Ñ%¨W×-?Ñ-?Ñ?Ý
ð ×&Ó&Ø×,Ñ,×6Ó6Ø×Ñ×(Ó(ð	
óð ð @ó    c                   óX   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zy)Ú_ExtensionDictz�Dict-like container for Extension fields on proto instances.

  Note that in all cases we expect extension handles to be
  FieldDescriptors.
  c                 ó   — || _         y)zXArgs:

    extended_message: Message instance for which we are the Extensions dict.
    N)Ú_extended_message)ÚselfÚextended_messages     r   Ú__init__z_ExtensionDict.__init__3   s   € ð
 .€DÕr   c                 ó*  — t        | j                  |«       | j                  j                  j                  |«      }|�|S |j                  r|j                  | j                  «      }nÐ|j                  t        j                  k(  r§|j                  }t        |d«      sddlm} |j                  |«       t        |j                  d«      s!ddlm} |j                  |j                  «       |j                  j                  «       }	 |j                  | j                  j                   «       n|j$                  S | j                  j&                  r|j)                  «        | j                  j                  j+                  ||«      }|S # t"        $ r Y ŒYw xY w)z8Returns the current value of the given extension handle.Ú_concrete_classr   )Úmessage_factory)r   r   Ú_fieldsÚgetÚis_repeatedÚ_default_constructorÚcpp_typer   ÚCPPTYPE_MESSAGEÚmessage_typeÚhasattrÚgoogle.protobufr   ÚGetMessageClassr   Ú_SetListenerÚ_listener_for_childrenÚReferenceErrorÚdefault_valueÚ_frozenÚ
_SetFrozenÚ
setdefault)r   r   Úresultr!   r   s        r   Ú__getitem__z_ExtensionDict.__getitem__:   sW  € ô ˜4×1Ñ1Ð3CÔDà×#Ñ#×+Ñ+×/Ñ/Ð0@ÓA€FØÐØ€mà×#Ò#Ø×4Ñ4°T×5KÑ5KÓL�fØ	×	"Ñ	"¤o×&EÑ&EÒ	EØ%×2Ñ2€lÜ�\Ð#4Ô5å3à×'Ñ'¨Ô5ÜÐ%×2Ñ2Ð4EÔFÝ3à×'Ñ'Ð(8×(EÑ(EÔFØ×,Ñ,×<Ñ<Ó>€fðØ×Ñ˜D×2Ñ2×IÑIÕJð ×+Ñ+Ð+ð ×Ñ×%Ò%Ø×ÑÔØ×#Ñ#×+Ñ+×6Ñ6Ð7GÈÓP€Fà€Møô# ò Ùðús   Ä%F Æ	FÆFc                 ó&  — t        || j                  «      sy| j                  j                  «       }|j                  j                  «       }|D �cg c]  }|j                  sŒ|‘Œ }}|D �cg c]  }|j                  sŒ|‘Œ }}||k(  S c c}w c c}w )NF)r   Ú	__class__r   Ú
ListFieldsr   )r   ÚotherÚ	my_fieldsÚother_fieldsÚfields        r   Ú__eq__z_ExtensionDict.__eq__f   s‡   € Ü�e˜TŸ^™^Ô,Øà×&Ñ&×1Ñ1Ó3€IØ×*Ñ*×5Ñ5Ó7€Lð %.ÖD˜5°×1CÓ1C’ÐD€IÐDØ'3ÖJ˜e°u×7IÓ7I’EÐJ€LÐJà˜Ñ$Ð$ùò EùÚJs   ÁB	Á"B	Á,BÁ>Bc                 ó   — | |k(   S ©N© )r   r1   s     r   Ú__ne__z_ExtensionDict.__ne__s   s   € Ø�u‰}ÐÐr   c                 ó”   — | j                   j                  «       }|D �cg c]  }|d   j                  sŒ|‘Œ }}t        |«      S c c}w )Nr   )r   r0   r   Úlen)r   Úfieldsr4   Úextension_fieldss       r   Ú__len__z_ExtensionDict.__len__v   sH   € Ø×#Ñ#×.Ñ.Ó0€Fà+1ÖK %°U¸1±X×5JÓ5JšÐKÐÐKÜÐÓ Ð ùò Ls
   ŸA´Ac                 ó   — t        d«      ‚)Nzunhashable object)Ú	TypeError©r   s    r   Ú__hash__z_ExtensionDict.__hash__|   s   € Ü
Ð'Ó
(Ð(r   c                 ó”  — t        | j                  |«       | j                  j                  «        |j                  s|j                  t
        j                  k(  rt        d|j                  z  «      ‚t        j                  |«      }|j                  |«      | j                  j                  |<   | j                  j                  «        y)zmIf extension_handle specifies a non-repeated, scalar extension

    field, sets the value of that field.
    zKCannot assign to extension "%s" because it is a repeated or composite type.N)r   r   Ú_AssureWritabler   r   r   r    r@   r	   r   ÚGetTypeCheckerÚ
CheckValuer   Ú	_Modified)r   r   ÚvalueÚtype_checkers       r   Ú__setitem__z_ExtensionDict.__setitem__ƒ   s²   € ô ˜4×1Ñ1Ð3CÔDà×Ñ×*Ñ*Ô,ð 	×$Ò$Ø×$Ñ$¬×(GÑ(GÒGäðà×&Ñ&ñ'óð ô !×/Ñ/Ð0@ÓA€Là7C×7NÑ7NØó8€D×Ñ×"Ñ"Ð#3Ñ4ð 	×Ñ×$Ñ$Õ&r   c                 ó:   — | j                   j                  |«       y r7   )r   ÚClearExtension)r   r   s     r   Ú__delitem__z_ExtensionDict.__delitem__    s   € Ø×Ñ×)Ñ)Ð*:Õ;r   c                 ó˜   — | j                   j                  }|j                  j                  j                  |   }|j                  |d«      S )z™Tries to find a known extension with the specified name.

    Args:
      name: Extension full name.

    Returns:
      Extension field descriptor.
    N)r   r   ÚfileÚpoolÚ_extensions_by_namer   )r   ÚnameÚ
descriptorÚ
extensionss       r   Ú_FindExtensionByNamez#_ExtensionDict._FindExtensionByName£   s@   € ð ×'Ñ'×2Ñ2€JØ—‘×%Ñ%×9Ñ9¸*ÑE€JØ�>‰>˜$ Ó%Ð%r   c                 ó˜   — | j                   j                  }|j                  j                  j                  |   }|j                  |d«      S )zœTries to find a known extension with the field number.

    Args:
      number: Extension field number.

    Returns:
      Extension field descriptor.
    N)r   r   rO   rP   Ú_extensions_by_numberr   )r   ÚnumberrS   rT   s       r   Ú_FindExtensionByNumberz%_ExtensionDict._FindExtensionByNumber°   s@   € ð ×'Ñ'×2Ñ2€JØ—‘×%Ñ%×;Ñ;¸JÑG€JØ�>‰>˜& $Ó'Ð'r   c                 óD   — d„ | j                   j                  «       D «       S )Nc              3   óF   K  — | ]  }|d    j                   sŒ|d    –— Œ y­w)r   N)r   )Ú.0Úfs     r   ú	<genexpr>z*_ExtensionDict.__iter__.<locals>.<genexpr>¿   s%   è ø€ ò Ø¸Q¸q¹T×=NÓ=Nˆˆ!�ñùs   ‚!—
!)r   r0   rA   s    r   Ú__iter__z_ExtensionDict.__iter__½   s#   € ñØ×,Ñ,×7Ñ7Ó9ôð r   c                 ó~  — t        | j                  |«       || j                  j                  vry|j                  r.t	        | j                  j                  j                  |«      «      S |j                  t        j                  k(  r7| j                  j                  j                  |«      }|d uxr |j                  S y)NFT)
r   r   r   r   Úboolr   r   r   r    Ú_is_present_in_parent)r   r   rH   s      r   Ú__contains__z_ExtensionDict.__contains__Ã   s    € Ü˜4×1Ñ1Ð3CÔDà˜t×5Ñ5×=Ñ=Ñ=Øà×#Ò#Ü�$×(Ñ(×0Ñ0×4Ñ4Ð5EÓFÓGÐGà× Ñ ¤O×$CÑ$CÒCØ×$Ñ$×,Ñ,×0Ñ0Ð1AÓB€eà˜$ÐÒ> 5×#>Ñ#>Ð>àr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r-   r5   r9   r>   rB   rJ   rM   rU   rY   r_   rc   r8   r   r   r   r   ,   sD   „ ñò.ò*òX%òò!ò)ò'ò:<ò&ò(òór   r   N)rg   Úgoogle.protobuf.descriptorr   Úgoogle.protobuf.internalr   r   Úobjectr   r8   r   r   ú<module>rk      s#   ðñ =å 6Ý 2òô>e�Võ er   