+
    iD                     ^    R t Rt^ RIt ! R R]4      t ! R R]4      t ! R R]4      tR	 tR# )
z*Provides a container for DescriptorProtos.z"matthewtoia@google.com (Matt Toia)Nc                       ] tR t^tRtR# )Error N)__name__
__module____qualname____firstlineno____static_attributes__r       v/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/google/protobuf/descriptor_database.pyr   r      s    r
   r   c                       ] tR t^tRtRtR# ),DescriptorDatabaseConflictingDefinitionErrorzGRaised when a proto is added with the same name & different descriptor.r   N)r   r   r   r   __doc__r	   r   r
   r   r   r      s    Or
   r   c                   N   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	tV tR
# )DescriptorDatabasezEA container accepting FileDescriptorProtos and maps DescriptorProtos.c                "    / V n         / V n        R # N_file_desc_protos_by_file_file_desc_protos_by_symbol)selfs   &r   __init__DescriptorDatabase.__init__   s    %'D"')D$r
   c                *   VP                   pW P                  9  d   WP                  V&   M,V P                  V,          V8w  d   \        RV,          4      hR# VP                  pVP                   F&  p\        WC4       F  pV P                  WQ4       K  	  K(  	  VP                   Fk  pV P                  RP                  W6P                   34      V4       VP                   F,  pVV P                  RP                  W7P                   34      &   K.  	  Km  	  VP                   F/  pV P                  RP                  W8P                   34      V4       K1  	  VP                   F/  p	V P                  RP                  W9P                   34      V4       K1  	  R# )a0  Adds the FileDescriptorProto and its types to this database.

Args:
  file_desc_proto: The FileDescriptorProto to add.
Raises:
  DescriptorDatabaseConflictingDefinitionError: if an attempt is made to
    add a proto with the same name but different definition than an
    existing proto in the database.
z0%s already added, but with different descriptor.N.)namer   r   packagemessage_type_ExtractSymbols
_AddSymbol	enum_typejoinvaluer   	extensionservice)
r   file_desc_proto
proto_namer   messager   enum
enum_valuer#   r$   s
   &&        r   AddDescriptorDatabase.Add   sR    !%%J7773B$$Z0		'	'
	3	F8
<z
IK K  %%G"//!'3$. 4 0  ))
oosxx)) 45H

*4C 	((HHg/0	2 # *
 %..	
oosxx.. 9:_M /"**
oosxx,, 78?K +r
   c                (    V P                   V,          # )a  Finds the file descriptor proto by file name.

Typically the file name is a relative path ending to a .proto file. The
proto with the given name will have to have been added to this database
using the Add method or else an error will be raised.

Args:
  name: The file name to find.

Returns:
  The file descriptor proto matching the name.

Raises:
  KeyError if no file by the given name was added.
)r   )r   r   s   &&r   FindFileByName!DescriptorDatabase.FindFileByName@   s    " ))$//r
   c                     V P                   V,          #   \         dG    TP                  R4      w  p p T P                   T,          u #   \         d    \        T4      hi ; ii ; i)aj  Finds the file descriptor proto containing the specified symbol.

The symbol should be a fully qualified name including the file descriptor's
package and any containing messages. Some examples:

'some.package.name.Message'
'some.package.name.Message.NestedEnum'
'some.package.name.Message.some_field'

The file descriptor proto containing the specified symbol must be added to
this database using the Add method or else an error will be raised.

Args:
  symbol: The fully qualified symbol name.

Returns:
  The file descriptor proto containing the symbol.

Raises:
  KeyError if no file contains the specified symbol.
r   )r   KeyError
rpartition)r   symbol	top_level_s   &&  r   FindFileContainingSymbol+DescriptorDatabase.FindFileContainingSymbolS   so    ,--f55  ))#.oiA//	:: vs      A&AA&A""A&c                    R # r   r   )r   extendee_nameextension_numbers   &&&r   FindFileContainingExtension.DescriptorDatabase.FindFileContainingExtensionx   s    r
   c                    . # r   r   )r   r8   s   &&r   FindAllExtensionNumbers*DescriptorDatabase.FindAllExtensionNumbers|   s    Ir
   c                   WP                   9   dm   R VP                  ,           R,           V,           R,           V P                   V,          P                  ,           R,           p\        P                  ! V\        4       W P                   V&   R# )zConflict register for file "z": z is already defined in file ""N)r   r   warningswarnRuntimeWarning)r   r   r%   warn_msgs   &&& r   r   DescriptorDatabase._AddSymbol   s|    ///0?3G3GG12 2248==> ADDh mmHn--<$$T*r
   r   N)r   r   r   r   r   r   r*   r-   r5   r:   r=   r   r	   __classdictcell__)__classdict__s   @r   r   r      s3     M* LD0&#J= =r
   r   c              #  &  "   V'       d   VR,           V P                   ,           MV P                   pVx  V P                   F  p\        W24       F  pVx  K	  	  K  	  V P                   F!  pRP	                  W%P                   34      x  K#  	  R# 5i)zPulls out all the symbols from a descriptor proto.

Args:
  desc_proto: The proto to extract symbols from.
  package: The package containing the descriptor type.

Yields:
  The fully qualified name found in the descriptor.
r   N)r   nested_typer   r    r!   )
desc_protor   message_namerI   r2   r    s   &&    r   r   r      ss      5<30,++k!+<l = , ''i
((L..1
22 (s   BB)	r   
__author__rA   	Exceptionr   r   objectr   r   r   r
   r   <module>rO      s@    11
 I P5 Pp= p=f3r
   