# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: federated_language/proto/computation.proto
# Protobuf Python Version: 5.29.0
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    5,
    29,
    0,
    '',
    'federated_language/proto/computation.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from federated_language.proto import array_pb2 as federated__language_dot_proto_dot_array__pb2
from federated_language.proto import data_type_pb2 as federated__language_dot_proto_dot_data__type__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*federated_language/proto/computation.proto\x12\x12\x66\x65\x64\x65rated_language\x1a\x19google/protobuf/any.proto\x1a$federated_language/proto/array.proto\x1a(federated_language/proto/data_type.proto\"\x84\x05\n\x0b\x43omputation\x12&\n\x04type\x18\x01 \x01(\x0b\x32\x18.federated_language.Type\x12\x34\n\ntensorflow\x18\x02 \x01(\x0b\x32\x1e.federated_language.TensorFlowH\x00\x12\x32\n\tintrinsic\x18\x03 \x01(\x0b\x32\x1d.federated_language.IntrinsicH\x00\x12(\n\x04\x64\x61ta\x18\n \x01(\x0b\x32\x18.federated_language.DataH\x00\x12,\n\x06lambda\x18\x04 \x01(\x0b\x32\x1a.federated_language.LambdaH\x00\x12*\n\x05\x62lock\x18\x05 \x01(\x0b\x32\x19.federated_language.BlockH\x00\x12\x32\n\treference\x18\x06 \x01(\x0b\x32\x1d.federated_language.ReferenceH\x00\x12(\n\x04\x63\x61ll\x18\x07 \x01(\x0b\x32\x18.federated_language.CallH\x00\x12,\n\x06struct\x18\x08 \x01(\x0b\x32\x1a.federated_language.StructH\x00\x12\x32\n\tselection\x18\t \x01(\x0b\x32\x1d.federated_language.SelectionH\x00\x12\x32\n\tplacement\x18\x0b \x01(\x0b\x32\x1d.federated_language.PlacementH\x00\x12.\n\x07literal\x18\x0e \x01(\x0b\x32\x1b.federated_language.LiteralH\x00\x12&\n\x03xla\x18\x0c \x01(\x0b\x32\x17.federated_language.XlaH\x00\x42\r\n\x0b\x63omputationJ\x04\x08\r\x10\x0e\"\x84\x03\n\x04Type\x12\x34\n\x08\x66unction\x18\x01 \x01(\x0b\x32 .federated_language.FunctionTypeH\x00\x12\x30\n\x06struct\x18\x02 \x01(\x0b\x32\x1e.federated_language.StructTypeH\x00\x12\x34\n\x08sequence\x18\x03 \x01(\x0b\x32 .federated_language.SequenceTypeH\x00\x12\x30\n\x06tensor\x18\x04 \x01(\x0b\x32\x1e.federated_language.TensorTypeH\x00\x12\x34\n\x08\x61\x62stract\x18\x05 \x01(\x0b\x32 .federated_language.AbstractTypeH\x00\x12\x36\n\tplacement\x18\x06 \x01(\x0b\x32!.federated_language.PlacementTypeH\x00\x12\x36\n\tfederated\x18\x07 \x01(\x0b\x32!.federated_language.FederatedTypeH\x00\x42\x06\n\x04type\"e\n\x0c\x46unctionType\x12+\n\tparameter\x18\x01 \x01(\x0b\x32\x18.federated_language.Type\x12(\n\x06result\x18\x02 \x01(\x0b\x32\x18.federated_language.Type\"\x87\x01\n\nStructType\x12\x37\n\x07\x65lement\x18\x01 \x03(\x0b\x32&.federated_language.StructType.Element\x1a@\n\x07\x45lement\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.federated_language.Type\"9\n\x0cSequenceType\x12)\n\x07\x65lement\x18\x01 \x01(\x0b\x32\x18.federated_language.Type\"]\n\nTensorType\x12+\n\x05\x64type\x18\x01 \x01(\x0e\x32\x1c.federated_language.DataType\x12\x0c\n\x04\x64ims\x18\x02 \x03(\x03\x12\x14\n\x0cunknown_rank\x18\x03 \x01(\x08\"\x1d\n\x0c\x41\x62stractType\x12\r\n\x05label\x18\x01 \x01(\t\"\x81\x01\n\rPlacementSpec\x12\x33\n\x05label\x18\x01 \x01(\x0b\x32\".federated_language.PlacementLabelH\x00\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1d.federated_language.PlacementH\x00\x42\x0b\n\tplacement\"\x1f\n\x0ePlacementLabel\x12\r\n\x05label\x18\x01 \x01(\t\"\x18\n\tPlacement\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\x82\x01\n\rFederatedType\x12\x34\n\tplacement\x18\x01 \x01(\x0b\x32!.federated_language.PlacementSpec\x12\x11\n\tall_equal\x18\x02 \x01(\x08\x12(\n\x06member\x18\x03 \x01(\x0b\x32\x18.federated_language.Type\"K\n\rPlacementType\x12:\n\x0einstance_label\x18\x01 \x01(\x0b\x32\".federated_language.PlacementLabel\"\xf8\x05\n\nTensorFlow\x12\'\n\tgraph_def\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x15\n\rinitialize_op\x18\x04 \x01(\t\x12!\n\x19session_token_tensor_name\x18\x06 \x01(\t\x12\x39\n\tparameter\x18\x02 \x01(\x0b\x32&.federated_language.TensorFlow.Binding\x12\x36\n\x06result\x18\x03 \x01(\x0b\x32&.federated_language.TensorFlow.Binding\x12:\n\tcache_key\x18\x05 \x01(\x0b\x32\'.federated_language.TensorFlow.CacheKey\x1a\xd8\x01\n\x07\x42inding\x12>\n\x06struct\x18\x01 \x01(\x0b\x32,.federated_language.TensorFlow.StructBindingH\x00\x12>\n\x06tensor\x18\x02 \x01(\x0b\x32,.federated_language.TensorFlow.TensorBindingH\x00\x12\x42\n\x08sequence\x18\x03 \x01(\x0b\x32..federated_language.TensorFlow.SequenceBindingH\x00\x42\t\n\x07\x62inding\x1aH\n\rStructBinding\x12\x37\n\x07\x65lement\x18\x01 \x03(\x0b\x32&.federated_language.TensorFlow.Binding\x1a\x31\n\rTensorBinding\x12\x15\n\x0btensor_name\x18\x01 \x01(\tH\x00\x42\t\n\x07\x62inding\x1a\x62\n\x0fSequenceBinding\x12\x1d\n\x13variant_tensor_name\x18\x02 \x01(\tH\x00\x12\x1f\n\x15graph_def_tensor_name\x18\x03 \x01(\tH\x00\x42\t\n\x07\x62indingJ\x04\x08\x01\x10\x02\x1a\x16\n\x08\x43\x61\x63heKey\x12\n\n\x02id\x18\x01 \x01(\x04J\x04\x08\x07\x10\x08\"\x18\n\tIntrinsic\x12\x0b\n\x03uri\x18\x01 \x01(\t\"Q\n\x06Lambda\x12\x16\n\x0eparameter_name\x18\x01 \x01(\t\x12/\n\x06result\x18\x02 \x01(\x0b\x32\x1f.federated_language.Computation\"\xaf\x01\n\x05\x42lock\x12.\n\x05local\x18\x01 \x03(\x0b\x32\x1f.federated_language.Block.Local\x12/\n\x06result\x18\x02 \x01(\x0b\x32\x1f.federated_language.Computation\x1a\x45\n\x05Local\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.federated_language.Computation\"\x19\n\tReference\x12\x0c\n\x04name\x18\x01 \x01(\t\"l\n\x04\x43\x61ll\x12\x31\n\x08\x66unction\x18\x01 \x01(\x0b\x32\x1f.federated_language.Computation\x12\x31\n\x08\x61rgument\x18\x02 \x01(\x0b\x32\x1f.federated_language.Computation\"\x86\x01\n\x06Struct\x12\x33\n\x07\x65lement\x18\x01 \x03(\x0b\x32\".federated_language.Struct.Element\x1aG\n\x07\x45lement\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.federated_language.Computation\"K\n\tSelection\x12/\n\x06source\x18\x01 \x01(\x0b\x32\x1f.federated_language.Computation\x12\r\n\x05index\x18\x03 \x01(\x05\"P\n\x04\x44\x61ta\x12\x11\n\x03uri\x18\x01 \x01(\tB\x02\x18\x01H\x00\x12\'\n\x07\x63ontent\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x06\n\x04\x64\x61taJ\x04\x08\x02\x10\x03\"\x8d\x03\n\x03Xla\x12(\n\nhlo_module\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x32\n\tparameter\x18\x02 \x01(\x0b\x32\x1f.federated_language.Xla.Binding\x12/\n\x06result\x18\x03 \x01(\x0b\x32\x1f.federated_language.Xla.Binding\x1a\x86\x01\n\x07\x42inding\x12\x37\n\x06struct\x18\x01 \x01(\x0b\x32%.federated_language.Xla.StructBindingH\x00\x12\x37\n\x06tensor\x18\x02 \x01(\x0b\x32%.federated_language.Xla.TensorBindingH\x00\x42\t\n\x07\x62inding\x1a\x41\n\rStructBinding\x12\x30\n\x07\x65lement\x18\x01 \x03(\x0b\x32\x1f.federated_language.Xla.Binding\x1a+\n\rTensorBinding\x12\x0f\n\x05index\x18\x01 \x01(\x05H\x00\x42\t\n\x07\x62inding\"3\n\x07Literal\x12(\n\x05value\x18\x01 \x01(\x0b\x32\x19.federated_language.Arrayb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'federated_language.proto.computation_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  DESCRIPTOR._loaded_options = None
  _globals['_DATA'].fields_by_name['uri']._loaded_options = None
  _globals['_DATA'].fields_by_name['uri']._serialized_options = b'\030\001'
  _globals['_COMPUTATION']._serialized_start=174
  _globals['_COMPUTATION']._serialized_end=818
  _globals['_TYPE']._serialized_start=821
  _globals['_TYPE']._serialized_end=1209
  _globals['_FUNCTIONTYPE']._serialized_start=1211
  _globals['_FUNCTIONTYPE']._serialized_end=1312
  _globals['_STRUCTTYPE']._serialized_start=1315
  _globals['_STRUCTTYPE']._serialized_end=1450
  _globals['_STRUCTTYPE_ELEMENT']._serialized_start=1386
  _globals['_STRUCTTYPE_ELEMENT']._serialized_end=1450
  _globals['_SEQUENCETYPE']._serialized_start=1452
  _globals['_SEQUENCETYPE']._serialized_end=1509
  _globals['_TENSORTYPE']._serialized_start=1511
  _globals['_TENSORTYPE']._serialized_end=1604
  _globals['_ABSTRACTTYPE']._serialized_start=1606
  _globals['_ABSTRACTTYPE']._serialized_end=1635
  _globals['_PLACEMENTSPEC']._serialized_start=1638
  _globals['_PLACEMENTSPEC']._serialized_end=1767
  _globals['_PLACEMENTLABEL']._serialized_start=1769
  _globals['_PLACEMENTLABEL']._serialized_end=1800
  _globals['_PLACEMENT']._serialized_start=1802
  _globals['_PLACEMENT']._serialized_end=1826
  _globals['_FEDERATEDTYPE']._serialized_start=1829
  _globals['_FEDERATEDTYPE']._serialized_end=1959
  _globals['_PLACEMENTTYPE']._serialized_start=1961
  _globals['_PLACEMENTTYPE']._serialized_end=2036
  _globals['_TENSORFLOW']._serialized_start=2039
  _globals['_TENSORFLOW']._serialized_end=2799
  _globals['_TENSORFLOW_BINDING']._serialized_start=2328
  _globals['_TENSORFLOW_BINDING']._serialized_end=2544
  _globals['_TENSORFLOW_STRUCTBINDING']._serialized_start=2546
  _globals['_TENSORFLOW_STRUCTBINDING']._serialized_end=2618
  _globals['_TENSORFLOW_TENSORBINDING']._serialized_start=2620
  _globals['_TENSORFLOW_TENSORBINDING']._serialized_end=2669
  _globals['_TENSORFLOW_SEQUENCEBINDING']._serialized_start=2671
  _globals['_TENSORFLOW_SEQUENCEBINDING']._serialized_end=2769
  _globals['_TENSORFLOW_CACHEKEY']._serialized_start=2771
  _globals['_TENSORFLOW_CACHEKEY']._serialized_end=2793
  _globals['_INTRINSIC']._serialized_start=2801
  _globals['_INTRINSIC']._serialized_end=2825
  _globals['_LAMBDA']._serialized_start=2827
  _globals['_LAMBDA']._serialized_end=2908
  _globals['_BLOCK']._serialized_start=2911
  _globals['_BLOCK']._serialized_end=3086
  _globals['_BLOCK_LOCAL']._serialized_start=3017
  _globals['_BLOCK_LOCAL']._serialized_end=3086
  _globals['_REFERENCE']._serialized_start=3088
  _globals['_REFERENCE']._serialized_end=3113
  _globals['_CALL']._serialized_start=3115
  _globals['_CALL']._serialized_end=3223
  _globals['_STRUCT']._serialized_start=3226
  _globals['_STRUCT']._serialized_end=3360
  _globals['_STRUCT_ELEMENT']._serialized_start=3289
  _globals['_STRUCT_ELEMENT']._serialized_end=3360
  _globals['_SELECTION']._serialized_start=3362
  _globals['_SELECTION']._serialized_end=3437
  _globals['_DATA']._serialized_start=3439
  _globals['_DATA']._serialized_end=3519
  _globals['_XLA']._serialized_start=3522
  _globals['_XLA']._serialized_end=3919
  _globals['_XLA_BINDING']._serialized_start=3673
  _globals['_XLA_BINDING']._serialized_end=3807
  _globals['_XLA_STRUCTBINDING']._serialized_start=3809
  _globals['_XLA_STRUCTBINDING']._serialized_end=3874
  _globals['_XLA_TENSORBINDING']._serialized_start=3876
  _globals['_XLA_TENSORBINDING']._serialized_end=3919
  _globals['_LITERAL']._serialized_start=3921
  _globals['_LITERAL']._serialized_end=3972
# @@protoc_insertion_point(module_scope)
