diff --git a/generated-py/imrpc/common_pb2.py b/generated-py/imrpc/common_pb2.py index fa35678..275ef39 100644 --- a/generated-py/imrpc/common_pb2.py +++ b/generated-py/imrpc/common_pb2.py @@ -13,13 +13,12 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12imrpc/common.proto\x12\x05imrpc\"4\n\rShardEndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\nslot_index\x18\x02 \x01(\r\"\xe6\x01\n\x0eShardGroupSpec\x12\x13\n\x0b\x64\x61ta_chunks\x18\x01 \x01(\r\x12\x15\n\rparity_chunks\x18\x02 \x01(\r\x12\x15\n\rstrip_size_kb\x18\x03 \x01(\r\x12\x31\n\x06shards\x18\x04 \x03(\x0b\x32!.imrpc.ShardGroupSpec.ShardsEntry\x12\x19\n\x11salvage_requested\x18\x05 \x01(\x08\x1a\x43\n\x0bShardsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.imrpc.ShardEndpoint:\x02\x38\x01\"V\n\x11LinkedCloneSource\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x16\n\x0e\x65ngine_address\x18\x03 \x01(\t*$\n\x12\x42\x61\x63kendStoreDriver\x12\x06\n\x02v1\x10\x00\x12\x06\n\x02v2\x10\x01*4\n\nDataEngine\x12\x12\n\x0e\x44\x41TA_ENGINE_V1\x10\x00\x12\x12\n\x0e\x44\x41TA_ENGINE_V2\x10\x01*B\n\tCloneMode\x12\x18\n\x14\x43LONE_MODE_FULL_COPY\x10\x00\x12\x1b\n\x17\x43LONE_MODE_LINKED_CLONE\x10\x01*O\n\x0e\x44\x61taLayoutType\x12\x1f\n\x1b\x44\x41TA_LAYOUT_TYPE_REPLICATED\x10\x00\x12\x1c\n\x18\x44\x41TA_LAYOUT_TYPE_SHARDED\x10\x01\x42/Z-github.com/longhorn/types/pkg/generated/imrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12imrpc/common.proto\x12\x05imrpc\"4\n\rShardEndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\nslot_index\x18\x02 \x01(\r\"\xe6\x01\n\x0eShardGroupSpec\x12\x13\n\x0b\x64\x61ta_chunks\x18\x01 \x01(\r\x12\x15\n\rparity_chunks\x18\x02 \x01(\r\x12\x15\n\rstrip_size_kb\x18\x03 \x01(\r\x12\x31\n\x06shards\x18\x04 \x03(\x0b\x32!.imrpc.ShardGroupSpec.ShardsEntry\x12\x19\n\x11salvage_requested\x18\x05 \x01(\x08\x1a\x43\n\x0bShardsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.imrpc.ShardEndpoint:\x02\x38\x01\"V\n\x11LinkedCloneSource\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x16\n\x0e\x65ngine_address\x18\x03 \x01(\t*$\n\x12\x42\x61\x63kendStoreDriver\x12\x06\n\x02v1\x10\x00\x12\x06\n\x02v2\x10\x01*4\n\nDataEngine\x12\x12\n\x0e\x44\x41TA_ENGINE_V1\x10\x00\x12\x12\n\x0e\x44\x41TA_ENGINE_V2\x10\x01*B\n\tCloneMode\x12\x18\n\x14\x43LONE_MODE_FULL_COPY\x10\x00\x12\x1b\n\x17\x43LONE_MODE_LINKED_CLONE\x10\x01*O\n\x0e\x44\x61taLayoutType\x12\x1f\n\x1b\x44\x41TA_LAYOUT_TYPE_REPLICATED\x10\x00\x12\x1c\n\x18\x44\x41TA_LAYOUT_TYPE_SHARDED\x10\x01*@\n\rTransportType\x12\x16\n\x12TRANSPORT_TYPE_TCP\x10\x00\x12\x17\n\x13TRANSPORT_TYPE_RDMA\x10\x01\x42/Z-github.com/longhorn/types/pkg/generated/imrpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'imrpc.common_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z-github.com/longhorn/types/pkg/generated/imrpc' _SHARDGROUPSPEC_SHARDSENTRY._options = None @@ -32,6 +31,8 @@ _globals['_CLONEMODE']._serialized_end=562 _globals['_DATALAYOUTTYPE']._serialized_start=564 _globals['_DATALAYOUTTYPE']._serialized_end=643 + _globals['_TRANSPORTTYPE']._serialized_start=645 + _globals['_TRANSPORTTYPE']._serialized_end=709 _globals['_SHARDENDPOINT']._serialized_start=29 _globals['_SHARDENDPOINT']._serialized_end=81 _globals['_SHARDGROUPSPEC']._serialized_start=84 @@ -41,3 +42,4 @@ _globals['_LINKEDCLONESOURCE']._serialized_start=316 _globals['_LINKEDCLONESOURCE']._serialized_end=402 # @@protoc_insertion_point(module_scope) + diff --git a/generated-py/imrpc/instance_pb2.py b/generated-py/imrpc/instance_pb2.py index 62c82fe..c73c9e6 100644 --- a/generated-py/imrpc/instance_pb2.py +++ b/generated-py/imrpc/instance_pb2.py @@ -16,13 +16,12 @@ from imrpc import imrpc_pb2 as imrpc_dot_imrpc__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14imrpc/instance.proto\x12\x05imrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x12imrpc/common.proto\x1a\x11imrpc/imrpc.proto\"3\n\x13ProcessInstanceSpec\x12\x0e\n\x06\x62inary\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\"\x8b\x04\n\x10SpdkInstanceSpec\x12K\n\x13replica_address_map\x18\x01 \x03(\x0b\x32..imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x17\n\x0f\x65xpose_required\x18\x05 \x01(\x08\x12\x10\n\x08\x66rontend\x18\x06 \x01(\t\x12\x19\n\x11salvage_requested\x18\x07 \x01(\x08\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x08 \x01(\t\x12\x18\n\x10ublk_queue_depth\x18\t \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\n \x01(\x05\x12\x1a\n\x12snapshot_max_count\x18\x0b \x01(\x05\x12\x12\n\nslot_index\x18\x0c \x01(\r\x12\x10\n\x08lvs_name\x18\r \x01(\t\x12\x10\n\x08lvs_uuid\x18\x0e \x01(\t\x12/\n\x10shard_group_spec\x18\x0f \x01(\x0b\x32\x15.imrpc.ShardGroupSpec\x12\x1d\n\x15nvme_tcp_nr_io_queues\x18\x10 \x01(\x05\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9d\x03\n\x0cInstanceSpec\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x13\n\x0bvolume_name\x18\x04 \x01(\t\x12\x12\n\nport_count\x18\x05 \x01(\x05\x12\x11\n\tport_args\x18\x06 \x03(\t\x12\x39\n\x15process_instance_spec\x18\x07 \x01(\x0b\x32\x1a.imrpc.ProcessInstanceSpec\x12\x33\n\x12spdk_instance_spec\x18\x08 \x01(\x0b\x32\x17.imrpc.SpdkInstanceSpec\x12&\n\x0b\x64\x61ta_engine\x18\t \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x18\n\x10upgrade_required\x18\n \x01(\x08\x12\x19\n\x11initiator_address\x18\x0b \x01(\t\x12\x16\n\x0etarget_address\x18\x0c \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\r \x01(\t\"\x87\x01\n\x19\x45ngineFrontendNvmeTcpPath\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x11\n\ttarget_ip\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\x05\x12\x0b\n\x03nqn\x18\x04 \x01(\t\x12\r\n\x05nguid\x18\x05 \x01(\t\x12\x11\n\tana_state\x18\x06 \x01(\t\"\xf4\x03\n\x0eInstanceStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x11\n\terror_msg\x18\x02 \x01(\t\x12\x12\n\nport_start\x18\x03 \x01(\x05\x12\x10\n\x08port_end\x18\x04 \x01(\x05\x12\x39\n\nconditions\x18\x05 \x03(\x0b\x32%.imrpc.InstanceStatus.ConditionsEntry\x12\x19\n\x11target_port_start\x18\x06 \x01(\x05\x12\x17\n\x0ftarget_port_end\x18\x07 \x01(\x05\x12!\n\x19standby_target_port_start\x18\x08 \x01(\x05\x12\x1f\n\x17standby_target_port_end\x18\t \x01(\x05\x12\x0f\n\x07ublk_id\x18\n \x01(\x05\x12\x0c\n\x04uuid\x18\x0b \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x0c \x01(\t\x12\x10\n\x08\x65ndpoint\x18\r \x01(\t\x12\x10\n\x08\x66rontend\x18\x0e \x01(\t\x12\x13\n\x0b\x61\x63tive_path\x18\x0f \x01(\t\x12\x16\n\x0epreferred_path\x18\x10 \x01(\t\x12/\n\x05paths\x18\x11 \x03(\x0b\x32 .imrpc.EngineFrontendNvmeTcpPath\x1a\x31\n\x0f\x43onditionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"k\n\x15InstanceCreateRequest\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12/\n\x10\x64\x61ta_layout_type\x18\x02 \x01(\x0e\x32\x15.imrpc.DataLayoutType\"\xd3\x01\n\x15InstanceDeleteRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x11\n\tdisk_uuid\x18\x04 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x05 \x01(\x08\x12&\n\x0b\x64\x61ta_engine\x18\x06 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04uuid\x18\x07 \x01(\t\"\x95\x01\n\x12InstanceGetRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12&\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x11.imrpc.DataEngine\"m\n\x10InstanceResponse\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12%\n\x06status\x18\x02 \x01(\x0b\x32\x15.imrpc.InstanceStatus\x12\x0f\n\x07\x64\x65leted\x18\x03 \x01(\x08\"\xa0\x01\n\x14InstanceListResponse\x12=\n\tinstances\x18\x01 \x03(\x0b\x32*.imrpc.InstanceListResponse.InstancesEntry\x1aI\n\x0eInstancesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.imrpc.InstanceResponse:\x02\x38\x01\"\x95\x01\n\x12InstanceLogRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12&\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x11.imrpc.DataEngine\"U\n\x16InstanceReplaceRequest\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12\x18\n\x10terminate_signal\x18\x02 \x01(\t\"\\\n\x16InstanceSuspendRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"[\n\x15InstanceResumeRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"\xac\x01\n\x1fInstanceSwitchOverTargetRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x16\n\x0etarget_address\x18\x04 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x18\n\x10switchover_phase\x18\x06 \x01(\t\"a\n\x1bInstanceDeleteTargetRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"K\n\x12LogSetLevelRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\r\n\x05level\x18\x02 \x01(\t\"K\n\x12LogSetFlagsRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\r\n\x05\x66lags\x18\x02 \x01(\t\"<\n\x12LogGetLevelRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"<\n\x12LogGetFlagsRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t2\x93\t\n\x0fInstanceService\x12I\n\x0eInstanceCreate\x12\x1c.imrpc.InstanceCreateRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12I\n\x0eInstanceDelete\x12\x1c.imrpc.InstanceDeleteRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12\x43\n\x0bInstanceGet\x12\x19.imrpc.InstanceGetRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12\x45\n\x0cInstanceList\x12\x16.google.protobuf.Empty\x1a\x1b.imrpc.InstanceListResponse\"\x00\x12:\n\x0bInstanceLog\x12\x19.imrpc.InstanceLogRequest\x1a\x0c.LogResponse\"\x00\x30\x01\x12\x43\n\rInstanceWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12K\n\x0fInstanceReplace\x12\x1d.imrpc.InstanceReplaceRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12J\n\x0fInstanceSuspend\x12\x1d.imrpc.InstanceSuspendRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\x0eInstanceResume\x12\x1c.imrpc.InstanceResumeRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x18InstanceSwitchOverTarget\x12&.imrpc.InstanceSwitchOverTargetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x14InstanceDeleteTarget\x12\".imrpc.InstanceDeleteTargetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12@\n\x0bLogSetLevel\x12\x19.imrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12@\n\x0bLogSetFlags\x12\x19.imrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0bLogGetLevel\x12\x19.imrpc.LogGetLevelRequest\x1a\x1a.imrpc.LogGetLevelResponse\x12\x44\n\x0bLogGetFlags\x12\x19.imrpc.LogGetFlagsRequest\x1a\x1a.imrpc.LogGetFlagsResponse\x12\x36\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x10.VersionResponseB/Z-github.com/longhorn/types/pkg/generated/imrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14imrpc/instance.proto\x12\x05imrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x12imrpc/common.proto\x1a\x11imrpc/imrpc.proto\"3\n\x13ProcessInstanceSpec\x12\x0e\n\x06\x62inary\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\"\xb9\x04\n\x10SpdkInstanceSpec\x12K\n\x13replica_address_map\x18\x01 \x03(\x0b\x32..imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x17\n\x0f\x65xpose_required\x18\x05 \x01(\x08\x12\x10\n\x08\x66rontend\x18\x06 \x01(\t\x12\x19\n\x11salvage_requested\x18\x07 \x01(\x08\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x08 \x01(\t\x12\x18\n\x10ublk_queue_depth\x18\t \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\n \x01(\x05\x12\x1a\n\x12snapshot_max_count\x18\x0b \x01(\x05\x12\x12\n\nslot_index\x18\x0c \x01(\r\x12\x10\n\x08lvs_name\x18\r \x01(\t\x12\x10\n\x08lvs_uuid\x18\x0e \x01(\t\x12/\n\x10shard_group_spec\x18\x0f \x01(\x0b\x32\x15.imrpc.ShardGroupSpec\x12\x1d\n\x15nvme_tcp_nr_io_queues\x18\x10 \x01(\x05\x12,\n\x0etransport_type\x18\x11 \x01(\x0e\x32\x14.imrpc.TransportType\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9d\x03\n\x0cInstanceSpec\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x13\n\x0bvolume_name\x18\x04 \x01(\t\x12\x12\n\nport_count\x18\x05 \x01(\x05\x12\x11\n\tport_args\x18\x06 \x03(\t\x12\x39\n\x15process_instance_spec\x18\x07 \x01(\x0b\x32\x1a.imrpc.ProcessInstanceSpec\x12\x33\n\x12spdk_instance_spec\x18\x08 \x01(\x0b\x32\x17.imrpc.SpdkInstanceSpec\x12&\n\x0b\x64\x61ta_engine\x18\t \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x18\n\x10upgrade_required\x18\n \x01(\x08\x12\x19\n\x11initiator_address\x18\x0b \x01(\t\x12\x16\n\x0etarget_address\x18\x0c \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\r \x01(\t\"\x87\x01\n\x19\x45ngineFrontendNvmeTcpPath\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x11\n\ttarget_ip\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\x05\x12\x0b\n\x03nqn\x18\x04 \x01(\t\x12\r\n\x05nguid\x18\x05 \x01(\t\x12\x11\n\tana_state\x18\x06 \x01(\t\"\xf4\x03\n\x0eInstanceStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x11\n\terror_msg\x18\x02 \x01(\t\x12\x12\n\nport_start\x18\x03 \x01(\x05\x12\x10\n\x08port_end\x18\x04 \x01(\x05\x12\x39\n\nconditions\x18\x05 \x03(\x0b\x32%.imrpc.InstanceStatus.ConditionsEntry\x12\x19\n\x11target_port_start\x18\x06 \x01(\x05\x12\x17\n\x0ftarget_port_end\x18\x07 \x01(\x05\x12!\n\x19standby_target_port_start\x18\x08 \x01(\x05\x12\x1f\n\x17standby_target_port_end\x18\t \x01(\x05\x12\x0f\n\x07ublk_id\x18\n \x01(\x05\x12\x0c\n\x04uuid\x18\x0b \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x0c \x01(\t\x12\x10\n\x08\x65ndpoint\x18\r \x01(\t\x12\x10\n\x08\x66rontend\x18\x0e \x01(\t\x12\x13\n\x0b\x61\x63tive_path\x18\x0f \x01(\t\x12\x16\n\x0epreferred_path\x18\x10 \x01(\t\x12/\n\x05paths\x18\x11 \x03(\x0b\x32 .imrpc.EngineFrontendNvmeTcpPath\x1a\x31\n\x0f\x43onditionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"k\n\x15InstanceCreateRequest\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12/\n\x10\x64\x61ta_layout_type\x18\x02 \x01(\x0e\x32\x15.imrpc.DataLayoutType\"\xd3\x01\n\x15InstanceDeleteRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x11\n\tdisk_uuid\x18\x04 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x05 \x01(\x08\x12&\n\x0b\x64\x61ta_engine\x18\x06 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04uuid\x18\x07 \x01(\t\"\x95\x01\n\x12InstanceGetRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12&\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x11.imrpc.DataEngine\"m\n\x10InstanceResponse\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12%\n\x06status\x18\x02 \x01(\x0b\x32\x15.imrpc.InstanceStatus\x12\x0f\n\x07\x64\x65leted\x18\x03 \x01(\x08\"\xa0\x01\n\x14InstanceListResponse\x12=\n\tinstances\x18\x01 \x03(\x0b\x32*.imrpc.InstanceListResponse.InstancesEntry\x1aI\n\x0eInstancesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.imrpc.InstanceResponse:\x02\x38\x01\"\x95\x01\n\x12InstanceLogRequest\x12;\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x19.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12&\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x11.imrpc.DataEngine\"U\n\x16InstanceReplaceRequest\x12!\n\x04spec\x18\x01 \x01(\x0b\x32\x13.imrpc.InstanceSpec\x12\x18\n\x10terminate_signal\x18\x02 \x01(\t\"\\\n\x16InstanceSuspendRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"[\n\x15InstanceResumeRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"\xac\x01\n\x1fInstanceSwitchOverTargetRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x16\n\x0etarget_address\x18\x04 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x18\n\x10switchover_phase\x18\x06 \x01(\t\"a\n\x1bInstanceDeleteTargetRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"K\n\x12LogSetLevelRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\r\n\x05level\x18\x02 \x01(\t\"K\n\x12LogSetFlagsRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\x12\r\n\x05\x66lags\x18\x02 \x01(\t\"<\n\x12LogGetLevelRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"<\n\x12LogGetFlagsRequest\x12&\n\x0b\x64\x61ta_engine\x18\x01 \x01(\x0e\x32\x11.imrpc.DataEngine\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t2\x93\t\n\x0fInstanceService\x12I\n\x0eInstanceCreate\x12\x1c.imrpc.InstanceCreateRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12I\n\x0eInstanceDelete\x12\x1c.imrpc.InstanceDeleteRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12\x43\n\x0bInstanceGet\x12\x19.imrpc.InstanceGetRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12\x45\n\x0cInstanceList\x12\x16.google.protobuf.Empty\x1a\x1b.imrpc.InstanceListResponse\"\x00\x12:\n\x0bInstanceLog\x12\x19.imrpc.InstanceLogRequest\x1a\x0c.LogResponse\"\x00\x30\x01\x12\x43\n\rInstanceWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12K\n\x0fInstanceReplace\x12\x1d.imrpc.InstanceReplaceRequest\x1a\x17.imrpc.InstanceResponse\"\x00\x12J\n\x0fInstanceSuspend\x12\x1d.imrpc.InstanceSuspendRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\x0eInstanceResume\x12\x1c.imrpc.InstanceResumeRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x18InstanceSwitchOverTarget\x12&.imrpc.InstanceSwitchOverTargetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x14InstanceDeleteTarget\x12\".imrpc.InstanceDeleteTargetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12@\n\x0bLogSetLevel\x12\x19.imrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12@\n\x0bLogSetFlags\x12\x19.imrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0bLogGetLevel\x12\x19.imrpc.LogGetLevelRequest\x1a\x1a.imrpc.LogGetLevelResponse\x12\x44\n\x0bLogGetFlags\x12\x19.imrpc.LogGetFlagsRequest\x1a\x1a.imrpc.LogGetFlagsResponse\x12\x36\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x10.VersionResponseB/Z-github.com/longhorn/types/pkg/generated/imrpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'imrpc.instance_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z-github.com/longhorn/types/pkg/generated/imrpc' _SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY._options = None @@ -42,53 +41,54 @@ _globals['_PROCESSINSTANCESPEC']._serialized_start=99 _globals['_PROCESSINSTANCESPEC']._serialized_end=150 _globals['_SPDKINSTANCESPEC']._serialized_start=153 - _globals['_SPDKINSTANCESPEC']._serialized_end=676 - _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_start=620 - _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_end=676 - _globals['_INSTANCESPEC']._serialized_start=679 - _globals['_INSTANCESPEC']._serialized_end=1092 - _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_start=1095 - _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_end=1230 - _globals['_INSTANCESTATUS']._serialized_start=1233 - _globals['_INSTANCESTATUS']._serialized_end=1733 - _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_start=1684 - _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_end=1733 - _globals['_INSTANCECREATEREQUEST']._serialized_start=1735 - _globals['_INSTANCECREATEREQUEST']._serialized_end=1842 - _globals['_INSTANCEDELETEREQUEST']._serialized_start=1845 - _globals['_INSTANCEDELETEREQUEST']._serialized_end=2056 - _globals['_INSTANCEGETREQUEST']._serialized_start=2059 - _globals['_INSTANCEGETREQUEST']._serialized_end=2208 - _globals['_INSTANCERESPONSE']._serialized_start=2210 - _globals['_INSTANCERESPONSE']._serialized_end=2319 - _globals['_INSTANCELISTRESPONSE']._serialized_start=2322 - _globals['_INSTANCELISTRESPONSE']._serialized_end=2482 - _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_start=2409 - _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_end=2482 - _globals['_INSTANCELOGREQUEST']._serialized_start=2485 - _globals['_INSTANCELOGREQUEST']._serialized_end=2634 - _globals['_INSTANCEREPLACEREQUEST']._serialized_start=2636 - _globals['_INSTANCEREPLACEREQUEST']._serialized_end=2721 - _globals['_INSTANCESUSPENDREQUEST']._serialized_start=2723 - _globals['_INSTANCESUSPENDREQUEST']._serialized_end=2815 - _globals['_INSTANCERESUMEREQUEST']._serialized_start=2817 - _globals['_INSTANCERESUMEREQUEST']._serialized_end=2908 - _globals['_INSTANCESWITCHOVERTARGETREQUEST']._serialized_start=2911 - _globals['_INSTANCESWITCHOVERTARGETREQUEST']._serialized_end=3083 - _globals['_INSTANCEDELETETARGETREQUEST']._serialized_start=3085 - _globals['_INSTANCEDELETETARGETREQUEST']._serialized_end=3182 - _globals['_LOGSETLEVELREQUEST']._serialized_start=3184 - _globals['_LOGSETLEVELREQUEST']._serialized_end=3259 - _globals['_LOGSETFLAGSREQUEST']._serialized_start=3261 - _globals['_LOGSETFLAGSREQUEST']._serialized_end=3336 - _globals['_LOGGETLEVELREQUEST']._serialized_start=3338 - _globals['_LOGGETLEVELREQUEST']._serialized_end=3398 - _globals['_LOGGETLEVELRESPONSE']._serialized_start=3400 - _globals['_LOGGETLEVELRESPONSE']._serialized_end=3436 - _globals['_LOGGETFLAGSREQUEST']._serialized_start=3438 - _globals['_LOGGETFLAGSREQUEST']._serialized_end=3498 - _globals['_LOGGETFLAGSRESPONSE']._serialized_start=3500 - _globals['_LOGGETFLAGSRESPONSE']._serialized_end=3536 - _globals['_INSTANCESERVICE']._serialized_start=3539 - _globals['_INSTANCESERVICE']._serialized_end=4710 + _globals['_SPDKINSTANCESPEC']._serialized_end=722 + _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_start=666 + _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_end=722 + _globals['_INSTANCESPEC']._serialized_start=725 + _globals['_INSTANCESPEC']._serialized_end=1138 + _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_start=1141 + _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_end=1276 + _globals['_INSTANCESTATUS']._serialized_start=1279 + _globals['_INSTANCESTATUS']._serialized_end=1779 + _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_start=1730 + _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_end=1779 + _globals['_INSTANCECREATEREQUEST']._serialized_start=1781 + _globals['_INSTANCECREATEREQUEST']._serialized_end=1888 + _globals['_INSTANCEDELETEREQUEST']._serialized_start=1891 + _globals['_INSTANCEDELETEREQUEST']._serialized_end=2102 + _globals['_INSTANCEGETREQUEST']._serialized_start=2105 + _globals['_INSTANCEGETREQUEST']._serialized_end=2254 + _globals['_INSTANCERESPONSE']._serialized_start=2256 + _globals['_INSTANCERESPONSE']._serialized_end=2365 + _globals['_INSTANCELISTRESPONSE']._serialized_start=2368 + _globals['_INSTANCELISTRESPONSE']._serialized_end=2528 + _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_start=2455 + _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_end=2528 + _globals['_INSTANCELOGREQUEST']._serialized_start=2531 + _globals['_INSTANCELOGREQUEST']._serialized_end=2680 + _globals['_INSTANCEREPLACEREQUEST']._serialized_start=2682 + _globals['_INSTANCEREPLACEREQUEST']._serialized_end=2767 + _globals['_INSTANCESUSPENDREQUEST']._serialized_start=2769 + _globals['_INSTANCESUSPENDREQUEST']._serialized_end=2861 + _globals['_INSTANCERESUMEREQUEST']._serialized_start=2863 + _globals['_INSTANCERESUMEREQUEST']._serialized_end=2954 + _globals['_INSTANCESWITCHOVERTARGETREQUEST']._serialized_start=2957 + _globals['_INSTANCESWITCHOVERTARGETREQUEST']._serialized_end=3129 + _globals['_INSTANCEDELETETARGETREQUEST']._serialized_start=3131 + _globals['_INSTANCEDELETETARGETREQUEST']._serialized_end=3228 + _globals['_LOGSETLEVELREQUEST']._serialized_start=3230 + _globals['_LOGSETLEVELREQUEST']._serialized_end=3305 + _globals['_LOGSETFLAGSREQUEST']._serialized_start=3307 + _globals['_LOGSETFLAGSREQUEST']._serialized_end=3382 + _globals['_LOGGETLEVELREQUEST']._serialized_start=3384 + _globals['_LOGGETLEVELREQUEST']._serialized_end=3444 + _globals['_LOGGETLEVELRESPONSE']._serialized_start=3446 + _globals['_LOGGETLEVELRESPONSE']._serialized_end=3482 + _globals['_LOGGETFLAGSREQUEST']._serialized_start=3484 + _globals['_LOGGETFLAGSREQUEST']._serialized_end=3544 + _globals['_LOGGETFLAGSRESPONSE']._serialized_start=3546 + _globals['_LOGGETFLAGSRESPONSE']._serialized_end=3582 + _globals['_INSTANCESERVICE']._serialized_start=3585 + _globals['_INSTANCESERVICE']._serialized_end=4756 # @@protoc_insertion_point(module_scope) + diff --git a/generated-py/spdkrpc/spdk_pb2.py b/generated-py/spdkrpc/spdk_pb2.py index 98a9c9b..fc633f7 100644 --- a/generated-py/spdkrpc/spdk_pb2.py +++ b/generated-py/spdkrpc/spdk_pb2.py @@ -17,13 +17,12 @@ from spdkrpc import shardgroup_pb2 as spdkrpc_dot_shardgroup__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12spdkrpc/spdk.proto\x12\x07spdkrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x12spdkrpc/lvol.proto\x1a\x13spdkrpc/shard.proto\x1a\x18spdkrpc/shardgroup.proto\"\xbf\x04\n\x07Replica\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x05 \x01(\x04\x12\n\n\x02ip\x18\x06 \x01(\t\x12\x12\n\nport_start\x18\x07 \x01(\x05\x12\x10\n\x08port_end\x18\x08 \x01(\x05\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x32\n\tsnapshots\x18\n \x03(\x0b\x32\x1f.spdkrpc.Replica.SnapshotsEntry\x12\x12\n\nrebuilding\x18\x0b \x01(\x08\x12\r\n\x05state\x18\x0c \x01(\t\x12\x11\n\terror_msg\x18\r \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x0e \x01(\t\x12\x0c\n\x04uuid\x18\x0f \x01(\t\x12\x33\n\x11linked_clone_info\x18\x10 \x01(\x0b\x32\x18.spdkrpc.LinkedCloneInfo\x12\x46\n\x14\x63lone_snapshot_usage\x18\x11 \x03(\x0b\x32(.spdkrpc.Replica.CloneSnapshotUsageEntry\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\x1a\x39\n\x17\x43loneSnapshotUsageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"L\n\x0fLinkedCloneInfo\x12\x1b\n\x13source_replica_name\x18\x01 \x01(\t\x12\x1c\n\x14source_snapshot_name\x18\x02 \x01(\t\"m\n\x11LinkedCloneSource\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x03 \x01(\t\x12\x16\n\x0e\x65ngine_address\x18\x04 \x01(\t\"\x8b\x01\n\x14ReplicaCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x12\n\nport_count\x18\x05 \x01(\x05\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x06 \x01(\t\">\n\x14ReplicaDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x02 \x01(\x08\"!\n\x11ReplicaGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\x14ReplicaExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"\x96\x01\n\x13ReplicaListResponse\x12<\n\x08replicas\x18\x01 \x03(\x0b\x32*.spdkrpc.ReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"\x86\x01\n ReplicaRebuildingSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13\x64st_replica_address\x18\x03 \x01(\t\x12\x1d\n\x15\x65xposed_snapshot_name\x18\x04 \x01(\t\"J\n!ReplicaRebuildingSrcStartResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"K\n!ReplicaRebuildingSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"w\n+ReplicaRebuildingSrcShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\"\x9e\x01\n0ReplicaRebuildingSrcRangeShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\x12 \n\x18mismatching_cluster_list\x18\x04 \x03(\x04\"l\n+ReplicaRebuildingSrcShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\"\x9b\x01\n,ReplicaRebuildingSrcShallowCopyCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\x12\x18\n\x10handled_clusters\x18\x05 \x01(\x04\x12\x17\n\x0f\x63opied_clusters\x18\x02 \x01(\x04\"\x94\x02\n ReplicaRebuildingDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x1e\n\x16\x65xternal_snapshot_name\x18\x04 \x01(\t\x12!\n\x19\x65xternal_snapshot_address\x18\x05 \x01(\t\x12/\n\x18rebuilding_snapshot_list\x18\x06 \x03(\x0b\x32\r.spdkrpc.Lvol\x12\x37\n\x13linked_clone_source\x18\x07 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"B\n!ReplicaRebuildingDstStartResponse\x12\x1d\n\x15\x64st_head_lvol_address\x18\x01 \x01(\t\"1\n!ReplicaRebuildingDstFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"e\n+ReplicaRebuildingDstShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x11\n\tfast_sync\x18\x03 \x01(\x08\";\n+ReplicaRebuildingDstShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd9\x01\n,ReplicaRebuildingDstShallowCopyCheckResponse\x12\x18\n\x10src_replica_name\x18\x01 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\r\x12\x13\n\x0btotal_state\x18\x06 \x01(\t\x12\x16\n\x0etotal_progress\x18\x07 \x01(\r\x12\r\n\x05\x65rror\x18\x08 \x01(\t\"N\n&ReplicaRebuildingDstSetQosLimitRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0eqos_limit_mbps\x18\x02 \x01(\x03\"\xa9\x01\n#ReplicaSnapshotCloneDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10src_replica_name\x18\x03 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\"9\n)ReplicaSnapshotCloneDstStatusCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xbe\x01\n*ReplicaSnapshotCloneDstStatusCheckResponse\x12\x12\n\nis_cloning\x18\x01 \x01(\x08\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x10\n\x08progress\x18\x06 \x01(\r\x12\r\n\x05\x65rror\x18\x07 \x01(\t\"\xae\x01\n#ReplicaSnapshotCloneSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x03 \x01(\t\x12 \n\x18\x64st_cloning_lvol_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\"j\n)ReplicaSnapshotCloneSrcStatusCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x03 \x01(\t\"\x82\x01\n*ReplicaSnapshotCloneSrcStatusCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x1a\n\x12processed_clusters\x18\x02 \x01(\x04\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\"N\n$ReplicaSnapshotCloneSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"\xa5\x06\n\x06\x45ngine\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\n\n\x02ip\x18\x05 \x01(\t\x12\x0c\n\x04port\x18\x06 \x01(\x05\x12\x43\n\x13replica_address_map\x18\x07 \x03(\x0b\x32&.spdkrpc.Engine.ReplicaAddressMapEntry\x12=\n\x10replica_mode_map\x18\x08 \x03(\x0b\x32#.spdkrpc.Engine.ReplicaModeMapEntry\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x31\n\tsnapshots\x18\n \x03(\x0b\x32\x1e.spdkrpc.Engine.SnapshotsEntry\x12\x10\n\x08\x66rontend\x18\x0b \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\x12\x11\n\terror_msg\x18\x0e \x01(\t\x12\x11\n\ttarget_ip\x18\x0f \x01(\t\x12\x13\n\x0btarget_port\x18\x10 \x01(\x05\x12\x1b\n\x13standby_target_port\x18\x11 \x01(\x05\x12\x0f\n\x07ublk_id\x18\x12 \x01(\x05\x12\x0c\n\x04uuid\x18\x13 \x01(\t\x12\x14\n\x0cis_expanding\x18\x14 \x01(\x08\x12\x1c\n\x14last_expansion_error\x18\x15 \x01(\t\x12 \n\x18last_expansion_failed_at\x18\x16 \x01(\t\x12\x1a\n\x12snapshot_max_count\x18\x17 \x01(\x05\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n\x13ReplicaModeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0e\x32\x14.spdkrpc.ReplicaMode:\x02\x38\x01\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"\xec\x03\n\x13\x45ngineCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12P\n\x13replica_address_map\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x12\n\nport_count\x18\x06 \x01(\x05\x12\x18\n\x10upgrade_required\x18\x07 \x01(\x08\x12\x19\n\x11initiator_address\x18\x08 \x01(\t\x12\x16\n\x0etarget_address\x18\t \x01(\t\x12\x19\n\x11salvage_requested\x18\n \x01(\x08\x12\x18\n\x10ublk_queue_depth\x18\x0b \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\x0c \x01(\x05\x12\x1a\n\x12snapshot_max_count\x18\r \x01(\x05\x12\x31\n\x10\x64\x61ta_layout_type\x18\x0e \x01(\x0e\x32\x17.spdkrpc.DataLayoutType\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n\x13\x45ngineDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10\x45ngineGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"$\n\x14\x45ngineSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13\x45ngineResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"?\n EngineSnapshotMaxCountSetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"1\n\x13\x45ngineExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"9\n\x1b\x45ngineExpandPrecheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\":\n\x1c\x45ngineExpandPrecheckResponse\x12\x1a\n\x12\x65xpansion_required\x18\x01 \x01(\x08\")\n\x19\x45ngineDeleteTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x90\x01\n\x12\x45ngineListResponse\x12\x39\n\x07\x65ngines\x18\x01 \x03(\x0b\x32(.spdkrpc.EngineListResponse.EnginesEntry\x1a?\n\x0c\x45nginesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.spdkrpc.Engine:\x02\x38\x01\"\xe8\x01\n\x17\x45ngineReplicaAddRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12\x1c\n\x14\x65ngine_frontend_name\x18\x05 \x01(\t\x12\x1f\n\x17\x65ngine_frontend_address\x18\x06 \x01(\t\x12\x37\n\x13linked_clone_source\x18\x07 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"/\n\x18\x45ngineReplicaListRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xa2\x01\n\x19\x45ngineReplicaListResponse\x12\x42\n\x08replicas\x18\x01 \x03(\x0b\x32\x30.spdkrpc.EngineReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"`\n\x1a\x45ngineReplicaDeleteRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"N\n!EngineReplicaRebuildStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xb8\x01\n\"EngineReplicaRebuildStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x18\n\x10src_replica_name\x18\x06 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x07 \x01(\t\"I\n&EngineSetTargetListenerANAStateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tana_state\x18\x02 \x01(\t\"\x87\x01\n\x19\x45ngineFrontendNvmeTcpPath\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x11\n\ttarget_ip\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\x05\x12\x0b\n\x03nqn\x18\x04 \x01(\t\x12\r\n\x05nguid\x18\x05 \x01(\t\x12\x11\n\tana_state\x18\x06 \x01(\t\"\xb3\x03\n\x0e\x45ngineFrontend\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x11\n\ttarget_ip\x18\x06 \x01(\t\x12\x13\n\x0btarget_port\x18\x07 \x01(\x05\x12\x10\n\x08\x65ndpoint\x18\x08 \x01(\t\x12\r\n\x05state\x18\t \x01(\t\x12\x11\n\terror_msg\x18\n \x01(\t\x12\x0f\n\x07ublk_id\x18\x0b \x01(\x05\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\r \x01(\t\x12\x14\n\x0cis_expanding\x18\x0e \x01(\x08\x12\x1c\n\x14last_expansion_error\x18\x0f \x01(\t\x12 \n\x18last_expansion_failed_at\x18\x10 \x01(\t\x12\x13\n\x0b\x61\x63tive_path\x18\x11 \x01(\t\x12\x16\n\x0epreferred_path\x18\x12 \x01(\t\x12\x31\n\x05paths\x18\x13 \x03(\x0b\x32\".spdkrpc.EngineFrontendNvmeTcpPath\"\xe9\x01\n\x1b\x45ngineFrontendCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x16\n\x0etarget_address\x18\x05 \x01(\t\x12\x10\n\x08\x66rontend\x18\x06 \x01(\t\x12\x18\n\x10ublk_queue_depth\x18\x07 \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\x08 \x01(\x05\x12\x1d\n\x15nvme_tcp_nr_io_queues\x18\t \x01(\x05\"+\n\x1b\x45ngineFrontendDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"(\n\x18\x45ngineFrontendGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc1\x01\n\x1a\x45ngineFrontendListResponse\x12R\n\x10\x65ngine_frontends\x18\x01 \x03(\x0b\x32\x38.spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry\x1aO\n\x14\x45ngineFrontendsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.spdkrpc.EngineFrontend:\x02\x38\x01\",\n\x1c\x45ngineFrontendSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"+\n\x1b\x45ngineFrontendResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"9\n\x1b\x45ngineFrontendExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"\xba\x01\n\x1f\x45ngineFrontendReplicaAddRequest\x12\x1c\n\x14\x65ngine_frontend_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12\x37\n\x13linked_clone_source\x18\x05 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"v\n\x1f\x45ngineFrontendSwitchOverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x16\n\x0etarget_address\x18\x03 \x01(\t\x12\x18\n\x10switchover_phase\x18\x04 \x01(\t\"\xcd\x01\n\x0fSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x14\n\x0cuser_created\x18\x03 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\x04 \x01(\t\x12\x34\n\x06labels\x18\x05 \x03(\x0b\x32$.spdkrpc.SnapshotRequest.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\")\n\x10SnapshotResponse\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"J\n\x13SnapshotHashRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x0e\n\x06rehash\x18\x03 \x01(\x08\"@\n\x19SnapshotHashStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\"o\n!ReplicaSnapshotHashStatusResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x1a\n\x12silently_corrupted\x18\x04 \x01(\x08\"\xc4\x01\n EngineSnapshotHashStatusResponse\x12\x45\n\x06status\x18\x01 \x03(\x0b\x32\x35.spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry\x1aY\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.spdkrpc.ReplicaSnapshotHashStatusResponse:\x02\x38\x01\"@\n\x19SnapshotHashCancelRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\",\n\x1cSnapshotHashLockStateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"}\n\"ReplicaSnapshotRangeHashGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x1b\n\x13\x63luster_start_index\x18\x03 \x01(\x04\x12\x15\n\rcluster_count\x18\x04 \x01(\x04\"\xb2\x01\n#ReplicaSnapshotRangeHashGetResponse\x12V\n\x0erange_hash_map\x18\x01 \x03(\x0b\x32>.spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry\x1a\x33\n\x11RangeHashMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\"2\n\x1dSnapshotHashLockStateResponse\x12\x11\n\tis_locked\x18\x01 \x01(\x08\"\xd2\x02\n\x1a\x45ngineSnapshotCloneRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x17\n\x0fsrc_engine_name\x18\x03 \x01(\t\x12\x1a\n\x12src_engine_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\x12n\n dst_replica_src_replica_pair_map\x18\x06 \x03(\x0b\x32\x44.spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry\x1a\x42\n DstReplicaSrcReplicaPairMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xef\x01\n\rVersionOutput\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x11\n\tgitCommit\x18\x02 \x01(\t\x12\x11\n\tbuildDate\x18\x03 \x01(\t\x12\x15\n\rcliAPIVersion\x18\x04 \x01(\x03\x12\x18\n\x10\x63liAPIMinVersion\x18\x05 \x01(\x03\x12\x1c\n\x14\x63ontrollerAPIVersion\x18\x06 \x01(\x03\x12\x1f\n\x17\x63ontrollerAPIMinVersion\x18\x07 \x01(\x03\x12\x19\n\x11\x64\x61taFormatVersion\x18\x08 \x01(\x03\x12\x1c\n\x14\x64\x61taFormatMinVersion\x18\t \x01(\x03\"@\n\x15VersionDetailGetReply\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.spdkrpc.VersionOutput\"\xb9\x03\n\x13\x42\x61\x63kupCreateRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x15\n\rbackup_target\x18\x02 \x01(\t\x12\x13\n\x0bvolume_name\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x14\n\x0creplica_name\x18\x06 \x01(\t\x12\x0e\n\x06labels\x18\x07 \x03(\t\x12@\n\ncredential\x18\x08 \x03(\x0b\x32,.spdkrpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\t \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\n \x01(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63ompression_method\x18\x0c \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\r \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0e \x01(\t\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x14\x42\x61\x63kupCreateResponse\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x16\n\x0eis_incremental\x18\x02 \x01(\x08\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"S\n\x13\x42\x61\x63kupStatusRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"\x8a\x01\n\x14\x42\x61\x63kupStatusResponse\x12\x10\n\x08progress\x18\x01 \x01(\x05\x12\x12\n\nbackup_url\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x17\n\x0freplica_address\x18\x06 \x01(\t\"\xf2\x01\n\x1a\x45ngineBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12G\n\ncredential\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8e\x01\n\x1b\x45ngineBackupRestoreResponse\x12@\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x30.spdkrpc.EngineBackupRestoreResponse.ErrorsEntry\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n EngineBackupRestoreFinishRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xf5\x01\n\x1bReplicaBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12H\n\ncredential\x18\x04 \x03(\x0b\x32\x34.spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"+\n\x14RestoreStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"3\n\x1bReplicaRestoreStatusRequest\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xf8\x01\n\x1cReplicaRestoreStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0cis_restoring\x18\x03 \x01(\x08\x12\x15\n\rlast_restored\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\x05\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x16\n\x0e\x64\x65st_file_name\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\x12\n\nbackup_url\x18\t \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\n \x01(\t\"\xa9\x01\n\x15RestoreStatusResponse\x12:\n\x06status\x18\x01 \x03(\x0b\x32*.spdkrpc.RestoreStatusResponse.StatusEntry\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.spdkrpc.ReplicaRestoreStatusResponse:\x02\x38\x01\"\xf2\x01\n\x0c\x42\x61\x63kingImage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_uuid\x18\x02 \x01(\t\x12\x10\n\x08lvs_name\x18\x03 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x04 \x01(\t\x12\x0c\n\x04size\x18\x05 \x01(\x04\x12\x18\n\x10\x65xpectedChecksum\x18\x06 \x01(\t\x12\x1f\n\x08snapshot\x18\x07 \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x10\n\x08progress\x18\x08 \x01(\x05\x12\r\n\x05state\x18\t \x01(\t\x12\x17\n\x0f\x63urrentChecksum\x18\n \x01(\t\x12\x11\n\terror_msg\x18\x0b \x01(\t\"\xa3\x01\n\x19\x42\x61\x63kingImageCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_uuid\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x10\n\x08\x63hecksum\x18\x05 \x01(\t\x12\x14\n\x0c\x66rom_address\x18\x06 \x01(\t\x12\x14\n\x0csrc_lvs_uuid\x18\x07 \x01(\t\";\n\x19\x42\x61\x63kingImageDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x02 \x01(\t\"8\n\x16\x42\x61\x63kingImageGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x02 \x01(\t\"\xb5\x01\n\x18\x42\x61\x63kingImageListResponse\x12L\n\x0e\x62\x61\x63king_images\x18\x01 \x03(\x0b\x32\x34.spdkrpc.BackingImageListResponse.BackingImagesEntry\x1aK\n\x12\x42\x61\x63kingImagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.spdkrpc.BackingImage:\x02\x38\x01\"C\n\x1a\x42\x61\x63kingImageExposeResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"\xe5\x01\n\x04\x44isk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x12\n\ntotal_size\x18\x05 \x01(\x03\x12\x11\n\tfree_size\x18\x06 \x01(\x03\x12\x14\n\x0ctotal_blocks\x18\x07 \x01(\x03\x12\x13\n\x0b\x66ree_blocks\x18\x08 \x01(\x03\x12\x12\n\nblock_size\x18\t \x01(\x03\x12\x14\n\x0c\x63luster_size\x18\n \x01(\x03\x12\x0e\n\x06\x64river\x18\x0b \x01(\t\x12\x0c\n\x04name\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\"u\n\x11\x44iskCreateRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x12\n\nblock_size\x18\x04 \x01(\x03\x12\x13\n\x0b\x64isk_driver\x18\x05 \x01(\t\"K\n\x0e\x44iskGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"a\n\x11\x44iskDeleteRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x04 \x01(\t\"Q\n\x14\x44iskHealthGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"#\n\x12LogSetLevelRequest\x12\r\n\x05level\x18\x01 \x01(\t\"#\n\x12LogSetFlagsRequest\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"\x1e\n\x0eMetricsRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8a\x01\n\x07Metrics\x12\x16\n\x0ereadThroughput\x18\x01 \x01(\x04\x12\x17\n\x0fwriteThroughput\x18\x02 \x01(\x04\x12\x13\n\x0breadLatency\x18\x03 \x01(\x04\x12\x14\n\x0cwriteLatency\x18\x04 \x01(\x04\x12\x10\n\x08readIOPS\x18\x05 \x01(\x04\x12\x11\n\twriteIOPS\x18\x06 \x01(\x04\"\xf7\x04\n\x15\x44iskHealthGetResponse\x12\x14\n\x0cmodel_number\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x19\n\x11\x66irmware_revision\x18\x03 \x01(\t\x12\x0e\n\x06traddr\x18\x04 \x01(\t\x12\x18\n\x10\x63ritical_warning\x18\x05 \x01(\r\x12\x1b\n\x13temperature_celsius\x18\x06 \x01(\x01\x12\"\n\x1a\x61vailable_spare_percentage\x18\x07 \x01(\r\x12,\n$available_spare_threshold_percentage\x18\x08 \x01(\r\x12\x17\n\x0fpercentage_used\x18\t \x01(\r\x12\x17\n\x0f\x64\x61ta_units_read\x18\n \x01(\x04\x12\x1a\n\x12\x64\x61ta_units_written\x18\x0b \x01(\x04\x12\x1a\n\x12host_read_commands\x18\x0c \x01(\x04\x12\x1b\n\x13host_write_commands\x18\r \x01(\x04\x12\x1c\n\x14\x63ontroller_busy_time\x18\x0e \x01(\x04\x12\x14\n\x0cpower_cycles\x18\x0f \x01(\x04\x12\x16\n\x0epower_on_hours\x18\x10 \x01(\x04\x12\x18\n\x10unsafe_shutdowns\x18\x11 \x01(\x04\x12\x14\n\x0cmedia_errors\x18\x12 \x01(\x04\x12\x1b\n\x13num_err_log_entries\x18\x13 \x01(\x04\x12(\n warning_temperature_time_minutes\x18\x14 \x01(\x04\x12\x33\n+critical_composite_temperature_time_minutes\x18\x15 \x01(\x04*&\n\x0bReplicaMode\x12\x06\n\x02WO\x10\x00\x12\x06\n\x02RW\x10\x01\x12\x07\n\x03\x45RR\x10\x02*B\n\tCloneMode\x12\x18\n\x14\x43LONE_MODE_FULL_COPY\x10\x00\x12\x1b\n\x17\x43LONE_MODE_LINKED_CLONE\x10\x01*O\n\x0e\x44\x61taLayoutType\x12\x1f\n\x1b\x44\x41TA_LAYOUT_TYPE_REPLICATED\x10\x00\x12\x1c\n\x18\x44\x41TA_LAYOUT_TYPE_SHARDED\x10\x01\x32\xf7P\n\x0bSPDKService\x12@\n\rReplicaCreate\x12\x1d.spdkrpc.ReplicaCreateRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaDelete\x12\x1d.spdkrpc.ReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\x12:\n\nReplicaGet\x12\x1a.spdkrpc.ReplicaGetRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaExpand\x12\x1d.spdkrpc.ReplicaExpandRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x15ReplicaSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x10.spdkrpc.Replica\x12I\n\x15ReplicaSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12I\n\x15ReplicaSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14ReplicaSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12M\n\x13ReplicaSnapshotHash\x12\x1c.spdkrpc.SnapshotHashRequest\x1a\x16.google.protobuf.Empty\"\x00\x12m\n\x19ReplicaSnapshotHashStatus\x12\".spdkrpc.SnapshotHashStatusRequest\x1a*.spdkrpc.ReplicaSnapshotHashStatusResponse\"\x00\x12Y\n\x19ReplicaSnapshotHashCancel\x12\".spdkrpc.SnapshotHashCancelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12o\n\x1cReplicaSnapshotHashLockState\x12%.spdkrpc.SnapshotHashLockStateRequest\x1a&.spdkrpc.SnapshotHashLockStateResponse\"\x00\x12z\n\x1bReplicaSnapshotRangeHashGet\x12+.spdkrpc.ReplicaSnapshotRangeHashGetRequest\x1a,.spdkrpc.ReplicaSnapshotRangeHashGetResponse\"\x00\x12\x43\n\x0bReplicaList\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.ReplicaListResponse\x12\x42\n\x0cReplicaWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12t\n\x19ReplicaRebuildingSrcStart\x12).spdkrpc.ReplicaRebuildingSrcStartRequest\x1a*.spdkrpc.ReplicaRebuildingSrcStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingSrcFinish\x12*.spdkrpc.ReplicaRebuildingSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingSrcShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12~\n)ReplicaRebuildingSrcRangeShallowCopyStart\x12\x39.spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingSrcShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse\"\x00\x12t\n\x19ReplicaRebuildingDstStart\x12).spdkrpc.ReplicaRebuildingDstStartRequest\x1a*.spdkrpc.ReplicaRebuildingDstStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingDstFinish\x12*.spdkrpc.ReplicaRebuildingDstFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingDstShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingDstShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse\"\x00\x12V\n\"ReplicaRebuildingDstSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12j\n\x1fReplicaRebuildingDstSetQosLimit\x12/.spdkrpc.ReplicaRebuildingDstSetQosLimitRequest\x1a\x16.google.protobuf.Empty\x12T\n\x13ReplicaBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12T\n\x13ReplicaBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12V\n\x14ReplicaBackupRestore\x12$.spdkrpc.ReplicaBackupRestoreRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x65\n\x14ReplicaRestoreStatus\x12$.spdkrpc.ReplicaRestoreStatusRequest\x1a%.spdkrpc.ReplicaRestoreStatusResponse\"\x00\x12\x66\n\x1cReplicaSnapshotCloneDstStart\x12,.spdkrpc.ReplicaSnapshotCloneDstStartRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x8f\x01\n\"ReplicaSnapshotCloneDstStatusCheck\x12\x32.spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest\x1a\x33.spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse\"\x00\x12\x66\n\x1cReplicaSnapshotCloneSrcStart\x12,.spdkrpc.ReplicaSnapshotCloneSrcStartRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x8f\x01\n\"ReplicaSnapshotCloneSrcStatusCheck\x12\x32.spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest\x1a\x33.spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse\"\x00\x12h\n\x1dReplicaSnapshotCloneSrcFinish\x12-.spdkrpc.ReplicaSnapshotCloneSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12:\n\x0bShardCreate\x12\x1b.spdkrpc.ShardCreateRequest\x1a\x0e.spdkrpc.Shard\x12\x42\n\x0bShardDelete\x12\x1b.spdkrpc.ShardDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x08ShardGet\x12\x18.spdkrpc.ShardGetRequest\x1a\x0e.spdkrpc.Shard\x12?\n\tShardList\x12\x16.google.protobuf.Empty\x1a\x1a.spdkrpc.ShardListResponse\x12\x42\n\x0bShardExpand\x12\x1b.spdkrpc.ShardExpandRequest\x1a\x16.google.protobuf.Empty\x12@\n\nShardWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12I\n\x10ShardGroupCreate\x12 .spdkrpc.ShardGroupCreateRequest\x1a\x13.spdkrpc.ShardGroup\x12L\n\x10ShardGroupDelete\x12 .spdkrpc.ShardGroupDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\rShardGroupGet\x12\x1d.spdkrpc.ShardGroupGetRequest\x1a\x13.spdkrpc.ShardGroup\x12I\n\x0eShardGroupList\x12\x16.google.protobuf.Empty\x1a\x1f.spdkrpc.ShardGroupListResponse\x12\x45\n\x0fShardGroupWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12L\n\x10ShardGroupExpand\x12 .spdkrpc.ShardGroupExpandRequest\x1a\x16.google.protobuf.Empty\x12o\n\x18ShardGroupExpandPrecheck\x12(.spdkrpc.ShardGroupExpandPrecheckRequest\x1a).spdkrpc.ShardGroupExpandPrecheckResponse\x12k\n\x16ShardGroupShardReplace\x12&.spdkrpc.ShardGroupShardReplaceRequest\x1a\'.spdkrpc.ShardGroupShardReplaceResponse\"\x00\x12z\n\x1bShardGroupShardRebuildStart\x12+.spdkrpc.ShardGroupShardRebuildStartRequest\x1a,.spdkrpc.ShardGroupShardRebuildStartResponse\"\x00\x12\x83\x01\n\x1eShardGroupShardRebuildProgress\x12..spdkrpc.ShardGroupShardRebuildProgressRequest\x1a/.spdkrpc.ShardGroupShardRebuildProgressResponse\"\x00\x12\x62\n\x1aShardGroupShardRebuildStop\x12*.spdkrpc.ShardGroupShardRebuildStopRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x66\n\x1cShardGroupShardRebuildQosSet\x12,.spdkrpc.ShardGroupShardRebuildQosSetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12q\n\x18ShardGroupShardForceFail\x12(.spdkrpc.ShardGroupShardForceFailRequest\x1a).spdkrpc.ShardGroupShardForceFailResponse\"\x00\x12q\n\x18ShardGroupSnapshotCreate\x12(.spdkrpc.ShardGroupSnapshotCreateRequest\x1a).spdkrpc.ShardGroupSnapshotCreateResponse\"\x00\x12^\n\x18ShardGroupSnapshotDelete\x12(.spdkrpc.ShardGroupSnapshotDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12^\n\x18ShardGroupSnapshotRevert\x12(.spdkrpc.ShardGroupSnapshotRevertRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x17ShardGroupSnapshotPurge\x12\'.spdkrpc.ShardGroupSnapshotPurgeRequest\x1a\x16.google.protobuf.Empty\"\x00\x12=\n\x0c\x45ngineCreate\x12\x1c.spdkrpc.EngineCreateRequest\x1a\x0f.spdkrpc.Engine\x12\x44\n\x0c\x45ngineDelete\x12\x1c.spdkrpc.EngineDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x37\n\tEngineGet\x12\x19.spdkrpc.EngineGetRequest\x1a\x0f.spdkrpc.Engine\x12\x46\n\rEngineSuspend\x12\x1d.spdkrpc.EngineSuspendRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineResume\x12\x1c.spdkrpc.EngineResumeRequest\x1a\x16.google.protobuf.Empty\x12^\n\x19\x45ngineSnapshotMaxCountSet\x12).spdkrpc.EngineSnapshotMaxCountSetRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineExpand\x12\x1c.spdkrpc.EngineExpandRequest\x1a\x16.google.protobuf.Empty\x12\x63\n\x14\x45ngineExpandPrecheck\x12$.spdkrpc.EngineExpandPrecheckRequest\x1a%.spdkrpc.EngineExpandPrecheckResponse\x12P\n\x12\x45ngineDeleteTarget\x12\".spdkrpc.EngineDeleteTargetRequest\x1a\x16.google.protobuf.Empty\x12j\n\x1f\x45ngineSetTargetListenerANAState\x12/.spdkrpc.EngineSetTargetListenerANAStateRequest\x1a\x16.google.protobuf.Empty\x12K\n\x14\x45ngineSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12H\n\x14\x45ngineSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14\x45ngineSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12G\n\x13\x45ngineSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12L\n\x12\x45ngineSnapshotHash\x12\x1c.spdkrpc.SnapshotHashRequest\x1a\x16.google.protobuf.Empty\"\x00\x12k\n\x18\x45ngineSnapshotHashStatus\x12\".spdkrpc.SnapshotHashStatusRequest\x1a).spdkrpc.EngineSnapshotHashStatusResponse\"\x00\x12X\n\x18\x45ngineSnapshotHashCancel\x12\".spdkrpc.SnapshotHashCancelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12n\n\x1b\x45ngineSnapshotHashLockState\x12%.spdkrpc.SnapshotHashLockStateRequest\x1a&.spdkrpc.SnapshotHashLockStateResponse\"\x00\x12T\n\x13\x45ngineSnapshotClone\x12#.spdkrpc.EngineSnapshotCloneRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x41\n\nEngineList\x12\x16.google.protobuf.Empty\x1a\x1b.spdkrpc.EngineListResponse\x12\x41\n\x0b\x45ngineWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x11\x45ngineReplicaList\x12!.spdkrpc.EngineReplicaListRequest\x1a\".spdkrpc.EngineReplicaListResponse\"\x00\x12N\n\x10\x45ngineReplicaAdd\x12 .spdkrpc.EngineReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x13\x45ngineReplicaDelete\x12#.spdkrpc.EngineReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12S\n\x12\x45ngineBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12S\n\x12\x45ngineBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12\x62\n\x13\x45ngineBackupRestore\x12#.spdkrpc.EngineBackupRestoreRequest\x1a$.spdkrpc.EngineBackupRestoreResponse\"\x00\x12`\n\x19\x45ngineBackupRestoreFinish\x12).spdkrpc.EngineBackupRestoreFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12V\n\x13\x45ngineRestoreStatus\x12\x1d.spdkrpc.RestoreStatusRequest\x1a\x1e.spdkrpc.RestoreStatusResponse\"\x00\x12U\n\x14\x45ngineFrontendCreate\x12$.spdkrpc.EngineFrontendCreateRequest\x1a\x17.spdkrpc.EngineFrontend\x12T\n\x14\x45ngineFrontendDelete\x12$.spdkrpc.EngineFrontendDeleteRequest\x1a\x16.google.protobuf.Empty\x12O\n\x11\x45ngineFrontendGet\x12!.spdkrpc.EngineFrontendGetRequest\x1a\x17.spdkrpc.EngineFrontend\x12Q\n\x12\x45ngineFrontendList\x12\x16.google.protobuf.Empty\x1a#.spdkrpc.EngineFrontendListResponse\x12I\n\x13\x45ngineFrontendWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12V\n\x15\x45ngineFrontendSuspend\x12%.spdkrpc.EngineFrontendSuspendRequest\x1a\x16.google.protobuf.Empty\x12T\n\x14\x45ngineFrontendResume\x12$.spdkrpc.EngineFrontendResumeRequest\x1a\x16.google.protobuf.Empty\x12T\n\x14\x45ngineFrontendExpand\x12$.spdkrpc.EngineFrontendExpandRequest\x1a\x16.google.protobuf.Empty\x12S\n\x1c\x45ngineFrontendSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12P\n\x1c\x45ngineFrontendSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12P\n\x1c\x45ngineFrontendSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12O\n\x1b\x45ngineFrontendSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12^\n\x18\x45ngineFrontendReplicaAdd\x12(.spdkrpc.EngineFrontendReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x18\x45ngineFrontendSwitchOver\x12(.spdkrpc.EngineFrontendSwitchOverRequest\x1a\x16.google.protobuf.Empty\x12O\n\x12\x42\x61\x63kingImageCreate\x12\".spdkrpc.BackingImageCreateRequest\x1a\x15.spdkrpc.BackingImage\x12P\n\x12\x42\x61\x63kingImageDelete\x12\".spdkrpc.BackingImageDeleteRequest\x1a\x16.google.protobuf.Empty\x12I\n\x0f\x42\x61\x63kingImageGet\x12\x1f.spdkrpc.BackingImageGetRequest\x1a\x15.spdkrpc.BackingImage\x12M\n\x10\x42\x61\x63kingImageList\x12\x16.google.protobuf.Empty\x1a!.spdkrpc.BackingImageListResponse\x12G\n\x11\x42\x61\x63kingImageWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x12\x42\x61\x63kingImageExpose\x12\x1f.spdkrpc.BackingImageGetRequest\x1a#.spdkrpc.BackingImageExposeResponse\"\x00\x12Q\n\x14\x42\x61\x63kingImageUnexpose\x12\x1f.spdkrpc.BackingImageGetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\nDiskCreate\x12\x1a.spdkrpc.DiskCreateRequest\x1a\r.spdkrpc.Disk\x12@\n\nDiskDelete\x12\x1a.spdkrpc.DiskDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x31\n\x07\x44iskGet\x12\x17.spdkrpc.DiskGetRequest\x1a\r.spdkrpc.Disk\x12N\n\rDiskHealthGet\x12\x1d.spdkrpc.DiskHealthGetRequest\x1a\x1e.spdkrpc.DiskHealthGetResponse\x12\x42\n\x0bLogSetLevel\x12\x1b.spdkrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12\x42\n\x0bLogSetFlags\x12\x1b.spdkrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bLogGetLevel\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetLevelResponse\x12\x43\n\x0bLogGetFlags\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetFlagsResponse\x12J\n\x10VersionDetailGet\x12\x16.google.protobuf.Empty\x1a\x1e.spdkrpc.VersionDetailGetReply\x12\x37\n\nMetricsGet\x12\x17.spdkrpc.MetricsRequest\x1a\x10.spdkrpc.MetricsB1Z/github.com/longhorn/types/pkg/generated/spdkrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12spdkrpc/spdk.proto\x12\x07spdkrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x12spdkrpc/lvol.proto\x1a\x13spdkrpc/shard.proto\x1a\x18spdkrpc/shardgroup.proto\"\xbf\x04\n\x07Replica\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x05 \x01(\x04\x12\n\n\x02ip\x18\x06 \x01(\t\x12\x12\n\nport_start\x18\x07 \x01(\x05\x12\x10\n\x08port_end\x18\x08 \x01(\x05\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x32\n\tsnapshots\x18\n \x03(\x0b\x32\x1f.spdkrpc.Replica.SnapshotsEntry\x12\x12\n\nrebuilding\x18\x0b \x01(\x08\x12\r\n\x05state\x18\x0c \x01(\t\x12\x11\n\terror_msg\x18\r \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x0e \x01(\t\x12\x0c\n\x04uuid\x18\x0f \x01(\t\x12\x33\n\x11linked_clone_info\x18\x10 \x01(\x0b\x32\x18.spdkrpc.LinkedCloneInfo\x12\x46\n\x14\x63lone_snapshot_usage\x18\x11 \x03(\x0b\x32(.spdkrpc.Replica.CloneSnapshotUsageEntry\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\x1a\x39\n\x17\x43loneSnapshotUsageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"L\n\x0fLinkedCloneInfo\x12\x1b\n\x13source_replica_name\x18\x01 \x01(\t\x12\x1c\n\x14source_snapshot_name\x18\x02 \x01(\t\"m\n\x11LinkedCloneSource\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x03 \x01(\t\x12\x16\n\x0e\x65ngine_address\x18\x04 \x01(\t\"\xbb\x01\n\x14ReplicaCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x12\n\nport_count\x18\x05 \x01(\x05\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x06 \x01(\t\x12.\n\x0etransport_type\x18\x07 \x01(\x0e\x32\x16.spdkrpc.TransportType\">\n\x14ReplicaDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x02 \x01(\x08\"!\n\x11ReplicaGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\x14ReplicaExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"\x96\x01\n\x13ReplicaListResponse\x12<\n\x08replicas\x18\x01 \x03(\x0b\x32*.spdkrpc.ReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"\x86\x01\n ReplicaRebuildingSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13\x64st_replica_address\x18\x03 \x01(\t\x12\x1d\n\x15\x65xposed_snapshot_name\x18\x04 \x01(\t\"J\n!ReplicaRebuildingSrcStartResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"K\n!ReplicaRebuildingSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"w\n+ReplicaRebuildingSrcShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\"\x9e\x01\n0ReplicaRebuildingSrcRangeShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\x12 \n\x18mismatching_cluster_list\x18\x04 \x03(\x04\"l\n+ReplicaRebuildingSrcShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\"\x9b\x01\n,ReplicaRebuildingSrcShallowCopyCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\x12\x18\n\x10handled_clusters\x18\x05 \x01(\x04\x12\x17\n\x0f\x63opied_clusters\x18\x02 \x01(\x04\"\x94\x02\n ReplicaRebuildingDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x1e\n\x16\x65xternal_snapshot_name\x18\x04 \x01(\t\x12!\n\x19\x65xternal_snapshot_address\x18\x05 \x01(\t\x12/\n\x18rebuilding_snapshot_list\x18\x06 \x03(\x0b\x32\r.spdkrpc.Lvol\x12\x37\n\x13linked_clone_source\x18\x07 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"B\n!ReplicaRebuildingDstStartResponse\x12\x1d\n\x15\x64st_head_lvol_address\x18\x01 \x01(\t\"1\n!ReplicaRebuildingDstFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"e\n+ReplicaRebuildingDstShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x11\n\tfast_sync\x18\x03 \x01(\x08\";\n+ReplicaRebuildingDstShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd9\x01\n,ReplicaRebuildingDstShallowCopyCheckResponse\x12\x18\n\x10src_replica_name\x18\x01 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\r\x12\x13\n\x0btotal_state\x18\x06 \x01(\t\x12\x16\n\x0etotal_progress\x18\x07 \x01(\r\x12\r\n\x05\x65rror\x18\x08 \x01(\t\"N\n&ReplicaRebuildingDstSetQosLimitRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0eqos_limit_mbps\x18\x02 \x01(\x03\"\xa9\x01\n#ReplicaSnapshotCloneDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10src_replica_name\x18\x03 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\"9\n)ReplicaSnapshotCloneDstStatusCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xbe\x01\n*ReplicaSnapshotCloneDstStatusCheckResponse\x12\x12\n\nis_cloning\x18\x01 \x01(\x08\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x10\n\x08progress\x18\x06 \x01(\r\x12\r\n\x05\x65rror\x18\x07 \x01(\t\"\xae\x01\n#ReplicaSnapshotCloneSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x03 \x01(\t\x12 \n\x18\x64st_cloning_lvol_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\"j\n)ReplicaSnapshotCloneSrcStatusCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x03 \x01(\t\"\x82\x01\n*ReplicaSnapshotCloneSrcStatusCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x1a\n\x12processed_clusters\x18\x02 \x01(\x04\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\"N\n$ReplicaSnapshotCloneSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"\xa5\x06\n\x06\x45ngine\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\n\n\x02ip\x18\x05 \x01(\t\x12\x0c\n\x04port\x18\x06 \x01(\x05\x12\x43\n\x13replica_address_map\x18\x07 \x03(\x0b\x32&.spdkrpc.Engine.ReplicaAddressMapEntry\x12=\n\x10replica_mode_map\x18\x08 \x03(\x0b\x32#.spdkrpc.Engine.ReplicaModeMapEntry\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x31\n\tsnapshots\x18\n \x03(\x0b\x32\x1e.spdkrpc.Engine.SnapshotsEntry\x12\x10\n\x08\x66rontend\x18\x0b \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\x12\x11\n\terror_msg\x18\x0e \x01(\t\x12\x11\n\ttarget_ip\x18\x0f \x01(\t\x12\x13\n\x0btarget_port\x18\x10 \x01(\x05\x12\x1b\n\x13standby_target_port\x18\x11 \x01(\x05\x12\x0f\n\x07ublk_id\x18\x12 \x01(\x05\x12\x0c\n\x04uuid\x18\x13 \x01(\t\x12\x14\n\x0cis_expanding\x18\x14 \x01(\x08\x12\x1c\n\x14last_expansion_error\x18\x15 \x01(\t\x12 \n\x18last_expansion_failed_at\x18\x16 \x01(\t\x12\x1a\n\x12snapshot_max_count\x18\x17 \x01(\x05\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n\x13ReplicaModeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0e\x32\x14.spdkrpc.ReplicaMode:\x02\x38\x01\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"\x9c\x04\n\x13\x45ngineCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12P\n\x13replica_address_map\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x12\n\nport_count\x18\x06 \x01(\x05\x12\x18\n\x10upgrade_required\x18\x07 \x01(\x08\x12\x19\n\x11initiator_address\x18\x08 \x01(\t\x12\x16\n\x0etarget_address\x18\t \x01(\t\x12\x19\n\x11salvage_requested\x18\n \x01(\x08\x12\x18\n\x10ublk_queue_depth\x18\x0b \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\x0c \x01(\x05\x12\x1a\n\x12snapshot_max_count\x18\r \x01(\x05\x12\x31\n\x10\x64\x61ta_layout_type\x18\x0e \x01(\x0e\x32\x17.spdkrpc.DataLayoutType\x12.\n\x0etransport_type\x18\x0f \x01(\x0e\x32\x16.spdkrpc.TransportType\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n\x13\x45ngineDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10\x45ngineGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"$\n\x14\x45ngineSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13\x45ngineResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"?\n EngineSnapshotMaxCountSetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"1\n\x13\x45ngineExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"9\n\x1b\x45ngineExpandPrecheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\":\n\x1c\x45ngineExpandPrecheckResponse\x12\x1a\n\x12\x65xpansion_required\x18\x01 \x01(\x08\")\n\x19\x45ngineDeleteTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x90\x01\n\x12\x45ngineListResponse\x12\x39\n\x07\x65ngines\x18\x01 \x03(\x0b\x32(.spdkrpc.EngineListResponse.EnginesEntry\x1a?\n\x0c\x45nginesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.spdkrpc.Engine:\x02\x38\x01\"\xe8\x01\n\x17\x45ngineReplicaAddRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12\x1c\n\x14\x65ngine_frontend_name\x18\x05 \x01(\t\x12\x1f\n\x17\x65ngine_frontend_address\x18\x06 \x01(\t\x12\x37\n\x13linked_clone_source\x18\x07 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"/\n\x18\x45ngineReplicaListRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xa2\x01\n\x19\x45ngineReplicaListResponse\x12\x42\n\x08replicas\x18\x01 \x03(\x0b\x32\x30.spdkrpc.EngineReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"`\n\x1a\x45ngineReplicaDeleteRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"N\n!EngineReplicaRebuildStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xb8\x01\n\"EngineReplicaRebuildStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x18\n\x10src_replica_name\x18\x06 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x07 \x01(\t\"I\n&EngineSetTargetListenerANAStateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tana_state\x18\x02 \x01(\t\"\x87\x01\n\x19\x45ngineFrontendNvmeTcpPath\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x11\n\ttarget_ip\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\x05\x12\x0b\n\x03nqn\x18\x04 \x01(\t\x12\r\n\x05nguid\x18\x05 \x01(\t\x12\x11\n\tana_state\x18\x06 \x01(\t\"\xb3\x03\n\x0e\x45ngineFrontend\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x11\n\ttarget_ip\x18\x06 \x01(\t\x12\x13\n\x0btarget_port\x18\x07 \x01(\x05\x12\x10\n\x08\x65ndpoint\x18\x08 \x01(\t\x12\r\n\x05state\x18\t \x01(\t\x12\x11\n\terror_msg\x18\n \x01(\t\x12\x0f\n\x07ublk_id\x18\x0b \x01(\x05\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\r \x01(\t\x12\x14\n\x0cis_expanding\x18\x0e \x01(\x08\x12\x1c\n\x14last_expansion_error\x18\x0f \x01(\t\x12 \n\x18last_expansion_failed_at\x18\x10 \x01(\t\x12\x13\n\x0b\x61\x63tive_path\x18\x11 \x01(\t\x12\x16\n\x0epreferred_path\x18\x12 \x01(\t\x12\x31\n\x05paths\x18\x13 \x03(\x0b\x32\".spdkrpc.EngineFrontendNvmeTcpPath\"\xe9\x01\n\x1b\x45ngineFrontendCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x16\n\x0etarget_address\x18\x05 \x01(\t\x12\x10\n\x08\x66rontend\x18\x06 \x01(\t\x12\x18\n\x10ublk_queue_depth\x18\x07 \x01(\x05\x12\x1c\n\x14ublk_number_of_queue\x18\x08 \x01(\x05\x12\x1d\n\x15nvme_tcp_nr_io_queues\x18\t \x01(\x05\"+\n\x1b\x45ngineFrontendDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"(\n\x18\x45ngineFrontendGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc1\x01\n\x1a\x45ngineFrontendListResponse\x12R\n\x10\x65ngine_frontends\x18\x01 \x03(\x0b\x32\x38.spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry\x1aO\n\x14\x45ngineFrontendsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.spdkrpc.EngineFrontend:\x02\x38\x01\",\n\x1c\x45ngineFrontendSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"+\n\x1b\x45ngineFrontendResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"9\n\x1b\x45ngineFrontendExpandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x04\"\xba\x01\n\x1f\x45ngineFrontendReplicaAddRequest\x12\x1c\n\x14\x65ngine_frontend_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12\x37\n\x13linked_clone_source\x18\x05 \x01(\x0b\x32\x1a.spdkrpc.LinkedCloneSource\"v\n\x1f\x45ngineFrontendSwitchOverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x16\n\x0etarget_address\x18\x03 \x01(\t\x12\x18\n\x10switchover_phase\x18\x04 \x01(\t\"\xcd\x01\n\x0fSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x14\n\x0cuser_created\x18\x03 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\x04 \x01(\t\x12\x34\n\x06labels\x18\x05 \x03(\x0b\x32$.spdkrpc.SnapshotRequest.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\")\n\x10SnapshotResponse\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"J\n\x13SnapshotHashRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x0e\n\x06rehash\x18\x03 \x01(\x08\"@\n\x19SnapshotHashStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\"o\n!ReplicaSnapshotHashStatusResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x1a\n\x12silently_corrupted\x18\x04 \x01(\x08\"\xc4\x01\n EngineSnapshotHashStatusResponse\x12\x45\n\x06status\x18\x01 \x03(\x0b\x32\x35.spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry\x1aY\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.spdkrpc.ReplicaSnapshotHashStatusResponse:\x02\x38\x01\"@\n\x19SnapshotHashCancelRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\",\n\x1cSnapshotHashLockStateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"}\n\"ReplicaSnapshotRangeHashGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x1b\n\x13\x63luster_start_index\x18\x03 \x01(\x04\x12\x15\n\rcluster_count\x18\x04 \x01(\x04\"\xb2\x01\n#ReplicaSnapshotRangeHashGetResponse\x12V\n\x0erange_hash_map\x18\x01 \x03(\x0b\x32>.spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry\x1a\x33\n\x11RangeHashMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\"2\n\x1dSnapshotHashLockStateResponse\x12\x11\n\tis_locked\x18\x01 \x01(\x08\"\xd2\x02\n\x1a\x45ngineSnapshotCloneRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x17\n\x0fsrc_engine_name\x18\x03 \x01(\t\x12\x1a\n\x12src_engine_address\x18\x04 \x01(\t\x12&\n\nclone_mode\x18\x05 \x01(\x0e\x32\x12.spdkrpc.CloneMode\x12n\n dst_replica_src_replica_pair_map\x18\x06 \x03(\x0b\x32\x44.spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry\x1a\x42\n DstReplicaSrcReplicaPairMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xef\x01\n\rVersionOutput\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x11\n\tgitCommit\x18\x02 \x01(\t\x12\x11\n\tbuildDate\x18\x03 \x01(\t\x12\x15\n\rcliAPIVersion\x18\x04 \x01(\x03\x12\x18\n\x10\x63liAPIMinVersion\x18\x05 \x01(\x03\x12\x1c\n\x14\x63ontrollerAPIVersion\x18\x06 \x01(\x03\x12\x1f\n\x17\x63ontrollerAPIMinVersion\x18\x07 \x01(\x03\x12\x19\n\x11\x64\x61taFormatVersion\x18\x08 \x01(\x03\x12\x1c\n\x14\x64\x61taFormatMinVersion\x18\t \x01(\x03\"@\n\x15VersionDetailGetReply\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.spdkrpc.VersionOutput\"\xb9\x03\n\x13\x42\x61\x63kupCreateRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x15\n\rbackup_target\x18\x02 \x01(\t\x12\x13\n\x0bvolume_name\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x14\n\x0creplica_name\x18\x06 \x01(\t\x12\x0e\n\x06labels\x18\x07 \x03(\t\x12@\n\ncredential\x18\x08 \x03(\x0b\x32,.spdkrpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\t \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\n \x01(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63ompression_method\x18\x0c \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\r \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0e \x01(\t\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x14\x42\x61\x63kupCreateResponse\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x16\n\x0eis_incremental\x18\x02 \x01(\x08\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"S\n\x13\x42\x61\x63kupStatusRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"\x8a\x01\n\x14\x42\x61\x63kupStatusResponse\x12\x10\n\x08progress\x18\x01 \x01(\x05\x12\x12\n\nbackup_url\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x17\n\x0freplica_address\x18\x06 \x01(\t\"\xf2\x01\n\x1a\x45ngineBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12G\n\ncredential\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8e\x01\n\x1b\x45ngineBackupRestoreResponse\x12@\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x30.spdkrpc.EngineBackupRestoreResponse.ErrorsEntry\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n EngineBackupRestoreFinishRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xf5\x01\n\x1bReplicaBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12H\n\ncredential\x18\x04 \x03(\x0b\x32\x34.spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"+\n\x14RestoreStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"3\n\x1bReplicaRestoreStatusRequest\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xf8\x01\n\x1cReplicaRestoreStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0cis_restoring\x18\x03 \x01(\x08\x12\x15\n\rlast_restored\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\x05\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x16\n\x0e\x64\x65st_file_name\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\x12\n\nbackup_url\x18\t \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\n \x01(\t\"\xa9\x01\n\x15RestoreStatusResponse\x12:\n\x06status\x18\x01 \x03(\x0b\x32*.spdkrpc.RestoreStatusResponse.StatusEntry\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.spdkrpc.ReplicaRestoreStatusResponse:\x02\x38\x01\"\xf2\x01\n\x0c\x42\x61\x63kingImage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_uuid\x18\x02 \x01(\t\x12\x10\n\x08lvs_name\x18\x03 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x04 \x01(\t\x12\x0c\n\x04size\x18\x05 \x01(\x04\x12\x18\n\x10\x65xpectedChecksum\x18\x06 \x01(\t\x12\x1f\n\x08snapshot\x18\x07 \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x10\n\x08progress\x18\x08 \x01(\x05\x12\r\n\x05state\x18\t \x01(\t\x12\x17\n\x0f\x63urrentChecksum\x18\n \x01(\t\x12\x11\n\terror_msg\x18\x0b \x01(\t\"\xa3\x01\n\x19\x42\x61\x63kingImageCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_uuid\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x10\n\x08\x63hecksum\x18\x05 \x01(\t\x12\x14\n\x0c\x66rom_address\x18\x06 \x01(\t\x12\x14\n\x0csrc_lvs_uuid\x18\x07 \x01(\t\";\n\x19\x42\x61\x63kingImageDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x02 \x01(\t\"8\n\x16\x42\x61\x63kingImageGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x02 \x01(\t\"\xb5\x01\n\x18\x42\x61\x63kingImageListResponse\x12L\n\x0e\x62\x61\x63king_images\x18\x01 \x03(\x0b\x32\x34.spdkrpc.BackingImageListResponse.BackingImagesEntry\x1aK\n\x12\x42\x61\x63kingImagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.spdkrpc.BackingImage:\x02\x38\x01\"C\n\x1a\x42\x61\x63kingImageExposeResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"\xe5\x01\n\x04\x44isk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x12\n\ntotal_size\x18\x05 \x01(\x03\x12\x11\n\tfree_size\x18\x06 \x01(\x03\x12\x14\n\x0ctotal_blocks\x18\x07 \x01(\x03\x12\x13\n\x0b\x66ree_blocks\x18\x08 \x01(\x03\x12\x12\n\nblock_size\x18\t \x01(\x03\x12\x14\n\x0c\x63luster_size\x18\n \x01(\x03\x12\x0e\n\x06\x64river\x18\x0b \x01(\t\x12\x0c\n\x04name\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\"u\n\x11\x44iskCreateRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x12\n\nblock_size\x18\x04 \x01(\x03\x12\x13\n\x0b\x64isk_driver\x18\x05 \x01(\t\"K\n\x0e\x44iskGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"a\n\x11\x44iskDeleteRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x04 \x01(\t\"Q\n\x14\x44iskHealthGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"#\n\x12LogSetLevelRequest\x12\r\n\x05level\x18\x01 \x01(\t\"#\n\x12LogSetFlagsRequest\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"\x1e\n\x0eMetricsRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8a\x01\n\x07Metrics\x12\x16\n\x0ereadThroughput\x18\x01 \x01(\x04\x12\x17\n\x0fwriteThroughput\x18\x02 \x01(\x04\x12\x13\n\x0breadLatency\x18\x03 \x01(\x04\x12\x14\n\x0cwriteLatency\x18\x04 \x01(\x04\x12\x10\n\x08readIOPS\x18\x05 \x01(\x04\x12\x11\n\twriteIOPS\x18\x06 \x01(\x04\"\xf7\x04\n\x15\x44iskHealthGetResponse\x12\x14\n\x0cmodel_number\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x19\n\x11\x66irmware_revision\x18\x03 \x01(\t\x12\x0e\n\x06traddr\x18\x04 \x01(\t\x12\x18\n\x10\x63ritical_warning\x18\x05 \x01(\r\x12\x1b\n\x13temperature_celsius\x18\x06 \x01(\x01\x12\"\n\x1a\x61vailable_spare_percentage\x18\x07 \x01(\r\x12,\n$available_spare_threshold_percentage\x18\x08 \x01(\r\x12\x17\n\x0fpercentage_used\x18\t \x01(\r\x12\x17\n\x0f\x64\x61ta_units_read\x18\n \x01(\x04\x12\x1a\n\x12\x64\x61ta_units_written\x18\x0b \x01(\x04\x12\x1a\n\x12host_read_commands\x18\x0c \x01(\x04\x12\x1b\n\x13host_write_commands\x18\r \x01(\x04\x12\x1c\n\x14\x63ontroller_busy_time\x18\x0e \x01(\x04\x12\x14\n\x0cpower_cycles\x18\x0f \x01(\x04\x12\x16\n\x0epower_on_hours\x18\x10 \x01(\x04\x12\x18\n\x10unsafe_shutdowns\x18\x11 \x01(\x04\x12\x14\n\x0cmedia_errors\x18\x12 \x01(\x04\x12\x1b\n\x13num_err_log_entries\x18\x13 \x01(\x04\x12(\n warning_temperature_time_minutes\x18\x14 \x01(\x04\x12\x33\n+critical_composite_temperature_time_minutes\x18\x15 \x01(\x04*&\n\x0bReplicaMode\x12\x06\n\x02WO\x10\x00\x12\x06\n\x02RW\x10\x01\x12\x07\n\x03\x45RR\x10\x02*B\n\tCloneMode\x12\x18\n\x14\x43LONE_MODE_FULL_COPY\x10\x00\x12\x1b\n\x17\x43LONE_MODE_LINKED_CLONE\x10\x01*O\n\x0e\x44\x61taLayoutType\x12\x1f\n\x1b\x44\x41TA_LAYOUT_TYPE_REPLICATED\x10\x00\x12\x1c\n\x18\x44\x41TA_LAYOUT_TYPE_SHARDED\x10\x01*@\n\rTransportType\x12\x16\n\x12TRANSPORT_TYPE_TCP\x10\x00\x12\x17\n\x13TRANSPORT_TYPE_RDMA\x10\x01\x32\xf7P\n\x0bSPDKService\x12@\n\rReplicaCreate\x12\x1d.spdkrpc.ReplicaCreateRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaDelete\x12\x1d.spdkrpc.ReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\x12:\n\nReplicaGet\x12\x1a.spdkrpc.ReplicaGetRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaExpand\x12\x1d.spdkrpc.ReplicaExpandRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x15ReplicaSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x10.spdkrpc.Replica\x12I\n\x15ReplicaSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12I\n\x15ReplicaSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14ReplicaSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12M\n\x13ReplicaSnapshotHash\x12\x1c.spdkrpc.SnapshotHashRequest\x1a\x16.google.protobuf.Empty\"\x00\x12m\n\x19ReplicaSnapshotHashStatus\x12\".spdkrpc.SnapshotHashStatusRequest\x1a*.spdkrpc.ReplicaSnapshotHashStatusResponse\"\x00\x12Y\n\x19ReplicaSnapshotHashCancel\x12\".spdkrpc.SnapshotHashCancelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12o\n\x1cReplicaSnapshotHashLockState\x12%.spdkrpc.SnapshotHashLockStateRequest\x1a&.spdkrpc.SnapshotHashLockStateResponse\"\x00\x12z\n\x1bReplicaSnapshotRangeHashGet\x12+.spdkrpc.ReplicaSnapshotRangeHashGetRequest\x1a,.spdkrpc.ReplicaSnapshotRangeHashGetResponse\"\x00\x12\x43\n\x0bReplicaList\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.ReplicaListResponse\x12\x42\n\x0cReplicaWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12t\n\x19ReplicaRebuildingSrcStart\x12).spdkrpc.ReplicaRebuildingSrcStartRequest\x1a*.spdkrpc.ReplicaRebuildingSrcStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingSrcFinish\x12*.spdkrpc.ReplicaRebuildingSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingSrcShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12~\n)ReplicaRebuildingSrcRangeShallowCopyStart\x12\x39.spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingSrcShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse\"\x00\x12t\n\x19ReplicaRebuildingDstStart\x12).spdkrpc.ReplicaRebuildingDstStartRequest\x1a*.spdkrpc.ReplicaRebuildingDstStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingDstFinish\x12*.spdkrpc.ReplicaRebuildingDstFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingDstShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingDstShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse\"\x00\x12V\n\"ReplicaRebuildingDstSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12j\n\x1fReplicaRebuildingDstSetQosLimit\x12/.spdkrpc.ReplicaRebuildingDstSetQosLimitRequest\x1a\x16.google.protobuf.Empty\x12T\n\x13ReplicaBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12T\n\x13ReplicaBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12V\n\x14ReplicaBackupRestore\x12$.spdkrpc.ReplicaBackupRestoreRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x65\n\x14ReplicaRestoreStatus\x12$.spdkrpc.ReplicaRestoreStatusRequest\x1a%.spdkrpc.ReplicaRestoreStatusResponse\"\x00\x12\x66\n\x1cReplicaSnapshotCloneDstStart\x12,.spdkrpc.ReplicaSnapshotCloneDstStartRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x8f\x01\n\"ReplicaSnapshotCloneDstStatusCheck\x12\x32.spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest\x1a\x33.spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse\"\x00\x12\x66\n\x1cReplicaSnapshotCloneSrcStart\x12,.spdkrpc.ReplicaSnapshotCloneSrcStartRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x8f\x01\n\"ReplicaSnapshotCloneSrcStatusCheck\x12\x32.spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest\x1a\x33.spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse\"\x00\x12h\n\x1dReplicaSnapshotCloneSrcFinish\x12-.spdkrpc.ReplicaSnapshotCloneSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12:\n\x0bShardCreate\x12\x1b.spdkrpc.ShardCreateRequest\x1a\x0e.spdkrpc.Shard\x12\x42\n\x0bShardDelete\x12\x1b.spdkrpc.ShardDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x08ShardGet\x12\x18.spdkrpc.ShardGetRequest\x1a\x0e.spdkrpc.Shard\x12?\n\tShardList\x12\x16.google.protobuf.Empty\x1a\x1a.spdkrpc.ShardListResponse\x12\x42\n\x0bShardExpand\x12\x1b.spdkrpc.ShardExpandRequest\x1a\x16.google.protobuf.Empty\x12@\n\nShardWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12I\n\x10ShardGroupCreate\x12 .spdkrpc.ShardGroupCreateRequest\x1a\x13.spdkrpc.ShardGroup\x12L\n\x10ShardGroupDelete\x12 .spdkrpc.ShardGroupDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\rShardGroupGet\x12\x1d.spdkrpc.ShardGroupGetRequest\x1a\x13.spdkrpc.ShardGroup\x12I\n\x0eShardGroupList\x12\x16.google.protobuf.Empty\x1a\x1f.spdkrpc.ShardGroupListResponse\x12\x45\n\x0fShardGroupWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12L\n\x10ShardGroupExpand\x12 .spdkrpc.ShardGroupExpandRequest\x1a\x16.google.protobuf.Empty\x12o\n\x18ShardGroupExpandPrecheck\x12(.spdkrpc.ShardGroupExpandPrecheckRequest\x1a).spdkrpc.ShardGroupExpandPrecheckResponse\x12k\n\x16ShardGroupShardReplace\x12&.spdkrpc.ShardGroupShardReplaceRequest\x1a\'.spdkrpc.ShardGroupShardReplaceResponse\"\x00\x12z\n\x1bShardGroupShardRebuildStart\x12+.spdkrpc.ShardGroupShardRebuildStartRequest\x1a,.spdkrpc.ShardGroupShardRebuildStartResponse\"\x00\x12\x83\x01\n\x1eShardGroupShardRebuildProgress\x12..spdkrpc.ShardGroupShardRebuildProgressRequest\x1a/.spdkrpc.ShardGroupShardRebuildProgressResponse\"\x00\x12\x62\n\x1aShardGroupShardRebuildStop\x12*.spdkrpc.ShardGroupShardRebuildStopRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x66\n\x1cShardGroupShardRebuildQosSet\x12,.spdkrpc.ShardGroupShardRebuildQosSetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12q\n\x18ShardGroupShardForceFail\x12(.spdkrpc.ShardGroupShardForceFailRequest\x1a).spdkrpc.ShardGroupShardForceFailResponse\"\x00\x12q\n\x18ShardGroupSnapshotCreate\x12(.spdkrpc.ShardGroupSnapshotCreateRequest\x1a).spdkrpc.ShardGroupSnapshotCreateResponse\"\x00\x12^\n\x18ShardGroupSnapshotDelete\x12(.spdkrpc.ShardGroupSnapshotDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12^\n\x18ShardGroupSnapshotRevert\x12(.spdkrpc.ShardGroupSnapshotRevertRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x17ShardGroupSnapshotPurge\x12\'.spdkrpc.ShardGroupSnapshotPurgeRequest\x1a\x16.google.protobuf.Empty\"\x00\x12=\n\x0c\x45ngineCreate\x12\x1c.spdkrpc.EngineCreateRequest\x1a\x0f.spdkrpc.Engine\x12\x44\n\x0c\x45ngineDelete\x12\x1c.spdkrpc.EngineDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x37\n\tEngineGet\x12\x19.spdkrpc.EngineGetRequest\x1a\x0f.spdkrpc.Engine\x12\x46\n\rEngineSuspend\x12\x1d.spdkrpc.EngineSuspendRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineResume\x12\x1c.spdkrpc.EngineResumeRequest\x1a\x16.google.protobuf.Empty\x12^\n\x19\x45ngineSnapshotMaxCountSet\x12).spdkrpc.EngineSnapshotMaxCountSetRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineExpand\x12\x1c.spdkrpc.EngineExpandRequest\x1a\x16.google.protobuf.Empty\x12\x63\n\x14\x45ngineExpandPrecheck\x12$.spdkrpc.EngineExpandPrecheckRequest\x1a%.spdkrpc.EngineExpandPrecheckResponse\x12P\n\x12\x45ngineDeleteTarget\x12\".spdkrpc.EngineDeleteTargetRequest\x1a\x16.google.protobuf.Empty\x12j\n\x1f\x45ngineSetTargetListenerANAState\x12/.spdkrpc.EngineSetTargetListenerANAStateRequest\x1a\x16.google.protobuf.Empty\x12K\n\x14\x45ngineSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12H\n\x14\x45ngineSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14\x45ngineSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12G\n\x13\x45ngineSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12L\n\x12\x45ngineSnapshotHash\x12\x1c.spdkrpc.SnapshotHashRequest\x1a\x16.google.protobuf.Empty\"\x00\x12k\n\x18\x45ngineSnapshotHashStatus\x12\".spdkrpc.SnapshotHashStatusRequest\x1a).spdkrpc.EngineSnapshotHashStatusResponse\"\x00\x12X\n\x18\x45ngineSnapshotHashCancel\x12\".spdkrpc.SnapshotHashCancelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12n\n\x1b\x45ngineSnapshotHashLockState\x12%.spdkrpc.SnapshotHashLockStateRequest\x1a&.spdkrpc.SnapshotHashLockStateResponse\"\x00\x12T\n\x13\x45ngineSnapshotClone\x12#.spdkrpc.EngineSnapshotCloneRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x41\n\nEngineList\x12\x16.google.protobuf.Empty\x1a\x1b.spdkrpc.EngineListResponse\x12\x41\n\x0b\x45ngineWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x11\x45ngineReplicaList\x12!.spdkrpc.EngineReplicaListRequest\x1a\".spdkrpc.EngineReplicaListResponse\"\x00\x12N\n\x10\x45ngineReplicaAdd\x12 .spdkrpc.EngineReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x13\x45ngineReplicaDelete\x12#.spdkrpc.EngineReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12S\n\x12\x45ngineBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12S\n\x12\x45ngineBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12\x62\n\x13\x45ngineBackupRestore\x12#.spdkrpc.EngineBackupRestoreRequest\x1a$.spdkrpc.EngineBackupRestoreResponse\"\x00\x12`\n\x19\x45ngineBackupRestoreFinish\x12).spdkrpc.EngineBackupRestoreFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12V\n\x13\x45ngineRestoreStatus\x12\x1d.spdkrpc.RestoreStatusRequest\x1a\x1e.spdkrpc.RestoreStatusResponse\"\x00\x12U\n\x14\x45ngineFrontendCreate\x12$.spdkrpc.EngineFrontendCreateRequest\x1a\x17.spdkrpc.EngineFrontend\x12T\n\x14\x45ngineFrontendDelete\x12$.spdkrpc.EngineFrontendDeleteRequest\x1a\x16.google.protobuf.Empty\x12O\n\x11\x45ngineFrontendGet\x12!.spdkrpc.EngineFrontendGetRequest\x1a\x17.spdkrpc.EngineFrontend\x12Q\n\x12\x45ngineFrontendList\x12\x16.google.protobuf.Empty\x1a#.spdkrpc.EngineFrontendListResponse\x12I\n\x13\x45ngineFrontendWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12V\n\x15\x45ngineFrontendSuspend\x12%.spdkrpc.EngineFrontendSuspendRequest\x1a\x16.google.protobuf.Empty\x12T\n\x14\x45ngineFrontendResume\x12$.spdkrpc.EngineFrontendResumeRequest\x1a\x16.google.protobuf.Empty\x12T\n\x14\x45ngineFrontendExpand\x12$.spdkrpc.EngineFrontendExpandRequest\x1a\x16.google.protobuf.Empty\x12S\n\x1c\x45ngineFrontendSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12P\n\x1c\x45ngineFrontendSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12P\n\x1c\x45ngineFrontendSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12O\n\x1b\x45ngineFrontendSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12^\n\x18\x45ngineFrontendReplicaAdd\x12(.spdkrpc.EngineFrontendReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\\\n\x18\x45ngineFrontendSwitchOver\x12(.spdkrpc.EngineFrontendSwitchOverRequest\x1a\x16.google.protobuf.Empty\x12O\n\x12\x42\x61\x63kingImageCreate\x12\".spdkrpc.BackingImageCreateRequest\x1a\x15.spdkrpc.BackingImage\x12P\n\x12\x42\x61\x63kingImageDelete\x12\".spdkrpc.BackingImageDeleteRequest\x1a\x16.google.protobuf.Empty\x12I\n\x0f\x42\x61\x63kingImageGet\x12\x1f.spdkrpc.BackingImageGetRequest\x1a\x15.spdkrpc.BackingImage\x12M\n\x10\x42\x61\x63kingImageList\x12\x16.google.protobuf.Empty\x1a!.spdkrpc.BackingImageListResponse\x12G\n\x11\x42\x61\x63kingImageWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x12\x42\x61\x63kingImageExpose\x12\x1f.spdkrpc.BackingImageGetRequest\x1a#.spdkrpc.BackingImageExposeResponse\"\x00\x12Q\n\x14\x42\x61\x63kingImageUnexpose\x12\x1f.spdkrpc.BackingImageGetRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\nDiskCreate\x12\x1a.spdkrpc.DiskCreateRequest\x1a\r.spdkrpc.Disk\x12@\n\nDiskDelete\x12\x1a.spdkrpc.DiskDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x31\n\x07\x44iskGet\x12\x17.spdkrpc.DiskGetRequest\x1a\r.spdkrpc.Disk\x12N\n\rDiskHealthGet\x12\x1d.spdkrpc.DiskHealthGetRequest\x1a\x1e.spdkrpc.DiskHealthGetResponse\x12\x42\n\x0bLogSetLevel\x12\x1b.spdkrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12\x42\n\x0bLogSetFlags\x12\x1b.spdkrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bLogGetLevel\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetLevelResponse\x12\x43\n\x0bLogGetFlags\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetFlagsResponse\x12J\n\x10VersionDetailGet\x12\x16.google.protobuf.Empty\x1a\x1e.spdkrpc.VersionDetailGetReply\x12\x37\n\nMetricsGet\x12\x17.spdkrpc.MetricsRequest\x1a\x10.spdkrpc.MetricsB1Z/github.com/longhorn/types/pkg/generated/spdkrpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spdkrpc.spdk_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z/github.com/longhorn/types/pkg/generated/spdkrpc' _REPLICA_SNAPSHOTSENTRY._options = None @@ -66,12 +65,14 @@ _RESTORESTATUSRESPONSE_STATUSENTRY._serialized_options = b'8\001' _BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY._options = None _BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY._serialized_options = b'8\001' - _globals['_REPLICAMODE']._serialized_start=14432 - _globals['_REPLICAMODE']._serialized_end=14470 - _globals['_CLONEMODE']._serialized_start=14472 - _globals['_CLONEMODE']._serialized_end=14538 - _globals['_DATALAYOUTTYPE']._serialized_start=14540 - _globals['_DATALAYOUTTYPE']._serialized_end=14619 + _globals['_REPLICAMODE']._serialized_start=14528 + _globals['_REPLICAMODE']._serialized_end=14566 + _globals['_CLONEMODE']._serialized_start=14568 + _globals['_CLONEMODE']._serialized_end=14634 + _globals['_DATALAYOUTTYPE']._serialized_start=14636 + _globals['_DATALAYOUTTYPE']._serialized_end=14715 + _globals['_TRANSPORTTYPE']._serialized_start=14717 + _globals['_TRANSPORTTYPE']._serialized_end=14781 _globals['_REPLICA']._serialized_start=128 _globals['_REPLICA']._serialized_end=703 _globals['_REPLICA_SNAPSHOTSENTRY']._serialized_start=581 @@ -83,241 +84,242 @@ _globals['_LINKEDCLONESOURCE']._serialized_start=783 _globals['_LINKEDCLONESOURCE']._serialized_end=892 _globals['_REPLICACREATEREQUEST']._serialized_start=895 - _globals['_REPLICACREATEREQUEST']._serialized_end=1034 - _globals['_REPLICADELETEREQUEST']._serialized_start=1036 - _globals['_REPLICADELETEREQUEST']._serialized_end=1098 - _globals['_REPLICAGETREQUEST']._serialized_start=1100 - _globals['_REPLICAGETREQUEST']._serialized_end=1133 - _globals['_REPLICAEXPANDREQUEST']._serialized_start=1135 - _globals['_REPLICAEXPANDREQUEST']._serialized_end=1185 - _globals['_REPLICALISTRESPONSE']._serialized_start=1188 - _globals['_REPLICALISTRESPONSE']._serialized_end=1338 - _globals['_REPLICALISTRESPONSE_REPLICASENTRY']._serialized_start=1273 - _globals['_REPLICALISTRESPONSE_REPLICASENTRY']._serialized_end=1338 - _globals['_REPLICAREBUILDINGSRCSTARTREQUEST']._serialized_start=1341 - _globals['_REPLICAREBUILDINGSRCSTARTREQUEST']._serialized_end=1475 - _globals['_REPLICAREBUILDINGSRCSTARTRESPONSE']._serialized_start=1477 - _globals['_REPLICAREBUILDINGSRCSTARTRESPONSE']._serialized_end=1551 - _globals['_REPLICAREBUILDINGSRCFINISHREQUEST']._serialized_start=1553 - _globals['_REPLICAREBUILDINGSRCFINISHREQUEST']._serialized_end=1628 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYSTARTREQUEST']._serialized_start=1630 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYSTARTREQUEST']._serialized_end=1749 - _globals['_REPLICAREBUILDINGSRCRANGESHALLOWCOPYSTARTREQUEST']._serialized_start=1752 - _globals['_REPLICAREBUILDINGSRCRANGESHALLOWCOPYSTARTREQUEST']._serialized_end=1910 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKREQUEST']._serialized_start=1912 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKREQUEST']._serialized_end=2020 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKRESPONSE']._serialized_start=2023 - _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKRESPONSE']._serialized_end=2178 - _globals['_REPLICAREBUILDINGDSTSTARTREQUEST']._serialized_start=2181 - _globals['_REPLICAREBUILDINGDSTSTARTREQUEST']._serialized_end=2457 - _globals['_REPLICAREBUILDINGDSTSTARTRESPONSE']._serialized_start=2459 - _globals['_REPLICAREBUILDINGDSTSTARTRESPONSE']._serialized_end=2525 - _globals['_REPLICAREBUILDINGDSTFINISHREQUEST']._serialized_start=2527 - _globals['_REPLICAREBUILDINGDSTFINISHREQUEST']._serialized_end=2576 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYSTARTREQUEST']._serialized_start=2578 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYSTARTREQUEST']._serialized_end=2679 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKREQUEST']._serialized_start=2681 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKREQUEST']._serialized_end=2740 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKRESPONSE']._serialized_start=2743 - _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKRESPONSE']._serialized_end=2960 - _globals['_REPLICAREBUILDINGDSTSETQOSLIMITREQUEST']._serialized_start=2962 - _globals['_REPLICAREBUILDINGDSTSETQOSLIMITREQUEST']._serialized_end=3040 - _globals['_REPLICASNAPSHOTCLONEDSTSTARTREQUEST']._serialized_start=3043 - _globals['_REPLICASNAPSHOTCLONEDSTSTARTREQUEST']._serialized_end=3212 - _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKREQUEST']._serialized_start=3214 - _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKREQUEST']._serialized_end=3271 - _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKRESPONSE']._serialized_start=3274 - _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKRESPONSE']._serialized_end=3464 - _globals['_REPLICASNAPSHOTCLONESRCSTARTREQUEST']._serialized_start=3467 - _globals['_REPLICASNAPSHOTCLONESRCSTARTREQUEST']._serialized_end=3641 - _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKREQUEST']._serialized_start=3643 - _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKREQUEST']._serialized_end=3749 - _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKRESPONSE']._serialized_start=3752 - _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKRESPONSE']._serialized_end=3882 - _globals['_REPLICASNAPSHOTCLONESRCFINISHREQUEST']._serialized_start=3884 - _globals['_REPLICASNAPSHOTCLONESRCFINISHREQUEST']._serialized_end=3962 - _globals['_ENGINE']._serialized_start=3965 - _globals['_ENGINE']._serialized_end=4770 - _globals['_ENGINE_REPLICAADDRESSMAPENTRY']._serialized_start=4572 - _globals['_ENGINE_REPLICAADDRESSMAPENTRY']._serialized_end=4628 - _globals['_ENGINE_REPLICAMODEMAPENTRY']._serialized_start=4630 - _globals['_ENGINE_REPLICAMODEMAPENTRY']._serialized_end=4705 + _globals['_REPLICACREATEREQUEST']._serialized_end=1082 + _globals['_REPLICADELETEREQUEST']._serialized_start=1084 + _globals['_REPLICADELETEREQUEST']._serialized_end=1146 + _globals['_REPLICAGETREQUEST']._serialized_start=1148 + _globals['_REPLICAGETREQUEST']._serialized_end=1181 + _globals['_REPLICAEXPANDREQUEST']._serialized_start=1183 + _globals['_REPLICAEXPANDREQUEST']._serialized_end=1233 + _globals['_REPLICALISTRESPONSE']._serialized_start=1236 + _globals['_REPLICALISTRESPONSE']._serialized_end=1386 + _globals['_REPLICALISTRESPONSE_REPLICASENTRY']._serialized_start=1321 + _globals['_REPLICALISTRESPONSE_REPLICASENTRY']._serialized_end=1386 + _globals['_REPLICAREBUILDINGSRCSTARTREQUEST']._serialized_start=1389 + _globals['_REPLICAREBUILDINGSRCSTARTREQUEST']._serialized_end=1523 + _globals['_REPLICAREBUILDINGSRCSTARTRESPONSE']._serialized_start=1525 + _globals['_REPLICAREBUILDINGSRCSTARTRESPONSE']._serialized_end=1599 + _globals['_REPLICAREBUILDINGSRCFINISHREQUEST']._serialized_start=1601 + _globals['_REPLICAREBUILDINGSRCFINISHREQUEST']._serialized_end=1676 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYSTARTREQUEST']._serialized_start=1678 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYSTARTREQUEST']._serialized_end=1797 + _globals['_REPLICAREBUILDINGSRCRANGESHALLOWCOPYSTARTREQUEST']._serialized_start=1800 + _globals['_REPLICAREBUILDINGSRCRANGESHALLOWCOPYSTARTREQUEST']._serialized_end=1958 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKREQUEST']._serialized_start=1960 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKREQUEST']._serialized_end=2068 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKRESPONSE']._serialized_start=2071 + _globals['_REPLICAREBUILDINGSRCSHALLOWCOPYCHECKRESPONSE']._serialized_end=2226 + _globals['_REPLICAREBUILDINGDSTSTARTREQUEST']._serialized_start=2229 + _globals['_REPLICAREBUILDINGDSTSTARTREQUEST']._serialized_end=2505 + _globals['_REPLICAREBUILDINGDSTSTARTRESPONSE']._serialized_start=2507 + _globals['_REPLICAREBUILDINGDSTSTARTRESPONSE']._serialized_end=2573 + _globals['_REPLICAREBUILDINGDSTFINISHREQUEST']._serialized_start=2575 + _globals['_REPLICAREBUILDINGDSTFINISHREQUEST']._serialized_end=2624 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYSTARTREQUEST']._serialized_start=2626 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYSTARTREQUEST']._serialized_end=2727 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKREQUEST']._serialized_start=2729 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKREQUEST']._serialized_end=2788 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKRESPONSE']._serialized_start=2791 + _globals['_REPLICAREBUILDINGDSTSHALLOWCOPYCHECKRESPONSE']._serialized_end=3008 + _globals['_REPLICAREBUILDINGDSTSETQOSLIMITREQUEST']._serialized_start=3010 + _globals['_REPLICAREBUILDINGDSTSETQOSLIMITREQUEST']._serialized_end=3088 + _globals['_REPLICASNAPSHOTCLONEDSTSTARTREQUEST']._serialized_start=3091 + _globals['_REPLICASNAPSHOTCLONEDSTSTARTREQUEST']._serialized_end=3260 + _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKREQUEST']._serialized_start=3262 + _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKREQUEST']._serialized_end=3319 + _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKRESPONSE']._serialized_start=3322 + _globals['_REPLICASNAPSHOTCLONEDSTSTATUSCHECKRESPONSE']._serialized_end=3512 + _globals['_REPLICASNAPSHOTCLONESRCSTARTREQUEST']._serialized_start=3515 + _globals['_REPLICASNAPSHOTCLONESRCSTARTREQUEST']._serialized_end=3689 + _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKREQUEST']._serialized_start=3691 + _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKREQUEST']._serialized_end=3797 + _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKRESPONSE']._serialized_start=3800 + _globals['_REPLICASNAPSHOTCLONESRCSTATUSCHECKRESPONSE']._serialized_end=3930 + _globals['_REPLICASNAPSHOTCLONESRCFINISHREQUEST']._serialized_start=3932 + _globals['_REPLICASNAPSHOTCLONESRCFINISHREQUEST']._serialized_end=4010 + _globals['_ENGINE']._serialized_start=4013 + _globals['_ENGINE']._serialized_end=4818 + _globals['_ENGINE_REPLICAADDRESSMAPENTRY']._serialized_start=4620 + _globals['_ENGINE_REPLICAADDRESSMAPENTRY']._serialized_end=4676 + _globals['_ENGINE_REPLICAMODEMAPENTRY']._serialized_start=4678 + _globals['_ENGINE_REPLICAMODEMAPENTRY']._serialized_end=4753 _globals['_ENGINE_SNAPSHOTSENTRY']._serialized_start=581 _globals['_ENGINE_SNAPSHOTSENTRY']._serialized_end=644 - _globals['_ENGINECREATEREQUEST']._serialized_start=4773 - _globals['_ENGINECREATEREQUEST']._serialized_end=5265 - _globals['_ENGINECREATEREQUEST_REPLICAADDRESSMAPENTRY']._serialized_start=4572 - _globals['_ENGINECREATEREQUEST_REPLICAADDRESSMAPENTRY']._serialized_end=4628 - _globals['_ENGINEDELETEREQUEST']._serialized_start=5267 - _globals['_ENGINEDELETEREQUEST']._serialized_end=5302 - _globals['_ENGINEGETREQUEST']._serialized_start=5304 - _globals['_ENGINEGETREQUEST']._serialized_end=5336 - _globals['_ENGINESUSPENDREQUEST']._serialized_start=5338 - _globals['_ENGINESUSPENDREQUEST']._serialized_end=5374 - _globals['_ENGINERESUMEREQUEST']._serialized_start=5376 - _globals['_ENGINERESUMEREQUEST']._serialized_end=5411 - _globals['_ENGINESNAPSHOTMAXCOUNTSETREQUEST']._serialized_start=5413 - _globals['_ENGINESNAPSHOTMAXCOUNTSETREQUEST']._serialized_end=5476 - _globals['_ENGINEEXPANDREQUEST']._serialized_start=5478 - _globals['_ENGINEEXPANDREQUEST']._serialized_end=5527 - _globals['_ENGINEEXPANDPRECHECKREQUEST']._serialized_start=5529 - _globals['_ENGINEEXPANDPRECHECKREQUEST']._serialized_end=5586 - _globals['_ENGINEEXPANDPRECHECKRESPONSE']._serialized_start=5588 - _globals['_ENGINEEXPANDPRECHECKRESPONSE']._serialized_end=5646 - _globals['_ENGINEDELETETARGETREQUEST']._serialized_start=5648 - _globals['_ENGINEDELETETARGETREQUEST']._serialized_end=5689 - _globals['_ENGINELISTRESPONSE']._serialized_start=5692 - _globals['_ENGINELISTRESPONSE']._serialized_end=5836 - _globals['_ENGINELISTRESPONSE_ENGINESENTRY']._serialized_start=5773 - _globals['_ENGINELISTRESPONSE_ENGINESENTRY']._serialized_end=5836 - _globals['_ENGINEREPLICAADDREQUEST']._serialized_start=5839 - _globals['_ENGINEREPLICAADDREQUEST']._serialized_end=6071 - _globals['_ENGINEREPLICALISTREQUEST']._serialized_start=6073 - _globals['_ENGINEREPLICALISTREQUEST']._serialized_end=6120 - _globals['_ENGINEREPLICALISTRESPONSE']._serialized_start=6123 - _globals['_ENGINEREPLICALISTRESPONSE']._serialized_end=6285 - _globals['_ENGINEREPLICALISTRESPONSE_REPLICASENTRY']._serialized_start=1273 - _globals['_ENGINEREPLICALISTRESPONSE_REPLICASENTRY']._serialized_end=1338 - _globals['_ENGINEREPLICADELETEREQUEST']._serialized_start=6287 - _globals['_ENGINEREPLICADELETEREQUEST']._serialized_end=6383 - _globals['_ENGINEREPLICAREBUILDSTATUSREQUEST']._serialized_start=6385 - _globals['_ENGINEREPLICAREBUILDSTATUSREQUEST']._serialized_end=6463 - _globals['_ENGINEREPLICAREBUILDSTATUSRESPONSE']._serialized_start=6466 - _globals['_ENGINEREPLICAREBUILDSTATUSRESPONSE']._serialized_end=6650 - _globals['_ENGINESETTARGETLISTENERANASTATEREQUEST']._serialized_start=6652 - _globals['_ENGINESETTARGETLISTENERANASTATEREQUEST']._serialized_end=6725 - _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_start=6728 - _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_end=6863 - _globals['_ENGINEFRONTEND']._serialized_start=6866 - _globals['_ENGINEFRONTEND']._serialized_end=7301 - _globals['_ENGINEFRONTENDCREATEREQUEST']._serialized_start=7304 - _globals['_ENGINEFRONTENDCREATEREQUEST']._serialized_end=7537 - _globals['_ENGINEFRONTENDDELETEREQUEST']._serialized_start=7539 - _globals['_ENGINEFRONTENDDELETEREQUEST']._serialized_end=7582 - _globals['_ENGINEFRONTENDGETREQUEST']._serialized_start=7584 - _globals['_ENGINEFRONTENDGETREQUEST']._serialized_end=7624 - _globals['_ENGINEFRONTENDLISTRESPONSE']._serialized_start=7627 - _globals['_ENGINEFRONTENDLISTRESPONSE']._serialized_end=7820 - _globals['_ENGINEFRONTENDLISTRESPONSE_ENGINEFRONTENDSENTRY']._serialized_start=7741 - _globals['_ENGINEFRONTENDLISTRESPONSE_ENGINEFRONTENDSENTRY']._serialized_end=7820 - _globals['_ENGINEFRONTENDSUSPENDREQUEST']._serialized_start=7822 - _globals['_ENGINEFRONTENDSUSPENDREQUEST']._serialized_end=7866 - _globals['_ENGINEFRONTENDRESUMEREQUEST']._serialized_start=7868 - _globals['_ENGINEFRONTENDRESUMEREQUEST']._serialized_end=7911 - _globals['_ENGINEFRONTENDEXPANDREQUEST']._serialized_start=7913 - _globals['_ENGINEFRONTENDEXPANDREQUEST']._serialized_end=7970 - _globals['_ENGINEFRONTENDREPLICAADDREQUEST']._serialized_start=7973 - _globals['_ENGINEFRONTENDREPLICAADDREQUEST']._serialized_end=8159 - _globals['_ENGINEFRONTENDSWITCHOVERREQUEST']._serialized_start=8161 - _globals['_ENGINEFRONTENDSWITCHOVERREQUEST']._serialized_end=8279 - _globals['_SNAPSHOTREQUEST']._serialized_start=8282 - _globals['_SNAPSHOTREQUEST']._serialized_end=8487 - _globals['_SNAPSHOTREQUEST_LABELSENTRY']._serialized_start=8442 - _globals['_SNAPSHOTREQUEST_LABELSENTRY']._serialized_end=8487 - _globals['_SNAPSHOTRESPONSE']._serialized_start=8489 - _globals['_SNAPSHOTRESPONSE']._serialized_end=8530 - _globals['_SNAPSHOTHASHREQUEST']._serialized_start=8532 - _globals['_SNAPSHOTHASHREQUEST']._serialized_end=8606 - _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_start=8608 - _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_end=8672 - _globals['_REPLICASNAPSHOTHASHSTATUSRESPONSE']._serialized_start=8674 - _globals['_REPLICASNAPSHOTHASHSTATUSRESPONSE']._serialized_end=8785 - _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE']._serialized_start=8788 - _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE']._serialized_end=8984 - _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE_STATUSENTRY']._serialized_start=8895 - _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE_STATUSENTRY']._serialized_end=8984 - _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_start=8986 - _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_end=9050 - _globals['_SNAPSHOTHASHLOCKSTATEREQUEST']._serialized_start=9052 - _globals['_SNAPSHOTHASHLOCKSTATEREQUEST']._serialized_end=9096 - _globals['_REPLICASNAPSHOTRANGEHASHGETREQUEST']._serialized_start=9098 - _globals['_REPLICASNAPSHOTRANGEHASHGETREQUEST']._serialized_end=9223 - _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE']._serialized_start=9226 - _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE']._serialized_end=9404 - _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE_RANGEHASHMAPENTRY']._serialized_start=9353 - _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE_RANGEHASHMAPENTRY']._serialized_end=9404 - _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_start=9406 - _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_end=9456 - _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_start=9459 - _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_end=9797 - _globals['_ENGINESNAPSHOTCLONEREQUEST_DSTREPLICASRCREPLICAPAIRMAPENTRY']._serialized_start=9731 - _globals['_ENGINESNAPSHOTCLONEREQUEST_DSTREPLICASRCREPLICAPAIRMAPENTRY']._serialized_end=9797 - _globals['_VERSIONOUTPUT']._serialized_start=9800 - _globals['_VERSIONOUTPUT']._serialized_end=10039 - _globals['_VERSIONDETAILGETREPLY']._serialized_start=10041 - _globals['_VERSIONDETAILGETREPLY']._serialized_end=10105 - _globals['_BACKUPCREATEREQUEST']._serialized_start=10108 - _globals['_BACKUPCREATEREQUEST']._serialized_end=10549 - _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_start=10500 - _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_end=10549 - _globals['_BACKUPCREATERESPONSE']._serialized_start=10551 - _globals['_BACKUPCREATERESPONSE']._serialized_end=10638 - _globals['_BACKUPSTATUSREQUEST']._serialized_start=10640 - _globals['_BACKUPSTATUSREQUEST']._serialized_end=10723 - _globals['_BACKUPSTATUSRESPONSE']._serialized_start=10726 - _globals['_BACKUPSTATUSRESPONSE']._serialized_end=10864 - _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_start=10867 - _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_end=11109 - _globals['_ENGINEBACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_start=10500 - _globals['_ENGINEBACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_end=10549 - _globals['_ENGINEBACKUPRESTORERESPONSE']._serialized_start=11112 - _globals['_ENGINEBACKUPRESTORERESPONSE']._serialized_end=11254 - _globals['_ENGINEBACKUPRESTORERESPONSE_ERRORSENTRY']._serialized_start=11209 - _globals['_ENGINEBACKUPRESTORERESPONSE_ERRORSENTRY']._serialized_end=11254 - _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_start=11256 - _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_end=11311 - _globals['_REPLICABACKUPRESTOREREQUEST']._serialized_start=11314 - _globals['_REPLICABACKUPRESTOREREQUEST']._serialized_end=11559 - _globals['_REPLICABACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_start=10500 - _globals['_REPLICABACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_end=10549 - _globals['_RESTORESTATUSREQUEST']._serialized_start=11561 - _globals['_RESTORESTATUSREQUEST']._serialized_end=11604 - _globals['_REPLICARESTORESTATUSREQUEST']._serialized_start=11606 - _globals['_REPLICARESTORESTATUSREQUEST']._serialized_end=11657 - _globals['_REPLICARESTORESTATUSRESPONSE']._serialized_start=11660 - _globals['_REPLICARESTORESTATUSRESPONSE']._serialized_end=11908 - _globals['_RESTORESTATUSRESPONSE']._serialized_start=11911 - _globals['_RESTORESTATUSRESPONSE']._serialized_end=12080 - _globals['_RESTORESTATUSRESPONSE_STATUSENTRY']._serialized_start=11996 - _globals['_RESTORESTATUSRESPONSE_STATUSENTRY']._serialized_end=12080 - _globals['_BACKINGIMAGE']._serialized_start=12083 - _globals['_BACKINGIMAGE']._serialized_end=12325 - _globals['_BACKINGIMAGECREATEREQUEST']._serialized_start=12328 - _globals['_BACKINGIMAGECREATEREQUEST']._serialized_end=12491 - _globals['_BACKINGIMAGEDELETEREQUEST']._serialized_start=12493 - _globals['_BACKINGIMAGEDELETEREQUEST']._serialized_end=12552 - _globals['_BACKINGIMAGEGETREQUEST']._serialized_start=12554 - _globals['_BACKINGIMAGEGETREQUEST']._serialized_end=12610 - _globals['_BACKINGIMAGELISTRESPONSE']._serialized_start=12613 - _globals['_BACKINGIMAGELISTRESPONSE']._serialized_end=12794 - _globals['_BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY']._serialized_start=12719 - _globals['_BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY']._serialized_end=12794 - _globals['_BACKINGIMAGEEXPOSERESPONSE']._serialized_start=12796 - _globals['_BACKINGIMAGEEXPOSERESPONSE']._serialized_end=12863 - _globals['_DISK']._serialized_start=12866 - _globals['_DISK']._serialized_end=13095 - _globals['_DISKCREATEREQUEST']._serialized_start=13097 - _globals['_DISKCREATEREQUEST']._serialized_end=13214 - _globals['_DISKGETREQUEST']._serialized_start=13216 - _globals['_DISKGETREQUEST']._serialized_end=13291 - _globals['_DISKDELETEREQUEST']._serialized_start=13293 - _globals['_DISKDELETEREQUEST']._serialized_end=13390 - _globals['_DISKHEALTHGETREQUEST']._serialized_start=13392 - _globals['_DISKHEALTHGETREQUEST']._serialized_end=13473 - _globals['_LOGSETLEVELREQUEST']._serialized_start=13475 - _globals['_LOGSETLEVELREQUEST']._serialized_end=13510 - _globals['_LOGSETFLAGSREQUEST']._serialized_start=13512 - _globals['_LOGSETFLAGSREQUEST']._serialized_end=13547 - _globals['_LOGGETLEVELRESPONSE']._serialized_start=13549 - _globals['_LOGGETLEVELRESPONSE']._serialized_end=13585 - _globals['_LOGGETFLAGSRESPONSE']._serialized_start=13587 - _globals['_LOGGETFLAGSRESPONSE']._serialized_end=13623 - _globals['_METRICSREQUEST']._serialized_start=13625 - _globals['_METRICSREQUEST']._serialized_end=13655 - _globals['_METRICS']._serialized_start=13658 - _globals['_METRICS']._serialized_end=13796 - _globals['_DISKHEALTHGETRESPONSE']._serialized_start=13799 - _globals['_DISKHEALTHGETRESPONSE']._serialized_end=14430 - _globals['_SPDKSERVICE']._serialized_start=14622 - _globals['_SPDKSERVICE']._serialized_end=24981 + _globals['_ENGINECREATEREQUEST']._serialized_start=4821 + _globals['_ENGINECREATEREQUEST']._serialized_end=5361 + _globals['_ENGINECREATEREQUEST_REPLICAADDRESSMAPENTRY']._serialized_start=4620 + _globals['_ENGINECREATEREQUEST_REPLICAADDRESSMAPENTRY']._serialized_end=4676 + _globals['_ENGINEDELETEREQUEST']._serialized_start=5363 + _globals['_ENGINEDELETEREQUEST']._serialized_end=5398 + _globals['_ENGINEGETREQUEST']._serialized_start=5400 + _globals['_ENGINEGETREQUEST']._serialized_end=5432 + _globals['_ENGINESUSPENDREQUEST']._serialized_start=5434 + _globals['_ENGINESUSPENDREQUEST']._serialized_end=5470 + _globals['_ENGINERESUMEREQUEST']._serialized_start=5472 + _globals['_ENGINERESUMEREQUEST']._serialized_end=5507 + _globals['_ENGINESNAPSHOTMAXCOUNTSETREQUEST']._serialized_start=5509 + _globals['_ENGINESNAPSHOTMAXCOUNTSETREQUEST']._serialized_end=5572 + _globals['_ENGINEEXPANDREQUEST']._serialized_start=5574 + _globals['_ENGINEEXPANDREQUEST']._serialized_end=5623 + _globals['_ENGINEEXPANDPRECHECKREQUEST']._serialized_start=5625 + _globals['_ENGINEEXPANDPRECHECKREQUEST']._serialized_end=5682 + _globals['_ENGINEEXPANDPRECHECKRESPONSE']._serialized_start=5684 + _globals['_ENGINEEXPANDPRECHECKRESPONSE']._serialized_end=5742 + _globals['_ENGINEDELETETARGETREQUEST']._serialized_start=5744 + _globals['_ENGINEDELETETARGETREQUEST']._serialized_end=5785 + _globals['_ENGINELISTRESPONSE']._serialized_start=5788 + _globals['_ENGINELISTRESPONSE']._serialized_end=5932 + _globals['_ENGINELISTRESPONSE_ENGINESENTRY']._serialized_start=5869 + _globals['_ENGINELISTRESPONSE_ENGINESENTRY']._serialized_end=5932 + _globals['_ENGINEREPLICAADDREQUEST']._serialized_start=5935 + _globals['_ENGINEREPLICAADDREQUEST']._serialized_end=6167 + _globals['_ENGINEREPLICALISTREQUEST']._serialized_start=6169 + _globals['_ENGINEREPLICALISTREQUEST']._serialized_end=6216 + _globals['_ENGINEREPLICALISTRESPONSE']._serialized_start=6219 + _globals['_ENGINEREPLICALISTRESPONSE']._serialized_end=6381 + _globals['_ENGINEREPLICALISTRESPONSE_REPLICASENTRY']._serialized_start=1321 + _globals['_ENGINEREPLICALISTRESPONSE_REPLICASENTRY']._serialized_end=1386 + _globals['_ENGINEREPLICADELETEREQUEST']._serialized_start=6383 + _globals['_ENGINEREPLICADELETEREQUEST']._serialized_end=6479 + _globals['_ENGINEREPLICAREBUILDSTATUSREQUEST']._serialized_start=6481 + _globals['_ENGINEREPLICAREBUILDSTATUSREQUEST']._serialized_end=6559 + _globals['_ENGINEREPLICAREBUILDSTATUSRESPONSE']._serialized_start=6562 + _globals['_ENGINEREPLICAREBUILDSTATUSRESPONSE']._serialized_end=6746 + _globals['_ENGINESETTARGETLISTENERANASTATEREQUEST']._serialized_start=6748 + _globals['_ENGINESETTARGETLISTENERANASTATEREQUEST']._serialized_end=6821 + _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_start=6824 + _globals['_ENGINEFRONTENDNVMETCPPATH']._serialized_end=6959 + _globals['_ENGINEFRONTEND']._serialized_start=6962 + _globals['_ENGINEFRONTEND']._serialized_end=7397 + _globals['_ENGINEFRONTENDCREATEREQUEST']._serialized_start=7400 + _globals['_ENGINEFRONTENDCREATEREQUEST']._serialized_end=7633 + _globals['_ENGINEFRONTENDDELETEREQUEST']._serialized_start=7635 + _globals['_ENGINEFRONTENDDELETEREQUEST']._serialized_end=7678 + _globals['_ENGINEFRONTENDGETREQUEST']._serialized_start=7680 + _globals['_ENGINEFRONTENDGETREQUEST']._serialized_end=7720 + _globals['_ENGINEFRONTENDLISTRESPONSE']._serialized_start=7723 + _globals['_ENGINEFRONTENDLISTRESPONSE']._serialized_end=7916 + _globals['_ENGINEFRONTENDLISTRESPONSE_ENGINEFRONTENDSENTRY']._serialized_start=7837 + _globals['_ENGINEFRONTENDLISTRESPONSE_ENGINEFRONTENDSENTRY']._serialized_end=7916 + _globals['_ENGINEFRONTENDSUSPENDREQUEST']._serialized_start=7918 + _globals['_ENGINEFRONTENDSUSPENDREQUEST']._serialized_end=7962 + _globals['_ENGINEFRONTENDRESUMEREQUEST']._serialized_start=7964 + _globals['_ENGINEFRONTENDRESUMEREQUEST']._serialized_end=8007 + _globals['_ENGINEFRONTENDEXPANDREQUEST']._serialized_start=8009 + _globals['_ENGINEFRONTENDEXPANDREQUEST']._serialized_end=8066 + _globals['_ENGINEFRONTENDREPLICAADDREQUEST']._serialized_start=8069 + _globals['_ENGINEFRONTENDREPLICAADDREQUEST']._serialized_end=8255 + _globals['_ENGINEFRONTENDSWITCHOVERREQUEST']._serialized_start=8257 + _globals['_ENGINEFRONTENDSWITCHOVERREQUEST']._serialized_end=8375 + _globals['_SNAPSHOTREQUEST']._serialized_start=8378 + _globals['_SNAPSHOTREQUEST']._serialized_end=8583 + _globals['_SNAPSHOTREQUEST_LABELSENTRY']._serialized_start=8538 + _globals['_SNAPSHOTREQUEST_LABELSENTRY']._serialized_end=8583 + _globals['_SNAPSHOTRESPONSE']._serialized_start=8585 + _globals['_SNAPSHOTRESPONSE']._serialized_end=8626 + _globals['_SNAPSHOTHASHREQUEST']._serialized_start=8628 + _globals['_SNAPSHOTHASHREQUEST']._serialized_end=8702 + _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_start=8704 + _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_end=8768 + _globals['_REPLICASNAPSHOTHASHSTATUSRESPONSE']._serialized_start=8770 + _globals['_REPLICASNAPSHOTHASHSTATUSRESPONSE']._serialized_end=8881 + _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE']._serialized_start=8884 + _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE']._serialized_end=9080 + _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE_STATUSENTRY']._serialized_start=8991 + _globals['_ENGINESNAPSHOTHASHSTATUSRESPONSE_STATUSENTRY']._serialized_end=9080 + _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_start=9082 + _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_end=9146 + _globals['_SNAPSHOTHASHLOCKSTATEREQUEST']._serialized_start=9148 + _globals['_SNAPSHOTHASHLOCKSTATEREQUEST']._serialized_end=9192 + _globals['_REPLICASNAPSHOTRANGEHASHGETREQUEST']._serialized_start=9194 + _globals['_REPLICASNAPSHOTRANGEHASHGETREQUEST']._serialized_end=9319 + _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE']._serialized_start=9322 + _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE']._serialized_end=9500 + _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE_RANGEHASHMAPENTRY']._serialized_start=9449 + _globals['_REPLICASNAPSHOTRANGEHASHGETRESPONSE_RANGEHASHMAPENTRY']._serialized_end=9500 + _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_start=9502 + _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_end=9552 + _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_start=9555 + _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_end=9893 + _globals['_ENGINESNAPSHOTCLONEREQUEST_DSTREPLICASRCREPLICAPAIRMAPENTRY']._serialized_start=9827 + _globals['_ENGINESNAPSHOTCLONEREQUEST_DSTREPLICASRCREPLICAPAIRMAPENTRY']._serialized_end=9893 + _globals['_VERSIONOUTPUT']._serialized_start=9896 + _globals['_VERSIONOUTPUT']._serialized_end=10135 + _globals['_VERSIONDETAILGETREPLY']._serialized_start=10137 + _globals['_VERSIONDETAILGETREPLY']._serialized_end=10201 + _globals['_BACKUPCREATEREQUEST']._serialized_start=10204 + _globals['_BACKUPCREATEREQUEST']._serialized_end=10645 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_start=10596 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_end=10645 + _globals['_BACKUPCREATERESPONSE']._serialized_start=10647 + _globals['_BACKUPCREATERESPONSE']._serialized_end=10734 + _globals['_BACKUPSTATUSREQUEST']._serialized_start=10736 + _globals['_BACKUPSTATUSREQUEST']._serialized_end=10819 + _globals['_BACKUPSTATUSRESPONSE']._serialized_start=10822 + _globals['_BACKUPSTATUSRESPONSE']._serialized_end=10960 + _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_start=10963 + _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_end=11205 + _globals['_ENGINEBACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_start=10596 + _globals['_ENGINEBACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_end=10645 + _globals['_ENGINEBACKUPRESTORERESPONSE']._serialized_start=11208 + _globals['_ENGINEBACKUPRESTORERESPONSE']._serialized_end=11350 + _globals['_ENGINEBACKUPRESTORERESPONSE_ERRORSENTRY']._serialized_start=11305 + _globals['_ENGINEBACKUPRESTORERESPONSE_ERRORSENTRY']._serialized_end=11350 + _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_start=11352 + _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_end=11407 + _globals['_REPLICABACKUPRESTOREREQUEST']._serialized_start=11410 + _globals['_REPLICABACKUPRESTOREREQUEST']._serialized_end=11655 + _globals['_REPLICABACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_start=10596 + _globals['_REPLICABACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_end=10645 + _globals['_RESTORESTATUSREQUEST']._serialized_start=11657 + _globals['_RESTORESTATUSREQUEST']._serialized_end=11700 + _globals['_REPLICARESTORESTATUSREQUEST']._serialized_start=11702 + _globals['_REPLICARESTORESTATUSREQUEST']._serialized_end=11753 + _globals['_REPLICARESTORESTATUSRESPONSE']._serialized_start=11756 + _globals['_REPLICARESTORESTATUSRESPONSE']._serialized_end=12004 + _globals['_RESTORESTATUSRESPONSE']._serialized_start=12007 + _globals['_RESTORESTATUSRESPONSE']._serialized_end=12176 + _globals['_RESTORESTATUSRESPONSE_STATUSENTRY']._serialized_start=12092 + _globals['_RESTORESTATUSRESPONSE_STATUSENTRY']._serialized_end=12176 + _globals['_BACKINGIMAGE']._serialized_start=12179 + _globals['_BACKINGIMAGE']._serialized_end=12421 + _globals['_BACKINGIMAGECREATEREQUEST']._serialized_start=12424 + _globals['_BACKINGIMAGECREATEREQUEST']._serialized_end=12587 + _globals['_BACKINGIMAGEDELETEREQUEST']._serialized_start=12589 + _globals['_BACKINGIMAGEDELETEREQUEST']._serialized_end=12648 + _globals['_BACKINGIMAGEGETREQUEST']._serialized_start=12650 + _globals['_BACKINGIMAGEGETREQUEST']._serialized_end=12706 + _globals['_BACKINGIMAGELISTRESPONSE']._serialized_start=12709 + _globals['_BACKINGIMAGELISTRESPONSE']._serialized_end=12890 + _globals['_BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY']._serialized_start=12815 + _globals['_BACKINGIMAGELISTRESPONSE_BACKINGIMAGESENTRY']._serialized_end=12890 + _globals['_BACKINGIMAGEEXPOSERESPONSE']._serialized_start=12892 + _globals['_BACKINGIMAGEEXPOSERESPONSE']._serialized_end=12959 + _globals['_DISK']._serialized_start=12962 + _globals['_DISK']._serialized_end=13191 + _globals['_DISKCREATEREQUEST']._serialized_start=13193 + _globals['_DISKCREATEREQUEST']._serialized_end=13310 + _globals['_DISKGETREQUEST']._serialized_start=13312 + _globals['_DISKGETREQUEST']._serialized_end=13387 + _globals['_DISKDELETEREQUEST']._serialized_start=13389 + _globals['_DISKDELETEREQUEST']._serialized_end=13486 + _globals['_DISKHEALTHGETREQUEST']._serialized_start=13488 + _globals['_DISKHEALTHGETREQUEST']._serialized_end=13569 + _globals['_LOGSETLEVELREQUEST']._serialized_start=13571 + _globals['_LOGSETLEVELREQUEST']._serialized_end=13606 + _globals['_LOGSETFLAGSREQUEST']._serialized_start=13608 + _globals['_LOGSETFLAGSREQUEST']._serialized_end=13643 + _globals['_LOGGETLEVELRESPONSE']._serialized_start=13645 + _globals['_LOGGETLEVELRESPONSE']._serialized_end=13681 + _globals['_LOGGETFLAGSRESPONSE']._serialized_start=13683 + _globals['_LOGGETFLAGSRESPONSE']._serialized_end=13719 + _globals['_METRICSREQUEST']._serialized_start=13721 + _globals['_METRICSREQUEST']._serialized_end=13751 + _globals['_METRICS']._serialized_start=13754 + _globals['_METRICS']._serialized_end=13892 + _globals['_DISKHEALTHGETRESPONSE']._serialized_start=13895 + _globals['_DISKHEALTHGETRESPONSE']._serialized_end=14526 + _globals['_SPDKSERVICE']._serialized_start=14784 + _globals['_SPDKSERVICE']._serialized_end=25143 # @@protoc_insertion_point(module_scope) + diff --git a/pkg/generated/imrpc/common.pb.go b/pkg/generated/imrpc/common.pb.go index 55ec5ec..edf9944 100644 --- a/pkg/generated/imrpc/common.pb.go +++ b/pkg/generated/imrpc/common.pb.go @@ -210,6 +210,56 @@ func (DataLayoutType) EnumDescriptor() ([]byte, []int) { return file_imrpc_common_proto_rawDescGZIP(), []int{3} } +// TransportType is the NVMe-oF transport for the internal engine<->replica +// data fabric, forwarded from SpdkInstanceSpec to spdkrpc.EngineCreateRequest / +// ReplicaCreateRequest. Mirrors spdkrpc.TransportType but defined here to +// keep imrpc and spdkrpc decoupled. Unset (0) == TCP preserves historical behavior. +type TransportType int32 + +const ( + TransportType_TRANSPORT_TYPE_TCP TransportType = 0 + TransportType_TRANSPORT_TYPE_RDMA TransportType = 1 +) + +// Enum value maps for TransportType. +var ( + TransportType_name = map[int32]string{ + 0: "TRANSPORT_TYPE_TCP", + 1: "TRANSPORT_TYPE_RDMA", + } + TransportType_value = map[string]int32{ + "TRANSPORT_TYPE_TCP": 0, + "TRANSPORT_TYPE_RDMA": 1, + } +) + +func (x TransportType) Enum() *TransportType { + p := new(TransportType) + *p = x + return p +} + +func (x TransportType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TransportType) Descriptor() protoreflect.EnumDescriptor { + return file_imrpc_common_proto_enumTypes[4].Descriptor() +} + +func (TransportType) Type() protoreflect.EnumType { + return &file_imrpc_common_proto_enumTypes[4] +} + +func (x TransportType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TransportType.Descriptor instead. +func (TransportType) EnumDescriptor() ([]byte, []int) { + return file_imrpc_common_proto_rawDescGZIP(), []int{4} +} + // ShardEndpoint carries the transport address and pre-resolved slot index for // a shard, as passed to the instance manager for ShardGroup process creation. // address is "ip:port" - passed to connectNVMfBdev which calls @@ -474,11 +524,15 @@ var file_imrpc_common_proto_rawDesc = []byte{ 0x1b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x42, 0x2f, 0x5a, 0x2d, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x68, - 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x40, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x44, 0x4d, 0x41, 0x10, 0x01, 0x42, 0x2f, + 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, 0x6e, + 0x67, 0x68, 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -493,21 +547,22 @@ func file_imrpc_common_proto_rawDescGZIP() []byte { return file_imrpc_common_proto_rawDescData } -var file_imrpc_common_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_imrpc_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_imrpc_common_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_imrpc_common_proto_goTypes = []interface{}{ (BackendStoreDriver)(0), // 0: imrpc.BackendStoreDriver (DataEngine)(0), // 1: imrpc.DataEngine (CloneMode)(0), // 2: imrpc.CloneMode (DataLayoutType)(0), // 3: imrpc.DataLayoutType - (*ShardEndpoint)(nil), // 4: imrpc.ShardEndpoint - (*ShardGroupSpec)(nil), // 5: imrpc.ShardGroupSpec - (*LinkedCloneSource)(nil), // 6: imrpc.LinkedCloneSource - nil, // 7: imrpc.ShardGroupSpec.ShardsEntry + (TransportType)(0), // 4: imrpc.TransportType + (*ShardEndpoint)(nil), // 5: imrpc.ShardEndpoint + (*ShardGroupSpec)(nil), // 6: imrpc.ShardGroupSpec + (*LinkedCloneSource)(nil), // 7: imrpc.LinkedCloneSource + nil, // 8: imrpc.ShardGroupSpec.ShardsEntry } var file_imrpc_common_proto_depIdxs = []int32{ - 7, // 0: imrpc.ShardGroupSpec.shards:type_name -> imrpc.ShardGroupSpec.ShardsEntry - 4, // 1: imrpc.ShardGroupSpec.ShardsEntry.value:type_name -> imrpc.ShardEndpoint + 8, // 0: imrpc.ShardGroupSpec.shards:type_name -> imrpc.ShardGroupSpec.ShardsEntry + 5, // 1: imrpc.ShardGroupSpec.ShardsEntry.value:type_name -> imrpc.ShardEndpoint 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -563,7 +618,7 @@ func file_imrpc_common_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_imrpc_common_proto_rawDesc, - NumEnums: 4, + NumEnums: 5, NumMessages: 4, NumExtensions: 0, NumServices: 0, diff --git a/pkg/generated/imrpc/instance.pb.go b/pkg/generated/imrpc/instance.pb.go index aebf6bf..e99ab50 100644 --- a/pkg/generated/imrpc/instance.pb.go +++ b/pkg/generated/imrpc/instance.pb.go @@ -120,6 +120,13 @@ type SpdkInstanceSpec struct { // initiator creates when connecting the blockdev frontend over NVMe-TCP // (0 means unspecified, kernel default). NvmeTcpNrIoQueues int32 `protobuf:"varint,16,opt,name=nvme_tcp_nr_io_queues,json=nvmeTcpNrIoQueues,proto3" json:"nvme_tcp_nr_io_queues,omitempty"` + // transport_type selects the NVMe-oF transport for the internal + // engine<->replica data fabric. Set on both engine and replica instances so + // the exporter (replica) and the connector (engine) agree. Forwarded to + // spdkrpc.EngineCreateRequest / ReplicaCreateRequest.transport_type. + // Kept on the spec (not the request) because the delete path reads the spec + // and must tear down the same transport it created. Unset (0) == TCP. + TransportType TransportType `protobuf:"varint,17,opt,name=transport_type,json=transportType,proto3,enum=imrpc.TransportType" json:"transport_type,omitempty"` } func (x *SpdkInstanceSpec) Reset() { @@ -266,6 +273,13 @@ func (x *SpdkInstanceSpec) GetNvmeTcpNrIoQueues() int32 { return 0 } +func (x *SpdkInstanceSpec) GetTransportType() TransportType { + if x != nil { + return x.TransportType + } + return TransportType_TRANSPORT_TYPE_TCP +} + type InstanceSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1738,7 +1752,7 @@ var file_imrpc_instance_proto_rawDesc = []byte{ 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x22, 0xf7, 0x05, 0x0a, 0x10, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, + 0x61, 0x72, 0x67, 0x73, 0x22, 0xb4, 0x06, 0x0a, 0x10, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x53, @@ -1781,12 +1795,119 @@ var file_imrpc_instance_proto_rawDesc = []byte{ 0x75, 0x70, 0x53, 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x6e, 0x72, 0x5f, 0x69, 0x6f, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x4e, 0x72, - 0x49, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcf, - 0x04, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x49, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcf, 0x04, 0x0a, 0x0c, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4f, 0x0a, 0x14, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, + 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, + 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x13, 0x70, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x45, 0x0a, 0x12, 0x73, 0x70, 0x64, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x73, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, + 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x71, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6e, 0x71, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x67, 0x75, + 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0xcf, 0x05, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, + 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, + 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, + 0x62, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, @@ -1794,312 +1915,209 @@ var file_imrpc_instance_proto_rawDesc = []byte{ 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, - 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x45, 0x0a, 0x12, 0x73, 0x70, 0x64, 0x6b, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x73, 0x70, 0x64, 0x6b, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x0b, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x75, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, - 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x6e, 0x71, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6e, 0x71, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x67, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x22, 0xcf, 0x05, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x45, - 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x39, 0x0a, - 0x19, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x16, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x6e, - 0x64, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x62, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x75, 0x62, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x36, 0x0a, - 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, - 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, - 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, - 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x15, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, - 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, - 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x65, 0x61, - 0x6e, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x12, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, - 0x84, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x2d, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x48, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x0e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, - 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, + 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x22, 0x6c, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, - 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, - 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x22, 0x74, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, - 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, + 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x84, 0x01, 0x0a, + 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x01, + 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, + 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x22, 0x6c, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, + 0x74, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x73, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x1f, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, + 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, 0x65, 0x72, + 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x79, 0x0a, + 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x73, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf0, 0x01, - 0x0a, 0x1f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, - 0x76, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, - 0x22, 0x79, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4c, - 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x5e, 0x0a, 0x12, 0x4c, - 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x48, 0x0a, 0x12, 0x4c, - 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, - 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x2b, 0x0a, 0x13, - 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x32, 0x93, 0x09, 0x0a, 0x0f, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, - 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x1c, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x69, 0x6d, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x65, 0x74, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x1b, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3a, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x19, - 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, - 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x4c, 0x6f, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x0d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x30, 0x01, - 0x12, 0x4b, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, - 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, - 0x12, 0x1d, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x69, 0x6d, - 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, + 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x5e, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, + 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x48, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x47, + 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, + 0x48, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x4c, 0x6f, 0x67, + 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x32, 0x93, 0x09, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x43, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x12, + 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, - 0x26, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x12, 0x54, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x69, 0x6d, 0x72, 0x70, - 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, - 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, - 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, - 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0b, 0x4c, - 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, - 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, - 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x69, 0x6d, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x10, 0x2e, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, - 0x6e, 0x67, 0x68, 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x4b, 0x0a, + 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x12, 0x1d, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0f, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x5c, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x54, + 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, + 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, + 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x47, + 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, + 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x19, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x47, + 0x65, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x10, 0x2e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2f, 0x5a, 0x2d, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x68, + 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2142,80 +2160,82 @@ var file_imrpc_instance_proto_goTypes = []interface{}{ nil, // 23: imrpc.InstanceStatus.ConditionsEntry nil, // 24: imrpc.InstanceListResponse.InstancesEntry (*ShardGroupSpec)(nil), // 25: imrpc.ShardGroupSpec - (BackendStoreDriver)(0), // 26: imrpc.BackendStoreDriver - (DataEngine)(0), // 27: imrpc.DataEngine - (DataLayoutType)(0), // 28: imrpc.DataLayoutType - (*emptypb.Empty)(nil), // 29: google.protobuf.Empty - (*LogResponse)(nil), // 30: LogResponse - (*VersionResponse)(nil), // 31: VersionResponse + (TransportType)(0), // 26: imrpc.TransportType + (BackendStoreDriver)(0), // 27: imrpc.BackendStoreDriver + (DataEngine)(0), // 28: imrpc.DataEngine + (DataLayoutType)(0), // 29: imrpc.DataLayoutType + (*emptypb.Empty)(nil), // 30: google.protobuf.Empty + (*LogResponse)(nil), // 31: LogResponse + (*VersionResponse)(nil), // 32: VersionResponse } var file_imrpc_instance_proto_depIdxs = []int32{ 22, // 0: imrpc.SpdkInstanceSpec.replica_address_map:type_name -> imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry 25, // 1: imrpc.SpdkInstanceSpec.shard_group_spec:type_name -> imrpc.ShardGroupSpec - 26, // 2: imrpc.InstanceSpec.backend_store_driver:type_name -> imrpc.BackendStoreDriver - 0, // 3: imrpc.InstanceSpec.process_instance_spec:type_name -> imrpc.ProcessInstanceSpec - 1, // 4: imrpc.InstanceSpec.spdk_instance_spec:type_name -> imrpc.SpdkInstanceSpec - 27, // 5: imrpc.InstanceSpec.data_engine:type_name -> imrpc.DataEngine - 23, // 6: imrpc.InstanceStatus.conditions:type_name -> imrpc.InstanceStatus.ConditionsEntry - 3, // 7: imrpc.InstanceStatus.paths:type_name -> imrpc.EngineFrontendNvmeTcpPath - 2, // 8: imrpc.InstanceCreateRequest.spec:type_name -> imrpc.InstanceSpec - 28, // 9: imrpc.InstanceCreateRequest.data_layout_type:type_name -> imrpc.DataLayoutType - 26, // 10: imrpc.InstanceDeleteRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver - 27, // 11: imrpc.InstanceDeleteRequest.data_engine:type_name -> imrpc.DataEngine - 26, // 12: imrpc.InstanceGetRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver - 27, // 13: imrpc.InstanceGetRequest.data_engine:type_name -> imrpc.DataEngine - 2, // 14: imrpc.InstanceResponse.spec:type_name -> imrpc.InstanceSpec - 4, // 15: imrpc.InstanceResponse.status:type_name -> imrpc.InstanceStatus - 24, // 16: imrpc.InstanceListResponse.instances:type_name -> imrpc.InstanceListResponse.InstancesEntry - 26, // 17: imrpc.InstanceLogRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver - 27, // 18: imrpc.InstanceLogRequest.data_engine:type_name -> imrpc.DataEngine - 2, // 19: imrpc.InstanceReplaceRequest.spec:type_name -> imrpc.InstanceSpec - 27, // 20: imrpc.InstanceSuspendRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 21: imrpc.InstanceResumeRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 22: imrpc.InstanceSwitchOverTargetRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 23: imrpc.InstanceDeleteTargetRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 24: imrpc.LogSetLevelRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 25: imrpc.LogSetFlagsRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 26: imrpc.LogGetLevelRequest.data_engine:type_name -> imrpc.DataEngine - 27, // 27: imrpc.LogGetFlagsRequest.data_engine:type_name -> imrpc.DataEngine - 8, // 28: imrpc.InstanceListResponse.InstancesEntry.value:type_name -> imrpc.InstanceResponse - 5, // 29: imrpc.InstanceService.InstanceCreate:input_type -> imrpc.InstanceCreateRequest - 6, // 30: imrpc.InstanceService.InstanceDelete:input_type -> imrpc.InstanceDeleteRequest - 7, // 31: imrpc.InstanceService.InstanceGet:input_type -> imrpc.InstanceGetRequest - 29, // 32: imrpc.InstanceService.InstanceList:input_type -> google.protobuf.Empty - 10, // 33: imrpc.InstanceService.InstanceLog:input_type -> imrpc.InstanceLogRequest - 29, // 34: imrpc.InstanceService.InstanceWatch:input_type -> google.protobuf.Empty - 11, // 35: imrpc.InstanceService.InstanceReplace:input_type -> imrpc.InstanceReplaceRequest - 12, // 36: imrpc.InstanceService.InstanceSuspend:input_type -> imrpc.InstanceSuspendRequest - 13, // 37: imrpc.InstanceService.InstanceResume:input_type -> imrpc.InstanceResumeRequest - 14, // 38: imrpc.InstanceService.InstanceSwitchOverTarget:input_type -> imrpc.InstanceSwitchOverTargetRequest - 15, // 39: imrpc.InstanceService.InstanceDeleteTarget:input_type -> imrpc.InstanceDeleteTargetRequest - 16, // 40: imrpc.InstanceService.LogSetLevel:input_type -> imrpc.LogSetLevelRequest - 17, // 41: imrpc.InstanceService.LogSetFlags:input_type -> imrpc.LogSetFlagsRequest - 18, // 42: imrpc.InstanceService.LogGetLevel:input_type -> imrpc.LogGetLevelRequest - 20, // 43: imrpc.InstanceService.LogGetFlags:input_type -> imrpc.LogGetFlagsRequest - 29, // 44: imrpc.InstanceService.VersionGet:input_type -> google.protobuf.Empty - 8, // 45: imrpc.InstanceService.InstanceCreate:output_type -> imrpc.InstanceResponse - 8, // 46: imrpc.InstanceService.InstanceDelete:output_type -> imrpc.InstanceResponse - 8, // 47: imrpc.InstanceService.InstanceGet:output_type -> imrpc.InstanceResponse - 9, // 48: imrpc.InstanceService.InstanceList:output_type -> imrpc.InstanceListResponse - 30, // 49: imrpc.InstanceService.InstanceLog:output_type -> LogResponse - 29, // 50: imrpc.InstanceService.InstanceWatch:output_type -> google.protobuf.Empty - 8, // 51: imrpc.InstanceService.InstanceReplace:output_type -> imrpc.InstanceResponse - 29, // 52: imrpc.InstanceService.InstanceSuspend:output_type -> google.protobuf.Empty - 29, // 53: imrpc.InstanceService.InstanceResume:output_type -> google.protobuf.Empty - 29, // 54: imrpc.InstanceService.InstanceSwitchOverTarget:output_type -> google.protobuf.Empty - 29, // 55: imrpc.InstanceService.InstanceDeleteTarget:output_type -> google.protobuf.Empty - 29, // 56: imrpc.InstanceService.LogSetLevel:output_type -> google.protobuf.Empty - 29, // 57: imrpc.InstanceService.LogSetFlags:output_type -> google.protobuf.Empty - 19, // 58: imrpc.InstanceService.LogGetLevel:output_type -> imrpc.LogGetLevelResponse - 21, // 59: imrpc.InstanceService.LogGetFlags:output_type -> imrpc.LogGetFlagsResponse - 31, // 60: imrpc.InstanceService.VersionGet:output_type -> VersionResponse - 45, // [45:61] is the sub-list for method output_type - 29, // [29:45] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 26, // 2: imrpc.SpdkInstanceSpec.transport_type:type_name -> imrpc.TransportType + 27, // 3: imrpc.InstanceSpec.backend_store_driver:type_name -> imrpc.BackendStoreDriver + 0, // 4: imrpc.InstanceSpec.process_instance_spec:type_name -> imrpc.ProcessInstanceSpec + 1, // 5: imrpc.InstanceSpec.spdk_instance_spec:type_name -> imrpc.SpdkInstanceSpec + 28, // 6: imrpc.InstanceSpec.data_engine:type_name -> imrpc.DataEngine + 23, // 7: imrpc.InstanceStatus.conditions:type_name -> imrpc.InstanceStatus.ConditionsEntry + 3, // 8: imrpc.InstanceStatus.paths:type_name -> imrpc.EngineFrontendNvmeTcpPath + 2, // 9: imrpc.InstanceCreateRequest.spec:type_name -> imrpc.InstanceSpec + 29, // 10: imrpc.InstanceCreateRequest.data_layout_type:type_name -> imrpc.DataLayoutType + 27, // 11: imrpc.InstanceDeleteRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver + 28, // 12: imrpc.InstanceDeleteRequest.data_engine:type_name -> imrpc.DataEngine + 27, // 13: imrpc.InstanceGetRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver + 28, // 14: imrpc.InstanceGetRequest.data_engine:type_name -> imrpc.DataEngine + 2, // 15: imrpc.InstanceResponse.spec:type_name -> imrpc.InstanceSpec + 4, // 16: imrpc.InstanceResponse.status:type_name -> imrpc.InstanceStatus + 24, // 17: imrpc.InstanceListResponse.instances:type_name -> imrpc.InstanceListResponse.InstancesEntry + 27, // 18: imrpc.InstanceLogRequest.backend_store_driver:type_name -> imrpc.BackendStoreDriver + 28, // 19: imrpc.InstanceLogRequest.data_engine:type_name -> imrpc.DataEngine + 2, // 20: imrpc.InstanceReplaceRequest.spec:type_name -> imrpc.InstanceSpec + 28, // 21: imrpc.InstanceSuspendRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 22: imrpc.InstanceResumeRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 23: imrpc.InstanceSwitchOverTargetRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 24: imrpc.InstanceDeleteTargetRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 25: imrpc.LogSetLevelRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 26: imrpc.LogSetFlagsRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 27: imrpc.LogGetLevelRequest.data_engine:type_name -> imrpc.DataEngine + 28, // 28: imrpc.LogGetFlagsRequest.data_engine:type_name -> imrpc.DataEngine + 8, // 29: imrpc.InstanceListResponse.InstancesEntry.value:type_name -> imrpc.InstanceResponse + 5, // 30: imrpc.InstanceService.InstanceCreate:input_type -> imrpc.InstanceCreateRequest + 6, // 31: imrpc.InstanceService.InstanceDelete:input_type -> imrpc.InstanceDeleteRequest + 7, // 32: imrpc.InstanceService.InstanceGet:input_type -> imrpc.InstanceGetRequest + 30, // 33: imrpc.InstanceService.InstanceList:input_type -> google.protobuf.Empty + 10, // 34: imrpc.InstanceService.InstanceLog:input_type -> imrpc.InstanceLogRequest + 30, // 35: imrpc.InstanceService.InstanceWatch:input_type -> google.protobuf.Empty + 11, // 36: imrpc.InstanceService.InstanceReplace:input_type -> imrpc.InstanceReplaceRequest + 12, // 37: imrpc.InstanceService.InstanceSuspend:input_type -> imrpc.InstanceSuspendRequest + 13, // 38: imrpc.InstanceService.InstanceResume:input_type -> imrpc.InstanceResumeRequest + 14, // 39: imrpc.InstanceService.InstanceSwitchOverTarget:input_type -> imrpc.InstanceSwitchOverTargetRequest + 15, // 40: imrpc.InstanceService.InstanceDeleteTarget:input_type -> imrpc.InstanceDeleteTargetRequest + 16, // 41: imrpc.InstanceService.LogSetLevel:input_type -> imrpc.LogSetLevelRequest + 17, // 42: imrpc.InstanceService.LogSetFlags:input_type -> imrpc.LogSetFlagsRequest + 18, // 43: imrpc.InstanceService.LogGetLevel:input_type -> imrpc.LogGetLevelRequest + 20, // 44: imrpc.InstanceService.LogGetFlags:input_type -> imrpc.LogGetFlagsRequest + 30, // 45: imrpc.InstanceService.VersionGet:input_type -> google.protobuf.Empty + 8, // 46: imrpc.InstanceService.InstanceCreate:output_type -> imrpc.InstanceResponse + 8, // 47: imrpc.InstanceService.InstanceDelete:output_type -> imrpc.InstanceResponse + 8, // 48: imrpc.InstanceService.InstanceGet:output_type -> imrpc.InstanceResponse + 9, // 49: imrpc.InstanceService.InstanceList:output_type -> imrpc.InstanceListResponse + 31, // 50: imrpc.InstanceService.InstanceLog:output_type -> LogResponse + 30, // 51: imrpc.InstanceService.InstanceWatch:output_type -> google.protobuf.Empty + 8, // 52: imrpc.InstanceService.InstanceReplace:output_type -> imrpc.InstanceResponse + 30, // 53: imrpc.InstanceService.InstanceSuspend:output_type -> google.protobuf.Empty + 30, // 54: imrpc.InstanceService.InstanceResume:output_type -> google.protobuf.Empty + 30, // 55: imrpc.InstanceService.InstanceSwitchOverTarget:output_type -> google.protobuf.Empty + 30, // 56: imrpc.InstanceService.InstanceDeleteTarget:output_type -> google.protobuf.Empty + 30, // 57: imrpc.InstanceService.LogSetLevel:output_type -> google.protobuf.Empty + 30, // 58: imrpc.InstanceService.LogSetFlags:output_type -> google.protobuf.Empty + 19, // 59: imrpc.InstanceService.LogGetLevel:output_type -> imrpc.LogGetLevelResponse + 21, // 60: imrpc.InstanceService.LogGetFlags:output_type -> imrpc.LogGetFlagsResponse + 32, // 61: imrpc.InstanceService.VersionGet:output_type -> VersionResponse + 46, // [46:62] is the sub-list for method output_type + 30, // [30:46] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_imrpc_instance_proto_init() } diff --git a/pkg/generated/spdkrpc/spdk.pb.go b/pkg/generated/spdkrpc/spdk.pb.go index cc21f5c..5d15d17 100644 --- a/pkg/generated/spdkrpc/spdk.pb.go +++ b/pkg/generated/spdkrpc/spdk.pb.go @@ -169,6 +169,55 @@ func (DataLayoutType) EnumDescriptor() ([]byte, []int) { return file_spdkrpc_spdk_proto_rawDescGZIP(), []int{2} } +// TransportType selects the NVMe-oF transport used for the internal +// engine<->replica (and engine<->shardgroup) data fabric. Unset defaults to +// TCP, preserving the historical behavior for all existing volumes. +type TransportType int32 + +const ( + TransportType_TRANSPORT_TYPE_TCP TransportType = 0 // NVMe-oF over TCP (default) + TransportType_TRANSPORT_TYPE_RDMA TransportType = 1 // NVMe-oF over RDMA (RoCEv2 / InfiniBand) +) + +// Enum value maps for TransportType. +var ( + TransportType_name = map[int32]string{ + 0: "TRANSPORT_TYPE_TCP", + 1: "TRANSPORT_TYPE_RDMA", + } + TransportType_value = map[string]int32{ + "TRANSPORT_TYPE_TCP": 0, + "TRANSPORT_TYPE_RDMA": 1, + } +) + +func (x TransportType) Enum() *TransportType { + p := new(TransportType) + *p = x + return p +} + +func (x TransportType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TransportType) Descriptor() protoreflect.EnumDescriptor { + return file_spdkrpc_spdk_proto_enumTypes[3].Descriptor() +} + +func (TransportType) Type() protoreflect.EnumType { + return &file_spdkrpc_spdk_proto_enumTypes[3] +} + +func (x TransportType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TransportType.Descriptor instead. +func (TransportType) EnumDescriptor() ([]byte, []int) { + return file_spdkrpc_spdk_proto_rawDescGZIP(), []int{3} +} + type Replica struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -485,6 +534,10 @@ type ReplicaCreateRequest struct { SpecSize uint64 `protobuf:"varint,4,opt,name=spec_size,json=specSize,proto3" json:"spec_size,omitempty"` PortCount int32 `protobuf:"varint,5,opt,name=port_count,json=portCount,proto3" json:"port_count,omitempty"` BackingImageName string `protobuf:"bytes,6,opt,name=backing_image_name,json=backingImageName,proto3" json:"backing_image_name,omitempty"` + // transport_type selects the NVMe-oF fabric this replica's bdev is + // exposed over so the engine can connect to it. Unset (0) == TCP preserves + // the historical behavior. + TransportType TransportType `protobuf:"varint,7,opt,name=transport_type,json=transportType,proto3,enum=spdkrpc.TransportType" json:"transport_type,omitempty"` } func (x *ReplicaCreateRequest) Reset() { @@ -561,6 +614,13 @@ func (x *ReplicaCreateRequest) GetBackingImageName() string { return "" } +func (x *ReplicaCreateRequest) GetTransportType() TransportType { + if x != nil { + return x.TransportType + } + return TransportType_TRANSPORT_TYPE_TCP +} + type ReplicaDeleteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2411,6 +2471,10 @@ type EngineCreateRequest struct { // over replica_address_map (N entries for RAID1, 1 entry for EC pointing // at the ShardGroup endpoint). DataLayoutType DataLayoutType `protobuf:"varint,14,opt,name=data_layout_type,json=dataLayoutType,proto3,enum=spdkrpc.DataLayoutType" json:"data_layout_type,omitempty"` + // transport_type selects the NVMe-oF fabric the engine uses to + // connect to its upstream replica/shardgroup bdevs (controller->replica leg). + // Unset (0) == TCP preserves the historical behavior. + TransportType TransportType `protobuf:"varint,15,opt,name=transport_type,json=transportType,proto3,enum=spdkrpc.TransportType" json:"transport_type,omitempty"` } func (x *EngineCreateRequest) Reset() { @@ -2543,6 +2607,13 @@ func (x *EngineCreateRequest) GetDataLayoutType() DataLayoutType { return DataLayoutType_DATA_LAYOUT_TYPE_REPLICATED } +func (x *EngineCreateRequest) GetTransportType() TransportType { + if x != nil { + return x.TransportType + } + return TransportType_TRANSPORT_TYPE_TCP +} + type EngineDeleteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7539,7 +7610,7 @@ var file_spdkrpc_spdk_proto_rawDesc = []byte{ 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, + 0x65, 0x73, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, @@ -7552,1164 +7623,1176 @@ var file_spdkrpc_spdk_proto_rawDesc = []byte{ 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x22, 0x55, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0xac, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, - 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, - 0x1a, 0x4d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xc4, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x65, - 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x1a, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x61, - 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x12, 0x3d, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x55, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x3e, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, + 0xac, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, + 0x4d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, + 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, - 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x18, 0x64, 0x73, 0x74, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x76, - 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x30, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, - 0x72, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, - 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x73, - 0x74, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x6f, 0x6c, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x90, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, + 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x65, 0x78, + 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, + 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x1a, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x61, 0x0a, + 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0xa5, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0xdc, 0x01, 0x0a, 0x2c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, - 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x29, - 0x0a, 0x10, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x70, - 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x22, 0x97, 0x03, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, - 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x18, 0x72, 0x65, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x16, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x21, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x76, - 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x64, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, - 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, - 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, + 0x64, 0x73, 0x74, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x6f, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, + 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, - 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, - 0x79, 0x6e, 0x63, 0x22, 0x41, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x02, 0x0a, 0x2c, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, - 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x62, 0x0a, 0x26, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x65, - 0x74, 0x51, 0x6f, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x71, 0x6f, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x71, 0x6f, - 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x62, 0x70, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x23, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x73, 0x74, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x90, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, + 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, + 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xdc, 0x01, 0x0a, 0x2c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x29, 0x0a, + 0x10, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x70, 0x69, + 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x97, 0x03, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, + 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x18, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x16, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x4a, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x21, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x15, 0x64, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x76, 0x6f, + 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x64, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, + 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, + 0x6e, 0x63, 0x22, 0x41, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x02, 0x0a, 0x2c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, + 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x62, 0x0a, 0x26, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x65, 0x74, + 0x51, 0x6f, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x71, 0x6f, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x71, 0x6f, 0x73, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x62, 0x70, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x23, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, + 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6c, + 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x29, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x44, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x2a, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, + 0x65, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x6c, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, + 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, + 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xf4, 0x01, + 0x0a, 0x23, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x73, 0x74, 0x5f, + 0x63, 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x73, 0x74, 0x43, + 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x29, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, 0x63, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, - 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, - 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x29, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, - 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x2a, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, - 0x6e, 0x65, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, - 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, - 0x43, 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xf4, - 0x01, 0x0a, 0x23, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x73, 0x74, - 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x73, 0x74, - 0x43, 0x6c, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x29, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x2a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, - 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x64, 0x0a, + 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x08, 0x0a, 0x06, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x4d, 0x0a, + 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x04, + 0x68, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, + 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, + 0x3c, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, + 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x62, 0x6c, 0x6b, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x70, + 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, + 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, + 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, + 0x44, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, + 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x06, 0x0a, 0x13, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, - 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x2a, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, - 0x72, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x64, - 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x08, 0x0a, 0x06, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x4d, - 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6d, - 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, - 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, - 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x62, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x62, 0x6c, 0x6b, 0x5f, - 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x62, 0x6c, 0x6b, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x73, - 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x1a, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x4b, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, - 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc5, 0x05, 0x0a, - 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, - 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, - 0x65, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x75, 0x62, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, + 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x75, 0x62, 0x6c, + 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x14, 0x75, + 0x62, 0x6c, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x75, 0x62, 0x6c, 0x6b, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x10, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x64, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x44, 0x0a, 0x16, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, + 0x10, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x20, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, + 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, 0x0a, 0x13, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x22, 0x4d, 0x0a, 0x1c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x50, 0x72, 0x65, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, + 0x2f, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0c, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x02, 0x0a, 0x17, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x30, + 0x0a, 0x14, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x0a, 0x18, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, 0x4d, 0x0a, + 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x01, 0x0a, + 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x67, 0x0a, 0x21, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x22, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x59, 0x0a, 0x26, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x41, 0x4e, 0x41, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, + 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x71, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6e, 0x71, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x67, 0x75, + 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x8a, 0x05, 0x0a, 0x0e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x17, + 0x0a, 0x07, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x75, 0x62, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, + 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, + 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xe0, 0x02, 0x0a, + 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x75, 0x62, 0x6c, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x75, 0x62, 0x6c, 0x6b, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x2c, 0x0a, - 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x10, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, - 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x44, - 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x26, 0x0a, 0x10, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, - 0x0a, 0x20, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, 0x0a, 0x13, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x4d, 0x0a, 0x1c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x50, 0x72, 0x65, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x22, 0x2f, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x75, 0x62, 0x6c, 0x6b, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x30, 0x0a, + 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x6e, 0x72, 0x5f, 0x69, 0x6f, 0x5f, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x76, + 0x6d, 0x65, 0x54, 0x63, 0x70, 0x4e, 0x72, 0x49, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x22, + 0x31, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x64, - 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x4b, 0x0a, - 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x02, 0x0a, 0x17, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x6d, 0x65, 0x22, 0x2e, 0x0a, 0x18, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x63, 0x0a, 0x10, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, 0x1a, 0x5b, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x32, 0x0a, 0x1c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x22, 0x88, 0x02, 0x0a, 0x1f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, - 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x15, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x0a, 0x18, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, - 0x4d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, - 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x67, 0x0a, 0x21, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x22, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, - 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x59, 0x0a, 0x26, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x65, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x41, - 0x4e, 0x41, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, - 0xbf, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x6e, 0x71, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6e, 0x71, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, - 0x67, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x22, 0x8a, 0x05, 0x0a, 0x0e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, - 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, - 0x65, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, - 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x70, - 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x17, 0x0a, 0x07, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x75, 0x62, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x13, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, - 0x54, 0x63, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xe0, - 0x02, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x75, 0x62, 0x6c, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x2f, - 0x0a, 0x14, 0x75, 0x62, 0x6c, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, - 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x75, 0x62, - 0x6c, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, - 0x30, 0x0a, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x6e, 0x72, 0x5f, 0x69, - 0x6f, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x6e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x4e, 0x72, 0x49, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x73, 0x22, 0x31, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2e, 0x0a, 0x18, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x6c, + 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, + 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa8, 0x01, 0x0a, + 0x1f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x10, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, 0x1a, 0x5b, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x32, 0x0a, 0x1c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x1b, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x1b, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, + 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, + 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x1f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, - 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, - 0x6e, 0x63, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, - 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, - 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa8, - 0x01, 0x0a, 0x1f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x6f, 0x76, 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x37, 0x0a, 0x10, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x13, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x68, 0x61, - 0x73, 0x68, 0x22, 0x54, 0x0a, 0x19, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x37, 0x0a, 0x10, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, - 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x11, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x72, 0x72, - 0x75, 0x70, 0x74, 0x65, 0x64, 0x22, 0xd8, 0x01, 0x0a, 0x20, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x64, - 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x65, 0x0a, 0x0b, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x68, 0x61, 0x73, 0x68, 0x22, 0x54, 0x0a, 0x19, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x1c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x22, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0xcc, 0x01, 0x0a, 0x23, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, - 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, - 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, - 0x0a, 0x1d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, - 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0xbc, 0x03, 0x0a, - 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, - 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x6c, 0x79, + 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x72, 0x72, 0x75, 0x70, + 0x74, 0x65, 0x64, 0x22, 0xd8, 0x01, 0x0a, 0x20, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x65, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, + 0x0a, 0x19, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, - 0x72, 0x63, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, - 0x73, 0x72, 0x63, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x72, 0x63, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, - 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x8b, 0x01, - 0x0a, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x73, 0x72, - 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x6d, - 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x1c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x22, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x61, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x01, + 0x0a, 0x23, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x1d, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0xbc, 0x03, 0x0a, 0x1a, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x72, 0x63, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x72, + 0x63, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x72, 0x63, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, + 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x20, + 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x73, 0x72, 0x63, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x6d, 0x61, 0x70, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, + 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x73, 0x74, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, - 0x64, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x72, 0x63, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x4e, 0x0a, 0x20, 0x44, - 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x63, 0x61, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x4e, 0x0a, 0x20, 0x44, 0x73, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x72, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x03, 0x0a, 0x0d, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x41, 0x50, + 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x10, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x61, + 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x32, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4d, 0x69, 0x6e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x64, + 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8a, + 0x05, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, + 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, + 0x16, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, + 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x03, 0x0a, 0x0d, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x41, - 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6c, 0x69, - 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, - 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x17, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, - 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4d, - 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x14, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4d, 0x69, 0x6e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x8a, 0x05, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, - 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x34, 0x0a, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3d, - 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7e, 0x0a, - 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x25, 0x0a, - 0x0e, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x77, 0x0a, - 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7e, 0x0a, 0x14, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x69, + 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x77, 0x0a, 0x13, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, - 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, - 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x20, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0xc4, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, + 0x72, 0x65, 0x73, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, - 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x40, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0xf9, 0x02, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, - 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, - 0xbd, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x60, 0x0a, - 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xea, 0x02, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x64, + 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x20, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0xc4, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x70, 0x64, + 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x40, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xf9, 0x02, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0xbd, 0x01, + 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x60, 0x0a, 0x0b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x02, + 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x75, 0x69, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6c, 0x76, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, + 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, + 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x19, 0x42, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, + 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x76, + 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, + 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, + 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x72, 0x63, 0x4c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x19, 0x42, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, + 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, + 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x16, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x76, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x10, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x70, 0x64, - 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x76, 0x6f, 0x6c, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xed, 0x01, 0x0a, - 0x19, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, - 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, - 0x72, 0x6f, 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, - 0x63, 0x5f, 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x72, 0x63, 0x4c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x19, - 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x16, 0x42, 0x61, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x76, 0x73, 0x55, 0x75, 0x69, - 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, - 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, - 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x62, 0x61, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x12, 0x42, - 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5f, 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x65, 0x78, 0x70, 0x6f, 0x73, - 0x65, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xd6, 0x02, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x65, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x72, - 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x65, - 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x66, 0x72, 0x65, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, - 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xaa, - 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x22, 0x6b, 0x0a, 0x0e, 0x44, - 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x64, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, - 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, - 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x72, - 0x69, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, - 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x22, 0x71, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x76, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x76, 0x73, 0x55, 0x75, 0x69, 0x64, 0x22, + 0xd0, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, + 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x12, 0x42, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x5f, 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x41, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, 0x76, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x76, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0xd6, 0x02, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x65, 0x65, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x72, + 0x65, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xaa, 0x01, 0x0a, + 0x11, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x64, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x12, 0x4c, 0x6f, 0x67, - 0x53, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x2a, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x2b, - 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x72, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, - 0x67, 0x68, 0x70, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x61, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, - 0x53, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, - 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x49, 0x4f, 0x50, 0x53, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x49, 0x4f, 0x50, 0x53, 0x22, - 0x8b, 0x08, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, - 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, - 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, - 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x65, 0x6c, 0x73, 0x69, - 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x70, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x4f, 0x0a, 0x24, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, - 0x61, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x72, 0x65, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x65, - 0x61, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, - 0x64, 0x61, 0x74, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, - 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x68, 0x6f, - 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x2e, - 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x68, 0x6f, 0x73, - 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x30, - 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, - 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x75, 0x73, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x79, 0x63, - 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, - 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x4f, 0x6e, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x73, - 0x61, 0x66, 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x65, - 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x45, 0x72, 0x72, 0x4c, 0x6f, 0x67, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x5c, 0x0a, 0x2b, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x27, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x2a, 0x26, 0x0a, - 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, - 0x57, 0x4f, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x57, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, - 0x45, 0x52, 0x52, 0x10, 0x02, 0x2a, 0x42, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x50, 0x59, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, - 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, - 0x44, 0x5f, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x4f, 0x0a, 0x0e, 0x44, 0x61, 0x74, - 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x48, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x32, 0xf7, 0x50, 0x0a, 0x0b, 0x53, + 0x08, 0x64, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x22, 0x6b, 0x0a, 0x0e, 0x44, 0x69, 0x73, + 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x22, 0x71, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x69, 0x73, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x22, 0x2a, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, + 0x2b, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x2b, 0x0a, 0x13, + 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xdb, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, + 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x70, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x22, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, 0x53, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, 0x53, 0x12, + 0x1c, 0x0a, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x49, 0x4f, 0x50, 0x53, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x49, 0x4f, 0x50, 0x53, 0x22, 0x8b, 0x08, + 0x0a, 0x15, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x2b, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x72, + 0x61, 0x64, 0x64, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, + 0x2f, 0x0a, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, + 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x74, 0x65, + 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, + 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, + 0x61, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x70, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4f, + 0x0a, 0x24, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x72, + 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, 0x61, + 0x74, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x2c, + 0x0a, 0x12, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x68, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x13, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x75, 0x73, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, + 0x75, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x4f, 0x6e, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x73, 0x61, 0x66, + 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, + 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x72, 0x72, + 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x45, 0x72, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1d, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5c, 0x0a, + 0x2b, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x27, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x2a, 0x26, 0x0a, 0x0b, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x57, 0x4f, + 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x57, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x52, + 0x52, 0x10, 0x02, 0x2a, 0x42, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, + 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x50, 0x59, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4c, + 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, + 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x4f, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, + 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, + 0x54, 0x41, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, + 0x48, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x40, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x43, 0x50, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x44, 0x4d, 0x41, 0x10, 0x01, 0x32, 0xf7, 0x50, 0x0a, 0x0b, 0x53, 0x50, 0x44, 0x4b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, @@ -9375,453 +9458,456 @@ func file_spdkrpc_spdk_proto_rawDescGZIP() []byte { return file_spdkrpc_spdk_proto_rawDescData } -var file_spdkrpc_spdk_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_spdkrpc_spdk_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_spdkrpc_spdk_proto_msgTypes = make([]protoimpl.MessageInfo, 123) var file_spdkrpc_spdk_proto_goTypes = []interface{}{ (ReplicaMode)(0), // 0: spdkrpc.ReplicaMode (CloneMode)(0), // 1: spdkrpc.CloneMode (DataLayoutType)(0), // 2: spdkrpc.DataLayoutType - (*Replica)(nil), // 3: spdkrpc.Replica - (*LinkedCloneInfo)(nil), // 4: spdkrpc.LinkedCloneInfo - (*LinkedCloneSource)(nil), // 5: spdkrpc.LinkedCloneSource - (*ReplicaCreateRequest)(nil), // 6: spdkrpc.ReplicaCreateRequest - (*ReplicaDeleteRequest)(nil), // 7: spdkrpc.ReplicaDeleteRequest - (*ReplicaGetRequest)(nil), // 8: spdkrpc.ReplicaGetRequest - (*ReplicaExpandRequest)(nil), // 9: spdkrpc.ReplicaExpandRequest - (*ReplicaListResponse)(nil), // 10: spdkrpc.ReplicaListResponse - (*ReplicaRebuildingSrcStartRequest)(nil), // 11: spdkrpc.ReplicaRebuildingSrcStartRequest - (*ReplicaRebuildingSrcStartResponse)(nil), // 12: spdkrpc.ReplicaRebuildingSrcStartResponse - (*ReplicaRebuildingSrcFinishRequest)(nil), // 13: spdkrpc.ReplicaRebuildingSrcFinishRequest - (*ReplicaRebuildingSrcShallowCopyStartRequest)(nil), // 14: spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest - (*ReplicaRebuildingSrcRangeShallowCopyStartRequest)(nil), // 15: spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest - (*ReplicaRebuildingSrcShallowCopyCheckRequest)(nil), // 16: spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest - (*ReplicaRebuildingSrcShallowCopyCheckResponse)(nil), // 17: spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse - (*ReplicaRebuildingDstStartRequest)(nil), // 18: spdkrpc.ReplicaRebuildingDstStartRequest - (*ReplicaRebuildingDstStartResponse)(nil), // 19: spdkrpc.ReplicaRebuildingDstStartResponse - (*ReplicaRebuildingDstFinishRequest)(nil), // 20: spdkrpc.ReplicaRebuildingDstFinishRequest - (*ReplicaRebuildingDstShallowCopyStartRequest)(nil), // 21: spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest - (*ReplicaRebuildingDstShallowCopyCheckRequest)(nil), // 22: spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest - (*ReplicaRebuildingDstShallowCopyCheckResponse)(nil), // 23: spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse - (*ReplicaRebuildingDstSetQosLimitRequest)(nil), // 24: spdkrpc.ReplicaRebuildingDstSetQosLimitRequest - (*ReplicaSnapshotCloneDstStartRequest)(nil), // 25: spdkrpc.ReplicaSnapshotCloneDstStartRequest - (*ReplicaSnapshotCloneDstStatusCheckRequest)(nil), // 26: spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest - (*ReplicaSnapshotCloneDstStatusCheckResponse)(nil), // 27: spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse - (*ReplicaSnapshotCloneSrcStartRequest)(nil), // 28: spdkrpc.ReplicaSnapshotCloneSrcStartRequest - (*ReplicaSnapshotCloneSrcStatusCheckRequest)(nil), // 29: spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest - (*ReplicaSnapshotCloneSrcStatusCheckResponse)(nil), // 30: spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse - (*ReplicaSnapshotCloneSrcFinishRequest)(nil), // 31: spdkrpc.ReplicaSnapshotCloneSrcFinishRequest - (*Engine)(nil), // 32: spdkrpc.Engine - (*EngineCreateRequest)(nil), // 33: spdkrpc.EngineCreateRequest - (*EngineDeleteRequest)(nil), // 34: spdkrpc.EngineDeleteRequest - (*EngineGetRequest)(nil), // 35: spdkrpc.EngineGetRequest - (*EngineSuspendRequest)(nil), // 36: spdkrpc.EngineSuspendRequest - (*EngineResumeRequest)(nil), // 37: spdkrpc.EngineResumeRequest - (*EngineSnapshotMaxCountSetRequest)(nil), // 38: spdkrpc.EngineSnapshotMaxCountSetRequest - (*EngineExpandRequest)(nil), // 39: spdkrpc.EngineExpandRequest - (*EngineExpandPrecheckRequest)(nil), // 40: spdkrpc.EngineExpandPrecheckRequest - (*EngineExpandPrecheckResponse)(nil), // 41: spdkrpc.EngineExpandPrecheckResponse - (*EngineDeleteTargetRequest)(nil), // 42: spdkrpc.EngineDeleteTargetRequest - (*EngineListResponse)(nil), // 43: spdkrpc.EngineListResponse - (*EngineReplicaAddRequest)(nil), // 44: spdkrpc.EngineReplicaAddRequest - (*EngineReplicaListRequest)(nil), // 45: spdkrpc.EngineReplicaListRequest - (*EngineReplicaListResponse)(nil), // 46: spdkrpc.EngineReplicaListResponse - (*EngineReplicaDeleteRequest)(nil), // 47: spdkrpc.EngineReplicaDeleteRequest - (*EngineReplicaRebuildStatusRequest)(nil), // 48: spdkrpc.EngineReplicaRebuildStatusRequest - (*EngineReplicaRebuildStatusResponse)(nil), // 49: spdkrpc.EngineReplicaRebuildStatusResponse - (*EngineSetTargetListenerANAStateRequest)(nil), // 50: spdkrpc.EngineSetTargetListenerANAStateRequest - (*EngineFrontendNvmeTcpPath)(nil), // 51: spdkrpc.EngineFrontendNvmeTcpPath - (*EngineFrontend)(nil), // 52: spdkrpc.EngineFrontend - (*EngineFrontendCreateRequest)(nil), // 53: spdkrpc.EngineFrontendCreateRequest - (*EngineFrontendDeleteRequest)(nil), // 54: spdkrpc.EngineFrontendDeleteRequest - (*EngineFrontendGetRequest)(nil), // 55: spdkrpc.EngineFrontendGetRequest - (*EngineFrontendListResponse)(nil), // 56: spdkrpc.EngineFrontendListResponse - (*EngineFrontendSuspendRequest)(nil), // 57: spdkrpc.EngineFrontendSuspendRequest - (*EngineFrontendResumeRequest)(nil), // 58: spdkrpc.EngineFrontendResumeRequest - (*EngineFrontendExpandRequest)(nil), // 59: spdkrpc.EngineFrontendExpandRequest - (*EngineFrontendReplicaAddRequest)(nil), // 60: spdkrpc.EngineFrontendReplicaAddRequest - (*EngineFrontendSwitchOverRequest)(nil), // 61: spdkrpc.EngineFrontendSwitchOverRequest - (*SnapshotRequest)(nil), // 62: spdkrpc.SnapshotRequest - (*SnapshotResponse)(nil), // 63: spdkrpc.SnapshotResponse - (*SnapshotHashRequest)(nil), // 64: spdkrpc.SnapshotHashRequest - (*SnapshotHashStatusRequest)(nil), // 65: spdkrpc.SnapshotHashStatusRequest - (*ReplicaSnapshotHashStatusResponse)(nil), // 66: spdkrpc.ReplicaSnapshotHashStatusResponse - (*EngineSnapshotHashStatusResponse)(nil), // 67: spdkrpc.EngineSnapshotHashStatusResponse - (*SnapshotHashCancelRequest)(nil), // 68: spdkrpc.SnapshotHashCancelRequest - (*SnapshotHashLockStateRequest)(nil), // 69: spdkrpc.SnapshotHashLockStateRequest - (*ReplicaSnapshotRangeHashGetRequest)(nil), // 70: spdkrpc.ReplicaSnapshotRangeHashGetRequest - (*ReplicaSnapshotRangeHashGetResponse)(nil), // 71: spdkrpc.ReplicaSnapshotRangeHashGetResponse - (*SnapshotHashLockStateResponse)(nil), // 72: spdkrpc.SnapshotHashLockStateResponse - (*EngineSnapshotCloneRequest)(nil), // 73: spdkrpc.EngineSnapshotCloneRequest - (*VersionOutput)(nil), // 74: spdkrpc.VersionOutput - (*VersionDetailGetReply)(nil), // 75: spdkrpc.VersionDetailGetReply - (*BackupCreateRequest)(nil), // 76: spdkrpc.BackupCreateRequest - (*BackupCreateResponse)(nil), // 77: spdkrpc.BackupCreateResponse - (*BackupStatusRequest)(nil), // 78: spdkrpc.BackupStatusRequest - (*BackupStatusResponse)(nil), // 79: spdkrpc.BackupStatusResponse - (*EngineBackupRestoreRequest)(nil), // 80: spdkrpc.EngineBackupRestoreRequest - (*EngineBackupRestoreResponse)(nil), // 81: spdkrpc.EngineBackupRestoreResponse - (*EngineBackupRestoreFinishRequest)(nil), // 82: spdkrpc.EngineBackupRestoreFinishRequest - (*ReplicaBackupRestoreRequest)(nil), // 83: spdkrpc.ReplicaBackupRestoreRequest - (*RestoreStatusRequest)(nil), // 84: spdkrpc.RestoreStatusRequest - (*ReplicaRestoreStatusRequest)(nil), // 85: spdkrpc.ReplicaRestoreStatusRequest - (*ReplicaRestoreStatusResponse)(nil), // 86: spdkrpc.ReplicaRestoreStatusResponse - (*RestoreStatusResponse)(nil), // 87: spdkrpc.RestoreStatusResponse - (*BackingImage)(nil), // 88: spdkrpc.BackingImage - (*BackingImageCreateRequest)(nil), // 89: spdkrpc.BackingImageCreateRequest - (*BackingImageDeleteRequest)(nil), // 90: spdkrpc.BackingImageDeleteRequest - (*BackingImageGetRequest)(nil), // 91: spdkrpc.BackingImageGetRequest - (*BackingImageListResponse)(nil), // 92: spdkrpc.BackingImageListResponse - (*BackingImageExposeResponse)(nil), // 93: spdkrpc.BackingImageExposeResponse - (*Disk)(nil), // 94: spdkrpc.Disk - (*DiskCreateRequest)(nil), // 95: spdkrpc.DiskCreateRequest - (*DiskGetRequest)(nil), // 96: spdkrpc.DiskGetRequest - (*DiskDeleteRequest)(nil), // 97: spdkrpc.DiskDeleteRequest - (*DiskHealthGetRequest)(nil), // 98: spdkrpc.DiskHealthGetRequest - (*LogSetLevelRequest)(nil), // 99: spdkrpc.LogSetLevelRequest - (*LogSetFlagsRequest)(nil), // 100: spdkrpc.LogSetFlagsRequest - (*LogGetLevelResponse)(nil), // 101: spdkrpc.LogGetLevelResponse - (*LogGetFlagsResponse)(nil), // 102: spdkrpc.LogGetFlagsResponse - (*MetricsRequest)(nil), // 103: spdkrpc.MetricsRequest - (*Metrics)(nil), // 104: spdkrpc.Metrics - (*DiskHealthGetResponse)(nil), // 105: spdkrpc.DiskHealthGetResponse - nil, // 106: spdkrpc.Replica.SnapshotsEntry - nil, // 107: spdkrpc.Replica.CloneSnapshotUsageEntry - nil, // 108: spdkrpc.ReplicaListResponse.ReplicasEntry - nil, // 109: spdkrpc.Engine.ReplicaAddressMapEntry - nil, // 110: spdkrpc.Engine.ReplicaModeMapEntry - nil, // 111: spdkrpc.Engine.SnapshotsEntry - nil, // 112: spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry - nil, // 113: spdkrpc.EngineListResponse.EnginesEntry - nil, // 114: spdkrpc.EngineReplicaListResponse.ReplicasEntry - nil, // 115: spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry - nil, // 116: spdkrpc.SnapshotRequest.LabelsEntry - nil, // 117: spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry - nil, // 118: spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry - nil, // 119: spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry - nil, // 120: spdkrpc.BackupCreateRequest.CredentialEntry - nil, // 121: spdkrpc.EngineBackupRestoreRequest.CredentialEntry - nil, // 122: spdkrpc.EngineBackupRestoreResponse.ErrorsEntry - nil, // 123: spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry - nil, // 124: spdkrpc.RestoreStatusResponse.StatusEntry - nil, // 125: spdkrpc.BackingImageListResponse.BackingImagesEntry - (*Lvol)(nil), // 126: spdkrpc.Lvol - (*emptypb.Empty)(nil), // 127: google.protobuf.Empty - (*ShardCreateRequest)(nil), // 128: spdkrpc.ShardCreateRequest - (*ShardDeleteRequest)(nil), // 129: spdkrpc.ShardDeleteRequest - (*ShardGetRequest)(nil), // 130: spdkrpc.ShardGetRequest - (*ShardExpandRequest)(nil), // 131: spdkrpc.ShardExpandRequest - (*ShardGroupCreateRequest)(nil), // 132: spdkrpc.ShardGroupCreateRequest - (*ShardGroupDeleteRequest)(nil), // 133: spdkrpc.ShardGroupDeleteRequest - (*ShardGroupGetRequest)(nil), // 134: spdkrpc.ShardGroupGetRequest - (*ShardGroupExpandRequest)(nil), // 135: spdkrpc.ShardGroupExpandRequest - (*ShardGroupExpandPrecheckRequest)(nil), // 136: spdkrpc.ShardGroupExpandPrecheckRequest - (*ShardGroupShardReplaceRequest)(nil), // 137: spdkrpc.ShardGroupShardReplaceRequest - (*ShardGroupShardRebuildStartRequest)(nil), // 138: spdkrpc.ShardGroupShardRebuildStartRequest - (*ShardGroupShardRebuildProgressRequest)(nil), // 139: spdkrpc.ShardGroupShardRebuildProgressRequest - (*ShardGroupShardRebuildStopRequest)(nil), // 140: spdkrpc.ShardGroupShardRebuildStopRequest - (*ShardGroupShardRebuildQosSetRequest)(nil), // 141: spdkrpc.ShardGroupShardRebuildQosSetRequest - (*ShardGroupShardForceFailRequest)(nil), // 142: spdkrpc.ShardGroupShardForceFailRequest - (*ShardGroupSnapshotCreateRequest)(nil), // 143: spdkrpc.ShardGroupSnapshotCreateRequest - (*ShardGroupSnapshotDeleteRequest)(nil), // 144: spdkrpc.ShardGroupSnapshotDeleteRequest - (*ShardGroupSnapshotRevertRequest)(nil), // 145: spdkrpc.ShardGroupSnapshotRevertRequest - (*ShardGroupSnapshotPurgeRequest)(nil), // 146: spdkrpc.ShardGroupSnapshotPurgeRequest - (*Shard)(nil), // 147: spdkrpc.Shard - (*ShardListResponse)(nil), // 148: spdkrpc.ShardListResponse - (*ShardGroup)(nil), // 149: spdkrpc.ShardGroup - (*ShardGroupListResponse)(nil), // 150: spdkrpc.ShardGroupListResponse - (*ShardGroupExpandPrecheckResponse)(nil), // 151: spdkrpc.ShardGroupExpandPrecheckResponse - (*ShardGroupShardReplaceResponse)(nil), // 152: spdkrpc.ShardGroupShardReplaceResponse - (*ShardGroupShardRebuildStartResponse)(nil), // 153: spdkrpc.ShardGroupShardRebuildStartResponse - (*ShardGroupShardRebuildProgressResponse)(nil), // 154: spdkrpc.ShardGroupShardRebuildProgressResponse - (*ShardGroupShardForceFailResponse)(nil), // 155: spdkrpc.ShardGroupShardForceFailResponse - (*ShardGroupSnapshotCreateResponse)(nil), // 156: spdkrpc.ShardGroupSnapshotCreateResponse + (TransportType)(0), // 3: spdkrpc.TransportType + (*Replica)(nil), // 4: spdkrpc.Replica + (*LinkedCloneInfo)(nil), // 5: spdkrpc.LinkedCloneInfo + (*LinkedCloneSource)(nil), // 6: spdkrpc.LinkedCloneSource + (*ReplicaCreateRequest)(nil), // 7: spdkrpc.ReplicaCreateRequest + (*ReplicaDeleteRequest)(nil), // 8: spdkrpc.ReplicaDeleteRequest + (*ReplicaGetRequest)(nil), // 9: spdkrpc.ReplicaGetRequest + (*ReplicaExpandRequest)(nil), // 10: spdkrpc.ReplicaExpandRequest + (*ReplicaListResponse)(nil), // 11: spdkrpc.ReplicaListResponse + (*ReplicaRebuildingSrcStartRequest)(nil), // 12: spdkrpc.ReplicaRebuildingSrcStartRequest + (*ReplicaRebuildingSrcStartResponse)(nil), // 13: spdkrpc.ReplicaRebuildingSrcStartResponse + (*ReplicaRebuildingSrcFinishRequest)(nil), // 14: spdkrpc.ReplicaRebuildingSrcFinishRequest + (*ReplicaRebuildingSrcShallowCopyStartRequest)(nil), // 15: spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest + (*ReplicaRebuildingSrcRangeShallowCopyStartRequest)(nil), // 16: spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest + (*ReplicaRebuildingSrcShallowCopyCheckRequest)(nil), // 17: spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest + (*ReplicaRebuildingSrcShallowCopyCheckResponse)(nil), // 18: spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse + (*ReplicaRebuildingDstStartRequest)(nil), // 19: spdkrpc.ReplicaRebuildingDstStartRequest + (*ReplicaRebuildingDstStartResponse)(nil), // 20: spdkrpc.ReplicaRebuildingDstStartResponse + (*ReplicaRebuildingDstFinishRequest)(nil), // 21: spdkrpc.ReplicaRebuildingDstFinishRequest + (*ReplicaRebuildingDstShallowCopyStartRequest)(nil), // 22: spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest + (*ReplicaRebuildingDstShallowCopyCheckRequest)(nil), // 23: spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest + (*ReplicaRebuildingDstShallowCopyCheckResponse)(nil), // 24: spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse + (*ReplicaRebuildingDstSetQosLimitRequest)(nil), // 25: spdkrpc.ReplicaRebuildingDstSetQosLimitRequest + (*ReplicaSnapshotCloneDstStartRequest)(nil), // 26: spdkrpc.ReplicaSnapshotCloneDstStartRequest + (*ReplicaSnapshotCloneDstStatusCheckRequest)(nil), // 27: spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest + (*ReplicaSnapshotCloneDstStatusCheckResponse)(nil), // 28: spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse + (*ReplicaSnapshotCloneSrcStartRequest)(nil), // 29: spdkrpc.ReplicaSnapshotCloneSrcStartRequest + (*ReplicaSnapshotCloneSrcStatusCheckRequest)(nil), // 30: spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest + (*ReplicaSnapshotCloneSrcStatusCheckResponse)(nil), // 31: spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse + (*ReplicaSnapshotCloneSrcFinishRequest)(nil), // 32: spdkrpc.ReplicaSnapshotCloneSrcFinishRequest + (*Engine)(nil), // 33: spdkrpc.Engine + (*EngineCreateRequest)(nil), // 34: spdkrpc.EngineCreateRequest + (*EngineDeleteRequest)(nil), // 35: spdkrpc.EngineDeleteRequest + (*EngineGetRequest)(nil), // 36: spdkrpc.EngineGetRequest + (*EngineSuspendRequest)(nil), // 37: spdkrpc.EngineSuspendRequest + (*EngineResumeRequest)(nil), // 38: spdkrpc.EngineResumeRequest + (*EngineSnapshotMaxCountSetRequest)(nil), // 39: spdkrpc.EngineSnapshotMaxCountSetRequest + (*EngineExpandRequest)(nil), // 40: spdkrpc.EngineExpandRequest + (*EngineExpandPrecheckRequest)(nil), // 41: spdkrpc.EngineExpandPrecheckRequest + (*EngineExpandPrecheckResponse)(nil), // 42: spdkrpc.EngineExpandPrecheckResponse + (*EngineDeleteTargetRequest)(nil), // 43: spdkrpc.EngineDeleteTargetRequest + (*EngineListResponse)(nil), // 44: spdkrpc.EngineListResponse + (*EngineReplicaAddRequest)(nil), // 45: spdkrpc.EngineReplicaAddRequest + (*EngineReplicaListRequest)(nil), // 46: spdkrpc.EngineReplicaListRequest + (*EngineReplicaListResponse)(nil), // 47: spdkrpc.EngineReplicaListResponse + (*EngineReplicaDeleteRequest)(nil), // 48: spdkrpc.EngineReplicaDeleteRequest + (*EngineReplicaRebuildStatusRequest)(nil), // 49: spdkrpc.EngineReplicaRebuildStatusRequest + (*EngineReplicaRebuildStatusResponse)(nil), // 50: spdkrpc.EngineReplicaRebuildStatusResponse + (*EngineSetTargetListenerANAStateRequest)(nil), // 51: spdkrpc.EngineSetTargetListenerANAStateRequest + (*EngineFrontendNvmeTcpPath)(nil), // 52: spdkrpc.EngineFrontendNvmeTcpPath + (*EngineFrontend)(nil), // 53: spdkrpc.EngineFrontend + (*EngineFrontendCreateRequest)(nil), // 54: spdkrpc.EngineFrontendCreateRequest + (*EngineFrontendDeleteRequest)(nil), // 55: spdkrpc.EngineFrontendDeleteRequest + (*EngineFrontendGetRequest)(nil), // 56: spdkrpc.EngineFrontendGetRequest + (*EngineFrontendListResponse)(nil), // 57: spdkrpc.EngineFrontendListResponse + (*EngineFrontendSuspendRequest)(nil), // 58: spdkrpc.EngineFrontendSuspendRequest + (*EngineFrontendResumeRequest)(nil), // 59: spdkrpc.EngineFrontendResumeRequest + (*EngineFrontendExpandRequest)(nil), // 60: spdkrpc.EngineFrontendExpandRequest + (*EngineFrontendReplicaAddRequest)(nil), // 61: spdkrpc.EngineFrontendReplicaAddRequest + (*EngineFrontendSwitchOverRequest)(nil), // 62: spdkrpc.EngineFrontendSwitchOverRequest + (*SnapshotRequest)(nil), // 63: spdkrpc.SnapshotRequest + (*SnapshotResponse)(nil), // 64: spdkrpc.SnapshotResponse + (*SnapshotHashRequest)(nil), // 65: spdkrpc.SnapshotHashRequest + (*SnapshotHashStatusRequest)(nil), // 66: spdkrpc.SnapshotHashStatusRequest + (*ReplicaSnapshotHashStatusResponse)(nil), // 67: spdkrpc.ReplicaSnapshotHashStatusResponse + (*EngineSnapshotHashStatusResponse)(nil), // 68: spdkrpc.EngineSnapshotHashStatusResponse + (*SnapshotHashCancelRequest)(nil), // 69: spdkrpc.SnapshotHashCancelRequest + (*SnapshotHashLockStateRequest)(nil), // 70: spdkrpc.SnapshotHashLockStateRequest + (*ReplicaSnapshotRangeHashGetRequest)(nil), // 71: spdkrpc.ReplicaSnapshotRangeHashGetRequest + (*ReplicaSnapshotRangeHashGetResponse)(nil), // 72: spdkrpc.ReplicaSnapshotRangeHashGetResponse + (*SnapshotHashLockStateResponse)(nil), // 73: spdkrpc.SnapshotHashLockStateResponse + (*EngineSnapshotCloneRequest)(nil), // 74: spdkrpc.EngineSnapshotCloneRequest + (*VersionOutput)(nil), // 75: spdkrpc.VersionOutput + (*VersionDetailGetReply)(nil), // 76: spdkrpc.VersionDetailGetReply + (*BackupCreateRequest)(nil), // 77: spdkrpc.BackupCreateRequest + (*BackupCreateResponse)(nil), // 78: spdkrpc.BackupCreateResponse + (*BackupStatusRequest)(nil), // 79: spdkrpc.BackupStatusRequest + (*BackupStatusResponse)(nil), // 80: spdkrpc.BackupStatusResponse + (*EngineBackupRestoreRequest)(nil), // 81: spdkrpc.EngineBackupRestoreRequest + (*EngineBackupRestoreResponse)(nil), // 82: spdkrpc.EngineBackupRestoreResponse + (*EngineBackupRestoreFinishRequest)(nil), // 83: spdkrpc.EngineBackupRestoreFinishRequest + (*ReplicaBackupRestoreRequest)(nil), // 84: spdkrpc.ReplicaBackupRestoreRequest + (*RestoreStatusRequest)(nil), // 85: spdkrpc.RestoreStatusRequest + (*ReplicaRestoreStatusRequest)(nil), // 86: spdkrpc.ReplicaRestoreStatusRequest + (*ReplicaRestoreStatusResponse)(nil), // 87: spdkrpc.ReplicaRestoreStatusResponse + (*RestoreStatusResponse)(nil), // 88: spdkrpc.RestoreStatusResponse + (*BackingImage)(nil), // 89: spdkrpc.BackingImage + (*BackingImageCreateRequest)(nil), // 90: spdkrpc.BackingImageCreateRequest + (*BackingImageDeleteRequest)(nil), // 91: spdkrpc.BackingImageDeleteRequest + (*BackingImageGetRequest)(nil), // 92: spdkrpc.BackingImageGetRequest + (*BackingImageListResponse)(nil), // 93: spdkrpc.BackingImageListResponse + (*BackingImageExposeResponse)(nil), // 94: spdkrpc.BackingImageExposeResponse + (*Disk)(nil), // 95: spdkrpc.Disk + (*DiskCreateRequest)(nil), // 96: spdkrpc.DiskCreateRequest + (*DiskGetRequest)(nil), // 97: spdkrpc.DiskGetRequest + (*DiskDeleteRequest)(nil), // 98: spdkrpc.DiskDeleteRequest + (*DiskHealthGetRequest)(nil), // 99: spdkrpc.DiskHealthGetRequest + (*LogSetLevelRequest)(nil), // 100: spdkrpc.LogSetLevelRequest + (*LogSetFlagsRequest)(nil), // 101: spdkrpc.LogSetFlagsRequest + (*LogGetLevelResponse)(nil), // 102: spdkrpc.LogGetLevelResponse + (*LogGetFlagsResponse)(nil), // 103: spdkrpc.LogGetFlagsResponse + (*MetricsRequest)(nil), // 104: spdkrpc.MetricsRequest + (*Metrics)(nil), // 105: spdkrpc.Metrics + (*DiskHealthGetResponse)(nil), // 106: spdkrpc.DiskHealthGetResponse + nil, // 107: spdkrpc.Replica.SnapshotsEntry + nil, // 108: spdkrpc.Replica.CloneSnapshotUsageEntry + nil, // 109: spdkrpc.ReplicaListResponse.ReplicasEntry + nil, // 110: spdkrpc.Engine.ReplicaAddressMapEntry + nil, // 111: spdkrpc.Engine.ReplicaModeMapEntry + nil, // 112: spdkrpc.Engine.SnapshotsEntry + nil, // 113: spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry + nil, // 114: spdkrpc.EngineListResponse.EnginesEntry + nil, // 115: spdkrpc.EngineReplicaListResponse.ReplicasEntry + nil, // 116: spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry + nil, // 117: spdkrpc.SnapshotRequest.LabelsEntry + nil, // 118: spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry + nil, // 119: spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry + nil, // 120: spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry + nil, // 121: spdkrpc.BackupCreateRequest.CredentialEntry + nil, // 122: spdkrpc.EngineBackupRestoreRequest.CredentialEntry + nil, // 123: spdkrpc.EngineBackupRestoreResponse.ErrorsEntry + nil, // 124: spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry + nil, // 125: spdkrpc.RestoreStatusResponse.StatusEntry + nil, // 126: spdkrpc.BackingImageListResponse.BackingImagesEntry + (*Lvol)(nil), // 127: spdkrpc.Lvol + (*emptypb.Empty)(nil), // 128: google.protobuf.Empty + (*ShardCreateRequest)(nil), // 129: spdkrpc.ShardCreateRequest + (*ShardDeleteRequest)(nil), // 130: spdkrpc.ShardDeleteRequest + (*ShardGetRequest)(nil), // 131: spdkrpc.ShardGetRequest + (*ShardExpandRequest)(nil), // 132: spdkrpc.ShardExpandRequest + (*ShardGroupCreateRequest)(nil), // 133: spdkrpc.ShardGroupCreateRequest + (*ShardGroupDeleteRequest)(nil), // 134: spdkrpc.ShardGroupDeleteRequest + (*ShardGroupGetRequest)(nil), // 135: spdkrpc.ShardGroupGetRequest + (*ShardGroupExpandRequest)(nil), // 136: spdkrpc.ShardGroupExpandRequest + (*ShardGroupExpandPrecheckRequest)(nil), // 137: spdkrpc.ShardGroupExpandPrecheckRequest + (*ShardGroupShardReplaceRequest)(nil), // 138: spdkrpc.ShardGroupShardReplaceRequest + (*ShardGroupShardRebuildStartRequest)(nil), // 139: spdkrpc.ShardGroupShardRebuildStartRequest + (*ShardGroupShardRebuildProgressRequest)(nil), // 140: spdkrpc.ShardGroupShardRebuildProgressRequest + (*ShardGroupShardRebuildStopRequest)(nil), // 141: spdkrpc.ShardGroupShardRebuildStopRequest + (*ShardGroupShardRebuildQosSetRequest)(nil), // 142: spdkrpc.ShardGroupShardRebuildQosSetRequest + (*ShardGroupShardForceFailRequest)(nil), // 143: spdkrpc.ShardGroupShardForceFailRequest + (*ShardGroupSnapshotCreateRequest)(nil), // 144: spdkrpc.ShardGroupSnapshotCreateRequest + (*ShardGroupSnapshotDeleteRequest)(nil), // 145: spdkrpc.ShardGroupSnapshotDeleteRequest + (*ShardGroupSnapshotRevertRequest)(nil), // 146: spdkrpc.ShardGroupSnapshotRevertRequest + (*ShardGroupSnapshotPurgeRequest)(nil), // 147: spdkrpc.ShardGroupSnapshotPurgeRequest + (*Shard)(nil), // 148: spdkrpc.Shard + (*ShardListResponse)(nil), // 149: spdkrpc.ShardListResponse + (*ShardGroup)(nil), // 150: spdkrpc.ShardGroup + (*ShardGroupListResponse)(nil), // 151: spdkrpc.ShardGroupListResponse + (*ShardGroupExpandPrecheckResponse)(nil), // 152: spdkrpc.ShardGroupExpandPrecheckResponse + (*ShardGroupShardReplaceResponse)(nil), // 153: spdkrpc.ShardGroupShardReplaceResponse + (*ShardGroupShardRebuildStartResponse)(nil), // 154: spdkrpc.ShardGroupShardRebuildStartResponse + (*ShardGroupShardRebuildProgressResponse)(nil), // 155: spdkrpc.ShardGroupShardRebuildProgressResponse + (*ShardGroupShardForceFailResponse)(nil), // 156: spdkrpc.ShardGroupShardForceFailResponse + (*ShardGroupSnapshotCreateResponse)(nil), // 157: spdkrpc.ShardGroupSnapshotCreateResponse } var file_spdkrpc_spdk_proto_depIdxs = []int32{ - 126, // 0: spdkrpc.Replica.head:type_name -> spdkrpc.Lvol - 106, // 1: spdkrpc.Replica.snapshots:type_name -> spdkrpc.Replica.SnapshotsEntry - 4, // 2: spdkrpc.Replica.linked_clone_info:type_name -> spdkrpc.LinkedCloneInfo - 107, // 3: spdkrpc.Replica.clone_snapshot_usage:type_name -> spdkrpc.Replica.CloneSnapshotUsageEntry - 108, // 4: spdkrpc.ReplicaListResponse.replicas:type_name -> spdkrpc.ReplicaListResponse.ReplicasEntry - 126, // 5: spdkrpc.ReplicaRebuildingDstStartRequest.rebuilding_snapshot_list:type_name -> spdkrpc.Lvol - 5, // 6: spdkrpc.ReplicaRebuildingDstStartRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource - 1, // 7: spdkrpc.ReplicaSnapshotCloneDstStartRequest.clone_mode:type_name -> spdkrpc.CloneMode - 1, // 8: spdkrpc.ReplicaSnapshotCloneSrcStartRequest.clone_mode:type_name -> spdkrpc.CloneMode - 109, // 9: spdkrpc.Engine.replica_address_map:type_name -> spdkrpc.Engine.ReplicaAddressMapEntry - 110, // 10: spdkrpc.Engine.replica_mode_map:type_name -> spdkrpc.Engine.ReplicaModeMapEntry - 126, // 11: spdkrpc.Engine.head:type_name -> spdkrpc.Lvol - 111, // 12: spdkrpc.Engine.snapshots:type_name -> spdkrpc.Engine.SnapshotsEntry - 112, // 13: spdkrpc.EngineCreateRequest.replica_address_map:type_name -> spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry - 2, // 14: spdkrpc.EngineCreateRequest.data_layout_type:type_name -> spdkrpc.DataLayoutType - 113, // 15: spdkrpc.EngineListResponse.engines:type_name -> spdkrpc.EngineListResponse.EnginesEntry - 5, // 16: spdkrpc.EngineReplicaAddRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource - 114, // 17: spdkrpc.EngineReplicaListResponse.replicas:type_name -> spdkrpc.EngineReplicaListResponse.ReplicasEntry - 51, // 18: spdkrpc.EngineFrontend.paths:type_name -> spdkrpc.EngineFrontendNvmeTcpPath - 115, // 19: spdkrpc.EngineFrontendListResponse.engine_frontends:type_name -> spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry - 5, // 20: spdkrpc.EngineFrontendReplicaAddRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource - 116, // 21: spdkrpc.SnapshotRequest.labels:type_name -> spdkrpc.SnapshotRequest.LabelsEntry - 117, // 22: spdkrpc.EngineSnapshotHashStatusResponse.status:type_name -> spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry - 118, // 23: spdkrpc.ReplicaSnapshotRangeHashGetResponse.range_hash_map:type_name -> spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry - 1, // 24: spdkrpc.EngineSnapshotCloneRequest.clone_mode:type_name -> spdkrpc.CloneMode - 119, // 25: spdkrpc.EngineSnapshotCloneRequest.dst_replica_src_replica_pair_map:type_name -> spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry - 74, // 26: spdkrpc.VersionDetailGetReply.version:type_name -> spdkrpc.VersionOutput - 120, // 27: spdkrpc.BackupCreateRequest.credential:type_name -> spdkrpc.BackupCreateRequest.CredentialEntry - 121, // 28: spdkrpc.EngineBackupRestoreRequest.credential:type_name -> spdkrpc.EngineBackupRestoreRequest.CredentialEntry - 122, // 29: spdkrpc.EngineBackupRestoreResponse.errors:type_name -> spdkrpc.EngineBackupRestoreResponse.ErrorsEntry - 123, // 30: spdkrpc.ReplicaBackupRestoreRequest.credential:type_name -> spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry - 124, // 31: spdkrpc.RestoreStatusResponse.status:type_name -> spdkrpc.RestoreStatusResponse.StatusEntry - 126, // 32: spdkrpc.BackingImage.snapshot:type_name -> spdkrpc.Lvol - 125, // 33: spdkrpc.BackingImageListResponse.backing_images:type_name -> spdkrpc.BackingImageListResponse.BackingImagesEntry - 126, // 34: spdkrpc.Replica.SnapshotsEntry.value:type_name -> spdkrpc.Lvol - 3, // 35: spdkrpc.ReplicaListResponse.ReplicasEntry.value:type_name -> spdkrpc.Replica - 0, // 36: spdkrpc.Engine.ReplicaModeMapEntry.value:type_name -> spdkrpc.ReplicaMode - 126, // 37: spdkrpc.Engine.SnapshotsEntry.value:type_name -> spdkrpc.Lvol - 32, // 38: spdkrpc.EngineListResponse.EnginesEntry.value:type_name -> spdkrpc.Engine - 3, // 39: spdkrpc.EngineReplicaListResponse.ReplicasEntry.value:type_name -> spdkrpc.Replica - 52, // 40: spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry.value:type_name -> spdkrpc.EngineFrontend - 66, // 41: spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry.value:type_name -> spdkrpc.ReplicaSnapshotHashStatusResponse - 86, // 42: spdkrpc.RestoreStatusResponse.StatusEntry.value:type_name -> spdkrpc.ReplicaRestoreStatusResponse - 88, // 43: spdkrpc.BackingImageListResponse.BackingImagesEntry.value:type_name -> spdkrpc.BackingImage - 6, // 44: spdkrpc.SPDKService.ReplicaCreate:input_type -> spdkrpc.ReplicaCreateRequest - 7, // 45: spdkrpc.SPDKService.ReplicaDelete:input_type -> spdkrpc.ReplicaDeleteRequest - 8, // 46: spdkrpc.SPDKService.ReplicaGet:input_type -> spdkrpc.ReplicaGetRequest - 9, // 47: spdkrpc.SPDKService.ReplicaExpand:input_type -> spdkrpc.ReplicaExpandRequest - 62, // 48: spdkrpc.SPDKService.ReplicaSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 62, // 49: spdkrpc.SPDKService.ReplicaSnapshotDelete:input_type -> spdkrpc.SnapshotRequest - 62, // 50: spdkrpc.SPDKService.ReplicaSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 62, // 51: spdkrpc.SPDKService.ReplicaSnapshotPurge:input_type -> spdkrpc.SnapshotRequest - 64, // 52: spdkrpc.SPDKService.ReplicaSnapshotHash:input_type -> spdkrpc.SnapshotHashRequest - 65, // 53: spdkrpc.SPDKService.ReplicaSnapshotHashStatus:input_type -> spdkrpc.SnapshotHashStatusRequest - 68, // 54: spdkrpc.SPDKService.ReplicaSnapshotHashCancel:input_type -> spdkrpc.SnapshotHashCancelRequest - 69, // 55: spdkrpc.SPDKService.ReplicaSnapshotHashLockState:input_type -> spdkrpc.SnapshotHashLockStateRequest - 70, // 56: spdkrpc.SPDKService.ReplicaSnapshotRangeHashGet:input_type -> spdkrpc.ReplicaSnapshotRangeHashGetRequest - 127, // 57: spdkrpc.SPDKService.ReplicaList:input_type -> google.protobuf.Empty - 127, // 58: spdkrpc.SPDKService.ReplicaWatch:input_type -> google.protobuf.Empty - 11, // 59: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:input_type -> spdkrpc.ReplicaRebuildingSrcStartRequest - 13, // 60: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:input_type -> spdkrpc.ReplicaRebuildingSrcFinishRequest - 14, // 61: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest - 15, // 62: spdkrpc.SPDKService.ReplicaRebuildingSrcRangeShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest - 16, // 63: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest - 18, // 64: spdkrpc.SPDKService.ReplicaRebuildingDstStart:input_type -> spdkrpc.ReplicaRebuildingDstStartRequest - 20, // 65: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:input_type -> spdkrpc.ReplicaRebuildingDstFinishRequest - 21, // 66: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest - 22, // 67: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest - 62, // 68: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 24, // 69: spdkrpc.SPDKService.ReplicaRebuildingDstSetQosLimit:input_type -> spdkrpc.ReplicaRebuildingDstSetQosLimitRequest - 76, // 70: spdkrpc.SPDKService.ReplicaBackupCreate:input_type -> spdkrpc.BackupCreateRequest - 78, // 71: spdkrpc.SPDKService.ReplicaBackupStatus:input_type -> spdkrpc.BackupStatusRequest - 83, // 72: spdkrpc.SPDKService.ReplicaBackupRestore:input_type -> spdkrpc.ReplicaBackupRestoreRequest - 85, // 73: spdkrpc.SPDKService.ReplicaRestoreStatus:input_type -> spdkrpc.ReplicaRestoreStatusRequest - 25, // 74: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStart:input_type -> spdkrpc.ReplicaSnapshotCloneDstStartRequest - 26, // 75: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStatusCheck:input_type -> spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest - 28, // 76: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStart:input_type -> spdkrpc.ReplicaSnapshotCloneSrcStartRequest - 29, // 77: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStatusCheck:input_type -> spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest - 31, // 78: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcFinish:input_type -> spdkrpc.ReplicaSnapshotCloneSrcFinishRequest - 128, // 79: spdkrpc.SPDKService.ShardCreate:input_type -> spdkrpc.ShardCreateRequest - 129, // 80: spdkrpc.SPDKService.ShardDelete:input_type -> spdkrpc.ShardDeleteRequest - 130, // 81: spdkrpc.SPDKService.ShardGet:input_type -> spdkrpc.ShardGetRequest - 127, // 82: spdkrpc.SPDKService.ShardList:input_type -> google.protobuf.Empty - 131, // 83: spdkrpc.SPDKService.ShardExpand:input_type -> spdkrpc.ShardExpandRequest - 127, // 84: spdkrpc.SPDKService.ShardWatch:input_type -> google.protobuf.Empty - 132, // 85: spdkrpc.SPDKService.ShardGroupCreate:input_type -> spdkrpc.ShardGroupCreateRequest - 133, // 86: spdkrpc.SPDKService.ShardGroupDelete:input_type -> spdkrpc.ShardGroupDeleteRequest - 134, // 87: spdkrpc.SPDKService.ShardGroupGet:input_type -> spdkrpc.ShardGroupGetRequest - 127, // 88: spdkrpc.SPDKService.ShardGroupList:input_type -> google.protobuf.Empty - 127, // 89: spdkrpc.SPDKService.ShardGroupWatch:input_type -> google.protobuf.Empty - 135, // 90: spdkrpc.SPDKService.ShardGroupExpand:input_type -> spdkrpc.ShardGroupExpandRequest - 136, // 91: spdkrpc.SPDKService.ShardGroupExpandPrecheck:input_type -> spdkrpc.ShardGroupExpandPrecheckRequest - 137, // 92: spdkrpc.SPDKService.ShardGroupShardReplace:input_type -> spdkrpc.ShardGroupShardReplaceRequest - 138, // 93: spdkrpc.SPDKService.ShardGroupShardRebuildStart:input_type -> spdkrpc.ShardGroupShardRebuildStartRequest - 139, // 94: spdkrpc.SPDKService.ShardGroupShardRebuildProgress:input_type -> spdkrpc.ShardGroupShardRebuildProgressRequest - 140, // 95: spdkrpc.SPDKService.ShardGroupShardRebuildStop:input_type -> spdkrpc.ShardGroupShardRebuildStopRequest - 141, // 96: spdkrpc.SPDKService.ShardGroupShardRebuildQosSet:input_type -> spdkrpc.ShardGroupShardRebuildQosSetRequest - 142, // 97: spdkrpc.SPDKService.ShardGroupShardForceFail:input_type -> spdkrpc.ShardGroupShardForceFailRequest - 143, // 98: spdkrpc.SPDKService.ShardGroupSnapshotCreate:input_type -> spdkrpc.ShardGroupSnapshotCreateRequest - 144, // 99: spdkrpc.SPDKService.ShardGroupSnapshotDelete:input_type -> spdkrpc.ShardGroupSnapshotDeleteRequest - 145, // 100: spdkrpc.SPDKService.ShardGroupSnapshotRevert:input_type -> spdkrpc.ShardGroupSnapshotRevertRequest - 146, // 101: spdkrpc.SPDKService.ShardGroupSnapshotPurge:input_type -> spdkrpc.ShardGroupSnapshotPurgeRequest - 33, // 102: spdkrpc.SPDKService.EngineCreate:input_type -> spdkrpc.EngineCreateRequest - 34, // 103: spdkrpc.SPDKService.EngineDelete:input_type -> spdkrpc.EngineDeleteRequest - 35, // 104: spdkrpc.SPDKService.EngineGet:input_type -> spdkrpc.EngineGetRequest - 36, // 105: spdkrpc.SPDKService.EngineSuspend:input_type -> spdkrpc.EngineSuspendRequest - 37, // 106: spdkrpc.SPDKService.EngineResume:input_type -> spdkrpc.EngineResumeRequest - 38, // 107: spdkrpc.SPDKService.EngineSnapshotMaxCountSet:input_type -> spdkrpc.EngineSnapshotMaxCountSetRequest - 39, // 108: spdkrpc.SPDKService.EngineExpand:input_type -> spdkrpc.EngineExpandRequest - 40, // 109: spdkrpc.SPDKService.EngineExpandPrecheck:input_type -> spdkrpc.EngineExpandPrecheckRequest - 42, // 110: spdkrpc.SPDKService.EngineDeleteTarget:input_type -> spdkrpc.EngineDeleteTargetRequest - 50, // 111: spdkrpc.SPDKService.EngineSetTargetListenerANAState:input_type -> spdkrpc.EngineSetTargetListenerANAStateRequest - 62, // 112: spdkrpc.SPDKService.EngineSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 62, // 113: spdkrpc.SPDKService.EngineSnapshotDelete:input_type -> spdkrpc.SnapshotRequest - 62, // 114: spdkrpc.SPDKService.EngineSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 62, // 115: spdkrpc.SPDKService.EngineSnapshotPurge:input_type -> spdkrpc.SnapshotRequest - 64, // 116: spdkrpc.SPDKService.EngineSnapshotHash:input_type -> spdkrpc.SnapshotHashRequest - 65, // 117: spdkrpc.SPDKService.EngineSnapshotHashStatus:input_type -> spdkrpc.SnapshotHashStatusRequest - 68, // 118: spdkrpc.SPDKService.EngineSnapshotHashCancel:input_type -> spdkrpc.SnapshotHashCancelRequest - 69, // 119: spdkrpc.SPDKService.EngineSnapshotHashLockState:input_type -> spdkrpc.SnapshotHashLockStateRequest - 73, // 120: spdkrpc.SPDKService.EngineSnapshotClone:input_type -> spdkrpc.EngineSnapshotCloneRequest - 127, // 121: spdkrpc.SPDKService.EngineList:input_type -> google.protobuf.Empty - 127, // 122: spdkrpc.SPDKService.EngineWatch:input_type -> google.protobuf.Empty - 45, // 123: spdkrpc.SPDKService.EngineReplicaList:input_type -> spdkrpc.EngineReplicaListRequest - 44, // 124: spdkrpc.SPDKService.EngineReplicaAdd:input_type -> spdkrpc.EngineReplicaAddRequest - 47, // 125: spdkrpc.SPDKService.EngineReplicaDelete:input_type -> spdkrpc.EngineReplicaDeleteRequest - 76, // 126: spdkrpc.SPDKService.EngineBackupCreate:input_type -> spdkrpc.BackupCreateRequest - 78, // 127: spdkrpc.SPDKService.EngineBackupStatus:input_type -> spdkrpc.BackupStatusRequest - 80, // 128: spdkrpc.SPDKService.EngineBackupRestore:input_type -> spdkrpc.EngineBackupRestoreRequest - 82, // 129: spdkrpc.SPDKService.EngineBackupRestoreFinish:input_type -> spdkrpc.EngineBackupRestoreFinishRequest - 84, // 130: spdkrpc.SPDKService.EngineRestoreStatus:input_type -> spdkrpc.RestoreStatusRequest - 53, // 131: spdkrpc.SPDKService.EngineFrontendCreate:input_type -> spdkrpc.EngineFrontendCreateRequest - 54, // 132: spdkrpc.SPDKService.EngineFrontendDelete:input_type -> spdkrpc.EngineFrontendDeleteRequest - 55, // 133: spdkrpc.SPDKService.EngineFrontendGet:input_type -> spdkrpc.EngineFrontendGetRequest - 127, // 134: spdkrpc.SPDKService.EngineFrontendList:input_type -> google.protobuf.Empty - 127, // 135: spdkrpc.SPDKService.EngineFrontendWatch:input_type -> google.protobuf.Empty - 57, // 136: spdkrpc.SPDKService.EngineFrontendSuspend:input_type -> spdkrpc.EngineFrontendSuspendRequest - 58, // 137: spdkrpc.SPDKService.EngineFrontendResume:input_type -> spdkrpc.EngineFrontendResumeRequest - 59, // 138: spdkrpc.SPDKService.EngineFrontendExpand:input_type -> spdkrpc.EngineFrontendExpandRequest - 62, // 139: spdkrpc.SPDKService.EngineFrontendSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 62, // 140: spdkrpc.SPDKService.EngineFrontendSnapshotDelete:input_type -> spdkrpc.SnapshotRequest - 62, // 141: spdkrpc.SPDKService.EngineFrontendSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 62, // 142: spdkrpc.SPDKService.EngineFrontendSnapshotPurge:input_type -> spdkrpc.SnapshotRequest - 60, // 143: spdkrpc.SPDKService.EngineFrontendReplicaAdd:input_type -> spdkrpc.EngineFrontendReplicaAddRequest - 61, // 144: spdkrpc.SPDKService.EngineFrontendSwitchOver:input_type -> spdkrpc.EngineFrontendSwitchOverRequest - 89, // 145: spdkrpc.SPDKService.BackingImageCreate:input_type -> spdkrpc.BackingImageCreateRequest - 90, // 146: spdkrpc.SPDKService.BackingImageDelete:input_type -> spdkrpc.BackingImageDeleteRequest - 91, // 147: spdkrpc.SPDKService.BackingImageGet:input_type -> spdkrpc.BackingImageGetRequest - 127, // 148: spdkrpc.SPDKService.BackingImageList:input_type -> google.protobuf.Empty - 127, // 149: spdkrpc.SPDKService.BackingImageWatch:input_type -> google.protobuf.Empty - 91, // 150: spdkrpc.SPDKService.BackingImageExpose:input_type -> spdkrpc.BackingImageGetRequest - 91, // 151: spdkrpc.SPDKService.BackingImageUnexpose:input_type -> spdkrpc.BackingImageGetRequest - 95, // 152: spdkrpc.SPDKService.DiskCreate:input_type -> spdkrpc.DiskCreateRequest - 97, // 153: spdkrpc.SPDKService.DiskDelete:input_type -> spdkrpc.DiskDeleteRequest - 96, // 154: spdkrpc.SPDKService.DiskGet:input_type -> spdkrpc.DiskGetRequest - 98, // 155: spdkrpc.SPDKService.DiskHealthGet:input_type -> spdkrpc.DiskHealthGetRequest - 99, // 156: spdkrpc.SPDKService.LogSetLevel:input_type -> spdkrpc.LogSetLevelRequest - 100, // 157: spdkrpc.SPDKService.LogSetFlags:input_type -> spdkrpc.LogSetFlagsRequest - 127, // 158: spdkrpc.SPDKService.LogGetLevel:input_type -> google.protobuf.Empty - 127, // 159: spdkrpc.SPDKService.LogGetFlags:input_type -> google.protobuf.Empty - 127, // 160: spdkrpc.SPDKService.VersionDetailGet:input_type -> google.protobuf.Empty - 103, // 161: spdkrpc.SPDKService.MetricsGet:input_type -> spdkrpc.MetricsRequest - 3, // 162: spdkrpc.SPDKService.ReplicaCreate:output_type -> spdkrpc.Replica - 127, // 163: spdkrpc.SPDKService.ReplicaDelete:output_type -> google.protobuf.Empty - 3, // 164: spdkrpc.SPDKService.ReplicaGet:output_type -> spdkrpc.Replica - 127, // 165: spdkrpc.SPDKService.ReplicaExpand:output_type -> google.protobuf.Empty - 3, // 166: spdkrpc.SPDKService.ReplicaSnapshotCreate:output_type -> spdkrpc.Replica - 127, // 167: spdkrpc.SPDKService.ReplicaSnapshotDelete:output_type -> google.protobuf.Empty - 127, // 168: spdkrpc.SPDKService.ReplicaSnapshotRevert:output_type -> google.protobuf.Empty - 127, // 169: spdkrpc.SPDKService.ReplicaSnapshotPurge:output_type -> google.protobuf.Empty - 127, // 170: spdkrpc.SPDKService.ReplicaSnapshotHash:output_type -> google.protobuf.Empty - 66, // 171: spdkrpc.SPDKService.ReplicaSnapshotHashStatus:output_type -> spdkrpc.ReplicaSnapshotHashStatusResponse - 127, // 172: spdkrpc.SPDKService.ReplicaSnapshotHashCancel:output_type -> google.protobuf.Empty - 72, // 173: spdkrpc.SPDKService.ReplicaSnapshotHashLockState:output_type -> spdkrpc.SnapshotHashLockStateResponse - 71, // 174: spdkrpc.SPDKService.ReplicaSnapshotRangeHashGet:output_type -> spdkrpc.ReplicaSnapshotRangeHashGetResponse - 10, // 175: spdkrpc.SPDKService.ReplicaList:output_type -> spdkrpc.ReplicaListResponse - 127, // 176: spdkrpc.SPDKService.ReplicaWatch:output_type -> google.protobuf.Empty - 12, // 177: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:output_type -> spdkrpc.ReplicaRebuildingSrcStartResponse - 127, // 178: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:output_type -> google.protobuf.Empty - 127, // 179: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:output_type -> google.protobuf.Empty - 127, // 180: spdkrpc.SPDKService.ReplicaRebuildingSrcRangeShallowCopyStart:output_type -> google.protobuf.Empty - 17, // 181: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse - 19, // 182: spdkrpc.SPDKService.ReplicaRebuildingDstStart:output_type -> spdkrpc.ReplicaRebuildingDstStartResponse - 127, // 183: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:output_type -> google.protobuf.Empty - 127, // 184: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:output_type -> google.protobuf.Empty - 23, // 185: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse - 127, // 186: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:output_type -> google.protobuf.Empty - 127, // 187: spdkrpc.SPDKService.ReplicaRebuildingDstSetQosLimit:output_type -> google.protobuf.Empty - 77, // 188: spdkrpc.SPDKService.ReplicaBackupCreate:output_type -> spdkrpc.BackupCreateResponse - 79, // 189: spdkrpc.SPDKService.ReplicaBackupStatus:output_type -> spdkrpc.BackupStatusResponse - 127, // 190: spdkrpc.SPDKService.ReplicaBackupRestore:output_type -> google.protobuf.Empty - 86, // 191: spdkrpc.SPDKService.ReplicaRestoreStatus:output_type -> spdkrpc.ReplicaRestoreStatusResponse - 127, // 192: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStart:output_type -> google.protobuf.Empty - 27, // 193: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStatusCheck:output_type -> spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse - 127, // 194: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStart:output_type -> google.protobuf.Empty - 30, // 195: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStatusCheck:output_type -> spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse - 127, // 196: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcFinish:output_type -> google.protobuf.Empty - 147, // 197: spdkrpc.SPDKService.ShardCreate:output_type -> spdkrpc.Shard - 127, // 198: spdkrpc.SPDKService.ShardDelete:output_type -> google.protobuf.Empty - 147, // 199: spdkrpc.SPDKService.ShardGet:output_type -> spdkrpc.Shard - 148, // 200: spdkrpc.SPDKService.ShardList:output_type -> spdkrpc.ShardListResponse - 127, // 201: spdkrpc.SPDKService.ShardExpand:output_type -> google.protobuf.Empty - 127, // 202: spdkrpc.SPDKService.ShardWatch:output_type -> google.protobuf.Empty - 149, // 203: spdkrpc.SPDKService.ShardGroupCreate:output_type -> spdkrpc.ShardGroup - 127, // 204: spdkrpc.SPDKService.ShardGroupDelete:output_type -> google.protobuf.Empty - 149, // 205: spdkrpc.SPDKService.ShardGroupGet:output_type -> spdkrpc.ShardGroup - 150, // 206: spdkrpc.SPDKService.ShardGroupList:output_type -> spdkrpc.ShardGroupListResponse - 127, // 207: spdkrpc.SPDKService.ShardGroupWatch:output_type -> google.protobuf.Empty - 127, // 208: spdkrpc.SPDKService.ShardGroupExpand:output_type -> google.protobuf.Empty - 151, // 209: spdkrpc.SPDKService.ShardGroupExpandPrecheck:output_type -> spdkrpc.ShardGroupExpandPrecheckResponse - 152, // 210: spdkrpc.SPDKService.ShardGroupShardReplace:output_type -> spdkrpc.ShardGroupShardReplaceResponse - 153, // 211: spdkrpc.SPDKService.ShardGroupShardRebuildStart:output_type -> spdkrpc.ShardGroupShardRebuildStartResponse - 154, // 212: spdkrpc.SPDKService.ShardGroupShardRebuildProgress:output_type -> spdkrpc.ShardGroupShardRebuildProgressResponse - 127, // 213: spdkrpc.SPDKService.ShardGroupShardRebuildStop:output_type -> google.protobuf.Empty - 127, // 214: spdkrpc.SPDKService.ShardGroupShardRebuildQosSet:output_type -> google.protobuf.Empty - 155, // 215: spdkrpc.SPDKService.ShardGroupShardForceFail:output_type -> spdkrpc.ShardGroupShardForceFailResponse - 156, // 216: spdkrpc.SPDKService.ShardGroupSnapshotCreate:output_type -> spdkrpc.ShardGroupSnapshotCreateResponse - 127, // 217: spdkrpc.SPDKService.ShardGroupSnapshotDelete:output_type -> google.protobuf.Empty - 127, // 218: spdkrpc.SPDKService.ShardGroupSnapshotRevert:output_type -> google.protobuf.Empty - 127, // 219: spdkrpc.SPDKService.ShardGroupSnapshotPurge:output_type -> google.protobuf.Empty - 32, // 220: spdkrpc.SPDKService.EngineCreate:output_type -> spdkrpc.Engine - 127, // 221: spdkrpc.SPDKService.EngineDelete:output_type -> google.protobuf.Empty - 32, // 222: spdkrpc.SPDKService.EngineGet:output_type -> spdkrpc.Engine - 127, // 223: spdkrpc.SPDKService.EngineSuspend:output_type -> google.protobuf.Empty - 127, // 224: spdkrpc.SPDKService.EngineResume:output_type -> google.protobuf.Empty - 127, // 225: spdkrpc.SPDKService.EngineSnapshotMaxCountSet:output_type -> google.protobuf.Empty - 127, // 226: spdkrpc.SPDKService.EngineExpand:output_type -> google.protobuf.Empty - 41, // 227: spdkrpc.SPDKService.EngineExpandPrecheck:output_type -> spdkrpc.EngineExpandPrecheckResponse - 127, // 228: spdkrpc.SPDKService.EngineDeleteTarget:output_type -> google.protobuf.Empty - 127, // 229: spdkrpc.SPDKService.EngineSetTargetListenerANAState:output_type -> google.protobuf.Empty - 63, // 230: spdkrpc.SPDKService.EngineSnapshotCreate:output_type -> spdkrpc.SnapshotResponse - 127, // 231: spdkrpc.SPDKService.EngineSnapshotDelete:output_type -> google.protobuf.Empty - 127, // 232: spdkrpc.SPDKService.EngineSnapshotRevert:output_type -> google.protobuf.Empty - 127, // 233: spdkrpc.SPDKService.EngineSnapshotPurge:output_type -> google.protobuf.Empty - 127, // 234: spdkrpc.SPDKService.EngineSnapshotHash:output_type -> google.protobuf.Empty - 67, // 235: spdkrpc.SPDKService.EngineSnapshotHashStatus:output_type -> spdkrpc.EngineSnapshotHashStatusResponse - 127, // 236: spdkrpc.SPDKService.EngineSnapshotHashCancel:output_type -> google.protobuf.Empty - 72, // 237: spdkrpc.SPDKService.EngineSnapshotHashLockState:output_type -> spdkrpc.SnapshotHashLockStateResponse - 127, // 238: spdkrpc.SPDKService.EngineSnapshotClone:output_type -> google.protobuf.Empty - 43, // 239: spdkrpc.SPDKService.EngineList:output_type -> spdkrpc.EngineListResponse - 127, // 240: spdkrpc.SPDKService.EngineWatch:output_type -> google.protobuf.Empty - 46, // 241: spdkrpc.SPDKService.EngineReplicaList:output_type -> spdkrpc.EngineReplicaListResponse - 127, // 242: spdkrpc.SPDKService.EngineReplicaAdd:output_type -> google.protobuf.Empty - 127, // 243: spdkrpc.SPDKService.EngineReplicaDelete:output_type -> google.protobuf.Empty - 77, // 244: spdkrpc.SPDKService.EngineBackupCreate:output_type -> spdkrpc.BackupCreateResponse - 79, // 245: spdkrpc.SPDKService.EngineBackupStatus:output_type -> spdkrpc.BackupStatusResponse - 81, // 246: spdkrpc.SPDKService.EngineBackupRestore:output_type -> spdkrpc.EngineBackupRestoreResponse - 127, // 247: spdkrpc.SPDKService.EngineBackupRestoreFinish:output_type -> google.protobuf.Empty - 87, // 248: spdkrpc.SPDKService.EngineRestoreStatus:output_type -> spdkrpc.RestoreStatusResponse - 52, // 249: spdkrpc.SPDKService.EngineFrontendCreate:output_type -> spdkrpc.EngineFrontend - 127, // 250: spdkrpc.SPDKService.EngineFrontendDelete:output_type -> google.protobuf.Empty - 52, // 251: spdkrpc.SPDKService.EngineFrontendGet:output_type -> spdkrpc.EngineFrontend - 56, // 252: spdkrpc.SPDKService.EngineFrontendList:output_type -> spdkrpc.EngineFrontendListResponse - 127, // 253: spdkrpc.SPDKService.EngineFrontendWatch:output_type -> google.protobuf.Empty - 127, // 254: spdkrpc.SPDKService.EngineFrontendSuspend:output_type -> google.protobuf.Empty - 127, // 255: spdkrpc.SPDKService.EngineFrontendResume:output_type -> google.protobuf.Empty - 127, // 256: spdkrpc.SPDKService.EngineFrontendExpand:output_type -> google.protobuf.Empty - 63, // 257: spdkrpc.SPDKService.EngineFrontendSnapshotCreate:output_type -> spdkrpc.SnapshotResponse - 127, // 258: spdkrpc.SPDKService.EngineFrontendSnapshotDelete:output_type -> google.protobuf.Empty - 127, // 259: spdkrpc.SPDKService.EngineFrontendSnapshotRevert:output_type -> google.protobuf.Empty - 127, // 260: spdkrpc.SPDKService.EngineFrontendSnapshotPurge:output_type -> google.protobuf.Empty - 127, // 261: spdkrpc.SPDKService.EngineFrontendReplicaAdd:output_type -> google.protobuf.Empty - 127, // 262: spdkrpc.SPDKService.EngineFrontendSwitchOver:output_type -> google.protobuf.Empty - 88, // 263: spdkrpc.SPDKService.BackingImageCreate:output_type -> spdkrpc.BackingImage - 127, // 264: spdkrpc.SPDKService.BackingImageDelete:output_type -> google.protobuf.Empty - 88, // 265: spdkrpc.SPDKService.BackingImageGet:output_type -> spdkrpc.BackingImage - 92, // 266: spdkrpc.SPDKService.BackingImageList:output_type -> spdkrpc.BackingImageListResponse - 127, // 267: spdkrpc.SPDKService.BackingImageWatch:output_type -> google.protobuf.Empty - 93, // 268: spdkrpc.SPDKService.BackingImageExpose:output_type -> spdkrpc.BackingImageExposeResponse - 127, // 269: spdkrpc.SPDKService.BackingImageUnexpose:output_type -> google.protobuf.Empty - 94, // 270: spdkrpc.SPDKService.DiskCreate:output_type -> spdkrpc.Disk - 127, // 271: spdkrpc.SPDKService.DiskDelete:output_type -> google.protobuf.Empty - 94, // 272: spdkrpc.SPDKService.DiskGet:output_type -> spdkrpc.Disk - 105, // 273: spdkrpc.SPDKService.DiskHealthGet:output_type -> spdkrpc.DiskHealthGetResponse - 127, // 274: spdkrpc.SPDKService.LogSetLevel:output_type -> google.protobuf.Empty - 127, // 275: spdkrpc.SPDKService.LogSetFlags:output_type -> google.protobuf.Empty - 101, // 276: spdkrpc.SPDKService.LogGetLevel:output_type -> spdkrpc.LogGetLevelResponse - 102, // 277: spdkrpc.SPDKService.LogGetFlags:output_type -> spdkrpc.LogGetFlagsResponse - 75, // 278: spdkrpc.SPDKService.VersionDetailGet:output_type -> spdkrpc.VersionDetailGetReply - 104, // 279: spdkrpc.SPDKService.MetricsGet:output_type -> spdkrpc.Metrics - 162, // [162:280] is the sub-list for method output_type - 44, // [44:162] is the sub-list for method input_type - 44, // [44:44] is the sub-list for extension type_name - 44, // [44:44] is the sub-list for extension extendee - 0, // [0:44] is the sub-list for field type_name + 127, // 0: spdkrpc.Replica.head:type_name -> spdkrpc.Lvol + 107, // 1: spdkrpc.Replica.snapshots:type_name -> spdkrpc.Replica.SnapshotsEntry + 5, // 2: spdkrpc.Replica.linked_clone_info:type_name -> spdkrpc.LinkedCloneInfo + 108, // 3: spdkrpc.Replica.clone_snapshot_usage:type_name -> spdkrpc.Replica.CloneSnapshotUsageEntry + 3, // 4: spdkrpc.ReplicaCreateRequest.transport_type:type_name -> spdkrpc.TransportType + 109, // 5: spdkrpc.ReplicaListResponse.replicas:type_name -> spdkrpc.ReplicaListResponse.ReplicasEntry + 127, // 6: spdkrpc.ReplicaRebuildingDstStartRequest.rebuilding_snapshot_list:type_name -> spdkrpc.Lvol + 6, // 7: spdkrpc.ReplicaRebuildingDstStartRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource + 1, // 8: spdkrpc.ReplicaSnapshotCloneDstStartRequest.clone_mode:type_name -> spdkrpc.CloneMode + 1, // 9: spdkrpc.ReplicaSnapshotCloneSrcStartRequest.clone_mode:type_name -> spdkrpc.CloneMode + 110, // 10: spdkrpc.Engine.replica_address_map:type_name -> spdkrpc.Engine.ReplicaAddressMapEntry + 111, // 11: spdkrpc.Engine.replica_mode_map:type_name -> spdkrpc.Engine.ReplicaModeMapEntry + 127, // 12: spdkrpc.Engine.head:type_name -> spdkrpc.Lvol + 112, // 13: spdkrpc.Engine.snapshots:type_name -> spdkrpc.Engine.SnapshotsEntry + 113, // 14: spdkrpc.EngineCreateRequest.replica_address_map:type_name -> spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry + 2, // 15: spdkrpc.EngineCreateRequest.data_layout_type:type_name -> spdkrpc.DataLayoutType + 3, // 16: spdkrpc.EngineCreateRequest.transport_type:type_name -> spdkrpc.TransportType + 114, // 17: spdkrpc.EngineListResponse.engines:type_name -> spdkrpc.EngineListResponse.EnginesEntry + 6, // 18: spdkrpc.EngineReplicaAddRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource + 115, // 19: spdkrpc.EngineReplicaListResponse.replicas:type_name -> spdkrpc.EngineReplicaListResponse.ReplicasEntry + 52, // 20: spdkrpc.EngineFrontend.paths:type_name -> spdkrpc.EngineFrontendNvmeTcpPath + 116, // 21: spdkrpc.EngineFrontendListResponse.engine_frontends:type_name -> spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry + 6, // 22: spdkrpc.EngineFrontendReplicaAddRequest.linked_clone_source:type_name -> spdkrpc.LinkedCloneSource + 117, // 23: spdkrpc.SnapshotRequest.labels:type_name -> spdkrpc.SnapshotRequest.LabelsEntry + 118, // 24: spdkrpc.EngineSnapshotHashStatusResponse.status:type_name -> spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry + 119, // 25: spdkrpc.ReplicaSnapshotRangeHashGetResponse.range_hash_map:type_name -> spdkrpc.ReplicaSnapshotRangeHashGetResponse.RangeHashMapEntry + 1, // 26: spdkrpc.EngineSnapshotCloneRequest.clone_mode:type_name -> spdkrpc.CloneMode + 120, // 27: spdkrpc.EngineSnapshotCloneRequest.dst_replica_src_replica_pair_map:type_name -> spdkrpc.EngineSnapshotCloneRequest.DstReplicaSrcReplicaPairMapEntry + 75, // 28: spdkrpc.VersionDetailGetReply.version:type_name -> spdkrpc.VersionOutput + 121, // 29: spdkrpc.BackupCreateRequest.credential:type_name -> spdkrpc.BackupCreateRequest.CredentialEntry + 122, // 30: spdkrpc.EngineBackupRestoreRequest.credential:type_name -> spdkrpc.EngineBackupRestoreRequest.CredentialEntry + 123, // 31: spdkrpc.EngineBackupRestoreResponse.errors:type_name -> spdkrpc.EngineBackupRestoreResponse.ErrorsEntry + 124, // 32: spdkrpc.ReplicaBackupRestoreRequest.credential:type_name -> spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry + 125, // 33: spdkrpc.RestoreStatusResponse.status:type_name -> spdkrpc.RestoreStatusResponse.StatusEntry + 127, // 34: spdkrpc.BackingImage.snapshot:type_name -> spdkrpc.Lvol + 126, // 35: spdkrpc.BackingImageListResponse.backing_images:type_name -> spdkrpc.BackingImageListResponse.BackingImagesEntry + 127, // 36: spdkrpc.Replica.SnapshotsEntry.value:type_name -> spdkrpc.Lvol + 4, // 37: spdkrpc.ReplicaListResponse.ReplicasEntry.value:type_name -> spdkrpc.Replica + 0, // 38: spdkrpc.Engine.ReplicaModeMapEntry.value:type_name -> spdkrpc.ReplicaMode + 127, // 39: spdkrpc.Engine.SnapshotsEntry.value:type_name -> spdkrpc.Lvol + 33, // 40: spdkrpc.EngineListResponse.EnginesEntry.value:type_name -> spdkrpc.Engine + 4, // 41: spdkrpc.EngineReplicaListResponse.ReplicasEntry.value:type_name -> spdkrpc.Replica + 53, // 42: spdkrpc.EngineFrontendListResponse.EngineFrontendsEntry.value:type_name -> spdkrpc.EngineFrontend + 67, // 43: spdkrpc.EngineSnapshotHashStatusResponse.StatusEntry.value:type_name -> spdkrpc.ReplicaSnapshotHashStatusResponse + 87, // 44: spdkrpc.RestoreStatusResponse.StatusEntry.value:type_name -> spdkrpc.ReplicaRestoreStatusResponse + 89, // 45: spdkrpc.BackingImageListResponse.BackingImagesEntry.value:type_name -> spdkrpc.BackingImage + 7, // 46: spdkrpc.SPDKService.ReplicaCreate:input_type -> spdkrpc.ReplicaCreateRequest + 8, // 47: spdkrpc.SPDKService.ReplicaDelete:input_type -> spdkrpc.ReplicaDeleteRequest + 9, // 48: spdkrpc.SPDKService.ReplicaGet:input_type -> spdkrpc.ReplicaGetRequest + 10, // 49: spdkrpc.SPDKService.ReplicaExpand:input_type -> spdkrpc.ReplicaExpandRequest + 63, // 50: spdkrpc.SPDKService.ReplicaSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 63, // 51: spdkrpc.SPDKService.ReplicaSnapshotDelete:input_type -> spdkrpc.SnapshotRequest + 63, // 52: spdkrpc.SPDKService.ReplicaSnapshotRevert:input_type -> spdkrpc.SnapshotRequest + 63, // 53: spdkrpc.SPDKService.ReplicaSnapshotPurge:input_type -> spdkrpc.SnapshotRequest + 65, // 54: spdkrpc.SPDKService.ReplicaSnapshotHash:input_type -> spdkrpc.SnapshotHashRequest + 66, // 55: spdkrpc.SPDKService.ReplicaSnapshotHashStatus:input_type -> spdkrpc.SnapshotHashStatusRequest + 69, // 56: spdkrpc.SPDKService.ReplicaSnapshotHashCancel:input_type -> spdkrpc.SnapshotHashCancelRequest + 70, // 57: spdkrpc.SPDKService.ReplicaSnapshotHashLockState:input_type -> spdkrpc.SnapshotHashLockStateRequest + 71, // 58: spdkrpc.SPDKService.ReplicaSnapshotRangeHashGet:input_type -> spdkrpc.ReplicaSnapshotRangeHashGetRequest + 128, // 59: spdkrpc.SPDKService.ReplicaList:input_type -> google.protobuf.Empty + 128, // 60: spdkrpc.SPDKService.ReplicaWatch:input_type -> google.protobuf.Empty + 12, // 61: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:input_type -> spdkrpc.ReplicaRebuildingSrcStartRequest + 14, // 62: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:input_type -> spdkrpc.ReplicaRebuildingSrcFinishRequest + 15, // 63: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest + 16, // 64: spdkrpc.SPDKService.ReplicaRebuildingSrcRangeShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcRangeShallowCopyStartRequest + 17, // 65: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest + 19, // 66: spdkrpc.SPDKService.ReplicaRebuildingDstStart:input_type -> spdkrpc.ReplicaRebuildingDstStartRequest + 21, // 67: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:input_type -> spdkrpc.ReplicaRebuildingDstFinishRequest + 22, // 68: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest + 23, // 69: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest + 63, // 70: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 25, // 71: spdkrpc.SPDKService.ReplicaRebuildingDstSetQosLimit:input_type -> spdkrpc.ReplicaRebuildingDstSetQosLimitRequest + 77, // 72: spdkrpc.SPDKService.ReplicaBackupCreate:input_type -> spdkrpc.BackupCreateRequest + 79, // 73: spdkrpc.SPDKService.ReplicaBackupStatus:input_type -> spdkrpc.BackupStatusRequest + 84, // 74: spdkrpc.SPDKService.ReplicaBackupRestore:input_type -> spdkrpc.ReplicaBackupRestoreRequest + 86, // 75: spdkrpc.SPDKService.ReplicaRestoreStatus:input_type -> spdkrpc.ReplicaRestoreStatusRequest + 26, // 76: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStart:input_type -> spdkrpc.ReplicaSnapshotCloneDstStartRequest + 27, // 77: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStatusCheck:input_type -> spdkrpc.ReplicaSnapshotCloneDstStatusCheckRequest + 29, // 78: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStart:input_type -> spdkrpc.ReplicaSnapshotCloneSrcStartRequest + 30, // 79: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStatusCheck:input_type -> spdkrpc.ReplicaSnapshotCloneSrcStatusCheckRequest + 32, // 80: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcFinish:input_type -> spdkrpc.ReplicaSnapshotCloneSrcFinishRequest + 129, // 81: spdkrpc.SPDKService.ShardCreate:input_type -> spdkrpc.ShardCreateRequest + 130, // 82: spdkrpc.SPDKService.ShardDelete:input_type -> spdkrpc.ShardDeleteRequest + 131, // 83: spdkrpc.SPDKService.ShardGet:input_type -> spdkrpc.ShardGetRequest + 128, // 84: spdkrpc.SPDKService.ShardList:input_type -> google.protobuf.Empty + 132, // 85: spdkrpc.SPDKService.ShardExpand:input_type -> spdkrpc.ShardExpandRequest + 128, // 86: spdkrpc.SPDKService.ShardWatch:input_type -> google.protobuf.Empty + 133, // 87: spdkrpc.SPDKService.ShardGroupCreate:input_type -> spdkrpc.ShardGroupCreateRequest + 134, // 88: spdkrpc.SPDKService.ShardGroupDelete:input_type -> spdkrpc.ShardGroupDeleteRequest + 135, // 89: spdkrpc.SPDKService.ShardGroupGet:input_type -> spdkrpc.ShardGroupGetRequest + 128, // 90: spdkrpc.SPDKService.ShardGroupList:input_type -> google.protobuf.Empty + 128, // 91: spdkrpc.SPDKService.ShardGroupWatch:input_type -> google.protobuf.Empty + 136, // 92: spdkrpc.SPDKService.ShardGroupExpand:input_type -> spdkrpc.ShardGroupExpandRequest + 137, // 93: spdkrpc.SPDKService.ShardGroupExpandPrecheck:input_type -> spdkrpc.ShardGroupExpandPrecheckRequest + 138, // 94: spdkrpc.SPDKService.ShardGroupShardReplace:input_type -> spdkrpc.ShardGroupShardReplaceRequest + 139, // 95: spdkrpc.SPDKService.ShardGroupShardRebuildStart:input_type -> spdkrpc.ShardGroupShardRebuildStartRequest + 140, // 96: spdkrpc.SPDKService.ShardGroupShardRebuildProgress:input_type -> spdkrpc.ShardGroupShardRebuildProgressRequest + 141, // 97: spdkrpc.SPDKService.ShardGroupShardRebuildStop:input_type -> spdkrpc.ShardGroupShardRebuildStopRequest + 142, // 98: spdkrpc.SPDKService.ShardGroupShardRebuildQosSet:input_type -> spdkrpc.ShardGroupShardRebuildQosSetRequest + 143, // 99: spdkrpc.SPDKService.ShardGroupShardForceFail:input_type -> spdkrpc.ShardGroupShardForceFailRequest + 144, // 100: spdkrpc.SPDKService.ShardGroupSnapshotCreate:input_type -> spdkrpc.ShardGroupSnapshotCreateRequest + 145, // 101: spdkrpc.SPDKService.ShardGroupSnapshotDelete:input_type -> spdkrpc.ShardGroupSnapshotDeleteRequest + 146, // 102: spdkrpc.SPDKService.ShardGroupSnapshotRevert:input_type -> spdkrpc.ShardGroupSnapshotRevertRequest + 147, // 103: spdkrpc.SPDKService.ShardGroupSnapshotPurge:input_type -> spdkrpc.ShardGroupSnapshotPurgeRequest + 34, // 104: spdkrpc.SPDKService.EngineCreate:input_type -> spdkrpc.EngineCreateRequest + 35, // 105: spdkrpc.SPDKService.EngineDelete:input_type -> spdkrpc.EngineDeleteRequest + 36, // 106: spdkrpc.SPDKService.EngineGet:input_type -> spdkrpc.EngineGetRequest + 37, // 107: spdkrpc.SPDKService.EngineSuspend:input_type -> spdkrpc.EngineSuspendRequest + 38, // 108: spdkrpc.SPDKService.EngineResume:input_type -> spdkrpc.EngineResumeRequest + 39, // 109: spdkrpc.SPDKService.EngineSnapshotMaxCountSet:input_type -> spdkrpc.EngineSnapshotMaxCountSetRequest + 40, // 110: spdkrpc.SPDKService.EngineExpand:input_type -> spdkrpc.EngineExpandRequest + 41, // 111: spdkrpc.SPDKService.EngineExpandPrecheck:input_type -> spdkrpc.EngineExpandPrecheckRequest + 43, // 112: spdkrpc.SPDKService.EngineDeleteTarget:input_type -> spdkrpc.EngineDeleteTargetRequest + 51, // 113: spdkrpc.SPDKService.EngineSetTargetListenerANAState:input_type -> spdkrpc.EngineSetTargetListenerANAStateRequest + 63, // 114: spdkrpc.SPDKService.EngineSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 63, // 115: spdkrpc.SPDKService.EngineSnapshotDelete:input_type -> spdkrpc.SnapshotRequest + 63, // 116: spdkrpc.SPDKService.EngineSnapshotRevert:input_type -> spdkrpc.SnapshotRequest + 63, // 117: spdkrpc.SPDKService.EngineSnapshotPurge:input_type -> spdkrpc.SnapshotRequest + 65, // 118: spdkrpc.SPDKService.EngineSnapshotHash:input_type -> spdkrpc.SnapshotHashRequest + 66, // 119: spdkrpc.SPDKService.EngineSnapshotHashStatus:input_type -> spdkrpc.SnapshotHashStatusRequest + 69, // 120: spdkrpc.SPDKService.EngineSnapshotHashCancel:input_type -> spdkrpc.SnapshotHashCancelRequest + 70, // 121: spdkrpc.SPDKService.EngineSnapshotHashLockState:input_type -> spdkrpc.SnapshotHashLockStateRequest + 74, // 122: spdkrpc.SPDKService.EngineSnapshotClone:input_type -> spdkrpc.EngineSnapshotCloneRequest + 128, // 123: spdkrpc.SPDKService.EngineList:input_type -> google.protobuf.Empty + 128, // 124: spdkrpc.SPDKService.EngineWatch:input_type -> google.protobuf.Empty + 46, // 125: spdkrpc.SPDKService.EngineReplicaList:input_type -> spdkrpc.EngineReplicaListRequest + 45, // 126: spdkrpc.SPDKService.EngineReplicaAdd:input_type -> spdkrpc.EngineReplicaAddRequest + 48, // 127: spdkrpc.SPDKService.EngineReplicaDelete:input_type -> spdkrpc.EngineReplicaDeleteRequest + 77, // 128: spdkrpc.SPDKService.EngineBackupCreate:input_type -> spdkrpc.BackupCreateRequest + 79, // 129: spdkrpc.SPDKService.EngineBackupStatus:input_type -> spdkrpc.BackupStatusRequest + 81, // 130: spdkrpc.SPDKService.EngineBackupRestore:input_type -> spdkrpc.EngineBackupRestoreRequest + 83, // 131: spdkrpc.SPDKService.EngineBackupRestoreFinish:input_type -> spdkrpc.EngineBackupRestoreFinishRequest + 85, // 132: spdkrpc.SPDKService.EngineRestoreStatus:input_type -> spdkrpc.RestoreStatusRequest + 54, // 133: spdkrpc.SPDKService.EngineFrontendCreate:input_type -> spdkrpc.EngineFrontendCreateRequest + 55, // 134: spdkrpc.SPDKService.EngineFrontendDelete:input_type -> spdkrpc.EngineFrontendDeleteRequest + 56, // 135: spdkrpc.SPDKService.EngineFrontendGet:input_type -> spdkrpc.EngineFrontendGetRequest + 128, // 136: spdkrpc.SPDKService.EngineFrontendList:input_type -> google.protobuf.Empty + 128, // 137: spdkrpc.SPDKService.EngineFrontendWatch:input_type -> google.protobuf.Empty + 58, // 138: spdkrpc.SPDKService.EngineFrontendSuspend:input_type -> spdkrpc.EngineFrontendSuspendRequest + 59, // 139: spdkrpc.SPDKService.EngineFrontendResume:input_type -> spdkrpc.EngineFrontendResumeRequest + 60, // 140: spdkrpc.SPDKService.EngineFrontendExpand:input_type -> spdkrpc.EngineFrontendExpandRequest + 63, // 141: spdkrpc.SPDKService.EngineFrontendSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 63, // 142: spdkrpc.SPDKService.EngineFrontendSnapshotDelete:input_type -> spdkrpc.SnapshotRequest + 63, // 143: spdkrpc.SPDKService.EngineFrontendSnapshotRevert:input_type -> spdkrpc.SnapshotRequest + 63, // 144: spdkrpc.SPDKService.EngineFrontendSnapshotPurge:input_type -> spdkrpc.SnapshotRequest + 61, // 145: spdkrpc.SPDKService.EngineFrontendReplicaAdd:input_type -> spdkrpc.EngineFrontendReplicaAddRequest + 62, // 146: spdkrpc.SPDKService.EngineFrontendSwitchOver:input_type -> spdkrpc.EngineFrontendSwitchOverRequest + 90, // 147: spdkrpc.SPDKService.BackingImageCreate:input_type -> spdkrpc.BackingImageCreateRequest + 91, // 148: spdkrpc.SPDKService.BackingImageDelete:input_type -> spdkrpc.BackingImageDeleteRequest + 92, // 149: spdkrpc.SPDKService.BackingImageGet:input_type -> spdkrpc.BackingImageGetRequest + 128, // 150: spdkrpc.SPDKService.BackingImageList:input_type -> google.protobuf.Empty + 128, // 151: spdkrpc.SPDKService.BackingImageWatch:input_type -> google.protobuf.Empty + 92, // 152: spdkrpc.SPDKService.BackingImageExpose:input_type -> spdkrpc.BackingImageGetRequest + 92, // 153: spdkrpc.SPDKService.BackingImageUnexpose:input_type -> spdkrpc.BackingImageGetRequest + 96, // 154: spdkrpc.SPDKService.DiskCreate:input_type -> spdkrpc.DiskCreateRequest + 98, // 155: spdkrpc.SPDKService.DiskDelete:input_type -> spdkrpc.DiskDeleteRequest + 97, // 156: spdkrpc.SPDKService.DiskGet:input_type -> spdkrpc.DiskGetRequest + 99, // 157: spdkrpc.SPDKService.DiskHealthGet:input_type -> spdkrpc.DiskHealthGetRequest + 100, // 158: spdkrpc.SPDKService.LogSetLevel:input_type -> spdkrpc.LogSetLevelRequest + 101, // 159: spdkrpc.SPDKService.LogSetFlags:input_type -> spdkrpc.LogSetFlagsRequest + 128, // 160: spdkrpc.SPDKService.LogGetLevel:input_type -> google.protobuf.Empty + 128, // 161: spdkrpc.SPDKService.LogGetFlags:input_type -> google.protobuf.Empty + 128, // 162: spdkrpc.SPDKService.VersionDetailGet:input_type -> google.protobuf.Empty + 104, // 163: spdkrpc.SPDKService.MetricsGet:input_type -> spdkrpc.MetricsRequest + 4, // 164: spdkrpc.SPDKService.ReplicaCreate:output_type -> spdkrpc.Replica + 128, // 165: spdkrpc.SPDKService.ReplicaDelete:output_type -> google.protobuf.Empty + 4, // 166: spdkrpc.SPDKService.ReplicaGet:output_type -> spdkrpc.Replica + 128, // 167: spdkrpc.SPDKService.ReplicaExpand:output_type -> google.protobuf.Empty + 4, // 168: spdkrpc.SPDKService.ReplicaSnapshotCreate:output_type -> spdkrpc.Replica + 128, // 169: spdkrpc.SPDKService.ReplicaSnapshotDelete:output_type -> google.protobuf.Empty + 128, // 170: spdkrpc.SPDKService.ReplicaSnapshotRevert:output_type -> google.protobuf.Empty + 128, // 171: spdkrpc.SPDKService.ReplicaSnapshotPurge:output_type -> google.protobuf.Empty + 128, // 172: spdkrpc.SPDKService.ReplicaSnapshotHash:output_type -> google.protobuf.Empty + 67, // 173: spdkrpc.SPDKService.ReplicaSnapshotHashStatus:output_type -> spdkrpc.ReplicaSnapshotHashStatusResponse + 128, // 174: spdkrpc.SPDKService.ReplicaSnapshotHashCancel:output_type -> google.protobuf.Empty + 73, // 175: spdkrpc.SPDKService.ReplicaSnapshotHashLockState:output_type -> spdkrpc.SnapshotHashLockStateResponse + 72, // 176: spdkrpc.SPDKService.ReplicaSnapshotRangeHashGet:output_type -> spdkrpc.ReplicaSnapshotRangeHashGetResponse + 11, // 177: spdkrpc.SPDKService.ReplicaList:output_type -> spdkrpc.ReplicaListResponse + 128, // 178: spdkrpc.SPDKService.ReplicaWatch:output_type -> google.protobuf.Empty + 13, // 179: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:output_type -> spdkrpc.ReplicaRebuildingSrcStartResponse + 128, // 180: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:output_type -> google.protobuf.Empty + 128, // 181: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:output_type -> google.protobuf.Empty + 128, // 182: spdkrpc.SPDKService.ReplicaRebuildingSrcRangeShallowCopyStart:output_type -> google.protobuf.Empty + 18, // 183: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse + 20, // 184: spdkrpc.SPDKService.ReplicaRebuildingDstStart:output_type -> spdkrpc.ReplicaRebuildingDstStartResponse + 128, // 185: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:output_type -> google.protobuf.Empty + 128, // 186: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:output_type -> google.protobuf.Empty + 24, // 187: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse + 128, // 188: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:output_type -> google.protobuf.Empty + 128, // 189: spdkrpc.SPDKService.ReplicaRebuildingDstSetQosLimit:output_type -> google.protobuf.Empty + 78, // 190: spdkrpc.SPDKService.ReplicaBackupCreate:output_type -> spdkrpc.BackupCreateResponse + 80, // 191: spdkrpc.SPDKService.ReplicaBackupStatus:output_type -> spdkrpc.BackupStatusResponse + 128, // 192: spdkrpc.SPDKService.ReplicaBackupRestore:output_type -> google.protobuf.Empty + 87, // 193: spdkrpc.SPDKService.ReplicaRestoreStatus:output_type -> spdkrpc.ReplicaRestoreStatusResponse + 128, // 194: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStart:output_type -> google.protobuf.Empty + 28, // 195: spdkrpc.SPDKService.ReplicaSnapshotCloneDstStatusCheck:output_type -> spdkrpc.ReplicaSnapshotCloneDstStatusCheckResponse + 128, // 196: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStart:output_type -> google.protobuf.Empty + 31, // 197: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcStatusCheck:output_type -> spdkrpc.ReplicaSnapshotCloneSrcStatusCheckResponse + 128, // 198: spdkrpc.SPDKService.ReplicaSnapshotCloneSrcFinish:output_type -> google.protobuf.Empty + 148, // 199: spdkrpc.SPDKService.ShardCreate:output_type -> spdkrpc.Shard + 128, // 200: spdkrpc.SPDKService.ShardDelete:output_type -> google.protobuf.Empty + 148, // 201: spdkrpc.SPDKService.ShardGet:output_type -> spdkrpc.Shard + 149, // 202: spdkrpc.SPDKService.ShardList:output_type -> spdkrpc.ShardListResponse + 128, // 203: spdkrpc.SPDKService.ShardExpand:output_type -> google.protobuf.Empty + 128, // 204: spdkrpc.SPDKService.ShardWatch:output_type -> google.protobuf.Empty + 150, // 205: spdkrpc.SPDKService.ShardGroupCreate:output_type -> spdkrpc.ShardGroup + 128, // 206: spdkrpc.SPDKService.ShardGroupDelete:output_type -> google.protobuf.Empty + 150, // 207: spdkrpc.SPDKService.ShardGroupGet:output_type -> spdkrpc.ShardGroup + 151, // 208: spdkrpc.SPDKService.ShardGroupList:output_type -> spdkrpc.ShardGroupListResponse + 128, // 209: spdkrpc.SPDKService.ShardGroupWatch:output_type -> google.protobuf.Empty + 128, // 210: spdkrpc.SPDKService.ShardGroupExpand:output_type -> google.protobuf.Empty + 152, // 211: spdkrpc.SPDKService.ShardGroupExpandPrecheck:output_type -> spdkrpc.ShardGroupExpandPrecheckResponse + 153, // 212: spdkrpc.SPDKService.ShardGroupShardReplace:output_type -> spdkrpc.ShardGroupShardReplaceResponse + 154, // 213: spdkrpc.SPDKService.ShardGroupShardRebuildStart:output_type -> spdkrpc.ShardGroupShardRebuildStartResponse + 155, // 214: spdkrpc.SPDKService.ShardGroupShardRebuildProgress:output_type -> spdkrpc.ShardGroupShardRebuildProgressResponse + 128, // 215: spdkrpc.SPDKService.ShardGroupShardRebuildStop:output_type -> google.protobuf.Empty + 128, // 216: spdkrpc.SPDKService.ShardGroupShardRebuildQosSet:output_type -> google.protobuf.Empty + 156, // 217: spdkrpc.SPDKService.ShardGroupShardForceFail:output_type -> spdkrpc.ShardGroupShardForceFailResponse + 157, // 218: spdkrpc.SPDKService.ShardGroupSnapshotCreate:output_type -> spdkrpc.ShardGroupSnapshotCreateResponse + 128, // 219: spdkrpc.SPDKService.ShardGroupSnapshotDelete:output_type -> google.protobuf.Empty + 128, // 220: spdkrpc.SPDKService.ShardGroupSnapshotRevert:output_type -> google.protobuf.Empty + 128, // 221: spdkrpc.SPDKService.ShardGroupSnapshotPurge:output_type -> google.protobuf.Empty + 33, // 222: spdkrpc.SPDKService.EngineCreate:output_type -> spdkrpc.Engine + 128, // 223: spdkrpc.SPDKService.EngineDelete:output_type -> google.protobuf.Empty + 33, // 224: spdkrpc.SPDKService.EngineGet:output_type -> spdkrpc.Engine + 128, // 225: spdkrpc.SPDKService.EngineSuspend:output_type -> google.protobuf.Empty + 128, // 226: spdkrpc.SPDKService.EngineResume:output_type -> google.protobuf.Empty + 128, // 227: spdkrpc.SPDKService.EngineSnapshotMaxCountSet:output_type -> google.protobuf.Empty + 128, // 228: spdkrpc.SPDKService.EngineExpand:output_type -> google.protobuf.Empty + 42, // 229: spdkrpc.SPDKService.EngineExpandPrecheck:output_type -> spdkrpc.EngineExpandPrecheckResponse + 128, // 230: spdkrpc.SPDKService.EngineDeleteTarget:output_type -> google.protobuf.Empty + 128, // 231: spdkrpc.SPDKService.EngineSetTargetListenerANAState:output_type -> google.protobuf.Empty + 64, // 232: spdkrpc.SPDKService.EngineSnapshotCreate:output_type -> spdkrpc.SnapshotResponse + 128, // 233: spdkrpc.SPDKService.EngineSnapshotDelete:output_type -> google.protobuf.Empty + 128, // 234: spdkrpc.SPDKService.EngineSnapshotRevert:output_type -> google.protobuf.Empty + 128, // 235: spdkrpc.SPDKService.EngineSnapshotPurge:output_type -> google.protobuf.Empty + 128, // 236: spdkrpc.SPDKService.EngineSnapshotHash:output_type -> google.protobuf.Empty + 68, // 237: spdkrpc.SPDKService.EngineSnapshotHashStatus:output_type -> spdkrpc.EngineSnapshotHashStatusResponse + 128, // 238: spdkrpc.SPDKService.EngineSnapshotHashCancel:output_type -> google.protobuf.Empty + 73, // 239: spdkrpc.SPDKService.EngineSnapshotHashLockState:output_type -> spdkrpc.SnapshotHashLockStateResponse + 128, // 240: spdkrpc.SPDKService.EngineSnapshotClone:output_type -> google.protobuf.Empty + 44, // 241: spdkrpc.SPDKService.EngineList:output_type -> spdkrpc.EngineListResponse + 128, // 242: spdkrpc.SPDKService.EngineWatch:output_type -> google.protobuf.Empty + 47, // 243: spdkrpc.SPDKService.EngineReplicaList:output_type -> spdkrpc.EngineReplicaListResponse + 128, // 244: spdkrpc.SPDKService.EngineReplicaAdd:output_type -> google.protobuf.Empty + 128, // 245: spdkrpc.SPDKService.EngineReplicaDelete:output_type -> google.protobuf.Empty + 78, // 246: spdkrpc.SPDKService.EngineBackupCreate:output_type -> spdkrpc.BackupCreateResponse + 80, // 247: spdkrpc.SPDKService.EngineBackupStatus:output_type -> spdkrpc.BackupStatusResponse + 82, // 248: spdkrpc.SPDKService.EngineBackupRestore:output_type -> spdkrpc.EngineBackupRestoreResponse + 128, // 249: spdkrpc.SPDKService.EngineBackupRestoreFinish:output_type -> google.protobuf.Empty + 88, // 250: spdkrpc.SPDKService.EngineRestoreStatus:output_type -> spdkrpc.RestoreStatusResponse + 53, // 251: spdkrpc.SPDKService.EngineFrontendCreate:output_type -> spdkrpc.EngineFrontend + 128, // 252: spdkrpc.SPDKService.EngineFrontendDelete:output_type -> google.protobuf.Empty + 53, // 253: spdkrpc.SPDKService.EngineFrontendGet:output_type -> spdkrpc.EngineFrontend + 57, // 254: spdkrpc.SPDKService.EngineFrontendList:output_type -> spdkrpc.EngineFrontendListResponse + 128, // 255: spdkrpc.SPDKService.EngineFrontendWatch:output_type -> google.protobuf.Empty + 128, // 256: spdkrpc.SPDKService.EngineFrontendSuspend:output_type -> google.protobuf.Empty + 128, // 257: spdkrpc.SPDKService.EngineFrontendResume:output_type -> google.protobuf.Empty + 128, // 258: spdkrpc.SPDKService.EngineFrontendExpand:output_type -> google.protobuf.Empty + 64, // 259: spdkrpc.SPDKService.EngineFrontendSnapshotCreate:output_type -> spdkrpc.SnapshotResponse + 128, // 260: spdkrpc.SPDKService.EngineFrontendSnapshotDelete:output_type -> google.protobuf.Empty + 128, // 261: spdkrpc.SPDKService.EngineFrontendSnapshotRevert:output_type -> google.protobuf.Empty + 128, // 262: spdkrpc.SPDKService.EngineFrontendSnapshotPurge:output_type -> google.protobuf.Empty + 128, // 263: spdkrpc.SPDKService.EngineFrontendReplicaAdd:output_type -> google.protobuf.Empty + 128, // 264: spdkrpc.SPDKService.EngineFrontendSwitchOver:output_type -> google.protobuf.Empty + 89, // 265: spdkrpc.SPDKService.BackingImageCreate:output_type -> spdkrpc.BackingImage + 128, // 266: spdkrpc.SPDKService.BackingImageDelete:output_type -> google.protobuf.Empty + 89, // 267: spdkrpc.SPDKService.BackingImageGet:output_type -> spdkrpc.BackingImage + 93, // 268: spdkrpc.SPDKService.BackingImageList:output_type -> spdkrpc.BackingImageListResponse + 128, // 269: spdkrpc.SPDKService.BackingImageWatch:output_type -> google.protobuf.Empty + 94, // 270: spdkrpc.SPDKService.BackingImageExpose:output_type -> spdkrpc.BackingImageExposeResponse + 128, // 271: spdkrpc.SPDKService.BackingImageUnexpose:output_type -> google.protobuf.Empty + 95, // 272: spdkrpc.SPDKService.DiskCreate:output_type -> spdkrpc.Disk + 128, // 273: spdkrpc.SPDKService.DiskDelete:output_type -> google.protobuf.Empty + 95, // 274: spdkrpc.SPDKService.DiskGet:output_type -> spdkrpc.Disk + 106, // 275: spdkrpc.SPDKService.DiskHealthGet:output_type -> spdkrpc.DiskHealthGetResponse + 128, // 276: spdkrpc.SPDKService.LogSetLevel:output_type -> google.protobuf.Empty + 128, // 277: spdkrpc.SPDKService.LogSetFlags:output_type -> google.protobuf.Empty + 102, // 278: spdkrpc.SPDKService.LogGetLevel:output_type -> spdkrpc.LogGetLevelResponse + 103, // 279: spdkrpc.SPDKService.LogGetFlags:output_type -> spdkrpc.LogGetFlagsResponse + 76, // 280: spdkrpc.SPDKService.VersionDetailGet:output_type -> spdkrpc.VersionDetailGetReply + 105, // 281: spdkrpc.SPDKService.MetricsGet:output_type -> spdkrpc.Metrics + 164, // [164:282] is the sub-list for method output_type + 46, // [46:164] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name } func init() { file_spdkrpc_spdk_proto_init() } @@ -11075,7 +11161,7 @@ func file_spdkrpc_spdk_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_spdkrpc_spdk_proto_rawDesc, - NumEnums: 3, + NumEnums: 4, NumMessages: 123, NumExtensions: 0, NumServices: 1, diff --git a/protobuf/imrpc/common.proto b/protobuf/imrpc/common.proto index fca8170..2577ac8 100644 --- a/protobuf/imrpc/common.proto +++ b/protobuf/imrpc/common.proto @@ -30,6 +30,15 @@ enum DataLayoutType { DATA_LAYOUT_TYPE_SHARDED = 1; } +// TransportType is the NVMe-oF transport for the internal engine<->replica +// data fabric, forwarded from SpdkInstanceSpec to spdkrpc.EngineCreateRequest / +// ReplicaCreateRequest. Mirrors spdkrpc.TransportType but defined here to +// keep imrpc and spdkrpc decoupled. Unset (0) == TCP preserves historical behavior. +enum TransportType { + TRANSPORT_TYPE_TCP = 0; + TRANSPORT_TYPE_RDMA = 1; +} + // ShardEndpoint carries the transport address and pre-resolved slot index for // a shard, as passed to the instance manager for ShardGroup process creation. // address is "ip:port" - passed to connectNVMfBdev which calls diff --git a/protobuf/imrpc/instance.proto b/protobuf/imrpc/instance.proto index 293a400..6b19d94 100644 --- a/protobuf/imrpc/instance.proto +++ b/protobuf/imrpc/instance.proto @@ -90,6 +90,14 @@ message SpdkInstanceSpec { // initiator creates when connecting the blockdev frontend over NVMe-TCP // (0 means unspecified, kernel default). int32 nvme_tcp_nr_io_queues = 16; + + // transport_type selects the NVMe-oF transport for the internal + // engine<->replica data fabric. Set on both engine and replica instances so + // the exporter (replica) and the connector (engine) agree. Forwarded to + // spdkrpc.EngineCreateRequest / ReplicaCreateRequest.transport_type. + // Kept on the spec (not the request) because the delete path reads the spec + // and must tear down the same transport it created. Unset (0) == TCP. + TransportType transport_type = 17; } message InstanceSpec { diff --git a/protobuf/spdkrpc/spdk.proto b/protobuf/spdkrpc/spdk.proto index 841ae61..420d263 100644 --- a/protobuf/spdkrpc/spdk.proto +++ b/protobuf/spdkrpc/spdk.proto @@ -183,6 +183,11 @@ message ReplicaCreateRequest { uint64 spec_size = 4; int32 port_count = 5; string backing_image_name = 6; + + // transport_type selects the NVMe-oF fabric this replica's bdev is + // exposed over so the engine can connect to it. Unset (0) == TCP preserves + // the historical behavior. + TransportType transport_type = 7; } message ReplicaDeleteRequest { @@ -401,6 +406,11 @@ message EngineCreateRequest { // over replica_address_map (N entries for RAID1, 1 entry for EC pointing // at the ShardGroup endpoint). DataLayoutType data_layout_type = 14; + + // transport_type selects the NVMe-oF fabric the engine uses to + // connect to its upstream replica/shardgroup bdevs (controller->replica leg). + // Unset (0) == TCP preserves the historical behavior. + TransportType transport_type = 15; } message EngineDeleteRequest { @@ -765,6 +775,14 @@ enum DataLayoutType { DATA_LAYOUT_TYPE_SHARDED = 1; // EC: k data + m parity shards } +// TransportType selects the NVMe-oF transport used for the internal +// engine<->replica (and engine<->shardgroup) data fabric. Unset defaults to +// TCP, preserving the historical behavior for all existing volumes. +enum TransportType { + TRANSPORT_TYPE_TCP = 0; // NVMe-oF over TCP (default) + TRANSPORT_TYPE_RDMA = 1; // NVMe-oF over RDMA (RoCEv2 / InfiniBand) +} + message BackingImage { string name = 1; string backing_image_uuid = 2;