1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.23.0
18// 	protoc        v3.13.0
19// source: google/cloud/dialogflow/cx/v3beta1/flow.proto
20
21package cx
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	emptypb "google.golang.org/protobuf/types/known/emptypb"
37	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
38	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// This is a compile-time assertion that a sufficiently up-to-date version
49// of the legacy proto package is being used.
50const _ = proto.ProtoPackageIsVersion4
51
52// NLU model type.
53type NluSettings_ModelType int32
54
55const (
56	// Not specified. `MODEL_TYPE_STANDARD` will be used.
57	NluSettings_MODEL_TYPE_UNSPECIFIED NluSettings_ModelType = 0
58	// Use standard NLU model.
59	NluSettings_MODEL_TYPE_STANDARD NluSettings_ModelType = 1
60	// Use advanced NLU model.
61	NluSettings_MODEL_TYPE_ADVANCED NluSettings_ModelType = 3
62)
63
64// Enum value maps for NluSettings_ModelType.
65var (
66	NluSettings_ModelType_name = map[int32]string{
67		0: "MODEL_TYPE_UNSPECIFIED",
68		1: "MODEL_TYPE_STANDARD",
69		3: "MODEL_TYPE_ADVANCED",
70	}
71	NluSettings_ModelType_value = map[string]int32{
72		"MODEL_TYPE_UNSPECIFIED": 0,
73		"MODEL_TYPE_STANDARD":    1,
74		"MODEL_TYPE_ADVANCED":    3,
75	}
76)
77
78func (x NluSettings_ModelType) Enum() *NluSettings_ModelType {
79	p := new(NluSettings_ModelType)
80	*p = x
81	return p
82}
83
84func (x NluSettings_ModelType) String() string {
85	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
86}
87
88func (NluSettings_ModelType) Descriptor() protoreflect.EnumDescriptor {
89	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes[0].Descriptor()
90}
91
92func (NluSettings_ModelType) Type() protoreflect.EnumType {
93	return &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes[0]
94}
95
96func (x NluSettings_ModelType) Number() protoreflect.EnumNumber {
97	return protoreflect.EnumNumber(x)
98}
99
100// Deprecated: Use NluSettings_ModelType.Descriptor instead.
101func (NluSettings_ModelType) EnumDescriptor() ([]byte, []int) {
102	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{0, 0}
103}
104
105// NLU model training mode.
106type NluSettings_ModelTrainingMode int32
107
108const (
109	// Not specified. `MODEL_TRAINING_MODE_AUTOMATIC` will be used.
110	NluSettings_MODEL_TRAINING_MODE_UNSPECIFIED NluSettings_ModelTrainingMode = 0
111	// NLU model training is automatically triggered when a flow gets modified.
112	// User can also manually trigger model training in this mode.
113	NluSettings_MODEL_TRAINING_MODE_AUTOMATIC NluSettings_ModelTrainingMode = 1
114	// User needs to manually trigger NLU model training. Best for large flows
115	// whose models take long time to train.
116	NluSettings_MODEL_TRAINING_MODE_MANUAL NluSettings_ModelTrainingMode = 2
117)
118
119// Enum value maps for NluSettings_ModelTrainingMode.
120var (
121	NluSettings_ModelTrainingMode_name = map[int32]string{
122		0: "MODEL_TRAINING_MODE_UNSPECIFIED",
123		1: "MODEL_TRAINING_MODE_AUTOMATIC",
124		2: "MODEL_TRAINING_MODE_MANUAL",
125	}
126	NluSettings_ModelTrainingMode_value = map[string]int32{
127		"MODEL_TRAINING_MODE_UNSPECIFIED": 0,
128		"MODEL_TRAINING_MODE_AUTOMATIC":   1,
129		"MODEL_TRAINING_MODE_MANUAL":      2,
130	}
131)
132
133func (x NluSettings_ModelTrainingMode) Enum() *NluSettings_ModelTrainingMode {
134	p := new(NluSettings_ModelTrainingMode)
135	*p = x
136	return p
137}
138
139func (x NluSettings_ModelTrainingMode) String() string {
140	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
141}
142
143func (NluSettings_ModelTrainingMode) Descriptor() protoreflect.EnumDescriptor {
144	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes[1].Descriptor()
145}
146
147func (NluSettings_ModelTrainingMode) Type() protoreflect.EnumType {
148	return &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes[1]
149}
150
151func (x NluSettings_ModelTrainingMode) Number() protoreflect.EnumNumber {
152	return protoreflect.EnumNumber(x)
153}
154
155// Deprecated: Use NluSettings_ModelTrainingMode.Descriptor instead.
156func (NluSettings_ModelTrainingMode) EnumDescriptor() ([]byte, []int) {
157	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{0, 1}
158}
159
160// Settings related to NLU.
161type NluSettings struct {
162	state         protoimpl.MessageState
163	sizeCache     protoimpl.SizeCache
164	unknownFields protoimpl.UnknownFields
165
166	// Indicates the type of NLU model.
167	ModelType NluSettings_ModelType `protobuf:"varint,1,opt,name=model_type,json=modelType,proto3,enum=google.cloud.dialogflow.cx.v3beta1.NluSettings_ModelType" json:"model_type,omitempty"`
168	// To filter out false positive results and still get variety in matched
169	// natural language inputs for your agent, you can tune the machine learning
170	// classification threshold. If the returned score value is less than the
171	// threshold value, then a no-match event will be triggered. The score values
172	// range from 0.0 (completely uncertain) to 1.0 (completely certain). If set
173	// to 0.0, the default of 0.3 is used.
174	ClassificationThreshold float32 `protobuf:"fixed32,3,opt,name=classification_threshold,json=classificationThreshold,proto3" json:"classification_threshold,omitempty"`
175	// Indicates NLU model training mode.
176	ModelTrainingMode NluSettings_ModelTrainingMode `protobuf:"varint,4,opt,name=model_training_mode,json=modelTrainingMode,proto3,enum=google.cloud.dialogflow.cx.v3beta1.NluSettings_ModelTrainingMode" json:"model_training_mode,omitempty"`
177}
178
179func (x *NluSettings) Reset() {
180	*x = NluSettings{}
181	if protoimpl.UnsafeEnabled {
182		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[0]
183		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
184		ms.StoreMessageInfo(mi)
185	}
186}
187
188func (x *NluSettings) String() string {
189	return protoimpl.X.MessageStringOf(x)
190}
191
192func (*NluSettings) ProtoMessage() {}
193
194func (x *NluSettings) ProtoReflect() protoreflect.Message {
195	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[0]
196	if protoimpl.UnsafeEnabled && x != nil {
197		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
198		if ms.LoadMessageInfo() == nil {
199			ms.StoreMessageInfo(mi)
200		}
201		return ms
202	}
203	return mi.MessageOf(x)
204}
205
206// Deprecated: Use NluSettings.ProtoReflect.Descriptor instead.
207func (*NluSettings) Descriptor() ([]byte, []int) {
208	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{0}
209}
210
211func (x *NluSettings) GetModelType() NluSettings_ModelType {
212	if x != nil {
213		return x.ModelType
214	}
215	return NluSettings_MODEL_TYPE_UNSPECIFIED
216}
217
218func (x *NluSettings) GetClassificationThreshold() float32 {
219	if x != nil {
220		return x.ClassificationThreshold
221	}
222	return 0
223}
224
225func (x *NluSettings) GetModelTrainingMode() NluSettings_ModelTrainingMode {
226	if x != nil {
227		return x.ModelTrainingMode
228	}
229	return NluSettings_MODEL_TRAINING_MODE_UNSPECIFIED
230}
231
232// Flows represents the conversation flows when you build your chatbot agent.
233//
234// A flow consists of many pages connected by the transition routes.
235// Conversations always start with the built-in Start Flow (with an all-0 ID).
236// Transition routes can direct the conversation session from the current flow
237// (parent flow) to another flow (sub flow). When the sub flow is finished,
238// Dialogflow will bring the session back to the parent flow, where the sub flow
239// is started.
240//
241// Usually, when a transition route is followed by a matched intent, the intent
242// will be "consumed". This means the intent won't activate more transition
243// routes. However, when the followed transition route moves the conversation
244// session into a different flow, the matched intent can be carried over and to
245// be consumed in the target flow.
246type Flow struct {
247	state         protoimpl.MessageState
248	sizeCache     protoimpl.SizeCache
249	unknownFields protoimpl.UnknownFields
250
251	// The unique identifier of the flow.
252	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
253	// ID>/flows/<Flow ID>`.
254	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
255	// Required. The human-readable name of the flow.
256	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
257	// The description of the flow. The maximum length is 500 characters. If
258	// exceeded, the request is rejected.
259	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
260	// A flow's transition routes serve two purposes:
261	//
262	// *   They are responsible for matching the user's first utterances in the
263	// flow.
264	// *   They are inherited by every page's [transition
265	// routes][Page.transition_routes] and can support use cases such as the user
266	// saying "help" or "can I talk to a human?", which can be handled in a common
267	// way regardless of the current page. Transition routes defined in the page
268	// have higher priority than those defined in the flow.
269	//
270	// TransitionRoutes are evalauted in the following order:
271	//
272	// *   TransitionRoutes with intent specified..
273	// *   TransitionRoutes with only condition specified.
274	//
275	// TransitionRoutes with intent specified are inherited by pages in the flow.
276	TransitionRoutes []*TransitionRoute `protobuf:"bytes,4,rep,name=transition_routes,json=transitionRoutes,proto3" json:"transition_routes,omitempty"`
277	// A flow's event handlers serve two purposes:
278	//
279	// *   They are responsible for handling events (e.g. no match,
280	// webhook errors) in the flow.
281	// *   They are inherited by every page's [event
282	// handlers][Page.event_handlers], which can be used to handle common events
283	// regardless of the current page. Event handlers defined in the page
284	// have higher priority than those defined in the flow.
285	//
286	// Unlike [transition_routes][google.cloud.dialogflow.cx.v3beta1.Flow.transition_routes], these handlers are
287	// evaluated on a first-match basis. The first one that matches the event
288	// get executed, with the rest being ignored.
289	EventHandlers []*EventHandler `protobuf:"bytes,10,rep,name=event_handlers,json=eventHandlers,proto3" json:"event_handlers,omitempty"`
290	// A flow's transition route group serve two purposes:
291	//
292	// *   They are responsible for matching the user's first utterances in the
293	// flow.
294	// *   They are inherited by every page's [transition
295	// route groups][Page.transition_route_groups]. Transition route groups
296	// defined in the page have higher priority than those defined in the flow.
297	//
298	// Format:`projects/<Project ID>/locations/<Location ID>/agents/<Agent
299	// ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>`.
300	TransitionRouteGroups []string `protobuf:"bytes,15,rep,name=transition_route_groups,json=transitionRouteGroups,proto3" json:"transition_route_groups,omitempty"`
301	// NLU related settings of the flow.
302	NluSettings *NluSettings `protobuf:"bytes,11,opt,name=nlu_settings,json=nluSettings,proto3" json:"nlu_settings,omitempty"`
303}
304
305func (x *Flow) Reset() {
306	*x = Flow{}
307	if protoimpl.UnsafeEnabled {
308		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[1]
309		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
310		ms.StoreMessageInfo(mi)
311	}
312}
313
314func (x *Flow) String() string {
315	return protoimpl.X.MessageStringOf(x)
316}
317
318func (*Flow) ProtoMessage() {}
319
320func (x *Flow) ProtoReflect() protoreflect.Message {
321	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[1]
322	if protoimpl.UnsafeEnabled && x != nil {
323		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
324		if ms.LoadMessageInfo() == nil {
325			ms.StoreMessageInfo(mi)
326		}
327		return ms
328	}
329	return mi.MessageOf(x)
330}
331
332// Deprecated: Use Flow.ProtoReflect.Descriptor instead.
333func (*Flow) Descriptor() ([]byte, []int) {
334	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{1}
335}
336
337func (x *Flow) GetName() string {
338	if x != nil {
339		return x.Name
340	}
341	return ""
342}
343
344func (x *Flow) GetDisplayName() string {
345	if x != nil {
346		return x.DisplayName
347	}
348	return ""
349}
350
351func (x *Flow) GetDescription() string {
352	if x != nil {
353		return x.Description
354	}
355	return ""
356}
357
358func (x *Flow) GetTransitionRoutes() []*TransitionRoute {
359	if x != nil {
360		return x.TransitionRoutes
361	}
362	return nil
363}
364
365func (x *Flow) GetEventHandlers() []*EventHandler {
366	if x != nil {
367		return x.EventHandlers
368	}
369	return nil
370}
371
372func (x *Flow) GetTransitionRouteGroups() []string {
373	if x != nil {
374		return x.TransitionRouteGroups
375	}
376	return nil
377}
378
379func (x *Flow) GetNluSettings() *NluSettings {
380	if x != nil {
381		return x.NluSettings
382	}
383	return nil
384}
385
386// The request message for [Flows.CreateFlow][google.cloud.dialogflow.cx.v3beta1.Flows.CreateFlow].
387type CreateFlowRequest struct {
388	state         protoimpl.MessageState
389	sizeCache     protoimpl.SizeCache
390	unknownFields protoimpl.UnknownFields
391
392	// Required. The agent to create a flow for.
393	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
394	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
395	// Required. The flow to create.
396	Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"`
397	// The language of the following fields in `flow`:
398	//
399	// *  `Flow.event_handlers.trigger_fulfillment.messages`
400	// *  `Flow.transition_routes.trigger_fulfillment.messages`
401	//
402	// If not specified, the agent's default language is used.
403	// [Many
404	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
405	// are supported.
406	// Note: languages must be enabled in the agent before they can be used.
407	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
408}
409
410func (x *CreateFlowRequest) Reset() {
411	*x = CreateFlowRequest{}
412	if protoimpl.UnsafeEnabled {
413		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[2]
414		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
415		ms.StoreMessageInfo(mi)
416	}
417}
418
419func (x *CreateFlowRequest) String() string {
420	return protoimpl.X.MessageStringOf(x)
421}
422
423func (*CreateFlowRequest) ProtoMessage() {}
424
425func (x *CreateFlowRequest) ProtoReflect() protoreflect.Message {
426	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[2]
427	if protoimpl.UnsafeEnabled && x != nil {
428		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
429		if ms.LoadMessageInfo() == nil {
430			ms.StoreMessageInfo(mi)
431		}
432		return ms
433	}
434	return mi.MessageOf(x)
435}
436
437// Deprecated: Use CreateFlowRequest.ProtoReflect.Descriptor instead.
438func (*CreateFlowRequest) Descriptor() ([]byte, []int) {
439	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{2}
440}
441
442func (x *CreateFlowRequest) GetParent() string {
443	if x != nil {
444		return x.Parent
445	}
446	return ""
447}
448
449func (x *CreateFlowRequest) GetFlow() *Flow {
450	if x != nil {
451		return x.Flow
452	}
453	return nil
454}
455
456func (x *CreateFlowRequest) GetLanguageCode() string {
457	if x != nil {
458		return x.LanguageCode
459	}
460	return ""
461}
462
463// The request message for [Flows.DeleteFlow][google.cloud.dialogflow.cx.v3beta1.Flows.DeleteFlow].
464type DeleteFlowRequest struct {
465	state         protoimpl.MessageState
466	sizeCache     protoimpl.SizeCache
467	unknownFields protoimpl.UnknownFields
468
469	// Required. The name of the flow to delete.
470	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
471	// ID>/flows/<Flow ID>`.
472	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
473	// This field has no effect for flows with no incoming transitions.
474	// For flows with incoming transitions:
475	//
476	// *  If `force` is set to false, an error will be returned with message
477	//    indicating the incoming transitions.
478	// *  If `force` is set to true, Dialogflow will remove the flow, as well as
479	//    any transitions to the flow (i.e. [Target
480	//    flow][EventHandler.target_flow] in event handlers or [Target
481	//    flow][TransitionRoute.target_flow] in transition routes that point to
482	//    this flow will be cleared).
483	Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
484}
485
486func (x *DeleteFlowRequest) Reset() {
487	*x = DeleteFlowRequest{}
488	if protoimpl.UnsafeEnabled {
489		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[3]
490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
491		ms.StoreMessageInfo(mi)
492	}
493}
494
495func (x *DeleteFlowRequest) String() string {
496	return protoimpl.X.MessageStringOf(x)
497}
498
499func (*DeleteFlowRequest) ProtoMessage() {}
500
501func (x *DeleteFlowRequest) ProtoReflect() protoreflect.Message {
502	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[3]
503	if protoimpl.UnsafeEnabled && x != nil {
504		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
505		if ms.LoadMessageInfo() == nil {
506			ms.StoreMessageInfo(mi)
507		}
508		return ms
509	}
510	return mi.MessageOf(x)
511}
512
513// Deprecated: Use DeleteFlowRequest.ProtoReflect.Descriptor instead.
514func (*DeleteFlowRequest) Descriptor() ([]byte, []int) {
515	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{3}
516}
517
518func (x *DeleteFlowRequest) GetName() string {
519	if x != nil {
520		return x.Name
521	}
522	return ""
523}
524
525func (x *DeleteFlowRequest) GetForce() bool {
526	if x != nil {
527		return x.Force
528	}
529	return false
530}
531
532// The request message for [Flows.ListFlows][google.cloud.dialogflow.cx.v3beta1.Flows.ListFlows].
533type ListFlowsRequest struct {
534	state         protoimpl.MessageState
535	sizeCache     protoimpl.SizeCache
536	unknownFields protoimpl.UnknownFields
537
538	// Required. The agent containing the flows.
539	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
540	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
541	// The maximum number of items to return in a single page. By default 100 and
542	// at most 1000.
543	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
544	// The next_page_token value returned from a previous list request.
545	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
546	// The language to list flows for. The following fields are language
547	// dependent:
548	//
549	// *  `Flow.event_handlers.trigger_fulfillment.messages`
550	// *  `Flow.transition_routes.trigger_fulfillment.messages`
551	//
552	// If not specified, the agent's default language is used.
553	// [Many
554	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
555	// are supported.
556	// Note: languages must be enabled in the agent before they can be used.
557	LanguageCode string `protobuf:"bytes,4,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
558}
559
560func (x *ListFlowsRequest) Reset() {
561	*x = ListFlowsRequest{}
562	if protoimpl.UnsafeEnabled {
563		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[4]
564		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
565		ms.StoreMessageInfo(mi)
566	}
567}
568
569func (x *ListFlowsRequest) String() string {
570	return protoimpl.X.MessageStringOf(x)
571}
572
573func (*ListFlowsRequest) ProtoMessage() {}
574
575func (x *ListFlowsRequest) ProtoReflect() protoreflect.Message {
576	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[4]
577	if protoimpl.UnsafeEnabled && x != nil {
578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
579		if ms.LoadMessageInfo() == nil {
580			ms.StoreMessageInfo(mi)
581		}
582		return ms
583	}
584	return mi.MessageOf(x)
585}
586
587// Deprecated: Use ListFlowsRequest.ProtoReflect.Descriptor instead.
588func (*ListFlowsRequest) Descriptor() ([]byte, []int) {
589	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{4}
590}
591
592func (x *ListFlowsRequest) GetParent() string {
593	if x != nil {
594		return x.Parent
595	}
596	return ""
597}
598
599func (x *ListFlowsRequest) GetPageSize() int32 {
600	if x != nil {
601		return x.PageSize
602	}
603	return 0
604}
605
606func (x *ListFlowsRequest) GetPageToken() string {
607	if x != nil {
608		return x.PageToken
609	}
610	return ""
611}
612
613func (x *ListFlowsRequest) GetLanguageCode() string {
614	if x != nil {
615		return x.LanguageCode
616	}
617	return ""
618}
619
620// The response message for [Flows.ListFlows][google.cloud.dialogflow.cx.v3beta1.Flows.ListFlows].
621type ListFlowsResponse struct {
622	state         protoimpl.MessageState
623	sizeCache     protoimpl.SizeCache
624	unknownFields protoimpl.UnknownFields
625
626	// The list of flows. There will be a maximum number of items returned based
627	// on the page_size field in the request.
628	Flows []*Flow `protobuf:"bytes,1,rep,name=flows,proto3" json:"flows,omitempty"`
629	// Token to retrieve the next page of results, or empty if there are no more
630	// results in the list.
631	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
632}
633
634func (x *ListFlowsResponse) Reset() {
635	*x = ListFlowsResponse{}
636	if protoimpl.UnsafeEnabled {
637		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[5]
638		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
639		ms.StoreMessageInfo(mi)
640	}
641}
642
643func (x *ListFlowsResponse) String() string {
644	return protoimpl.X.MessageStringOf(x)
645}
646
647func (*ListFlowsResponse) ProtoMessage() {}
648
649func (x *ListFlowsResponse) ProtoReflect() protoreflect.Message {
650	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[5]
651	if protoimpl.UnsafeEnabled && x != nil {
652		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
653		if ms.LoadMessageInfo() == nil {
654			ms.StoreMessageInfo(mi)
655		}
656		return ms
657	}
658	return mi.MessageOf(x)
659}
660
661// Deprecated: Use ListFlowsResponse.ProtoReflect.Descriptor instead.
662func (*ListFlowsResponse) Descriptor() ([]byte, []int) {
663	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{5}
664}
665
666func (x *ListFlowsResponse) GetFlows() []*Flow {
667	if x != nil {
668		return x.Flows
669	}
670	return nil
671}
672
673func (x *ListFlowsResponse) GetNextPageToken() string {
674	if x != nil {
675		return x.NextPageToken
676	}
677	return ""
678}
679
680// The response message for [Flows.GetFlow][google.cloud.dialogflow.cx.v3beta1.Flows.GetFlow].
681type GetFlowRequest struct {
682	state         protoimpl.MessageState
683	sizeCache     protoimpl.SizeCache
684	unknownFields protoimpl.UnknownFields
685
686	// Required. The name of the flow to get.
687	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
688	// ID>/flows/<Flow ID>`.
689	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
690	// The language to retrieve the flow for. The following fields are language
691	// dependent:
692	//
693	// *  `Flow.event_handlers.trigger_fulfillment.messages`
694	// *  `Flow.transition_routes.trigger_fulfillment.messages`
695	//
696	// If not specified, the agent's default language is used.
697	// [Many
698	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
699	// are supported.
700	// Note: languages must be enabled in the agent before they can be used.
701	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
702}
703
704func (x *GetFlowRequest) Reset() {
705	*x = GetFlowRequest{}
706	if protoimpl.UnsafeEnabled {
707		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[6]
708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
709		ms.StoreMessageInfo(mi)
710	}
711}
712
713func (x *GetFlowRequest) String() string {
714	return protoimpl.X.MessageStringOf(x)
715}
716
717func (*GetFlowRequest) ProtoMessage() {}
718
719func (x *GetFlowRequest) ProtoReflect() protoreflect.Message {
720	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[6]
721	if protoimpl.UnsafeEnabled && x != nil {
722		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
723		if ms.LoadMessageInfo() == nil {
724			ms.StoreMessageInfo(mi)
725		}
726		return ms
727	}
728	return mi.MessageOf(x)
729}
730
731// Deprecated: Use GetFlowRequest.ProtoReflect.Descriptor instead.
732func (*GetFlowRequest) Descriptor() ([]byte, []int) {
733	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{6}
734}
735
736func (x *GetFlowRequest) GetName() string {
737	if x != nil {
738		return x.Name
739	}
740	return ""
741}
742
743func (x *GetFlowRequest) GetLanguageCode() string {
744	if x != nil {
745		return x.LanguageCode
746	}
747	return ""
748}
749
750// The request message for [Flows.UpdateFlow][google.cloud.dialogflow.cx.v3beta1.Flows.UpdateFlow].
751type UpdateFlowRequest struct {
752	state         protoimpl.MessageState
753	sizeCache     protoimpl.SizeCache
754	unknownFields protoimpl.UnknownFields
755
756	// Required. The flow to update.
757	Flow *Flow `protobuf:"bytes,1,opt,name=flow,proto3" json:"flow,omitempty"`
758	// Required. The mask to control which fields get updated. If `update_mask` is not
759	// specified, an error will be returned.
760	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
761	// The language of the following fields in `flow`:
762	//
763	// *  `Flow.event_handlers.trigger_fulfillment.messages`
764	// *  `Flow.transition_routes.trigger_fulfillment.messages`
765	//
766	// If not specified, the agent's default language is used.
767	// [Many
768	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
769	// are supported.
770	// Note: languages must be enabled in the agent before they can be used.
771	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
772}
773
774func (x *UpdateFlowRequest) Reset() {
775	*x = UpdateFlowRequest{}
776	if protoimpl.UnsafeEnabled {
777		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[7]
778		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
779		ms.StoreMessageInfo(mi)
780	}
781}
782
783func (x *UpdateFlowRequest) String() string {
784	return protoimpl.X.MessageStringOf(x)
785}
786
787func (*UpdateFlowRequest) ProtoMessage() {}
788
789func (x *UpdateFlowRequest) ProtoReflect() protoreflect.Message {
790	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[7]
791	if protoimpl.UnsafeEnabled && x != nil {
792		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
793		if ms.LoadMessageInfo() == nil {
794			ms.StoreMessageInfo(mi)
795		}
796		return ms
797	}
798	return mi.MessageOf(x)
799}
800
801// Deprecated: Use UpdateFlowRequest.ProtoReflect.Descriptor instead.
802func (*UpdateFlowRequest) Descriptor() ([]byte, []int) {
803	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{7}
804}
805
806func (x *UpdateFlowRequest) GetFlow() *Flow {
807	if x != nil {
808		return x.Flow
809	}
810	return nil
811}
812
813func (x *UpdateFlowRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
814	if x != nil {
815		return x.UpdateMask
816	}
817	return nil
818}
819
820func (x *UpdateFlowRequest) GetLanguageCode() string {
821	if x != nil {
822		return x.LanguageCode
823	}
824	return ""
825}
826
827// The request message for [Flows.TrainFlow][google.cloud.dialogflow.cx.v3beta1.Flows.TrainFlow].
828type TrainFlowRequest struct {
829	state         protoimpl.MessageState
830	sizeCache     protoimpl.SizeCache
831	unknownFields protoimpl.UnknownFields
832
833	// Required. The flow to train.
834	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
835	// ID>/flows/<Flow ID>`.
836	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
837}
838
839func (x *TrainFlowRequest) Reset() {
840	*x = TrainFlowRequest{}
841	if protoimpl.UnsafeEnabled {
842		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[8]
843		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
844		ms.StoreMessageInfo(mi)
845	}
846}
847
848func (x *TrainFlowRequest) String() string {
849	return protoimpl.X.MessageStringOf(x)
850}
851
852func (*TrainFlowRequest) ProtoMessage() {}
853
854func (x *TrainFlowRequest) ProtoReflect() protoreflect.Message {
855	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[8]
856	if protoimpl.UnsafeEnabled && x != nil {
857		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
858		if ms.LoadMessageInfo() == nil {
859			ms.StoreMessageInfo(mi)
860		}
861		return ms
862	}
863	return mi.MessageOf(x)
864}
865
866// Deprecated: Use TrainFlowRequest.ProtoReflect.Descriptor instead.
867func (*TrainFlowRequest) Descriptor() ([]byte, []int) {
868	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{8}
869}
870
871func (x *TrainFlowRequest) GetName() string {
872	if x != nil {
873		return x.Name
874	}
875	return ""
876}
877
878// The request message for [Flows.ValidateFlow][google.cloud.dialogflow.cx.v3beta1.Flows.ValidateFlow].
879type ValidateFlowRequest struct {
880	state         protoimpl.MessageState
881	sizeCache     protoimpl.SizeCache
882	unknownFields protoimpl.UnknownFields
883
884	// Required. The flow to validate.
885	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
886	// ID>/flows/<Flow ID>`.
887	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
888	// If not specified, the agent's default language is used.
889	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
890}
891
892func (x *ValidateFlowRequest) Reset() {
893	*x = ValidateFlowRequest{}
894	if protoimpl.UnsafeEnabled {
895		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[9]
896		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
897		ms.StoreMessageInfo(mi)
898	}
899}
900
901func (x *ValidateFlowRequest) String() string {
902	return protoimpl.X.MessageStringOf(x)
903}
904
905func (*ValidateFlowRequest) ProtoMessage() {}
906
907func (x *ValidateFlowRequest) ProtoReflect() protoreflect.Message {
908	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[9]
909	if protoimpl.UnsafeEnabled && x != nil {
910		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
911		if ms.LoadMessageInfo() == nil {
912			ms.StoreMessageInfo(mi)
913		}
914		return ms
915	}
916	return mi.MessageOf(x)
917}
918
919// Deprecated: Use ValidateFlowRequest.ProtoReflect.Descriptor instead.
920func (*ValidateFlowRequest) Descriptor() ([]byte, []int) {
921	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{9}
922}
923
924func (x *ValidateFlowRequest) GetName() string {
925	if x != nil {
926		return x.Name
927	}
928	return ""
929}
930
931func (x *ValidateFlowRequest) GetLanguageCode() string {
932	if x != nil {
933		return x.LanguageCode
934	}
935	return ""
936}
937
938// The request message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult].
939type GetFlowValidationResultRequest struct {
940	state         protoimpl.MessageState
941	sizeCache     protoimpl.SizeCache
942	unknownFields protoimpl.UnknownFields
943
944	// Required. The flow name.
945	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
946	// ID>/flows/<Flow ID>/validationResult`.
947	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
948	// If not specified, the agent's default language is used.
949	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
950}
951
952func (x *GetFlowValidationResultRequest) Reset() {
953	*x = GetFlowValidationResultRequest{}
954	if protoimpl.UnsafeEnabled {
955		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[10]
956		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
957		ms.StoreMessageInfo(mi)
958	}
959}
960
961func (x *GetFlowValidationResultRequest) String() string {
962	return protoimpl.X.MessageStringOf(x)
963}
964
965func (*GetFlowValidationResultRequest) ProtoMessage() {}
966
967func (x *GetFlowValidationResultRequest) ProtoReflect() protoreflect.Message {
968	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[10]
969	if protoimpl.UnsafeEnabled && x != nil {
970		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
971		if ms.LoadMessageInfo() == nil {
972			ms.StoreMessageInfo(mi)
973		}
974		return ms
975	}
976	return mi.MessageOf(x)
977}
978
979// Deprecated: Use GetFlowValidationResultRequest.ProtoReflect.Descriptor instead.
980func (*GetFlowValidationResultRequest) Descriptor() ([]byte, []int) {
981	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{10}
982}
983
984func (x *GetFlowValidationResultRequest) GetName() string {
985	if x != nil {
986		return x.Name
987	}
988	return ""
989}
990
991func (x *GetFlowValidationResultRequest) GetLanguageCode() string {
992	if x != nil {
993		return x.LanguageCode
994	}
995	return ""
996}
997
998// The response message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult].
999type FlowValidationResult struct {
1000	state         protoimpl.MessageState
1001	sizeCache     protoimpl.SizeCache
1002	unknownFields protoimpl.UnknownFields
1003
1004	// The unique identifier of the flow validation result.
1005	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1006	// ID>/flows/<Flow ID>/validationResult`.
1007	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1008	// Contains all validation messages.
1009	ValidationMessages []*ValidationMessage `protobuf:"bytes,2,rep,name=validation_messages,json=validationMessages,proto3" json:"validation_messages,omitempty"`
1010	// Last time the flow was validated.
1011	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
1012}
1013
1014func (x *FlowValidationResult) Reset() {
1015	*x = FlowValidationResult{}
1016	if protoimpl.UnsafeEnabled {
1017		mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[11]
1018		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1019		ms.StoreMessageInfo(mi)
1020	}
1021}
1022
1023func (x *FlowValidationResult) String() string {
1024	return protoimpl.X.MessageStringOf(x)
1025}
1026
1027func (*FlowValidationResult) ProtoMessage() {}
1028
1029func (x *FlowValidationResult) ProtoReflect() protoreflect.Message {
1030	mi := &file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[11]
1031	if protoimpl.UnsafeEnabled && x != nil {
1032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033		if ms.LoadMessageInfo() == nil {
1034			ms.StoreMessageInfo(mi)
1035		}
1036		return ms
1037	}
1038	return mi.MessageOf(x)
1039}
1040
1041// Deprecated: Use FlowValidationResult.ProtoReflect.Descriptor instead.
1042func (*FlowValidationResult) Descriptor() ([]byte, []int) {
1043	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP(), []int{11}
1044}
1045
1046func (x *FlowValidationResult) GetName() string {
1047	if x != nil {
1048		return x.Name
1049	}
1050	return ""
1051}
1052
1053func (x *FlowValidationResult) GetValidationMessages() []*ValidationMessage {
1054	if x != nil {
1055		return x.ValidationMessages
1056	}
1057	return nil
1058}
1059
1060func (x *FlowValidationResult) GetUpdateTime() *timestamppb.Timestamp {
1061	if x != nil {
1062		return x.UpdateTime
1063	}
1064	return nil
1065}
1066
1067var File_google_cloud_dialogflow_cx_v3beta1_flow_proto protoreflect.FileDescriptor
1068
1069var file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDesc = []byte{
1070	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
1071	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
1072	0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1073	0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
1074	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
1075	0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
1076	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1077	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c,
1078	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
1079	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
1080	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f,
1081	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
1082	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
1083	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f,
1084	0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x65, 0x2e,
1085	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
1086	0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63,
1087	0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
1088	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1089	0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
1090	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1091	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1092	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
1093	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
1094	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
1095	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
1096	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
1097	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x03, 0x0a, 0x0b, 0x4e, 0x6c, 0x75, 0x53,
1098	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
1099	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f,
1100	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
1101	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
1102	0x2e, 0x4e, 0x6c, 0x75, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x64,
1103	0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70,
1104	0x65, 0x12, 0x39, 0x0a, 0x18, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
1105	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20,
1106	0x01, 0x28, 0x02, 0x52, 0x17, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
1107	0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x71, 0x0a, 0x13,
1108	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d,
1109	0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1110	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1111	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e,
1112	0x6c, 0x75, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
1113	0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x6d, 0x6f,
1114	0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x22,
1115	0x59, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16,
1116	0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
1117	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x4f, 0x44, 0x45,
1118	0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10,
1119	0x01, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
1120	0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x03, 0x22, 0x7b, 0x0a, 0x11, 0x4d, 0x6f,
1121	0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12,
1122	0x23, 0x0a, 0x1f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e,
1123	0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
1124	0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x52,
1125	0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f,
1126	0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x44, 0x45, 0x4c,
1127	0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d,
1128	0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x22, 0xca, 0x04, 0x0a, 0x04, 0x46, 0x6c, 0x6f, 0x77,
1129	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
1130	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
1131	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1132	0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
1133	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
1134	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60,
1135	0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75,
1136	0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1137	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1138	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
1139	0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x10,
1140	0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
1141	0x12, 0x57, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65,
1142	0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1143	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1144	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76,
1145	0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e,
1146	0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x17, 0x74, 0x72, 0x61,
1147	0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72,
1148	0x6f, 0x75, 0x70, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x42, 0x33, 0xfa, 0x41, 0x30, 0x0a,
1149	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1150	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x6e, 0x73,
1151	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
1152	0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65,
1153	0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x6e, 0x6c, 0x75, 0x5f, 0x73, 0x65,
1154	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
1155	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
1156	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
1157	0x31, 0x2e, 0x4e, 0x6c, 0x75, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0b, 0x6e,
1158	0x6c, 0x75, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x68, 0xea, 0x41, 0x65, 0x0a,
1159	0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1160	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x12,
1161	0x43, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
1162	0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
1163	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
1164	0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x7b, 0x66,
1165	0x6c, 0x6f, 0x77, 0x7d, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46,
1166	0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61,
1167	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa,
1168	0x41, 0x20, 0x12, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
1169	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c,
1170	0x6f, 0x77, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x66, 0x6c,
1171	0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1172	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1173	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c,
1174	0x6f, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x23, 0x0a,
1175	0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
1176	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,
1177	0x64, 0x65, 0x22, 0x65, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77,
1178	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1179	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64,
1180	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1181	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x04, 0x6e,
1182	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
1183	0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x10, 0x4c, 0x69,
1184	0x73, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e,
1185	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26,
1186	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x12, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1187	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
1188	0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b,
1189	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1190	0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
1191	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
1192	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
1193	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
1194	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22,
1195	0x7b, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
1196	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20,
1197	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1198	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1199	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x05, 0x66,
1200	0x6c, 0x6f, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
1201	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
1202	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x71, 0x0a, 0x0e,
1203	0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a,
1204	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41,
1205	0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
1206	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
1207	0x46, 0x6c, 0x6f, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
1208	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1209	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22,
1210	0xbd, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65,
1211	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20,
1212	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1213	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1214	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x42, 0x03, 0xe0,
1215	0x41, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
1216	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
1217	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1218	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
1219	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
1220	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
1221	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22,
1222	0x4e, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
1223	0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1224	0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
1225	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
1226	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
1227	0x76, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52,
1228	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
1229	0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x69,
1230	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1231	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x04, 0x6e, 0x61,
1232	0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63,
1233	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75,
1234	0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x46,
1235	0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
1236	0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x6e, 0x61,
1237	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30,
1238	0x0a, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
1239	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77,
1240	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
1241	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
1242	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c,
1243	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x14,
1244	0x46, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1245	0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
1246	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69,
1247	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18,
1248	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1249	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
1250	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
1251	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x76, 0x61,
1252	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
1253	0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
1254	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1255	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
1256	0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8a, 0x01,
1257	0xea, 0x41, 0x86, 0x01, 0x0a, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
1258	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
1259	0x46, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1260	0x73, 0x75, 0x6c, 0x74, 0x12, 0x54, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
1261	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1262	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67,
1263	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x66, 0x6c, 0x6f,
1264	0x77, 0x73, 0x2f, 0x7b, 0x66, 0x6c, 0x6f, 0x77, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
1265	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0xdd, 0x0d, 0x0a, 0x05, 0x46,
1266	0x6c, 0x6f, 0x77, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46,
1267	0x6c, 0x6f, 0x77, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1268	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1269	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46,
1270	0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
1271	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
1272	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1273	0x46, 0x6c, 0x6f, 0x77, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x37, 0x2f, 0x76,
1274	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
1275	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
1276	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
1277	0x66, 0x6c, 0x6f, 0x77, 0x73, 0x3a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0xda, 0x41, 0x0b, 0x70, 0x61,
1278	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x44, 0x65,
1279	0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1280	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1281	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65,
1282	0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
1283	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1284	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a,
1285	0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
1286	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
1287	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
1288	0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
1289	0xc2, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x34, 0x2e,
1290	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1291	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1292	0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75,
1293	0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1294	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1295	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f,
1296	0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93,
1297	0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61,
1298	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
1299	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e,
1300	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61,
1301	0x72, 0x65, 0x6e, 0x74, 0x12, 0xaf, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77,
1302	0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1303	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
1304	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71,
1305	0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1306	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
1307	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x22, 0x46,
1308	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
1309	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
1310	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
1311	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
1312	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74,
1313	0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1314	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
1315	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
1316	0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67,
1317	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
1318	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
1319	0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x32, 0x3c,
1320	0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x6e,
1321	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
1322	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
1323	0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x66, 0x6c,
1324	0x6f, 0x77, 0xda, 0x41, 0x10, 0x66, 0x6c, 0x6f, 0x77, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
1325	0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xe4, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x46,
1326	0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1327	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1328	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x46, 0x6c,
1329	0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1330	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
1331	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
1332	0x42, 0x22, 0x3d, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
1333	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
1334	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
1335	0x2a, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x69, 0x6e,
1336	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2f, 0x0a, 0x15, 0x67,
1337	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
1338	0x6d, 0x70, 0x74, 0x79, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1339	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0xce, 0x01, 0x0a,
1340	0x0c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x2e,
1341	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1342	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1343	0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52,
1344	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1345	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
1346	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77,
1347	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
1348	0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,
1349	0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
1350	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
1351	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a,
1352	0x7d, 0x3a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xf0, 0x01,
1353	0x0a, 0x17, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
1354	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1355	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1356	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
1357	0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1358	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e,
1359	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1360	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1361	0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
1362	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12,
1363	0x48, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
1364	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
1365	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
1366	0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
1367	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1368	0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
1369	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
1370	0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
1371	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
1372	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c,
1373	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1374	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
1375	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0xa8, 0x01, 0x0a, 0x26, 0x63,
1376	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1377	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
1378	0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x46, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f,
1379	0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
1380	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
1381	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
1382	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33,
1383	0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46,
1384	0xaa, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1385	0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33,
1386	0x42, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1387}
1388
1389var (
1390	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescOnce sync.Once
1391	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDesc
1392)
1393
1394func file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescGZIP() []byte {
1395	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescOnce.Do(func() {
1396		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescData)
1397	})
1398	return file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDescData
1399}
1400
1401var file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
1402var file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
1403var file_google_cloud_dialogflow_cx_v3beta1_flow_proto_goTypes = []interface{}{
1404	(NluSettings_ModelType)(0),             // 0: google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType
1405	(NluSettings_ModelTrainingMode)(0),     // 1: google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode
1406	(*NluSettings)(nil),                    // 2: google.cloud.dialogflow.cx.v3beta1.NluSettings
1407	(*Flow)(nil),                           // 3: google.cloud.dialogflow.cx.v3beta1.Flow
1408	(*CreateFlowRequest)(nil),              // 4: google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest
1409	(*DeleteFlowRequest)(nil),              // 5: google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest
1410	(*ListFlowsRequest)(nil),               // 6: google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest
1411	(*ListFlowsResponse)(nil),              // 7: google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse
1412	(*GetFlowRequest)(nil),                 // 8: google.cloud.dialogflow.cx.v3beta1.GetFlowRequest
1413	(*UpdateFlowRequest)(nil),              // 9: google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest
1414	(*TrainFlowRequest)(nil),               // 10: google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest
1415	(*ValidateFlowRequest)(nil),            // 11: google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest
1416	(*GetFlowValidationResultRequest)(nil), // 12: google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest
1417	(*FlowValidationResult)(nil),           // 13: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult
1418	(*TransitionRoute)(nil),                // 14: google.cloud.dialogflow.cx.v3beta1.TransitionRoute
1419	(*EventHandler)(nil),                   // 15: google.cloud.dialogflow.cx.v3beta1.EventHandler
1420	(*fieldmaskpb.FieldMask)(nil),          // 16: google.protobuf.FieldMask
1421	(*ValidationMessage)(nil),              // 17: google.cloud.dialogflow.cx.v3beta1.ValidationMessage
1422	(*timestamppb.Timestamp)(nil),          // 18: google.protobuf.Timestamp
1423	(*emptypb.Empty)(nil),                  // 19: google.protobuf.Empty
1424	(*longrunning.Operation)(nil),          // 20: google.longrunning.Operation
1425}
1426var file_google_cloud_dialogflow_cx_v3beta1_flow_proto_depIdxs = []int32{
1427	0,  // 0: google.cloud.dialogflow.cx.v3beta1.NluSettings.model_type:type_name -> google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType
1428	1,  // 1: google.cloud.dialogflow.cx.v3beta1.NluSettings.model_training_mode:type_name -> google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode
1429	14, // 2: google.cloud.dialogflow.cx.v3beta1.Flow.transition_routes:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute
1430	15, // 3: google.cloud.dialogflow.cx.v3beta1.Flow.event_handlers:type_name -> google.cloud.dialogflow.cx.v3beta1.EventHandler
1431	2,  // 4: google.cloud.dialogflow.cx.v3beta1.Flow.nlu_settings:type_name -> google.cloud.dialogflow.cx.v3beta1.NluSettings
1432	3,  // 5: google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest.flow:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
1433	3,  // 6: google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse.flows:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
1434	3,  // 7: google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest.flow:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
1435	16, // 8: google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest.update_mask:type_name -> google.protobuf.FieldMask
1436	17, // 9: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult.validation_messages:type_name -> google.cloud.dialogflow.cx.v3beta1.ValidationMessage
1437	18, // 10: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult.update_time:type_name -> google.protobuf.Timestamp
1438	4,  // 11: google.cloud.dialogflow.cx.v3beta1.Flows.CreateFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest
1439	5,  // 12: google.cloud.dialogflow.cx.v3beta1.Flows.DeleteFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest
1440	6,  // 13: google.cloud.dialogflow.cx.v3beta1.Flows.ListFlows:input_type -> google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest
1441	8,  // 14: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.GetFlowRequest
1442	9,  // 15: google.cloud.dialogflow.cx.v3beta1.Flows.UpdateFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest
1443	10, // 16: google.cloud.dialogflow.cx.v3beta1.Flows.TrainFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest
1444	11, // 17: google.cloud.dialogflow.cx.v3beta1.Flows.ValidateFlow:input_type -> google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest
1445	12, // 18: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult:input_type -> google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest
1446	3,  // 19: google.cloud.dialogflow.cx.v3beta1.Flows.CreateFlow:output_type -> google.cloud.dialogflow.cx.v3beta1.Flow
1447	19, // 20: google.cloud.dialogflow.cx.v3beta1.Flows.DeleteFlow:output_type -> google.protobuf.Empty
1448	7,  // 21: google.cloud.dialogflow.cx.v3beta1.Flows.ListFlows:output_type -> google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse
1449	3,  // 22: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlow:output_type -> google.cloud.dialogflow.cx.v3beta1.Flow
1450	3,  // 23: google.cloud.dialogflow.cx.v3beta1.Flows.UpdateFlow:output_type -> google.cloud.dialogflow.cx.v3beta1.Flow
1451	20, // 24: google.cloud.dialogflow.cx.v3beta1.Flows.TrainFlow:output_type -> google.longrunning.Operation
1452	13, // 25: google.cloud.dialogflow.cx.v3beta1.Flows.ValidateFlow:output_type -> google.cloud.dialogflow.cx.v3beta1.FlowValidationResult
1453	13, // 26: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult:output_type -> google.cloud.dialogflow.cx.v3beta1.FlowValidationResult
1454	19, // [19:27] is the sub-list for method output_type
1455	11, // [11:19] is the sub-list for method input_type
1456	11, // [11:11] is the sub-list for extension type_name
1457	11, // [11:11] is the sub-list for extension extendee
1458	0,  // [0:11] is the sub-list for field type_name
1459}
1460
1461func init() { file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init() }
1462func file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init() {
1463	if File_google_cloud_dialogflow_cx_v3beta1_flow_proto != nil {
1464		return
1465	}
1466	file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()
1467	file_google_cloud_dialogflow_cx_v3beta1_validation_message_proto_init()
1468	if !protoimpl.UnsafeEnabled {
1469		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1470			switch v := v.(*NluSettings); i {
1471			case 0:
1472				return &v.state
1473			case 1:
1474				return &v.sizeCache
1475			case 2:
1476				return &v.unknownFields
1477			default:
1478				return nil
1479			}
1480		}
1481		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1482			switch v := v.(*Flow); i {
1483			case 0:
1484				return &v.state
1485			case 1:
1486				return &v.sizeCache
1487			case 2:
1488				return &v.unknownFields
1489			default:
1490				return nil
1491			}
1492		}
1493		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1494			switch v := v.(*CreateFlowRequest); i {
1495			case 0:
1496				return &v.state
1497			case 1:
1498				return &v.sizeCache
1499			case 2:
1500				return &v.unknownFields
1501			default:
1502				return nil
1503			}
1504		}
1505		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1506			switch v := v.(*DeleteFlowRequest); i {
1507			case 0:
1508				return &v.state
1509			case 1:
1510				return &v.sizeCache
1511			case 2:
1512				return &v.unknownFields
1513			default:
1514				return nil
1515			}
1516		}
1517		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1518			switch v := v.(*ListFlowsRequest); i {
1519			case 0:
1520				return &v.state
1521			case 1:
1522				return &v.sizeCache
1523			case 2:
1524				return &v.unknownFields
1525			default:
1526				return nil
1527			}
1528		}
1529		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1530			switch v := v.(*ListFlowsResponse); i {
1531			case 0:
1532				return &v.state
1533			case 1:
1534				return &v.sizeCache
1535			case 2:
1536				return &v.unknownFields
1537			default:
1538				return nil
1539			}
1540		}
1541		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1542			switch v := v.(*GetFlowRequest); i {
1543			case 0:
1544				return &v.state
1545			case 1:
1546				return &v.sizeCache
1547			case 2:
1548				return &v.unknownFields
1549			default:
1550				return nil
1551			}
1552		}
1553		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1554			switch v := v.(*UpdateFlowRequest); i {
1555			case 0:
1556				return &v.state
1557			case 1:
1558				return &v.sizeCache
1559			case 2:
1560				return &v.unknownFields
1561			default:
1562				return nil
1563			}
1564		}
1565		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1566			switch v := v.(*TrainFlowRequest); i {
1567			case 0:
1568				return &v.state
1569			case 1:
1570				return &v.sizeCache
1571			case 2:
1572				return &v.unknownFields
1573			default:
1574				return nil
1575			}
1576		}
1577		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1578			switch v := v.(*ValidateFlowRequest); i {
1579			case 0:
1580				return &v.state
1581			case 1:
1582				return &v.sizeCache
1583			case 2:
1584				return &v.unknownFields
1585			default:
1586				return nil
1587			}
1588		}
1589		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1590			switch v := v.(*GetFlowValidationResultRequest); i {
1591			case 0:
1592				return &v.state
1593			case 1:
1594				return &v.sizeCache
1595			case 2:
1596				return &v.unknownFields
1597			default:
1598				return nil
1599			}
1600		}
1601		file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1602			switch v := v.(*FlowValidationResult); i {
1603			case 0:
1604				return &v.state
1605			case 1:
1606				return &v.sizeCache
1607			case 2:
1608				return &v.unknownFields
1609			default:
1610				return nil
1611			}
1612		}
1613	}
1614	type x struct{}
1615	out := protoimpl.TypeBuilder{
1616		File: protoimpl.DescBuilder{
1617			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1618			RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDesc,
1619			NumEnums:      2,
1620			NumMessages:   12,
1621			NumExtensions: 0,
1622			NumServices:   1,
1623		},
1624		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_flow_proto_goTypes,
1625		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_flow_proto_depIdxs,
1626		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_flow_proto_enumTypes,
1627		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_flow_proto_msgTypes,
1628	}.Build()
1629	File_google_cloud_dialogflow_cx_v3beta1_flow_proto = out.File
1630	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_rawDesc = nil
1631	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_goTypes = nil
1632	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_depIdxs = nil
1633}
1634
1635// Reference imports to suppress errors if they are not otherwise used.
1636var _ context.Context
1637var _ grpc.ClientConnInterface
1638
1639// This is a compile-time assertion to ensure that this generated file
1640// is compatible with the grpc package it is being compiled against.
1641const _ = grpc.SupportPackageIsVersion6
1642
1643// FlowsClient is the client API for Flows service.
1644//
1645// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1646type FlowsClient interface {
1647	// Creates a flow in the specified agent.
1648	CreateFlow(ctx context.Context, in *CreateFlowRequest, opts ...grpc.CallOption) (*Flow, error)
1649	// Deletes a specified flow.
1650	DeleteFlow(ctx context.Context, in *DeleteFlowRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
1651	// Returns the list of all flows in the specified agent.
1652	ListFlows(ctx context.Context, in *ListFlowsRequest, opts ...grpc.CallOption) (*ListFlowsResponse, error)
1653	// Retrieves the specified flow.
1654	GetFlow(ctx context.Context, in *GetFlowRequest, opts ...grpc.CallOption) (*Flow, error)
1655	// Updates the specified flow.
1656	UpdateFlow(ctx context.Context, in *UpdateFlowRequest, opts ...grpc.CallOption) (*Flow, error)
1657	// Trains the specified flow. Note that only the flow in 'draft' environment
1658	// is trained.
1659	TrainFlow(ctx context.Context, in *TrainFlowRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1660	// Validates the specified flow and creates or updates validation results.
1661	// Please call this API after the training is completed to get the complete
1662	// validation results.
1663	ValidateFlow(ctx context.Context, in *ValidateFlowRequest, opts ...grpc.CallOption) (*FlowValidationResult, error)
1664	// Gets the latest flow validation result. Flow validation is performed
1665	// when ValidateFlow is called.
1666	GetFlowValidationResult(ctx context.Context, in *GetFlowValidationResultRequest, opts ...grpc.CallOption) (*FlowValidationResult, error)
1667}
1668
1669type flowsClient struct {
1670	cc grpc.ClientConnInterface
1671}
1672
1673func NewFlowsClient(cc grpc.ClientConnInterface) FlowsClient {
1674	return &flowsClient{cc}
1675}
1676
1677func (c *flowsClient) CreateFlow(ctx context.Context, in *CreateFlowRequest, opts ...grpc.CallOption) (*Flow, error) {
1678	out := new(Flow)
1679	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/CreateFlow", in, out, opts...)
1680	if err != nil {
1681		return nil, err
1682	}
1683	return out, nil
1684}
1685
1686func (c *flowsClient) DeleteFlow(ctx context.Context, in *DeleteFlowRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
1687	out := new(emptypb.Empty)
1688	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/DeleteFlow", in, out, opts...)
1689	if err != nil {
1690		return nil, err
1691	}
1692	return out, nil
1693}
1694
1695func (c *flowsClient) ListFlows(ctx context.Context, in *ListFlowsRequest, opts ...grpc.CallOption) (*ListFlowsResponse, error) {
1696	out := new(ListFlowsResponse)
1697	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/ListFlows", in, out, opts...)
1698	if err != nil {
1699		return nil, err
1700	}
1701	return out, nil
1702}
1703
1704func (c *flowsClient) GetFlow(ctx context.Context, in *GetFlowRequest, opts ...grpc.CallOption) (*Flow, error) {
1705	out := new(Flow)
1706	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/GetFlow", in, out, opts...)
1707	if err != nil {
1708		return nil, err
1709	}
1710	return out, nil
1711}
1712
1713func (c *flowsClient) UpdateFlow(ctx context.Context, in *UpdateFlowRequest, opts ...grpc.CallOption) (*Flow, error) {
1714	out := new(Flow)
1715	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/UpdateFlow", in, out, opts...)
1716	if err != nil {
1717		return nil, err
1718	}
1719	return out, nil
1720}
1721
1722func (c *flowsClient) TrainFlow(ctx context.Context, in *TrainFlowRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1723	out := new(longrunning.Operation)
1724	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/TrainFlow", in, out, opts...)
1725	if err != nil {
1726		return nil, err
1727	}
1728	return out, nil
1729}
1730
1731func (c *flowsClient) ValidateFlow(ctx context.Context, in *ValidateFlowRequest, opts ...grpc.CallOption) (*FlowValidationResult, error) {
1732	out := new(FlowValidationResult)
1733	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/ValidateFlow", in, out, opts...)
1734	if err != nil {
1735		return nil, err
1736	}
1737	return out, nil
1738}
1739
1740func (c *flowsClient) GetFlowValidationResult(ctx context.Context, in *GetFlowValidationResultRequest, opts ...grpc.CallOption) (*FlowValidationResult, error) {
1741	out := new(FlowValidationResult)
1742	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Flows/GetFlowValidationResult", in, out, opts...)
1743	if err != nil {
1744		return nil, err
1745	}
1746	return out, nil
1747}
1748
1749// FlowsServer is the server API for Flows service.
1750type FlowsServer interface {
1751	// Creates a flow in the specified agent.
1752	CreateFlow(context.Context, *CreateFlowRequest) (*Flow, error)
1753	// Deletes a specified flow.
1754	DeleteFlow(context.Context, *DeleteFlowRequest) (*emptypb.Empty, error)
1755	// Returns the list of all flows in the specified agent.
1756	ListFlows(context.Context, *ListFlowsRequest) (*ListFlowsResponse, error)
1757	// Retrieves the specified flow.
1758	GetFlow(context.Context, *GetFlowRequest) (*Flow, error)
1759	// Updates the specified flow.
1760	UpdateFlow(context.Context, *UpdateFlowRequest) (*Flow, error)
1761	// Trains the specified flow. Note that only the flow in 'draft' environment
1762	// is trained.
1763	TrainFlow(context.Context, *TrainFlowRequest) (*longrunning.Operation, error)
1764	// Validates the specified flow and creates or updates validation results.
1765	// Please call this API after the training is completed to get the complete
1766	// validation results.
1767	ValidateFlow(context.Context, *ValidateFlowRequest) (*FlowValidationResult, error)
1768	// Gets the latest flow validation result. Flow validation is performed
1769	// when ValidateFlow is called.
1770	GetFlowValidationResult(context.Context, *GetFlowValidationResultRequest) (*FlowValidationResult, error)
1771}
1772
1773// UnimplementedFlowsServer can be embedded to have forward compatible implementations.
1774type UnimplementedFlowsServer struct {
1775}
1776
1777func (*UnimplementedFlowsServer) CreateFlow(context.Context, *CreateFlowRequest) (*Flow, error) {
1778	return nil, status.Errorf(codes.Unimplemented, "method CreateFlow not implemented")
1779}
1780func (*UnimplementedFlowsServer) DeleteFlow(context.Context, *DeleteFlowRequest) (*emptypb.Empty, error) {
1781	return nil, status.Errorf(codes.Unimplemented, "method DeleteFlow not implemented")
1782}
1783func (*UnimplementedFlowsServer) ListFlows(context.Context, *ListFlowsRequest) (*ListFlowsResponse, error) {
1784	return nil, status.Errorf(codes.Unimplemented, "method ListFlows not implemented")
1785}
1786func (*UnimplementedFlowsServer) GetFlow(context.Context, *GetFlowRequest) (*Flow, error) {
1787	return nil, status.Errorf(codes.Unimplemented, "method GetFlow not implemented")
1788}
1789func (*UnimplementedFlowsServer) UpdateFlow(context.Context, *UpdateFlowRequest) (*Flow, error) {
1790	return nil, status.Errorf(codes.Unimplemented, "method UpdateFlow not implemented")
1791}
1792func (*UnimplementedFlowsServer) TrainFlow(context.Context, *TrainFlowRequest) (*longrunning.Operation, error) {
1793	return nil, status.Errorf(codes.Unimplemented, "method TrainFlow not implemented")
1794}
1795func (*UnimplementedFlowsServer) ValidateFlow(context.Context, *ValidateFlowRequest) (*FlowValidationResult, error) {
1796	return nil, status.Errorf(codes.Unimplemented, "method ValidateFlow not implemented")
1797}
1798func (*UnimplementedFlowsServer) GetFlowValidationResult(context.Context, *GetFlowValidationResultRequest) (*FlowValidationResult, error) {
1799	return nil, status.Errorf(codes.Unimplemented, "method GetFlowValidationResult not implemented")
1800}
1801
1802func RegisterFlowsServer(s *grpc.Server, srv FlowsServer) {
1803	s.RegisterService(&_Flows_serviceDesc, srv)
1804}
1805
1806func _Flows_CreateFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1807	in := new(CreateFlowRequest)
1808	if err := dec(in); err != nil {
1809		return nil, err
1810	}
1811	if interceptor == nil {
1812		return srv.(FlowsServer).CreateFlow(ctx, in)
1813	}
1814	info := &grpc.UnaryServerInfo{
1815		Server:     srv,
1816		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/CreateFlow",
1817	}
1818	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1819		return srv.(FlowsServer).CreateFlow(ctx, req.(*CreateFlowRequest))
1820	}
1821	return interceptor(ctx, in, info, handler)
1822}
1823
1824func _Flows_DeleteFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1825	in := new(DeleteFlowRequest)
1826	if err := dec(in); err != nil {
1827		return nil, err
1828	}
1829	if interceptor == nil {
1830		return srv.(FlowsServer).DeleteFlow(ctx, in)
1831	}
1832	info := &grpc.UnaryServerInfo{
1833		Server:     srv,
1834		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/DeleteFlow",
1835	}
1836	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1837		return srv.(FlowsServer).DeleteFlow(ctx, req.(*DeleteFlowRequest))
1838	}
1839	return interceptor(ctx, in, info, handler)
1840}
1841
1842func _Flows_ListFlows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1843	in := new(ListFlowsRequest)
1844	if err := dec(in); err != nil {
1845		return nil, err
1846	}
1847	if interceptor == nil {
1848		return srv.(FlowsServer).ListFlows(ctx, in)
1849	}
1850	info := &grpc.UnaryServerInfo{
1851		Server:     srv,
1852		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/ListFlows",
1853	}
1854	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1855		return srv.(FlowsServer).ListFlows(ctx, req.(*ListFlowsRequest))
1856	}
1857	return interceptor(ctx, in, info, handler)
1858}
1859
1860func _Flows_GetFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1861	in := new(GetFlowRequest)
1862	if err := dec(in); err != nil {
1863		return nil, err
1864	}
1865	if interceptor == nil {
1866		return srv.(FlowsServer).GetFlow(ctx, in)
1867	}
1868	info := &grpc.UnaryServerInfo{
1869		Server:     srv,
1870		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/GetFlow",
1871	}
1872	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1873		return srv.(FlowsServer).GetFlow(ctx, req.(*GetFlowRequest))
1874	}
1875	return interceptor(ctx, in, info, handler)
1876}
1877
1878func _Flows_UpdateFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1879	in := new(UpdateFlowRequest)
1880	if err := dec(in); err != nil {
1881		return nil, err
1882	}
1883	if interceptor == nil {
1884		return srv.(FlowsServer).UpdateFlow(ctx, in)
1885	}
1886	info := &grpc.UnaryServerInfo{
1887		Server:     srv,
1888		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/UpdateFlow",
1889	}
1890	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1891		return srv.(FlowsServer).UpdateFlow(ctx, req.(*UpdateFlowRequest))
1892	}
1893	return interceptor(ctx, in, info, handler)
1894}
1895
1896func _Flows_TrainFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1897	in := new(TrainFlowRequest)
1898	if err := dec(in); err != nil {
1899		return nil, err
1900	}
1901	if interceptor == nil {
1902		return srv.(FlowsServer).TrainFlow(ctx, in)
1903	}
1904	info := &grpc.UnaryServerInfo{
1905		Server:     srv,
1906		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/TrainFlow",
1907	}
1908	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1909		return srv.(FlowsServer).TrainFlow(ctx, req.(*TrainFlowRequest))
1910	}
1911	return interceptor(ctx, in, info, handler)
1912}
1913
1914func _Flows_ValidateFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1915	in := new(ValidateFlowRequest)
1916	if err := dec(in); err != nil {
1917		return nil, err
1918	}
1919	if interceptor == nil {
1920		return srv.(FlowsServer).ValidateFlow(ctx, in)
1921	}
1922	info := &grpc.UnaryServerInfo{
1923		Server:     srv,
1924		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/ValidateFlow",
1925	}
1926	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1927		return srv.(FlowsServer).ValidateFlow(ctx, req.(*ValidateFlowRequest))
1928	}
1929	return interceptor(ctx, in, info, handler)
1930}
1931
1932func _Flows_GetFlowValidationResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1933	in := new(GetFlowValidationResultRequest)
1934	if err := dec(in); err != nil {
1935		return nil, err
1936	}
1937	if interceptor == nil {
1938		return srv.(FlowsServer).GetFlowValidationResult(ctx, in)
1939	}
1940	info := &grpc.UnaryServerInfo{
1941		Server:     srv,
1942		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Flows/GetFlowValidationResult",
1943	}
1944	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1945		return srv.(FlowsServer).GetFlowValidationResult(ctx, req.(*GetFlowValidationResultRequest))
1946	}
1947	return interceptor(ctx, in, info, handler)
1948}
1949
1950var _Flows_serviceDesc = grpc.ServiceDesc{
1951	ServiceName: "google.cloud.dialogflow.cx.v3beta1.Flows",
1952	HandlerType: (*FlowsServer)(nil),
1953	Methods: []grpc.MethodDesc{
1954		{
1955			MethodName: "CreateFlow",
1956			Handler:    _Flows_CreateFlow_Handler,
1957		},
1958		{
1959			MethodName: "DeleteFlow",
1960			Handler:    _Flows_DeleteFlow_Handler,
1961		},
1962		{
1963			MethodName: "ListFlows",
1964			Handler:    _Flows_ListFlows_Handler,
1965		},
1966		{
1967			MethodName: "GetFlow",
1968			Handler:    _Flows_GetFlow_Handler,
1969		},
1970		{
1971			MethodName: "UpdateFlow",
1972			Handler:    _Flows_UpdateFlow_Handler,
1973		},
1974		{
1975			MethodName: "TrainFlow",
1976			Handler:    _Flows_TrainFlow_Handler,
1977		},
1978		{
1979			MethodName: "ValidateFlow",
1980			Handler:    _Flows_ValidateFlow_Handler,
1981		},
1982		{
1983			MethodName: "GetFlowValidationResult",
1984			Handler:    _Flows_GetFlowValidationResult_Handler,
1985		},
1986	},
1987	Streams:  []grpc.StreamDesc{},
1988	Metadata: "google/cloud/dialogflow/cx/v3beta1/flow.proto",
1989}
1990