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.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/dialogflow/cx/v3beta1/test_case.proto
20
21package cx
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	status "google.golang.org/genproto/googleapis/rpc/status"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status1 "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	structpb "google.golang.org/protobuf/types/known/structpb"
39	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// The test result for a test case and an agent environment.
50type TestResult int32
51
52const (
53	// Not specified. Should never be used.
54	TestResult_TEST_RESULT_UNSPECIFIED TestResult = 0
55	// The test passed.
56	TestResult_PASSED TestResult = 1
57	// The test did not pass.
58	TestResult_FAILED TestResult = 2
59)
60
61// Enum value maps for TestResult.
62var (
63	TestResult_name = map[int32]string{
64		0: "TEST_RESULT_UNSPECIFIED",
65		1: "PASSED",
66		2: "FAILED",
67	}
68	TestResult_value = map[string]int32{
69		"TEST_RESULT_UNSPECIFIED": 0,
70		"PASSED":                  1,
71		"FAILED":                  2,
72	}
73)
74
75func (x TestResult) Enum() *TestResult {
76	p := new(TestResult)
77	*p = x
78	return p
79}
80
81func (x TestResult) String() string {
82	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
83}
84
85func (TestResult) Descriptor() protoreflect.EnumDescriptor {
86	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[0].Descriptor()
87}
88
89func (TestResult) Type() protoreflect.EnumType {
90	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[0]
91}
92
93func (x TestResult) Number() protoreflect.EnumNumber {
94	return protoreflect.EnumNumber(x)
95}
96
97// Deprecated: Use TestResult.Descriptor instead.
98func (TestResult) EnumDescriptor() ([]byte, []int) {
99	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{0}
100}
101
102// What part of the message replay differs from the test case.
103type TestRunDifference_DiffType int32
104
105const (
106	// Should never be used.
107	TestRunDifference_DIFF_TYPE_UNSPECIFIED TestRunDifference_DiffType = 0
108	// The intent.
109	TestRunDifference_INTENT TestRunDifference_DiffType = 1
110	// The page.
111	TestRunDifference_PAGE TestRunDifference_DiffType = 2
112	// The parameters.
113	TestRunDifference_PARAMETERS TestRunDifference_DiffType = 3
114	// The message utterance.
115	TestRunDifference_UTTERANCE TestRunDifference_DiffType = 4
116)
117
118// Enum value maps for TestRunDifference_DiffType.
119var (
120	TestRunDifference_DiffType_name = map[int32]string{
121		0: "DIFF_TYPE_UNSPECIFIED",
122		1: "INTENT",
123		2: "PAGE",
124		3: "PARAMETERS",
125		4: "UTTERANCE",
126	}
127	TestRunDifference_DiffType_value = map[string]int32{
128		"DIFF_TYPE_UNSPECIFIED": 0,
129		"INTENT":                1,
130		"PAGE":                  2,
131		"PARAMETERS":            3,
132		"UTTERANCE":             4,
133	}
134)
135
136func (x TestRunDifference_DiffType) Enum() *TestRunDifference_DiffType {
137	p := new(TestRunDifference_DiffType)
138	*p = x
139	return p
140}
141
142func (x TestRunDifference_DiffType) String() string {
143	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
144}
145
146func (TestRunDifference_DiffType) Descriptor() protoreflect.EnumDescriptor {
147	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[1].Descriptor()
148}
149
150func (TestRunDifference_DiffType) Type() protoreflect.EnumType {
151	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[1]
152}
153
154func (x TestRunDifference_DiffType) Number() protoreflect.EnumNumber {
155	return protoreflect.EnumNumber(x)
156}
157
158// Deprecated: Use TestRunDifference_DiffType.Descriptor instead.
159func (TestRunDifference_DiffType) EnumDescriptor() ([]byte, []int) {
160	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{4, 0}
161}
162
163// The type of coverage score requested.
164type CalculateCoverageRequest_CoverageType int32
165
166const (
167	// Should never be used.
168	CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED CalculateCoverageRequest_CoverageType = 0
169	// Intent coverage.
170	CalculateCoverageRequest_INTENT CalculateCoverageRequest_CoverageType = 1
171	// Page transition coverage.
172	CalculateCoverageRequest_PAGE_TRANSITION CalculateCoverageRequest_CoverageType = 2
173	// Transition route group coverage.
174	CalculateCoverageRequest_TRANSITION_ROUTE_GROUP CalculateCoverageRequest_CoverageType = 3
175)
176
177// Enum value maps for CalculateCoverageRequest_CoverageType.
178var (
179	CalculateCoverageRequest_CoverageType_name = map[int32]string{
180		0: "COVERAGE_TYPE_UNSPECIFIED",
181		1: "INTENT",
182		2: "PAGE_TRANSITION",
183		3: "TRANSITION_ROUTE_GROUP",
184	}
185	CalculateCoverageRequest_CoverageType_value = map[string]int32{
186		"COVERAGE_TYPE_UNSPECIFIED": 0,
187		"INTENT":                    1,
188		"PAGE_TRANSITION":           2,
189		"TRANSITION_ROUTE_GROUP":    3,
190	}
191)
192
193func (x CalculateCoverageRequest_CoverageType) Enum() *CalculateCoverageRequest_CoverageType {
194	p := new(CalculateCoverageRequest_CoverageType)
195	*p = x
196	return p
197}
198
199func (x CalculateCoverageRequest_CoverageType) String() string {
200	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
201}
202
203func (CalculateCoverageRequest_CoverageType) Descriptor() protoreflect.EnumDescriptor {
204	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[2].Descriptor()
205}
206
207func (CalculateCoverageRequest_CoverageType) Type() protoreflect.EnumType {
208	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[2]
209}
210
211func (x CalculateCoverageRequest_CoverageType) Number() protoreflect.EnumNumber {
212	return protoreflect.EnumNumber(x)
213}
214
215// Deprecated: Use CalculateCoverageRequest_CoverageType.Descriptor instead.
216func (CalculateCoverageRequest_CoverageType) EnumDescriptor() ([]byte, []int) {
217	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{8, 0}
218}
219
220// Specifies how much test case information to include in the response.
221type ListTestCasesRequest_TestCaseView int32
222
223const (
224	// The default / unset value.
225	// The API will default to the BASIC view.
226	ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED ListTestCasesRequest_TestCaseView = 0
227	// Include basic metadata about the test case, but not the conversation
228	// turns. This is the default value.
229	ListTestCasesRequest_BASIC ListTestCasesRequest_TestCaseView = 1
230	// Include everything.
231	ListTestCasesRequest_FULL ListTestCasesRequest_TestCaseView = 2
232)
233
234// Enum value maps for ListTestCasesRequest_TestCaseView.
235var (
236	ListTestCasesRequest_TestCaseView_name = map[int32]string{
237		0: "TEST_CASE_VIEW_UNSPECIFIED",
238		1: "BASIC",
239		2: "FULL",
240	}
241	ListTestCasesRequest_TestCaseView_value = map[string]int32{
242		"TEST_CASE_VIEW_UNSPECIFIED": 0,
243		"BASIC":                      1,
244		"FULL":                       2,
245	}
246)
247
248func (x ListTestCasesRequest_TestCaseView) Enum() *ListTestCasesRequest_TestCaseView {
249	p := new(ListTestCasesRequest_TestCaseView)
250	*p = x
251	return p
252}
253
254func (x ListTestCasesRequest_TestCaseView) String() string {
255	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
256}
257
258func (ListTestCasesRequest_TestCaseView) Descriptor() protoreflect.EnumDescriptor {
259	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[3].Descriptor()
260}
261
262func (ListTestCasesRequest_TestCaseView) Type() protoreflect.EnumType {
263	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[3]
264}
265
266func (x ListTestCasesRequest_TestCaseView) Number() protoreflect.EnumNumber {
267	return protoreflect.EnumNumber(x)
268}
269
270// Deprecated: Use ListTestCasesRequest_TestCaseView.Descriptor instead.
271func (ListTestCasesRequest_TestCaseView) EnumDescriptor() ([]byte, []int) {
272	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{10, 0}
273}
274
275// Data format of the exported test cases.
276type ExportTestCasesRequest_DataFormat int32
277
278const (
279	// Unspecified format.
280	ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED ExportTestCasesRequest_DataFormat = 0
281	// Raw bytes.
282	ExportTestCasesRequest_BLOB ExportTestCasesRequest_DataFormat = 1
283	// JSON format.
284	ExportTestCasesRequest_JSON ExportTestCasesRequest_DataFormat = 2
285)
286
287// Enum value maps for ExportTestCasesRequest_DataFormat.
288var (
289	ExportTestCasesRequest_DataFormat_name = map[int32]string{
290		0: "DATA_FORMAT_UNSPECIFIED",
291		1: "BLOB",
292		2: "JSON",
293	}
294	ExportTestCasesRequest_DataFormat_value = map[string]int32{
295		"DATA_FORMAT_UNSPECIFIED": 0,
296		"BLOB":                    1,
297		"JSON":                    2,
298	}
299)
300
301func (x ExportTestCasesRequest_DataFormat) Enum() *ExportTestCasesRequest_DataFormat {
302	p := new(ExportTestCasesRequest_DataFormat)
303	*p = x
304	return p
305}
306
307func (x ExportTestCasesRequest_DataFormat) String() string {
308	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
309}
310
311func (ExportTestCasesRequest_DataFormat) Descriptor() protoreflect.EnumDescriptor {
312	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[4].Descriptor()
313}
314
315func (ExportTestCasesRequest_DataFormat) Type() protoreflect.EnumType {
316	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[4]
317}
318
319func (x ExportTestCasesRequest_DataFormat) Number() protoreflect.EnumNumber {
320	return protoreflect.EnumNumber(x)
321}
322
323// Deprecated: Use ExportTestCasesRequest_DataFormat.Descriptor instead.
324func (ExportTestCasesRequest_DataFormat) EnumDescriptor() ([]byte, []int) {
325	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{27, 0}
326}
327
328// Represents a test case.
329type TestCase struct {
330	state         protoimpl.MessageState
331	sizeCache     protoimpl.SizeCache
332	unknownFields protoimpl.UnknownFields
333
334	// The unique identifier of the test case.
335	// [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase] will populate the name automatically.
336	// Otherwise use format: `projects/<Project ID>/locations/<LocationID>/agents/
337	// <AgentID>/testCases/<TestCase ID>`.
338	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
339	// Tags are short descriptions that users may apply to test cases for
340	// organizational and filtering purposes. Each tag should start with "#" and
341	// has a limit of 30 characters.
342	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
343	// Required. The human-readable name of the test case, unique within the agent. Limit of
344	// 200 characters.
345	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
346	// Additional freeform notes about the test case. Limit of 400 characters.
347	Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"`
348	// Config for the test case.
349	TestConfig *TestConfig `protobuf:"bytes,13,opt,name=test_config,json=testConfig,proto3" json:"test_config,omitempty"`
350	// The conversation turns uttered when the test case was created, in
351	// chronological order. These include the canonical set of agent utterances
352	// that should occur when the agent is working properly.
353	TestCaseConversationTurns []*ConversationTurn `protobuf:"bytes,5,rep,name=test_case_conversation_turns,json=testCaseConversationTurns,proto3" json:"test_case_conversation_turns,omitempty"`
354	// Output only. When the test was created.
355	CreationTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
356	// The latest test result.
357	LastTestResult *TestCaseResult `protobuf:"bytes,12,opt,name=last_test_result,json=lastTestResult,proto3" json:"last_test_result,omitempty"`
358}
359
360func (x *TestCase) Reset() {
361	*x = TestCase{}
362	if protoimpl.UnsafeEnabled {
363		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0]
364		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
365		ms.StoreMessageInfo(mi)
366	}
367}
368
369func (x *TestCase) String() string {
370	return protoimpl.X.MessageStringOf(x)
371}
372
373func (*TestCase) ProtoMessage() {}
374
375func (x *TestCase) ProtoReflect() protoreflect.Message {
376	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0]
377	if protoimpl.UnsafeEnabled && x != nil {
378		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
379		if ms.LoadMessageInfo() == nil {
380			ms.StoreMessageInfo(mi)
381		}
382		return ms
383	}
384	return mi.MessageOf(x)
385}
386
387// Deprecated: Use TestCase.ProtoReflect.Descriptor instead.
388func (*TestCase) Descriptor() ([]byte, []int) {
389	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{0}
390}
391
392func (x *TestCase) GetName() string {
393	if x != nil {
394		return x.Name
395	}
396	return ""
397}
398
399func (x *TestCase) GetTags() []string {
400	if x != nil {
401		return x.Tags
402	}
403	return nil
404}
405
406func (x *TestCase) GetDisplayName() string {
407	if x != nil {
408		return x.DisplayName
409	}
410	return ""
411}
412
413func (x *TestCase) GetNotes() string {
414	if x != nil {
415		return x.Notes
416	}
417	return ""
418}
419
420func (x *TestCase) GetTestConfig() *TestConfig {
421	if x != nil {
422		return x.TestConfig
423	}
424	return nil
425}
426
427func (x *TestCase) GetTestCaseConversationTurns() []*ConversationTurn {
428	if x != nil {
429		return x.TestCaseConversationTurns
430	}
431	return nil
432}
433
434func (x *TestCase) GetCreationTime() *timestamppb.Timestamp {
435	if x != nil {
436		return x.CreationTime
437	}
438	return nil
439}
440
441func (x *TestCase) GetLastTestResult() *TestCaseResult {
442	if x != nil {
443		return x.LastTestResult
444	}
445	return nil
446}
447
448// Represents a result from running a test case in an agent environment.
449type TestCaseResult struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The resource name for the test case result. Format:
455	// `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/testCases/
456	// <TestCase ID>/results/<TestCaseResult ID>`.
457	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
458	// Environment where the test was run. If not set, it indicates the draft
459	// environment.
460	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
461	// The conversation turns uttered during the test case replay in chronological
462	// order.
463	ConversationTurns []*ConversationTurn `protobuf:"bytes,3,rep,name=conversation_turns,json=conversationTurns,proto3" json:"conversation_turns,omitempty"`
464	// Whether the test case passed in the agent environment.
465	TestResult TestResult `protobuf:"varint,4,opt,name=test_result,json=testResult,proto3,enum=google.cloud.dialogflow.cx.v3beta1.TestResult" json:"test_result,omitempty"`
466	// The time that the test was run.
467	TestTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
468}
469
470func (x *TestCaseResult) Reset() {
471	*x = TestCaseResult{}
472	if protoimpl.UnsafeEnabled {
473		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1]
474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
475		ms.StoreMessageInfo(mi)
476	}
477}
478
479func (x *TestCaseResult) String() string {
480	return protoimpl.X.MessageStringOf(x)
481}
482
483func (*TestCaseResult) ProtoMessage() {}
484
485func (x *TestCaseResult) ProtoReflect() protoreflect.Message {
486	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1]
487	if protoimpl.UnsafeEnabled && x != nil {
488		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
489		if ms.LoadMessageInfo() == nil {
490			ms.StoreMessageInfo(mi)
491		}
492		return ms
493	}
494	return mi.MessageOf(x)
495}
496
497// Deprecated: Use TestCaseResult.ProtoReflect.Descriptor instead.
498func (*TestCaseResult) Descriptor() ([]byte, []int) {
499	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{1}
500}
501
502func (x *TestCaseResult) GetName() string {
503	if x != nil {
504		return x.Name
505	}
506	return ""
507}
508
509func (x *TestCaseResult) GetEnvironment() string {
510	if x != nil {
511		return x.Environment
512	}
513	return ""
514}
515
516func (x *TestCaseResult) GetConversationTurns() []*ConversationTurn {
517	if x != nil {
518		return x.ConversationTurns
519	}
520	return nil
521}
522
523func (x *TestCaseResult) GetTestResult() TestResult {
524	if x != nil {
525		return x.TestResult
526	}
527	return TestResult_TEST_RESULT_UNSPECIFIED
528}
529
530func (x *TestCaseResult) GetTestTime() *timestamppb.Timestamp {
531	if x != nil {
532		return x.TestTime
533	}
534	return nil
535}
536
537// Represents configurations for a test case.
538type TestConfig struct {
539	state         protoimpl.MessageState
540	sizeCache     protoimpl.SizeCache
541	unknownFields protoimpl.UnknownFields
542
543	// Session parameters to be compared when calculating differences.
544	TrackingParameters []string `protobuf:"bytes,1,rep,name=tracking_parameters,json=trackingParameters,proto3" json:"tracking_parameters,omitempty"`
545	// Flow name. If not set, default start flow is assumed.
546	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
547	// ID>/flows/<Flow ID>`.
548	Flow string `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"`
549}
550
551func (x *TestConfig) Reset() {
552	*x = TestConfig{}
553	if protoimpl.UnsafeEnabled {
554		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2]
555		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
556		ms.StoreMessageInfo(mi)
557	}
558}
559
560func (x *TestConfig) String() string {
561	return protoimpl.X.MessageStringOf(x)
562}
563
564func (*TestConfig) ProtoMessage() {}
565
566func (x *TestConfig) ProtoReflect() protoreflect.Message {
567	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2]
568	if protoimpl.UnsafeEnabled && x != nil {
569		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
570		if ms.LoadMessageInfo() == nil {
571			ms.StoreMessageInfo(mi)
572		}
573		return ms
574	}
575	return mi.MessageOf(x)
576}
577
578// Deprecated: Use TestConfig.ProtoReflect.Descriptor instead.
579func (*TestConfig) Descriptor() ([]byte, []int) {
580	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{2}
581}
582
583func (x *TestConfig) GetTrackingParameters() []string {
584	if x != nil {
585		return x.TrackingParameters
586	}
587	return nil
588}
589
590func (x *TestConfig) GetFlow() string {
591	if x != nil {
592		return x.Flow
593	}
594	return ""
595}
596
597// One interaction between a human and virtual agent. The human provides some
598// input and the virtual agent provides a response.
599type ConversationTurn struct {
600	state         protoimpl.MessageState
601	sizeCache     protoimpl.SizeCache
602	unknownFields protoimpl.UnknownFields
603
604	// The user input.
605	UserInput *ConversationTurn_UserInput `protobuf:"bytes,1,opt,name=user_input,json=userInput,proto3" json:"user_input,omitempty"`
606	// The virtual agent output.
607	VirtualAgentOutput *ConversationTurn_VirtualAgentOutput `protobuf:"bytes,2,opt,name=virtual_agent_output,json=virtualAgentOutput,proto3" json:"virtual_agent_output,omitempty"`
608}
609
610func (x *ConversationTurn) Reset() {
611	*x = ConversationTurn{}
612	if protoimpl.UnsafeEnabled {
613		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3]
614		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
615		ms.StoreMessageInfo(mi)
616	}
617}
618
619func (x *ConversationTurn) String() string {
620	return protoimpl.X.MessageStringOf(x)
621}
622
623func (*ConversationTurn) ProtoMessage() {}
624
625func (x *ConversationTurn) ProtoReflect() protoreflect.Message {
626	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3]
627	if protoimpl.UnsafeEnabled && x != nil {
628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
629		if ms.LoadMessageInfo() == nil {
630			ms.StoreMessageInfo(mi)
631		}
632		return ms
633	}
634	return mi.MessageOf(x)
635}
636
637// Deprecated: Use ConversationTurn.ProtoReflect.Descriptor instead.
638func (*ConversationTurn) Descriptor() ([]byte, []int) {
639	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3}
640}
641
642func (x *ConversationTurn) GetUserInput() *ConversationTurn_UserInput {
643	if x != nil {
644		return x.UserInput
645	}
646	return nil
647}
648
649func (x *ConversationTurn) GetVirtualAgentOutput() *ConversationTurn_VirtualAgentOutput {
650	if x != nil {
651		return x.VirtualAgentOutput
652	}
653	return nil
654}
655
656// The description of differences between original and replayed agent output.
657type TestRunDifference struct {
658	state         protoimpl.MessageState
659	sizeCache     protoimpl.SizeCache
660	unknownFields protoimpl.UnknownFields
661
662	// The type of diff.
663	Type TestRunDifference_DiffType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.TestRunDifference_DiffType" json:"type,omitempty"`
664	// A description of the diff, showing the actual output vs expected output.
665	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
666}
667
668func (x *TestRunDifference) Reset() {
669	*x = TestRunDifference{}
670	if protoimpl.UnsafeEnabled {
671		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4]
672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
673		ms.StoreMessageInfo(mi)
674	}
675}
676
677func (x *TestRunDifference) String() string {
678	return protoimpl.X.MessageStringOf(x)
679}
680
681func (*TestRunDifference) ProtoMessage() {}
682
683func (x *TestRunDifference) ProtoReflect() protoreflect.Message {
684	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4]
685	if protoimpl.UnsafeEnabled && x != nil {
686		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
687		if ms.LoadMessageInfo() == nil {
688			ms.StoreMessageInfo(mi)
689		}
690		return ms
691	}
692	return mi.MessageOf(x)
693}
694
695// Deprecated: Use TestRunDifference.ProtoReflect.Descriptor instead.
696func (*TestRunDifference) Descriptor() ([]byte, []int) {
697	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{4}
698}
699
700func (x *TestRunDifference) GetType() TestRunDifference_DiffType {
701	if x != nil {
702		return x.Type
703	}
704	return TestRunDifference_DIFF_TYPE_UNSPECIFIED
705}
706
707func (x *TestRunDifference) GetDescription() string {
708	if x != nil {
709		return x.Description
710	}
711	return ""
712}
713
714// Transition coverage represents the percentage of all possible page
715// transitions (page-level transition routes and event handlers, excluding
716// transition route groups) present within any of a parent's test cases.
717type TransitionCoverage struct {
718	state         protoimpl.MessageState
719	sizeCache     protoimpl.SizeCache
720	unknownFields protoimpl.UnknownFields
721
722	// The list of Transitions present in the agent.
723	Transitions []*TransitionCoverage_Transition `protobuf:"bytes,1,rep,name=transitions,proto3" json:"transitions,omitempty"`
724	// The percent of transitions in the agent that are covered.
725	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
726}
727
728func (x *TransitionCoverage) Reset() {
729	*x = TransitionCoverage{}
730	if protoimpl.UnsafeEnabled {
731		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5]
732		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
733		ms.StoreMessageInfo(mi)
734	}
735}
736
737func (x *TransitionCoverage) String() string {
738	return protoimpl.X.MessageStringOf(x)
739}
740
741func (*TransitionCoverage) ProtoMessage() {}
742
743func (x *TransitionCoverage) ProtoReflect() protoreflect.Message {
744	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5]
745	if protoimpl.UnsafeEnabled && x != nil {
746		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
747		if ms.LoadMessageInfo() == nil {
748			ms.StoreMessageInfo(mi)
749		}
750		return ms
751	}
752	return mi.MessageOf(x)
753}
754
755// Deprecated: Use TransitionCoverage.ProtoReflect.Descriptor instead.
756func (*TransitionCoverage) Descriptor() ([]byte, []int) {
757	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5}
758}
759
760func (x *TransitionCoverage) GetTransitions() []*TransitionCoverage_Transition {
761	if x != nil {
762		return x.Transitions
763	}
764	return nil
765}
766
767func (x *TransitionCoverage) GetCoverageScore() float32 {
768	if x != nil {
769		return x.CoverageScore
770	}
771	return 0
772}
773
774// Transition route group coverage represents the percentage of all possible
775// transition routes present within any of a parent's test cases. The results
776// are grouped by the transition route group.
777type TransitionRouteGroupCoverage struct {
778	state         protoimpl.MessageState
779	sizeCache     protoimpl.SizeCache
780	unknownFields protoimpl.UnknownFields
781
782	// Transition route group coverages.
783	Coverages []*TransitionRouteGroupCoverage_Coverage `protobuf:"bytes,1,rep,name=coverages,proto3" json:"coverages,omitempty"`
784	// The percent of transition routes in all the transition route groups that
785	// are covered.
786	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
787}
788
789func (x *TransitionRouteGroupCoverage) Reset() {
790	*x = TransitionRouteGroupCoverage{}
791	if protoimpl.UnsafeEnabled {
792		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6]
793		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
794		ms.StoreMessageInfo(mi)
795	}
796}
797
798func (x *TransitionRouteGroupCoverage) String() string {
799	return protoimpl.X.MessageStringOf(x)
800}
801
802func (*TransitionRouteGroupCoverage) ProtoMessage() {}
803
804func (x *TransitionRouteGroupCoverage) ProtoReflect() protoreflect.Message {
805	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6]
806	if protoimpl.UnsafeEnabled && x != nil {
807		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
808		if ms.LoadMessageInfo() == nil {
809			ms.StoreMessageInfo(mi)
810		}
811		return ms
812	}
813	return mi.MessageOf(x)
814}
815
816// Deprecated: Use TransitionRouteGroupCoverage.ProtoReflect.Descriptor instead.
817func (*TransitionRouteGroupCoverage) Descriptor() ([]byte, []int) {
818	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6}
819}
820
821func (x *TransitionRouteGroupCoverage) GetCoverages() []*TransitionRouteGroupCoverage_Coverage {
822	if x != nil {
823		return x.Coverages
824	}
825	return nil
826}
827
828func (x *TransitionRouteGroupCoverage) GetCoverageScore() float32 {
829	if x != nil {
830		return x.CoverageScore
831	}
832	return 0
833}
834
835// Intent coverage represents the percentage of all possible intents in the
836// agent that are triggered in any of a parent's test cases.
837type IntentCoverage struct {
838	state         protoimpl.MessageState
839	sizeCache     protoimpl.SizeCache
840	unknownFields protoimpl.UnknownFields
841
842	// The list of Intents present in the agent
843	Intents []*IntentCoverage_Intent `protobuf:"bytes,1,rep,name=intents,proto3" json:"intents,omitempty"`
844	// The percent of intents in the agent that are covered.
845	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
846}
847
848func (x *IntentCoverage) Reset() {
849	*x = IntentCoverage{}
850	if protoimpl.UnsafeEnabled {
851		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7]
852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
853		ms.StoreMessageInfo(mi)
854	}
855}
856
857func (x *IntentCoverage) String() string {
858	return protoimpl.X.MessageStringOf(x)
859}
860
861func (*IntentCoverage) ProtoMessage() {}
862
863func (x *IntentCoverage) ProtoReflect() protoreflect.Message {
864	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7]
865	if protoimpl.UnsafeEnabled && x != nil {
866		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
867		if ms.LoadMessageInfo() == nil {
868			ms.StoreMessageInfo(mi)
869		}
870		return ms
871	}
872	return mi.MessageOf(x)
873}
874
875// Deprecated: Use IntentCoverage.ProtoReflect.Descriptor instead.
876func (*IntentCoverage) Descriptor() ([]byte, []int) {
877	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{7}
878}
879
880func (x *IntentCoverage) GetIntents() []*IntentCoverage_Intent {
881	if x != nil {
882		return x.Intents
883	}
884	return nil
885}
886
887func (x *IntentCoverage) GetCoverageScore() float32 {
888	if x != nil {
889		return x.CoverageScore
890	}
891	return 0
892}
893
894// The request message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
895type CalculateCoverageRequest struct {
896	state         protoimpl.MessageState
897	sizeCache     protoimpl.SizeCache
898	unknownFields protoimpl.UnknownFields
899
900	// Required. The agent to calculate coverage for.
901	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
902	Agent string `protobuf:"bytes,3,opt,name=agent,proto3" json:"agent,omitempty"`
903	// Required. The type of coverage requested.
904	Type CalculateCoverageRequest_CoverageType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest_CoverageType" json:"type,omitempty"`
905}
906
907func (x *CalculateCoverageRequest) Reset() {
908	*x = CalculateCoverageRequest{}
909	if protoimpl.UnsafeEnabled {
910		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8]
911		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
912		ms.StoreMessageInfo(mi)
913	}
914}
915
916func (x *CalculateCoverageRequest) String() string {
917	return protoimpl.X.MessageStringOf(x)
918}
919
920func (*CalculateCoverageRequest) ProtoMessage() {}
921
922func (x *CalculateCoverageRequest) ProtoReflect() protoreflect.Message {
923	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8]
924	if protoimpl.UnsafeEnabled && x != nil {
925		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
926		if ms.LoadMessageInfo() == nil {
927			ms.StoreMessageInfo(mi)
928		}
929		return ms
930	}
931	return mi.MessageOf(x)
932}
933
934// Deprecated: Use CalculateCoverageRequest.ProtoReflect.Descriptor instead.
935func (*CalculateCoverageRequest) Descriptor() ([]byte, []int) {
936	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{8}
937}
938
939func (x *CalculateCoverageRequest) GetAgent() string {
940	if x != nil {
941		return x.Agent
942	}
943	return ""
944}
945
946func (x *CalculateCoverageRequest) GetType() CalculateCoverageRequest_CoverageType {
947	if x != nil {
948		return x.Type
949	}
950	return CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED
951}
952
953// The response message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
954type CalculateCoverageResponse struct {
955	state         protoimpl.MessageState
956	sizeCache     protoimpl.SizeCache
957	unknownFields protoimpl.UnknownFields
958
959	// The agent to calculate coverage for.
960	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
961	Agent string `protobuf:"bytes,5,opt,name=agent,proto3" json:"agent,omitempty"`
962	// The type of coverage requested.
963	//
964	// Types that are assignable to CoverageType:
965	//	*CalculateCoverageResponse_IntentCoverage
966	//	*CalculateCoverageResponse_TransitionCoverage
967	//	*CalculateCoverageResponse_RouteGroupCoverage
968	CoverageType isCalculateCoverageResponse_CoverageType `protobuf_oneof:"coverage_type"`
969}
970
971func (x *CalculateCoverageResponse) Reset() {
972	*x = CalculateCoverageResponse{}
973	if protoimpl.UnsafeEnabled {
974		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9]
975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
976		ms.StoreMessageInfo(mi)
977	}
978}
979
980func (x *CalculateCoverageResponse) String() string {
981	return protoimpl.X.MessageStringOf(x)
982}
983
984func (*CalculateCoverageResponse) ProtoMessage() {}
985
986func (x *CalculateCoverageResponse) ProtoReflect() protoreflect.Message {
987	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9]
988	if protoimpl.UnsafeEnabled && x != nil {
989		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
990		if ms.LoadMessageInfo() == nil {
991			ms.StoreMessageInfo(mi)
992		}
993		return ms
994	}
995	return mi.MessageOf(x)
996}
997
998// Deprecated: Use CalculateCoverageResponse.ProtoReflect.Descriptor instead.
999func (*CalculateCoverageResponse) Descriptor() ([]byte, []int) {
1000	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{9}
1001}
1002
1003func (x *CalculateCoverageResponse) GetAgent() string {
1004	if x != nil {
1005		return x.Agent
1006	}
1007	return ""
1008}
1009
1010func (m *CalculateCoverageResponse) GetCoverageType() isCalculateCoverageResponse_CoverageType {
1011	if m != nil {
1012		return m.CoverageType
1013	}
1014	return nil
1015}
1016
1017func (x *CalculateCoverageResponse) GetIntentCoverage() *IntentCoverage {
1018	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_IntentCoverage); ok {
1019		return x.IntentCoverage
1020	}
1021	return nil
1022}
1023
1024func (x *CalculateCoverageResponse) GetTransitionCoverage() *TransitionCoverage {
1025	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_TransitionCoverage); ok {
1026		return x.TransitionCoverage
1027	}
1028	return nil
1029}
1030
1031func (x *CalculateCoverageResponse) GetRouteGroupCoverage() *TransitionRouteGroupCoverage {
1032	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_RouteGroupCoverage); ok {
1033		return x.RouteGroupCoverage
1034	}
1035	return nil
1036}
1037
1038type isCalculateCoverageResponse_CoverageType interface {
1039	isCalculateCoverageResponse_CoverageType()
1040}
1041
1042type CalculateCoverageResponse_IntentCoverage struct {
1043	// Intent coverage.
1044	IntentCoverage *IntentCoverage `protobuf:"bytes,2,opt,name=intent_coverage,json=intentCoverage,proto3,oneof"`
1045}
1046
1047type CalculateCoverageResponse_TransitionCoverage struct {
1048	// Transition (excluding transition route groups) coverage.
1049	TransitionCoverage *TransitionCoverage `protobuf:"bytes,4,opt,name=transition_coverage,json=transitionCoverage,proto3,oneof"`
1050}
1051
1052type CalculateCoverageResponse_RouteGroupCoverage struct {
1053	// Transition route group coverage.
1054	RouteGroupCoverage *TransitionRouteGroupCoverage `protobuf:"bytes,6,opt,name=route_group_coverage,json=routeGroupCoverage,proto3,oneof"`
1055}
1056
1057func (*CalculateCoverageResponse_IntentCoverage) isCalculateCoverageResponse_CoverageType() {}
1058
1059func (*CalculateCoverageResponse_TransitionCoverage) isCalculateCoverageResponse_CoverageType() {}
1060
1061func (*CalculateCoverageResponse_RouteGroupCoverage) isCalculateCoverageResponse_CoverageType() {}
1062
1063// The request message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
1064type ListTestCasesRequest struct {
1065	state         protoimpl.MessageState
1066	sizeCache     protoimpl.SizeCache
1067	unknownFields protoimpl.UnknownFields
1068
1069	// Required. The agent to list all pages for.
1070	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1071	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1072	// The maximum number of items to return in a single page. By default 20.
1073	// Note that when TestCaseView = FULL, the maximum page size allowed is 20.
1074	// When TestCaseView = BASIC, the maximum page size allowed is 500.
1075	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1076	// The next_page_token value returned from a previous list request.
1077	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1078	// Specifies whether response should include all fields or just the metadata.
1079	View ListTestCasesRequest_TestCaseView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest_TestCaseView" json:"view,omitempty"`
1080}
1081
1082func (x *ListTestCasesRequest) Reset() {
1083	*x = ListTestCasesRequest{}
1084	if protoimpl.UnsafeEnabled {
1085		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10]
1086		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1087		ms.StoreMessageInfo(mi)
1088	}
1089}
1090
1091func (x *ListTestCasesRequest) String() string {
1092	return protoimpl.X.MessageStringOf(x)
1093}
1094
1095func (*ListTestCasesRequest) ProtoMessage() {}
1096
1097func (x *ListTestCasesRequest) ProtoReflect() protoreflect.Message {
1098	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10]
1099	if protoimpl.UnsafeEnabled && x != nil {
1100		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1101		if ms.LoadMessageInfo() == nil {
1102			ms.StoreMessageInfo(mi)
1103		}
1104		return ms
1105	}
1106	return mi.MessageOf(x)
1107}
1108
1109// Deprecated: Use ListTestCasesRequest.ProtoReflect.Descriptor instead.
1110func (*ListTestCasesRequest) Descriptor() ([]byte, []int) {
1111	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{10}
1112}
1113
1114func (x *ListTestCasesRequest) GetParent() string {
1115	if x != nil {
1116		return x.Parent
1117	}
1118	return ""
1119}
1120
1121func (x *ListTestCasesRequest) GetPageSize() int32 {
1122	if x != nil {
1123		return x.PageSize
1124	}
1125	return 0
1126}
1127
1128func (x *ListTestCasesRequest) GetPageToken() string {
1129	if x != nil {
1130		return x.PageToken
1131	}
1132	return ""
1133}
1134
1135func (x *ListTestCasesRequest) GetView() ListTestCasesRequest_TestCaseView {
1136	if x != nil {
1137		return x.View
1138	}
1139	return ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED
1140}
1141
1142// The response message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
1143type ListTestCasesResponse struct {
1144	state         protoimpl.MessageState
1145	sizeCache     protoimpl.SizeCache
1146	unknownFields protoimpl.UnknownFields
1147
1148	// The list of test cases. There will be a maximum number of items returned
1149	// based on the page_size field in the request.
1150	TestCases []*TestCase `protobuf:"bytes,1,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1151	// Token to retrieve the next page of results, or empty if there are no more
1152	// results in the list.
1153	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1154}
1155
1156func (x *ListTestCasesResponse) Reset() {
1157	*x = ListTestCasesResponse{}
1158	if protoimpl.UnsafeEnabled {
1159		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11]
1160		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1161		ms.StoreMessageInfo(mi)
1162	}
1163}
1164
1165func (x *ListTestCasesResponse) String() string {
1166	return protoimpl.X.MessageStringOf(x)
1167}
1168
1169func (*ListTestCasesResponse) ProtoMessage() {}
1170
1171func (x *ListTestCasesResponse) ProtoReflect() protoreflect.Message {
1172	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11]
1173	if protoimpl.UnsafeEnabled && x != nil {
1174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175		if ms.LoadMessageInfo() == nil {
1176			ms.StoreMessageInfo(mi)
1177		}
1178		return ms
1179	}
1180	return mi.MessageOf(x)
1181}
1182
1183// Deprecated: Use ListTestCasesResponse.ProtoReflect.Descriptor instead.
1184func (*ListTestCasesResponse) Descriptor() ([]byte, []int) {
1185	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{11}
1186}
1187
1188func (x *ListTestCasesResponse) GetTestCases() []*TestCase {
1189	if x != nil {
1190		return x.TestCases
1191	}
1192	return nil
1193}
1194
1195func (x *ListTestCasesResponse) GetNextPageToken() string {
1196	if x != nil {
1197		return x.NextPageToken
1198	}
1199	return ""
1200}
1201
1202// The request message for [TestCases.BatchDeleteTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases].
1203type BatchDeleteTestCasesRequest struct {
1204	state         protoimpl.MessageState
1205	sizeCache     protoimpl.SizeCache
1206	unknownFields protoimpl.UnknownFields
1207
1208	// Required. The agent to delete test cases from.
1209	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1210	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1211	// Required. Format of test case names: `projects/<Project ID>/locations/
1212	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1213	Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"`
1214}
1215
1216func (x *BatchDeleteTestCasesRequest) Reset() {
1217	*x = BatchDeleteTestCasesRequest{}
1218	if protoimpl.UnsafeEnabled {
1219		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12]
1220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1221		ms.StoreMessageInfo(mi)
1222	}
1223}
1224
1225func (x *BatchDeleteTestCasesRequest) String() string {
1226	return protoimpl.X.MessageStringOf(x)
1227}
1228
1229func (*BatchDeleteTestCasesRequest) ProtoMessage() {}
1230
1231func (x *BatchDeleteTestCasesRequest) ProtoReflect() protoreflect.Message {
1232	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12]
1233	if protoimpl.UnsafeEnabled && x != nil {
1234		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1235		if ms.LoadMessageInfo() == nil {
1236			ms.StoreMessageInfo(mi)
1237		}
1238		return ms
1239	}
1240	return mi.MessageOf(x)
1241}
1242
1243// Deprecated: Use BatchDeleteTestCasesRequest.ProtoReflect.Descriptor instead.
1244func (*BatchDeleteTestCasesRequest) Descriptor() ([]byte, []int) {
1245	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{12}
1246}
1247
1248func (x *BatchDeleteTestCasesRequest) GetParent() string {
1249	if x != nil {
1250		return x.Parent
1251	}
1252	return ""
1253}
1254
1255func (x *BatchDeleteTestCasesRequest) GetNames() []string {
1256	if x != nil {
1257		return x.Names
1258	}
1259	return nil
1260}
1261
1262// The request message for [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase].
1263type CreateTestCaseRequest struct {
1264	state         protoimpl.MessageState
1265	sizeCache     protoimpl.SizeCache
1266	unknownFields protoimpl.UnknownFields
1267
1268	// Required. The agent to create the test case for.
1269	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1270	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1271	// Required. The test case to create.
1272	TestCase *TestCase `protobuf:"bytes,2,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1273}
1274
1275func (x *CreateTestCaseRequest) Reset() {
1276	*x = CreateTestCaseRequest{}
1277	if protoimpl.UnsafeEnabled {
1278		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]
1279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1280		ms.StoreMessageInfo(mi)
1281	}
1282}
1283
1284func (x *CreateTestCaseRequest) String() string {
1285	return protoimpl.X.MessageStringOf(x)
1286}
1287
1288func (*CreateTestCaseRequest) ProtoMessage() {}
1289
1290func (x *CreateTestCaseRequest) ProtoReflect() protoreflect.Message {
1291	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]
1292	if protoimpl.UnsafeEnabled && x != nil {
1293		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1294		if ms.LoadMessageInfo() == nil {
1295			ms.StoreMessageInfo(mi)
1296		}
1297		return ms
1298	}
1299	return mi.MessageOf(x)
1300}
1301
1302// Deprecated: Use CreateTestCaseRequest.ProtoReflect.Descriptor instead.
1303func (*CreateTestCaseRequest) Descriptor() ([]byte, []int) {
1304	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{13}
1305}
1306
1307func (x *CreateTestCaseRequest) GetParent() string {
1308	if x != nil {
1309		return x.Parent
1310	}
1311	return ""
1312}
1313
1314func (x *CreateTestCaseRequest) GetTestCase() *TestCase {
1315	if x != nil {
1316		return x.TestCase
1317	}
1318	return nil
1319}
1320
1321// The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase].
1322type UpdateTestCaseRequest struct {
1323	state         protoimpl.MessageState
1324	sizeCache     protoimpl.SizeCache
1325	unknownFields protoimpl.UnknownFields
1326
1327	// Required. The test case to update.
1328	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1329	// Required. The mask to specify which fields should be updated. The
1330	// [`creationTime`][google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time] and
1331	// [`lastTestResult`][google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result] cannot be updated.
1332	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1333}
1334
1335func (x *UpdateTestCaseRequest) Reset() {
1336	*x = UpdateTestCaseRequest{}
1337	if protoimpl.UnsafeEnabled {
1338		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]
1339		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1340		ms.StoreMessageInfo(mi)
1341	}
1342}
1343
1344func (x *UpdateTestCaseRequest) String() string {
1345	return protoimpl.X.MessageStringOf(x)
1346}
1347
1348func (*UpdateTestCaseRequest) ProtoMessage() {}
1349
1350func (x *UpdateTestCaseRequest) ProtoReflect() protoreflect.Message {
1351	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]
1352	if protoimpl.UnsafeEnabled && x != nil {
1353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1354		if ms.LoadMessageInfo() == nil {
1355			ms.StoreMessageInfo(mi)
1356		}
1357		return ms
1358	}
1359	return mi.MessageOf(x)
1360}
1361
1362// Deprecated: Use UpdateTestCaseRequest.ProtoReflect.Descriptor instead.
1363func (*UpdateTestCaseRequest) Descriptor() ([]byte, []int) {
1364	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{14}
1365}
1366
1367func (x *UpdateTestCaseRequest) GetTestCase() *TestCase {
1368	if x != nil {
1369		return x.TestCase
1370	}
1371	return nil
1372}
1373
1374func (x *UpdateTestCaseRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1375	if x != nil {
1376		return x.UpdateMask
1377	}
1378	return nil
1379}
1380
1381// The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase].
1382type GetTestCaseRequest struct {
1383	state         protoimpl.MessageState
1384	sizeCache     protoimpl.SizeCache
1385	unknownFields protoimpl.UnknownFields
1386
1387	// Required. The name of the testcase.
1388	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1389	// ID>/testCases/<TestCase ID>`.
1390	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1391}
1392
1393func (x *GetTestCaseRequest) Reset() {
1394	*x = GetTestCaseRequest{}
1395	if protoimpl.UnsafeEnabled {
1396		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		ms.StoreMessageInfo(mi)
1399	}
1400}
1401
1402func (x *GetTestCaseRequest) String() string {
1403	return protoimpl.X.MessageStringOf(x)
1404}
1405
1406func (*GetTestCaseRequest) ProtoMessage() {}
1407
1408func (x *GetTestCaseRequest) ProtoReflect() protoreflect.Message {
1409	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]
1410	if protoimpl.UnsafeEnabled && x != nil {
1411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412		if ms.LoadMessageInfo() == nil {
1413			ms.StoreMessageInfo(mi)
1414		}
1415		return ms
1416	}
1417	return mi.MessageOf(x)
1418}
1419
1420// Deprecated: Use GetTestCaseRequest.ProtoReflect.Descriptor instead.
1421func (*GetTestCaseRequest) Descriptor() ([]byte, []int) {
1422	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{15}
1423}
1424
1425func (x *GetTestCaseRequest) GetName() string {
1426	if x != nil {
1427		return x.Name
1428	}
1429	return ""
1430}
1431
1432// The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
1433type RunTestCaseRequest struct {
1434	state         protoimpl.MessageState
1435	sizeCache     protoimpl.SizeCache
1436	unknownFields protoimpl.UnknownFields
1437
1438	// Required. Format of test case name to run: `projects/<Project ID>/locations/
1439	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1440	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1441	// Optional. Environment name. If not set, draft environment is assumed.
1442	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1443	// ID>/environments/<Environment ID>`.
1444	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1445}
1446
1447func (x *RunTestCaseRequest) Reset() {
1448	*x = RunTestCaseRequest{}
1449	if protoimpl.UnsafeEnabled {
1450		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]
1451		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1452		ms.StoreMessageInfo(mi)
1453	}
1454}
1455
1456func (x *RunTestCaseRequest) String() string {
1457	return protoimpl.X.MessageStringOf(x)
1458}
1459
1460func (*RunTestCaseRequest) ProtoMessage() {}
1461
1462func (x *RunTestCaseRequest) ProtoReflect() protoreflect.Message {
1463	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]
1464	if protoimpl.UnsafeEnabled && x != nil {
1465		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1466		if ms.LoadMessageInfo() == nil {
1467			ms.StoreMessageInfo(mi)
1468		}
1469		return ms
1470	}
1471	return mi.MessageOf(x)
1472}
1473
1474// Deprecated: Use RunTestCaseRequest.ProtoReflect.Descriptor instead.
1475func (*RunTestCaseRequest) Descriptor() ([]byte, []int) {
1476	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{16}
1477}
1478
1479func (x *RunTestCaseRequest) GetName() string {
1480	if x != nil {
1481		return x.Name
1482	}
1483	return ""
1484}
1485
1486func (x *RunTestCaseRequest) GetEnvironment() string {
1487	if x != nil {
1488		return x.Environment
1489	}
1490	return ""
1491}
1492
1493// The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
1494type RunTestCaseResponse struct {
1495	state         protoimpl.MessageState
1496	sizeCache     protoimpl.SizeCache
1497	unknownFields protoimpl.UnknownFields
1498
1499	// The result.
1500	Result *TestCaseResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
1501}
1502
1503func (x *RunTestCaseResponse) Reset() {
1504	*x = RunTestCaseResponse{}
1505	if protoimpl.UnsafeEnabled {
1506		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]
1507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1508		ms.StoreMessageInfo(mi)
1509	}
1510}
1511
1512func (x *RunTestCaseResponse) String() string {
1513	return protoimpl.X.MessageStringOf(x)
1514}
1515
1516func (*RunTestCaseResponse) ProtoMessage() {}
1517
1518func (x *RunTestCaseResponse) ProtoReflect() protoreflect.Message {
1519	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]
1520	if protoimpl.UnsafeEnabled && x != nil {
1521		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1522		if ms.LoadMessageInfo() == nil {
1523			ms.StoreMessageInfo(mi)
1524		}
1525		return ms
1526	}
1527	return mi.MessageOf(x)
1528}
1529
1530// Deprecated: Use RunTestCaseResponse.ProtoReflect.Descriptor instead.
1531func (*RunTestCaseResponse) Descriptor() ([]byte, []int) {
1532	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{17}
1533}
1534
1535func (x *RunTestCaseResponse) GetResult() *TestCaseResult {
1536	if x != nil {
1537		return x.Result
1538	}
1539	return nil
1540}
1541
1542// Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase] long running operation.
1543// This message currently has no fields.
1544type RunTestCaseMetadata struct {
1545	state         protoimpl.MessageState
1546	sizeCache     protoimpl.SizeCache
1547	unknownFields protoimpl.UnknownFields
1548}
1549
1550func (x *RunTestCaseMetadata) Reset() {
1551	*x = RunTestCaseMetadata{}
1552	if protoimpl.UnsafeEnabled {
1553		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]
1554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1555		ms.StoreMessageInfo(mi)
1556	}
1557}
1558
1559func (x *RunTestCaseMetadata) String() string {
1560	return protoimpl.X.MessageStringOf(x)
1561}
1562
1563func (*RunTestCaseMetadata) ProtoMessage() {}
1564
1565func (x *RunTestCaseMetadata) ProtoReflect() protoreflect.Message {
1566	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]
1567	if protoimpl.UnsafeEnabled && x != nil {
1568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1569		if ms.LoadMessageInfo() == nil {
1570			ms.StoreMessageInfo(mi)
1571		}
1572		return ms
1573	}
1574	return mi.MessageOf(x)
1575}
1576
1577// Deprecated: Use RunTestCaseMetadata.ProtoReflect.Descriptor instead.
1578func (*RunTestCaseMetadata) Descriptor() ([]byte, []int) {
1579	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{18}
1580}
1581
1582// The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
1583type BatchRunTestCasesRequest struct {
1584	state         protoimpl.MessageState
1585	sizeCache     protoimpl.SizeCache
1586	unknownFields protoimpl.UnknownFields
1587
1588	// Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/
1589	// <AgentID>`.
1590	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1591	// Optional. If not set, draft environment is assumed. Format: `projects/<Project
1592	// ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment
1593	// ID>`.
1594	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1595	// Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1596	// ID>/testCases/<TestCase ID>`.
1597	TestCases []string `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1598}
1599
1600func (x *BatchRunTestCasesRequest) Reset() {
1601	*x = BatchRunTestCasesRequest{}
1602	if protoimpl.UnsafeEnabled {
1603		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]
1604		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1605		ms.StoreMessageInfo(mi)
1606	}
1607}
1608
1609func (x *BatchRunTestCasesRequest) String() string {
1610	return protoimpl.X.MessageStringOf(x)
1611}
1612
1613func (*BatchRunTestCasesRequest) ProtoMessage() {}
1614
1615func (x *BatchRunTestCasesRequest) ProtoReflect() protoreflect.Message {
1616	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]
1617	if protoimpl.UnsafeEnabled && x != nil {
1618		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1619		if ms.LoadMessageInfo() == nil {
1620			ms.StoreMessageInfo(mi)
1621		}
1622		return ms
1623	}
1624	return mi.MessageOf(x)
1625}
1626
1627// Deprecated: Use BatchRunTestCasesRequest.ProtoReflect.Descriptor instead.
1628func (*BatchRunTestCasesRequest) Descriptor() ([]byte, []int) {
1629	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{19}
1630}
1631
1632func (x *BatchRunTestCasesRequest) GetParent() string {
1633	if x != nil {
1634		return x.Parent
1635	}
1636	return ""
1637}
1638
1639func (x *BatchRunTestCasesRequest) GetEnvironment() string {
1640	if x != nil {
1641		return x.Environment
1642	}
1643	return ""
1644}
1645
1646func (x *BatchRunTestCasesRequest) GetTestCases() []string {
1647	if x != nil {
1648		return x.TestCases
1649	}
1650	return nil
1651}
1652
1653// The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
1654type BatchRunTestCasesResponse struct {
1655	state         protoimpl.MessageState
1656	sizeCache     protoimpl.SizeCache
1657	unknownFields protoimpl.UnknownFields
1658
1659	// The test case results. The detailed
1660	// [conversation turns][google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns] are empty in this
1661	// response.
1662	Results []*TestCaseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
1663}
1664
1665func (x *BatchRunTestCasesResponse) Reset() {
1666	*x = BatchRunTestCasesResponse{}
1667	if protoimpl.UnsafeEnabled {
1668		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]
1669		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1670		ms.StoreMessageInfo(mi)
1671	}
1672}
1673
1674func (x *BatchRunTestCasesResponse) String() string {
1675	return protoimpl.X.MessageStringOf(x)
1676}
1677
1678func (*BatchRunTestCasesResponse) ProtoMessage() {}
1679
1680func (x *BatchRunTestCasesResponse) ProtoReflect() protoreflect.Message {
1681	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]
1682	if protoimpl.UnsafeEnabled && x != nil {
1683		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1684		if ms.LoadMessageInfo() == nil {
1685			ms.StoreMessageInfo(mi)
1686		}
1687		return ms
1688	}
1689	return mi.MessageOf(x)
1690}
1691
1692// Deprecated: Use BatchRunTestCasesResponse.ProtoReflect.Descriptor instead.
1693func (*BatchRunTestCasesResponse) Descriptor() ([]byte, []int) {
1694	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{20}
1695}
1696
1697func (x *BatchRunTestCasesResponse) GetResults() []*TestCaseResult {
1698	if x != nil {
1699		return x.Results
1700	}
1701	return nil
1702}
1703
1704// Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases] long running
1705// operation.
1706type BatchRunTestCasesMetadata struct {
1707	state         protoimpl.MessageState
1708	sizeCache     protoimpl.SizeCache
1709	unknownFields protoimpl.UnknownFields
1710
1711	// The test errors.
1712	Errors []*TestError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1713}
1714
1715func (x *BatchRunTestCasesMetadata) Reset() {
1716	*x = BatchRunTestCasesMetadata{}
1717	if protoimpl.UnsafeEnabled {
1718		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]
1719		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1720		ms.StoreMessageInfo(mi)
1721	}
1722}
1723
1724func (x *BatchRunTestCasesMetadata) String() string {
1725	return protoimpl.X.MessageStringOf(x)
1726}
1727
1728func (*BatchRunTestCasesMetadata) ProtoMessage() {}
1729
1730func (x *BatchRunTestCasesMetadata) ProtoReflect() protoreflect.Message {
1731	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]
1732	if protoimpl.UnsafeEnabled && x != nil {
1733		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1734		if ms.LoadMessageInfo() == nil {
1735			ms.StoreMessageInfo(mi)
1736		}
1737		return ms
1738	}
1739	return mi.MessageOf(x)
1740}
1741
1742// Deprecated: Use BatchRunTestCasesMetadata.ProtoReflect.Descriptor instead.
1743func (*BatchRunTestCasesMetadata) Descriptor() ([]byte, []int) {
1744	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{21}
1745}
1746
1747func (x *BatchRunTestCasesMetadata) GetErrors() []*TestError {
1748	if x != nil {
1749		return x.Errors
1750	}
1751	return nil
1752}
1753
1754// Error info for running a test.
1755type TestError struct {
1756	state         protoimpl.MessageState
1757	sizeCache     protoimpl.SizeCache
1758	unknownFields protoimpl.UnknownFields
1759
1760	// The test case resource name.
1761	TestCase string `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1762	// The status associated with the test.
1763	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
1764	// The timestamp when the test was completed.
1765	TestTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
1766}
1767
1768func (x *TestError) Reset() {
1769	*x = TestError{}
1770	if protoimpl.UnsafeEnabled {
1771		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]
1772		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1773		ms.StoreMessageInfo(mi)
1774	}
1775}
1776
1777func (x *TestError) String() string {
1778	return protoimpl.X.MessageStringOf(x)
1779}
1780
1781func (*TestError) ProtoMessage() {}
1782
1783func (x *TestError) ProtoReflect() protoreflect.Message {
1784	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]
1785	if protoimpl.UnsafeEnabled && x != nil {
1786		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1787		if ms.LoadMessageInfo() == nil {
1788			ms.StoreMessageInfo(mi)
1789		}
1790		return ms
1791	}
1792	return mi.MessageOf(x)
1793}
1794
1795// Deprecated: Use TestError.ProtoReflect.Descriptor instead.
1796func (*TestError) Descriptor() ([]byte, []int) {
1797	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{22}
1798}
1799
1800func (x *TestError) GetTestCase() string {
1801	if x != nil {
1802		return x.TestCase
1803	}
1804	return ""
1805}
1806
1807func (x *TestError) GetStatus() *status.Status {
1808	if x != nil {
1809		return x.Status
1810	}
1811	return nil
1812}
1813
1814func (x *TestError) GetTestTime() *timestamppb.Timestamp {
1815	if x != nil {
1816		return x.TestTime
1817	}
1818	return nil
1819}
1820
1821// The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
1822type ImportTestCasesRequest struct {
1823	state         protoimpl.MessageState
1824	sizeCache     protoimpl.SizeCache
1825	unknownFields protoimpl.UnknownFields
1826
1827	// Required. The agent to import test cases to.
1828	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1829	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1830	// Required. The source to import.
1831	//
1832	// Types that are assignable to Source:
1833	//	*ImportTestCasesRequest_GcsUri
1834	//	*ImportTestCasesRequest_Content
1835	Source isImportTestCasesRequest_Source `protobuf_oneof:"source"`
1836}
1837
1838func (x *ImportTestCasesRequest) Reset() {
1839	*x = ImportTestCasesRequest{}
1840	if protoimpl.UnsafeEnabled {
1841		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]
1842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1843		ms.StoreMessageInfo(mi)
1844	}
1845}
1846
1847func (x *ImportTestCasesRequest) String() string {
1848	return protoimpl.X.MessageStringOf(x)
1849}
1850
1851func (*ImportTestCasesRequest) ProtoMessage() {}
1852
1853func (x *ImportTestCasesRequest) ProtoReflect() protoreflect.Message {
1854	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]
1855	if protoimpl.UnsafeEnabled && x != nil {
1856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1857		if ms.LoadMessageInfo() == nil {
1858			ms.StoreMessageInfo(mi)
1859		}
1860		return ms
1861	}
1862	return mi.MessageOf(x)
1863}
1864
1865// Deprecated: Use ImportTestCasesRequest.ProtoReflect.Descriptor instead.
1866func (*ImportTestCasesRequest) Descriptor() ([]byte, []int) {
1867	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{23}
1868}
1869
1870func (x *ImportTestCasesRequest) GetParent() string {
1871	if x != nil {
1872		return x.Parent
1873	}
1874	return ""
1875}
1876
1877func (m *ImportTestCasesRequest) GetSource() isImportTestCasesRequest_Source {
1878	if m != nil {
1879		return m.Source
1880	}
1881	return nil
1882}
1883
1884func (x *ImportTestCasesRequest) GetGcsUri() string {
1885	if x, ok := x.GetSource().(*ImportTestCasesRequest_GcsUri); ok {
1886		return x.GcsUri
1887	}
1888	return ""
1889}
1890
1891func (x *ImportTestCasesRequest) GetContent() []byte {
1892	if x, ok := x.GetSource().(*ImportTestCasesRequest_Content); ok {
1893		return x.Content
1894	}
1895	return nil
1896}
1897
1898type isImportTestCasesRequest_Source interface {
1899	isImportTestCasesRequest_Source()
1900}
1901
1902type ImportTestCasesRequest_GcsUri struct {
1903	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
1904	// to import test cases from. The format of this URI must be
1905	// `gs://<bucket-name>/<object-name>`.
1906	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
1907}
1908
1909type ImportTestCasesRequest_Content struct {
1910	// Uncompressed raw byte content for test cases.
1911	Content []byte `protobuf:"bytes,3,opt,name=content,proto3,oneof"`
1912}
1913
1914func (*ImportTestCasesRequest_GcsUri) isImportTestCasesRequest_Source() {}
1915
1916func (*ImportTestCasesRequest_Content) isImportTestCasesRequest_Source() {}
1917
1918// The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
1919type ImportTestCasesResponse struct {
1920	state         protoimpl.MessageState
1921	sizeCache     protoimpl.SizeCache
1922	unknownFields protoimpl.UnknownFields
1923
1924	// The unique identifiers of the new test cases.
1925	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1926	// ID>/testCases/<TestCase ID>`.
1927	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
1928}
1929
1930func (x *ImportTestCasesResponse) Reset() {
1931	*x = ImportTestCasesResponse{}
1932	if protoimpl.UnsafeEnabled {
1933		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]
1934		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1935		ms.StoreMessageInfo(mi)
1936	}
1937}
1938
1939func (x *ImportTestCasesResponse) String() string {
1940	return protoimpl.X.MessageStringOf(x)
1941}
1942
1943func (*ImportTestCasesResponse) ProtoMessage() {}
1944
1945func (x *ImportTestCasesResponse) ProtoReflect() protoreflect.Message {
1946	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]
1947	if protoimpl.UnsafeEnabled && x != nil {
1948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1949		if ms.LoadMessageInfo() == nil {
1950			ms.StoreMessageInfo(mi)
1951		}
1952		return ms
1953	}
1954	return mi.MessageOf(x)
1955}
1956
1957// Deprecated: Use ImportTestCasesResponse.ProtoReflect.Descriptor instead.
1958func (*ImportTestCasesResponse) Descriptor() ([]byte, []int) {
1959	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{24}
1960}
1961
1962func (x *ImportTestCasesResponse) GetNames() []string {
1963	if x != nil {
1964		return x.Names
1965	}
1966	return nil
1967}
1968
1969// Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases] long running
1970// operation.
1971type ImportTestCasesMetadata struct {
1972	state         protoimpl.MessageState
1973	sizeCache     protoimpl.SizeCache
1974	unknownFields protoimpl.UnknownFields
1975
1976	// Errors for failed test cases.
1977	Errors []*TestCaseError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1978}
1979
1980func (x *ImportTestCasesMetadata) Reset() {
1981	*x = ImportTestCasesMetadata{}
1982	if protoimpl.UnsafeEnabled {
1983		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]
1984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1985		ms.StoreMessageInfo(mi)
1986	}
1987}
1988
1989func (x *ImportTestCasesMetadata) String() string {
1990	return protoimpl.X.MessageStringOf(x)
1991}
1992
1993func (*ImportTestCasesMetadata) ProtoMessage() {}
1994
1995func (x *ImportTestCasesMetadata) ProtoReflect() protoreflect.Message {
1996	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]
1997	if protoimpl.UnsafeEnabled && x != nil {
1998		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1999		if ms.LoadMessageInfo() == nil {
2000			ms.StoreMessageInfo(mi)
2001		}
2002		return ms
2003	}
2004	return mi.MessageOf(x)
2005}
2006
2007// Deprecated: Use ImportTestCasesMetadata.ProtoReflect.Descriptor instead.
2008func (*ImportTestCasesMetadata) Descriptor() ([]byte, []int) {
2009	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{25}
2010}
2011
2012func (x *ImportTestCasesMetadata) GetErrors() []*TestCaseError {
2013	if x != nil {
2014		return x.Errors
2015	}
2016	return nil
2017}
2018
2019// Error info for importing a test.
2020type TestCaseError struct {
2021	state         protoimpl.MessageState
2022	sizeCache     protoimpl.SizeCache
2023	unknownFields protoimpl.UnknownFields
2024
2025	// The test case.
2026	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
2027	// The status associated with the test case.
2028	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
2029}
2030
2031func (x *TestCaseError) Reset() {
2032	*x = TestCaseError{}
2033	if protoimpl.UnsafeEnabled {
2034		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]
2035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2036		ms.StoreMessageInfo(mi)
2037	}
2038}
2039
2040func (x *TestCaseError) String() string {
2041	return protoimpl.X.MessageStringOf(x)
2042}
2043
2044func (*TestCaseError) ProtoMessage() {}
2045
2046func (x *TestCaseError) ProtoReflect() protoreflect.Message {
2047	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]
2048	if protoimpl.UnsafeEnabled && x != nil {
2049		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2050		if ms.LoadMessageInfo() == nil {
2051			ms.StoreMessageInfo(mi)
2052		}
2053		return ms
2054	}
2055	return mi.MessageOf(x)
2056}
2057
2058// Deprecated: Use TestCaseError.ProtoReflect.Descriptor instead.
2059func (*TestCaseError) Descriptor() ([]byte, []int) {
2060	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{26}
2061}
2062
2063func (x *TestCaseError) GetTestCase() *TestCase {
2064	if x != nil {
2065		return x.TestCase
2066	}
2067	return nil
2068}
2069
2070func (x *TestCaseError) GetStatus() *status.Status {
2071	if x != nil {
2072		return x.Status
2073	}
2074	return nil
2075}
2076
2077// The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
2078type ExportTestCasesRequest struct {
2079	state         protoimpl.MessageState
2080	sizeCache     protoimpl.SizeCache
2081	unknownFields protoimpl.UnknownFields
2082
2083	// Required. The agent where to export test cases from.
2084	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
2085	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2086	// The destination to export.
2087	//
2088	// Types that are assignable to Destination:
2089	//	*ExportTestCasesRequest_GcsUri
2090	Destination isExportTestCasesRequest_Destination `protobuf_oneof:"destination"`
2091	// The data format of the exported test cases. If not specified, `BLOB` is
2092	// assumed.
2093	DataFormat ExportTestCasesRequest_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest_DataFormat" json:"data_format,omitempty"`
2094	// The filter expression used to filter exported test cases, see
2095	// [API Filtering](https://aip.dev/160). The expression is case insensitive
2096	// and supports the following syntax:
2097	//
2098	//   name = <value> [OR name = <value>] ...
2099	//
2100	// For example:
2101	//
2102	// *   "name = t1 OR name = t2" matches the test case with the exact resource
2103	//     name "t1" or "t2".
2104	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2105}
2106
2107func (x *ExportTestCasesRequest) Reset() {
2108	*x = ExportTestCasesRequest{}
2109	if protoimpl.UnsafeEnabled {
2110		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]
2111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2112		ms.StoreMessageInfo(mi)
2113	}
2114}
2115
2116func (x *ExportTestCasesRequest) String() string {
2117	return protoimpl.X.MessageStringOf(x)
2118}
2119
2120func (*ExportTestCasesRequest) ProtoMessage() {}
2121
2122func (x *ExportTestCasesRequest) ProtoReflect() protoreflect.Message {
2123	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]
2124	if protoimpl.UnsafeEnabled && x != nil {
2125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2126		if ms.LoadMessageInfo() == nil {
2127			ms.StoreMessageInfo(mi)
2128		}
2129		return ms
2130	}
2131	return mi.MessageOf(x)
2132}
2133
2134// Deprecated: Use ExportTestCasesRequest.ProtoReflect.Descriptor instead.
2135func (*ExportTestCasesRequest) Descriptor() ([]byte, []int) {
2136	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{27}
2137}
2138
2139func (x *ExportTestCasesRequest) GetParent() string {
2140	if x != nil {
2141		return x.Parent
2142	}
2143	return ""
2144}
2145
2146func (m *ExportTestCasesRequest) GetDestination() isExportTestCasesRequest_Destination {
2147	if m != nil {
2148		return m.Destination
2149	}
2150	return nil
2151}
2152
2153func (x *ExportTestCasesRequest) GetGcsUri() string {
2154	if x, ok := x.GetDestination().(*ExportTestCasesRequest_GcsUri); ok {
2155		return x.GcsUri
2156	}
2157	return ""
2158}
2159
2160func (x *ExportTestCasesRequest) GetDataFormat() ExportTestCasesRequest_DataFormat {
2161	if x != nil {
2162		return x.DataFormat
2163	}
2164	return ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED
2165}
2166
2167func (x *ExportTestCasesRequest) GetFilter() string {
2168	if x != nil {
2169		return x.Filter
2170	}
2171	return ""
2172}
2173
2174type isExportTestCasesRequest_Destination interface {
2175	isExportTestCasesRequest_Destination()
2176}
2177
2178type ExportTestCasesRequest_GcsUri struct {
2179	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
2180	// export the test cases to. The format of this URI must be
2181	// `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test
2182	// cases is returned inline.
2183	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2184}
2185
2186func (*ExportTestCasesRequest_GcsUri) isExportTestCasesRequest_Destination() {}
2187
2188// The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
2189type ExportTestCasesResponse struct {
2190	state         protoimpl.MessageState
2191	sizeCache     protoimpl.SizeCache
2192	unknownFields protoimpl.UnknownFields
2193
2194	// The exported test cases.
2195	//
2196	// Types that are assignable to Destination:
2197	//	*ExportTestCasesResponse_GcsUri
2198	//	*ExportTestCasesResponse_Content
2199	Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"`
2200}
2201
2202func (x *ExportTestCasesResponse) Reset() {
2203	*x = ExportTestCasesResponse{}
2204	if protoimpl.UnsafeEnabled {
2205		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]
2206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2207		ms.StoreMessageInfo(mi)
2208	}
2209}
2210
2211func (x *ExportTestCasesResponse) String() string {
2212	return protoimpl.X.MessageStringOf(x)
2213}
2214
2215func (*ExportTestCasesResponse) ProtoMessage() {}
2216
2217func (x *ExportTestCasesResponse) ProtoReflect() protoreflect.Message {
2218	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]
2219	if protoimpl.UnsafeEnabled && x != nil {
2220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2221		if ms.LoadMessageInfo() == nil {
2222			ms.StoreMessageInfo(mi)
2223		}
2224		return ms
2225	}
2226	return mi.MessageOf(x)
2227}
2228
2229// Deprecated: Use ExportTestCasesResponse.ProtoReflect.Descriptor instead.
2230func (*ExportTestCasesResponse) Descriptor() ([]byte, []int) {
2231	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{28}
2232}
2233
2234func (m *ExportTestCasesResponse) GetDestination() isExportTestCasesResponse_Destination {
2235	if m != nil {
2236		return m.Destination
2237	}
2238	return nil
2239}
2240
2241func (x *ExportTestCasesResponse) GetGcsUri() string {
2242	if x, ok := x.GetDestination().(*ExportTestCasesResponse_GcsUri); ok {
2243		return x.GcsUri
2244	}
2245	return ""
2246}
2247
2248func (x *ExportTestCasesResponse) GetContent() []byte {
2249	if x, ok := x.GetDestination().(*ExportTestCasesResponse_Content); ok {
2250		return x.Content
2251	}
2252	return nil
2253}
2254
2255type isExportTestCasesResponse_Destination interface {
2256	isExportTestCasesResponse_Destination()
2257}
2258
2259type ExportTestCasesResponse_GcsUri struct {
2260	// The URI to a file containing the exported test cases. This field is
2261	// populated only if `gcs_uri` is specified in
2262	// [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest].
2263	GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2264}
2265
2266type ExportTestCasesResponse_Content struct {
2267	// Uncompressed raw byte content for test cases.
2268	Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"`
2269}
2270
2271func (*ExportTestCasesResponse_GcsUri) isExportTestCasesResponse_Destination() {}
2272
2273func (*ExportTestCasesResponse_Content) isExportTestCasesResponse_Destination() {}
2274
2275// Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases] long running
2276// operation.
2277// This message currently has no fields.
2278type ExportTestCasesMetadata struct {
2279	state         protoimpl.MessageState
2280	sizeCache     protoimpl.SizeCache
2281	unknownFields protoimpl.UnknownFields
2282}
2283
2284func (x *ExportTestCasesMetadata) Reset() {
2285	*x = ExportTestCasesMetadata{}
2286	if protoimpl.UnsafeEnabled {
2287		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]
2288		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2289		ms.StoreMessageInfo(mi)
2290	}
2291}
2292
2293func (x *ExportTestCasesMetadata) String() string {
2294	return protoimpl.X.MessageStringOf(x)
2295}
2296
2297func (*ExportTestCasesMetadata) ProtoMessage() {}
2298
2299func (x *ExportTestCasesMetadata) ProtoReflect() protoreflect.Message {
2300	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]
2301	if protoimpl.UnsafeEnabled && x != nil {
2302		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2303		if ms.LoadMessageInfo() == nil {
2304			ms.StoreMessageInfo(mi)
2305		}
2306		return ms
2307	}
2308	return mi.MessageOf(x)
2309}
2310
2311// Deprecated: Use ExportTestCasesMetadata.ProtoReflect.Descriptor instead.
2312func (*ExportTestCasesMetadata) Descriptor() ([]byte, []int) {
2313	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{29}
2314}
2315
2316// The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
2317type ListTestCaseResultsRequest struct {
2318	state         protoimpl.MessageState
2319	sizeCache     protoimpl.SizeCache
2320	unknownFields protoimpl.UnknownFields
2321
2322	// Required. The test case to list results for.
2323	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/
2324	// testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to
2325	// list results across multiple test cases.
2326	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2327	// The maximum number of items to return in a single page. By default 100 and
2328	// at most 1000.
2329	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2330	// The next_page_token value returned from a previous list request.
2331	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2332	// The filter expression used to filter test case results. See
2333	// [API Filtering](https://aip.dev/160).
2334	//
2335	// The expression is case insensitive. Only 'AND' is supported for logical
2336	// operators. The supported syntax is listed below in detail:
2337	//
2338	//   <field> <operator> <value> [AND <field> <operator> <value>] ...
2339	//   [AND latest]
2340	//
2341	// The supported fields and operators are:
2342	// field                 operator
2343	// `environment`         `=`, `IN`  (Use value `draft` for draft environment)
2344	// `test_time`           `>`, `<`
2345	//
2346	// `latest` only returns the latest test result in all results for each test
2347	// case.
2348	//
2349	// Examples:
2350	// *   "environment=draft AND latest" matches the latest test result for each
2351	//     test case in the draft environment.
2352	// *   "environment IN (e1,e2)" matches any test case results with an
2353	//     environment resource name of either "e1" or "e2".
2354	// *   "test_time > 1602540713" matches any test case results with test time
2355	//     later than a unix timestamp in seconds 1602540713.
2356	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2357}
2358
2359func (x *ListTestCaseResultsRequest) Reset() {
2360	*x = ListTestCaseResultsRequest{}
2361	if protoimpl.UnsafeEnabled {
2362		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]
2363		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2364		ms.StoreMessageInfo(mi)
2365	}
2366}
2367
2368func (x *ListTestCaseResultsRequest) String() string {
2369	return protoimpl.X.MessageStringOf(x)
2370}
2371
2372func (*ListTestCaseResultsRequest) ProtoMessage() {}
2373
2374func (x *ListTestCaseResultsRequest) ProtoReflect() protoreflect.Message {
2375	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]
2376	if protoimpl.UnsafeEnabled && x != nil {
2377		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2378		if ms.LoadMessageInfo() == nil {
2379			ms.StoreMessageInfo(mi)
2380		}
2381		return ms
2382	}
2383	return mi.MessageOf(x)
2384}
2385
2386// Deprecated: Use ListTestCaseResultsRequest.ProtoReflect.Descriptor instead.
2387func (*ListTestCaseResultsRequest) Descriptor() ([]byte, []int) {
2388	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{30}
2389}
2390
2391func (x *ListTestCaseResultsRequest) GetParent() string {
2392	if x != nil {
2393		return x.Parent
2394	}
2395	return ""
2396}
2397
2398func (x *ListTestCaseResultsRequest) GetPageSize() int32 {
2399	if x != nil {
2400		return x.PageSize
2401	}
2402	return 0
2403}
2404
2405func (x *ListTestCaseResultsRequest) GetPageToken() string {
2406	if x != nil {
2407		return x.PageToken
2408	}
2409	return ""
2410}
2411
2412func (x *ListTestCaseResultsRequest) GetFilter() string {
2413	if x != nil {
2414		return x.Filter
2415	}
2416	return ""
2417}
2418
2419// The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
2420type ListTestCaseResultsResponse struct {
2421	state         protoimpl.MessageState
2422	sizeCache     protoimpl.SizeCache
2423	unknownFields protoimpl.UnknownFields
2424
2425	// The list of test case results.
2426	TestCaseResults []*TestCaseResult `protobuf:"bytes,1,rep,name=test_case_results,json=testCaseResults,proto3" json:"test_case_results,omitempty"`
2427	// Token to retrieve the next page of results, or empty if there are no more
2428	// results in the list.
2429	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2430}
2431
2432func (x *ListTestCaseResultsResponse) Reset() {
2433	*x = ListTestCaseResultsResponse{}
2434	if protoimpl.UnsafeEnabled {
2435		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]
2436		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2437		ms.StoreMessageInfo(mi)
2438	}
2439}
2440
2441func (x *ListTestCaseResultsResponse) String() string {
2442	return protoimpl.X.MessageStringOf(x)
2443}
2444
2445func (*ListTestCaseResultsResponse) ProtoMessage() {}
2446
2447func (x *ListTestCaseResultsResponse) ProtoReflect() protoreflect.Message {
2448	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]
2449	if protoimpl.UnsafeEnabled && x != nil {
2450		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2451		if ms.LoadMessageInfo() == nil {
2452			ms.StoreMessageInfo(mi)
2453		}
2454		return ms
2455	}
2456	return mi.MessageOf(x)
2457}
2458
2459// Deprecated: Use ListTestCaseResultsResponse.ProtoReflect.Descriptor instead.
2460func (*ListTestCaseResultsResponse) Descriptor() ([]byte, []int) {
2461	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{31}
2462}
2463
2464func (x *ListTestCaseResultsResponse) GetTestCaseResults() []*TestCaseResult {
2465	if x != nil {
2466		return x.TestCaseResults
2467	}
2468	return nil
2469}
2470
2471func (x *ListTestCaseResultsResponse) GetNextPageToken() string {
2472	if x != nil {
2473		return x.NextPageToken
2474	}
2475	return ""
2476}
2477
2478// The request message for [TestCases.GetTestCaseResult][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult].
2479type GetTestCaseResultRequest struct {
2480	state         protoimpl.MessageState
2481	sizeCache     protoimpl.SizeCache
2482	unknownFields protoimpl.UnknownFields
2483
2484	// Required. The name of the testcase.
2485	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
2486	// ID>/testCases/<TestCase ID>/results/<TestCaseResult ID>`.
2487	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2488}
2489
2490func (x *GetTestCaseResultRequest) Reset() {
2491	*x = GetTestCaseResultRequest{}
2492	if protoimpl.UnsafeEnabled {
2493		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]
2494		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2495		ms.StoreMessageInfo(mi)
2496	}
2497}
2498
2499func (x *GetTestCaseResultRequest) String() string {
2500	return protoimpl.X.MessageStringOf(x)
2501}
2502
2503func (*GetTestCaseResultRequest) ProtoMessage() {}
2504
2505func (x *GetTestCaseResultRequest) ProtoReflect() protoreflect.Message {
2506	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]
2507	if protoimpl.UnsafeEnabled && x != nil {
2508		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2509		if ms.LoadMessageInfo() == nil {
2510			ms.StoreMessageInfo(mi)
2511		}
2512		return ms
2513	}
2514	return mi.MessageOf(x)
2515}
2516
2517// Deprecated: Use GetTestCaseResultRequest.ProtoReflect.Descriptor instead.
2518func (*GetTestCaseResultRequest) Descriptor() ([]byte, []int) {
2519	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{32}
2520}
2521
2522func (x *GetTestCaseResultRequest) GetName() string {
2523	if x != nil {
2524		return x.Name
2525	}
2526	return ""
2527}
2528
2529// The input from the human user.
2530type ConversationTurn_UserInput struct {
2531	state         protoimpl.MessageState
2532	sizeCache     protoimpl.SizeCache
2533	unknownFields protoimpl.UnknownFields
2534
2535	// Supports [text input][google.cloud.dialogflow.cx.v3beta1.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3beta1.QueryInput.event],
2536	// [dtmf input][google.cloud.dialogflow.cx.v3beta1.QueryInput.dtmf] in the test case.
2537	Input *QueryInput `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"`
2538	// Parameters that need to be injected into the conversation during intent
2539	// detection.
2540	InjectedParameters *structpb.Struct `protobuf:"bytes,2,opt,name=injected_parameters,json=injectedParameters,proto3" json:"injected_parameters,omitempty"`
2541	// If webhooks should be allowed to trigger in response to the user
2542	// utterance. Often if parameters are injected, webhooks should not be
2543	// enabled.
2544	IsWebhookEnabled bool `protobuf:"varint,3,opt,name=is_webhook_enabled,json=isWebhookEnabled,proto3" json:"is_webhook_enabled,omitempty"`
2545	// Whether sentiment analysis is enabled.
2546	EnableSentimentAnalysis bool `protobuf:"varint,7,opt,name=enable_sentiment_analysis,json=enableSentimentAnalysis,proto3" json:"enable_sentiment_analysis,omitempty"`
2547}
2548
2549func (x *ConversationTurn_UserInput) Reset() {
2550	*x = ConversationTurn_UserInput{}
2551	if protoimpl.UnsafeEnabled {
2552		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]
2553		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2554		ms.StoreMessageInfo(mi)
2555	}
2556}
2557
2558func (x *ConversationTurn_UserInput) String() string {
2559	return protoimpl.X.MessageStringOf(x)
2560}
2561
2562func (*ConversationTurn_UserInput) ProtoMessage() {}
2563
2564func (x *ConversationTurn_UserInput) ProtoReflect() protoreflect.Message {
2565	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]
2566	if protoimpl.UnsafeEnabled && x != nil {
2567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2568		if ms.LoadMessageInfo() == nil {
2569			ms.StoreMessageInfo(mi)
2570		}
2571		return ms
2572	}
2573	return mi.MessageOf(x)
2574}
2575
2576// Deprecated: Use ConversationTurn_UserInput.ProtoReflect.Descriptor instead.
2577func (*ConversationTurn_UserInput) Descriptor() ([]byte, []int) {
2578	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 0}
2579}
2580
2581func (x *ConversationTurn_UserInput) GetInput() *QueryInput {
2582	if x != nil {
2583		return x.Input
2584	}
2585	return nil
2586}
2587
2588func (x *ConversationTurn_UserInput) GetInjectedParameters() *structpb.Struct {
2589	if x != nil {
2590		return x.InjectedParameters
2591	}
2592	return nil
2593}
2594
2595func (x *ConversationTurn_UserInput) GetIsWebhookEnabled() bool {
2596	if x != nil {
2597		return x.IsWebhookEnabled
2598	}
2599	return false
2600}
2601
2602func (x *ConversationTurn_UserInput) GetEnableSentimentAnalysis() bool {
2603	if x != nil {
2604		return x.EnableSentimentAnalysis
2605	}
2606	return false
2607}
2608
2609// The output from the virtual agent.
2610type ConversationTurn_VirtualAgentOutput struct {
2611	state         protoimpl.MessageState
2612	sizeCache     protoimpl.SizeCache
2613	unknownFields protoimpl.UnknownFields
2614
2615	// The session parameters available to the bot at this point.
2616	SessionParameters *structpb.Struct `protobuf:"bytes,4,opt,name=session_parameters,json=sessionParameters,proto3" json:"session_parameters,omitempty"`
2617	// Output only. If this is part of a [result conversation
2618	// turn][TestCaseResult.conversation_turns], the list of differences
2619	// between the original run and the replay for this output, if any.
2620	Differences []*TestRunDifference `protobuf:"bytes,5,rep,name=differences,proto3" json:"differences,omitempty"`
2621	// Required. Input only. The diagnostic
2622	// [info][Session.DetectIntentResponse.QueryResult.diagnostic_info]
2623	// output for the turn. Required to calculate the testing coverage.
2624	DiagnosticInfo *structpb.Struct `protobuf:"bytes,6,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
2625	// The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that triggered the response. Only name and displayName
2626	// will be set.
2627	TriggeredIntent *Intent `protobuf:"bytes,7,opt,name=triggered_intent,json=triggeredIntent,proto3" json:"triggered_intent,omitempty"`
2628	// The [Page][google.cloud.dialogflow.cx.v3beta1.Page] on which the utterance was spoken. Only name and displayName
2629	// will be set.
2630	CurrentPage *Page `protobuf:"bytes,8,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
2631	// The [text][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text] responses from the agent for the turn.
2632	TextResponses []*ResponseMessage_Text `protobuf:"bytes,9,rep,name=text_responses,json=textResponses,proto3" json:"text_responses,omitempty"`
2633	// Response error from the agent in the test result. If set, other output
2634	// is empty.
2635	Status *status.Status `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`
2636}
2637
2638func (x *ConversationTurn_VirtualAgentOutput) Reset() {
2639	*x = ConversationTurn_VirtualAgentOutput{}
2640	if protoimpl.UnsafeEnabled {
2641		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]
2642		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2643		ms.StoreMessageInfo(mi)
2644	}
2645}
2646
2647func (x *ConversationTurn_VirtualAgentOutput) String() string {
2648	return protoimpl.X.MessageStringOf(x)
2649}
2650
2651func (*ConversationTurn_VirtualAgentOutput) ProtoMessage() {}
2652
2653func (x *ConversationTurn_VirtualAgentOutput) ProtoReflect() protoreflect.Message {
2654	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]
2655	if protoimpl.UnsafeEnabled && x != nil {
2656		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2657		if ms.LoadMessageInfo() == nil {
2658			ms.StoreMessageInfo(mi)
2659		}
2660		return ms
2661	}
2662	return mi.MessageOf(x)
2663}
2664
2665// Deprecated: Use ConversationTurn_VirtualAgentOutput.ProtoReflect.Descriptor instead.
2666func (*ConversationTurn_VirtualAgentOutput) Descriptor() ([]byte, []int) {
2667	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 1}
2668}
2669
2670func (x *ConversationTurn_VirtualAgentOutput) GetSessionParameters() *structpb.Struct {
2671	if x != nil {
2672		return x.SessionParameters
2673	}
2674	return nil
2675}
2676
2677func (x *ConversationTurn_VirtualAgentOutput) GetDifferences() []*TestRunDifference {
2678	if x != nil {
2679		return x.Differences
2680	}
2681	return nil
2682}
2683
2684func (x *ConversationTurn_VirtualAgentOutput) GetDiagnosticInfo() *structpb.Struct {
2685	if x != nil {
2686		return x.DiagnosticInfo
2687	}
2688	return nil
2689}
2690
2691func (x *ConversationTurn_VirtualAgentOutput) GetTriggeredIntent() *Intent {
2692	if x != nil {
2693		return x.TriggeredIntent
2694	}
2695	return nil
2696}
2697
2698func (x *ConversationTurn_VirtualAgentOutput) GetCurrentPage() *Page {
2699	if x != nil {
2700		return x.CurrentPage
2701	}
2702	return nil
2703}
2704
2705func (x *ConversationTurn_VirtualAgentOutput) GetTextResponses() []*ResponseMessage_Text {
2706	if x != nil {
2707		return x.TextResponses
2708	}
2709	return nil
2710}
2711
2712func (x *ConversationTurn_VirtualAgentOutput) GetStatus() *status.Status {
2713	if x != nil {
2714		return x.Status
2715	}
2716	return nil
2717}
2718
2719// The source or target of a transition.
2720type TransitionCoverage_TransitionNode struct {
2721	state         protoimpl.MessageState
2722	sizeCache     protoimpl.SizeCache
2723	unknownFields protoimpl.UnknownFields
2724
2725	// A TransitionNode can be either a page or a flow.
2726	//
2727	// Types that are assignable to Kind:
2728	//	*TransitionCoverage_TransitionNode_Page
2729	//	*TransitionCoverage_TransitionNode_Flow
2730	Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"`
2731}
2732
2733func (x *TransitionCoverage_TransitionNode) Reset() {
2734	*x = TransitionCoverage_TransitionNode{}
2735	if protoimpl.UnsafeEnabled {
2736		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]
2737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2738		ms.StoreMessageInfo(mi)
2739	}
2740}
2741
2742func (x *TransitionCoverage_TransitionNode) String() string {
2743	return protoimpl.X.MessageStringOf(x)
2744}
2745
2746func (*TransitionCoverage_TransitionNode) ProtoMessage() {}
2747
2748func (x *TransitionCoverage_TransitionNode) ProtoReflect() protoreflect.Message {
2749	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]
2750	if protoimpl.UnsafeEnabled && x != nil {
2751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2752		if ms.LoadMessageInfo() == nil {
2753			ms.StoreMessageInfo(mi)
2754		}
2755		return ms
2756	}
2757	return mi.MessageOf(x)
2758}
2759
2760// Deprecated: Use TransitionCoverage_TransitionNode.ProtoReflect.Descriptor instead.
2761func (*TransitionCoverage_TransitionNode) Descriptor() ([]byte, []int) {
2762	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 0}
2763}
2764
2765func (m *TransitionCoverage_TransitionNode) GetKind() isTransitionCoverage_TransitionNode_Kind {
2766	if m != nil {
2767		return m.Kind
2768	}
2769	return nil
2770}
2771
2772func (x *TransitionCoverage_TransitionNode) GetPage() *Page {
2773	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Page); ok {
2774		return x.Page
2775	}
2776	return nil
2777}
2778
2779func (x *TransitionCoverage_TransitionNode) GetFlow() *Flow {
2780	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Flow); ok {
2781		return x.Flow
2782	}
2783	return nil
2784}
2785
2786type isTransitionCoverage_TransitionNode_Kind interface {
2787	isTransitionCoverage_TransitionNode_Kind()
2788}
2789
2790type TransitionCoverage_TransitionNode_Page struct {
2791	// Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Only some fields such as name and
2792	// displayname will be set.
2793	Page *Page `protobuf:"bytes,1,opt,name=page,proto3,oneof"`
2794}
2795
2796type TransitionCoverage_TransitionNode_Flow struct {
2797	// Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3beta1.Flow]. Only some fields such as name and
2798	// displayname will be set.
2799	Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3,oneof"`
2800}
2801
2802func (*TransitionCoverage_TransitionNode_Page) isTransitionCoverage_TransitionNode_Kind() {}
2803
2804func (*TransitionCoverage_TransitionNode_Flow) isTransitionCoverage_TransitionNode_Kind() {}
2805
2806// A transition in a page.
2807type TransitionCoverage_Transition struct {
2808	state         protoimpl.MessageState
2809	sizeCache     protoimpl.SizeCache
2810	unknownFields protoimpl.UnknownFields
2811
2812	// The start node of a transition.
2813	Source *TransitionCoverage_TransitionNode `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
2814	// The index of a transition in the transition list. Starting from 0.
2815	Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
2816	// The end node of a transition.
2817	Target *TransitionCoverage_TransitionNode `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
2818	// Whether or not the transition is covered by at least one of the
2819	// agent's test cases.
2820	Covered bool `protobuf:"varint,3,opt,name=covered,proto3" json:"covered,omitempty"`
2821	// The detailed transition.
2822	//
2823	// Types that are assignable to Detail:
2824	//	*TransitionCoverage_Transition_TransitionRoute
2825	//	*TransitionCoverage_Transition_EventHandler
2826	Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"`
2827}
2828
2829func (x *TransitionCoverage_Transition) Reset() {
2830	*x = TransitionCoverage_Transition{}
2831	if protoimpl.UnsafeEnabled {
2832		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36]
2833		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2834		ms.StoreMessageInfo(mi)
2835	}
2836}
2837
2838func (x *TransitionCoverage_Transition) String() string {
2839	return protoimpl.X.MessageStringOf(x)
2840}
2841
2842func (*TransitionCoverage_Transition) ProtoMessage() {}
2843
2844func (x *TransitionCoverage_Transition) ProtoReflect() protoreflect.Message {
2845	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36]
2846	if protoimpl.UnsafeEnabled && x != nil {
2847		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2848		if ms.LoadMessageInfo() == nil {
2849			ms.StoreMessageInfo(mi)
2850		}
2851		return ms
2852	}
2853	return mi.MessageOf(x)
2854}
2855
2856// Deprecated: Use TransitionCoverage_Transition.ProtoReflect.Descriptor instead.
2857func (*TransitionCoverage_Transition) Descriptor() ([]byte, []int) {
2858	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 1}
2859}
2860
2861func (x *TransitionCoverage_Transition) GetSource() *TransitionCoverage_TransitionNode {
2862	if x != nil {
2863		return x.Source
2864	}
2865	return nil
2866}
2867
2868func (x *TransitionCoverage_Transition) GetIndex() int32 {
2869	if x != nil {
2870		return x.Index
2871	}
2872	return 0
2873}
2874
2875func (x *TransitionCoverage_Transition) GetTarget() *TransitionCoverage_TransitionNode {
2876	if x != nil {
2877		return x.Target
2878	}
2879	return nil
2880}
2881
2882func (x *TransitionCoverage_Transition) GetCovered() bool {
2883	if x != nil {
2884		return x.Covered
2885	}
2886	return false
2887}
2888
2889func (m *TransitionCoverage_Transition) GetDetail() isTransitionCoverage_Transition_Detail {
2890	if m != nil {
2891		return m.Detail
2892	}
2893	return nil
2894}
2895
2896func (x *TransitionCoverage_Transition) GetTransitionRoute() *TransitionRoute {
2897	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_TransitionRoute); ok {
2898		return x.TransitionRoute
2899	}
2900	return nil
2901}
2902
2903func (x *TransitionCoverage_Transition) GetEventHandler() *EventHandler {
2904	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_EventHandler); ok {
2905		return x.EventHandler
2906	}
2907	return nil
2908}
2909
2910type isTransitionCoverage_Transition_Detail interface {
2911	isTransitionCoverage_Transition_Detail()
2912}
2913
2914type TransitionCoverage_Transition_TransitionRoute struct {
2915	// Intent route or condition route.
2916	TransitionRoute *TransitionRoute `protobuf:"bytes,5,opt,name=transition_route,json=transitionRoute,proto3,oneof"`
2917}
2918
2919type TransitionCoverage_Transition_EventHandler struct {
2920	// Event handler.
2921	EventHandler *EventHandler `protobuf:"bytes,6,opt,name=event_handler,json=eventHandler,proto3,oneof"`
2922}
2923
2924func (*TransitionCoverage_Transition_TransitionRoute) isTransitionCoverage_Transition_Detail() {}
2925
2926func (*TransitionCoverage_Transition_EventHandler) isTransitionCoverage_Transition_Detail() {}
2927
2928// Coverage result message for one transition route group.
2929type TransitionRouteGroupCoverage_Coverage struct {
2930	state         protoimpl.MessageState
2931	sizeCache     protoimpl.SizeCache
2932	unknownFields protoimpl.UnknownFields
2933
2934	// Transition route group metadata. Only name and displayName will be set.
2935	RouteGroup *TransitionRouteGroup `protobuf:"bytes,1,opt,name=route_group,json=routeGroup,proto3" json:"route_group,omitempty"`
2936	// The list of transition routes and coverage in the transition route group.
2937	Transitions []*TransitionRouteGroupCoverage_Coverage_Transition `protobuf:"bytes,2,rep,name=transitions,proto3" json:"transitions,omitempty"`
2938	// The percent of transition routes in the transition route group that are
2939	// covered.
2940	CoverageScore float32 `protobuf:"fixed32,3,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
2941}
2942
2943func (x *TransitionRouteGroupCoverage_Coverage) Reset() {
2944	*x = TransitionRouteGroupCoverage_Coverage{}
2945	if protoimpl.UnsafeEnabled {
2946		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37]
2947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2948		ms.StoreMessageInfo(mi)
2949	}
2950}
2951
2952func (x *TransitionRouteGroupCoverage_Coverage) String() string {
2953	return protoimpl.X.MessageStringOf(x)
2954}
2955
2956func (*TransitionRouteGroupCoverage_Coverage) ProtoMessage() {}
2957
2958func (x *TransitionRouteGroupCoverage_Coverage) ProtoReflect() protoreflect.Message {
2959	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37]
2960	if protoimpl.UnsafeEnabled && x != nil {
2961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2962		if ms.LoadMessageInfo() == nil {
2963			ms.StoreMessageInfo(mi)
2964		}
2965		return ms
2966	}
2967	return mi.MessageOf(x)
2968}
2969
2970// Deprecated: Use TransitionRouteGroupCoverage_Coverage.ProtoReflect.Descriptor instead.
2971func (*TransitionRouteGroupCoverage_Coverage) Descriptor() ([]byte, []int) {
2972	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6, 0}
2973}
2974
2975func (x *TransitionRouteGroupCoverage_Coverage) GetRouteGroup() *TransitionRouteGroup {
2976	if x != nil {
2977		return x.RouteGroup
2978	}
2979	return nil
2980}
2981
2982func (x *TransitionRouteGroupCoverage_Coverage) GetTransitions() []*TransitionRouteGroupCoverage_Coverage_Transition {
2983	if x != nil {
2984		return x.Transitions
2985	}
2986	return nil
2987}
2988
2989func (x *TransitionRouteGroupCoverage_Coverage) GetCoverageScore() float32 {
2990	if x != nil {
2991		return x.CoverageScore
2992	}
2993	return 0
2994}
2995
2996// A transition coverage in a transition route group.
2997type TransitionRouteGroupCoverage_Coverage_Transition struct {
2998	state         protoimpl.MessageState
2999	sizeCache     protoimpl.SizeCache
3000	unknownFields protoimpl.UnknownFields
3001
3002	// Intent route or condition route.
3003	TransitionRoute *TransitionRoute `protobuf:"bytes,1,opt,name=transition_route,json=transitionRoute,proto3" json:"transition_route,omitempty"`
3004	// Whether or not the transition route is covered by at least one of the
3005	// agent's test cases.
3006	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3007}
3008
3009func (x *TransitionRouteGroupCoverage_Coverage_Transition) Reset() {
3010	*x = TransitionRouteGroupCoverage_Coverage_Transition{}
3011	if protoimpl.UnsafeEnabled {
3012		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38]
3013		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3014		ms.StoreMessageInfo(mi)
3015	}
3016}
3017
3018func (x *TransitionRouteGroupCoverage_Coverage_Transition) String() string {
3019	return protoimpl.X.MessageStringOf(x)
3020}
3021
3022func (*TransitionRouteGroupCoverage_Coverage_Transition) ProtoMessage() {}
3023
3024func (x *TransitionRouteGroupCoverage_Coverage_Transition) ProtoReflect() protoreflect.Message {
3025	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38]
3026	if protoimpl.UnsafeEnabled && x != nil {
3027		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3028		if ms.LoadMessageInfo() == nil {
3029			ms.StoreMessageInfo(mi)
3030		}
3031		return ms
3032	}
3033	return mi.MessageOf(x)
3034}
3035
3036// Deprecated: Use TransitionRouteGroupCoverage_Coverage_Transition.ProtoReflect.Descriptor instead.
3037func (*TransitionRouteGroupCoverage_Coverage_Transition) Descriptor() ([]byte, []int) {
3038	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6, 0, 0}
3039}
3040
3041func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetTransitionRoute() *TransitionRoute {
3042	if x != nil {
3043		return x.TransitionRoute
3044	}
3045	return nil
3046}
3047
3048func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetCovered() bool {
3049	if x != nil {
3050		return x.Covered
3051	}
3052	return false
3053}
3054
3055// The agent's intent.
3056type IntentCoverage_Intent struct {
3057	state         protoimpl.MessageState
3058	sizeCache     protoimpl.SizeCache
3059	unknownFields protoimpl.UnknownFields
3060
3061	// The intent full resource name
3062	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
3063	// Whether or not the intent is covered by at least one of the agent's
3064	// test cases.
3065	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3066}
3067
3068func (x *IntentCoverage_Intent) Reset() {
3069	*x = IntentCoverage_Intent{}
3070	if protoimpl.UnsafeEnabled {
3071		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39]
3072		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3073		ms.StoreMessageInfo(mi)
3074	}
3075}
3076
3077func (x *IntentCoverage_Intent) String() string {
3078	return protoimpl.X.MessageStringOf(x)
3079}
3080
3081func (*IntentCoverage_Intent) ProtoMessage() {}
3082
3083func (x *IntentCoverage_Intent) ProtoReflect() protoreflect.Message {
3084	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39]
3085	if protoimpl.UnsafeEnabled && x != nil {
3086		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3087		if ms.LoadMessageInfo() == nil {
3088			ms.StoreMessageInfo(mi)
3089		}
3090		return ms
3091	}
3092	return mi.MessageOf(x)
3093}
3094
3095// Deprecated: Use IntentCoverage_Intent.ProtoReflect.Descriptor instead.
3096func (*IntentCoverage_Intent) Descriptor() ([]byte, []int) {
3097	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{7, 0}
3098}
3099
3100func (x *IntentCoverage_Intent) GetIntent() string {
3101	if x != nil {
3102		return x.Intent
3103	}
3104	return ""
3105}
3106
3107func (x *IntentCoverage_Intent) GetCovered() bool {
3108	if x != nil {
3109		return x.Covered
3110	}
3111	return false
3112}
3113
3114var File_google_cloud_dialogflow_cx_v3beta1_test_case_proto protoreflect.FileDescriptor
3115
3116var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = []byte{
3117	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
3118	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
3119	0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70,
3120	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3121	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3122	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3123	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3124	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3125	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3126	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3127	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3128	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
3129	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,
3130	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3131	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3132	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
3133	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3134	0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69,
3135	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,
3136	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3137	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3138	0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67,
3139	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3140	0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
3141	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,
3142	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
3143	0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63,
3144	0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
3145	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3146	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3147	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e,
3148	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f,
3149	0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3150	0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65,
3151	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67,
3152	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65,
3153	0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
3154	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3155	0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
3156	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74,
3157	0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
3158	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
3159	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
3160	0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
3161	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x04, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3162	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3163	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20,
3164	0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73,
3165	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
3166	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
3167	0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
3168	0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f,
3169	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
3170	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3171	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3172	0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x65,
3173	0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x1c, 0x74, 0x65, 0x73, 0x74,
3174	0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69,
3175	0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34,
3176	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3177	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3178	0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3179	0x54, 0x75, 0x72, 0x6e, 0x52, 0x19, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x43, 0x6f,
3180	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12,
3181	0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
3182	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3183	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3184	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
3185	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x65,
3186	0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
3187	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3188	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3189	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3190	0x75, 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
3191	0x75, 0x6c, 0x74, 0x3a, 0x75, 0xea, 0x41, 0x72, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3192	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3193	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x4c, 0x70, 0x72,
3194	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
3195	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
3196	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67,
3197	0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b,
3198	0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x22, 0xf1, 0x03, 0x0a, 0x0e, 0x54,
3199	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a,
3200	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
3201	0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
3202	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61,
3203	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3204	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
3205	0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12,
3206	0x63, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3207	0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f,
3208	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3209	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
3210	0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72,
3211	0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
3212	0x75, 0x72, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73,
3213	0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3214	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3215	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3216	0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x52,
3217	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69,
3218	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3219	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
3220	0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8d,
3221	0x01, 0xea, 0x41, 0x89, 0x01, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3222	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3223	0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
3224	0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3225	0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
3226	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
3227	0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3228	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x72, 0x65,
3229	0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0x22, 0x76,
3230	0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13,
3231	0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
3232	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b,
3233	0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a,
3234	0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20,
3235	0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3236	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77,
3237	0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xac, 0x08, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65,
3238	0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x5d, 0x0a, 0x0a, 0x75,
3239	0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3240	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3241	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3242	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
3243	0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52,
3244	0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x79, 0x0a, 0x14, 0x76, 0x69,
3245	0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70,
3246	0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3247	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3248	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
3249	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x56,
3250	0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75,
3251	0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f,
3252	0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0x85, 0x02, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
3253	0x70, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
3254	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3255	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3256	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70,
3257	0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x6a,
3258	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
3259	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3260	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
3261	0x12, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
3262	0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f,
3263	0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
3264	0x10, 0x69, 0x73, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
3265	0x64, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74,
3266	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x07,
3267	0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x74,
3268	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0xb5, 0x04,
3269	0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75,
3270	0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
3271	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
3272	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3273	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69,
3274	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x0b,
3275	0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
3276	0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3277	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3278	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69,
3279	0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64,
3280	0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x64, 0x69,
3281	0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20,
3282	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3283	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x06, 0xe0, 0x41,
3284	0x02, 0xe0, 0x41, 0x04, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63,
3285	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65,
3286	0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
3287	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3288	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3289	0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67,
3290	0x67, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x63,
3291	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
3292	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3293	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3294	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72,
3295	0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x74, 0x65, 0x78, 0x74,
3296	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
3297	0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3298	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3299	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
3300	0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74,
3301	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61,
3302	0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3303	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
3304	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75,
3305	0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x04, 0x74,
3306	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3307	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3308	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3309	0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
3310	0x2e, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
3311	0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
3312	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
3313	0x6e, 0x22, 0x5a, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a,
3314	0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
3315	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45,
3316	0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0e,
3317	0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x0d,
3318	0x0a, 0x09, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x04, 0x22, 0xfd, 0x05,
3319	0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65,
3320	0x72, 0x61, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3321	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3322	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3323	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3324	0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3325	0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72,
3326	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76,
3327	0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3328	0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
3329	0x1a, 0x98, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
3330	0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3331	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3332	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3333	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70,
3334	0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28,
3335	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3336	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3337	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x04, 0x66,
3338	0x6c, 0x6f, 0x77, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xbf, 0x03, 0x0a, 0x0a,
3339	0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x06, 0x73, 0x6f,
3340	0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f,
3341	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3342	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3343	0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3344	0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64,
3345	0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
3346	0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12,
3347	0x5d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3348	0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3349	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3350	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,
3351	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3352	0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18,
3353	0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
3354	0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e,
3355	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
3356	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3357	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3358	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3359	0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73,
3360	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x65, 0x76,
3361	0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
3362	0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3363	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3364	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64,
3365	0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64,
3366	0x6c, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xbe, 0x04,
3367	0x0a, 0x1c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74,
3368	0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x67,
3369	0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3370	0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3371	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3372	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
3373	0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72,
3374	0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x09, 0x63, 0x6f,
3375	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72,
3376	0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52,
3377	0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x8d,
3378	0x03, 0x0a, 0x08, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x0b, 0x72,
3379	0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3380	0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3381	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3382	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3383	0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74,
3384	0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x76, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
3385	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f,
3386	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3387	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
3388	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65,
3389	0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f,
3390	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
3391	0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25,
3392	0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
3393	0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3394	0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x86, 0x01, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69,
3395	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3396	0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
3397	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3398	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3399	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f,
3400	0x75, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3401	0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18,
3402	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0xef,
3403	0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3404	0x65, 0x12, 0x53, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
3405	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3406	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3407	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f,
3408	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x69,
3409	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
3410	0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d,
3411	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x61, 0x0a,
3412	0x06, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e,
3413	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69,
3414	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3415	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06,
3416	0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65,
3417	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64,
3418	0x22, 0xa9, 0x02, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f,
3419	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
3420	0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
3421	0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3422	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3423	0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x04,
3424	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f,
3425	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3426	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3427	0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3428	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3429	0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
3430	0x22, 0x6a, 0x0a, 0x0c, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
3431	0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50,
3432	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
3433	0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50,
3434	0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02,
3435	0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
3436	0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, 0x22, 0xa8, 0x03, 0x0a,
3437	0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3438	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x61, 0x67,
3439	0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f,
3440	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3441	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52,
3442	0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3443	0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3444	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3445	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3446	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72,
3447	0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76,
3448	0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
3449	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
3450	0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3451	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3452	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3453	0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x74, 0x72,
3454	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3455	0x12, 0x74, 0x0a, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
3456	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40,
3457	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3458	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3459	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f,
3460	0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3461	0x48, 0x00, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f,
3462	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
3463	0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74,
3464	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3465	0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3466	0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3467	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3468	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61,
3469	0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
3470	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
3471	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3472	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
3473	0x12, 0x59, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45,
3474	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3475	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3476	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3477	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3478	0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x43, 0x0a, 0x0c, 0x54,
3479	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x1a, 0x54,
3480	0x45, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e,
3481	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42,
3482	0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02,
3483	0x22, 0x8c, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3484	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x74, 0x65,
3485	0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
3486	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3487	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3488	0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65,
3489	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
3490	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3491	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
3492	0xa3, 0x01, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
3493	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3494	0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3495	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3496	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3497	0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,
3498	0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
3499	0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c,
3500	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3501	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05,
3502	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
3503	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3504	0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3505	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3506	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3507	0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,
3508	0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65,
3509	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3510	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3511	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
3512	0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43,
3513	0x61, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65,
3514	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a,
3515	0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3516	0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3517	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3518	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03,
3519	0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a,
3520	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,
3521	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3522	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03,
3523	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22,
3524	0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,
3525	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3526	0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61,
3527	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3528	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3529	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73,
3530	0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04,
3531	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
3532	0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
3533	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65,
3534	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b,
3535	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
3536	0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3537	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3538	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
3539	0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x61, 0x0a,
3540	0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
3541	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02,
3542	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3543	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3544	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3545	0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
3546	0x22, 0x15, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d,
3547	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63,
3548	0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
3549	0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
3550	0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69,
3551	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3552	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3553	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
3554	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0,
3555	0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3556	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3557	0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e,
3558	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x65, 0x73,
3559	0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0,
3560	0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3561	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3562	0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43,
3563	0x61, 0x73, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e,
3564	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3565	0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
3566	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3567	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3568	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3569	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
3570	0x62, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43,
3571	0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x06,
3572	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
3573	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3574	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3575	0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72,
3576	0x6f, 0x72, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f,
3577	0x72, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01,
3578	0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3579	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3580	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x08, 0x74,
3581	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
3582	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3583	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
3584	0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
3585	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3586	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3587	0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9d, 0x01, 0x0a,
3588	0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3589	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3590	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12,
3591	0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3592	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,
3593	0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67,
3594	0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06,
3595	0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3596	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3597	0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x17,
3598	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52,
3599	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73,
3600	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61,
3601	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3602	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3603	0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3604	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
3605	0x61, 0x12, 0x49, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3606	0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3607	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3608	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45,
3609	0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x86, 0x01, 0x0a,
3610	0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x49,
3611	0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3612	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3613	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3614	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3615	0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61,
3616	0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3617	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
3618	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
3619	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3620	0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3621	0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3622	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3623	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61,
3624	0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18,
3625	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12,
3626	0x66, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03,
3627	0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3628	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3629	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
3630	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3631	0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74,
3632	0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
3633	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
3634	0x3d, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a,
3635	0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53,
3636	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4c,
3637	0x4f, 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x0d,
3638	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a,
3639	0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3640	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f,
3641	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73,
3642	0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02,
3643	0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42,
3644	0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19,
3645	0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3646	0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, 0x01, 0x0a, 0x1a, 0x4c, 0x69,
3647	0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
3648	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
3649	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
3650	0x12, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3651	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74,
3652	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
3653	0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3654	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
3655	0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
3656	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16,
3657	0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
3658	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54,
3659	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65,
3660	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
3661	0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3662	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3663	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3664	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3665	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3666	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3667	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3668	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x60,
3669	0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3670	0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61,
3671	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
3672	0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3673	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74,
3674	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3675	0x2a, 0x41, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b,
3676	0x0a, 0x17, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x55, 0x4e,
3677	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50,
3678	0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45,
3679	0x44, 0x10, 0x02, 0x32, 0xb6, 0x16, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3680	0x73, 0x12, 0xd2, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3681	0x73, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3682	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3683	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73,
3684	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e,
3685	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3686	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
3687	0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3688	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d,
3689	0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3690	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3691	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
3692	0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0xda, 0x41, 0x06,
3693	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68,
3694	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12,
3695	0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3696	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3697	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
3698	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3699	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3700	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c,
3701	0x22, 0x47, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3702	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3703	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
3704	0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, 0x61,
3705	0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70,
3706	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73,
3707	0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3708	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3709	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65,
3710	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
3711	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3712	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
3713	0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4,
3714	0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e,
3715	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3716	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
3717	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
3718	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61,
3719	0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f,
3720	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3721	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3722	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,
3723	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3724	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3725	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
3726	0x61, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x3b, 0x2f, 0x76, 0x33,
3727	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
3728	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3729	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74,
3730	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
3731	0x61, 0x73, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x73,
3732	0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74,
3733	0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3734	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3735	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55,
3736	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71,
3737	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3738	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3739	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3740	0x73, 0x65, 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x45, 0x2f, 0x76, 0x33, 0x62,
3741	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e,
3742	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3743	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e,
3744	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a,
3745	0x7d, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x15, 0x74,
3746	0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
3747	0x6d, 0x61, 0x73, 0x6b, 0x12, 0xdd, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74,
3748	0x43, 0x61, 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3749	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3750	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73,
3751	0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
3752	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
3753	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x82, 0xd3, 0xe4,
3754	0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e,
3755	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3756	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
3757	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
3758	0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x2a, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54,
3759	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3760	0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61,
3761	0x64, 0x61, 0x74, 0x61, 0x12, 0xfb, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75,
3762	0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f,
3763	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3764	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3765	0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3766	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3767	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
3768	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49,
3769	0x22, 0x44, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3770	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3771	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
3772	0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, 0x61,
3773	0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x36, 0x0a, 0x19, 0x42, 0x61,
3774	0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52,
3775	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75,
3776	0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
3777	0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65,
3778	0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3779	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3780	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61,
3781	0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52,
3782	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3783	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3784	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63,
3785	0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
3786	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 0x2f,
3787	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3788	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3789	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
3790	0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c,
3791	0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0xf1, 0x01, 0x0a, 0x0f,
3792	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12,
3793	0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3794	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3795	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3796	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f,
3797	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
3798	0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4,
3799	0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
3800	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3801	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65,
3802	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3803	0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x49,
3804	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,
3805	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65,
3806	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
3807	0xf1, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3808	0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3809	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3810	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54,
3811	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3812	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3813	0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82,
3814	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3815	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3816	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3817	0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43,
3818	0x61, 0x73, 0x65, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41,
3819	0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3820	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x45, 0x78, 0x70, 0x6f,
3821	0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64,
3822	0x61, 0x74, 0x61, 0x12, 0xee, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74,
3823	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f,
3824	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3825	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
3826	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3827	0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f,
3828	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3829	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
3830	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3831	0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3,
3832	0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
3833	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3834	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
3835	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3836	0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61,
3837	0x72, 0x65, 0x6e, 0x74, 0x12, 0xdb, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,
3838	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f,
3839	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3840	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3841	0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
3842	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3843	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3844	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
3845	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x54, 0x82, 0xd3,
3846	0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
3847	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3848	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e,
3849	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a,
3850	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
3851	0x6d, 0x65, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3852	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3853	0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
3854	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
3855	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
3856	0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
3857	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
3858	0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0xd5, 0x01, 0x0a,
3859	0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3860	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3861	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3862	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3863	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
3864	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
3865	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3866	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x78, 0xf8, 0x01,
3867	0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3868	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3869	0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x26, 0x47, 0x6f,
3870	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x61,
3871	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x43, 0x58, 0x3a, 0x3a, 0x56, 0x33, 0x62,
3872	0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3873}
3874
3875var (
3876	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce sync.Once
3877	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc
3878)
3879
3880func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP() []byte {
3881	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce.Do(func() {
3882		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData)
3883	})
3884	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData
3885}
3886
3887var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
3888var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
3889var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = []interface{}{
3890	(TestResult)(0),                                          // 0: google.cloud.dialogflow.cx.v3beta1.TestResult
3891	(TestRunDifference_DiffType)(0),                          // 1: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType
3892	(CalculateCoverageRequest_CoverageType)(0),               // 2: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType
3893	(ListTestCasesRequest_TestCaseView)(0),                   // 3: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView
3894	(ExportTestCasesRequest_DataFormat)(0),                   // 4: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat
3895	(*TestCase)(nil),                                         // 5: google.cloud.dialogflow.cx.v3beta1.TestCase
3896	(*TestCaseResult)(nil),                                   // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3897	(*TestConfig)(nil),                                       // 7: google.cloud.dialogflow.cx.v3beta1.TestConfig
3898	(*ConversationTurn)(nil),                                 // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3899	(*TestRunDifference)(nil),                                // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference
3900	(*TransitionCoverage)(nil),                               // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage
3901	(*TransitionRouteGroupCoverage)(nil),                     // 11: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage
3902	(*IntentCoverage)(nil),                                   // 12: google.cloud.dialogflow.cx.v3beta1.IntentCoverage
3903	(*CalculateCoverageRequest)(nil),                         // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest
3904	(*CalculateCoverageResponse)(nil),                        // 14: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse
3905	(*ListTestCasesRequest)(nil),                             // 15: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest
3906	(*ListTestCasesResponse)(nil),                            // 16: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse
3907	(*BatchDeleteTestCasesRequest)(nil),                      // 17: google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest
3908	(*CreateTestCaseRequest)(nil),                            // 18: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest
3909	(*UpdateTestCaseRequest)(nil),                            // 19: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest
3910	(*GetTestCaseRequest)(nil),                               // 20: google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest
3911	(*RunTestCaseRequest)(nil),                               // 21: google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest
3912	(*RunTestCaseResponse)(nil),                              // 22: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse
3913	(*RunTestCaseMetadata)(nil),                              // 23: google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata
3914	(*BatchRunTestCasesRequest)(nil),                         // 24: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest
3915	(*BatchRunTestCasesResponse)(nil),                        // 25: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse
3916	(*BatchRunTestCasesMetadata)(nil),                        // 26: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata
3917	(*TestError)(nil),                                        // 27: google.cloud.dialogflow.cx.v3beta1.TestError
3918	(*ImportTestCasesRequest)(nil),                           // 28: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest
3919	(*ImportTestCasesResponse)(nil),                          // 29: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse
3920	(*ImportTestCasesMetadata)(nil),                          // 30: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata
3921	(*TestCaseError)(nil),                                    // 31: google.cloud.dialogflow.cx.v3beta1.TestCaseError
3922	(*ExportTestCasesRequest)(nil),                           // 32: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest
3923	(*ExportTestCasesResponse)(nil),                          // 33: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse
3924	(*ExportTestCasesMetadata)(nil),                          // 34: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata
3925	(*ListTestCaseResultsRequest)(nil),                       // 35: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest
3926	(*ListTestCaseResultsResponse)(nil),                      // 36: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse
3927	(*GetTestCaseResultRequest)(nil),                         // 37: google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest
3928	(*ConversationTurn_UserInput)(nil),                       // 38: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput
3929	(*ConversationTurn_VirtualAgentOutput)(nil),              // 39: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput
3930	(*TransitionCoverage_TransitionNode)(nil),                // 40: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3931	(*TransitionCoverage_Transition)(nil),                    // 41: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition
3932	(*TransitionRouteGroupCoverage_Coverage)(nil),            // 42: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage
3933	(*TransitionRouteGroupCoverage_Coverage_Transition)(nil), // 43: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition
3934	(*IntentCoverage_Intent)(nil),                            // 44: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent
3935	(*timestamppb.Timestamp)(nil),                            // 45: google.protobuf.Timestamp
3936	(*fieldmaskpb.FieldMask)(nil),                            // 46: google.protobuf.FieldMask
3937	(*status.Status)(nil),                                    // 47: google.rpc.Status
3938	(*QueryInput)(nil),                                       // 48: google.cloud.dialogflow.cx.v3beta1.QueryInput
3939	(*structpb.Struct)(nil),                                  // 49: google.protobuf.Struct
3940	(*Intent)(nil),                                           // 50: google.cloud.dialogflow.cx.v3beta1.Intent
3941	(*Page)(nil),                                             // 51: google.cloud.dialogflow.cx.v3beta1.Page
3942	(*ResponseMessage_Text)(nil),                             // 52: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text
3943	(*Flow)(nil),                                             // 53: google.cloud.dialogflow.cx.v3beta1.Flow
3944	(*TransitionRoute)(nil),                                  // 54: google.cloud.dialogflow.cx.v3beta1.TransitionRoute
3945	(*EventHandler)(nil),                                     // 55: google.cloud.dialogflow.cx.v3beta1.EventHandler
3946	(*TransitionRouteGroup)(nil),                             // 56: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup
3947	(*emptypb.Empty)(nil),                                    // 57: google.protobuf.Empty
3948	(*longrunning.Operation)(nil),                            // 58: google.longrunning.Operation
3949}
3950var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = []int32{
3951	7,  // 0: google.cloud.dialogflow.cx.v3beta1.TestCase.test_config:type_name -> google.cloud.dialogflow.cx.v3beta1.TestConfig
3952	8,  // 1: google.cloud.dialogflow.cx.v3beta1.TestCase.test_case_conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3953	45, // 2: google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time:type_name -> google.protobuf.Timestamp
3954	6,  // 3: google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3955	8,  // 4: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3956	0,  // 5: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestResult
3957	45, // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_time:type_name -> google.protobuf.Timestamp
3958	38, // 7: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.user_input:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput
3959	39, // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.virtual_agent_output:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput
3960	1,  // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.type:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType
3961	41, // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.transitions:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition
3962	42, // 11: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.coverages:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage
3963	44, // 12: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.intents:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent
3964	2,  // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.type:type_name -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType
3965	12, // 14: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.intent_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage
3966	10, // 15: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.transition_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage
3967	11, // 16: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.route_group_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage
3968	3,  // 17: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.view:type_name -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView
3969	5,  // 18: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse.test_cases:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3970	5,  // 19: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3971	5,  // 20: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3972	46, // 21: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.update_mask:type_name -> google.protobuf.FieldMask
3973	6,  // 22: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse.result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3974	6,  // 23: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse.results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3975	27, // 24: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestError
3976	47, // 25: google.cloud.dialogflow.cx.v3beta1.TestError.status:type_name -> google.rpc.Status
3977	45, // 26: google.cloud.dialogflow.cx.v3beta1.TestError.test_time:type_name -> google.protobuf.Timestamp
3978	31, // 27: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseError
3979	5,  // 28: google.cloud.dialogflow.cx.v3beta1.TestCaseError.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3980	47, // 29: google.cloud.dialogflow.cx.v3beta1.TestCaseError.status:type_name -> google.rpc.Status
3981	4,  // 30: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.data_format:type_name -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat
3982	6,  // 31: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse.test_case_results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3983	48, // 32: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput
3984	49, // 33: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.injected_parameters:type_name -> google.protobuf.Struct
3985	49, // 34: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.session_parameters:type_name -> google.protobuf.Struct
3986	9,  // 35: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.differences:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference
3987	49, // 36: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.diagnostic_info:type_name -> google.protobuf.Struct
3988	50, // 37: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.triggered_intent:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent
3989	51, // 38: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.current_page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
3990	52, // 39: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.text_responses:type_name -> google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text
3991	47, // 40: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.status:type_name -> google.rpc.Status
3992	51, // 41: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
3993	53, // 42: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.flow:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
3994	40, // 43: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.source:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3995	40, // 44: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.target:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3996	54, // 45: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute
3997	55, // 46: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.event_handler:type_name -> google.cloud.dialogflow.cx.v3beta1.EventHandler
3998	56, // 47: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.route_group:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup
3999	43, // 48: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.transitions:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition
4000	54, // 49: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute
4001	15, // 50: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest
4002	17, // 51: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest
4003	20, // 52: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest
4004	18, // 53: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest
4005	19, // 54: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest
4006	21, // 55: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest
4007	24, // 56: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest
4008	13, // 57: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:input_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest
4009	28, // 58: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest
4010	32, // 59: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest
4011	35, // 60: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest
4012	37, // 61: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult:input_type -> google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest
4013	16, // 62: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse
4014	57, // 63: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:output_type -> google.protobuf.Empty
4015	5,  // 64: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4016	5,  // 65: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4017	5,  // 66: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4018	58, // 67: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:output_type -> google.longrunning.Operation
4019	58, // 68: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:output_type -> google.longrunning.Operation
4020	14, // 69: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:output_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse
4021	58, // 70: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:output_type -> google.longrunning.Operation
4022	58, // 71: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:output_type -> google.longrunning.Operation
4023	36, // 72: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse
4024	6,  // 73: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
4025	62, // [62:74] is the sub-list for method output_type
4026	50, // [50:62] is the sub-list for method input_type
4027	50, // [50:50] is the sub-list for extension type_name
4028	50, // [50:50] is the sub-list for extension extendee
4029	0,  // [0:50] is the sub-list for field type_name
4030}
4031
4032func init() { file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() }
4033func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() {
4034	if File_google_cloud_dialogflow_cx_v3beta1_test_case_proto != nil {
4035		return
4036	}
4037	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init()
4038	file_google_cloud_dialogflow_cx_v3beta1_intent_proto_init()
4039	file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()
4040	file_google_cloud_dialogflow_cx_v3beta1_response_message_proto_init()
4041	file_google_cloud_dialogflow_cx_v3beta1_session_proto_init()
4042	file_google_cloud_dialogflow_cx_v3beta1_transition_route_group_proto_init()
4043	if !protoimpl.UnsafeEnabled {
4044		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4045			switch v := v.(*TestCase); i {
4046			case 0:
4047				return &v.state
4048			case 1:
4049				return &v.sizeCache
4050			case 2:
4051				return &v.unknownFields
4052			default:
4053				return nil
4054			}
4055		}
4056		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4057			switch v := v.(*TestCaseResult); i {
4058			case 0:
4059				return &v.state
4060			case 1:
4061				return &v.sizeCache
4062			case 2:
4063				return &v.unknownFields
4064			default:
4065				return nil
4066			}
4067		}
4068		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4069			switch v := v.(*TestConfig); i {
4070			case 0:
4071				return &v.state
4072			case 1:
4073				return &v.sizeCache
4074			case 2:
4075				return &v.unknownFields
4076			default:
4077				return nil
4078			}
4079		}
4080		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4081			switch v := v.(*ConversationTurn); i {
4082			case 0:
4083				return &v.state
4084			case 1:
4085				return &v.sizeCache
4086			case 2:
4087				return &v.unknownFields
4088			default:
4089				return nil
4090			}
4091		}
4092		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4093			switch v := v.(*TestRunDifference); i {
4094			case 0:
4095				return &v.state
4096			case 1:
4097				return &v.sizeCache
4098			case 2:
4099				return &v.unknownFields
4100			default:
4101				return nil
4102			}
4103		}
4104		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4105			switch v := v.(*TransitionCoverage); i {
4106			case 0:
4107				return &v.state
4108			case 1:
4109				return &v.sizeCache
4110			case 2:
4111				return &v.unknownFields
4112			default:
4113				return nil
4114			}
4115		}
4116		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4117			switch v := v.(*TransitionRouteGroupCoverage); i {
4118			case 0:
4119				return &v.state
4120			case 1:
4121				return &v.sizeCache
4122			case 2:
4123				return &v.unknownFields
4124			default:
4125				return nil
4126			}
4127		}
4128		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4129			switch v := v.(*IntentCoverage); i {
4130			case 0:
4131				return &v.state
4132			case 1:
4133				return &v.sizeCache
4134			case 2:
4135				return &v.unknownFields
4136			default:
4137				return nil
4138			}
4139		}
4140		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4141			switch v := v.(*CalculateCoverageRequest); i {
4142			case 0:
4143				return &v.state
4144			case 1:
4145				return &v.sizeCache
4146			case 2:
4147				return &v.unknownFields
4148			default:
4149				return nil
4150			}
4151		}
4152		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4153			switch v := v.(*CalculateCoverageResponse); i {
4154			case 0:
4155				return &v.state
4156			case 1:
4157				return &v.sizeCache
4158			case 2:
4159				return &v.unknownFields
4160			default:
4161				return nil
4162			}
4163		}
4164		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4165			switch v := v.(*ListTestCasesRequest); i {
4166			case 0:
4167				return &v.state
4168			case 1:
4169				return &v.sizeCache
4170			case 2:
4171				return &v.unknownFields
4172			default:
4173				return nil
4174			}
4175		}
4176		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4177			switch v := v.(*ListTestCasesResponse); i {
4178			case 0:
4179				return &v.state
4180			case 1:
4181				return &v.sizeCache
4182			case 2:
4183				return &v.unknownFields
4184			default:
4185				return nil
4186			}
4187		}
4188		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4189			switch v := v.(*BatchDeleteTestCasesRequest); i {
4190			case 0:
4191				return &v.state
4192			case 1:
4193				return &v.sizeCache
4194			case 2:
4195				return &v.unknownFields
4196			default:
4197				return nil
4198			}
4199		}
4200		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4201			switch v := v.(*CreateTestCaseRequest); i {
4202			case 0:
4203				return &v.state
4204			case 1:
4205				return &v.sizeCache
4206			case 2:
4207				return &v.unknownFields
4208			default:
4209				return nil
4210			}
4211		}
4212		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4213			switch v := v.(*UpdateTestCaseRequest); i {
4214			case 0:
4215				return &v.state
4216			case 1:
4217				return &v.sizeCache
4218			case 2:
4219				return &v.unknownFields
4220			default:
4221				return nil
4222			}
4223		}
4224		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4225			switch v := v.(*GetTestCaseRequest); i {
4226			case 0:
4227				return &v.state
4228			case 1:
4229				return &v.sizeCache
4230			case 2:
4231				return &v.unknownFields
4232			default:
4233				return nil
4234			}
4235		}
4236		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4237			switch v := v.(*RunTestCaseRequest); i {
4238			case 0:
4239				return &v.state
4240			case 1:
4241				return &v.sizeCache
4242			case 2:
4243				return &v.unknownFields
4244			default:
4245				return nil
4246			}
4247		}
4248		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4249			switch v := v.(*RunTestCaseResponse); i {
4250			case 0:
4251				return &v.state
4252			case 1:
4253				return &v.sizeCache
4254			case 2:
4255				return &v.unknownFields
4256			default:
4257				return nil
4258			}
4259		}
4260		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4261			switch v := v.(*RunTestCaseMetadata); i {
4262			case 0:
4263				return &v.state
4264			case 1:
4265				return &v.sizeCache
4266			case 2:
4267				return &v.unknownFields
4268			default:
4269				return nil
4270			}
4271		}
4272		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4273			switch v := v.(*BatchRunTestCasesRequest); i {
4274			case 0:
4275				return &v.state
4276			case 1:
4277				return &v.sizeCache
4278			case 2:
4279				return &v.unknownFields
4280			default:
4281				return nil
4282			}
4283		}
4284		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4285			switch v := v.(*BatchRunTestCasesResponse); i {
4286			case 0:
4287				return &v.state
4288			case 1:
4289				return &v.sizeCache
4290			case 2:
4291				return &v.unknownFields
4292			default:
4293				return nil
4294			}
4295		}
4296		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4297			switch v := v.(*BatchRunTestCasesMetadata); i {
4298			case 0:
4299				return &v.state
4300			case 1:
4301				return &v.sizeCache
4302			case 2:
4303				return &v.unknownFields
4304			default:
4305				return nil
4306			}
4307		}
4308		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4309			switch v := v.(*TestError); i {
4310			case 0:
4311				return &v.state
4312			case 1:
4313				return &v.sizeCache
4314			case 2:
4315				return &v.unknownFields
4316			default:
4317				return nil
4318			}
4319		}
4320		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4321			switch v := v.(*ImportTestCasesRequest); i {
4322			case 0:
4323				return &v.state
4324			case 1:
4325				return &v.sizeCache
4326			case 2:
4327				return &v.unknownFields
4328			default:
4329				return nil
4330			}
4331		}
4332		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4333			switch v := v.(*ImportTestCasesResponse); i {
4334			case 0:
4335				return &v.state
4336			case 1:
4337				return &v.sizeCache
4338			case 2:
4339				return &v.unknownFields
4340			default:
4341				return nil
4342			}
4343		}
4344		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4345			switch v := v.(*ImportTestCasesMetadata); i {
4346			case 0:
4347				return &v.state
4348			case 1:
4349				return &v.sizeCache
4350			case 2:
4351				return &v.unknownFields
4352			default:
4353				return nil
4354			}
4355		}
4356		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4357			switch v := v.(*TestCaseError); i {
4358			case 0:
4359				return &v.state
4360			case 1:
4361				return &v.sizeCache
4362			case 2:
4363				return &v.unknownFields
4364			default:
4365				return nil
4366			}
4367		}
4368		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4369			switch v := v.(*ExportTestCasesRequest); i {
4370			case 0:
4371				return &v.state
4372			case 1:
4373				return &v.sizeCache
4374			case 2:
4375				return &v.unknownFields
4376			default:
4377				return nil
4378			}
4379		}
4380		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4381			switch v := v.(*ExportTestCasesResponse); i {
4382			case 0:
4383				return &v.state
4384			case 1:
4385				return &v.sizeCache
4386			case 2:
4387				return &v.unknownFields
4388			default:
4389				return nil
4390			}
4391		}
4392		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4393			switch v := v.(*ExportTestCasesMetadata); i {
4394			case 0:
4395				return &v.state
4396			case 1:
4397				return &v.sizeCache
4398			case 2:
4399				return &v.unknownFields
4400			default:
4401				return nil
4402			}
4403		}
4404		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4405			switch v := v.(*ListTestCaseResultsRequest); i {
4406			case 0:
4407				return &v.state
4408			case 1:
4409				return &v.sizeCache
4410			case 2:
4411				return &v.unknownFields
4412			default:
4413				return nil
4414			}
4415		}
4416		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4417			switch v := v.(*ListTestCaseResultsResponse); i {
4418			case 0:
4419				return &v.state
4420			case 1:
4421				return &v.sizeCache
4422			case 2:
4423				return &v.unknownFields
4424			default:
4425				return nil
4426			}
4427		}
4428		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4429			switch v := v.(*GetTestCaseResultRequest); i {
4430			case 0:
4431				return &v.state
4432			case 1:
4433				return &v.sizeCache
4434			case 2:
4435				return &v.unknownFields
4436			default:
4437				return nil
4438			}
4439		}
4440		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4441			switch v := v.(*ConversationTurn_UserInput); i {
4442			case 0:
4443				return &v.state
4444			case 1:
4445				return &v.sizeCache
4446			case 2:
4447				return &v.unknownFields
4448			default:
4449				return nil
4450			}
4451		}
4452		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4453			switch v := v.(*ConversationTurn_VirtualAgentOutput); i {
4454			case 0:
4455				return &v.state
4456			case 1:
4457				return &v.sizeCache
4458			case 2:
4459				return &v.unknownFields
4460			default:
4461				return nil
4462			}
4463		}
4464		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4465			switch v := v.(*TransitionCoverage_TransitionNode); i {
4466			case 0:
4467				return &v.state
4468			case 1:
4469				return &v.sizeCache
4470			case 2:
4471				return &v.unknownFields
4472			default:
4473				return nil
4474			}
4475		}
4476		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4477			switch v := v.(*TransitionCoverage_Transition); i {
4478			case 0:
4479				return &v.state
4480			case 1:
4481				return &v.sizeCache
4482			case 2:
4483				return &v.unknownFields
4484			default:
4485				return nil
4486			}
4487		}
4488		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4489			switch v := v.(*TransitionRouteGroupCoverage_Coverage); i {
4490			case 0:
4491				return &v.state
4492			case 1:
4493				return &v.sizeCache
4494			case 2:
4495				return &v.unknownFields
4496			default:
4497				return nil
4498			}
4499		}
4500		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4501			switch v := v.(*TransitionRouteGroupCoverage_Coverage_Transition); i {
4502			case 0:
4503				return &v.state
4504			case 1:
4505				return &v.sizeCache
4506			case 2:
4507				return &v.unknownFields
4508			default:
4509				return nil
4510			}
4511		}
4512		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4513			switch v := v.(*IntentCoverage_Intent); i {
4514			case 0:
4515				return &v.state
4516			case 1:
4517				return &v.sizeCache
4518			case 2:
4519				return &v.unknownFields
4520			default:
4521				return nil
4522			}
4523		}
4524	}
4525	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9].OneofWrappers = []interface{}{
4526		(*CalculateCoverageResponse_IntentCoverage)(nil),
4527		(*CalculateCoverageResponse_TransitionCoverage)(nil),
4528		(*CalculateCoverageResponse_RouteGroupCoverage)(nil),
4529	}
4530	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23].OneofWrappers = []interface{}{
4531		(*ImportTestCasesRequest_GcsUri)(nil),
4532		(*ImportTestCasesRequest_Content)(nil),
4533	}
4534	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].OneofWrappers = []interface{}{
4535		(*ExportTestCasesRequest_GcsUri)(nil),
4536	}
4537	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28].OneofWrappers = []interface{}{
4538		(*ExportTestCasesResponse_GcsUri)(nil),
4539		(*ExportTestCasesResponse_Content)(nil),
4540	}
4541	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35].OneofWrappers = []interface{}{
4542		(*TransitionCoverage_TransitionNode_Page)(nil),
4543		(*TransitionCoverage_TransitionNode_Flow)(nil),
4544	}
4545	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36].OneofWrappers = []interface{}{
4546		(*TransitionCoverage_Transition_TransitionRoute)(nil),
4547		(*TransitionCoverage_Transition_EventHandler)(nil),
4548	}
4549	type x struct{}
4550	out := protoimpl.TypeBuilder{
4551		File: protoimpl.DescBuilder{
4552			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4553			RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc,
4554			NumEnums:      5,
4555			NumMessages:   40,
4556			NumExtensions: 0,
4557			NumServices:   1,
4558		},
4559		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes,
4560		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs,
4561		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes,
4562		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes,
4563	}.Build()
4564	File_google_cloud_dialogflow_cx_v3beta1_test_case_proto = out.File
4565	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = nil
4566	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = nil
4567	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = nil
4568}
4569
4570// Reference imports to suppress errors if they are not otherwise used.
4571var _ context.Context
4572var _ grpc.ClientConnInterface
4573
4574// This is a compile-time assertion to ensure that this generated file
4575// is compatible with the grpc package it is being compiled against.
4576const _ = grpc.SupportPackageIsVersion6
4577
4578// TestCasesClient is the client API for TestCases service.
4579//
4580// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4581type TestCasesClient interface {
4582	// Fetches a list of test cases for a given agent.
4583	ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error)
4584	// Batch deletes test cases.
4585	BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
4586	// Gets a test case.
4587	GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4588	// Creates a test case for the given agent.
4589	CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4590	// Updates the specified test case.
4591	UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4592	// Kicks off a test case run.
4593	//
4594	// This method is a [long-running
4595	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4596	// The returned `Operation` type has the following method-specific fields:
4597	//
4598	// - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata]
4599	// - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse]
4600	RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4601	// Kicks off a batch run of test cases.
4602	//
4603	// This method is a [long-running
4604	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4605	// The returned `Operation` type has the following method-specific fields:
4606	//
4607	// - `metadata`: [BatchRunTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata]
4608	// - `response`: [BatchRunTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse]
4609	BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4610	// Calculates the test coverage for an agent.
4611	CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error)
4612	// Imports the test cases from a Cloud Storage bucket or a local file. It
4613	// always creates new test cases and won't overwite any existing ones. The
4614	// provided ID in the imported test case is neglected.
4615	//
4616	// This method is a [long-running
4617	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4618	// The returned `Operation` type has the following method-specific fields:
4619	//
4620	// - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata]
4621	// - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse]
4622	ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4623	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4624	// file. Filter can be applied to export a subset of test cases.
4625	//
4626	// This method is a [long-running
4627	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4628	// The returned `Operation` type has the following method-specific fields:
4629	//
4630	// - `metadata`: [ExportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata]
4631	// - `response`: [ExportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse]
4632	ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4633	// Fetches a list of results for a given test case.
4634	ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error)
4635	// Gets a test case result.
4636	GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error)
4637}
4638
4639type testCasesClient struct {
4640	cc grpc.ClientConnInterface
4641}
4642
4643func NewTestCasesClient(cc grpc.ClientConnInterface) TestCasesClient {
4644	return &testCasesClient{cc}
4645}
4646
4647func (c *testCasesClient) ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) {
4648	out := new(ListTestCasesResponse)
4649	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases", in, out, opts...)
4650	if err != nil {
4651		return nil, err
4652	}
4653	return out, nil
4654}
4655
4656func (c *testCasesClient) BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
4657	out := new(emptypb.Empty)
4658	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases", in, out, opts...)
4659	if err != nil {
4660		return nil, err
4661	}
4662	return out, nil
4663}
4664
4665func (c *testCasesClient) GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4666	out := new(TestCase)
4667	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase", in, out, opts...)
4668	if err != nil {
4669		return nil, err
4670	}
4671	return out, nil
4672}
4673
4674func (c *testCasesClient) CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4675	out := new(TestCase)
4676	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase", in, out, opts...)
4677	if err != nil {
4678		return nil, err
4679	}
4680	return out, nil
4681}
4682
4683func (c *testCasesClient) UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4684	out := new(TestCase)
4685	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase", in, out, opts...)
4686	if err != nil {
4687		return nil, err
4688	}
4689	return out, nil
4690}
4691
4692func (c *testCasesClient) RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4693	out := new(longrunning.Operation)
4694	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase", in, out, opts...)
4695	if err != nil {
4696		return nil, err
4697	}
4698	return out, nil
4699}
4700
4701func (c *testCasesClient) BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4702	out := new(longrunning.Operation)
4703	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases", in, out, opts...)
4704	if err != nil {
4705		return nil, err
4706	}
4707	return out, nil
4708}
4709
4710func (c *testCasesClient) CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) {
4711	out := new(CalculateCoverageResponse)
4712	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage", in, out, opts...)
4713	if err != nil {
4714		return nil, err
4715	}
4716	return out, nil
4717}
4718
4719func (c *testCasesClient) ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4720	out := new(longrunning.Operation)
4721	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases", in, out, opts...)
4722	if err != nil {
4723		return nil, err
4724	}
4725	return out, nil
4726}
4727
4728func (c *testCasesClient) ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4729	out := new(longrunning.Operation)
4730	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases", in, out, opts...)
4731	if err != nil {
4732		return nil, err
4733	}
4734	return out, nil
4735}
4736
4737func (c *testCasesClient) ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) {
4738	out := new(ListTestCaseResultsResponse)
4739	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults", in, out, opts...)
4740	if err != nil {
4741		return nil, err
4742	}
4743	return out, nil
4744}
4745
4746func (c *testCasesClient) GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error) {
4747	out := new(TestCaseResult)
4748	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCaseResult", in, out, opts...)
4749	if err != nil {
4750		return nil, err
4751	}
4752	return out, nil
4753}
4754
4755// TestCasesServer is the server API for TestCases service.
4756type TestCasesServer interface {
4757	// Fetches a list of test cases for a given agent.
4758	ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error)
4759	// Batch deletes test cases.
4760	BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error)
4761	// Gets a test case.
4762	GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error)
4763	// Creates a test case for the given agent.
4764	CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error)
4765	// Updates the specified test case.
4766	UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error)
4767	// Kicks off a test case run.
4768	//
4769	// This method is a [long-running
4770	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4771	// The returned `Operation` type has the following method-specific fields:
4772	//
4773	// - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata]
4774	// - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse]
4775	RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error)
4776	// Kicks off a batch run of test cases.
4777	//
4778	// This method is a [long-running
4779	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4780	// The returned `Operation` type has the following method-specific fields:
4781	//
4782	// - `metadata`: [BatchRunTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata]
4783	// - `response`: [BatchRunTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse]
4784	BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error)
4785	// Calculates the test coverage for an agent.
4786	CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error)
4787	// Imports the test cases from a Cloud Storage bucket or a local file. It
4788	// always creates new test cases and won't overwite any existing ones. The
4789	// provided ID in the imported test case is neglected.
4790	//
4791	// This method is a [long-running
4792	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4793	// The returned `Operation` type has the following method-specific fields:
4794	//
4795	// - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata]
4796	// - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse]
4797	ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error)
4798	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4799	// file. Filter can be applied to export a subset of test cases.
4800	//
4801	// This method is a [long-running
4802	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4803	// The returned `Operation` type has the following method-specific fields:
4804	//
4805	// - `metadata`: [ExportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata]
4806	// - `response`: [ExportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse]
4807	ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error)
4808	// Fetches a list of results for a given test case.
4809	ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error)
4810	// Gets a test case result.
4811	GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error)
4812}
4813
4814// UnimplementedTestCasesServer can be embedded to have forward compatible implementations.
4815type UnimplementedTestCasesServer struct {
4816}
4817
4818func (*UnimplementedTestCasesServer) ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) {
4819	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCases not implemented")
4820}
4821func (*UnimplementedTestCasesServer) BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error) {
4822	return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteTestCases not implemented")
4823}
4824func (*UnimplementedTestCasesServer) GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) {
4825	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCase not implemented")
4826}
4827func (*UnimplementedTestCasesServer) CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) {
4828	return nil, status1.Errorf(codes.Unimplemented, "method CreateTestCase not implemented")
4829}
4830func (*UnimplementedTestCasesServer) UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) {
4831	return nil, status1.Errorf(codes.Unimplemented, "method UpdateTestCase not implemented")
4832}
4833func (*UnimplementedTestCasesServer) RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) {
4834	return nil, status1.Errorf(codes.Unimplemented, "method RunTestCase not implemented")
4835}
4836func (*UnimplementedTestCasesServer) BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) {
4837	return nil, status1.Errorf(codes.Unimplemented, "method BatchRunTestCases not implemented")
4838}
4839func (*UnimplementedTestCasesServer) CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) {
4840	return nil, status1.Errorf(codes.Unimplemented, "method CalculateCoverage not implemented")
4841}
4842func (*UnimplementedTestCasesServer) ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) {
4843	return nil, status1.Errorf(codes.Unimplemented, "method ImportTestCases not implemented")
4844}
4845func (*UnimplementedTestCasesServer) ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) {
4846	return nil, status1.Errorf(codes.Unimplemented, "method ExportTestCases not implemented")
4847}
4848func (*UnimplementedTestCasesServer) ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) {
4849	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCaseResults not implemented")
4850}
4851func (*UnimplementedTestCasesServer) GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error) {
4852	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCaseResult not implemented")
4853}
4854
4855func RegisterTestCasesServer(s *grpc.Server, srv TestCasesServer) {
4856	s.RegisterService(&_TestCases_serviceDesc, srv)
4857}
4858
4859func _TestCases_ListTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4860	in := new(ListTestCasesRequest)
4861	if err := dec(in); err != nil {
4862		return nil, err
4863	}
4864	if interceptor == nil {
4865		return srv.(TestCasesServer).ListTestCases(ctx, in)
4866	}
4867	info := &grpc.UnaryServerInfo{
4868		Server:     srv,
4869		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases",
4870	}
4871	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4872		return srv.(TestCasesServer).ListTestCases(ctx, req.(*ListTestCasesRequest))
4873	}
4874	return interceptor(ctx, in, info, handler)
4875}
4876
4877func _TestCases_BatchDeleteTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4878	in := new(BatchDeleteTestCasesRequest)
4879	if err := dec(in); err != nil {
4880		return nil, err
4881	}
4882	if interceptor == nil {
4883		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, in)
4884	}
4885	info := &grpc.UnaryServerInfo{
4886		Server:     srv,
4887		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases",
4888	}
4889	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4890		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, req.(*BatchDeleteTestCasesRequest))
4891	}
4892	return interceptor(ctx, in, info, handler)
4893}
4894
4895func _TestCases_GetTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4896	in := new(GetTestCaseRequest)
4897	if err := dec(in); err != nil {
4898		return nil, err
4899	}
4900	if interceptor == nil {
4901		return srv.(TestCasesServer).GetTestCase(ctx, in)
4902	}
4903	info := &grpc.UnaryServerInfo{
4904		Server:     srv,
4905		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase",
4906	}
4907	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4908		return srv.(TestCasesServer).GetTestCase(ctx, req.(*GetTestCaseRequest))
4909	}
4910	return interceptor(ctx, in, info, handler)
4911}
4912
4913func _TestCases_CreateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4914	in := new(CreateTestCaseRequest)
4915	if err := dec(in); err != nil {
4916		return nil, err
4917	}
4918	if interceptor == nil {
4919		return srv.(TestCasesServer).CreateTestCase(ctx, in)
4920	}
4921	info := &grpc.UnaryServerInfo{
4922		Server:     srv,
4923		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase",
4924	}
4925	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4926		return srv.(TestCasesServer).CreateTestCase(ctx, req.(*CreateTestCaseRequest))
4927	}
4928	return interceptor(ctx, in, info, handler)
4929}
4930
4931func _TestCases_UpdateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4932	in := new(UpdateTestCaseRequest)
4933	if err := dec(in); err != nil {
4934		return nil, err
4935	}
4936	if interceptor == nil {
4937		return srv.(TestCasesServer).UpdateTestCase(ctx, in)
4938	}
4939	info := &grpc.UnaryServerInfo{
4940		Server:     srv,
4941		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase",
4942	}
4943	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4944		return srv.(TestCasesServer).UpdateTestCase(ctx, req.(*UpdateTestCaseRequest))
4945	}
4946	return interceptor(ctx, in, info, handler)
4947}
4948
4949func _TestCases_RunTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4950	in := new(RunTestCaseRequest)
4951	if err := dec(in); err != nil {
4952		return nil, err
4953	}
4954	if interceptor == nil {
4955		return srv.(TestCasesServer).RunTestCase(ctx, in)
4956	}
4957	info := &grpc.UnaryServerInfo{
4958		Server:     srv,
4959		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase",
4960	}
4961	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4962		return srv.(TestCasesServer).RunTestCase(ctx, req.(*RunTestCaseRequest))
4963	}
4964	return interceptor(ctx, in, info, handler)
4965}
4966
4967func _TestCases_BatchRunTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4968	in := new(BatchRunTestCasesRequest)
4969	if err := dec(in); err != nil {
4970		return nil, err
4971	}
4972	if interceptor == nil {
4973		return srv.(TestCasesServer).BatchRunTestCases(ctx, in)
4974	}
4975	info := &grpc.UnaryServerInfo{
4976		Server:     srv,
4977		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases",
4978	}
4979	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4980		return srv.(TestCasesServer).BatchRunTestCases(ctx, req.(*BatchRunTestCasesRequest))
4981	}
4982	return interceptor(ctx, in, info, handler)
4983}
4984
4985func _TestCases_CalculateCoverage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4986	in := new(CalculateCoverageRequest)
4987	if err := dec(in); err != nil {
4988		return nil, err
4989	}
4990	if interceptor == nil {
4991		return srv.(TestCasesServer).CalculateCoverage(ctx, in)
4992	}
4993	info := &grpc.UnaryServerInfo{
4994		Server:     srv,
4995		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage",
4996	}
4997	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4998		return srv.(TestCasesServer).CalculateCoverage(ctx, req.(*CalculateCoverageRequest))
4999	}
5000	return interceptor(ctx, in, info, handler)
5001}
5002
5003func _TestCases_ImportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5004	in := new(ImportTestCasesRequest)
5005	if err := dec(in); err != nil {
5006		return nil, err
5007	}
5008	if interceptor == nil {
5009		return srv.(TestCasesServer).ImportTestCases(ctx, in)
5010	}
5011	info := &grpc.UnaryServerInfo{
5012		Server:     srv,
5013		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases",
5014	}
5015	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5016		return srv.(TestCasesServer).ImportTestCases(ctx, req.(*ImportTestCasesRequest))
5017	}
5018	return interceptor(ctx, in, info, handler)
5019}
5020
5021func _TestCases_ExportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5022	in := new(ExportTestCasesRequest)
5023	if err := dec(in); err != nil {
5024		return nil, err
5025	}
5026	if interceptor == nil {
5027		return srv.(TestCasesServer).ExportTestCases(ctx, in)
5028	}
5029	info := &grpc.UnaryServerInfo{
5030		Server:     srv,
5031		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases",
5032	}
5033	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5034		return srv.(TestCasesServer).ExportTestCases(ctx, req.(*ExportTestCasesRequest))
5035	}
5036	return interceptor(ctx, in, info, handler)
5037}
5038
5039func _TestCases_ListTestCaseResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5040	in := new(ListTestCaseResultsRequest)
5041	if err := dec(in); err != nil {
5042		return nil, err
5043	}
5044	if interceptor == nil {
5045		return srv.(TestCasesServer).ListTestCaseResults(ctx, in)
5046	}
5047	info := &grpc.UnaryServerInfo{
5048		Server:     srv,
5049		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults",
5050	}
5051	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5052		return srv.(TestCasesServer).ListTestCaseResults(ctx, req.(*ListTestCaseResultsRequest))
5053	}
5054	return interceptor(ctx, in, info, handler)
5055}
5056
5057func _TestCases_GetTestCaseResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5058	in := new(GetTestCaseResultRequest)
5059	if err := dec(in); err != nil {
5060		return nil, err
5061	}
5062	if interceptor == nil {
5063		return srv.(TestCasesServer).GetTestCaseResult(ctx, in)
5064	}
5065	info := &grpc.UnaryServerInfo{
5066		Server:     srv,
5067		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCaseResult",
5068	}
5069	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5070		return srv.(TestCasesServer).GetTestCaseResult(ctx, req.(*GetTestCaseResultRequest))
5071	}
5072	return interceptor(ctx, in, info, handler)
5073}
5074
5075var _TestCases_serviceDesc = grpc.ServiceDesc{
5076	ServiceName: "google.cloud.dialogflow.cx.v3beta1.TestCases",
5077	HandlerType: (*TestCasesServer)(nil),
5078	Methods: []grpc.MethodDesc{
5079		{
5080			MethodName: "ListTestCases",
5081			Handler:    _TestCases_ListTestCases_Handler,
5082		},
5083		{
5084			MethodName: "BatchDeleteTestCases",
5085			Handler:    _TestCases_BatchDeleteTestCases_Handler,
5086		},
5087		{
5088			MethodName: "GetTestCase",
5089			Handler:    _TestCases_GetTestCase_Handler,
5090		},
5091		{
5092			MethodName: "CreateTestCase",
5093			Handler:    _TestCases_CreateTestCase_Handler,
5094		},
5095		{
5096			MethodName: "UpdateTestCase",
5097			Handler:    _TestCases_UpdateTestCase_Handler,
5098		},
5099		{
5100			MethodName: "RunTestCase",
5101			Handler:    _TestCases_RunTestCase_Handler,
5102		},
5103		{
5104			MethodName: "BatchRunTestCases",
5105			Handler:    _TestCases_BatchRunTestCases_Handler,
5106		},
5107		{
5108			MethodName: "CalculateCoverage",
5109			Handler:    _TestCases_CalculateCoverage_Handler,
5110		},
5111		{
5112			MethodName: "ImportTestCases",
5113			Handler:    _TestCases_ImportTestCases_Handler,
5114		},
5115		{
5116			MethodName: "ExportTestCases",
5117			Handler:    _TestCases_ExportTestCases_Handler,
5118		},
5119		{
5120			MethodName: "ListTestCaseResults",
5121			Handler:    _TestCases_ListTestCaseResults_Handler,
5122		},
5123		{
5124			MethodName: "GetTestCaseResult",
5125			Handler:    _TestCases_GetTestCaseResult_Handler,
5126		},
5127	},
5128	Streams:  []grpc.StreamDesc{},
5129	Metadata: "google/cloud/dialogflow/cx/v3beta1/test_case.proto",
5130}
5131