mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	增加SysLockerService等;提供多个便捷函数
This commit is contained in:
		@@ -2546,6 +2546,101 @@ func (x *FindNodeClusterSystemServiceResponse) GetParamsJSON() []byte {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取集群中可以使用的端口
 | 
			
		||||
type FindFreePortInNodeClusterRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterRequest) Reset() {
 | 
			
		||||
	*x = FindFreePortInNodeClusterRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindFreePortInNodeClusterRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindFreePortInNodeClusterRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindFreePortInNodeClusterRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_node_cluster_proto_rawDescGZIP(), []int{48}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterRequest) GetNodeClusterId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NodeClusterId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindFreePortInNodeClusterResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterResponse) Reset() {
 | 
			
		||||
	*x = FindFreePortInNodeClusterResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_node_cluster_proto_msgTypes[49]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindFreePortInNodeClusterResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_node_cluster_proto_msgTypes[49]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindFreePortInNodeClusterResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindFreePortInNodeClusterResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_node_cluster_proto_rawDescGZIP(), []int{49}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindFreePortInNodeClusterResponse) GetPort() int32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Port
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ExecuteNodeClusterHealthCheckResponse_Result struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -2561,7 +2656,7 @@ type ExecuteNodeClusterHealthCheckResponse_Result struct {
 | 
			
		||||
func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
 | 
			
		||||
	*x = ExecuteNodeClusterHealthCheckResponse_Result{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
			
		||||
		mi := &file_service_node_cluster_proto_msgTypes[50]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -2574,7 +2669,7 @@ func (x *ExecuteNodeClusterHealthCheckResponse_Result) String() string {
 | 
			
		||||
func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
			
		||||
	mi := &file_service_node_cluster_proto_msgTypes[50]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -2954,225 +3049,240 @@ var file_service_node_cluster_proto_rawDesc = []byte{
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32,
 | 
			
		||||
	0x8d, 0x1b, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64,
 | 
			
		||||
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
 | 
			
		||||
	0x48, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49,
 | 
			
		||||
	0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x21, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x32, 0xf7, 0x1b, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f,
 | 
			
		||||
	0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41,
 | 
			
		||||
	0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68,
 | 
			
		||||
	0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61,
 | 
			
		||||
	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a,
 | 
			
		||||
	0x20, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
			
		||||
	0x67, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
 | 
			
		||||
	0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f,
 | 
			
		||||
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
			
		||||
	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
 | 
			
		||||
	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74,
 | 
			
		||||
	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
 | 
			
		||||
	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72,
 | 
			
		||||
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74,
 | 
			
		||||
	0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76,
 | 
			
		||||
	0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98,
 | 
			
		||||
	0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
			
		||||
	0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x63, 0x68, 0x65,
 | 
			
		||||
	0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a,
 | 
			
		||||
	0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41,
 | 
			
		||||
	0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a,
 | 
			
		||||
	0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61,
 | 
			
		||||
	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xaa,
 | 
			
		||||
	0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c,
 | 
			
		||||
	0x01, 0x0a, 0x25, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
			
		||||
	0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e,
 | 
			
		||||
	0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72,
 | 
			
		||||
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a,
 | 
			
		||||
	0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f,
 | 
			
		||||
	0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50,
 | 
			
		||||
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17,
 | 
			
		||||
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65,
 | 
			
		||||
	0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65,
 | 
			
		||||
	0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
			
		||||
	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65,
 | 
			
		||||
	0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
			
		||||
	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x54, 0x4f, 0x41, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54,
 | 
			
		||||
	0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54,
 | 
			
		||||
	0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0xaa, 0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63,
 | 
			
		||||
	0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f,
 | 
			
		||||
	0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b,
 | 
			
		||||
	0x01, 0x0a, 0x33, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x33,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
 | 
			
		||||
	0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46,
 | 
			
		||||
	0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb3, 0x01, 0x0a,
 | 
			
		||||
	0x32, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
 | 
			
		||||
	0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x32, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
 | 
			
		||||
	0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
 | 
			
		||||
	0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65,
 | 
			
		||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
 | 
			
		||||
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x30, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
 | 
			
		||||
	0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
			
		||||
	0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x71, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
 | 
			
		||||
	0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
 | 
			
		||||
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
 | 
			
		||||
	0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
 | 
			
		||||
	0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72,
 | 
			
		||||
	0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46,
 | 
			
		||||
	0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04,
 | 
			
		||||
	0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -3187,7 +3297,7 @@ func file_service_node_cluster_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_node_cluster_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 49)
 | 
			
		||||
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
 | 
			
		||||
var file_service_node_cluster_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindAllEnabledNodeClustersRequest)(nil),                          // 0: pb.FindAllEnabledNodeClustersRequest
 | 
			
		||||
	(*FindAllEnabledNodeClustersResponse)(nil),                         // 1: pb.FindAllEnabledNodeClustersResponse
 | 
			
		||||
@@ -3237,29 +3347,31 @@ var file_service_node_cluster_proto_goTypes = []interface{}{
 | 
			
		||||
	(*UpdateNodeClusterSystemServiceRequest)(nil),                      // 45: pb.UpdateNodeClusterSystemServiceRequest
 | 
			
		||||
	(*FindNodeClusterSystemServiceRequest)(nil),                        // 46: pb.FindNodeClusterSystemServiceRequest
 | 
			
		||||
	(*FindNodeClusterSystemServiceResponse)(nil),                       // 47: pb.FindNodeClusterSystemServiceResponse
 | 
			
		||||
	(*ExecuteNodeClusterHealthCheckResponse_Result)(nil),               // 48: pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
			
		||||
	(*NodeCluster)(nil),                                                // 49: pb.NodeCluster
 | 
			
		||||
	(*APINode)(nil),                                                    // 50: pb.APINode
 | 
			
		||||
	(*DNSDomain)(nil),                                                  // 51: pb.DNSDomain
 | 
			
		||||
	(*DNSProvider)(nil),                                                // 52: pb.DNSProvider
 | 
			
		||||
	(*Node)(nil),                                                       // 53: pb.Node
 | 
			
		||||
	(*RPCSuccess)(nil),                                                 // 54: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                                           // 55: pb.RPCCountResponse
 | 
			
		||||
	(*FindFreePortInNodeClusterRequest)(nil),                           // 48: pb.FindFreePortInNodeClusterRequest
 | 
			
		||||
	(*FindFreePortInNodeClusterResponse)(nil),                          // 49: pb.FindFreePortInNodeClusterResponse
 | 
			
		||||
	(*ExecuteNodeClusterHealthCheckResponse_Result)(nil),               // 50: pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
			
		||||
	(*NodeCluster)(nil),                                                // 51: pb.NodeCluster
 | 
			
		||||
	(*APINode)(nil),                                                    // 52: pb.APINode
 | 
			
		||||
	(*DNSDomain)(nil),                                                  // 53: pb.DNSDomain
 | 
			
		||||
	(*DNSProvider)(nil),                                                // 54: pb.DNSProvider
 | 
			
		||||
	(*Node)(nil),                                                       // 55: pb.Node
 | 
			
		||||
	(*RPCSuccess)(nil),                                                 // 56: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                                           // 57: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_node_cluster_proto_depIdxs = []int32{
 | 
			
		||||
	49, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	49, // 1: pb.FindAllChangedNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	49, // 2: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
 | 
			
		||||
	50, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
 | 
			
		||||
	49, // 4: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	48, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
			
		||||
	49, // 6: pb.FindAllEnabledNodeClustersWithGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	51, // 7: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
 | 
			
		||||
	52, // 8: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
 | 
			
		||||
	49, // 9: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	49, // 10: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	49, // 11: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	53, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
 | 
			
		||||
	51, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	51, // 1: pb.FindAllChangedNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	51, // 2: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
 | 
			
		||||
	52, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
 | 
			
		||||
	51, // 4: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	50, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
			
		||||
	51, // 6: pb.FindAllEnabledNodeClustersWithGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	53, // 7: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
 | 
			
		||||
	54, // 8: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
 | 
			
		||||
	51, // 9: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	51, // 10: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	51, // 11: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
			
		||||
	55, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
 | 
			
		||||
	4,  // 13: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
 | 
			
		||||
	6,  // 14: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
 | 
			
		||||
	7,  // 15: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
 | 
			
		||||
@@ -3291,39 +3403,41 @@ var file_service_node_cluster_proto_depIdxs = []int32{
 | 
			
		||||
	44, // 41: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:input_type -> pb.UpdateNodeClusterHTTPFirewallPolicyIdRequest
 | 
			
		||||
	45, // 42: pb.NodeClusterService.updateNodeClusterSystemService:input_type -> pb.UpdateNodeClusterSystemServiceRequest
 | 
			
		||||
	46, // 43: pb.NodeClusterService.findNodeClusterSystemService:input_type -> pb.FindNodeClusterSystemServiceRequest
 | 
			
		||||
	5,  // 44: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
 | 
			
		||||
	54, // 45: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
 | 
			
		||||
	54, // 46: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
 | 
			
		||||
	9,  // 47: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
 | 
			
		||||
	11, // 48: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
 | 
			
		||||
	1,  // 49: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
 | 
			
		||||
	3,  // 50: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
 | 
			
		||||
	55, // 51: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
 | 
			
		||||
	14, // 52: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
 | 
			
		||||
	16, // 53: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
 | 
			
		||||
	54, // 54: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
 | 
			
		||||
	19, // 55: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
 | 
			
		||||
	55, // 56: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	22, // 57: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:output_type -> pb.FindAllEnabledNodeClustersWithGrantIdResponse
 | 
			
		||||
	24, // 58: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
 | 
			
		||||
	55, // 59: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	55, // 60: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	28, // 61: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
 | 
			
		||||
	30, // 62: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
 | 
			
		||||
	54, // 63: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
 | 
			
		||||
	33, // 64: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
 | 
			
		||||
	35, // 65: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
 | 
			
		||||
	54, // 66: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
 | 
			
		||||
	55, // 67: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	39, // 68: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
 | 
			
		||||
	55, // 69: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	42, // 70: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
 | 
			
		||||
	54, // 71: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
 | 
			
		||||
	54, // 72: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
 | 
			
		||||
	54, // 73: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
 | 
			
		||||
	47, // 74: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
 | 
			
		||||
	44, // [44:75] is the sub-list for method output_type
 | 
			
		||||
	13, // [13:44] is the sub-list for method input_type
 | 
			
		||||
	48, // 44: pb.NodeClusterService.findFreePortInNodeCluster:input_type -> pb.FindFreePortInNodeClusterRequest
 | 
			
		||||
	5,  // 45: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
 | 
			
		||||
	56, // 46: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
 | 
			
		||||
	56, // 47: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
 | 
			
		||||
	9,  // 48: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
 | 
			
		||||
	11, // 49: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
 | 
			
		||||
	1,  // 50: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
 | 
			
		||||
	3,  // 51: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
 | 
			
		||||
	57, // 52: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
 | 
			
		||||
	14, // 53: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
 | 
			
		||||
	16, // 54: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
 | 
			
		||||
	56, // 55: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
 | 
			
		||||
	19, // 56: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
 | 
			
		||||
	57, // 57: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	22, // 58: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:output_type -> pb.FindAllEnabledNodeClustersWithGrantIdResponse
 | 
			
		||||
	24, // 59: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
 | 
			
		||||
	57, // 60: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	57, // 61: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	28, // 62: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
 | 
			
		||||
	30, // 63: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
 | 
			
		||||
	56, // 64: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
 | 
			
		||||
	33, // 65: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
 | 
			
		||||
	35, // 66: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
 | 
			
		||||
	56, // 67: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
 | 
			
		||||
	57, // 68: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	39, // 69: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
 | 
			
		||||
	57, // 70: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	42, // 71: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
 | 
			
		||||
	56, // 72: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
 | 
			
		||||
	56, // 73: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
 | 
			
		||||
	56, // 74: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
 | 
			
		||||
	47, // 75: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
 | 
			
		||||
	49, // 76: pb.NodeClusterService.findFreePortInNodeCluster:output_type -> pb.FindFreePortInNodeClusterResponse
 | 
			
		||||
	45, // [45:77] is the sub-list for method output_type
 | 
			
		||||
	13, // [13:45] is the sub-list for method input_type
 | 
			
		||||
	13, // [13:13] is the sub-list for extension type_name
 | 
			
		||||
	13, // [13:13] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:13] is the sub-list for field type_name
 | 
			
		||||
@@ -3918,6 +4032,30 @@ func file_service_node_cluster_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_node_cluster_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindFreePortInNodeClusterRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_node_cluster_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindFreePortInNodeClusterResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_node_cluster_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -3936,7 +4074,7 @@ func file_service_node_cluster_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_node_cluster_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   49,
 | 
			
		||||
			NumMessages:   51,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -4024,6 +4162,8 @@ type NodeClusterServiceClient interface {
 | 
			
		||||
	UpdateNodeClusterSystemService(ctx context.Context, in *UpdateNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查找集群的系统服务设置
 | 
			
		||||
	FindNodeClusterSystemService(ctx context.Context, in *FindNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*FindNodeClusterSystemServiceResponse, error)
 | 
			
		||||
	// 获取集群中可以使用的端口
 | 
			
		||||
	FindFreePortInNodeCluster(ctx context.Context, in *FindFreePortInNodeClusterRequest, opts ...grpc.CallOption) (*FindFreePortInNodeClusterResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nodeClusterServiceClient struct {
 | 
			
		||||
@@ -4313,6 +4453,15 @@ func (c *nodeClusterServiceClient) FindNodeClusterSystemService(ctx context.Cont
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nodeClusterServiceClient) FindFreePortInNodeCluster(ctx context.Context, in *FindFreePortInNodeClusterRequest, opts ...grpc.CallOption) (*FindFreePortInNodeClusterResponse, error) {
 | 
			
		||||
	out := new(FindFreePortInNodeClusterResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findFreePortInNodeCluster", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NodeClusterServiceServer is the server API for NodeClusterService service.
 | 
			
		||||
type NodeClusterServiceServer interface {
 | 
			
		||||
	// 创建集群
 | 
			
		||||
@@ -4377,6 +4526,8 @@ type NodeClusterServiceServer interface {
 | 
			
		||||
	UpdateNodeClusterSystemService(context.Context, *UpdateNodeClusterSystemServiceRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查找集群的系统服务设置
 | 
			
		||||
	FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error)
 | 
			
		||||
	// 获取集群中可以使用的端口
 | 
			
		||||
	FindFreePortInNodeCluster(context.Context, *FindFreePortInNodeClusterRequest) (*FindFreePortInNodeClusterResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -4476,6 +4627,9 @@ func (*UnimplementedNodeClusterServiceServer) UpdateNodeClusterSystemService(con
 | 
			
		||||
func (*UnimplementedNodeClusterServiceServer) FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeClusterSystemService not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNodeClusterServiceServer) FindFreePortInNodeCluster(context.Context, *FindFreePortInNodeClusterRequest) (*FindFreePortInNodeClusterResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindFreePortInNodeCluster not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NodeClusterService_serviceDesc, srv)
 | 
			
		||||
@@ -5039,6 +5193,24 @@ func _NodeClusterService_FindNodeClusterSystemService_Handler(srv interface{}, c
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NodeClusterService_FindFreePortInNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindFreePortInNodeClusterRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NodeClusterServiceServer).FindFreePortInNodeCluster(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NodeClusterService/FindFreePortInNodeCluster",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NodeClusterServiceServer).FindFreePortInNodeCluster(ctx, req.(*FindFreePortInNodeClusterRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NodeClusterService",
 | 
			
		||||
	HandlerType: (*NodeClusterServiceServer)(nil),
 | 
			
		||||
@@ -5167,6 +5339,10 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "findNodeClusterSystemService",
 | 
			
		||||
			Handler:    _NodeClusterService_FindNodeClusterSystemService_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findFreePortInNodeCluster",
 | 
			
		||||
			Handler:    _NodeClusterService_FindFreePortInNodeCluster_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_node_cluster.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -1083,11 +1083,12 @@ type CountAllEnabledServersMatchRequest struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	GroupId      int64  `protobuf:"varint,1,opt,name=groupId,proto3" json:"groupId,omitempty"`
 | 
			
		||||
	Keyword      string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	UserId       int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	ClusterId    int64  `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
			
		||||
	AuditingFlag int32  `protobuf:"varint,5,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
			
		||||
	GroupId        int64  `protobuf:"varint,1,opt,name=groupId,proto3" json:"groupId,omitempty"`
 | 
			
		||||
	Keyword        string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	UserId         int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	ClusterId      int64  `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
			
		||||
	AuditingFlag   int32  `protobuf:"varint,5,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
			
		||||
	ProtocolFamily string `protobuf:"bytes,6,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountAllEnabledServersMatchRequest) Reset() {
 | 
			
		||||
@@ -1157,19 +1158,27 @@ func (x *CountAllEnabledServersMatchRequest) GetAuditingFlag() int32 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountAllEnabledServersMatchRequest) GetProtocolFamily() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProtocolFamily
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页服务
 | 
			
		||||
type ListEnabledServersMatchRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Offset       int64  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Size         int64  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
	GroupId      int64  `protobuf:"varint,3,opt,name=groupId,proto3" json:"groupId,omitempty"`
 | 
			
		||||
	Keyword      string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	UserId       int64  `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	ClusterId    int64  `protobuf:"varint,6,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
			
		||||
	AuditingFlag int32  `protobuf:"varint,7,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
			
		||||
	Offset         int64  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Size           int64  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
	GroupId        int64  `protobuf:"varint,3,opt,name=groupId,proto3" json:"groupId,omitempty"`
 | 
			
		||||
	Keyword        string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	UserId         int64  `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	ClusterId      int64  `protobuf:"varint,6,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
			
		||||
	AuditingFlag   int32  `protobuf:"varint,7,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
			
		||||
	ProtocolFamily string `protobuf:"bytes,8,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledServersMatchRequest) Reset() {
 | 
			
		||||
@@ -1253,6 +1262,13 @@ func (x *ListEnabledServersMatchRequest) GetAuditingFlag() int32 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledServersMatchRequest) GetProtocolFamily() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProtocolFamily
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListEnabledServersMatchResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -2551,6 +2567,157 @@ func (x *FindAllEnabledServerNamesWithUserIdResponse) GetServerNames() []string
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找用户服务基本信息
 | 
			
		||||
type FindEnabledUserServerBasicRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledUserServerBasicRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_server_proto_msgTypes[45]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserServerBasicRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_server_proto_msgTypes[45]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledUserServerBasicRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserServerBasicRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_server_proto_rawDescGZIP(), []int{45}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicRequest) GetServerId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ServerId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindEnabledUserServerBasicResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledUserServerBasicResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_server_proto_msgTypes[46]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserServerBasicResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_server_proto_msgTypes[46]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledUserServerBasicResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserServerBasicResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_server_proto_rawDescGZIP(), []int{46}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserServerBasicResponse) GetServer() *Server {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Server
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改用户服务基本信息
 | 
			
		||||
type UpdateEnabledUserServerBasicRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	ServerId int64  `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
 | 
			
		||||
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateEnabledUserServerBasicRequest) Reset() {
 | 
			
		||||
	*x = UpdateEnabledUserServerBasicRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_server_proto_msgTypes[47]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateEnabledUserServerBasicRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateEnabledUserServerBasicRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateEnabledUserServerBasicRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_server_proto_msgTypes[47]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdateEnabledUserServerBasicRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateEnabledUserServerBasicRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_server_proto_rawDescGZIP(), []int{47}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateEnabledUserServerBasicRequest) GetServerId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ServerId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateEnabledUserServerBasicRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_server_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_server_proto_rawDesc = []byte{
 | 
			
		||||
@@ -2692,7 +2859,7 @@ var file_service_server_proto_rawDesc = []byte{
 | 
			
		||||
	0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x61, 0x75, 0x64,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x22,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x22,
 | 
			
		||||
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
@@ -2704,20 +2871,25 @@ var file_service_server_proto_rawDesc = []byte{
 | 
			
		||||
	0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c,
 | 
			
		||||
	0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x05, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67,
 | 
			
		||||
	0x22, 0xda, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73,
 | 
			
		||||
	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79,
 | 
			
		||||
	0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77,
 | 
			
		||||
	0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
 | 
			
		||||
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x64,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
 | 
			
		||||
	0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x47, 0x0a,
 | 
			
		||||
	0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69,
 | 
			
		||||
	0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
 | 
			
		||||
	0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x82, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d,
 | 
			
		||||
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
 | 
			
		||||
	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66,
 | 
			
		||||
	0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
 | 
			
		||||
	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61,
 | 
			
		||||
	0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e,
 | 
			
		||||
	0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
 | 
			
		||||
	0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x47, 0x0a,
 | 
			
		||||
	0x1f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x24, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
			
		||||
@@ -2836,179 +3008,206 @@ var file_service_server_proto_rawDesc = []byte{
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a,
 | 
			
		||||
	0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x32,
 | 
			
		||||
	0xa9, 0x15, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x12, 0x1b, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x1c,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x43, 0x50, 0x12,
 | 
			
		||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x54, 0x43, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x12, 0x1a,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x54, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x1b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x55, 0x6e, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x44, 0x50, 0x12, 0x1a,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x55, 0x44, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x12, 0x1a, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
			
		||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72,
 | 
			
		||||
	0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22,
 | 
			
		||||
	0x3f, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x22, 0x48, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x55, 0x0a, 0x23, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a,
 | 
			
		||||
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x32, 0xef, 0x16, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41, 0x75,
 | 
			
		||||
	0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41, 0x75, 0x64,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1b,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d,
 | 
			
		||||
	0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63,
 | 
			
		||||
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a,
 | 
			
		||||
	0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e,
 | 
			
		||||
	0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
 | 
			
		||||
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79,
 | 
			
		||||
	0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66,
 | 
			
		||||
	0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49,
 | 
			
		||||
	0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
			
		||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49,
 | 
			
		||||
	0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
			
		||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e,
 | 
			
		||||
	0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
			
		||||
	0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e,
 | 
			
		||||
	0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
			
		||||
	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53,
 | 
			
		||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01,
 | 
			
		||||
	0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x27, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
			
		||||
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x21, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x2e,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73,
 | 
			
		||||
	0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x12, 0x1b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53,
 | 
			
		||||
	0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d,
 | 
			
		||||
	0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x43,
 | 
			
		||||
	0x50, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x54, 0x43, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a,
 | 
			
		||||
	0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53,
 | 
			
		||||
	0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x54, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x78,
 | 
			
		||||
	0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x55, 0x6e, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a,
 | 
			
		||||
	0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x44, 0x50,
 | 
			
		||||
	0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x55, 0x44, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x12,
 | 
			
		||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
			
		||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
 | 
			
		||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41,
 | 
			
		||||
	0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b,
 | 
			
		||||
	0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f,
 | 
			
		||||
	0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x56, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
 | 
			
		||||
	0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
 | 
			
		||||
	0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x4e,
 | 
			
		||||
	0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61,
 | 
			
		||||
	0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12,
 | 
			
		||||
	0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43,
 | 
			
		||||
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
 | 
			
		||||
	0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c,
 | 
			
		||||
	0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79,
 | 
			
		||||
	0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a,
 | 
			
		||||
	0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f,
 | 
			
		||||
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e,
 | 
			
		||||
	0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e,
 | 
			
		||||
	0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64,
 | 
			
		||||
	0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e,
 | 
			
		||||
	0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64,
 | 
			
		||||
	0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e,
 | 
			
		||||
	0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x27, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x21, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47,
 | 
			
		||||
	0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
			
		||||
	0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
 | 
			
		||||
	0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e,
 | 
			
		||||
	0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44,
 | 
			
		||||
	0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a,
 | 
			
		||||
	0x1a, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x25, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73,
 | 
			
		||||
	0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -3023,7 +3222,7 @@ func file_service_server_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_server_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_server_proto_msgTypes = make([]protoimpl.MessageInfo, 45)
 | 
			
		||||
var file_service_server_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
 | 
			
		||||
var file_service_server_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateServerRequest)(nil),                            // 0: pb.CreateServerRequest
 | 
			
		||||
	(*CreateServerResponse)(nil),                           // 1: pb.CreateServerResponse
 | 
			
		||||
@@ -3070,87 +3269,95 @@ var file_service_server_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CheckUserServerRequest)(nil),                         // 42: pb.CheckUserServerRequest
 | 
			
		||||
	(*FindAllEnabledServerNamesWithUserIdRequest)(nil),     // 43: pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
			
		||||
	(*FindAllEnabledServerNamesWithUserIdResponse)(nil),    // 44: pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
			
		||||
	(*ServerNameAuditingResult)(nil),                       // 45: pb.ServerNameAuditingResult
 | 
			
		||||
	(*Server)(nil),                                         // 46: pb.Server
 | 
			
		||||
	(*DNSDomain)(nil),                                      // 47: pb.DNSDomain
 | 
			
		||||
	(*RPCSuccess)(nil),                                     // 48: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                               // 49: pb.RPCCountResponse
 | 
			
		||||
	(*FindEnabledUserServerBasicRequest)(nil),              // 45: pb.FindEnabledUserServerBasicRequest
 | 
			
		||||
	(*FindEnabledUserServerBasicResponse)(nil),             // 46: pb.FindEnabledUserServerBasicResponse
 | 
			
		||||
	(*UpdateEnabledUserServerBasicRequest)(nil),            // 47: pb.UpdateEnabledUserServerBasicRequest
 | 
			
		||||
	(*ServerNameAuditingResult)(nil),                       // 48: pb.ServerNameAuditingResult
 | 
			
		||||
	(*Server)(nil),                                         // 49: pb.Server
 | 
			
		||||
	(*DNSDomain)(nil),                                      // 50: pb.DNSDomain
 | 
			
		||||
	(*RPCSuccess)(nil),                                     // 51: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                               // 52: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_server_proto_depIdxs = []int32{
 | 
			
		||||
	45, // 0: pb.FindServerNamesResponse.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
			
		||||
	45, // 1: pb.UpdateServerNamesAuditingRequest.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
			
		||||
	46, // 2: pb.ListEnabledServersMatchResponse.servers:type_name -> pb.Server
 | 
			
		||||
	46, // 3: pb.FindEnabledServerResponse.server:type_name -> pb.Server
 | 
			
		||||
	46, // 4: pb.FindAllEnabledServersWithSSLCertIdResponse.servers:type_name -> pb.Server
 | 
			
		||||
	48, // 0: pb.FindServerNamesResponse.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
			
		||||
	48, // 1: pb.UpdateServerNamesAuditingRequest.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
			
		||||
	49, // 2: pb.ListEnabledServersMatchResponse.servers:type_name -> pb.Server
 | 
			
		||||
	49, // 3: pb.FindEnabledServerResponse.server:type_name -> pb.Server
 | 
			
		||||
	49, // 4: pb.FindAllEnabledServersWithSSLCertIdResponse.servers:type_name -> pb.Server
 | 
			
		||||
	39, // 5: pb.FindAllEnabledServersDNSWithClusterIdResponse.servers:type_name -> pb.ServerDNSInfo
 | 
			
		||||
	47, // 6: pb.FindEnabledServerDNSResponse.domain:type_name -> pb.DNSDomain
 | 
			
		||||
	0,  // 7: pb.ServerService.createServer:input_type -> pb.CreateServerRequest
 | 
			
		||||
	2,  // 8: pb.ServerService.updateServerBasic:input_type -> pb.UpdateServerBasicRequest
 | 
			
		||||
	3,  // 9: pb.ServerService.updateServerIsOn:input_type -> pb.UpdateServerIsOnRequest
 | 
			
		||||
	4,  // 10: pb.ServerService.updateServerHTTP:input_type -> pb.UpdateServerHTTPRequest
 | 
			
		||||
	5,  // 11: pb.ServerService.updateServerHTTPS:input_type -> pb.UpdateServerHTTPSRequest
 | 
			
		||||
	6,  // 12: pb.ServerService.updateServerTCP:input_type -> pb.UpdateServerTCPRequest
 | 
			
		||||
	7,  // 13: pb.ServerService.updateServerTLS:input_type -> pb.UpdateServerTLSRequest
 | 
			
		||||
	8,  // 14: pb.ServerService.updateServerUnix:input_type -> pb.UpdateServerUnixRequest
 | 
			
		||||
	9,  // 15: pb.ServerService.updateServerUDP:input_type -> pb.UpdateServerUDPRequest
 | 
			
		||||
	10, // 16: pb.ServerService.updateServerWeb:input_type -> pb.UpdateServerWebRequest
 | 
			
		||||
	11, // 17: pb.ServerService.updateServerReverseProxy:input_type -> pb.UpdateServerReverseProxyRequest
 | 
			
		||||
	12, // 18: pb.ServerService.findServerNames:input_type -> pb.FindServerNamesRequest
 | 
			
		||||
	14, // 19: pb.ServerService.updateServerNames:input_type -> pb.UpdateServerNamesRequest
 | 
			
		||||
	15, // 20: pb.ServerService.updateServerNamesAuditing:input_type -> pb.UpdateServerNamesAuditingRequest
 | 
			
		||||
	16, // 21: pb.ServerService.countAllEnabledServersMatch:input_type -> pb.CountAllEnabledServersMatchRequest
 | 
			
		||||
	17, // 22: pb.ServerService.listEnabledServersMatch:input_type -> pb.ListEnabledServersMatchRequest
 | 
			
		||||
	19, // 23: pb.ServerService.deleteServer:input_type -> pb.DeleteServerRequest
 | 
			
		||||
	20, // 24: pb.ServerService.findEnabledServer:input_type -> pb.FindEnabledServerRequest
 | 
			
		||||
	22, // 25: pb.ServerService.findEnabledServerConfig:input_type -> pb.FindEnabledServerConfigRequest
 | 
			
		||||
	24, // 26: pb.ServerService.findEnabledServerType:input_type -> pb.FindEnabledServerTypeRequest
 | 
			
		||||
	26, // 27: pb.ServerService.findAndInitServerReverseProxyConfig:input_type -> pb.FindAndInitServerReverseProxyConfigRequest
 | 
			
		||||
	28, // 28: pb.ServerService.findAndInitServerWebConfig:input_type -> pb.FindAndInitServerWebConfigRequest
 | 
			
		||||
	30, // 29: pb.ServerService.countAllEnabledServersWithSSLCertId:input_type -> pb.CountAllEnabledServersWithSSLCertIdRequest
 | 
			
		||||
	31, // 30: pb.ServerService.findAllEnabledServersWithSSLCertId:input_type -> pb.FindAllEnabledServersWithSSLCertIdRequest
 | 
			
		||||
	33, // 31: pb.ServerService.countAllEnabledServersWithNodeClusterId:input_type -> pb.CountAllEnabledServersWithNodeClusterIdRequest
 | 
			
		||||
	34, // 32: pb.ServerService.countAllEnabledServersWithGroupId:input_type -> pb.CountAllEnabledServersWithGroupIdRequest
 | 
			
		||||
	35, // 33: pb.ServerService.notifyServersChange:input_type -> pb.NotifyServersChangeRequest
 | 
			
		||||
	37, // 34: pb.ServerService.findAllEnabledServersDNSWithClusterId:input_type -> pb.FindAllEnabledServersDNSWithClusterIdRequest
 | 
			
		||||
	40, // 35: pb.ServerService.findEnabledServerDNS:input_type -> pb.FindEnabledServerDNSRequest
 | 
			
		||||
	42, // 36: pb.ServerService.checkUserServer:input_type -> pb.CheckUserServerRequest
 | 
			
		||||
	43, // 37: pb.ServerService.findAllEnabledServerNamesWithUserId:input_type -> pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
			
		||||
	1,  // 38: pb.ServerService.createServer:output_type -> pb.CreateServerResponse
 | 
			
		||||
	48, // 39: pb.ServerService.updateServerBasic:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 40: pb.ServerService.updateServerIsOn:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 41: pb.ServerService.updateServerHTTP:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 42: pb.ServerService.updateServerHTTPS:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 43: pb.ServerService.updateServerTCP:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 44: pb.ServerService.updateServerTLS:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 45: pb.ServerService.updateServerUnix:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 46: pb.ServerService.updateServerUDP:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 47: pb.ServerService.updateServerWeb:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 48: pb.ServerService.updateServerReverseProxy:output_type -> pb.RPCSuccess
 | 
			
		||||
	13, // 49: pb.ServerService.findServerNames:output_type -> pb.FindServerNamesResponse
 | 
			
		||||
	48, // 50: pb.ServerService.updateServerNames:output_type -> pb.RPCSuccess
 | 
			
		||||
	48, // 51: pb.ServerService.updateServerNamesAuditing:output_type -> pb.RPCSuccess
 | 
			
		||||
	49, // 52: pb.ServerService.countAllEnabledServersMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	18, // 53: pb.ServerService.listEnabledServersMatch:output_type -> pb.ListEnabledServersMatchResponse
 | 
			
		||||
	48, // 54: pb.ServerService.deleteServer:output_type -> pb.RPCSuccess
 | 
			
		||||
	21, // 55: pb.ServerService.findEnabledServer:output_type -> pb.FindEnabledServerResponse
 | 
			
		||||
	23, // 56: pb.ServerService.findEnabledServerConfig:output_type -> pb.FindEnabledServerConfigResponse
 | 
			
		||||
	25, // 57: pb.ServerService.findEnabledServerType:output_type -> pb.FindEnabledServerTypeResponse
 | 
			
		||||
	27, // 58: pb.ServerService.findAndInitServerReverseProxyConfig:output_type -> pb.FindAndInitServerReverseProxyConfigResponse
 | 
			
		||||
	29, // 59: pb.ServerService.findAndInitServerWebConfig:output_type -> pb.FindAndInitServerWebConfigResponse
 | 
			
		||||
	49, // 60: pb.ServerService.countAllEnabledServersWithSSLCertId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	32, // 61: pb.ServerService.findAllEnabledServersWithSSLCertId:output_type -> pb.FindAllEnabledServersWithSSLCertIdResponse
 | 
			
		||||
	49, // 62: pb.ServerService.countAllEnabledServersWithNodeClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	49, // 63: pb.ServerService.countAllEnabledServersWithGroupId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	36, // 64: pb.ServerService.notifyServersChange:output_type -> pb.NotifyServersChangeResponse
 | 
			
		||||
	38, // 65: pb.ServerService.findAllEnabledServersDNSWithClusterId:output_type -> pb.FindAllEnabledServersDNSWithClusterIdResponse
 | 
			
		||||
	41, // 66: pb.ServerService.findEnabledServerDNS:output_type -> pb.FindEnabledServerDNSResponse
 | 
			
		||||
	48, // 67: pb.ServerService.checkUserServer:output_type -> pb.RPCSuccess
 | 
			
		||||
	44, // 68: pb.ServerService.findAllEnabledServerNamesWithUserId:output_type -> pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
			
		||||
	38, // [38:69] is the sub-list for method output_type
 | 
			
		||||
	7,  // [7:38] is the sub-list for method input_type
 | 
			
		||||
	7,  // [7:7] is the sub-list for extension type_name
 | 
			
		||||
	7,  // [7:7] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:7] is the sub-list for field type_name
 | 
			
		||||
	50, // 6: pb.FindEnabledServerDNSResponse.domain:type_name -> pb.DNSDomain
 | 
			
		||||
	49, // 7: pb.FindEnabledUserServerBasicResponse.server:type_name -> pb.Server
 | 
			
		||||
	0,  // 8: pb.ServerService.createServer:input_type -> pb.CreateServerRequest
 | 
			
		||||
	2,  // 9: pb.ServerService.updateServerBasic:input_type -> pb.UpdateServerBasicRequest
 | 
			
		||||
	3,  // 10: pb.ServerService.updateServerIsOn:input_type -> pb.UpdateServerIsOnRequest
 | 
			
		||||
	4,  // 11: pb.ServerService.updateServerHTTP:input_type -> pb.UpdateServerHTTPRequest
 | 
			
		||||
	5,  // 12: pb.ServerService.updateServerHTTPS:input_type -> pb.UpdateServerHTTPSRequest
 | 
			
		||||
	6,  // 13: pb.ServerService.updateServerTCP:input_type -> pb.UpdateServerTCPRequest
 | 
			
		||||
	7,  // 14: pb.ServerService.updateServerTLS:input_type -> pb.UpdateServerTLSRequest
 | 
			
		||||
	8,  // 15: pb.ServerService.updateServerUnix:input_type -> pb.UpdateServerUnixRequest
 | 
			
		||||
	9,  // 16: pb.ServerService.updateServerUDP:input_type -> pb.UpdateServerUDPRequest
 | 
			
		||||
	10, // 17: pb.ServerService.updateServerWeb:input_type -> pb.UpdateServerWebRequest
 | 
			
		||||
	11, // 18: pb.ServerService.updateServerReverseProxy:input_type -> pb.UpdateServerReverseProxyRequest
 | 
			
		||||
	12, // 19: pb.ServerService.findServerNames:input_type -> pb.FindServerNamesRequest
 | 
			
		||||
	14, // 20: pb.ServerService.updateServerNames:input_type -> pb.UpdateServerNamesRequest
 | 
			
		||||
	15, // 21: pb.ServerService.updateServerNamesAuditing:input_type -> pb.UpdateServerNamesAuditingRequest
 | 
			
		||||
	16, // 22: pb.ServerService.countAllEnabledServersMatch:input_type -> pb.CountAllEnabledServersMatchRequest
 | 
			
		||||
	17, // 23: pb.ServerService.listEnabledServersMatch:input_type -> pb.ListEnabledServersMatchRequest
 | 
			
		||||
	19, // 24: pb.ServerService.deleteServer:input_type -> pb.DeleteServerRequest
 | 
			
		||||
	20, // 25: pb.ServerService.findEnabledServer:input_type -> pb.FindEnabledServerRequest
 | 
			
		||||
	22, // 26: pb.ServerService.findEnabledServerConfig:input_type -> pb.FindEnabledServerConfigRequest
 | 
			
		||||
	24, // 27: pb.ServerService.findEnabledServerType:input_type -> pb.FindEnabledServerTypeRequest
 | 
			
		||||
	26, // 28: pb.ServerService.findAndInitServerReverseProxyConfig:input_type -> pb.FindAndInitServerReverseProxyConfigRequest
 | 
			
		||||
	28, // 29: pb.ServerService.findAndInitServerWebConfig:input_type -> pb.FindAndInitServerWebConfigRequest
 | 
			
		||||
	30, // 30: pb.ServerService.countAllEnabledServersWithSSLCertId:input_type -> pb.CountAllEnabledServersWithSSLCertIdRequest
 | 
			
		||||
	31, // 31: pb.ServerService.findAllEnabledServersWithSSLCertId:input_type -> pb.FindAllEnabledServersWithSSLCertIdRequest
 | 
			
		||||
	33, // 32: pb.ServerService.countAllEnabledServersWithNodeClusterId:input_type -> pb.CountAllEnabledServersWithNodeClusterIdRequest
 | 
			
		||||
	34, // 33: pb.ServerService.countAllEnabledServersWithGroupId:input_type -> pb.CountAllEnabledServersWithGroupIdRequest
 | 
			
		||||
	35, // 34: pb.ServerService.notifyServersChange:input_type -> pb.NotifyServersChangeRequest
 | 
			
		||||
	37, // 35: pb.ServerService.findAllEnabledServersDNSWithClusterId:input_type -> pb.FindAllEnabledServersDNSWithClusterIdRequest
 | 
			
		||||
	40, // 36: pb.ServerService.findEnabledServerDNS:input_type -> pb.FindEnabledServerDNSRequest
 | 
			
		||||
	42, // 37: pb.ServerService.checkUserServer:input_type -> pb.CheckUserServerRequest
 | 
			
		||||
	43, // 38: pb.ServerService.findAllEnabledServerNamesWithUserId:input_type -> pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
			
		||||
	45, // 39: pb.ServerService.findEnabledUserServerBasic:input_type -> pb.FindEnabledUserServerBasicRequest
 | 
			
		||||
	47, // 40: pb.ServerService.updateEnabledUserServerBasic:input_type -> pb.UpdateEnabledUserServerBasicRequest
 | 
			
		||||
	1,  // 41: pb.ServerService.createServer:output_type -> pb.CreateServerResponse
 | 
			
		||||
	51, // 42: pb.ServerService.updateServerBasic:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 43: pb.ServerService.updateServerIsOn:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 44: pb.ServerService.updateServerHTTP:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 45: pb.ServerService.updateServerHTTPS:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 46: pb.ServerService.updateServerTCP:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 47: pb.ServerService.updateServerTLS:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 48: pb.ServerService.updateServerUnix:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 49: pb.ServerService.updateServerUDP:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 50: pb.ServerService.updateServerWeb:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 51: pb.ServerService.updateServerReverseProxy:output_type -> pb.RPCSuccess
 | 
			
		||||
	13, // 52: pb.ServerService.findServerNames:output_type -> pb.FindServerNamesResponse
 | 
			
		||||
	51, // 53: pb.ServerService.updateServerNames:output_type -> pb.RPCSuccess
 | 
			
		||||
	51, // 54: pb.ServerService.updateServerNamesAuditing:output_type -> pb.RPCSuccess
 | 
			
		||||
	52, // 55: pb.ServerService.countAllEnabledServersMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	18, // 56: pb.ServerService.listEnabledServersMatch:output_type -> pb.ListEnabledServersMatchResponse
 | 
			
		||||
	51, // 57: pb.ServerService.deleteServer:output_type -> pb.RPCSuccess
 | 
			
		||||
	21, // 58: pb.ServerService.findEnabledServer:output_type -> pb.FindEnabledServerResponse
 | 
			
		||||
	23, // 59: pb.ServerService.findEnabledServerConfig:output_type -> pb.FindEnabledServerConfigResponse
 | 
			
		||||
	25, // 60: pb.ServerService.findEnabledServerType:output_type -> pb.FindEnabledServerTypeResponse
 | 
			
		||||
	27, // 61: pb.ServerService.findAndInitServerReverseProxyConfig:output_type -> pb.FindAndInitServerReverseProxyConfigResponse
 | 
			
		||||
	29, // 62: pb.ServerService.findAndInitServerWebConfig:output_type -> pb.FindAndInitServerWebConfigResponse
 | 
			
		||||
	52, // 63: pb.ServerService.countAllEnabledServersWithSSLCertId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	32, // 64: pb.ServerService.findAllEnabledServersWithSSLCertId:output_type -> pb.FindAllEnabledServersWithSSLCertIdResponse
 | 
			
		||||
	52, // 65: pb.ServerService.countAllEnabledServersWithNodeClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	52, // 66: pb.ServerService.countAllEnabledServersWithGroupId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	36, // 67: pb.ServerService.notifyServersChange:output_type -> pb.NotifyServersChangeResponse
 | 
			
		||||
	38, // 68: pb.ServerService.findAllEnabledServersDNSWithClusterId:output_type -> pb.FindAllEnabledServersDNSWithClusterIdResponse
 | 
			
		||||
	41, // 69: pb.ServerService.findEnabledServerDNS:output_type -> pb.FindEnabledServerDNSResponse
 | 
			
		||||
	51, // 70: pb.ServerService.checkUserServer:output_type -> pb.RPCSuccess
 | 
			
		||||
	44, // 71: pb.ServerService.findAllEnabledServerNamesWithUserId:output_type -> pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
			
		||||
	46, // 72: pb.ServerService.findEnabledUserServerBasic:output_type -> pb.FindEnabledUserServerBasicResponse
 | 
			
		||||
	51, // 73: pb.ServerService.updateEnabledUserServerBasic:output_type -> pb.RPCSuccess
 | 
			
		||||
	41, // [41:74] is the sub-list for method output_type
 | 
			
		||||
	8,  // [8:41] is the sub-list for method input_type
 | 
			
		||||
	8,  // [8:8] is the sub-list for extension type_name
 | 
			
		||||
	8,  // [8:8] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:8] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_server_proto_init() }
 | 
			
		||||
@@ -3703,6 +3910,42 @@ func file_service_server_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserServerBasicRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserServerBasicResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateEnabledUserServerBasicRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
@@ -3710,7 +3953,7 @@ func file_service_server_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_server_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   45,
 | 
			
		||||
			NumMessages:   48,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -3798,6 +4041,10 @@ type ServerServiceClient interface {
 | 
			
		||||
	CheckUserServer(ctx context.Context, in *CheckUserServerRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查找一个用户下的所有域名列表
 | 
			
		||||
	FindAllEnabledServerNamesWithUserId(ctx context.Context, in *FindAllEnabledServerNamesWithUserIdRequest, opts ...grpc.CallOption) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
			
		||||
	// 查找用户服务基本信息
 | 
			
		||||
	FindEnabledUserServerBasic(ctx context.Context, in *FindEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*FindEnabledUserServerBasicResponse, error)
 | 
			
		||||
	// 修改用户服务基本信息
 | 
			
		||||
	UpdateEnabledUserServerBasic(ctx context.Context, in *UpdateEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type serverServiceClient struct {
 | 
			
		||||
@@ -4087,6 +4334,24 @@ func (c *serverServiceClient) FindAllEnabledServerNamesWithUserId(ctx context.Co
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *serverServiceClient) FindEnabledUserServerBasic(ctx context.Context, in *FindEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*FindEnabledUserServerBasicResponse, error) {
 | 
			
		||||
	out := new(FindEnabledUserServerBasicResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.ServerService/findEnabledUserServerBasic", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *serverServiceClient) UpdateEnabledUserServerBasic(ctx context.Context, in *UpdateEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.ServerService/updateEnabledUserServerBasic", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ServerServiceServer is the server API for ServerService service.
 | 
			
		||||
type ServerServiceServer interface {
 | 
			
		||||
	// 创建服务
 | 
			
		||||
@@ -4151,6 +4416,10 @@ type ServerServiceServer interface {
 | 
			
		||||
	CheckUserServer(context.Context, *CheckUserServerRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查找一个用户下的所有域名列表
 | 
			
		||||
	FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
			
		||||
	// 查找用户服务基本信息
 | 
			
		||||
	FindEnabledUserServerBasic(context.Context, *FindEnabledUserServerBasicRequest) (*FindEnabledUserServerBasicResponse, error)
 | 
			
		||||
	// 修改用户服务基本信息
 | 
			
		||||
	UpdateEnabledUserServerBasic(context.Context, *UpdateEnabledUserServerBasicRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedServerServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -4250,6 +4519,12 @@ func (*UnimplementedServerServiceServer) CheckUserServer(context.Context, *Check
 | 
			
		||||
func (*UnimplementedServerServiceServer) FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledServerNamesWithUserId not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedServerServiceServer) FindEnabledUserServerBasic(context.Context, *FindEnabledUserServerBasicRequest) (*FindEnabledUserServerBasicResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserServerBasic not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedServerServiceServer) UpdateEnabledUserServerBasic(context.Context, *UpdateEnabledUserServerBasicRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateEnabledUserServerBasic not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterServerServiceServer(s *grpc.Server, srv ServerServiceServer) {
 | 
			
		||||
	s.RegisterService(&_ServerService_serviceDesc, srv)
 | 
			
		||||
@@ -4813,6 +5088,42 @@ func _ServerService_FindAllEnabledServerNamesWithUserId_Handler(srv interface{},
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _ServerService_FindEnabledUserServerBasic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindEnabledUserServerBasicRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(ServerServiceServer).FindEnabledUserServerBasic(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.ServerService/FindEnabledUserServerBasic",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(ServerServiceServer).FindEnabledUserServerBasic(ctx, req.(*FindEnabledUserServerBasicRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _ServerService_UpdateEnabledUserServerBasic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateEnabledUserServerBasicRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(ServerServiceServer).UpdateEnabledUserServerBasic(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.ServerService/UpdateEnabledUserServerBasic",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(ServerServiceServer).UpdateEnabledUserServerBasic(ctx, req.(*UpdateEnabledUserServerBasicRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _ServerService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.ServerService",
 | 
			
		||||
	HandlerType: (*ServerServiceServer)(nil),
 | 
			
		||||
@@ -4941,6 +5252,14 @@ var _ServerService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "findAllEnabledServerNamesWithUserId",
 | 
			
		||||
			Handler:    _ServerService_FindAllEnabledServerNamesWithUserId_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledUserServerBasic",
 | 
			
		||||
			Handler:    _ServerService_FindEnabledUserServerBasic_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateEnabledUserServerBasic",
 | 
			
		||||
			Handler:    _ServerService_UpdateEnabledUserServerBasic_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_server.proto",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										426
									
								
								pkg/rpc/pb/service_sys_locker.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										426
									
								
								pkg/rpc/pb/service_sys_locker.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,426 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: service_sys_locker.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion that a sufficiently up-to-date version
 | 
			
		||||
// of the legacy proto package is being used.
 | 
			
		||||
const _ = proto.ProtoPackageIsVersion4
 | 
			
		||||
 | 
			
		||||
// 获得锁
 | 
			
		||||
type SysLockerLockRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Key            string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
 | 
			
		||||
	TimeoutSeconds int64  `protobuf:"varint,2,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockRequest) Reset() {
 | 
			
		||||
	*x = SysLockerLockRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_sys_locker_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SysLockerLockRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_sys_locker_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SysLockerLockRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SysLockerLockRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_sys_locker_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockRequest) GetKey() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Key
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockRequest) GetTimeoutSeconds() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.TimeoutSeconds
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type SysLockerLockResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockResponse) Reset() {
 | 
			
		||||
	*x = SysLockerLockResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_sys_locker_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SysLockerLockResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_sys_locker_proto_msgTypes[1]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SysLockerLockResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SysLockerLockResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_sys_locker_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerLockResponse) GetOk() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Ok
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 释放锁
 | 
			
		||||
type SysLockerUnlockRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerUnlockRequest) Reset() {
 | 
			
		||||
	*x = SysLockerUnlockRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_sys_locker_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerUnlockRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SysLockerUnlockRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerUnlockRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_sys_locker_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SysLockerUnlockRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SysLockerUnlockRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_sys_locker_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SysLockerUnlockRequest) GetKey() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Key
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_sys_locker_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_sys_locker_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x6c, 0x6f,
 | 
			
		||||
	0x63, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x12,
 | 
			
		||||
	0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c,
 | 
			
		||||
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
 | 
			
		||||
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63,
 | 
			
		||||
	0x6f, 0x6e, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x15, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65,
 | 
			
		||||
	0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
 | 
			
		||||
	0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2a, 0x0a,
 | 
			
		||||
	0x16, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0x97, 0x01, 0x0a, 0x10, 0x53, 0x79,
 | 
			
		||||
	0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44,
 | 
			
		||||
	0x0a, 0x0d, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12,
 | 
			
		||||
	0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f,
 | 
			
		||||
	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53,
 | 
			
		||||
	0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65,
 | 
			
		||||
	0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x73,
 | 
			
		||||
	0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_sys_locker_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_sys_locker_proto_rawDescData = file_service_sys_locker_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_sys_locker_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_sys_locker_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_sys_locker_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_sys_locker_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_sys_locker_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_sys_locker_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
 | 
			
		||||
var file_service_sys_locker_proto_goTypes = []interface{}{
 | 
			
		||||
	(*SysLockerLockRequest)(nil),   // 0: pb.SysLockerLockRequest
 | 
			
		||||
	(*SysLockerLockResponse)(nil),  // 1: pb.SysLockerLockResponse
 | 
			
		||||
	(*SysLockerUnlockRequest)(nil), // 2: pb.SysLockerUnlockRequest
 | 
			
		||||
	(*RPCSuccess)(nil),             // 3: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_sys_locker_proto_depIdxs = []int32{
 | 
			
		||||
	0, // 0: pb.SysLockerService.SysLockerLock:input_type -> pb.SysLockerLockRequest
 | 
			
		||||
	2, // 1: pb.SysLockerService.SysLockerUnlock:input_type -> pb.SysLockerUnlockRequest
 | 
			
		||||
	1, // 2: pb.SysLockerService.SysLockerLock:output_type -> pb.SysLockerLockResponse
 | 
			
		||||
	3, // 3: pb.SysLockerService.SysLockerUnlock:output_type -> pb.RPCSuccess
 | 
			
		||||
	2, // [2:4] is the sub-list for method output_type
 | 
			
		||||
	0, // [0:2] is the sub-list for method input_type
 | 
			
		||||
	0, // [0:0] is the sub-list for extension type_name
 | 
			
		||||
	0, // [0:0] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:0] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_sys_locker_proto_init() }
 | 
			
		||||
func file_service_sys_locker_proto_init() {
 | 
			
		||||
	if File_service_sys_locker_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_sys_locker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SysLockerLockRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_sys_locker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SysLockerLockResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_sys_locker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SysLockerUnlockRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_sys_locker_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   3,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_sys_locker_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_sys_locker_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_sys_locker_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_sys_locker_proto = out.File
 | 
			
		||||
	file_service_sys_locker_proto_rawDesc = nil
 | 
			
		||||
	file_service_sys_locker_proto_goTypes = nil
 | 
			
		||||
	file_service_sys_locker_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Reference imports to suppress errors if they are not otherwise used.
 | 
			
		||||
var _ context.Context
 | 
			
		||||
var _ grpc.ClientConnInterface
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
 | 
			
		||||
// SysLockerServiceClient is the client API for SysLockerService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type SysLockerServiceClient interface {
 | 
			
		||||
	// 获得锁
 | 
			
		||||
	SysLockerLock(ctx context.Context, in *SysLockerLockRequest, opts ...grpc.CallOption) (*SysLockerLockResponse, error)
 | 
			
		||||
	// 释放锁
 | 
			
		||||
	SysLockerUnlock(ctx context.Context, in *SysLockerUnlockRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type sysLockerServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewSysLockerServiceClient(cc grpc.ClientConnInterface) SysLockerServiceClient {
 | 
			
		||||
	return &sysLockerServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *sysLockerServiceClient) SysLockerLock(ctx context.Context, in *SysLockerLockRequest, opts ...grpc.CallOption) (*SysLockerLockResponse, error) {
 | 
			
		||||
	out := new(SysLockerLockResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.SysLockerService/SysLockerLock", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *sysLockerServiceClient) SysLockerUnlock(ctx context.Context, in *SysLockerUnlockRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.SysLockerService/SysLockerUnlock", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SysLockerServiceServer is the server API for SysLockerService service.
 | 
			
		||||
type SysLockerServiceServer interface {
 | 
			
		||||
	// 获得锁
 | 
			
		||||
	SysLockerLock(context.Context, *SysLockerLockRequest) (*SysLockerLockResponse, error)
 | 
			
		||||
	// 释放锁
 | 
			
		||||
	SysLockerUnlock(context.Context, *SysLockerUnlockRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedSysLockerServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedSysLockerServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedSysLockerServiceServer) SysLockerLock(context.Context, *SysLockerLockRequest) (*SysLockerLockResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method SysLockerLock not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedSysLockerServiceServer) SysLockerUnlock(context.Context, *SysLockerUnlockRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method SysLockerUnlock not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterSysLockerServiceServer(s *grpc.Server, srv SysLockerServiceServer) {
 | 
			
		||||
	s.RegisterService(&_SysLockerService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _SysLockerService_SysLockerLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(SysLockerLockRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(SysLockerServiceServer).SysLockerLock(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.SysLockerService/SysLockerLock",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(SysLockerServiceServer).SysLockerLock(ctx, req.(*SysLockerLockRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _SysLockerService_SysLockerUnlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(SysLockerUnlockRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(SysLockerServiceServer).SysLockerUnlock(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.SysLockerService/SysLockerUnlock",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(SysLockerServiceServer).SysLockerUnlock(ctx, req.(*SysLockerUnlockRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _SysLockerService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.SysLockerService",
 | 
			
		||||
	HandlerType: (*SysLockerServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "SysLockerLock",
 | 
			
		||||
			Handler:    _SysLockerService_SysLockerLock_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "SysLockerUnlock",
 | 
			
		||||
			Handler:    _SysLockerService_SysLockerUnlock_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_sys_locker.proto",
 | 
			
		||||
}
 | 
			
		||||
@@ -103,6 +103,9 @@ service NodeClusterService {
 | 
			
		||||
 | 
			
		||||
	// 查找集群的系统服务设置
 | 
			
		||||
	rpc findNodeClusterSystemService (FindNodeClusterSystemServiceRequest) returns (FindNodeClusterSystemServiceResponse);
 | 
			
		||||
 | 
			
		||||
	// 获取集群中可以使用的端口
 | 
			
		||||
	rpc findFreePortInNodeCluster (FindFreePortInNodeClusterRequest) returns (FindFreePortInNodeClusterResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取所有集群的信息
 | 
			
		||||
@@ -365,4 +368,13 @@ message FindNodeClusterSystemServiceRequest {
 | 
			
		||||
 | 
			
		||||
message FindNodeClusterSystemServiceResponse {
 | 
			
		||||
	bytes paramsJSON = 1;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取集群中可以使用的端口
 | 
			
		||||
message FindFreePortInNodeClusterRequest {
 | 
			
		||||
	int64 nodeClusterId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindFreePortInNodeClusterResponse {
 | 
			
		||||
	int32 port = 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -101,6 +101,12 @@ service ServerService {
 | 
			
		||||
 | 
			
		||||
	// 查找一个用户下的所有域名列表
 | 
			
		||||
	rpc findAllEnabledServerNamesWithUserId (FindAllEnabledServerNamesWithUserIdRequest) returns (FindAllEnabledServerNamesWithUserIdResponse);
 | 
			
		||||
 | 
			
		||||
	// 查找用户服务基本信息
 | 
			
		||||
	rpc findEnabledUserServerBasic (FindEnabledUserServerBasicRequest) returns (FindEnabledUserServerBasicResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改用户服务基本信息
 | 
			
		||||
	rpc updateEnabledUserServerBasic (UpdateEnabledUserServerBasicRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建服务
 | 
			
		||||
@@ -220,6 +226,7 @@ message CountAllEnabledServersMatchRequest {
 | 
			
		||||
	int64 userId = 3;
 | 
			
		||||
	int64 clusterId = 4;
 | 
			
		||||
	int32 auditingFlag = 5;
 | 
			
		||||
	string protocolFamily = 6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页服务
 | 
			
		||||
@@ -231,6 +238,7 @@ message ListEnabledServersMatchRequest {
 | 
			
		||||
	int64 userId = 5;
 | 
			
		||||
	int64 clusterId = 6;
 | 
			
		||||
	int32 auditingFlag = 7;
 | 
			
		||||
	string protocolFamily = 8;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListEnabledServersMatchResponse {
 | 
			
		||||
@@ -359,3 +367,18 @@ message FindAllEnabledServerNamesWithUserIdRequest {
 | 
			
		||||
message FindAllEnabledServerNamesWithUserIdResponse {
 | 
			
		||||
	repeated string serverNames = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找用户服务基本信息
 | 
			
		||||
message FindEnabledUserServerBasicRequest {
 | 
			
		||||
	int64 serverId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledUserServerBasicResponse {
 | 
			
		||||
	Server server = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改用户服务基本信息
 | 
			
		||||
message UpdateEnabledUserServerBasicRequest {
 | 
			
		||||
	int64 serverId = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										30
									
								
								pkg/rpc/protos/service_sys_locker.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								pkg/rpc/protos/service_sys_locker.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 互斥锁管理
 | 
			
		||||
service SysLockerService {
 | 
			
		||||
	// 获得锁
 | 
			
		||||
	rpc SysLockerLock (SysLockerLockRequest) returns (SysLockerLockResponse);
 | 
			
		||||
 | 
			
		||||
	// 释放锁
 | 
			
		||||
	rpc SysLockerUnlock (SysLockerUnlockRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获得锁
 | 
			
		||||
message SysLockerLockRequest {
 | 
			
		||||
	string key = 1;
 | 
			
		||||
	int64 timeoutSeconds = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message SysLockerLockResponse {
 | 
			
		||||
	bool ok = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 释放锁
 | 
			
		||||
message SysLockerUnlockRequest {
 | 
			
		||||
	string key = 1;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,5 +1,10 @@
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	DefaultTCPPortRangeMin = 10000
 | 
			
		||||
	DefaultTCPPortRangeMax = 40000
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 服务相关的全局设置
 | 
			
		||||
type GlobalConfig struct {
 | 
			
		||||
	// HTTP & HTTPS相关配置
 | 
			
		||||
@@ -14,11 +19,15 @@ type GlobalConfig struct {
 | 
			
		||||
 | 
			
		||||
	HTTP   struct{} `yaml:"http" json:"http"`
 | 
			
		||||
	HTTPS  struct{} `yaml:"https" json:"https"`
 | 
			
		||||
	TCPAll struct{} `yaml:"tcpAll" json:"tcpAll"`
 | 
			
		||||
	TCP    struct{} `yaml:"tcp" json:"tcp"`
 | 
			
		||||
	TLS    struct{} `yaml:"tls" json:"tls"`
 | 
			
		||||
	Unix   struct{} `yaml:"unix" json:"unix"`
 | 
			
		||||
	UDP    struct{} `yaml:"udp" json:"udp"`
 | 
			
		||||
	TCPAll struct {
 | 
			
		||||
		PortRangeMin int   `yaml:"portRangeMin" json:"portRangeMin"` // 最小端口
 | 
			
		||||
		PortRangeMax int   `yaml:"portRangeMax" json:"portRangeMax"` // 最大端口
 | 
			
		||||
		DenyPorts    []int `yaml:"denyPorts" json:"denyPorts"`       // 禁止使用的端口
 | 
			
		||||
	} `yaml:"tcpAll" json:"tcpAll"`
 | 
			
		||||
	TCP  struct{} `yaml:"tcp" json:"tcp"`
 | 
			
		||||
	TLS  struct{} `yaml:"tls" json:"tls"`
 | 
			
		||||
	Unix struct{} `yaml:"unix" json:"unix"`
 | 
			
		||||
	UDP  struct{} `yaml:"udp" json:"udp"`
 | 
			
		||||
 | 
			
		||||
	// IP库相关配置
 | 
			
		||||
	IPLibrary struct {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,17 @@ package serverconfigs
 | 
			
		||||
 | 
			
		||||
import "encoding/json"
 | 
			
		||||
 | 
			
		||||
func NewTCPProtocolConfigFromJSON(configJSON []byte) (*TCPProtocolConfig, error) {
 | 
			
		||||
	config := &TCPProtocolConfig{}
 | 
			
		||||
	if len(configJSON) > 0 {
 | 
			
		||||
		err := json.Unmarshal(configJSON, config)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return config, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type TCPProtocolConfig struct {
 | 
			
		||||
	BaseProtocol `yaml:",inline"`
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,20 @@
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewTLSProtocolConfigFromJSON(configJSON []byte) (*TLSProtocolConfig, error) {
 | 
			
		||||
	config := &TLSProtocolConfig{}
 | 
			
		||||
	if len(configJSON) > 0 {
 | 
			
		||||
		err := json.Unmarshal(configJSON, config)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return config, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TLS协议配置
 | 
			
		||||
type TLSProtocolConfig struct {
 | 
			
		||||
@@ -26,3 +40,8 @@ func (this *TLSProtocolConfig) Init() error {
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 转换为JSON
 | 
			
		||||
func (this *TLSProtocolConfig) AsJSON() ([]byte, error) {
 | 
			
		||||
	return json.Marshal(this)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import "encoding/json"
 | 
			
		||||
 | 
			
		||||
type UDPProtocolConfig struct {
 | 
			
		||||
	BaseProtocol `yaml:",inline"`
 | 
			
		||||
}
 | 
			
		||||
@@ -12,3 +14,8 @@ func (this *UDPProtocolConfig) Init() error {
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 转换为JSON
 | 
			
		||||
func (this *UDPProtocolConfig) AsJSON() ([]byte, error) {
 | 
			
		||||
	return json.Marshal(this)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import "encoding/json"
 | 
			
		||||
 | 
			
		||||
type UnixProtocolConfig struct {
 | 
			
		||||
	BaseProtocol `yaml:",inline"`
 | 
			
		||||
}
 | 
			
		||||
@@ -12,3 +14,8 @@ func (this *UnixProtocolConfig) Init() error {
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 转换为JSON
 | 
			
		||||
func (this *UnixProtocolConfig) AsJSON() ([]byte, error) {
 | 
			
		||||
	return json.Marshal(this)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user