blob: 82663b751a0612db85fb30542a7fe7974af25590 [file] [log] [blame]
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v4.25.3
// source: google/cloud/discoveryengine/v1alpha/conversational_search_service.proto
package discoveryenginepb
import (
context "context"
reflect "reflect"
sync "sync"
_ "google.golang.org/genproto/googleapis/api/annotations"
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"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)
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)
)
// Query classification types.
type AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type int32
const (
// Unspecified query classification type.
AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_TYPE_UNSPECIFIED AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type = 0
// Adversarial query classification type.
AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_ADVERSARIAL_QUERY AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type = 1
// Non-answer-seeking query classification type.
AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_NON_ANSWER_SEEKING_QUERY AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type = 2
)
// Enum value maps for AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type.
var (
AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type_name = map[int32]string{
0: "TYPE_UNSPECIFIED",
1: "ADVERSARIAL_QUERY",
2: "NON_ANSWER_SEEKING_QUERY",
}
AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type_value = map[string]int32{
"TYPE_UNSPECIFIED": 0,
"ADVERSARIAL_QUERY": 1,
"NON_ANSWER_SEEKING_QUERY": 2,
}
)
func (x AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) Enum() *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type {
p := new(AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type)
*p = x
return p
}
func (x AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_enumTypes[0].Descriptor()
}
func (AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) Type() protoreflect.EnumType {
return &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_enumTypes[0]
}
func (x AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type.Descriptor instead.
func (AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 4, 0, 0}
}
// Request message for
// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation]
// method.
type ConverseConversationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Conversation to get. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`.
// Use
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/-`
// to activate auto session mode, which automatically creates a new
// conversation inside a ConverseConversation session.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Current user input.
Query *TextInput `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
// The resource name of the Serving Config to use. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}`
// If this is not set, the default serving config will be used.
ServingConfig string `protobuf:"bytes,3,opt,name=serving_config,json=servingConfig,proto3" json:"serving_config,omitempty"`
// The conversation to be used by auto session only. The name field will be
// ignored as we automatically assign new name for the conversation in auto
// session.
Conversation *Conversation `protobuf:"bytes,5,opt,name=conversation,proto3" json:"conversation,omitempty"`
// Whether to turn on safe search.
SafeSearch bool `protobuf:"varint,6,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"`
// The user labels applied to a resource must meet the following requirements:
//
// - Each resource can have multiple labels, up to a maximum of 64.
// - Each label must be a key-value pair.
// - Keys have a minimum length of 1 character and a maximum length of 63
// characters and cannot be empty. Values can be empty and have a maximum
// length of 63 characters.
// - Keys and values can contain only lowercase letters, numeric characters,
// underscores, and dashes. All characters must use UTF-8 encoding, and
// international characters are allowed.
// - The key portion of a label must be unique. However, you can use the same
// key with multiple resources.
// - Keys must start with a lowercase letter or international character.
//
// See [Google Cloud
// Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
// for more details.
UserLabels map[string]string `protobuf:"bytes,7,rep,name=user_labels,json=userLabels,proto3" json:"user_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// A specification for configuring the summary returned in the response.
SummarySpec *SearchRequest_ContentSearchSpec_SummarySpec `protobuf:"bytes,8,opt,name=summary_spec,json=summarySpec,proto3" json:"summary_spec,omitempty"`
// The filter syntax consists of an expression language for constructing a
// predicate from one or more fields of the documents being filtered. Filter
// expression is case-sensitive. This will be used to filter search results
// which may affect the summary response.
//
// If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
//
// Filtering in Vertex AI Search is done by mapping the LHS filter key to a
// key property defined in the Vertex AI Search backend -- this mapping is
// defined by the customer in their schema. For example a media customer might
// have a field 'name' in their schema. In this case the filter would look
// like this: filter --> name:'ANY("king kong")'
//
// For more information about filtering including syntax and filter
// operators, see
// [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
Filter string `protobuf:"bytes,9,opt,name=filter,proto3" json:"filter,omitempty"`
// Boost specification to boost certain documents in search results which may
// affect the converse response. For more information on boosting, see
// [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
BoostSpec *SearchRequest_BoostSpec `protobuf:"bytes,10,opt,name=boost_spec,json=boostSpec,proto3" json:"boost_spec,omitempty"`
}
func (x *ConverseConversationRequest) Reset() {
*x = ConverseConversationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConverseConversationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConverseConversationRequest) ProtoMessage() {}
func (x *ConverseConversationRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_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 ConverseConversationRequest.ProtoReflect.Descriptor instead.
func (*ConverseConversationRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{0}
}
func (x *ConverseConversationRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ConverseConversationRequest) GetQuery() *TextInput {
if x != nil {
return x.Query
}
return nil
}
func (x *ConverseConversationRequest) GetServingConfig() string {
if x != nil {
return x.ServingConfig
}
return ""
}
func (x *ConverseConversationRequest) GetConversation() *Conversation {
if x != nil {
return x.Conversation
}
return nil
}
func (x *ConverseConversationRequest) GetSafeSearch() bool {
if x != nil {
return x.SafeSearch
}
return false
}
func (x *ConverseConversationRequest) GetUserLabels() map[string]string {
if x != nil {
return x.UserLabels
}
return nil
}
func (x *ConverseConversationRequest) GetSummarySpec() *SearchRequest_ContentSearchSpec_SummarySpec {
if x != nil {
return x.SummarySpec
}
return nil
}
func (x *ConverseConversationRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *ConverseConversationRequest) GetBoostSpec() *SearchRequest_BoostSpec {
if x != nil {
return x.BoostSpec
}
return nil
}
// Response message for
// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation]
// method.
type ConverseConversationResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Answer to the current query.
Reply *Reply `protobuf:"bytes,1,opt,name=reply,proto3" json:"reply,omitempty"`
// Updated conversation including the answer.
Conversation *Conversation `protobuf:"bytes,2,opt,name=conversation,proto3" json:"conversation,omitempty"`
// Suggested related questions.
RelatedQuestions []string `protobuf:"bytes,6,rep,name=related_questions,json=relatedQuestions,proto3" json:"related_questions,omitempty"`
// Search Results.
SearchResults []*SearchResponse_SearchResult `protobuf:"bytes,3,rep,name=search_results,json=searchResults,proto3" json:"search_results,omitempty"`
}
func (x *ConverseConversationResponse) Reset() {
*x = ConverseConversationResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConverseConversationResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConverseConversationResponse) ProtoMessage() {}
func (x *ConverseConversationResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_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 ConverseConversationResponse.ProtoReflect.Descriptor instead.
func (*ConverseConversationResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{1}
}
func (x *ConverseConversationResponse) GetReply() *Reply {
if x != nil {
return x.Reply
}
return nil
}
func (x *ConverseConversationResponse) GetConversation() *Conversation {
if x != nil {
return x.Conversation
}
return nil
}
func (x *ConverseConversationResponse) GetRelatedQuestions() []string {
if x != nil {
return x.RelatedQuestions
}
return nil
}
func (x *ConverseConversationResponse) GetSearchResults() []*SearchResponse_SearchResult {
if x != nil {
return x.SearchResults
}
return nil
}
// Request for CreateConversation method.
type CreateConversationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Full resource name of parent data store. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The conversation to create.
Conversation *Conversation `protobuf:"bytes,2,opt,name=conversation,proto3" json:"conversation,omitempty"`
}
func (x *CreateConversationRequest) Reset() {
*x = CreateConversationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateConversationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateConversationRequest) ProtoMessage() {}
func (x *CreateConversationRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_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 CreateConversationRequest.ProtoReflect.Descriptor instead.
func (*CreateConversationRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{2}
}
func (x *CreateConversationRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateConversationRequest) GetConversation() *Conversation {
if x != nil {
return x.Conversation
}
return nil
}
// Request for UpdateConversation method.
type UpdateConversationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The Conversation to update.
Conversation *Conversation `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"`
// Indicates which fields in the provided
// [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
// update. The following are NOT supported:
//
// * [Conversation.name][google.cloud.discoveryengine.v1alpha.Conversation.name]
//
// If not set or empty, all supported fields are updated.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
}
func (x *UpdateConversationRequest) Reset() {
*x = UpdateConversationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateConversationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateConversationRequest) ProtoMessage() {}
func (x *UpdateConversationRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[3]
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 UpdateConversationRequest.ProtoReflect.Descriptor instead.
func (*UpdateConversationRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateConversationRequest) GetConversation() *Conversation {
if x != nil {
return x.Conversation
}
return nil
}
func (x *UpdateConversationRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
// Request for DeleteConversation method.
type DeleteConversationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Conversation to delete. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteConversationRequest) Reset() {
*x = DeleteConversationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteConversationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteConversationRequest) ProtoMessage() {}
func (x *DeleteConversationRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[4]
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 DeleteConversationRequest.ProtoReflect.Descriptor instead.
func (*DeleteConversationRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{4}
}
func (x *DeleteConversationRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for GetConversation method.
type GetConversationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Conversation to get. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetConversationRequest) Reset() {
*x = GetConversationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetConversationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetConversationRequest) ProtoMessage() {}
func (x *GetConversationRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[5]
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 GetConversationRequest.ProtoReflect.Descriptor instead.
func (*GetConversationRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{5}
}
func (x *GetConversationRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for ListConversations method.
type ListConversationsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The data store resource name. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Maximum number of results to return. If unspecified, defaults
// to 50. Max allowed value is 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListConversations` call.
// Provide this to retrieve the subsequent page.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// A filter to apply on the list results. The supported features are:
// user_pseudo_id, state.
//
// Example:
// "user_pseudo_id = some_id"
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// A comma-separated list of fields to order by, sorted in ascending order.
// Use "desc" after a field name for descending.
// Supported fields:
// - `update_time`
// - `create_time`
// - `conversation_name`
//
// Example:
// "update_time desc"
// "create_time"
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
}
func (x *ListConversationsRequest) Reset() {
*x = ListConversationsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListConversationsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListConversationsRequest) ProtoMessage() {}
func (x *ListConversationsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[6]
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 ListConversationsRequest.ProtoReflect.Descriptor instead.
func (*ListConversationsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{6}
}
func (x *ListConversationsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListConversationsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListConversationsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListConversationsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *ListConversationsRequest) GetOrderBy() string {
if x != nil {
return x.OrderBy
}
return ""
}
// Response for ListConversations method.
type ListConversationsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// All the Conversations for a given data store.
Conversations []*Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"`
// Pagination token, if not returned indicates the last page.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListConversationsResponse) Reset() {
*x = ListConversationsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListConversationsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListConversationsResponse) ProtoMessage() {}
func (x *ListConversationsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[7]
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 ListConversationsResponse.ProtoReflect.Descriptor instead.
func (*ListConversationsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{7}
}
func (x *ListConversationsResponse) GetConversations() []*Conversation {
if x != nil {
return x.Conversations
}
return nil
}
func (x *ListConversationsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for
// [ConversationalSearchService.AnswerQuery][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.AnswerQuery]
// method.
type AnswerQueryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Search serving config, such as
// `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`,
// or
// `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`.
// This field is used to identify the serving configuration name, set
// of models used to make the search.
ServingConfig string `protobuf:"bytes,1,opt,name=serving_config,json=servingConfig,proto3" json:"serving_config,omitempty"`
// Required. Current user query.
Query *Query `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
// The session resource name. Not required.
//
// When session field is not set, the API is in sessionless mode.
//
// We support auto session mode: users can use the wildcard symbol “-” as
// session id. A new id will be automatically generated and assigned.
Session string `protobuf:"bytes,3,opt,name=session,proto3" json:"session,omitempty"`
// Model specification.
SafetySpec *AnswerQueryRequest_SafetySpec `protobuf:"bytes,4,opt,name=safety_spec,json=safetySpec,proto3" json:"safety_spec,omitempty"`
// Related questions specification.
RelatedQuestionsSpec *AnswerQueryRequest_RelatedQuestionsSpec `protobuf:"bytes,5,opt,name=related_questions_spec,json=relatedQuestionsSpec,proto3" json:"related_questions_spec,omitempty"`
// Answer generation specification.
AnswerGenerationSpec *AnswerQueryRequest_AnswerGenerationSpec `protobuf:"bytes,7,opt,name=answer_generation_spec,json=answerGenerationSpec,proto3" json:"answer_generation_spec,omitempty"`
// Search specification.
SearchSpec *AnswerQueryRequest_SearchSpec `protobuf:"bytes,8,opt,name=search_spec,json=searchSpec,proto3" json:"search_spec,omitempty"`
// Query understanding specification.
QueryUnderstandingSpec *AnswerQueryRequest_QueryUnderstandingSpec `protobuf:"bytes,9,opt,name=query_understanding_spec,json=queryUnderstandingSpec,proto3" json:"query_understanding_spec,omitempty"`
// Asynchronous mode control.
//
// If enabled, the response will be returned with answer/session resource
// name without final answer. The API users need to do the polling to get
// the latest status of answer/session by calling
// [ConversationalSearchService.GetAnswer][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetAnswer]
// or
// [ConversationalSearchService.GetSession][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetSession]
// method.
AsynchronousMode bool `protobuf:"varint,10,opt,name=asynchronous_mode,json=asynchronousMode,proto3" json:"asynchronous_mode,omitempty"`
// A unique identifier for tracking visitors. For example, this could be
// implemented with an HTTP cookie, which should be able to uniquely identify
// a visitor on a single device. This unique identifier should not change if
// the visitor logs in or out of the website.
//
// This field should NOT have a fixed value such as `unknown_visitor`.
//
// The field must be a UTF-8 encoded string with a length limit of 128
// characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
UserPseudoId string `protobuf:"bytes,12,opt,name=user_pseudo_id,json=userPseudoId,proto3" json:"user_pseudo_id,omitempty"`
}
func (x *AnswerQueryRequest) Reset() {
*x = AnswerQueryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest) ProtoMessage() {}
func (x *AnswerQueryRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[8]
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 AnswerQueryRequest.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8}
}
func (x *AnswerQueryRequest) GetServingConfig() string {
if x != nil {
return x.ServingConfig
}
return ""
}
func (x *AnswerQueryRequest) GetQuery() *Query {
if x != nil {
return x.Query
}
return nil
}
func (x *AnswerQueryRequest) GetSession() string {
if x != nil {
return x.Session
}
return ""
}
func (x *AnswerQueryRequest) GetSafetySpec() *AnswerQueryRequest_SafetySpec {
if x != nil {
return x.SafetySpec
}
return nil
}
func (x *AnswerQueryRequest) GetRelatedQuestionsSpec() *AnswerQueryRequest_RelatedQuestionsSpec {
if x != nil {
return x.RelatedQuestionsSpec
}
return nil
}
func (x *AnswerQueryRequest) GetAnswerGenerationSpec() *AnswerQueryRequest_AnswerGenerationSpec {
if x != nil {
return x.AnswerGenerationSpec
}
return nil
}
func (x *AnswerQueryRequest) GetSearchSpec() *AnswerQueryRequest_SearchSpec {
if x != nil {
return x.SearchSpec
}
return nil
}
func (x *AnswerQueryRequest) GetQueryUnderstandingSpec() *AnswerQueryRequest_QueryUnderstandingSpec {
if x != nil {
return x.QueryUnderstandingSpec
}
return nil
}
func (x *AnswerQueryRequest) GetAsynchronousMode() bool {
if x != nil {
return x.AsynchronousMode
}
return false
}
func (x *AnswerQueryRequest) GetUserPseudoId() string {
if x != nil {
return x.UserPseudoId
}
return ""
}
// Response message for
// [ConversationalSearchService.AnswerQuery][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.AnswerQuery]
// method.
type AnswerQueryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Answer resource object.
// If [AnswerQueryRequest.StepSpec.max_step_count][] is greater than 1,
// use [Answer.name][google.cloud.discoveryengine.v1alpha.Answer.name] to
// fetch answer information using
// [ConversationalSearchService.GetAnswer][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetAnswer]
// API.
Answer *Answer `protobuf:"bytes,1,opt,name=answer,proto3" json:"answer,omitempty"`
// Session resource object.
// It will be only available when session field is set and valid in the
// [AnswerQueryRequest][google.cloud.discoveryengine.v1alpha.AnswerQueryRequest]
// request.
Session *Session `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
}
func (x *AnswerQueryResponse) Reset() {
*x = AnswerQueryResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryResponse) ProtoMessage() {}
func (x *AnswerQueryResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[9]
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 AnswerQueryResponse.ProtoReflect.Descriptor instead.
func (*AnswerQueryResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{9}
}
func (x *AnswerQueryResponse) GetAnswer() *Answer {
if x != nil {
return x.Answer
}
return nil
}
func (x *AnswerQueryResponse) GetSession() *Session {
if x != nil {
return x.Session
}
return nil
}
// Request for GetAnswer method.
type GetAnswerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Answer to get. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetAnswerRequest) Reset() {
*x = GetAnswerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAnswerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAnswerRequest) ProtoMessage() {}
func (x *GetAnswerRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[10]
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 GetAnswerRequest.ProtoReflect.Descriptor instead.
func (*GetAnswerRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{10}
}
func (x *GetAnswerRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for CreateSession method.
type CreateSessionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Full resource name of parent data store. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The session to create.
Session *Session `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
}
func (x *CreateSessionRequest) Reset() {
*x = CreateSessionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateSessionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateSessionRequest) ProtoMessage() {}
func (x *CreateSessionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[11]
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 CreateSessionRequest.ProtoReflect.Descriptor instead.
func (*CreateSessionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{11}
}
func (x *CreateSessionRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateSessionRequest) GetSession() *Session {
if x != nil {
return x.Session
}
return nil
}
// Request for UpdateSession method.
type UpdateSessionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The Session to update.
Session *Session `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
// Indicates which fields in the provided
// [Session][google.cloud.discoveryengine.v1alpha.Session] to update. The
// following are NOT supported:
//
// * [Session.name][google.cloud.discoveryengine.v1alpha.Session.name]
//
// If not set or empty, all supported fields are updated.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
}
func (x *UpdateSessionRequest) Reset() {
*x = UpdateSessionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSessionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSessionRequest) ProtoMessage() {}
func (x *UpdateSessionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[12]
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 UpdateSessionRequest.ProtoReflect.Descriptor instead.
func (*UpdateSessionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{12}
}
func (x *UpdateSessionRequest) GetSession() *Session {
if x != nil {
return x.Session
}
return nil
}
func (x *UpdateSessionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
// Request for DeleteSession method.
type DeleteSessionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Session to delete. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteSessionRequest) Reset() {
*x = DeleteSessionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSessionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSessionRequest) ProtoMessage() {}
func (x *DeleteSessionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[13]
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 DeleteSessionRequest.ProtoReflect.Descriptor instead.
func (*DeleteSessionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{13}
}
func (x *DeleteSessionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for GetSession method.
type GetSessionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the Session to get. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetSessionRequest) Reset() {
*x = GetSessionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSessionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSessionRequest) ProtoMessage() {}
func (x *GetSessionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[14]
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 GetSessionRequest.ProtoReflect.Descriptor instead.
func (*GetSessionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{14}
}
func (x *GetSessionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for ListSessions method.
type ListSessionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The data store resource name. Format:
// `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Maximum number of results to return. If unspecified, defaults
// to 50. Max allowed value is 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListSessions` call.
// Provide this to retrieve the subsequent page.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// A filter to apply on the list results. The supported features are:
// user_pseudo_id, state.
//
// Example:
// "user_pseudo_id = some_id"
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// A comma-separated list of fields to order by, sorted in ascending order.
// Use "desc" after a field name for descending.
// Supported fields:
// - `update_time`
// - `create_time`
// - `session_name`
//
// Example:
// "update_time desc"
// "create_time"
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
}
func (x *ListSessionsRequest) Reset() {
*x = ListSessionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListSessionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSessionsRequest) ProtoMessage() {}
func (x *ListSessionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[15]
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 ListSessionsRequest.ProtoReflect.Descriptor instead.
func (*ListSessionsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{15}
}
func (x *ListSessionsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListSessionsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListSessionsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListSessionsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *ListSessionsRequest) GetOrderBy() string {
if x != nil {
return x.OrderBy
}
return ""
}
// Response for ListSessions method.
type ListSessionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// All the Sessions for a given data store.
Sessions []*Session `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"`
// Pagination token, if not returned indicates the last page.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListSessionsResponse) Reset() {
*x = ListSessionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListSessionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSessionsResponse) ProtoMessage() {}
func (x *ListSessionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[16]
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 ListSessionsResponse.ProtoReflect.Descriptor instead.
func (*ListSessionsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{16}
}
func (x *ListSessionsResponse) GetSessions() []*Session {
if x != nil {
return x.Sessions
}
return nil
}
func (x *ListSessionsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Safety specification.
type AnswerQueryRequest_SafetySpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Enable the safety filtering on the answer response. It is false by
// default.
Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
}
func (x *AnswerQueryRequest_SafetySpec) Reset() {
*x = AnswerQueryRequest_SafetySpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SafetySpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SafetySpec) ProtoMessage() {}
func (x *AnswerQueryRequest_SafetySpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[18]
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 AnswerQueryRequest_SafetySpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SafetySpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 0}
}
func (x *AnswerQueryRequest_SafetySpec) GetEnable() bool {
if x != nil {
return x.Enable
}
return false
}
// Related questions specification.
type AnswerQueryRequest_RelatedQuestionsSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Enable related questions feature if true.
Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
}
func (x *AnswerQueryRequest_RelatedQuestionsSpec) Reset() {
*x = AnswerQueryRequest_RelatedQuestionsSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_RelatedQuestionsSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_RelatedQuestionsSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_RelatedQuestionsSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[19]
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 AnswerQueryRequest_RelatedQuestionsSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_RelatedQuestionsSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 1}
}
func (x *AnswerQueryRequest_RelatedQuestionsSpec) GetEnable() bool {
if x != nil {
return x.Enable
}
return false
}
// Answer generation specification.
type AnswerQueryRequest_AnswerGenerationSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Answer generation model specification.
ModelSpec *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec `protobuf:"bytes,1,opt,name=model_spec,json=modelSpec,proto3" json:"model_spec,omitempty"`
// Answer generation prompt specification.
PromptSpec *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec `protobuf:"bytes,2,opt,name=prompt_spec,json=promptSpec,proto3" json:"prompt_spec,omitempty"`
// Specifies whether to include citation metadata in the answer. The default
// value is `false`.
IncludeCitations bool `protobuf:"varint,3,opt,name=include_citations,json=includeCitations,proto3" json:"include_citations,omitempty"`
// Language code for Answer. Use language tags defined by
// [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
// Note: This is an experimental feature.
AnswerLanguageCode string `protobuf:"bytes,4,opt,name=answer_language_code,json=answerLanguageCode,proto3" json:"answer_language_code,omitempty"`
// Specifies whether to filter out adversarial queries. The default value
// is `false`.
//
// Google employs search-query classification to detect adversarial
// queries. No answer is returned if the search query is classified as an
// adversarial query. For example, a user might ask a question regarding
// negative comments about the company or submit a query designed to
// generate unsafe, policy-violating output. If this field is set to
// `true`, we skip generating answers for adversarial queries and return
// fallback messages instead.
IgnoreAdversarialQuery bool `protobuf:"varint,5,opt,name=ignore_adversarial_query,json=ignoreAdversarialQuery,proto3" json:"ignore_adversarial_query,omitempty"`
// Specifies whether to filter out queries that are not answer-seeking.
// The default value is `false`.
//
// Google employs search-query classification to detect answer-seeking
// queries. No answer is returned if the search query is classified as a
// non-answer seeking query. If this field is set to `true`, we skip
// generating answers for non-answer seeking queries and return
// fallback messages instead.
IgnoreNonAnswerSeekingQuery bool `protobuf:"varint,6,opt,name=ignore_non_answer_seeking_query,json=ignoreNonAnswerSeekingQuery,proto3" json:"ignore_non_answer_seeking_query,omitempty"`
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) Reset() {
*x = AnswerQueryRequest_AnswerGenerationSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_AnswerGenerationSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_AnswerGenerationSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[20]
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 AnswerQueryRequest_AnswerGenerationSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_AnswerGenerationSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 2}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetModelSpec() *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec {
if x != nil {
return x.ModelSpec
}
return nil
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetPromptSpec() *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec {
if x != nil {
return x.PromptSpec
}
return nil
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetIncludeCitations() bool {
if x != nil {
return x.IncludeCitations
}
return false
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetAnswerLanguageCode() string {
if x != nil {
return x.AnswerLanguageCode
}
return ""
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetIgnoreAdversarialQuery() bool {
if x != nil {
return x.IgnoreAdversarialQuery
}
return false
}
func (x *AnswerQueryRequest_AnswerGenerationSpec) GetIgnoreNonAnswerSeekingQuery() bool {
if x != nil {
return x.IgnoreNonAnswerSeekingQuery
}
return false
}
// Search specification.
type AnswerQueryRequest_SearchSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Search parameters to control the search behavior.
// Or provide search result list to generate answer.
//
// Types that are assignable to Input:
//
// *AnswerQueryRequest_SearchSpec_SearchParams_
// *AnswerQueryRequest_SearchSpec_SearchResultList_
Input isAnswerQueryRequest_SearchSpec_Input `protobuf_oneof:"input"`
}
func (x *AnswerQueryRequest_SearchSpec) Reset() {
*x = AnswerQueryRequest_SearchSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_SearchSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[21]
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 AnswerQueryRequest_SearchSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3}
}
func (m *AnswerQueryRequest_SearchSpec) GetInput() isAnswerQueryRequest_SearchSpec_Input {
if m != nil {
return m.Input
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec) GetSearchParams() *AnswerQueryRequest_SearchSpec_SearchParams {
if x, ok := x.GetInput().(*AnswerQueryRequest_SearchSpec_SearchParams_); ok {
return x.SearchParams
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec) GetSearchResultList() *AnswerQueryRequest_SearchSpec_SearchResultList {
if x, ok := x.GetInput().(*AnswerQueryRequest_SearchSpec_SearchResultList_); ok {
return x.SearchResultList
}
return nil
}
type isAnswerQueryRequest_SearchSpec_Input interface {
isAnswerQueryRequest_SearchSpec_Input()
}
type AnswerQueryRequest_SearchSpec_SearchParams_ struct {
// Search parameters.
SearchParams *AnswerQueryRequest_SearchSpec_SearchParams `protobuf:"bytes,1,opt,name=search_params,json=searchParams,proto3,oneof"`
}
type AnswerQueryRequest_SearchSpec_SearchResultList_ struct {
// Search result list.
SearchResultList *AnswerQueryRequest_SearchSpec_SearchResultList `protobuf:"bytes,2,opt,name=search_result_list,json=searchResultList,proto3,oneof"`
}
func (*AnswerQueryRequest_SearchSpec_SearchParams_) isAnswerQueryRequest_SearchSpec_Input() {}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_) isAnswerQueryRequest_SearchSpec_Input() {}
// Query understanding specification.
type AnswerQueryRequest_QueryUnderstandingSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Query classification specification.
QueryClassificationSpec *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec `protobuf:"bytes,1,opt,name=query_classification_spec,json=queryClassificationSpec,proto3" json:"query_classification_spec,omitempty"`
// Query rephraser specification.
QueryRephraserSpec *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec `protobuf:"bytes,2,opt,name=query_rephraser_spec,json=queryRephraserSpec,proto3" json:"query_rephraser_spec,omitempty"`
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec) Reset() {
*x = AnswerQueryRequest_QueryUnderstandingSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_QueryUnderstandingSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_QueryUnderstandingSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[22]
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 AnswerQueryRequest_QueryUnderstandingSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_QueryUnderstandingSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 4}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec) GetQueryClassificationSpec() *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec {
if x != nil {
return x.QueryClassificationSpec
}
return nil
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec) GetQueryRephraserSpec() *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec {
if x != nil {
return x.QueryRephraserSpec
}
return nil
}
// Answer Generation Model specification.
type AnswerQueryRequest_AnswerGenerationSpec_ModelSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Model version. If not set, it will use the default stable model.
// Allowed values are: stable, preview.
ModelVersion string `protobuf:"bytes,1,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"`
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) Reset() {
*x = AnswerQueryRequest_AnswerGenerationSpec_ModelSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[23]
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 AnswerQueryRequest_AnswerGenerationSpec_ModelSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 2, 0}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_ModelSpec) GetModelVersion() string {
if x != nil {
return x.ModelVersion
}
return ""
}
// Answer generation prompt specification.
type AnswerQueryRequest_AnswerGenerationSpec_PromptSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Customized preamble.
Preamble string `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) Reset() {
*x = AnswerQueryRequest_AnswerGenerationSpec_PromptSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[24]
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 AnswerQueryRequest_AnswerGenerationSpec_PromptSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 2, 1}
}
func (x *AnswerQueryRequest_AnswerGenerationSpec_PromptSpec) GetPreamble() string {
if x != nil {
return x.Preamble
}
return ""
}
// Search parameters.
type AnswerQueryRequest_SearchSpec_SearchParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of search results to return.
// The default value is 10.
MaxReturnResults int32 `protobuf:"varint,1,opt,name=max_return_results,json=maxReturnResults,proto3" json:"max_return_results,omitempty"`
// The filter syntax consists of an expression language for constructing
// a predicate from one or more fields of the documents being filtered.
// Filter expression is case-sensitive. This will be used to filter
// search results which may affect the Answer response.
//
// If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
//
// Filtering in Vertex AI Search is done by mapping the LHS filter key
// to a key property defined in the Vertex AI Search backend -- this
// mapping is defined by the customer in their schema. For example a
// media customers might have a field 'name' in their schema. In this
// case the filter would look like this: filter --> name:'ANY("king
// kong")'
//
// For more information about filtering including syntax and filter
// operators, see
// [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
// Boost specification to boost certain documents in search results which
// may affect the answer query response. For more information on boosting,
// see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
BoostSpec *SearchRequest_BoostSpec `protobuf:"bytes,3,opt,name=boost_spec,json=boostSpec,proto3" json:"boost_spec,omitempty"`
// The order in which documents are returned. Documents can be ordered
// by a field in an
// [Document][google.cloud.discoveryengine.v1alpha.Document] object. Leave
// it unset if ordered by relevance. `order_by` expression is
// case-sensitive. For more information on ordering, see
// [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
//
// If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// Specifies the search result mode. If unspecified, the
// search result mode is based on
// [DataStore.DocumentProcessingConfig.chunking_config][]:
// * If [DataStore.DocumentProcessingConfig.chunking_config][] is
// specified,
//
// it defaults to `CHUNKS`.
//
// * Otherwise, it defaults to `DOCUMENTS`.
// See [parse and chunk
// documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)
SearchResultMode SearchRequest_ContentSearchSpec_SearchResultMode `protobuf:"varint,5,opt,name=search_result_mode,json=searchResultMode,proto3,enum=google.cloud.discoveryengine.v1alpha.SearchRequest_ContentSearchSpec_SearchResultMode" json:"search_result_mode,omitempty"`
// Custom fine tuning configs.
CustomFineTuningSpec *CustomFineTuningSpec `protobuf:"bytes,6,opt,name=custom_fine_tuning_spec,json=customFineTuningSpec,proto3" json:"custom_fine_tuning_spec,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchParams{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchParams) ProtoMessage() {}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[25]
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 AnswerQueryRequest_SearchSpec_SearchParams.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchParams) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 0}
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetMaxReturnResults() int32 {
if x != nil {
return x.MaxReturnResults
}
return 0
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetBoostSpec() *SearchRequest_BoostSpec {
if x != nil {
return x.BoostSpec
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetOrderBy() string {
if x != nil {
return x.OrderBy
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetSearchResultMode() SearchRequest_ContentSearchSpec_SearchResultMode {
if x != nil {
return x.SearchResultMode
}
return SearchRequest_ContentSearchSpec_SEARCH_RESULT_MODE_UNSPECIFIED
}
func (x *AnswerQueryRequest_SearchSpec_SearchParams) GetCustomFineTuningSpec() *CustomFineTuningSpec {
if x != nil {
return x.CustomFineTuningSpec
}
return nil
}
// Search result list.
type AnswerQueryRequest_SearchSpec_SearchResultList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Search results.
SearchResults []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult `protobuf:"bytes,1,rep,name=search_results,json=searchResults,proto3" json:"search_results,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList) ProtoMessage() {}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[26]
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 AnswerQueryRequest_SearchSpec_SearchResultList.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList) GetSearchResults() []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult {
if x != nil {
return x.SearchResults
}
return nil
}
// Search result.
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Search result content.
//
// Types that are assignable to Content:
//
// *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_
// *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo_
Content isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content `protobuf_oneof:"content"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) ProtoMessage() {}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[27]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0}
}
func (m *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) GetContent() isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content {
if m != nil {
return m.Content
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) GetUnstructuredDocumentInfo() *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo {
if x, ok := x.GetContent().(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_); ok {
return x.UnstructuredDocumentInfo
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult) GetChunkInfo() *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo {
if x, ok := x.GetContent().(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo_); ok {
return x.ChunkInfo
}
return nil
}
type isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content interface {
isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content()
}
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ struct {
// Unstructured document information.
UnstructuredDocumentInfo *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo `protobuf:"bytes,1,opt,name=unstructured_document_info,json=unstructuredDocumentInfo,proto3,oneof"`
}
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo_ struct {
// Chunk information.
ChunkInfo *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo `protobuf:"bytes,2,opt,name=chunk_info,json=chunkInfo,proto3,oneof"`
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_) isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content() {
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo_) isAnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_Content() {
}
// Unstructured document information.
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Document resource name.
Document string `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
// URI for the document.
Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
// Title.
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
// List of document contexts.
DocumentContexts []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext `protobuf:"bytes,4,rep,name=document_contexts,json=documentContexts,proto3" json:"document_contexts,omitempty"`
// List of extractive segments.
ExtractiveSegments []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment `protobuf:"bytes,5,rep,name=extractive_segments,json=extractiveSegments,proto3" json:"extractive_segments,omitempty"`
// List of extractive answers.
ExtractiveAnswers []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer `protobuf:"bytes,6,rep,name=extractive_answers,json=extractiveAnswers,proto3" json:"extractive_answers,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) ProtoMessage() {
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[28]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0, 0}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetDocument() string {
if x != nil {
return x.Document
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetUri() string {
if x != nil {
return x.Uri
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetDocumentContexts() []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext {
if x != nil {
return x.DocumentContexts
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetExtractiveSegments() []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment {
if x != nil {
return x.ExtractiveSegments
}
return nil
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo) GetExtractiveAnswers() []*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer {
if x != nil {
return x.ExtractiveAnswers
}
return nil
}
// Chunk information.
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Chunk resource name.
Chunk string `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"`
// Chunk textual content.
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) ProtoMessage() {}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[29]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0, 1}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) GetChunk() string {
if x != nil {
return x.Chunk
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
// Document context.
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Page identifier.
PageIdentifier string `protobuf:"bytes,1,opt,name=page_identifier,json=pageIdentifier,proto3" json:"page_identifier,omitempty"`
// Document content.
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) ProtoMessage() {
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[30]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0, 0, 0}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) GetPageIdentifier() string {
if x != nil {
return x.PageIdentifier
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
// Extractive segment.
// [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Page identifier.
PageIdentifier string `protobuf:"bytes,1,opt,name=page_identifier,json=pageIdentifier,proto3" json:"page_identifier,omitempty"`
// Extractive segment content.
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) ProtoMessage() {
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[31]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0, 0, 1}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) GetPageIdentifier() string {
if x != nil {
return x.PageIdentifier
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
// Extractive answer.
// [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
type AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Page identifier.
PageIdentifier string `protobuf:"bytes,1,opt,name=page_identifier,json=pageIdentifier,proto3" json:"page_identifier,omitempty"`
// Extractive answer content.
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) Reset() {
*x = AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) ProtoMessage() {
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[32]
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 AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 3, 1, 0, 0, 2}
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) GetPageIdentifier() string {
if x != nil {
return x.PageIdentifier
}
return ""
}
func (x *AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
// Query classification specification.
type AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Enabled query classification types.
Types []AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type `protobuf:"varint,1,rep,packed,name=types,proto3,enum=google.cloud.discoveryengine.v1alpha.AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type" json:"types,omitempty"`
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) Reset() {
*x = AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[33]
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 AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 4, 0}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec) GetTypes() []AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type {
if x != nil {
return x.Types
}
return nil
}
// Query rephraser specification.
type AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Disable query rephraser.
Disable bool `protobuf:"varint,1,opt,name=disable,proto3" json:"disable,omitempty"`
// Max rephrase steps.
// The max number is 10 steps.
// If not set or set to < 1, it will be set to 1 by default.
MaxRephraseSteps int32 `protobuf:"varint,2,opt,name=max_rephrase_steps,json=maxRephraseSteps,proto3" json:"max_rephrase_steps,omitempty"`
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) Reset() {
*x = AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) ProtoMessage() {}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[34]
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 AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec.ProtoReflect.Descriptor instead.
func (*AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP(), []int{8, 4, 1}
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) GetDisable() bool {
if x != nil {
return x.Disable
}
return false
}
func (x *AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec) GetMaxRephraseSteps() int32 {
if x != nil {
return x.MaxRephraseSteps
}
return 0
}
var File_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto protoreflect.FileDescriptor
var file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDesc = []byte{
0x0a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0xa4, 0x06, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x71, 0x75, 0x65,
0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xfa,
0x41, 0x2e, 0x0a, 0x2c, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x56, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x5f,
0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x61,
0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x72, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x74, 0x0a, 0x0c,
0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72,
0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x70,
0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0a, 0x62, 0x6f,
0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x62,
0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72,
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x56, 0x0a, 0x0c, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x71,
0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10,
0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x68, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x73, 0x65, 0x61,
0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x19, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
0x0a, 0x28, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0xb5, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a,
0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x64, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a,
0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x22, 0xd3, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52,
0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x9d, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26,
0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67,
0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x24, 0x0a, 0x12, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a,
0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65,
0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x65, 0x72,
0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x05, 0x71, 0x75,
0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65,
0x72, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0b, 0x73, 0x61, 0x66,
0x65, 0x74, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72,
0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53,
0x70, 0x65, 0x63, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12,
0x83, 0x01, 0x0a, 0x16, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75,
0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x70, 0x65, 0x63, 0x52,
0x14, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e,
0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x14, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x64, 0x0a, 0x0b, 0x73,
0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75,
0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65,
0x63, 0x12, 0x89, 0x01, 0x0a, 0x18, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x75, 0x6e, 0x64, 0x65,
0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x64, 0x65,
0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2b, 0x0a,
0x11, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68,
0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x49, 0x64,
0x1a, 0x24, 0x0a, 0x0a, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16,
0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x2e, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65,
0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16,
0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0xc4, 0x04, 0x0a, 0x14, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12,
0x76, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e,
0x73, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x79, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x70,
0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6d,
0x70, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, 0x70,
0x65, 0x63, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x69,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x30, 0x0a, 0x14, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x76, 0x65,
0x72, 0x73, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72,
0x73, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x1f, 0x69,
0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x5f, 0x73, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06,
0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x6e, 0x41,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
0x79, 0x1a, 0x30, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x23,
0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x1a, 0x28, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, 0x70, 0x65,
0x63, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x1a, 0x9d, 0x12,
0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x77, 0x0a, 0x0d,
0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65,
0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61,
0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72,
0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0xc7, 0x03, 0x0a,
0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a,
0x12, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x52, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c,
0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65,
0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f,
0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65,
0x63, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x84, 0x01, 0x0a,
0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x6d,
0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63,
0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x6f, 0x64,
0x65, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x6f, 0x64, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69,
0x6e, 0x65, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63,
0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69,
0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xbb, 0x0c, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x0e,
0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9b, 0x0b, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xba, 0x01, 0x0a, 0x1a, 0x75, 0x6e, 0x73, 0x74,
0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65,
0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x63, 0x75,
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x75, 0x6e, 0x73, 0x74,
0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x8c, 0x01, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x69,
0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e,
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x68, 0x75,
0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49,
0x6e, 0x66, 0x6f, 0x1a, 0xcb, 0x07, 0x0a, 0x18, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
0x75, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x48, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x2c, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x8a,
0x01, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65,
0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44,
0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75,
0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x64, 0x6f, 0x63,
0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0xbe, 0x01,
0x0a, 0x13, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x67,
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x8c, 0x01, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65,
0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x63, 0x75,
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74,
0x69, 0x76, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x65, 0x78, 0x74, 0x72,
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xbb,
0x01, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6e,
0x73, 0x77, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x8b, 0x01, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x65,
0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x63, 0x75,
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74,
0x69, 0x76, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x11, 0x65, 0x78, 0x74, 0x72, 0x61,
0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x1a, 0x54, 0x0a, 0x0f,
0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
0x27, 0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x1a, 0x56, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x5f,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0e, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x55, 0x0a, 0x10, 0x45, 0x78,
0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x27,
0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x1a, 0x66, 0x0a, 0x09, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f,
0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xfa,
0x41, 0x26, 0x0a, 0x24, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0xa7, 0x05,
0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0xa3, 0x01, 0x0a, 0x19, 0x71, 0x75, 0x65,
0x72, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x67, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x64, 0x65,
0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x51, 0x75,
0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73,
0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x94,
0x01, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x68, 0x72, 0x61, 0x73,
0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x62, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x64,
0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x72, 0x53, 0x70, 0x65,
0x63, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65,
0x72, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xf1, 0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43,
0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65,
0x63, 0x12, 0x82, 0x01, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0e, 0x32, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51,
0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72,
0x79, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70,
0x65, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x44, 0x56, 0x45, 0x52, 0x53, 0x41, 0x52,
0x49, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4e,
0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x49, 0x4e,
0x47, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x1a, 0x5c, 0x0a, 0x12, 0x51, 0x75, 0x65,
0x72, 0x79, 0x52, 0x65, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12,
0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78,
0x5f, 0x72, 0x65, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x68, 0x72, 0x61,
0x73, 0x65, 0x53, 0x74, 0x65, 0x70, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x44, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x06, 0x61,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x55,
0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65,
0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x4c, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42,
0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a,
0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5a, 0x0a, 0x14, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41,
0x28, 0x0a, 0x26, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
0xce, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a,
0x28, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62,
0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
0x22, 0x89, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x96, 0x2a, 0x0a,
0x1b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc4, 0x03, 0x0a,
0x14, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x02, 0xda,
0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x90, 0x02, 0x3a, 0x01, 0x2a, 0x5a, 0x5f, 0x3a, 0x01, 0x2a, 0x22, 0x5a, 0x2f, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5a, 0x5c, 0x3a, 0x01, 0x2a, 0x22, 0x57, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f,
0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x65, 0x12, 0xbf, 0x03, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0xb3, 0x02, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x02, 0x3a,
0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5a, 0x61, 0x3a,
0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x2f,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f,
0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x5a, 0x5e, 0x3a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0x4e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f,
0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x22, 0x43, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74,
0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xea, 0x02, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0xec, 0x01, 0x5a, 0x53, 0x2a, 0x51, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x50, 0x2a, 0x4e, 0x2f,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2a, 0x43, 0x2f,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f,
0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x7d, 0x12, 0xeb, 0x03, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf,
0x02, 0xda, 0x41, 0x18, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0xbd, 0x02, 0x3a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5a, 0x6e, 0x3a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x32, 0x5e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a,
0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0x5a, 0x6b, 0x3a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x32, 0x5b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x32, 0x50,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
0x12, 0x80, 0x03, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0xec, 0x01, 0x5a, 0x53, 0x12, 0x51, 0x2f, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x50, 0x12, 0x4e,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x43,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73,
0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x2a, 0x7d, 0x12, 0x93, 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x01, 0xda, 0x41, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xec, 0x01, 0x5a, 0x53, 0x12,
0x51, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65,
0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x5a, 0x50, 0x12, 0x4e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb7, 0x03, 0x0a, 0x0b, 0x41, 0x6e,
0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2,
0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xab, 0x02, 0x3a, 0x01, 0x2a, 0x5a, 0x68, 0x3a, 0x01, 0x2a,
0x22, 0x63, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76,
0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x5a, 0x65, 0x3a, 0x01, 0x2a, 0x22, 0x60, 0x2f, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x55, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x73,
0x77, 0x65, 0x72, 0x12, 0xfd, 0x02, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x89, 0x02, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xfb, 0x01, 0x5a, 0x58, 0x12, 0x56, 0x2f, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x2f,
0x2a, 0x7d, 0x5a, 0x55, 0x12, 0x53, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x48, 0x2f, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73,
0x2f, 0x2a, 0x7d, 0x12, 0x8d, 0x03, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x22, 0x90, 0x02, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf8, 0x01, 0x3a, 0x07, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x57, 0x3a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22,
0x4c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65,
0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x54, 0x3a,
0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0xd1, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xeb, 0x01, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdd, 0x01, 0x5a, 0x4e, 0x2a, 0x4c, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x4b, 0x2a, 0x49, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2a, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xaa, 0x03, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x02, 0xda, 0x41, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x90, 0x02, 0x3a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x5f, 0x3a,
0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x54, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65,
0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73,
0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x5c,
0x3a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x51, 0x2f, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d,
0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a,
0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x32, 0x46, 0x2f, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61,
0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe2, 0x02, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xeb, 0x01, 0xda, 0x41,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdd, 0x01, 0x5a, 0x4e, 0x12, 0x4c,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a,
0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x4b, 0x12, 0x49,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf5, 0x02, 0x0a, 0x0c, 0x4c, 0x69,
0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0xed, 0x01, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0xdd, 0x01, 0x5a, 0x4e, 0x12, 0x4c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x4b, 0x12, 0x49, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53,
0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x1a, 0x52, 0xca, 0x41, 0x1e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xac, 0x02, 0x0a, 0x28, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x42, 0x20, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0xa2, 0x02, 0x0f, 0x44, 0x49, 0x53,
0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0xaa, 0x02, 0x24, 0x47,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x56, 0x31, 0x41, 0x6c,
0x70, 0x68, 0x61, 0xca, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x5c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x67, 0x69,
0x6e, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x27, 0x47, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescOnce sync.Once
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescData = file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDesc
)
func file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescGZIP() []byte {
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescOnce.Do(func() {
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescData)
})
return file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDescData
}
var file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
var file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_goTypes = []interface{}{
(AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec_Type)(0), // 0: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryClassificationSpec.Type
(*ConverseConversationRequest)(nil), // 1: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest
(*ConverseConversationResponse)(nil), // 2: google.cloud.discoveryengine.v1alpha.ConverseConversationResponse
(*CreateConversationRequest)(nil), // 3: google.cloud.discoveryengine.v1alpha.CreateConversationRequest
(*UpdateConversationRequest)(nil), // 4: google.cloud.discoveryengine.v1alpha.UpdateConversationRequest
(*DeleteConversationRequest)(nil), // 5: google.cloud.discoveryengine.v1alpha.DeleteConversationRequest
(*GetConversationRequest)(nil), // 6: google.cloud.discoveryengine.v1alpha.GetConversationRequest
(*ListConversationsRequest)(nil), // 7: google.cloud.discoveryengine.v1alpha.ListConversationsRequest
(*ListConversationsResponse)(nil), // 8: google.cloud.discoveryengine.v1alpha.ListConversationsResponse
(*AnswerQueryRequest)(nil), // 9: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest
(*AnswerQueryResponse)(nil), // 10: google.cloud.discoveryengine.v1alpha.AnswerQueryResponse
(*GetAnswerRequest)(nil), // 11: google.cloud.discoveryengine.v1alpha.GetAnswerRequest
(*CreateSessionRequest)(nil), // 12: google.cloud.discoveryengine.v1alpha.CreateSessionRequest
(*UpdateSessionRequest)(nil), // 13: google.cloud.discoveryengine.v1alpha.UpdateSessionRequest
(*DeleteSessionRequest)(nil), // 14: google.cloud.discoveryengine.v1alpha.DeleteSessionRequest
(*GetSessionRequest)(nil), // 15: google.cloud.discoveryengine.v1alpha.GetSessionRequest
(*ListSessionsRequest)(nil), // 16: google.cloud.discoveryengine.v1alpha.ListSessionsRequest
(*ListSessionsResponse)(nil), // 17: google.cloud.discoveryengine.v1alpha.ListSessionsResponse
nil, // 18: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.UserLabelsEntry
(*AnswerQueryRequest_SafetySpec)(nil), // 19: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SafetySpec
(*AnswerQueryRequest_RelatedQuestionsSpec)(nil), // 20: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.RelatedQuestionsSpec
(*AnswerQueryRequest_AnswerGenerationSpec)(nil), // 21: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec
(*AnswerQueryRequest_SearchSpec)(nil), // 22: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec
(*AnswerQueryRequest_QueryUnderstandingSpec)(nil), // 23: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec
(*AnswerQueryRequest_AnswerGenerationSpec_ModelSpec)(nil), // 24: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.ModelSpec
(*AnswerQueryRequest_AnswerGenerationSpec_PromptSpec)(nil), // 25: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.PromptSpec
(*AnswerQueryRequest_SearchSpec_SearchParams)(nil), // 26: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchParams
(*AnswerQueryRequest_SearchSpec_SearchResultList)(nil), // 27: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult)(nil), // 28: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo)(nil), // 29: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo)(nil), // 30: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.ChunkInfo
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext)(nil), // 31: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.DocumentContext
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment)(nil), // 32: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.ExtractiveSegment
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer)(nil), // 33: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.ExtractiveAnswer
(*AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec)(nil), // 34: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryClassificationSpec
(*AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec)(nil), // 35: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec
(*TextInput)(nil), // 36: google.cloud.discoveryengine.v1alpha.TextInput
(*Conversation)(nil), // 37: google.cloud.discoveryengine.v1alpha.Conversation
(*SearchRequest_ContentSearchSpec_SummarySpec)(nil), // 38: google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SummarySpec
(*SearchRequest_BoostSpec)(nil), // 39: google.cloud.discoveryengine.v1alpha.SearchRequest.BoostSpec
(*Reply)(nil), // 40: google.cloud.discoveryengine.v1alpha.Reply
(*SearchResponse_SearchResult)(nil), // 41: google.cloud.discoveryengine.v1alpha.SearchResponse.SearchResult
(*fieldmaskpb.FieldMask)(nil), // 42: google.protobuf.FieldMask
(*Query)(nil), // 43: google.cloud.discoveryengine.v1alpha.Query
(*Answer)(nil), // 44: google.cloud.discoveryengine.v1alpha.Answer
(*Session)(nil), // 45: google.cloud.discoveryengine.v1alpha.Session
(SearchRequest_ContentSearchSpec_SearchResultMode)(0), // 46: google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SearchResultMode
(*CustomFineTuningSpec)(nil), // 47: google.cloud.discoveryengine.v1alpha.CustomFineTuningSpec
(*emptypb.Empty)(nil), // 48: google.protobuf.Empty
}
var file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_depIdxs = []int32{
36, // 0: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.query:type_name -> google.cloud.discoveryengine.v1alpha.TextInput
37, // 1: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.conversation:type_name -> google.cloud.discoveryengine.v1alpha.Conversation
18, // 2: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.user_labels:type_name -> google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.UserLabelsEntry
38, // 3: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.summary_spec:type_name -> google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SummarySpec
39, // 4: google.cloud.discoveryengine.v1alpha.ConverseConversationRequest.boost_spec:type_name -> google.cloud.discoveryengine.v1alpha.SearchRequest.BoostSpec
40, // 5: google.cloud.discoveryengine.v1alpha.ConverseConversationResponse.reply:type_name -> google.cloud.discoveryengine.v1alpha.Reply
37, // 6: google.cloud.discoveryengine.v1alpha.ConverseConversationResponse.conversation:type_name -> google.cloud.discoveryengine.v1alpha.Conversation
41, // 7: google.cloud.discoveryengine.v1alpha.ConverseConversationResponse.search_results:type_name -> google.cloud.discoveryengine.v1alpha.SearchResponse.SearchResult
37, // 8: google.cloud.discoveryengine.v1alpha.CreateConversationRequest.conversation:type_name -> google.cloud.discoveryengine.v1alpha.Conversation
37, // 9: google.cloud.discoveryengine.v1alpha.UpdateConversationRequest.conversation:type_name -> google.cloud.discoveryengine.v1alpha.Conversation
42, // 10: google.cloud.discoveryengine.v1alpha.UpdateConversationRequest.update_mask:type_name -> google.protobuf.FieldMask
37, // 11: google.cloud.discoveryengine.v1alpha.ListConversationsResponse.conversations:type_name -> google.cloud.discoveryengine.v1alpha.Conversation
43, // 12: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.query:type_name -> google.cloud.discoveryengine.v1alpha.Query
19, // 13: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.safety_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SafetySpec
20, // 14: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.related_questions_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.RelatedQuestionsSpec
21, // 15: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.answer_generation_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec
22, // 16: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.search_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec
23, // 17: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.query_understanding_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec
44, // 18: google.cloud.discoveryengine.v1alpha.AnswerQueryResponse.answer:type_name -> google.cloud.discoveryengine.v1alpha.Answer
45, // 19: google.cloud.discoveryengine.v1alpha.AnswerQueryResponse.session:type_name -> google.cloud.discoveryengine.v1alpha.Session
45, // 20: google.cloud.discoveryengine.v1alpha.CreateSessionRequest.session:type_name -> google.cloud.discoveryengine.v1alpha.Session
45, // 21: google.cloud.discoveryengine.v1alpha.UpdateSessionRequest.session:type_name -> google.cloud.discoveryengine.v1alpha.Session
42, // 22: google.cloud.discoveryengine.v1alpha.UpdateSessionRequest.update_mask:type_name -> google.protobuf.FieldMask
45, // 23: google.cloud.discoveryengine.v1alpha.ListSessionsResponse.sessions:type_name -> google.cloud.discoveryengine.v1alpha.Session
24, // 24: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.model_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.ModelSpec
25, // 25: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.prompt_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.AnswerGenerationSpec.PromptSpec
26, // 26: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.search_params:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchParams
27, // 27: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.search_result_list:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList
34, // 28: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.query_classification_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryClassificationSpec
35, // 29: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.query_rephraser_spec:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec
39, // 30: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchParams.boost_spec:type_name -> google.cloud.discoveryengine.v1alpha.SearchRequest.BoostSpec
46, // 31: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchParams.search_result_mode:type_name -> google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SearchResultMode
47, // 32: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchParams.custom_fine_tuning_spec:type_name -> google.cloud.discoveryengine.v1alpha.CustomFineTuningSpec
28, // 33: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.search_results:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult
29, // 34: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.unstructured_document_info:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo
30, // 35: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.chunk_info:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.ChunkInfo
31, // 36: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.document_contexts:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.DocumentContext
32, // 37: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.extractive_segments:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.ExtractiveSegment
33, // 38: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.extractive_answers:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.SearchSpec.SearchResultList.SearchResult.UnstructuredDocumentInfo.ExtractiveAnswer
0, // 39: google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryClassificationSpec.types:type_name -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest.QueryUnderstandingSpec.QueryClassificationSpec.Type
1, // 40: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation:input_type -> google.cloud.discoveryengine.v1alpha.ConverseConversationRequest
3, // 41: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.CreateConversation:input_type -> google.cloud.discoveryengine.v1alpha.CreateConversationRequest
5, // 42: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.DeleteConversation:input_type -> google.cloud.discoveryengine.v1alpha.DeleteConversationRequest
4, // 43: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.UpdateConversation:input_type -> google.cloud.discoveryengine.v1alpha.UpdateConversationRequest
6, // 44: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetConversation:input_type -> google.cloud.discoveryengine.v1alpha.GetConversationRequest
7, // 45: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ListConversations:input_type -> google.cloud.discoveryengine.v1alpha.ListConversationsRequest
9, // 46: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.AnswerQuery:input_type -> google.cloud.discoveryengine.v1alpha.AnswerQueryRequest
11, // 47: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetAnswer:input_type -> google.cloud.discoveryengine.v1alpha.GetAnswerRequest
12, // 48: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.CreateSession:input_type -> google.cloud.discoveryengine.v1alpha.CreateSessionRequest
14, // 49: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.DeleteSession:input_type -> google.cloud.discoveryengine.v1alpha.DeleteSessionRequest
13, // 50: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.UpdateSession:input_type -> google.cloud.discoveryengine.v1alpha.UpdateSessionRequest
15, // 51: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetSession:input_type -> google.cloud.discoveryengine.v1alpha.GetSessionRequest
16, // 52: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ListSessions:input_type -> google.cloud.discoveryengine.v1alpha.ListSessionsRequest
2, // 53: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation:output_type -> google.cloud.discoveryengine.v1alpha.ConverseConversationResponse
37, // 54: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.CreateConversation:output_type -> google.cloud.discoveryengine.v1alpha.Conversation
48, // 55: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.DeleteConversation:output_type -> google.protobuf.Empty
37, // 56: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.UpdateConversation:output_type -> google.cloud.discoveryengine.v1alpha.Conversation
37, // 57: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetConversation:output_type -> google.cloud.discoveryengine.v1alpha.Conversation
8, // 58: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ListConversations:output_type -> google.cloud.discoveryengine.v1alpha.ListConversationsResponse
10, // 59: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.AnswerQuery:output_type -> google.cloud.discoveryengine.v1alpha.AnswerQueryResponse
44, // 60: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetAnswer:output_type -> google.cloud.discoveryengine.v1alpha.Answer
45, // 61: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.CreateSession:output_type -> google.cloud.discoveryengine.v1alpha.Session
48, // 62: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.DeleteSession:output_type -> google.protobuf.Empty
45, // 63: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.UpdateSession:output_type -> google.cloud.discoveryengine.v1alpha.Session
45, // 64: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetSession:output_type -> google.cloud.discoveryengine.v1alpha.Session
17, // 65: google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ListSessions:output_type -> google.cloud.discoveryengine.v1alpha.ListSessionsResponse
53, // [53:66] is the sub-list for method output_type
40, // [40:53] is the sub-list for method input_type
40, // [40:40] is the sub-list for extension type_name
40, // [40:40] is the sub-list for extension extendee
0, // [0:40] is the sub-list for field type_name
}
func init() { file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_init() }
func file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_init() {
if File_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto != nil {
return
}
file_google_cloud_discoveryengine_v1alpha_answer_proto_init()
file_google_cloud_discoveryengine_v1alpha_common_proto_init()
file_google_cloud_discoveryengine_v1alpha_conversation_proto_init()
file_google_cloud_discoveryengine_v1alpha_search_service_proto_init()
file_google_cloud_discoveryengine_v1alpha_session_proto_init()
if !protoimpl.UnsafeEnabled {
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConverseConversationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConverseConversationResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateConversationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateConversationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteConversationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetConversationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListConversationsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListConversationsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAnswerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateSessionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSessionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSessionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSessionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListSessionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListSessionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SafetySpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_RelatedQuestionsSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_AnswerGenerationSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_QueryUnderstandingSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_AnswerGenerationSpec_ModelSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_AnswerGenerationSpec_PromptSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_DocumentContext); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveSegment); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_ExtractiveAnswer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_QueryUnderstandingSpec_QueryClassificationSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnswerQueryRequest_QueryUnderstandingSpec_QueryRephraserSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[21].OneofWrappers = []interface{}{
(*AnswerQueryRequest_SearchSpec_SearchParams_)(nil),
(*AnswerQueryRequest_SearchSpec_SearchResultList_)(nil),
}
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes[27].OneofWrappers = []interface{}{
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_UnstructuredDocumentInfo_)(nil),
(*AnswerQueryRequest_SearchSpec_SearchResultList_SearchResult_ChunkInfo_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDesc,
NumEnums: 1,
NumMessages: 35,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_goTypes,
DependencyIndexes: file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_depIdxs,
EnumInfos: file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_enumTypes,
MessageInfos: file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_msgTypes,
}.Build()
File_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto = out.File
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_rawDesc = nil
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_proto_goTypes = nil
file_google_cloud_discoveryengine_v1alpha_conversational_search_service_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
// ConversationalSearchServiceClient is the client API for ConversationalSearchService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ConversationalSearchServiceClient interface {
// Converses a conversation.
ConverseConversation(ctx context.Context, in *ConverseConversationRequest, opts ...grpc.CallOption) (*ConverseConversationResponse, error)
// Creates a Conversation.
//
// If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
// create already exists, an ALREADY_EXISTS error is returned.
CreateConversation(ctx context.Context, in *CreateConversationRequest, opts ...grpc.CallOption) (*Conversation, error)
// Deletes a Conversation.
//
// If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
// delete does not exist, a NOT_FOUND error is returned.
DeleteConversation(ctx context.Context, in *DeleteConversationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Updates a Conversation.
//
// [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] action
// type cannot be changed. If the
// [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to update
// does not exist, a NOT_FOUND error is returned.
UpdateConversation(ctx context.Context, in *UpdateConversationRequest, opts ...grpc.CallOption) (*Conversation, error)
// Gets a Conversation.
GetConversation(ctx context.Context, in *GetConversationRequest, opts ...grpc.CallOption) (*Conversation, error)
// Lists all Conversations by their parent
// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
ListConversations(ctx context.Context, in *ListConversationsRequest, opts ...grpc.CallOption) (*ListConversationsResponse, error)
// Answer query method.
AnswerQuery(ctx context.Context, in *AnswerQueryRequest, opts ...grpc.CallOption) (*AnswerQueryResponse, error)
// Gets a Answer.
GetAnswer(ctx context.Context, in *GetAnswerRequest, opts ...grpc.CallOption) (*Answer, error)
// Creates a Session.
//
// If the [Session][google.cloud.discoveryengine.v1alpha.Session] to create
// already exists, an ALREADY_EXISTS error is returned.
CreateSession(ctx context.Context, in *CreateSessionRequest, opts ...grpc.CallOption) (*Session, error)
// Deletes a Session.
//
// If the [Session][google.cloud.discoveryengine.v1alpha.Session] to delete
// does not exist, a NOT_FOUND error is returned.
DeleteSession(ctx context.Context, in *DeleteSessionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Updates a Session.
//
// [Session][google.cloud.discoveryengine.v1alpha.Session] action type cannot
// be changed. If the [Session][google.cloud.discoveryengine.v1alpha.Session]
// to update does not exist, a NOT_FOUND error is returned.
UpdateSession(ctx context.Context, in *UpdateSessionRequest, opts ...grpc.CallOption) (*Session, error)
// Gets a Session.
GetSession(ctx context.Context, in *GetSessionRequest, opts ...grpc.CallOption) (*Session, error)
// Lists all Sessions by their parent
// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error)
}
type conversationalSearchServiceClient struct {
cc grpc.ClientConnInterface
}
func NewConversationalSearchServiceClient(cc grpc.ClientConnInterface) ConversationalSearchServiceClient {
return &conversationalSearchServiceClient{cc}
}
func (c *conversationalSearchServiceClient) ConverseConversation(ctx context.Context, in *ConverseConversationRequest, opts ...grpc.CallOption) (*ConverseConversationResponse, error) {
out := new(ConverseConversationResponse)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ConverseConversation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) CreateConversation(ctx context.Context, in *CreateConversationRequest, opts ...grpc.CallOption) (*Conversation, error) {
out := new(Conversation)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/CreateConversation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) DeleteConversation(ctx context.Context, in *DeleteConversationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/DeleteConversation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) UpdateConversation(ctx context.Context, in *UpdateConversationRequest, opts ...grpc.CallOption) (*Conversation, error) {
out := new(Conversation)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/UpdateConversation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) GetConversation(ctx context.Context, in *GetConversationRequest, opts ...grpc.CallOption) (*Conversation, error) {
out := new(Conversation)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetConversation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) ListConversations(ctx context.Context, in *ListConversationsRequest, opts ...grpc.CallOption) (*ListConversationsResponse, error) {
out := new(ListConversationsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ListConversations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) AnswerQuery(ctx context.Context, in *AnswerQueryRequest, opts ...grpc.CallOption) (*AnswerQueryResponse, error) {
out := new(AnswerQueryResponse)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/AnswerQuery", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) GetAnswer(ctx context.Context, in *GetAnswerRequest, opts ...grpc.CallOption) (*Answer, error) {
out := new(Answer)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetAnswer", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) CreateSession(ctx context.Context, in *CreateSessionRequest, opts ...grpc.CallOption) (*Session, error) {
out := new(Session)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/CreateSession", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) DeleteSession(ctx context.Context, in *DeleteSessionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/DeleteSession", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) UpdateSession(ctx context.Context, in *UpdateSessionRequest, opts ...grpc.CallOption) (*Session, error) {
out := new(Session)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/UpdateSession", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) GetSession(ctx context.Context, in *GetSessionRequest, opts ...grpc.CallOption) (*Session, error) {
out := new(Session)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetSession", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *conversationalSearchServiceClient) ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) {
out := new(ListSessionsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ListSessions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ConversationalSearchServiceServer is the server API for ConversationalSearchService service.
type ConversationalSearchServiceServer interface {
// Converses a conversation.
ConverseConversation(context.Context, *ConverseConversationRequest) (*ConverseConversationResponse, error)
// Creates a Conversation.
//
// If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
// create already exists, an ALREADY_EXISTS error is returned.
CreateConversation(context.Context, *CreateConversationRequest) (*Conversation, error)
// Deletes a Conversation.
//
// If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
// delete does not exist, a NOT_FOUND error is returned.
DeleteConversation(context.Context, *DeleteConversationRequest) (*emptypb.Empty, error)
// Updates a Conversation.
//
// [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] action
// type cannot be changed. If the
// [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to update
// does not exist, a NOT_FOUND error is returned.
UpdateConversation(context.Context, *UpdateConversationRequest) (*Conversation, error)
// Gets a Conversation.
GetConversation(context.Context, *GetConversationRequest) (*Conversation, error)
// Lists all Conversations by their parent
// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
ListConversations(context.Context, *ListConversationsRequest) (*ListConversationsResponse, error)
// Answer query method.
AnswerQuery(context.Context, *AnswerQueryRequest) (*AnswerQueryResponse, error)
// Gets a Answer.
GetAnswer(context.Context, *GetAnswerRequest) (*Answer, error)
// Creates a Session.
//
// If the [Session][google.cloud.discoveryengine.v1alpha.Session] to create
// already exists, an ALREADY_EXISTS error is returned.
CreateSession(context.Context, *CreateSessionRequest) (*Session, error)
// Deletes a Session.
//
// If the [Session][google.cloud.discoveryengine.v1alpha.Session] to delete
// does not exist, a NOT_FOUND error is returned.
DeleteSession(context.Context, *DeleteSessionRequest) (*emptypb.Empty, error)
// Updates a Session.
//
// [Session][google.cloud.discoveryengine.v1alpha.Session] action type cannot
// be changed. If the [Session][google.cloud.discoveryengine.v1alpha.Session]
// to update does not exist, a NOT_FOUND error is returned.
UpdateSession(context.Context, *UpdateSessionRequest) (*Session, error)
// Gets a Session.
GetSession(context.Context, *GetSessionRequest) (*Session, error)
// Lists all Sessions by their parent
// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error)
}
// UnimplementedConversationalSearchServiceServer can be embedded to have forward compatible implementations.
type UnimplementedConversationalSearchServiceServer struct {
}
func (*UnimplementedConversationalSearchServiceServer) ConverseConversation(context.Context, *ConverseConversationRequest) (*ConverseConversationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ConverseConversation not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) CreateConversation(context.Context, *CreateConversationRequest) (*Conversation, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateConversation not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) DeleteConversation(context.Context, *DeleteConversationRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteConversation not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) UpdateConversation(context.Context, *UpdateConversationRequest) (*Conversation, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateConversation not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) GetConversation(context.Context, *GetConversationRequest) (*Conversation, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetConversation not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) ListConversations(context.Context, *ListConversationsRequest) (*ListConversationsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListConversations not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) AnswerQuery(context.Context, *AnswerQueryRequest) (*AnswerQueryResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AnswerQuery not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) GetAnswer(context.Context, *GetAnswerRequest) (*Answer, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAnswer not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) CreateSession(context.Context, *CreateSessionRequest) (*Session, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateSession not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) DeleteSession(context.Context, *DeleteSessionRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteSession not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) UpdateSession(context.Context, *UpdateSessionRequest) (*Session, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateSession not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) GetSession(context.Context, *GetSessionRequest) (*Session, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetSession not implemented")
}
func (*UnimplementedConversationalSearchServiceServer) ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListSessions not implemented")
}
func RegisterConversationalSearchServiceServer(s *grpc.Server, srv ConversationalSearchServiceServer) {
s.RegisterService(&_ConversationalSearchService_serviceDesc, srv)
}
func _ConversationalSearchService_ConverseConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ConverseConversationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).ConverseConversation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ConverseConversation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).ConverseConversation(ctx, req.(*ConverseConversationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_CreateConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateConversationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).CreateConversation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/CreateConversation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).CreateConversation(ctx, req.(*CreateConversationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_DeleteConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteConversationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).DeleteConversation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/DeleteConversation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).DeleteConversation(ctx, req.(*DeleteConversationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_UpdateConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateConversationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).UpdateConversation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/UpdateConversation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).UpdateConversation(ctx, req.(*UpdateConversationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_GetConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetConversationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).GetConversation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetConversation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).GetConversation(ctx, req.(*GetConversationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_ListConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListConversationsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).ListConversations(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ListConversations",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).ListConversations(ctx, req.(*ListConversationsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_AnswerQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AnswerQueryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).AnswerQuery(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/AnswerQuery",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).AnswerQuery(ctx, req.(*AnswerQueryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_GetAnswer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAnswerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).GetAnswer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetAnswer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).GetAnswer(ctx, req.(*GetAnswerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_CreateSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateSessionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).CreateSession(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/CreateSession",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).CreateSession(ctx, req.(*CreateSessionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_DeleteSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteSessionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).DeleteSession(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/DeleteSession",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).DeleteSession(ctx, req.(*DeleteSessionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_UpdateSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateSessionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).UpdateSession(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/UpdateSession",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).UpdateSession(ctx, req.(*UpdateSessionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_GetSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetSessionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).GetSession(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/GetSession",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).GetSession(ctx, req.(*GetSessionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ConversationalSearchService_ListSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListSessionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ConversationalSearchServiceServer).ListSessions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.discoveryengine.v1alpha.ConversationalSearchService/ListSessions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ConversationalSearchServiceServer).ListSessions(ctx, req.(*ListSessionsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _ConversationalSearchService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.discoveryengine.v1alpha.ConversationalSearchService",
HandlerType: (*ConversationalSearchServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ConverseConversation",
Handler: _ConversationalSearchService_ConverseConversation_Handler,
},
{
MethodName: "CreateConversation",
Handler: _ConversationalSearchService_CreateConversation_Handler,
},
{
MethodName: "DeleteConversation",
Handler: _ConversationalSearchService_DeleteConversation_Handler,
},
{
MethodName: "UpdateConversation",
Handler: _ConversationalSearchService_UpdateConversation_Handler,
},
{
MethodName: "GetConversation",
Handler: _ConversationalSearchService_GetConversation_Handler,
},
{
MethodName: "ListConversations",
Handler: _ConversationalSearchService_ListConversations_Handler,
},
{
MethodName: "AnswerQuery",
Handler: _ConversationalSearchService_AnswerQuery_Handler,
},
{
MethodName: "GetAnswer",
Handler: _ConversationalSearchService_GetAnswer_Handler,
},
{
MethodName: "CreateSession",
Handler: _ConversationalSearchService_CreateSession_Handler,
},
{
MethodName: "DeleteSession",
Handler: _ConversationalSearchService_DeleteSession_Handler,
},
{
MethodName: "UpdateSession",
Handler: _ConversationalSearchService_UpdateSession_Handler,
},
{
MethodName: "GetSession",
Handler: _ConversationalSearchService_GetSession_Handler,
},
{
MethodName: "ListSessions",
Handler: _ConversationalSearchService_ListSessions_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/discoveryengine/v1alpha/conversational_search_service.proto",
}