# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: minknow/rpc/protocol.proto

from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from minknow.rpc import acquisition_pb2 as minknow_dot_rpc_dot_acquisition__pb2
from minknow.rpc import device_pb2 as minknow_dot_rpc_dot_device__pb2
from minknow.rpc import rpc_options_pb2 as minknow_dot_rpc_dot_rpc__options__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='minknow/rpc/protocol.proto',
  package='ont.rpc.protocol',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=b'\n\x1aminknow/rpc/protocol.proto\x12\x10ont.rpc.protocol\x1a\x1dminknow/rpc/acquisition.proto\x1a\x18minknow/rpc/device.proto\x1a\x1dminknow/rpc/rpc_options.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x7f\n\x13ProtocolRunUserInfo\x12\x37\n\x11protocol_group_id\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tsample_id\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"x\n\x14StartProtocolRequest\x12\x18\n\nidentifier\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x12\x38\n\tuser_info\x18\x03 \x01(\x0b\x32%.ont.rpc.protocol.ProtocolRunUserInfo\"\'\n\x15StartProtocolResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"_\n\x13StopProtocolRequest\x12H\n\x13\x64\x61ta_action_on_stop\x18\x01 \x01(\x0e\x32+.ont.rpc.acquisition.StopRequest.DataAction\"\x16\n\x14StopProtocolResponse\",\n\x14ListProtocolsRequest\x12\x14\n\x0c\x66orce_reload\x18\x01 \x01(\x08\"\xf3\x03\n\x0cProtocolInfo\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x36\n\x04tags\x18\x02 \x03(\x0b\x32(.ont.rpc.protocol.ProtocolInfo.TagsEntry\x12\x0c\n\x04name\x18\x03 \x01(\t\x12Q\n\x15tag_extraction_result\x18\x04 \x01(\x0b\x32\x32.ont.rpc.protocol.ProtocolInfo.TagExtractionResult\x1a\xa1\x01\n\x08TagValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x15\n\x0b\x61rray_value\x18\x05 \x01(\tH\x00\x12\x16\n\x0cobject_value\x18\x06 \x01(\tH\x00\x42\x0b\n\ttag_value\x1a<\n\x13TagExtractionResult\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0c\x65rror_report\x18\x02 \x01(\t\x1aT\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.ont.rpc.protocol.ProtocolInfo.TagValue:\x02\x38\x01\"J\n\x15ListProtocolsResponse\x12\x31\n\tprotocols\x18\x01 \x03(\x0b\x32\x1e.ont.rpc.protocol.ProtocolInfo\"\xfb\x01\n\x16WaitForFinishedRequest\x12\x14\n\x06run_id\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12I\n\x05state\x18\x02 \x01(\x0e\x32:.ont.rpc.protocol.WaitForFinishedRequest.NotificationState\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"o\n\x11NotificationState\x12\x19\n\x15NOTIFY_ON_TERMINATION\x10\x00\x12\x1d\n\x19NOTIFY_BEFORE_TERMINATION\x10\x01\x12 \n\x1cNOTIFY_ON_SCRIPT_TERMINATION\x10\x02\"#\n\x11GetRunInfoRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"2\n\x17\x45pi2meWorkflowReference\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xab\x04\n\x0fProtocolRunInfo\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12\x13\n\x0bprotocol_id\x18\x02 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x13\n\x0boutput_path\x18\x0b \x01(\t\x12.\n\x05state\x18\x04 \x01(\x0e\x32\x1f.ont.rpc.protocol.ProtocolState\x12.\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0fscript_end_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x13\x61\x63quisition_run_ids\x18\x07 \x03(\t\x12\x38\n\tuser_info\x18\x08 \x01(\x0b\x32%.ont.rpc.protocol.ProtocolRunUserInfo\x12\x43\n\x10\x65pi2me_workflows\x18\n \x03(\x0b\x32).ont.rpc.protocol.Epi2meWorkflowReference\x12\x35\n\x06\x64\x65vice\x18\x0c \x01(\x0b\x32%.ont.rpc.device.GetDeviceInfoResponse\x12:\n\tflow_cell\x18\r \x01(\x0b\x32\'.ont.rpc.device.GetFlowCellInfoResponse\"\x19\n\x17ListProtocolRunsRequest\"+\n\x18ListProtocolRunsResponse\x12\x0f\n\x07run_ids\x18\x01 \x03(\t\"\x1e\n\x1cGetCurrentProtocolRunRequest\"T\n\x1dGetCurrentProtocolRunResponse\x12\x33\n\x08run_info\x18\x03 \x01(\x0b\x32!.ont.rpc.protocol.ProtocolRunInfo\" \n\x1eWatchCurrentProtocolRunRequest\"\x17\n\x15GetContextInfoRequest\"\x9d\x01\n\x16GetContextInfoResponse\x12O\n\x0c\x63ontext_info\x18\x01 \x03(\x0b\x32\x39.ont.rpc.protocol.GetContextInfoResponse.ContextInfoEntry\x1a\x32\n\x10\x43ontextInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x15SetContextInfoRequest\x12N\n\x0c\x63ontext_info\x18\x01 \x03(\x0b\x32\x38.ont.rpc.protocol.SetContextInfoRequest.ContextInfoEntry\x1a\x32\n\x10\x43ontextInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x18\n\x16SetContextInfoResponse\"\x14\n\x12GetSampleIdRequest\"(\n\x13GetSampleIdResponse\x12\x11\n\tsample_id\x18\x01 \x01(\t\"\'\n\x12SetSampleIdRequest\x12\x11\n\tsample_id\x18\x01 \x01(\t\"\x15\n\x13SetSampleIdResponse\"\x1b\n\x19GetProtocolPurposeRequest\"-\n\x1aGetProtocolPurposeResponse\x12\x0f\n\x07purpose\x18\x01 \x01(\t\",\n\x19SetProtocolPurposeRequest\x12\x0f\n\x07purpose\x18\x01 \x01(\t\"\x1c\n\x1aSetProtocolPurposeResponse\"z\n\x18\x41\x64\x64\x45pi2meWorkflowRequest\x12\x14\n\x06run_id\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12H\n\x0f\x65pi2me_workflow\x18\x02 \x01(\x0b\x32).ont.rpc.protocol.Epi2meWorkflowReferenceB\x04\x88\xb5\x18\x01\"\x1b\n\x19\x41\x64\x64\x45pi2meWorkflowResponse\"\x1d\n\x1bListProtocolGroupIdsRequest\":\n\x1cListProtocolGroupIdsResponse\x12\x1a\n\x12protocol_group_ids\x18\x01 \x03(\t*\xa2\x02\n\rProtocolState\x12\x14\n\x10PROTOCOL_RUNNING\x10\x00\x12$\n PROTOCOL_WAITING_FOR_TEMPERATURE\x10\x04\x12$\n PROTOCOL_WAITING_FOR_ACQUISITION\x10\x05\x12\x16\n\x12PROTOCOL_COMPLETED\x10\x01\x12\x1c\n\x18PROTOCOL_STOPPED_BY_USER\x10\x02\x12 \n\x1cPROTOCOL_FINISHED_WITH_ERROR\x10\x03\x12\'\n#PROTOCOL_FINISHED_WITH_DEVICE_ERROR\x10\x06\x12.\n*PROTOCOL_FINISHED_UNABLE_TO_SEND_TELEMETRY\x10\x07\x32\xc2\r\n\x0fProtocolService\x12\x63\n\x0estart_protocol\x12&.ont.rpc.protocol.StartProtocolRequest\x1a\'.ont.rpc.protocol.StartProtocolResponse\"\x00\x12`\n\rstop_protocol\x12%.ont.rpc.protocol.StopProtocolRequest\x1a&.ont.rpc.protocol.StopProtocolResponse\"\x00\x12\x62\n\x11wait_for_finished\x12(.ont.rpc.protocol.WaitForFinishedRequest\x1a!.ont.rpc.protocol.ProtocolRunInfo\"\x00\x12X\n\x0cget_run_info\x12#.ont.rpc.protocol.GetRunInfoRequest\x1a!.ont.rpc.protocol.ProtocolRunInfo\"\x00\x12m\n\x12list_protocol_runs\x12).ont.rpc.protocol.ListProtocolRunsRequest\x1a*.ont.rpc.protocol.ListProtocolRunsResponse\"\x00\x12o\n\x18get_current_protocol_run\x12..ont.rpc.protocol.GetCurrentProtocolRunRequest\x1a!.ont.rpc.protocol.ProtocolRunInfo\"\x00\x12u\n\x1awatch_current_protocol_run\x12\x30.ont.rpc.protocol.WatchCurrentProtocolRunRequest\x1a!.ont.rpc.protocol.ProtocolRunInfo\"\x00\x30\x01\x12\x63\n\x0elist_protocols\x12&.ont.rpc.protocol.ListProtocolsRequest\x1a\'.ont.rpc.protocol.ListProtocolsResponse\"\x00\x12g\n\x10get_context_info\x12\'.ont.rpc.protocol.GetContextInfoRequest\x1a(.ont.rpc.protocol.GetContextInfoResponse\"\x00\x12g\n\x10set_context_info\x12\'.ont.rpc.protocol.SetContextInfoRequest\x1a(.ont.rpc.protocol.SetContextInfoResponse\"\x00\x12\x61\n\rget_sample_id\x12$.ont.rpc.protocol.GetSampleIdRequest\x1a%.ont.rpc.protocol.GetSampleIdResponse\"\x03\x88\x02\x01\x12\x61\n\rset_sample_id\x12$.ont.rpc.protocol.SetSampleIdRequest\x1a%.ont.rpc.protocol.SetSampleIdResponse\"\x03\x88\x02\x01\x12s\n\x14get_protocol_purpose\x12+.ont.rpc.protocol.GetProtocolPurposeRequest\x1a,.ont.rpc.protocol.GetProtocolPurposeResponse\"\x00\x12s\n\x14set_protocol_purpose\x12+.ont.rpc.protocol.SetProtocolPurposeRequest\x1a,.ont.rpc.protocol.SetProtocolPurposeResponse\"\x00\x12p\n\x13\x61\x64\x64_epi2me_workflow\x12*.ont.rpc.protocol.AddEpi2meWorkflowRequest\x1a+.ont.rpc.protocol.AddEpi2meWorkflowResponse\"\x00\x12z\n\x17list_protocol_group_ids\x12-.ont.rpc.protocol.ListProtocolGroupIdsRequest\x1a..ont.rpc.protocol.ListProtocolGroupIdsResponse\"\x00\x62\x06proto3'
  ,
  dependencies=[minknow_dot_rpc_dot_acquisition__pb2.DESCRIPTOR,minknow_dot_rpc_dot_device__pb2.DESCRIPTOR,minknow_dot_rpc_dot_rpc__options__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,])

_PROTOCOLSTATE = _descriptor.EnumDescriptor(
  name='ProtocolState',
  full_name='ont.rpc.protocol.ProtocolState',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_RUNNING', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_WAITING_FOR_TEMPERATURE', index=1, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_WAITING_FOR_ACQUISITION', index=2, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_COMPLETED', index=3, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_STOPPED_BY_USER', index=4, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_FINISHED_WITH_ERROR', index=5, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_FINISHED_WITH_DEVICE_ERROR', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTOCOL_FINISHED_UNABLE_TO_SEND_TELEMETRY', index=7, number=7,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3257,
  serialized_end=3547,
)
_sym_db.RegisterEnumDescriptor(_PROTOCOLSTATE)

ProtocolState = enum_type_wrapper.EnumTypeWrapper(_PROTOCOLSTATE)
PROTOCOL_RUNNING = 0
PROTOCOL_WAITING_FOR_TEMPERATURE = 4
PROTOCOL_WAITING_FOR_ACQUISITION = 5
PROTOCOL_COMPLETED = 1
PROTOCOL_STOPPED_BY_USER = 2
PROTOCOL_FINISHED_WITH_ERROR = 3
PROTOCOL_FINISHED_WITH_DEVICE_ERROR = 6
PROTOCOL_FINISHED_UNABLE_TO_SEND_TELEMETRY = 7


_WAITFORFINISHEDREQUEST_NOTIFICATIONSTATE = _descriptor.EnumDescriptor(
  name='NotificationState',
  full_name='ont.rpc.protocol.WaitForFinishedRequest.NotificationState',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NOTIFY_ON_TERMINATION', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOTIFY_BEFORE_TERMINATION', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOTIFY_ON_SCRIPT_TERMINATION', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1379,
  serialized_end=1490,
)
_sym_db.RegisterEnumDescriptor(_WAITFORFINISHEDREQUEST_NOTIFICATIONSTATE)


_PROTOCOLRUNUSERINFO = _descriptor.Descriptor(
  name='ProtocolRunUserInfo',
  full_name='ont.rpc.protocol.ProtocolRunUserInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='protocol_group_id', full_name='ont.rpc.protocol.ProtocolRunUserInfo.protocol_group_id', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sample_id', full_name='ont.rpc.protocol.ProtocolRunUserInfo.sample_id', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=201,
  serialized_end=328,
)


_STARTPROTOCOLREQUEST = _descriptor.Descriptor(
  name='StartProtocolRequest',
  full_name='ont.rpc.protocol.StartProtocolRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='identifier', full_name='ont.rpc.protocol.StartProtocolRequest.identifier', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\210\265\030\001', file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='args', full_name='ont.rpc.protocol.StartProtocolRequest.args', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user_info', full_name='ont.rpc.protocol.StartProtocolRequest.user_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=330,
  serialized_end=450,
)


_STARTPROTOCOLRESPONSE = _descriptor.Descriptor(
  name='StartProtocolResponse',
  full_name='ont.rpc.protocol.StartProtocolResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_id', full_name='ont.rpc.protocol.StartProtocolResponse.run_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=452,
  serialized_end=491,
)


_STOPPROTOCOLREQUEST = _descriptor.Descriptor(
  name='StopProtocolRequest',
  full_name='ont.rpc.protocol.StopProtocolRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data_action_on_stop', full_name='ont.rpc.protocol.StopProtocolRequest.data_action_on_stop', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=493,
  serialized_end=588,
)


_STOPPROTOCOLRESPONSE = _descriptor.Descriptor(
  name='StopProtocolResponse',
  full_name='ont.rpc.protocol.StopProtocolResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=590,
  serialized_end=612,
)


_LISTPROTOCOLSREQUEST = _descriptor.Descriptor(
  name='ListProtocolsRequest',
  full_name='ont.rpc.protocol.ListProtocolsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='force_reload', full_name='ont.rpc.protocol.ListProtocolsRequest.force_reload', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=614,
  serialized_end=658,
)


_PROTOCOLINFO_TAGVALUE = _descriptor.Descriptor(
  name='TagValue',
  full_name='ont.rpc.protocol.ProtocolInfo.TagValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='string_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.string_value', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bool_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.bool_value', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='int_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.int_value', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='double_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.double_value', index=3,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='array_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.array_value', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='object_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.object_value', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='tag_value', full_name='ont.rpc.protocol.ProtocolInfo.TagValue.tag_value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=851,
  serialized_end=1012,
)

_PROTOCOLINFO_TAGEXTRACTIONRESULT = _descriptor.Descriptor(
  name='TagExtractionResult',
  full_name='ont.rpc.protocol.ProtocolInfo.TagExtractionResult',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='ont.rpc.protocol.ProtocolInfo.TagExtractionResult.success', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='error_report', full_name='ont.rpc.protocol.ProtocolInfo.TagExtractionResult.error_report', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1014,
  serialized_end=1074,
)

_PROTOCOLINFO_TAGSENTRY = _descriptor.Descriptor(
  name='TagsEntry',
  full_name='ont.rpc.protocol.ProtocolInfo.TagsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='ont.rpc.protocol.ProtocolInfo.TagsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='ont.rpc.protocol.ProtocolInfo.TagsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1076,
  serialized_end=1160,
)

_PROTOCOLINFO = _descriptor.Descriptor(
  name='ProtocolInfo',
  full_name='ont.rpc.protocol.ProtocolInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='identifier', full_name='ont.rpc.protocol.ProtocolInfo.identifier', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tags', full_name='ont.rpc.protocol.ProtocolInfo.tags', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='ont.rpc.protocol.ProtocolInfo.name', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tag_extraction_result', full_name='ont.rpc.protocol.ProtocolInfo.tag_extraction_result', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_PROTOCOLINFO_TAGVALUE, _PROTOCOLINFO_TAGEXTRACTIONRESULT, _PROTOCOLINFO_TAGSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=661,
  serialized_end=1160,
)


_LISTPROTOCOLSRESPONSE = _descriptor.Descriptor(
  name='ListProtocolsResponse',
  full_name='ont.rpc.protocol.ListProtocolsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='protocols', full_name='ont.rpc.protocol.ListProtocolsResponse.protocols', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1162,
  serialized_end=1236,
)


_WAITFORFINISHEDREQUEST = _descriptor.Descriptor(
  name='WaitForFinishedRequest',
  full_name='ont.rpc.protocol.WaitForFinishedRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_id', full_name='ont.rpc.protocol.WaitForFinishedRequest.run_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\210\265\030\001', file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='state', full_name='ont.rpc.protocol.WaitForFinishedRequest.state', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timeout', full_name='ont.rpc.protocol.WaitForFinishedRequest.timeout', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _WAITFORFINISHEDREQUEST_NOTIFICATIONSTATE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1239,
  serialized_end=1490,
)


_GETRUNINFOREQUEST = _descriptor.Descriptor(
  name='GetRunInfoRequest',
  full_name='ont.rpc.protocol.GetRunInfoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_id', full_name='ont.rpc.protocol.GetRunInfoRequest.run_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1492,
  serialized_end=1527,
)


_EPI2MEWORKFLOWREFERENCE = _descriptor.Descriptor(
  name='Epi2meWorkflowReference',
  full_name='ont.rpc.protocol.Epi2meWorkflowReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='ont.rpc.protocol.Epi2meWorkflowReference.id', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='url', full_name='ont.rpc.protocol.Epi2meWorkflowReference.url', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1529,
  serialized_end=1579,
)


_PROTOCOLRUNINFO = _descriptor.Descriptor(
  name='ProtocolRunInfo',
  full_name='ont.rpc.protocol.ProtocolRunInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_id', full_name='ont.rpc.protocol.ProtocolRunInfo.run_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='protocol_id', full_name='ont.rpc.protocol.ProtocolRunInfo.protocol_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='args', full_name='ont.rpc.protocol.ProtocolRunInfo.args', index=2,
      number=3, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='output_path', full_name='ont.rpc.protocol.ProtocolRunInfo.output_path', index=3,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='state', full_name='ont.rpc.protocol.ProtocolRunInfo.state', index=4,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='start_time', full_name='ont.rpc.protocol.ProtocolRunInfo.start_time', index=5,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='script_end_time', full_name='ont.rpc.protocol.ProtocolRunInfo.script_end_time', index=6,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_time', full_name='ont.rpc.protocol.ProtocolRunInfo.end_time', index=7,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='acquisition_run_ids', full_name='ont.rpc.protocol.ProtocolRunInfo.acquisition_run_ids', index=8,
      number=7, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user_info', full_name='ont.rpc.protocol.ProtocolRunInfo.user_info', index=9,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='epi2me_workflows', full_name='ont.rpc.protocol.ProtocolRunInfo.epi2me_workflows', index=10,
      number=10, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='device', full_name='ont.rpc.protocol.ProtocolRunInfo.device', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='flow_cell', full_name='ont.rpc.protocol.ProtocolRunInfo.flow_cell', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1582,
  serialized_end=2137,
)


_LISTPROTOCOLRUNSREQUEST = _descriptor.Descriptor(
  name='ListProtocolRunsRequest',
  full_name='ont.rpc.protocol.ListProtocolRunsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2139,
  serialized_end=2164,
)


_LISTPROTOCOLRUNSRESPONSE = _descriptor.Descriptor(
  name='ListProtocolRunsResponse',
  full_name='ont.rpc.protocol.ListProtocolRunsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_ids', full_name='ont.rpc.protocol.ListProtocolRunsResponse.run_ids', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2166,
  serialized_end=2209,
)


_GETCURRENTPROTOCOLRUNREQUEST = _descriptor.Descriptor(
  name='GetCurrentProtocolRunRequest',
  full_name='ont.rpc.protocol.GetCurrentProtocolRunRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2211,
  serialized_end=2241,
)


_GETCURRENTPROTOCOLRUNRESPONSE = _descriptor.Descriptor(
  name='GetCurrentProtocolRunResponse',
  full_name='ont.rpc.protocol.GetCurrentProtocolRunResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_info', full_name='ont.rpc.protocol.GetCurrentProtocolRunResponse.run_info', index=0,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2243,
  serialized_end=2327,
)


_WATCHCURRENTPROTOCOLRUNREQUEST = _descriptor.Descriptor(
  name='WatchCurrentProtocolRunRequest',
  full_name='ont.rpc.protocol.WatchCurrentProtocolRunRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2329,
  serialized_end=2361,
)


_GETCONTEXTINFOREQUEST = _descriptor.Descriptor(
  name='GetContextInfoRequest',
  full_name='ont.rpc.protocol.GetContextInfoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2363,
  serialized_end=2386,
)


_GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY = _descriptor.Descriptor(
  name='ContextInfoEntry',
  full_name='ont.rpc.protocol.GetContextInfoResponse.ContextInfoEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='ont.rpc.protocol.GetContextInfoResponse.ContextInfoEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='ont.rpc.protocol.GetContextInfoResponse.ContextInfoEntry.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2496,
  serialized_end=2546,
)

_GETCONTEXTINFORESPONSE = _descriptor.Descriptor(
  name='GetContextInfoResponse',
  full_name='ont.rpc.protocol.GetContextInfoResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='context_info', full_name='ont.rpc.protocol.GetContextInfoResponse.context_info', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2389,
  serialized_end=2546,
)


_SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY = _descriptor.Descriptor(
  name='ContextInfoEntry',
  full_name='ont.rpc.protocol.SetContextInfoRequest.ContextInfoEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='ont.rpc.protocol.SetContextInfoRequest.ContextInfoEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='ont.rpc.protocol.SetContextInfoRequest.ContextInfoEntry.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2496,
  serialized_end=2546,
)

_SETCONTEXTINFOREQUEST = _descriptor.Descriptor(
  name='SetContextInfoRequest',
  full_name='ont.rpc.protocol.SetContextInfoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='context_info', full_name='ont.rpc.protocol.SetContextInfoRequest.context_info', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2549,
  serialized_end=2704,
)


_SETCONTEXTINFORESPONSE = _descriptor.Descriptor(
  name='SetContextInfoResponse',
  full_name='ont.rpc.protocol.SetContextInfoResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2706,
  serialized_end=2730,
)


_GETSAMPLEIDREQUEST = _descriptor.Descriptor(
  name='GetSampleIdRequest',
  full_name='ont.rpc.protocol.GetSampleIdRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2732,
  serialized_end=2752,
)


_GETSAMPLEIDRESPONSE = _descriptor.Descriptor(
  name='GetSampleIdResponse',
  full_name='ont.rpc.protocol.GetSampleIdResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sample_id', full_name='ont.rpc.protocol.GetSampleIdResponse.sample_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2754,
  serialized_end=2794,
)


_SETSAMPLEIDREQUEST = _descriptor.Descriptor(
  name='SetSampleIdRequest',
  full_name='ont.rpc.protocol.SetSampleIdRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sample_id', full_name='ont.rpc.protocol.SetSampleIdRequest.sample_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2796,
  serialized_end=2835,
)


_SETSAMPLEIDRESPONSE = _descriptor.Descriptor(
  name='SetSampleIdResponse',
  full_name='ont.rpc.protocol.SetSampleIdResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2837,
  serialized_end=2858,
)


_GETPROTOCOLPURPOSEREQUEST = _descriptor.Descriptor(
  name='GetProtocolPurposeRequest',
  full_name='ont.rpc.protocol.GetProtocolPurposeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2860,
  serialized_end=2887,
)


_GETPROTOCOLPURPOSERESPONSE = _descriptor.Descriptor(
  name='GetProtocolPurposeResponse',
  full_name='ont.rpc.protocol.GetProtocolPurposeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='purpose', full_name='ont.rpc.protocol.GetProtocolPurposeResponse.purpose', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2889,
  serialized_end=2934,
)


_SETPROTOCOLPURPOSEREQUEST = _descriptor.Descriptor(
  name='SetProtocolPurposeRequest',
  full_name='ont.rpc.protocol.SetProtocolPurposeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='purpose', full_name='ont.rpc.protocol.SetProtocolPurposeRequest.purpose', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2936,
  serialized_end=2980,
)


_SETPROTOCOLPURPOSERESPONSE = _descriptor.Descriptor(
  name='SetProtocolPurposeResponse',
  full_name='ont.rpc.protocol.SetProtocolPurposeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2982,
  serialized_end=3010,
)


_ADDEPI2MEWORKFLOWREQUEST = _descriptor.Descriptor(
  name='AddEpi2meWorkflowRequest',
  full_name='ont.rpc.protocol.AddEpi2meWorkflowRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='run_id', full_name='ont.rpc.protocol.AddEpi2meWorkflowRequest.run_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\210\265\030\001', file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='epi2me_workflow', full_name='ont.rpc.protocol.AddEpi2meWorkflowRequest.epi2me_workflow', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\210\265\030\001', file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3012,
  serialized_end=3134,
)


_ADDEPI2MEWORKFLOWRESPONSE = _descriptor.Descriptor(
  name='AddEpi2meWorkflowResponse',
  full_name='ont.rpc.protocol.AddEpi2meWorkflowResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3136,
  serialized_end=3163,
)


_LISTPROTOCOLGROUPIDSREQUEST = _descriptor.Descriptor(
  name='ListProtocolGroupIdsRequest',
  full_name='ont.rpc.protocol.ListProtocolGroupIdsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3165,
  serialized_end=3194,
)


_LISTPROTOCOLGROUPIDSRESPONSE = _descriptor.Descriptor(
  name='ListProtocolGroupIdsResponse',
  full_name='ont.rpc.protocol.ListProtocolGroupIdsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='protocol_group_ids', full_name='ont.rpc.protocol.ListProtocolGroupIdsResponse.protocol_group_ids', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3196,
  serialized_end=3254,
)

_PROTOCOLRUNUSERINFO.fields_by_name['protocol_group_id'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE
_PROTOCOLRUNUSERINFO.fields_by_name['sample_id'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE
_STARTPROTOCOLREQUEST.fields_by_name['user_info'].message_type = _PROTOCOLRUNUSERINFO
_STOPPROTOCOLREQUEST.fields_by_name['data_action_on_stop'].enum_type = minknow_dot_rpc_dot_acquisition__pb2._STOPREQUEST_DATAACTION
_PROTOCOLINFO_TAGVALUE.containing_type = _PROTOCOLINFO
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['string_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['string_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['bool_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['bool_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['int_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['int_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['double_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['double_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['array_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['array_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value'].fields.append(
  _PROTOCOLINFO_TAGVALUE.fields_by_name['object_value'])
_PROTOCOLINFO_TAGVALUE.fields_by_name['object_value'].containing_oneof = _PROTOCOLINFO_TAGVALUE.oneofs_by_name['tag_value']
_PROTOCOLINFO_TAGEXTRACTIONRESULT.containing_type = _PROTOCOLINFO
_PROTOCOLINFO_TAGSENTRY.fields_by_name['value'].message_type = _PROTOCOLINFO_TAGVALUE
_PROTOCOLINFO_TAGSENTRY.containing_type = _PROTOCOLINFO
_PROTOCOLINFO.fields_by_name['tags'].message_type = _PROTOCOLINFO_TAGSENTRY
_PROTOCOLINFO.fields_by_name['tag_extraction_result'].message_type = _PROTOCOLINFO_TAGEXTRACTIONRESULT
_LISTPROTOCOLSRESPONSE.fields_by_name['protocols'].message_type = _PROTOCOLINFO
_WAITFORFINISHEDREQUEST.fields_by_name['state'].enum_type = _WAITFORFINISHEDREQUEST_NOTIFICATIONSTATE
_WAITFORFINISHEDREQUEST_NOTIFICATIONSTATE.containing_type = _WAITFORFINISHEDREQUEST
_PROTOCOLRUNINFO.fields_by_name['state'].enum_type = _PROTOCOLSTATE
_PROTOCOLRUNINFO.fields_by_name['start_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_PROTOCOLRUNINFO.fields_by_name['script_end_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_PROTOCOLRUNINFO.fields_by_name['end_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_PROTOCOLRUNINFO.fields_by_name['user_info'].message_type = _PROTOCOLRUNUSERINFO
_PROTOCOLRUNINFO.fields_by_name['epi2me_workflows'].message_type = _EPI2MEWORKFLOWREFERENCE
_PROTOCOLRUNINFO.fields_by_name['device'].message_type = minknow_dot_rpc_dot_device__pb2._GETDEVICEINFORESPONSE
_PROTOCOLRUNINFO.fields_by_name['flow_cell'].message_type = minknow_dot_rpc_dot_device__pb2._GETFLOWCELLINFORESPONSE
_GETCURRENTPROTOCOLRUNRESPONSE.fields_by_name['run_info'].message_type = _PROTOCOLRUNINFO
_GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY.containing_type = _GETCONTEXTINFORESPONSE
_GETCONTEXTINFORESPONSE.fields_by_name['context_info'].message_type = _GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY
_SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY.containing_type = _SETCONTEXTINFOREQUEST
_SETCONTEXTINFOREQUEST.fields_by_name['context_info'].message_type = _SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY
_ADDEPI2MEWORKFLOWREQUEST.fields_by_name['epi2me_workflow'].message_type = _EPI2MEWORKFLOWREFERENCE
DESCRIPTOR.message_types_by_name['ProtocolRunUserInfo'] = _PROTOCOLRUNUSERINFO
DESCRIPTOR.message_types_by_name['StartProtocolRequest'] = _STARTPROTOCOLREQUEST
DESCRIPTOR.message_types_by_name['StartProtocolResponse'] = _STARTPROTOCOLRESPONSE
DESCRIPTOR.message_types_by_name['StopProtocolRequest'] = _STOPPROTOCOLREQUEST
DESCRIPTOR.message_types_by_name['StopProtocolResponse'] = _STOPPROTOCOLRESPONSE
DESCRIPTOR.message_types_by_name['ListProtocolsRequest'] = _LISTPROTOCOLSREQUEST
DESCRIPTOR.message_types_by_name['ProtocolInfo'] = _PROTOCOLINFO
DESCRIPTOR.message_types_by_name['ListProtocolsResponse'] = _LISTPROTOCOLSRESPONSE
DESCRIPTOR.message_types_by_name['WaitForFinishedRequest'] = _WAITFORFINISHEDREQUEST
DESCRIPTOR.message_types_by_name['GetRunInfoRequest'] = _GETRUNINFOREQUEST
DESCRIPTOR.message_types_by_name['Epi2meWorkflowReference'] = _EPI2MEWORKFLOWREFERENCE
DESCRIPTOR.message_types_by_name['ProtocolRunInfo'] = _PROTOCOLRUNINFO
DESCRIPTOR.message_types_by_name['ListProtocolRunsRequest'] = _LISTPROTOCOLRUNSREQUEST
DESCRIPTOR.message_types_by_name['ListProtocolRunsResponse'] = _LISTPROTOCOLRUNSRESPONSE
DESCRIPTOR.message_types_by_name['GetCurrentProtocolRunRequest'] = _GETCURRENTPROTOCOLRUNREQUEST
DESCRIPTOR.message_types_by_name['GetCurrentProtocolRunResponse'] = _GETCURRENTPROTOCOLRUNRESPONSE
DESCRIPTOR.message_types_by_name['WatchCurrentProtocolRunRequest'] = _WATCHCURRENTPROTOCOLRUNREQUEST
DESCRIPTOR.message_types_by_name['GetContextInfoRequest'] = _GETCONTEXTINFOREQUEST
DESCRIPTOR.message_types_by_name['GetContextInfoResponse'] = _GETCONTEXTINFORESPONSE
DESCRIPTOR.message_types_by_name['SetContextInfoRequest'] = _SETCONTEXTINFOREQUEST
DESCRIPTOR.message_types_by_name['SetContextInfoResponse'] = _SETCONTEXTINFORESPONSE
DESCRIPTOR.message_types_by_name['GetSampleIdRequest'] = _GETSAMPLEIDREQUEST
DESCRIPTOR.message_types_by_name['GetSampleIdResponse'] = _GETSAMPLEIDRESPONSE
DESCRIPTOR.message_types_by_name['SetSampleIdRequest'] = _SETSAMPLEIDREQUEST
DESCRIPTOR.message_types_by_name['SetSampleIdResponse'] = _SETSAMPLEIDRESPONSE
DESCRIPTOR.message_types_by_name['GetProtocolPurposeRequest'] = _GETPROTOCOLPURPOSEREQUEST
DESCRIPTOR.message_types_by_name['GetProtocolPurposeResponse'] = _GETPROTOCOLPURPOSERESPONSE
DESCRIPTOR.message_types_by_name['SetProtocolPurposeRequest'] = _SETPROTOCOLPURPOSEREQUEST
DESCRIPTOR.message_types_by_name['SetProtocolPurposeResponse'] = _SETPROTOCOLPURPOSERESPONSE
DESCRIPTOR.message_types_by_name['AddEpi2meWorkflowRequest'] = _ADDEPI2MEWORKFLOWREQUEST
DESCRIPTOR.message_types_by_name['AddEpi2meWorkflowResponse'] = _ADDEPI2MEWORKFLOWRESPONSE
DESCRIPTOR.message_types_by_name['ListProtocolGroupIdsRequest'] = _LISTPROTOCOLGROUPIDSREQUEST
DESCRIPTOR.message_types_by_name['ListProtocolGroupIdsResponse'] = _LISTPROTOCOLGROUPIDSRESPONSE
DESCRIPTOR.enum_types_by_name['ProtocolState'] = _PROTOCOLSTATE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ProtocolRunUserInfo = _reflection.GeneratedProtocolMessageType('ProtocolRunUserInfo', (_message.Message,), {
  'DESCRIPTOR' : _PROTOCOLRUNUSERINFO,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolRunUserInfo)
  })
_sym_db.RegisterMessage(ProtocolRunUserInfo)

StartProtocolRequest = _reflection.GeneratedProtocolMessageType('StartProtocolRequest', (_message.Message,), {
  'DESCRIPTOR' : _STARTPROTOCOLREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.StartProtocolRequest)
  })
_sym_db.RegisterMessage(StartProtocolRequest)

StartProtocolResponse = _reflection.GeneratedProtocolMessageType('StartProtocolResponse', (_message.Message,), {
  'DESCRIPTOR' : _STARTPROTOCOLRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.StartProtocolResponse)
  })
_sym_db.RegisterMessage(StartProtocolResponse)

StopProtocolRequest = _reflection.GeneratedProtocolMessageType('StopProtocolRequest', (_message.Message,), {
  'DESCRIPTOR' : _STOPPROTOCOLREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.StopProtocolRequest)
  })
_sym_db.RegisterMessage(StopProtocolRequest)

StopProtocolResponse = _reflection.GeneratedProtocolMessageType('StopProtocolResponse', (_message.Message,), {
  'DESCRIPTOR' : _STOPPROTOCOLRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.StopProtocolResponse)
  })
_sym_db.RegisterMessage(StopProtocolResponse)

ListProtocolsRequest = _reflection.GeneratedProtocolMessageType('ListProtocolsRequest', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLSREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolsRequest)
  })
_sym_db.RegisterMessage(ListProtocolsRequest)

ProtocolInfo = _reflection.GeneratedProtocolMessageType('ProtocolInfo', (_message.Message,), {

  'TagValue' : _reflection.GeneratedProtocolMessageType('TagValue', (_message.Message,), {
    'DESCRIPTOR' : _PROTOCOLINFO_TAGVALUE,
    '__module__' : 'minknow.rpc.protocol_pb2'
    # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolInfo.TagValue)
    })
  ,

  'TagExtractionResult' : _reflection.GeneratedProtocolMessageType('TagExtractionResult', (_message.Message,), {
    'DESCRIPTOR' : _PROTOCOLINFO_TAGEXTRACTIONRESULT,
    '__module__' : 'minknow.rpc.protocol_pb2'
    # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolInfo.TagExtractionResult)
    })
  ,

  'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), {
    'DESCRIPTOR' : _PROTOCOLINFO_TAGSENTRY,
    '__module__' : 'minknow.rpc.protocol_pb2'
    # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolInfo.TagsEntry)
    })
  ,
  'DESCRIPTOR' : _PROTOCOLINFO,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolInfo)
  })
_sym_db.RegisterMessage(ProtocolInfo)
_sym_db.RegisterMessage(ProtocolInfo.TagValue)
_sym_db.RegisterMessage(ProtocolInfo.TagExtractionResult)
_sym_db.RegisterMessage(ProtocolInfo.TagsEntry)

ListProtocolsResponse = _reflection.GeneratedProtocolMessageType('ListProtocolsResponse', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLSRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolsResponse)
  })
_sym_db.RegisterMessage(ListProtocolsResponse)

WaitForFinishedRequest = _reflection.GeneratedProtocolMessageType('WaitForFinishedRequest', (_message.Message,), {
  'DESCRIPTOR' : _WAITFORFINISHEDREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.WaitForFinishedRequest)
  })
_sym_db.RegisterMessage(WaitForFinishedRequest)

GetRunInfoRequest = _reflection.GeneratedProtocolMessageType('GetRunInfoRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETRUNINFOREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetRunInfoRequest)
  })
_sym_db.RegisterMessage(GetRunInfoRequest)

Epi2meWorkflowReference = _reflection.GeneratedProtocolMessageType('Epi2meWorkflowReference', (_message.Message,), {
  'DESCRIPTOR' : _EPI2MEWORKFLOWREFERENCE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.Epi2meWorkflowReference)
  })
_sym_db.RegisterMessage(Epi2meWorkflowReference)

ProtocolRunInfo = _reflection.GeneratedProtocolMessageType('ProtocolRunInfo', (_message.Message,), {
  'DESCRIPTOR' : _PROTOCOLRUNINFO,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ProtocolRunInfo)
  })
_sym_db.RegisterMessage(ProtocolRunInfo)

ListProtocolRunsRequest = _reflection.GeneratedProtocolMessageType('ListProtocolRunsRequest', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLRUNSREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolRunsRequest)
  })
_sym_db.RegisterMessage(ListProtocolRunsRequest)

ListProtocolRunsResponse = _reflection.GeneratedProtocolMessageType('ListProtocolRunsResponse', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLRUNSRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolRunsResponse)
  })
_sym_db.RegisterMessage(ListProtocolRunsResponse)

GetCurrentProtocolRunRequest = _reflection.GeneratedProtocolMessageType('GetCurrentProtocolRunRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETCURRENTPROTOCOLRUNREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetCurrentProtocolRunRequest)
  })
_sym_db.RegisterMessage(GetCurrentProtocolRunRequest)

GetCurrentProtocolRunResponse = _reflection.GeneratedProtocolMessageType('GetCurrentProtocolRunResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETCURRENTPROTOCOLRUNRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetCurrentProtocolRunResponse)
  })
_sym_db.RegisterMessage(GetCurrentProtocolRunResponse)

WatchCurrentProtocolRunRequest = _reflection.GeneratedProtocolMessageType('WatchCurrentProtocolRunRequest', (_message.Message,), {
  'DESCRIPTOR' : _WATCHCURRENTPROTOCOLRUNREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.WatchCurrentProtocolRunRequest)
  })
_sym_db.RegisterMessage(WatchCurrentProtocolRunRequest)

GetContextInfoRequest = _reflection.GeneratedProtocolMessageType('GetContextInfoRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETCONTEXTINFOREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetContextInfoRequest)
  })
_sym_db.RegisterMessage(GetContextInfoRequest)

GetContextInfoResponse = _reflection.GeneratedProtocolMessageType('GetContextInfoResponse', (_message.Message,), {

  'ContextInfoEntry' : _reflection.GeneratedProtocolMessageType('ContextInfoEntry', (_message.Message,), {
    'DESCRIPTOR' : _GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY,
    '__module__' : 'minknow.rpc.protocol_pb2'
    # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetContextInfoResponse.ContextInfoEntry)
    })
  ,
  'DESCRIPTOR' : _GETCONTEXTINFORESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetContextInfoResponse)
  })
_sym_db.RegisterMessage(GetContextInfoResponse)
_sym_db.RegisterMessage(GetContextInfoResponse.ContextInfoEntry)

SetContextInfoRequest = _reflection.GeneratedProtocolMessageType('SetContextInfoRequest', (_message.Message,), {

  'ContextInfoEntry' : _reflection.GeneratedProtocolMessageType('ContextInfoEntry', (_message.Message,), {
    'DESCRIPTOR' : _SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY,
    '__module__' : 'minknow.rpc.protocol_pb2'
    # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetContextInfoRequest.ContextInfoEntry)
    })
  ,
  'DESCRIPTOR' : _SETCONTEXTINFOREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetContextInfoRequest)
  })
_sym_db.RegisterMessage(SetContextInfoRequest)
_sym_db.RegisterMessage(SetContextInfoRequest.ContextInfoEntry)

SetContextInfoResponse = _reflection.GeneratedProtocolMessageType('SetContextInfoResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETCONTEXTINFORESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetContextInfoResponse)
  })
_sym_db.RegisterMessage(SetContextInfoResponse)

GetSampleIdRequest = _reflection.GeneratedProtocolMessageType('GetSampleIdRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETSAMPLEIDREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetSampleIdRequest)
  })
_sym_db.RegisterMessage(GetSampleIdRequest)

GetSampleIdResponse = _reflection.GeneratedProtocolMessageType('GetSampleIdResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETSAMPLEIDRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetSampleIdResponse)
  })
_sym_db.RegisterMessage(GetSampleIdResponse)

SetSampleIdRequest = _reflection.GeneratedProtocolMessageType('SetSampleIdRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETSAMPLEIDREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetSampleIdRequest)
  })
_sym_db.RegisterMessage(SetSampleIdRequest)

SetSampleIdResponse = _reflection.GeneratedProtocolMessageType('SetSampleIdResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETSAMPLEIDRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetSampleIdResponse)
  })
_sym_db.RegisterMessage(SetSampleIdResponse)

GetProtocolPurposeRequest = _reflection.GeneratedProtocolMessageType('GetProtocolPurposeRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETPROTOCOLPURPOSEREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetProtocolPurposeRequest)
  })
_sym_db.RegisterMessage(GetProtocolPurposeRequest)

GetProtocolPurposeResponse = _reflection.GeneratedProtocolMessageType('GetProtocolPurposeResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETPROTOCOLPURPOSERESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.GetProtocolPurposeResponse)
  })
_sym_db.RegisterMessage(GetProtocolPurposeResponse)

SetProtocolPurposeRequest = _reflection.GeneratedProtocolMessageType('SetProtocolPurposeRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETPROTOCOLPURPOSEREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetProtocolPurposeRequest)
  })
_sym_db.RegisterMessage(SetProtocolPurposeRequest)

SetProtocolPurposeResponse = _reflection.GeneratedProtocolMessageType('SetProtocolPurposeResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETPROTOCOLPURPOSERESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.SetProtocolPurposeResponse)
  })
_sym_db.RegisterMessage(SetProtocolPurposeResponse)

AddEpi2meWorkflowRequest = _reflection.GeneratedProtocolMessageType('AddEpi2meWorkflowRequest', (_message.Message,), {
  'DESCRIPTOR' : _ADDEPI2MEWORKFLOWREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.AddEpi2meWorkflowRequest)
  })
_sym_db.RegisterMessage(AddEpi2meWorkflowRequest)

AddEpi2meWorkflowResponse = _reflection.GeneratedProtocolMessageType('AddEpi2meWorkflowResponse', (_message.Message,), {
  'DESCRIPTOR' : _ADDEPI2MEWORKFLOWRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.AddEpi2meWorkflowResponse)
  })
_sym_db.RegisterMessage(AddEpi2meWorkflowResponse)

ListProtocolGroupIdsRequest = _reflection.GeneratedProtocolMessageType('ListProtocolGroupIdsRequest', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLGROUPIDSREQUEST,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolGroupIdsRequest)
  })
_sym_db.RegisterMessage(ListProtocolGroupIdsRequest)

ListProtocolGroupIdsResponse = _reflection.GeneratedProtocolMessageType('ListProtocolGroupIdsResponse', (_message.Message,), {
  'DESCRIPTOR' : _LISTPROTOCOLGROUPIDSRESPONSE,
  '__module__' : 'minknow.rpc.protocol_pb2'
  # @@protoc_insertion_point(class_scope:ont.rpc.protocol.ListProtocolGroupIdsResponse)
  })
_sym_db.RegisterMessage(ListProtocolGroupIdsResponse)


_STARTPROTOCOLREQUEST.fields_by_name['identifier']._options = None
_PROTOCOLINFO_TAGSENTRY._options = None
_WAITFORFINISHEDREQUEST.fields_by_name['run_id']._options = None
_GETCONTEXTINFORESPONSE_CONTEXTINFOENTRY._options = None
_SETCONTEXTINFOREQUEST_CONTEXTINFOENTRY._options = None
_ADDEPI2MEWORKFLOWREQUEST.fields_by_name['run_id']._options = None
_ADDEPI2MEWORKFLOWREQUEST.fields_by_name['epi2me_workflow']._options = None

_PROTOCOLSERVICE = _descriptor.ServiceDescriptor(
  name='ProtocolService',
  full_name='ont.rpc.protocol.ProtocolService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  serialized_start=3550,
  serialized_end=5280,
  methods=[
  _descriptor.MethodDescriptor(
    name='start_protocol',
    full_name='ont.rpc.protocol.ProtocolService.start_protocol',
    index=0,
    containing_service=None,
    input_type=_STARTPROTOCOLREQUEST,
    output_type=_STARTPROTOCOLRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='stop_protocol',
    full_name='ont.rpc.protocol.ProtocolService.stop_protocol',
    index=1,
    containing_service=None,
    input_type=_STOPPROTOCOLREQUEST,
    output_type=_STOPPROTOCOLRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='wait_for_finished',
    full_name='ont.rpc.protocol.ProtocolService.wait_for_finished',
    index=2,
    containing_service=None,
    input_type=_WAITFORFINISHEDREQUEST,
    output_type=_PROTOCOLRUNINFO,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='get_run_info',
    full_name='ont.rpc.protocol.ProtocolService.get_run_info',
    index=3,
    containing_service=None,
    input_type=_GETRUNINFOREQUEST,
    output_type=_PROTOCOLRUNINFO,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='list_protocol_runs',
    full_name='ont.rpc.protocol.ProtocolService.list_protocol_runs',
    index=4,
    containing_service=None,
    input_type=_LISTPROTOCOLRUNSREQUEST,
    output_type=_LISTPROTOCOLRUNSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='get_current_protocol_run',
    full_name='ont.rpc.protocol.ProtocolService.get_current_protocol_run',
    index=5,
    containing_service=None,
    input_type=_GETCURRENTPROTOCOLRUNREQUEST,
    output_type=_PROTOCOLRUNINFO,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='watch_current_protocol_run',
    full_name='ont.rpc.protocol.ProtocolService.watch_current_protocol_run',
    index=6,
    containing_service=None,
    input_type=_WATCHCURRENTPROTOCOLRUNREQUEST,
    output_type=_PROTOCOLRUNINFO,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='list_protocols',
    full_name='ont.rpc.protocol.ProtocolService.list_protocols',
    index=7,
    containing_service=None,
    input_type=_LISTPROTOCOLSREQUEST,
    output_type=_LISTPROTOCOLSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='get_context_info',
    full_name='ont.rpc.protocol.ProtocolService.get_context_info',
    index=8,
    containing_service=None,
    input_type=_GETCONTEXTINFOREQUEST,
    output_type=_GETCONTEXTINFORESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='set_context_info',
    full_name='ont.rpc.protocol.ProtocolService.set_context_info',
    index=9,
    containing_service=None,
    input_type=_SETCONTEXTINFOREQUEST,
    output_type=_SETCONTEXTINFORESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='get_sample_id',
    full_name='ont.rpc.protocol.ProtocolService.get_sample_id',
    index=10,
    containing_service=None,
    input_type=_GETSAMPLEIDREQUEST,
    output_type=_GETSAMPLEIDRESPONSE,
    serialized_options=b'\210\002\001',
  ),
  _descriptor.MethodDescriptor(
    name='set_sample_id',
    full_name='ont.rpc.protocol.ProtocolService.set_sample_id',
    index=11,
    containing_service=None,
    input_type=_SETSAMPLEIDREQUEST,
    output_type=_SETSAMPLEIDRESPONSE,
    serialized_options=b'\210\002\001',
  ),
  _descriptor.MethodDescriptor(
    name='get_protocol_purpose',
    full_name='ont.rpc.protocol.ProtocolService.get_protocol_purpose',
    index=12,
    containing_service=None,
    input_type=_GETPROTOCOLPURPOSEREQUEST,
    output_type=_GETPROTOCOLPURPOSERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='set_protocol_purpose',
    full_name='ont.rpc.protocol.ProtocolService.set_protocol_purpose',
    index=13,
    containing_service=None,
    input_type=_SETPROTOCOLPURPOSEREQUEST,
    output_type=_SETPROTOCOLPURPOSERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='add_epi2me_workflow',
    full_name='ont.rpc.protocol.ProtocolService.add_epi2me_workflow',
    index=14,
    containing_service=None,
    input_type=_ADDEPI2MEWORKFLOWREQUEST,
    output_type=_ADDEPI2MEWORKFLOWRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='list_protocol_group_ids',
    full_name='ont.rpc.protocol.ProtocolService.list_protocol_group_ids',
    index=15,
    containing_service=None,
    input_type=_LISTPROTOCOLGROUPIDSREQUEST,
    output_type=_LISTPROTOCOLGROUPIDSRESPONSE,
    serialized_options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_PROTOCOLSERVICE)

DESCRIPTOR.services_by_name['ProtocolService'] = _PROTOCOLSERVICE

# @@protoc_insertion_point(module_scope)
