1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package testing
22
23 import (
24 context "context"
25 reflect "reflect"
26 sync "sync"
27
28 _ "google.golang.org/genproto/googleapis/api/annotations"
29 grpc "google.golang.org/grpc"
30 codes "google.golang.org/grpc/codes"
31 status "google.golang.org/grpc/status"
32 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34 durationpb "google.golang.org/protobuf/types/known/durationpb"
35 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
36 )
37
38 const (
39
40 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41
42 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43 )
44
45
46 type OrchestratorOption int32
47
48 const (
49
50
51
52
53
54 OrchestratorOption_ORCHESTRATOR_OPTION_UNSPECIFIED OrchestratorOption = 0
55
56
57
58 OrchestratorOption_USE_ORCHESTRATOR OrchestratorOption = 1
59
60 OrchestratorOption_DO_NOT_USE_ORCHESTRATOR OrchestratorOption = 2
61 )
62
63
64 var (
65 OrchestratorOption_name = map[int32]string{
66 0: "ORCHESTRATOR_OPTION_UNSPECIFIED",
67 1: "USE_ORCHESTRATOR",
68 2: "DO_NOT_USE_ORCHESTRATOR",
69 }
70 OrchestratorOption_value = map[string]int32{
71 "ORCHESTRATOR_OPTION_UNSPECIFIED": 0,
72 "USE_ORCHESTRATOR": 1,
73 "DO_NOT_USE_ORCHESTRATOR": 2,
74 }
75 )
76
77 func (x OrchestratorOption) Enum() *OrchestratorOption {
78 p := new(OrchestratorOption)
79 *p = x
80 return p
81 }
82
83 func (x OrchestratorOption) String() string {
84 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
85 }
86
87 func (OrchestratorOption) Descriptor() protoreflect.EnumDescriptor {
88 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[0].Descriptor()
89 }
90
91 func (OrchestratorOption) Type() protoreflect.EnumType {
92 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[0]
93 }
94
95 func (x OrchestratorOption) Number() protoreflect.EnumNumber {
96 return protoreflect.EnumNumber(x)
97 }
98
99
100 func (OrchestratorOption) EnumDescriptor() ([]byte, []int) {
101 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{0}
102 }
103
104
105 type RoboMode int32
106
107 const (
108
109
110 RoboMode_ROBO_MODE_UNSPECIFIED RoboMode = 0
111
112 RoboMode_ROBO_VERSION_1 RoboMode = 1
113
114 RoboMode_ROBO_VERSION_2 RoboMode = 2
115 )
116
117
118 var (
119 RoboMode_name = map[int32]string{
120 0: "ROBO_MODE_UNSPECIFIED",
121 1: "ROBO_VERSION_1",
122 2: "ROBO_VERSION_2",
123 }
124 RoboMode_value = map[string]int32{
125 "ROBO_MODE_UNSPECIFIED": 0,
126 "ROBO_VERSION_1": 1,
127 "ROBO_VERSION_2": 2,
128 }
129 )
130
131 func (x RoboMode) Enum() *RoboMode {
132 p := new(RoboMode)
133 *p = x
134 return p
135 }
136
137 func (x RoboMode) String() string {
138 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
139 }
140
141 func (RoboMode) Descriptor() protoreflect.EnumDescriptor {
142 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[1].Descriptor()
143 }
144
145 func (RoboMode) Type() protoreflect.EnumType {
146 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[1]
147 }
148
149 func (x RoboMode) Number() protoreflect.EnumNumber {
150 return protoreflect.EnumNumber(x)
151 }
152
153
154 func (RoboMode) EnumDescriptor() ([]byte, []int) {
155 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{1}
156 }
157
158
159 type RoboActionType int32
160
161 const (
162
163 RoboActionType_ACTION_TYPE_UNSPECIFIED RoboActionType = 0
164
165
166 RoboActionType_SINGLE_CLICK RoboActionType = 1
167
168
169 RoboActionType_ENTER_TEXT RoboActionType = 2
170
171 RoboActionType_IGNORE RoboActionType = 3
172 )
173
174
175 var (
176 RoboActionType_name = map[int32]string{
177 0: "ACTION_TYPE_UNSPECIFIED",
178 1: "SINGLE_CLICK",
179 2: "ENTER_TEXT",
180 3: "IGNORE",
181 }
182 RoboActionType_value = map[string]int32{
183 "ACTION_TYPE_UNSPECIFIED": 0,
184 "SINGLE_CLICK": 1,
185 "ENTER_TEXT": 2,
186 "IGNORE": 3,
187 }
188 )
189
190 func (x RoboActionType) Enum() *RoboActionType {
191 p := new(RoboActionType)
192 *p = x
193 return p
194 }
195
196 func (x RoboActionType) String() string {
197 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
198 }
199
200 func (RoboActionType) Descriptor() protoreflect.EnumDescriptor {
201 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[2].Descriptor()
202 }
203
204 func (RoboActionType) Type() protoreflect.EnumType {
205 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[2]
206 }
207
208 func (x RoboActionType) Number() protoreflect.EnumNumber {
209 return protoreflect.EnumNumber(x)
210 }
211
212
213 func (RoboActionType) EnumDescriptor() ([]byte, []int) {
214 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{2}
215 }
216
217
218 type InvalidMatrixDetails int32
219
220 const (
221
222 InvalidMatrixDetails_INVALID_MATRIX_DETAILS_UNSPECIFIED InvalidMatrixDetails = 0
223
224 InvalidMatrixDetails_DETAILS_UNAVAILABLE InvalidMatrixDetails = 1
225
226 InvalidMatrixDetails_MALFORMED_APK InvalidMatrixDetails = 2
227
228 InvalidMatrixDetails_MALFORMED_TEST_APK InvalidMatrixDetails = 3
229
230 InvalidMatrixDetails_NO_MANIFEST InvalidMatrixDetails = 4
231
232 InvalidMatrixDetails_NO_PACKAGE_NAME InvalidMatrixDetails = 5
233
234
235
236 InvalidMatrixDetails_INVALID_PACKAGE_NAME InvalidMatrixDetails = 31
237
238 InvalidMatrixDetails_TEST_SAME_AS_APP InvalidMatrixDetails = 6
239
240 InvalidMatrixDetails_NO_INSTRUMENTATION InvalidMatrixDetails = 7
241
242 InvalidMatrixDetails_NO_SIGNATURE InvalidMatrixDetails = 20
243
244
245
246
247
248
249 InvalidMatrixDetails_INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE InvalidMatrixDetails = 18
250
251
252
253
254
255
256 InvalidMatrixDetails_NO_TEST_RUNNER_CLASS InvalidMatrixDetails = 19
257
258 InvalidMatrixDetails_NO_LAUNCHER_ACTIVITY InvalidMatrixDetails = 8
259
260 InvalidMatrixDetails_FORBIDDEN_PERMISSIONS InvalidMatrixDetails = 9
261
262 InvalidMatrixDetails_INVALID_ROBO_DIRECTIVES InvalidMatrixDetails = 10
263
264
265 InvalidMatrixDetails_INVALID_RESOURCE_NAME InvalidMatrixDetails = 33
266
267
268 InvalidMatrixDetails_INVALID_DIRECTIVE_ACTION InvalidMatrixDetails = 34
269
270
271 InvalidMatrixDetails_TEST_LOOP_INTENT_FILTER_NOT_FOUND InvalidMatrixDetails = 12
272
273
274 InvalidMatrixDetails_SCENARIO_LABEL_NOT_DECLARED InvalidMatrixDetails = 13
275
276 InvalidMatrixDetails_SCENARIO_LABEL_MALFORMED InvalidMatrixDetails = 14
277
278
279 InvalidMatrixDetails_SCENARIO_NOT_DECLARED InvalidMatrixDetails = 15
280
281 InvalidMatrixDetails_DEVICE_ADMIN_RECEIVER InvalidMatrixDetails = 17
282
283
284
285 InvalidMatrixDetails_MALFORMED_XC_TEST_ZIP InvalidMatrixDetails = 11
286
287
288 InvalidMatrixDetails_BUILT_FOR_IOS_SIMULATOR InvalidMatrixDetails = 24
289
290 InvalidMatrixDetails_NO_TESTS_IN_XC_TEST_ZIP InvalidMatrixDetails = 25
291
292
293 InvalidMatrixDetails_USE_DESTINATION_ARTIFACTS InvalidMatrixDetails = 26
294
295
296 InvalidMatrixDetails_TEST_NOT_APP_HOSTED InvalidMatrixDetails = 28
297
298 InvalidMatrixDetails_PLIST_CANNOT_BE_PARSED InvalidMatrixDetails = 30
299
300
301
302
303 InvalidMatrixDetails_TEST_ONLY_APK InvalidMatrixDetails = 21
304
305 InvalidMatrixDetails_MALFORMED_IPA InvalidMatrixDetails = 22
306
307 InvalidMatrixDetails_MISSING_URL_SCHEME InvalidMatrixDetails = 35
308
309 InvalidMatrixDetails_MALFORMED_APP_BUNDLE InvalidMatrixDetails = 36
310
311
312
313 InvalidMatrixDetails_NO_CODE_APK InvalidMatrixDetails = 23
314
315
316
317 InvalidMatrixDetails_INVALID_INPUT_APK InvalidMatrixDetails = 27
318
319 InvalidMatrixDetails_INVALID_APK_PREVIEW_SDK InvalidMatrixDetails = 29
320
321 InvalidMatrixDetails_MATRIX_TOO_LARGE InvalidMatrixDetails = 37
322
323 InvalidMatrixDetails_TEST_QUOTA_EXCEEDED InvalidMatrixDetails = 39
324
325
326
327 InvalidMatrixDetails_SERVICE_NOT_ACTIVATED InvalidMatrixDetails = 40
328
329 InvalidMatrixDetails_UNKNOWN_PERMISSION_ERROR InvalidMatrixDetails = 41
330 )
331
332
333 var (
334 InvalidMatrixDetails_name = map[int32]string{
335 0: "INVALID_MATRIX_DETAILS_UNSPECIFIED",
336 1: "DETAILS_UNAVAILABLE",
337 2: "MALFORMED_APK",
338 3: "MALFORMED_TEST_APK",
339 4: "NO_MANIFEST",
340 5: "NO_PACKAGE_NAME",
341 31: "INVALID_PACKAGE_NAME",
342 6: "TEST_SAME_AS_APP",
343 7: "NO_INSTRUMENTATION",
344 20: "NO_SIGNATURE",
345 18: "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE",
346 19: "NO_TEST_RUNNER_CLASS",
347 8: "NO_LAUNCHER_ACTIVITY",
348 9: "FORBIDDEN_PERMISSIONS",
349 10: "INVALID_ROBO_DIRECTIVES",
350 33: "INVALID_RESOURCE_NAME",
351 34: "INVALID_DIRECTIVE_ACTION",
352 12: "TEST_LOOP_INTENT_FILTER_NOT_FOUND",
353 13: "SCENARIO_LABEL_NOT_DECLARED",
354 14: "SCENARIO_LABEL_MALFORMED",
355 15: "SCENARIO_NOT_DECLARED",
356 17: "DEVICE_ADMIN_RECEIVER",
357 11: "MALFORMED_XC_TEST_ZIP",
358 24: "BUILT_FOR_IOS_SIMULATOR",
359 25: "NO_TESTS_IN_XC_TEST_ZIP",
360 26: "USE_DESTINATION_ARTIFACTS",
361 28: "TEST_NOT_APP_HOSTED",
362 30: "PLIST_CANNOT_BE_PARSED",
363 21: "TEST_ONLY_APK",
364 22: "MALFORMED_IPA",
365 35: "MISSING_URL_SCHEME",
366 36: "MALFORMED_APP_BUNDLE",
367 23: "NO_CODE_APK",
368 27: "INVALID_INPUT_APK",
369 29: "INVALID_APK_PREVIEW_SDK",
370 37: "MATRIX_TOO_LARGE",
371 39: "TEST_QUOTA_EXCEEDED",
372 40: "SERVICE_NOT_ACTIVATED",
373 41: "UNKNOWN_PERMISSION_ERROR",
374 }
375 InvalidMatrixDetails_value = map[string]int32{
376 "INVALID_MATRIX_DETAILS_UNSPECIFIED": 0,
377 "DETAILS_UNAVAILABLE": 1,
378 "MALFORMED_APK": 2,
379 "MALFORMED_TEST_APK": 3,
380 "NO_MANIFEST": 4,
381 "NO_PACKAGE_NAME": 5,
382 "INVALID_PACKAGE_NAME": 31,
383 "TEST_SAME_AS_APP": 6,
384 "NO_INSTRUMENTATION": 7,
385 "NO_SIGNATURE": 20,
386 "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE": 18,
387 "NO_TEST_RUNNER_CLASS": 19,
388 "NO_LAUNCHER_ACTIVITY": 8,
389 "FORBIDDEN_PERMISSIONS": 9,
390 "INVALID_ROBO_DIRECTIVES": 10,
391 "INVALID_RESOURCE_NAME": 33,
392 "INVALID_DIRECTIVE_ACTION": 34,
393 "TEST_LOOP_INTENT_FILTER_NOT_FOUND": 12,
394 "SCENARIO_LABEL_NOT_DECLARED": 13,
395 "SCENARIO_LABEL_MALFORMED": 14,
396 "SCENARIO_NOT_DECLARED": 15,
397 "DEVICE_ADMIN_RECEIVER": 17,
398 "MALFORMED_XC_TEST_ZIP": 11,
399 "BUILT_FOR_IOS_SIMULATOR": 24,
400 "NO_TESTS_IN_XC_TEST_ZIP": 25,
401 "USE_DESTINATION_ARTIFACTS": 26,
402 "TEST_NOT_APP_HOSTED": 28,
403 "PLIST_CANNOT_BE_PARSED": 30,
404 "TEST_ONLY_APK": 21,
405 "MALFORMED_IPA": 22,
406 "MISSING_URL_SCHEME": 35,
407 "MALFORMED_APP_BUNDLE": 36,
408 "NO_CODE_APK": 23,
409 "INVALID_INPUT_APK": 27,
410 "INVALID_APK_PREVIEW_SDK": 29,
411 "MATRIX_TOO_LARGE": 37,
412 "TEST_QUOTA_EXCEEDED": 39,
413 "SERVICE_NOT_ACTIVATED": 40,
414 "UNKNOWN_PERMISSION_ERROR": 41,
415 }
416 )
417
418 func (x InvalidMatrixDetails) Enum() *InvalidMatrixDetails {
419 p := new(InvalidMatrixDetails)
420 *p = x
421 return p
422 }
423
424 func (x InvalidMatrixDetails) String() string {
425 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
426 }
427
428 func (InvalidMatrixDetails) Descriptor() protoreflect.EnumDescriptor {
429 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[3].Descriptor()
430 }
431
432 func (InvalidMatrixDetails) Type() protoreflect.EnumType {
433 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[3]
434 }
435
436 func (x InvalidMatrixDetails) Number() protoreflect.EnumNumber {
437 return protoreflect.EnumNumber(x)
438 }
439
440
441 func (InvalidMatrixDetails) EnumDescriptor() ([]byte, []int) {
442 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{3}
443 }
444
445
446 type TestState int32
447
448 const (
449
450 TestState_TEST_STATE_UNSPECIFIED TestState = 0
451
452 TestState_VALIDATING TestState = 8
453
454 TestState_PENDING TestState = 1
455
456
457
458 TestState_RUNNING TestState = 2
459
460
461
462
463 TestState_FINISHED TestState = 3
464
465
466 TestState_ERROR TestState = 4
467
468
469
470
471 TestState_UNSUPPORTED_ENVIRONMENT TestState = 5
472
473
474
475
476
477
478 TestState_INCOMPATIBLE_ENVIRONMENT TestState = 9
479
480
481
482
483
484
485
486 TestState_INCOMPATIBLE_ARCHITECTURE TestState = 10
487
488
489
490 TestState_CANCELLED TestState = 6
491
492
493
494
495
496 TestState_INVALID TestState = 7
497 )
498
499
500 var (
501 TestState_name = map[int32]string{
502 0: "TEST_STATE_UNSPECIFIED",
503 8: "VALIDATING",
504 1: "PENDING",
505 2: "RUNNING",
506 3: "FINISHED",
507 4: "ERROR",
508 5: "UNSUPPORTED_ENVIRONMENT",
509 9: "INCOMPATIBLE_ENVIRONMENT",
510 10: "INCOMPATIBLE_ARCHITECTURE",
511 6: "CANCELLED",
512 7: "INVALID",
513 }
514 TestState_value = map[string]int32{
515 "TEST_STATE_UNSPECIFIED": 0,
516 "VALIDATING": 8,
517 "PENDING": 1,
518 "RUNNING": 2,
519 "FINISHED": 3,
520 "ERROR": 4,
521 "UNSUPPORTED_ENVIRONMENT": 5,
522 "INCOMPATIBLE_ENVIRONMENT": 9,
523 "INCOMPATIBLE_ARCHITECTURE": 10,
524 "CANCELLED": 6,
525 "INVALID": 7,
526 }
527 )
528
529 func (x TestState) Enum() *TestState {
530 p := new(TestState)
531 *p = x
532 return p
533 }
534
535 func (x TestState) String() string {
536 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
537 }
538
539 func (TestState) Descriptor() protoreflect.EnumDescriptor {
540 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[4].Descriptor()
541 }
542
543 func (TestState) Type() protoreflect.EnumType {
544 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[4]
545 }
546
547 func (x TestState) Number() protoreflect.EnumNumber {
548 return protoreflect.EnumNumber(x)
549 }
550
551
552 func (TestState) EnumDescriptor() ([]byte, []int) {
553 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{4}
554 }
555
556
557 type OutcomeSummary int32
558
559 const (
560
561 OutcomeSummary_OUTCOME_SUMMARY_UNSPECIFIED OutcomeSummary = 0
562
563
564
565 OutcomeSummary_SUCCESS OutcomeSummary = 1
566
567
568
569
570 OutcomeSummary_FAILURE OutcomeSummary = 2
571
572
573
574 OutcomeSummary_INCONCLUSIVE OutcomeSummary = 3
575
576
577 OutcomeSummary_SKIPPED OutcomeSummary = 4
578 )
579
580
581 var (
582 OutcomeSummary_name = map[int32]string{
583 0: "OUTCOME_SUMMARY_UNSPECIFIED",
584 1: "SUCCESS",
585 2: "FAILURE",
586 3: "INCONCLUSIVE",
587 4: "SKIPPED",
588 }
589 OutcomeSummary_value = map[string]int32{
590 "OUTCOME_SUMMARY_UNSPECIFIED": 0,
591 "SUCCESS": 1,
592 "FAILURE": 2,
593 "INCONCLUSIVE": 3,
594 "SKIPPED": 4,
595 }
596 )
597
598 func (x OutcomeSummary) Enum() *OutcomeSummary {
599 p := new(OutcomeSummary)
600 *p = x
601 return p
602 }
603
604 func (x OutcomeSummary) String() string {
605 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
606 }
607
608 func (OutcomeSummary) Descriptor() protoreflect.EnumDescriptor {
609 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[5].Descriptor()
610 }
611
612 func (OutcomeSummary) Type() protoreflect.EnumType {
613 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[5]
614 }
615
616 func (x OutcomeSummary) Number() protoreflect.EnumNumber {
617 return protoreflect.EnumNumber(x)
618 }
619
620
621 func (OutcomeSummary) EnumDescriptor() ([]byte, []int) {
622 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{5}
623 }
624
625
626 type InvalidRequestDetail_Reason int32
627
628 const (
629
630 InvalidRequestDetail_REASON_UNSPECIFIED InvalidRequestDetail_Reason = 0
631
632 InvalidRequestDetail_REQUEST_INVALID InvalidRequestDetail_Reason = 1
633
634 InvalidRequestDetail_RESOURCE_TOO_BIG InvalidRequestDetail_Reason = 2
635
636 InvalidRequestDetail_RESOURCE_NOT_FOUND InvalidRequestDetail_Reason = 3
637
638 InvalidRequestDetail_UNSUPPORTED InvalidRequestDetail_Reason = 4
639
640 InvalidRequestDetail_NOT_IMPLEMENTED InvalidRequestDetail_Reason = 5
641 )
642
643
644 var (
645 InvalidRequestDetail_Reason_name = map[int32]string{
646 0: "REASON_UNSPECIFIED",
647 1: "REQUEST_INVALID",
648 2: "RESOURCE_TOO_BIG",
649 3: "RESOURCE_NOT_FOUND",
650 4: "UNSUPPORTED",
651 5: "NOT_IMPLEMENTED",
652 }
653 InvalidRequestDetail_Reason_value = map[string]int32{
654 "REASON_UNSPECIFIED": 0,
655 "REQUEST_INVALID": 1,
656 "RESOURCE_TOO_BIG": 2,
657 "RESOURCE_NOT_FOUND": 3,
658 "UNSUPPORTED": 4,
659 "NOT_IMPLEMENTED": 5,
660 }
661 )
662
663 func (x InvalidRequestDetail_Reason) Enum() *InvalidRequestDetail_Reason {
664 p := new(InvalidRequestDetail_Reason)
665 *p = x
666 return p
667 }
668
669 func (x InvalidRequestDetail_Reason) String() string {
670 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
671 }
672
673 func (InvalidRequestDetail_Reason) Descriptor() protoreflect.EnumDescriptor {
674 return file_google_devtools_testing_v1_test_execution_proto_enumTypes[6].Descriptor()
675 }
676
677 func (InvalidRequestDetail_Reason) Type() protoreflect.EnumType {
678 return &file_google_devtools_testing_v1_test_execution_proto_enumTypes[6]
679 }
680
681 func (x InvalidRequestDetail_Reason) Number() protoreflect.EnumNumber {
682 return protoreflect.EnumNumber(x)
683 }
684
685
686 func (InvalidRequestDetail_Reason) EnumDescriptor() ([]byte, []int) {
687 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{40, 0}
688 }
689
690
691
692
693 type TestMatrix struct {
694 state protoimpl.MessageState
695 sizeCache protoimpl.SizeCache
696 unknownFields protoimpl.UnknownFields
697
698
699 TestMatrixId string `protobuf:"bytes,1,opt,name=test_matrix_id,json=testMatrixId,proto3" json:"test_matrix_id,omitempty"`
700
701 ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
702
703 ClientInfo *ClientInfo `protobuf:"bytes,10,opt,name=client_info,json=clientInfo,proto3" json:"client_info,omitempty"`
704
705 TestSpecification *TestSpecification `protobuf:"bytes,3,opt,name=test_specification,json=testSpecification,proto3" json:"test_specification,omitempty"`
706
707 EnvironmentMatrix *EnvironmentMatrix `protobuf:"bytes,4,opt,name=environment_matrix,json=environmentMatrix,proto3" json:"environment_matrix,omitempty"`
708
709
710 TestExecutions []*TestExecution `protobuf:"bytes,5,rep,name=test_executions,json=testExecutions,proto3" json:"test_executions,omitempty"`
711
712 ResultStorage *ResultStorage `protobuf:"bytes,6,opt,name=result_storage,json=resultStorage,proto3" json:"result_storage,omitempty"`
713
714 State TestState `protobuf:"varint,8,opt,name=state,proto3,enum=google.devtools.testing.v1.TestState" json:"state,omitempty"`
715
716 Timestamp *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
717
718
719 InvalidMatrixDetails InvalidMatrixDetails `protobuf:"varint,11,opt,name=invalid_matrix_details,json=invalidMatrixDetails,proto3,enum=google.devtools.testing.v1.InvalidMatrixDetails" json:"invalid_matrix_details,omitempty"`
720
721
722
723
724
725 FlakyTestAttempts int32 `protobuf:"varint,13,opt,name=flaky_test_attempts,json=flakyTestAttempts,proto3" json:"flaky_test_attempts,omitempty"`
726
727
728 OutcomeSummary OutcomeSummary `protobuf:"varint,14,opt,name=outcome_summary,json=outcomeSummary,proto3,enum=google.devtools.testing.v1.OutcomeSummary" json:"outcome_summary,omitempty"`
729
730
731
732
733
734
735
736
737
738 FailFast bool `protobuf:"varint,17,opt,name=fail_fast,json=failFast,proto3" json:"fail_fast,omitempty"`
739 }
740
741 func (x *TestMatrix) Reset() {
742 *x = TestMatrix{}
743 if protoimpl.UnsafeEnabled {
744 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[0]
745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
746 ms.StoreMessageInfo(mi)
747 }
748 }
749
750 func (x *TestMatrix) String() string {
751 return protoimpl.X.MessageStringOf(x)
752 }
753
754 func (*TestMatrix) ProtoMessage() {}
755
756 func (x *TestMatrix) ProtoReflect() protoreflect.Message {
757 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[0]
758 if protoimpl.UnsafeEnabled && x != nil {
759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
760 if ms.LoadMessageInfo() == nil {
761 ms.StoreMessageInfo(mi)
762 }
763 return ms
764 }
765 return mi.MessageOf(x)
766 }
767
768
769 func (*TestMatrix) Descriptor() ([]byte, []int) {
770 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{0}
771 }
772
773 func (x *TestMatrix) GetTestMatrixId() string {
774 if x != nil {
775 return x.TestMatrixId
776 }
777 return ""
778 }
779
780 func (x *TestMatrix) GetProjectId() string {
781 if x != nil {
782 return x.ProjectId
783 }
784 return ""
785 }
786
787 func (x *TestMatrix) GetClientInfo() *ClientInfo {
788 if x != nil {
789 return x.ClientInfo
790 }
791 return nil
792 }
793
794 func (x *TestMatrix) GetTestSpecification() *TestSpecification {
795 if x != nil {
796 return x.TestSpecification
797 }
798 return nil
799 }
800
801 func (x *TestMatrix) GetEnvironmentMatrix() *EnvironmentMatrix {
802 if x != nil {
803 return x.EnvironmentMatrix
804 }
805 return nil
806 }
807
808 func (x *TestMatrix) GetTestExecutions() []*TestExecution {
809 if x != nil {
810 return x.TestExecutions
811 }
812 return nil
813 }
814
815 func (x *TestMatrix) GetResultStorage() *ResultStorage {
816 if x != nil {
817 return x.ResultStorage
818 }
819 return nil
820 }
821
822 func (x *TestMatrix) GetState() TestState {
823 if x != nil {
824 return x.State
825 }
826 return TestState_TEST_STATE_UNSPECIFIED
827 }
828
829 func (x *TestMatrix) GetTimestamp() *timestamppb.Timestamp {
830 if x != nil {
831 return x.Timestamp
832 }
833 return nil
834 }
835
836 func (x *TestMatrix) GetInvalidMatrixDetails() InvalidMatrixDetails {
837 if x != nil {
838 return x.InvalidMatrixDetails
839 }
840 return InvalidMatrixDetails_INVALID_MATRIX_DETAILS_UNSPECIFIED
841 }
842
843 func (x *TestMatrix) GetFlakyTestAttempts() int32 {
844 if x != nil {
845 return x.FlakyTestAttempts
846 }
847 return 0
848 }
849
850 func (x *TestMatrix) GetOutcomeSummary() OutcomeSummary {
851 if x != nil {
852 return x.OutcomeSummary
853 }
854 return OutcomeSummary_OUTCOME_SUMMARY_UNSPECIFIED
855 }
856
857 func (x *TestMatrix) GetFailFast() bool {
858 if x != nil {
859 return x.FailFast
860 }
861 return false
862 }
863
864
865 type TestExecution struct {
866 state protoimpl.MessageState
867 sizeCache protoimpl.SizeCache
868 unknownFields protoimpl.UnknownFields
869
870
871 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
872
873 MatrixId string `protobuf:"bytes,9,opt,name=matrix_id,json=matrixId,proto3" json:"matrix_id,omitempty"`
874
875 ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
876
877 TestSpecification *TestSpecification `protobuf:"bytes,3,opt,name=test_specification,json=testSpecification,proto3" json:"test_specification,omitempty"`
878
879 Shard *Shard `protobuf:"bytes,12,opt,name=shard,proto3" json:"shard,omitempty"`
880
881 Environment *Environment `protobuf:"bytes,4,opt,name=environment,proto3" json:"environment,omitempty"`
882
883
884 State TestState `protobuf:"varint,5,opt,name=state,proto3,enum=google.devtools.testing.v1.TestState" json:"state,omitempty"`
885
886 ToolResultsStep *ToolResultsStep `protobuf:"bytes,11,opt,name=tool_results_step,json=toolResultsStep,proto3" json:"tool_results_step,omitempty"`
887
888 Timestamp *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
889
890 TestDetails *TestDetails `protobuf:"bytes,8,opt,name=test_details,json=testDetails,proto3" json:"test_details,omitempty"`
891 }
892
893 func (x *TestExecution) Reset() {
894 *x = TestExecution{}
895 if protoimpl.UnsafeEnabled {
896 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[1]
897 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
898 ms.StoreMessageInfo(mi)
899 }
900 }
901
902 func (x *TestExecution) String() string {
903 return protoimpl.X.MessageStringOf(x)
904 }
905
906 func (*TestExecution) ProtoMessage() {}
907
908 func (x *TestExecution) ProtoReflect() protoreflect.Message {
909 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[1]
910 if protoimpl.UnsafeEnabled && x != nil {
911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
912 if ms.LoadMessageInfo() == nil {
913 ms.StoreMessageInfo(mi)
914 }
915 return ms
916 }
917 return mi.MessageOf(x)
918 }
919
920
921 func (*TestExecution) Descriptor() ([]byte, []int) {
922 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{1}
923 }
924
925 func (x *TestExecution) GetId() string {
926 if x != nil {
927 return x.Id
928 }
929 return ""
930 }
931
932 func (x *TestExecution) GetMatrixId() string {
933 if x != nil {
934 return x.MatrixId
935 }
936 return ""
937 }
938
939 func (x *TestExecution) GetProjectId() string {
940 if x != nil {
941 return x.ProjectId
942 }
943 return ""
944 }
945
946 func (x *TestExecution) GetTestSpecification() *TestSpecification {
947 if x != nil {
948 return x.TestSpecification
949 }
950 return nil
951 }
952
953 func (x *TestExecution) GetShard() *Shard {
954 if x != nil {
955 return x.Shard
956 }
957 return nil
958 }
959
960 func (x *TestExecution) GetEnvironment() *Environment {
961 if x != nil {
962 return x.Environment
963 }
964 return nil
965 }
966
967 func (x *TestExecution) GetState() TestState {
968 if x != nil {
969 return x.State
970 }
971 return TestState_TEST_STATE_UNSPECIFIED
972 }
973
974 func (x *TestExecution) GetToolResultsStep() *ToolResultsStep {
975 if x != nil {
976 return x.ToolResultsStep
977 }
978 return nil
979 }
980
981 func (x *TestExecution) GetTimestamp() *timestamppb.Timestamp {
982 if x != nil {
983 return x.Timestamp
984 }
985 return nil
986 }
987
988 func (x *TestExecution) GetTestDetails() *TestDetails {
989 if x != nil {
990 return x.TestDetails
991 }
992 return nil
993 }
994
995
996 type TestSpecification struct {
997 state protoimpl.MessageState
998 sizeCache protoimpl.SizeCache
999 unknownFields protoimpl.UnknownFields
1000
1001
1002
1003
1004 TestTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=test_timeout,json=testTimeout,proto3" json:"test_timeout,omitempty"`
1005
1006
1007
1008
1009
1010
1011 Setup isTestSpecification_Setup `protobuf_oneof:"setup"`
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021 Test isTestSpecification_Test `protobuf_oneof:"test"`
1022
1023 DisableVideoRecording bool `protobuf:"varint,10,opt,name=disable_video_recording,json=disableVideoRecording,proto3" json:"disable_video_recording,omitempty"`
1024
1025 DisablePerformanceMetrics bool `protobuf:"varint,11,opt,name=disable_performance_metrics,json=disablePerformanceMetrics,proto3" json:"disable_performance_metrics,omitempty"`
1026 }
1027
1028 func (x *TestSpecification) Reset() {
1029 *x = TestSpecification{}
1030 if protoimpl.UnsafeEnabled {
1031 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[2]
1032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033 ms.StoreMessageInfo(mi)
1034 }
1035 }
1036
1037 func (x *TestSpecification) String() string {
1038 return protoimpl.X.MessageStringOf(x)
1039 }
1040
1041 func (*TestSpecification) ProtoMessage() {}
1042
1043 func (x *TestSpecification) ProtoReflect() protoreflect.Message {
1044 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[2]
1045 if protoimpl.UnsafeEnabled && x != nil {
1046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047 if ms.LoadMessageInfo() == nil {
1048 ms.StoreMessageInfo(mi)
1049 }
1050 return ms
1051 }
1052 return mi.MessageOf(x)
1053 }
1054
1055
1056 func (*TestSpecification) Descriptor() ([]byte, []int) {
1057 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{2}
1058 }
1059
1060 func (x *TestSpecification) GetTestTimeout() *durationpb.Duration {
1061 if x != nil {
1062 return x.TestTimeout
1063 }
1064 return nil
1065 }
1066
1067 func (m *TestSpecification) GetSetup() isTestSpecification_Setup {
1068 if m != nil {
1069 return m.Setup
1070 }
1071 return nil
1072 }
1073
1074 func (x *TestSpecification) GetTestSetup() *TestSetup {
1075 if x, ok := x.GetSetup().(*TestSpecification_TestSetup); ok {
1076 return x.TestSetup
1077 }
1078 return nil
1079 }
1080
1081 func (x *TestSpecification) GetIosTestSetup() *IosTestSetup {
1082 if x, ok := x.GetSetup().(*TestSpecification_IosTestSetup); ok {
1083 return x.IosTestSetup
1084 }
1085 return nil
1086 }
1087
1088 func (m *TestSpecification) GetTest() isTestSpecification_Test {
1089 if m != nil {
1090 return m.Test
1091 }
1092 return nil
1093 }
1094
1095 func (x *TestSpecification) GetAndroidInstrumentationTest() *AndroidInstrumentationTest {
1096 if x, ok := x.GetTest().(*TestSpecification_AndroidInstrumentationTest); ok {
1097 return x.AndroidInstrumentationTest
1098 }
1099 return nil
1100 }
1101
1102 func (x *TestSpecification) GetAndroidRoboTest() *AndroidRoboTest {
1103 if x, ok := x.GetTest().(*TestSpecification_AndroidRoboTest); ok {
1104 return x.AndroidRoboTest
1105 }
1106 return nil
1107 }
1108
1109 func (x *TestSpecification) GetAndroidTestLoop() *AndroidTestLoop {
1110 if x, ok := x.GetTest().(*TestSpecification_AndroidTestLoop); ok {
1111 return x.AndroidTestLoop
1112 }
1113 return nil
1114 }
1115
1116 func (x *TestSpecification) GetIosXcTest() *IosXcTest {
1117 if x, ok := x.GetTest().(*TestSpecification_IosXcTest); ok {
1118 return x.IosXcTest
1119 }
1120 return nil
1121 }
1122
1123 func (x *TestSpecification) GetIosTestLoop() *IosTestLoop {
1124 if x, ok := x.GetTest().(*TestSpecification_IosTestLoop); ok {
1125 return x.IosTestLoop
1126 }
1127 return nil
1128 }
1129
1130 func (x *TestSpecification) GetDisableVideoRecording() bool {
1131 if x != nil {
1132 return x.DisableVideoRecording
1133 }
1134 return false
1135 }
1136
1137 func (x *TestSpecification) GetDisablePerformanceMetrics() bool {
1138 if x != nil {
1139 return x.DisablePerformanceMetrics
1140 }
1141 return false
1142 }
1143
1144 type isTestSpecification_Setup interface {
1145 isTestSpecification_Setup()
1146 }
1147
1148 type TestSpecification_TestSetup struct {
1149
1150
1151 TestSetup *TestSetup `protobuf:"bytes,6,opt,name=test_setup,json=testSetup,proto3,oneof"`
1152 }
1153
1154 type TestSpecification_IosTestSetup struct {
1155
1156 IosTestSetup *IosTestSetup `protobuf:"bytes,14,opt,name=ios_test_setup,json=iosTestSetup,proto3,oneof"`
1157 }
1158
1159 func (*TestSpecification_TestSetup) isTestSpecification_Setup() {}
1160
1161 func (*TestSpecification_IosTestSetup) isTestSpecification_Setup() {}
1162
1163 type isTestSpecification_Test interface {
1164 isTestSpecification_Test()
1165 }
1166
1167 type TestSpecification_AndroidInstrumentationTest struct {
1168
1169 AndroidInstrumentationTest *AndroidInstrumentationTest `protobuf:"bytes,2,opt,name=android_instrumentation_test,json=androidInstrumentationTest,proto3,oneof"`
1170 }
1171
1172 type TestSpecification_AndroidRoboTest struct {
1173
1174 AndroidRoboTest *AndroidRoboTest `protobuf:"bytes,3,opt,name=android_robo_test,json=androidRoboTest,proto3,oneof"`
1175 }
1176
1177 type TestSpecification_AndroidTestLoop struct {
1178
1179 AndroidTestLoop *AndroidTestLoop `protobuf:"bytes,9,opt,name=android_test_loop,json=androidTestLoop,proto3,oneof"`
1180 }
1181
1182 type TestSpecification_IosXcTest struct {
1183
1184 IosXcTest *IosXcTest `protobuf:"bytes,13,opt,name=ios_xc_test,json=iosXcTest,proto3,oneof"`
1185 }
1186
1187 type TestSpecification_IosTestLoop struct {
1188
1189 IosTestLoop *IosTestLoop `protobuf:"bytes,15,opt,name=ios_test_loop,json=iosTestLoop,proto3,oneof"`
1190 }
1191
1192 func (*TestSpecification_AndroidInstrumentationTest) isTestSpecification_Test() {}
1193
1194 func (*TestSpecification_AndroidRoboTest) isTestSpecification_Test() {}
1195
1196 func (*TestSpecification_AndroidTestLoop) isTestSpecification_Test() {}
1197
1198 func (*TestSpecification_IosXcTest) isTestSpecification_Test() {}
1199
1200 func (*TestSpecification_IosTestLoop) isTestSpecification_Test() {}
1201
1202 type SystraceSetup struct {
1203 state protoimpl.MessageState
1204 sizeCache protoimpl.SizeCache
1205 unknownFields protoimpl.UnknownFields
1206
1207
1208
1209 DurationSeconds int32 `protobuf:"varint,1,opt,name=duration_seconds,json=durationSeconds,proto3" json:"duration_seconds,omitempty"`
1210 }
1211
1212 func (x *SystraceSetup) Reset() {
1213 *x = SystraceSetup{}
1214 if protoimpl.UnsafeEnabled {
1215 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[3]
1216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1217 ms.StoreMessageInfo(mi)
1218 }
1219 }
1220
1221 func (x *SystraceSetup) String() string {
1222 return protoimpl.X.MessageStringOf(x)
1223 }
1224
1225 func (*SystraceSetup) ProtoMessage() {}
1226
1227 func (x *SystraceSetup) ProtoReflect() protoreflect.Message {
1228 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[3]
1229 if protoimpl.UnsafeEnabled && x != nil {
1230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1231 if ms.LoadMessageInfo() == nil {
1232 ms.StoreMessageInfo(mi)
1233 }
1234 return ms
1235 }
1236 return mi.MessageOf(x)
1237 }
1238
1239
1240 func (*SystraceSetup) Descriptor() ([]byte, []int) {
1241 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{3}
1242 }
1243
1244 func (x *SystraceSetup) GetDurationSeconds() int32 {
1245 if x != nil {
1246 return x.DurationSeconds
1247 }
1248 return 0
1249 }
1250
1251
1252 type TestSetup struct {
1253 state protoimpl.MessageState
1254 sizeCache protoimpl.SizeCache
1255 unknownFields protoimpl.UnknownFields
1256
1257
1258 FilesToPush []*DeviceFile `protobuf:"bytes,1,rep,name=files_to_push,json=filesToPush,proto3" json:"files_to_push,omitempty"`
1259
1260
1261
1262
1263
1264
1265
1266
1267 DirectoriesToPull []string `protobuf:"bytes,2,rep,name=directories_to_pull,json=directoriesToPull,proto3" json:"directories_to_pull,omitempty"`
1268
1269
1270 AdditionalApks []*Apk `protobuf:"bytes,3,rep,name=additional_apks,json=additionalApks,proto3" json:"additional_apks,omitempty"`
1271
1272 Account *Account `protobuf:"bytes,4,opt,name=account,proto3" json:"account,omitempty"`
1273
1274
1275
1276
1277 NetworkProfile string `protobuf:"bytes,5,opt,name=network_profile,json=networkProfile,proto3" json:"network_profile,omitempty"`
1278
1279
1280 EnvironmentVariables []*EnvironmentVariable `protobuf:"bytes,6,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291 Systrace *SystraceSetup `protobuf:"bytes,9,opt,name=systrace,proto3" json:"systrace,omitempty"`
1292
1293 DontAutograntPermissions bool `protobuf:"varint,23,opt,name=dont_autogrant_permissions,json=dontAutograntPermissions,proto3" json:"dont_autogrant_permissions,omitempty"`
1294 }
1295
1296 func (x *TestSetup) Reset() {
1297 *x = TestSetup{}
1298 if protoimpl.UnsafeEnabled {
1299 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[4]
1300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1301 ms.StoreMessageInfo(mi)
1302 }
1303 }
1304
1305 func (x *TestSetup) String() string {
1306 return protoimpl.X.MessageStringOf(x)
1307 }
1308
1309 func (*TestSetup) ProtoMessage() {}
1310
1311 func (x *TestSetup) ProtoReflect() protoreflect.Message {
1312 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[4]
1313 if protoimpl.UnsafeEnabled && x != nil {
1314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1315 if ms.LoadMessageInfo() == nil {
1316 ms.StoreMessageInfo(mi)
1317 }
1318 return ms
1319 }
1320 return mi.MessageOf(x)
1321 }
1322
1323
1324 func (*TestSetup) Descriptor() ([]byte, []int) {
1325 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{4}
1326 }
1327
1328 func (x *TestSetup) GetFilesToPush() []*DeviceFile {
1329 if x != nil {
1330 return x.FilesToPush
1331 }
1332 return nil
1333 }
1334
1335 func (x *TestSetup) GetDirectoriesToPull() []string {
1336 if x != nil {
1337 return x.DirectoriesToPull
1338 }
1339 return nil
1340 }
1341
1342 func (x *TestSetup) GetAdditionalApks() []*Apk {
1343 if x != nil {
1344 return x.AdditionalApks
1345 }
1346 return nil
1347 }
1348
1349 func (x *TestSetup) GetAccount() *Account {
1350 if x != nil {
1351 return x.Account
1352 }
1353 return nil
1354 }
1355
1356 func (x *TestSetup) GetNetworkProfile() string {
1357 if x != nil {
1358 return x.NetworkProfile
1359 }
1360 return ""
1361 }
1362
1363 func (x *TestSetup) GetEnvironmentVariables() []*EnvironmentVariable {
1364 if x != nil {
1365 return x.EnvironmentVariables
1366 }
1367 return nil
1368 }
1369
1370
1371 func (x *TestSetup) GetSystrace() *SystraceSetup {
1372 if x != nil {
1373 return x.Systrace
1374 }
1375 return nil
1376 }
1377
1378 func (x *TestSetup) GetDontAutograntPermissions() bool {
1379 if x != nil {
1380 return x.DontAutograntPermissions
1381 }
1382 return false
1383 }
1384
1385
1386 type IosTestSetup struct {
1387 state protoimpl.MessageState
1388 sizeCache protoimpl.SizeCache
1389 unknownFields protoimpl.UnknownFields
1390
1391
1392
1393
1394
1395 NetworkProfile string `protobuf:"bytes,1,opt,name=network_profile,json=networkProfile,proto3" json:"network_profile,omitempty"`
1396
1397 AdditionalIpas []*FileReference `protobuf:"bytes,2,rep,name=additional_ipas,json=additionalIpas,proto3" json:"additional_ipas,omitempty"`
1398
1399 PushFiles []*IosDeviceFile `protobuf:"bytes,3,rep,name=push_files,json=pushFiles,proto3" json:"push_files,omitempty"`
1400
1401
1402
1403
1404
1405
1406 PullDirectories []*IosDeviceFile `protobuf:"bytes,4,rep,name=pull_directories,json=pullDirectories,proto3" json:"pull_directories,omitempty"`
1407 }
1408
1409 func (x *IosTestSetup) Reset() {
1410 *x = IosTestSetup{}
1411 if protoimpl.UnsafeEnabled {
1412 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[5]
1413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1414 ms.StoreMessageInfo(mi)
1415 }
1416 }
1417
1418 func (x *IosTestSetup) String() string {
1419 return protoimpl.X.MessageStringOf(x)
1420 }
1421
1422 func (*IosTestSetup) ProtoMessage() {}
1423
1424 func (x *IosTestSetup) ProtoReflect() protoreflect.Message {
1425 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[5]
1426 if protoimpl.UnsafeEnabled && x != nil {
1427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1428 if ms.LoadMessageInfo() == nil {
1429 ms.StoreMessageInfo(mi)
1430 }
1431 return ms
1432 }
1433 return mi.MessageOf(x)
1434 }
1435
1436
1437 func (*IosTestSetup) Descriptor() ([]byte, []int) {
1438 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{5}
1439 }
1440
1441 func (x *IosTestSetup) GetNetworkProfile() string {
1442 if x != nil {
1443 return x.NetworkProfile
1444 }
1445 return ""
1446 }
1447
1448 func (x *IosTestSetup) GetAdditionalIpas() []*FileReference {
1449 if x != nil {
1450 return x.AdditionalIpas
1451 }
1452 return nil
1453 }
1454
1455 func (x *IosTestSetup) GetPushFiles() []*IosDeviceFile {
1456 if x != nil {
1457 return x.PushFiles
1458 }
1459 return nil
1460 }
1461
1462 func (x *IosTestSetup) GetPullDirectories() []*IosDeviceFile {
1463 if x != nil {
1464 return x.PullDirectories
1465 }
1466 return nil
1467 }
1468
1469
1470 type EnvironmentVariable struct {
1471 state protoimpl.MessageState
1472 sizeCache protoimpl.SizeCache
1473 unknownFields protoimpl.UnknownFields
1474
1475
1476 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
1477
1478 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1479 }
1480
1481 func (x *EnvironmentVariable) Reset() {
1482 *x = EnvironmentVariable{}
1483 if protoimpl.UnsafeEnabled {
1484 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[6]
1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1486 ms.StoreMessageInfo(mi)
1487 }
1488 }
1489
1490 func (x *EnvironmentVariable) String() string {
1491 return protoimpl.X.MessageStringOf(x)
1492 }
1493
1494 func (*EnvironmentVariable) ProtoMessage() {}
1495
1496 func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message {
1497 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[6]
1498 if protoimpl.UnsafeEnabled && x != nil {
1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1500 if ms.LoadMessageInfo() == nil {
1501 ms.StoreMessageInfo(mi)
1502 }
1503 return ms
1504 }
1505 return mi.MessageOf(x)
1506 }
1507
1508
1509 func (*EnvironmentVariable) Descriptor() ([]byte, []int) {
1510 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{6}
1511 }
1512
1513 func (x *EnvironmentVariable) GetKey() string {
1514 if x != nil {
1515 return x.Key
1516 }
1517 return ""
1518 }
1519
1520 func (x *EnvironmentVariable) GetValue() string {
1521 if x != nil {
1522 return x.Value
1523 }
1524 return ""
1525 }
1526
1527
1528 type Account struct {
1529 state protoimpl.MessageState
1530 sizeCache protoimpl.SizeCache
1531 unknownFields protoimpl.UnknownFields
1532
1533
1534
1535
1536
1537
1538
1539 AccountType isAccount_AccountType `protobuf_oneof:"account_type"`
1540 }
1541
1542 func (x *Account) Reset() {
1543 *x = Account{}
1544 if protoimpl.UnsafeEnabled {
1545 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[7]
1546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547 ms.StoreMessageInfo(mi)
1548 }
1549 }
1550
1551 func (x *Account) String() string {
1552 return protoimpl.X.MessageStringOf(x)
1553 }
1554
1555 func (*Account) ProtoMessage() {}
1556
1557 func (x *Account) ProtoReflect() protoreflect.Message {
1558 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[7]
1559 if protoimpl.UnsafeEnabled && x != nil {
1560 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1561 if ms.LoadMessageInfo() == nil {
1562 ms.StoreMessageInfo(mi)
1563 }
1564 return ms
1565 }
1566 return mi.MessageOf(x)
1567 }
1568
1569
1570 func (*Account) Descriptor() ([]byte, []int) {
1571 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{7}
1572 }
1573
1574 func (m *Account) GetAccountType() isAccount_AccountType {
1575 if m != nil {
1576 return m.AccountType
1577 }
1578 return nil
1579 }
1580
1581 func (x *Account) GetGoogleAuto() *GoogleAuto {
1582 if x, ok := x.GetAccountType().(*Account_GoogleAuto); ok {
1583 return x.GoogleAuto
1584 }
1585 return nil
1586 }
1587
1588 type isAccount_AccountType interface {
1589 isAccount_AccountType()
1590 }
1591
1592 type Account_GoogleAuto struct {
1593
1594 GoogleAuto *GoogleAuto `protobuf:"bytes,1,opt,name=google_auto,json=googleAuto,proto3,oneof"`
1595 }
1596
1597 func (*Account_GoogleAuto) isAccount_AccountType() {}
1598
1599
1600
1601
1602
1603
1604
1605
1606 type GoogleAuto struct {
1607 state protoimpl.MessageState
1608 sizeCache protoimpl.SizeCache
1609 unknownFields protoimpl.UnknownFields
1610 }
1611
1612 func (x *GoogleAuto) Reset() {
1613 *x = GoogleAuto{}
1614 if protoimpl.UnsafeEnabled {
1615 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[8]
1616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1617 ms.StoreMessageInfo(mi)
1618 }
1619 }
1620
1621 func (x *GoogleAuto) String() string {
1622 return protoimpl.X.MessageStringOf(x)
1623 }
1624
1625 func (*GoogleAuto) ProtoMessage() {}
1626
1627 func (x *GoogleAuto) ProtoReflect() protoreflect.Message {
1628 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[8]
1629 if protoimpl.UnsafeEnabled && x != nil {
1630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1631 if ms.LoadMessageInfo() == nil {
1632 ms.StoreMessageInfo(mi)
1633 }
1634 return ms
1635 }
1636 return mi.MessageOf(x)
1637 }
1638
1639
1640 func (*GoogleAuto) Descriptor() ([]byte, []int) {
1641 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{8}
1642 }
1643
1644
1645 type Apk struct {
1646 state protoimpl.MessageState
1647 sizeCache protoimpl.SizeCache
1648 unknownFields protoimpl.UnknownFields
1649
1650
1651 Location *FileReference `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
1652
1653
1654 PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
1655 }
1656
1657 func (x *Apk) Reset() {
1658 *x = Apk{}
1659 if protoimpl.UnsafeEnabled {
1660 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[9]
1661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1662 ms.StoreMessageInfo(mi)
1663 }
1664 }
1665
1666 func (x *Apk) String() string {
1667 return protoimpl.X.MessageStringOf(x)
1668 }
1669
1670 func (*Apk) ProtoMessage() {}
1671
1672 func (x *Apk) ProtoReflect() protoreflect.Message {
1673 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[9]
1674 if protoimpl.UnsafeEnabled && x != nil {
1675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1676 if ms.LoadMessageInfo() == nil {
1677 ms.StoreMessageInfo(mi)
1678 }
1679 return ms
1680 }
1681 return mi.MessageOf(x)
1682 }
1683
1684
1685 func (*Apk) Descriptor() ([]byte, []int) {
1686 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{9}
1687 }
1688
1689 func (x *Apk) GetLocation() *FileReference {
1690 if x != nil {
1691 return x.Location
1692 }
1693 return nil
1694 }
1695
1696 func (x *Apk) GetPackageName() string {
1697 if x != nil {
1698 return x.PackageName
1699 }
1700 return ""
1701 }
1702
1703
1704
1705
1706
1707 type AppBundle struct {
1708 state protoimpl.MessageState
1709 sizeCache protoimpl.SizeCache
1710 unknownFields protoimpl.UnknownFields
1711
1712
1713
1714
1715
1716
1717 Bundle isAppBundle_Bundle `protobuf_oneof:"bundle"`
1718 }
1719
1720 func (x *AppBundle) Reset() {
1721 *x = AppBundle{}
1722 if protoimpl.UnsafeEnabled {
1723 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[10]
1724 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1725 ms.StoreMessageInfo(mi)
1726 }
1727 }
1728
1729 func (x *AppBundle) String() string {
1730 return protoimpl.X.MessageStringOf(x)
1731 }
1732
1733 func (*AppBundle) ProtoMessage() {}
1734
1735 func (x *AppBundle) ProtoReflect() protoreflect.Message {
1736 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[10]
1737 if protoimpl.UnsafeEnabled && x != nil {
1738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1739 if ms.LoadMessageInfo() == nil {
1740 ms.StoreMessageInfo(mi)
1741 }
1742 return ms
1743 }
1744 return mi.MessageOf(x)
1745 }
1746
1747
1748 func (*AppBundle) Descriptor() ([]byte, []int) {
1749 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{10}
1750 }
1751
1752 func (m *AppBundle) GetBundle() isAppBundle_Bundle {
1753 if m != nil {
1754 return m.Bundle
1755 }
1756 return nil
1757 }
1758
1759 func (x *AppBundle) GetBundleLocation() *FileReference {
1760 if x, ok := x.GetBundle().(*AppBundle_BundleLocation); ok {
1761 return x.BundleLocation
1762 }
1763 return nil
1764 }
1765
1766 type isAppBundle_Bundle interface {
1767 isAppBundle_Bundle()
1768 }
1769
1770 type AppBundle_BundleLocation struct {
1771
1772 BundleLocation *FileReference `protobuf:"bytes,1,opt,name=bundle_location,json=bundleLocation,proto3,oneof"`
1773 }
1774
1775 func (*AppBundle_BundleLocation) isAppBundle_Bundle() {}
1776
1777
1778 type DeviceFile struct {
1779 state protoimpl.MessageState
1780 sizeCache protoimpl.SizeCache
1781 unknownFields protoimpl.UnknownFields
1782
1783
1784
1785
1786
1787
1788
1789 DeviceFile isDeviceFile_DeviceFile `protobuf_oneof:"device_file"`
1790 }
1791
1792 func (x *DeviceFile) Reset() {
1793 *x = DeviceFile{}
1794 if protoimpl.UnsafeEnabled {
1795 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[11]
1796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1797 ms.StoreMessageInfo(mi)
1798 }
1799 }
1800
1801 func (x *DeviceFile) String() string {
1802 return protoimpl.X.MessageStringOf(x)
1803 }
1804
1805 func (*DeviceFile) ProtoMessage() {}
1806
1807 func (x *DeviceFile) ProtoReflect() protoreflect.Message {
1808 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[11]
1809 if protoimpl.UnsafeEnabled && x != nil {
1810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1811 if ms.LoadMessageInfo() == nil {
1812 ms.StoreMessageInfo(mi)
1813 }
1814 return ms
1815 }
1816 return mi.MessageOf(x)
1817 }
1818
1819
1820 func (*DeviceFile) Descriptor() ([]byte, []int) {
1821 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{11}
1822 }
1823
1824 func (m *DeviceFile) GetDeviceFile() isDeviceFile_DeviceFile {
1825 if m != nil {
1826 return m.DeviceFile
1827 }
1828 return nil
1829 }
1830
1831 func (x *DeviceFile) GetObbFile() *ObbFile {
1832 if x, ok := x.GetDeviceFile().(*DeviceFile_ObbFile); ok {
1833 return x.ObbFile
1834 }
1835 return nil
1836 }
1837
1838 func (x *DeviceFile) GetRegularFile() *RegularFile {
1839 if x, ok := x.GetDeviceFile().(*DeviceFile_RegularFile); ok {
1840 return x.RegularFile
1841 }
1842 return nil
1843 }
1844
1845 type isDeviceFile_DeviceFile interface {
1846 isDeviceFile_DeviceFile()
1847 }
1848
1849 type DeviceFile_ObbFile struct {
1850
1851 ObbFile *ObbFile `protobuf:"bytes,1,opt,name=obb_file,json=obbFile,proto3,oneof"`
1852 }
1853
1854 type DeviceFile_RegularFile struct {
1855
1856 RegularFile *RegularFile `protobuf:"bytes,2,opt,name=regular_file,json=regularFile,proto3,oneof"`
1857 }
1858
1859 func (*DeviceFile_ObbFile) isDeviceFile_DeviceFile() {}
1860
1861 func (*DeviceFile_RegularFile) isDeviceFile_DeviceFile() {}
1862
1863
1864 type ObbFile struct {
1865 state protoimpl.MessageState
1866 sizeCache protoimpl.SizeCache
1867 unknownFields protoimpl.UnknownFields
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877 ObbFileName string `protobuf:"bytes,1,opt,name=obb_file_name,json=obbFileName,proto3" json:"obb_file_name,omitempty"`
1878
1879 Obb *FileReference `protobuf:"bytes,2,opt,name=obb,proto3" json:"obb,omitempty"`
1880 }
1881
1882 func (x *ObbFile) Reset() {
1883 *x = ObbFile{}
1884 if protoimpl.UnsafeEnabled {
1885 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[12]
1886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1887 ms.StoreMessageInfo(mi)
1888 }
1889 }
1890
1891 func (x *ObbFile) String() string {
1892 return protoimpl.X.MessageStringOf(x)
1893 }
1894
1895 func (*ObbFile) ProtoMessage() {}
1896
1897 func (x *ObbFile) ProtoReflect() protoreflect.Message {
1898 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[12]
1899 if protoimpl.UnsafeEnabled && x != nil {
1900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1901 if ms.LoadMessageInfo() == nil {
1902 ms.StoreMessageInfo(mi)
1903 }
1904 return ms
1905 }
1906 return mi.MessageOf(x)
1907 }
1908
1909
1910 func (*ObbFile) Descriptor() ([]byte, []int) {
1911 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{12}
1912 }
1913
1914 func (x *ObbFile) GetObbFileName() string {
1915 if x != nil {
1916 return x.ObbFileName
1917 }
1918 return ""
1919 }
1920
1921 func (x *ObbFile) GetObb() *FileReference {
1922 if x != nil {
1923 return x.Obb
1924 }
1925 return nil
1926 }
1927
1928
1929 type RegularFile struct {
1930 state protoimpl.MessageState
1931 sizeCache protoimpl.SizeCache
1932 unknownFields protoimpl.UnknownFields
1933
1934
1935 Content *FileReference `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953 DevicePath string `protobuf:"bytes,2,opt,name=device_path,json=devicePath,proto3" json:"device_path,omitempty"`
1954 }
1955
1956 func (x *RegularFile) Reset() {
1957 *x = RegularFile{}
1958 if protoimpl.UnsafeEnabled {
1959 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[13]
1960 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1961 ms.StoreMessageInfo(mi)
1962 }
1963 }
1964
1965 func (x *RegularFile) String() string {
1966 return protoimpl.X.MessageStringOf(x)
1967 }
1968
1969 func (*RegularFile) ProtoMessage() {}
1970
1971 func (x *RegularFile) ProtoReflect() protoreflect.Message {
1972 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[13]
1973 if protoimpl.UnsafeEnabled && x != nil {
1974 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1975 if ms.LoadMessageInfo() == nil {
1976 ms.StoreMessageInfo(mi)
1977 }
1978 return ms
1979 }
1980 return mi.MessageOf(x)
1981 }
1982
1983
1984 func (*RegularFile) Descriptor() ([]byte, []int) {
1985 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{13}
1986 }
1987
1988 func (x *RegularFile) GetContent() *FileReference {
1989 if x != nil {
1990 return x.Content
1991 }
1992 return nil
1993 }
1994
1995 func (x *RegularFile) GetDevicePath() string {
1996 if x != nil {
1997 return x.DevicePath
1998 }
1999 return ""
2000 }
2001
2002
2003 type IosDeviceFile struct {
2004 state protoimpl.MessageState
2005 sizeCache protoimpl.SizeCache
2006 unknownFields protoimpl.UnknownFields
2007
2008
2009 Content *FileReference `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
2010
2011
2012
2013
2014 BundleId string `protobuf:"bytes,2,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
2015
2016 DevicePath string `protobuf:"bytes,3,opt,name=device_path,json=devicePath,proto3" json:"device_path,omitempty"`
2017 }
2018
2019 func (x *IosDeviceFile) Reset() {
2020 *x = IosDeviceFile{}
2021 if protoimpl.UnsafeEnabled {
2022 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[14]
2023 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2024 ms.StoreMessageInfo(mi)
2025 }
2026 }
2027
2028 func (x *IosDeviceFile) String() string {
2029 return protoimpl.X.MessageStringOf(x)
2030 }
2031
2032 func (*IosDeviceFile) ProtoMessage() {}
2033
2034 func (x *IosDeviceFile) ProtoReflect() protoreflect.Message {
2035 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[14]
2036 if protoimpl.UnsafeEnabled && x != nil {
2037 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2038 if ms.LoadMessageInfo() == nil {
2039 ms.StoreMessageInfo(mi)
2040 }
2041 return ms
2042 }
2043 return mi.MessageOf(x)
2044 }
2045
2046
2047 func (*IosDeviceFile) Descriptor() ([]byte, []int) {
2048 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{14}
2049 }
2050
2051 func (x *IosDeviceFile) GetContent() *FileReference {
2052 if x != nil {
2053 return x.Content
2054 }
2055 return nil
2056 }
2057
2058 func (x *IosDeviceFile) GetBundleId() string {
2059 if x != nil {
2060 return x.BundleId
2061 }
2062 return ""
2063 }
2064
2065 func (x *IosDeviceFile) GetDevicePath() string {
2066 if x != nil {
2067 return x.DevicePath
2068 }
2069 return ""
2070 }
2071
2072
2073
2074
2075 type AndroidTestLoop struct {
2076 state protoimpl.MessageState
2077 sizeCache protoimpl.SizeCache
2078 unknownFields protoimpl.UnknownFields
2079
2080
2081
2082
2083
2084
2085
2086 AppUnderTest isAndroidTestLoop_AppUnderTest `protobuf_oneof:"app_under_test"`
2087
2088
2089 AppPackageId string `protobuf:"bytes,2,opt,name=app_package_id,json=appPackageId,proto3" json:"app_package_id,omitempty"`
2090
2091
2092
2093 Scenarios []int32 `protobuf:"varint,3,rep,packed,name=scenarios,proto3" json:"scenarios,omitempty"`
2094
2095
2096
2097
2098
2099
2100
2101 ScenarioLabels []string `protobuf:"bytes,4,rep,name=scenario_labels,json=scenarioLabels,proto3" json:"scenario_labels,omitempty"`
2102 }
2103
2104 func (x *AndroidTestLoop) Reset() {
2105 *x = AndroidTestLoop{}
2106 if protoimpl.UnsafeEnabled {
2107 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[15]
2108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2109 ms.StoreMessageInfo(mi)
2110 }
2111 }
2112
2113 func (x *AndroidTestLoop) String() string {
2114 return protoimpl.X.MessageStringOf(x)
2115 }
2116
2117 func (*AndroidTestLoop) ProtoMessage() {}
2118
2119 func (x *AndroidTestLoop) ProtoReflect() protoreflect.Message {
2120 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[15]
2121 if protoimpl.UnsafeEnabled && x != nil {
2122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2123 if ms.LoadMessageInfo() == nil {
2124 ms.StoreMessageInfo(mi)
2125 }
2126 return ms
2127 }
2128 return mi.MessageOf(x)
2129 }
2130
2131
2132 func (*AndroidTestLoop) Descriptor() ([]byte, []int) {
2133 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{15}
2134 }
2135
2136 func (m *AndroidTestLoop) GetAppUnderTest() isAndroidTestLoop_AppUnderTest {
2137 if m != nil {
2138 return m.AppUnderTest
2139 }
2140 return nil
2141 }
2142
2143 func (x *AndroidTestLoop) GetAppApk() *FileReference {
2144 if x, ok := x.GetAppUnderTest().(*AndroidTestLoop_AppApk); ok {
2145 return x.AppApk
2146 }
2147 return nil
2148 }
2149
2150 func (x *AndroidTestLoop) GetAppBundle() *AppBundle {
2151 if x, ok := x.GetAppUnderTest().(*AndroidTestLoop_AppBundle); ok {
2152 return x.AppBundle
2153 }
2154 return nil
2155 }
2156
2157 func (x *AndroidTestLoop) GetAppPackageId() string {
2158 if x != nil {
2159 return x.AppPackageId
2160 }
2161 return ""
2162 }
2163
2164 func (x *AndroidTestLoop) GetScenarios() []int32 {
2165 if x != nil {
2166 return x.Scenarios
2167 }
2168 return nil
2169 }
2170
2171 func (x *AndroidTestLoop) GetScenarioLabels() []string {
2172 if x != nil {
2173 return x.ScenarioLabels
2174 }
2175 return nil
2176 }
2177
2178 type isAndroidTestLoop_AppUnderTest interface {
2179 isAndroidTestLoop_AppUnderTest()
2180 }
2181
2182 type AndroidTestLoop_AppApk struct {
2183
2184 AppApk *FileReference `protobuf:"bytes,1,opt,name=app_apk,json=appApk,proto3,oneof"`
2185 }
2186
2187 type AndroidTestLoop_AppBundle struct {
2188
2189 AppBundle *AppBundle `protobuf:"bytes,5,opt,name=app_bundle,json=appBundle,proto3,oneof"`
2190 }
2191
2192 func (*AndroidTestLoop_AppApk) isAndroidTestLoop_AppUnderTest() {}
2193
2194 func (*AndroidTestLoop_AppBundle) isAndroidTestLoop_AppUnderTest() {}
2195
2196
2197
2198
2199
2200
2201
2202 type IosXcTest struct {
2203 state protoimpl.MessageState
2204 sizeCache protoimpl.SizeCache
2205 unknownFields protoimpl.UnknownFields
2206
2207
2208
2209
2210
2211 TestsZip *FileReference `protobuf:"bytes,1,opt,name=tests_zip,json=testsZip,proto3" json:"tests_zip,omitempty"`
2212
2213
2214
2215
2216 Xctestrun *FileReference `protobuf:"bytes,2,opt,name=xctestrun,proto3" json:"xctestrun,omitempty"`
2217
2218
2219
2220 XcodeVersion string `protobuf:"bytes,3,opt,name=xcode_version,json=xcodeVersion,proto3" json:"xcode_version,omitempty"`
2221
2222 AppBundleId string `protobuf:"bytes,4,opt,name=app_bundle_id,json=appBundleId,proto3" json:"app_bundle_id,omitempty"`
2223
2224
2225
2226 TestSpecialEntitlements bool `protobuf:"varint,6,opt,name=test_special_entitlements,json=testSpecialEntitlements,proto3" json:"test_special_entitlements,omitempty"`
2227 }
2228
2229 func (x *IosXcTest) Reset() {
2230 *x = IosXcTest{}
2231 if protoimpl.UnsafeEnabled {
2232 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[16]
2233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2234 ms.StoreMessageInfo(mi)
2235 }
2236 }
2237
2238 func (x *IosXcTest) String() string {
2239 return protoimpl.X.MessageStringOf(x)
2240 }
2241
2242 func (*IosXcTest) ProtoMessage() {}
2243
2244 func (x *IosXcTest) ProtoReflect() protoreflect.Message {
2245 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[16]
2246 if protoimpl.UnsafeEnabled && x != nil {
2247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2248 if ms.LoadMessageInfo() == nil {
2249 ms.StoreMessageInfo(mi)
2250 }
2251 return ms
2252 }
2253 return mi.MessageOf(x)
2254 }
2255
2256
2257 func (*IosXcTest) Descriptor() ([]byte, []int) {
2258 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{16}
2259 }
2260
2261 func (x *IosXcTest) GetTestsZip() *FileReference {
2262 if x != nil {
2263 return x.TestsZip
2264 }
2265 return nil
2266 }
2267
2268 func (x *IosXcTest) GetXctestrun() *FileReference {
2269 if x != nil {
2270 return x.Xctestrun
2271 }
2272 return nil
2273 }
2274
2275 func (x *IosXcTest) GetXcodeVersion() string {
2276 if x != nil {
2277 return x.XcodeVersion
2278 }
2279 return ""
2280 }
2281
2282 func (x *IosXcTest) GetAppBundleId() string {
2283 if x != nil {
2284 return x.AppBundleId
2285 }
2286 return ""
2287 }
2288
2289 func (x *IosXcTest) GetTestSpecialEntitlements() bool {
2290 if x != nil {
2291 return x.TestSpecialEntitlements
2292 }
2293 return false
2294 }
2295
2296
2297
2298
2299 type IosTestLoop struct {
2300 state protoimpl.MessageState
2301 sizeCache protoimpl.SizeCache
2302 unknownFields protoimpl.UnknownFields
2303
2304
2305 AppIpa *FileReference `protobuf:"bytes,1,opt,name=app_ipa,json=appIpa,proto3" json:"app_ipa,omitempty"`
2306
2307
2308 Scenarios []int32 `protobuf:"varint,2,rep,packed,name=scenarios,proto3" json:"scenarios,omitempty"`
2309
2310 AppBundleId string `protobuf:"bytes,3,opt,name=app_bundle_id,json=appBundleId,proto3" json:"app_bundle_id,omitempty"`
2311 }
2312
2313 func (x *IosTestLoop) Reset() {
2314 *x = IosTestLoop{}
2315 if protoimpl.UnsafeEnabled {
2316 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[17]
2317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2318 ms.StoreMessageInfo(mi)
2319 }
2320 }
2321
2322 func (x *IosTestLoop) String() string {
2323 return protoimpl.X.MessageStringOf(x)
2324 }
2325
2326 func (*IosTestLoop) ProtoMessage() {}
2327
2328 func (x *IosTestLoop) ProtoReflect() protoreflect.Message {
2329 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[17]
2330 if protoimpl.UnsafeEnabled && x != nil {
2331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2332 if ms.LoadMessageInfo() == nil {
2333 ms.StoreMessageInfo(mi)
2334 }
2335 return ms
2336 }
2337 return mi.MessageOf(x)
2338 }
2339
2340
2341 func (*IosTestLoop) Descriptor() ([]byte, []int) {
2342 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{17}
2343 }
2344
2345 func (x *IosTestLoop) GetAppIpa() *FileReference {
2346 if x != nil {
2347 return x.AppIpa
2348 }
2349 return nil
2350 }
2351
2352 func (x *IosTestLoop) GetScenarios() []int32 {
2353 if x != nil {
2354 return x.Scenarios
2355 }
2356 return nil
2357 }
2358
2359 func (x *IosTestLoop) GetAppBundleId() string {
2360 if x != nil {
2361 return x.AppBundleId
2362 }
2363 return ""
2364 }
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375 type AndroidInstrumentationTest struct {
2376 state protoimpl.MessageState
2377 sizeCache protoimpl.SizeCache
2378 unknownFields protoimpl.UnknownFields
2379
2380
2381
2382
2383
2384
2385
2386 AppUnderTest isAndroidInstrumentationTest_AppUnderTest `protobuf_oneof:"app_under_test"`
2387
2388 TestApk *FileReference `protobuf:"bytes,2,opt,name=test_apk,json=testApk,proto3" json:"test_apk,omitempty"`
2389
2390
2391 AppPackageId string `protobuf:"bytes,3,opt,name=app_package_id,json=appPackageId,proto3" json:"app_package_id,omitempty"`
2392
2393
2394 TestPackageId string `protobuf:"bytes,4,opt,name=test_package_id,json=testPackageId,proto3" json:"test_package_id,omitempty"`
2395
2396
2397 TestRunnerClass string `protobuf:"bytes,5,opt,name=test_runner_class,json=testRunnerClass,proto3" json:"test_runner_class,omitempty"`
2398
2399
2400
2401
2402
2403
2404
2405 TestTargets []string `protobuf:"bytes,6,rep,name=test_targets,json=testTargets,proto3" json:"test_targets,omitempty"`
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420 OrchestratorOption OrchestratorOption `protobuf:"varint,7,opt,name=orchestrator_option,json=orchestratorOption,proto3,enum=google.devtools.testing.v1.OrchestratorOption" json:"orchestrator_option,omitempty"`
2421
2422 ShardingOption *ShardingOption `protobuf:"bytes,9,opt,name=sharding_option,json=shardingOption,proto3" json:"sharding_option,omitempty"`
2423 }
2424
2425 func (x *AndroidInstrumentationTest) Reset() {
2426 *x = AndroidInstrumentationTest{}
2427 if protoimpl.UnsafeEnabled {
2428 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[18]
2429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2430 ms.StoreMessageInfo(mi)
2431 }
2432 }
2433
2434 func (x *AndroidInstrumentationTest) String() string {
2435 return protoimpl.X.MessageStringOf(x)
2436 }
2437
2438 func (*AndroidInstrumentationTest) ProtoMessage() {}
2439
2440 func (x *AndroidInstrumentationTest) ProtoReflect() protoreflect.Message {
2441 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[18]
2442 if protoimpl.UnsafeEnabled && x != nil {
2443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2444 if ms.LoadMessageInfo() == nil {
2445 ms.StoreMessageInfo(mi)
2446 }
2447 return ms
2448 }
2449 return mi.MessageOf(x)
2450 }
2451
2452
2453 func (*AndroidInstrumentationTest) Descriptor() ([]byte, []int) {
2454 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{18}
2455 }
2456
2457 func (m *AndroidInstrumentationTest) GetAppUnderTest() isAndroidInstrumentationTest_AppUnderTest {
2458 if m != nil {
2459 return m.AppUnderTest
2460 }
2461 return nil
2462 }
2463
2464 func (x *AndroidInstrumentationTest) GetAppApk() *FileReference {
2465 if x, ok := x.GetAppUnderTest().(*AndroidInstrumentationTest_AppApk); ok {
2466 return x.AppApk
2467 }
2468 return nil
2469 }
2470
2471 func (x *AndroidInstrumentationTest) GetAppBundle() *AppBundle {
2472 if x, ok := x.GetAppUnderTest().(*AndroidInstrumentationTest_AppBundle); ok {
2473 return x.AppBundle
2474 }
2475 return nil
2476 }
2477
2478 func (x *AndroidInstrumentationTest) GetTestApk() *FileReference {
2479 if x != nil {
2480 return x.TestApk
2481 }
2482 return nil
2483 }
2484
2485 func (x *AndroidInstrumentationTest) GetAppPackageId() string {
2486 if x != nil {
2487 return x.AppPackageId
2488 }
2489 return ""
2490 }
2491
2492 func (x *AndroidInstrumentationTest) GetTestPackageId() string {
2493 if x != nil {
2494 return x.TestPackageId
2495 }
2496 return ""
2497 }
2498
2499 func (x *AndroidInstrumentationTest) GetTestRunnerClass() string {
2500 if x != nil {
2501 return x.TestRunnerClass
2502 }
2503 return ""
2504 }
2505
2506 func (x *AndroidInstrumentationTest) GetTestTargets() []string {
2507 if x != nil {
2508 return x.TestTargets
2509 }
2510 return nil
2511 }
2512
2513 func (x *AndroidInstrumentationTest) GetOrchestratorOption() OrchestratorOption {
2514 if x != nil {
2515 return x.OrchestratorOption
2516 }
2517 return OrchestratorOption_ORCHESTRATOR_OPTION_UNSPECIFIED
2518 }
2519
2520 func (x *AndroidInstrumentationTest) GetShardingOption() *ShardingOption {
2521 if x != nil {
2522 return x.ShardingOption
2523 }
2524 return nil
2525 }
2526
2527 type isAndroidInstrumentationTest_AppUnderTest interface {
2528 isAndroidInstrumentationTest_AppUnderTest()
2529 }
2530
2531 type AndroidInstrumentationTest_AppApk struct {
2532
2533 AppApk *FileReference `protobuf:"bytes,1,opt,name=app_apk,json=appApk,proto3,oneof"`
2534 }
2535
2536 type AndroidInstrumentationTest_AppBundle struct {
2537
2538 AppBundle *AppBundle `protobuf:"bytes,8,opt,name=app_bundle,json=appBundle,proto3,oneof"`
2539 }
2540
2541 func (*AndroidInstrumentationTest_AppApk) isAndroidInstrumentationTest_AppUnderTest() {}
2542
2543 func (*AndroidInstrumentationTest_AppBundle) isAndroidInstrumentationTest_AppUnderTest() {}
2544
2545
2546
2547 type AndroidRoboTest struct {
2548 state protoimpl.MessageState
2549 sizeCache protoimpl.SizeCache
2550 unknownFields protoimpl.UnknownFields
2551
2552
2553
2554
2555
2556
2557
2558 AppUnderTest isAndroidRoboTest_AppUnderTest `protobuf_oneof:"app_under_test"`
2559
2560
2561 AppPackageId string `protobuf:"bytes,2,opt,name=app_package_id,json=appPackageId,proto3" json:"app_package_id,omitempty"`
2562
2563 AppInitialActivity string `protobuf:"bytes,3,opt,name=app_initial_activity,json=appInitialActivity,proto3" json:"app_initial_activity,omitempty"`
2564
2565
2566
2567
2568
2569 MaxDepth int32 `protobuf:"varint,7,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
2570
2571
2572
2573
2574 MaxSteps int32 `protobuf:"varint,8,opt,name=max_steps,json=maxSteps,proto3" json:"max_steps,omitempty"`
2575
2576
2577
2578 RoboDirectives []*RoboDirective `protobuf:"bytes,11,rep,name=robo_directives,json=roboDirectives,proto3" json:"robo_directives,omitempty"`
2579
2580
2581 RoboMode RoboMode `protobuf:"varint,14,opt,name=robo_mode,json=roboMode,proto3,enum=google.devtools.testing.v1.RoboMode" json:"robo_mode,omitempty"`
2582
2583
2584 RoboScript *FileReference `protobuf:"bytes,13,opt,name=robo_script,json=roboScript,proto3" json:"robo_script,omitempty"`
2585
2586
2587
2588
2589 StartingIntents []*RoboStartingIntent `protobuf:"bytes,15,rep,name=starting_intents,json=startingIntents,proto3" json:"starting_intents,omitempty"`
2590 }
2591
2592 func (x *AndroidRoboTest) Reset() {
2593 *x = AndroidRoboTest{}
2594 if protoimpl.UnsafeEnabled {
2595 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[19]
2596 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2597 ms.StoreMessageInfo(mi)
2598 }
2599 }
2600
2601 func (x *AndroidRoboTest) String() string {
2602 return protoimpl.X.MessageStringOf(x)
2603 }
2604
2605 func (*AndroidRoboTest) ProtoMessage() {}
2606
2607 func (x *AndroidRoboTest) ProtoReflect() protoreflect.Message {
2608 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[19]
2609 if protoimpl.UnsafeEnabled && x != nil {
2610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2611 if ms.LoadMessageInfo() == nil {
2612 ms.StoreMessageInfo(mi)
2613 }
2614 return ms
2615 }
2616 return mi.MessageOf(x)
2617 }
2618
2619
2620 func (*AndroidRoboTest) Descriptor() ([]byte, []int) {
2621 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{19}
2622 }
2623
2624 func (m *AndroidRoboTest) GetAppUnderTest() isAndroidRoboTest_AppUnderTest {
2625 if m != nil {
2626 return m.AppUnderTest
2627 }
2628 return nil
2629 }
2630
2631 func (x *AndroidRoboTest) GetAppApk() *FileReference {
2632 if x, ok := x.GetAppUnderTest().(*AndroidRoboTest_AppApk); ok {
2633 return x.AppApk
2634 }
2635 return nil
2636 }
2637
2638 func (x *AndroidRoboTest) GetAppBundle() *AppBundle {
2639 if x, ok := x.GetAppUnderTest().(*AndroidRoboTest_AppBundle); ok {
2640 return x.AppBundle
2641 }
2642 return nil
2643 }
2644
2645 func (x *AndroidRoboTest) GetAppPackageId() string {
2646 if x != nil {
2647 return x.AppPackageId
2648 }
2649 return ""
2650 }
2651
2652 func (x *AndroidRoboTest) GetAppInitialActivity() string {
2653 if x != nil {
2654 return x.AppInitialActivity
2655 }
2656 return ""
2657 }
2658
2659
2660 func (x *AndroidRoboTest) GetMaxDepth() int32 {
2661 if x != nil {
2662 return x.MaxDepth
2663 }
2664 return 0
2665 }
2666
2667
2668 func (x *AndroidRoboTest) GetMaxSteps() int32 {
2669 if x != nil {
2670 return x.MaxSteps
2671 }
2672 return 0
2673 }
2674
2675 func (x *AndroidRoboTest) GetRoboDirectives() []*RoboDirective {
2676 if x != nil {
2677 return x.RoboDirectives
2678 }
2679 return nil
2680 }
2681
2682 func (x *AndroidRoboTest) GetRoboMode() RoboMode {
2683 if x != nil {
2684 return x.RoboMode
2685 }
2686 return RoboMode_ROBO_MODE_UNSPECIFIED
2687 }
2688
2689 func (x *AndroidRoboTest) GetRoboScript() *FileReference {
2690 if x != nil {
2691 return x.RoboScript
2692 }
2693 return nil
2694 }
2695
2696 func (x *AndroidRoboTest) GetStartingIntents() []*RoboStartingIntent {
2697 if x != nil {
2698 return x.StartingIntents
2699 }
2700 return nil
2701 }
2702
2703 type isAndroidRoboTest_AppUnderTest interface {
2704 isAndroidRoboTest_AppUnderTest()
2705 }
2706
2707 type AndroidRoboTest_AppApk struct {
2708
2709 AppApk *FileReference `protobuf:"bytes,1,opt,name=app_apk,json=appApk,proto3,oneof"`
2710 }
2711
2712 type AndroidRoboTest_AppBundle struct {
2713
2714 AppBundle *AppBundle `protobuf:"bytes,16,opt,name=app_bundle,json=appBundle,proto3,oneof"`
2715 }
2716
2717 func (*AndroidRoboTest_AppApk) isAndroidRoboTest_AppUnderTest() {}
2718
2719 func (*AndroidRoboTest_AppBundle) isAndroidRoboTest_AppUnderTest() {}
2720
2721
2722
2723 type RoboDirective struct {
2724 state protoimpl.MessageState
2725 sizeCache protoimpl.SizeCache
2726 unknownFields protoimpl.UnknownFields
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
2738
2739
2740 InputText string `protobuf:"bytes,2,opt,name=input_text,json=inputText,proto3" json:"input_text,omitempty"`
2741
2742
2743 ActionType RoboActionType `protobuf:"varint,3,opt,name=action_type,json=actionType,proto3,enum=google.devtools.testing.v1.RoboActionType" json:"action_type,omitempty"`
2744 }
2745
2746 func (x *RoboDirective) Reset() {
2747 *x = RoboDirective{}
2748 if protoimpl.UnsafeEnabled {
2749 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[20]
2750 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2751 ms.StoreMessageInfo(mi)
2752 }
2753 }
2754
2755 func (x *RoboDirective) String() string {
2756 return protoimpl.X.MessageStringOf(x)
2757 }
2758
2759 func (*RoboDirective) ProtoMessage() {}
2760
2761 func (x *RoboDirective) ProtoReflect() protoreflect.Message {
2762 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[20]
2763 if protoimpl.UnsafeEnabled && x != nil {
2764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2765 if ms.LoadMessageInfo() == nil {
2766 ms.StoreMessageInfo(mi)
2767 }
2768 return ms
2769 }
2770 return mi.MessageOf(x)
2771 }
2772
2773
2774 func (*RoboDirective) Descriptor() ([]byte, []int) {
2775 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{20}
2776 }
2777
2778 func (x *RoboDirective) GetResourceName() string {
2779 if x != nil {
2780 return x.ResourceName
2781 }
2782 return ""
2783 }
2784
2785 func (x *RoboDirective) GetInputText() string {
2786 if x != nil {
2787 return x.InputText
2788 }
2789 return ""
2790 }
2791
2792 func (x *RoboDirective) GetActionType() RoboActionType {
2793 if x != nil {
2794 return x.ActionType
2795 }
2796 return RoboActionType_ACTION_TYPE_UNSPECIFIED
2797 }
2798
2799
2800 type RoboStartingIntent struct {
2801 state protoimpl.MessageState
2802 sizeCache protoimpl.SizeCache
2803 unknownFields protoimpl.UnknownFields
2804
2805
2806
2807
2808
2809
2810
2811 StartingIntent isRoboStartingIntent_StartingIntent `protobuf_oneof:"starting_intent"`
2812
2813 Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
2814 }
2815
2816 func (x *RoboStartingIntent) Reset() {
2817 *x = RoboStartingIntent{}
2818 if protoimpl.UnsafeEnabled {
2819 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[21]
2820 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2821 ms.StoreMessageInfo(mi)
2822 }
2823 }
2824
2825 func (x *RoboStartingIntent) String() string {
2826 return protoimpl.X.MessageStringOf(x)
2827 }
2828
2829 func (*RoboStartingIntent) ProtoMessage() {}
2830
2831 func (x *RoboStartingIntent) ProtoReflect() protoreflect.Message {
2832 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[21]
2833 if protoimpl.UnsafeEnabled && x != nil {
2834 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2835 if ms.LoadMessageInfo() == nil {
2836 ms.StoreMessageInfo(mi)
2837 }
2838 return ms
2839 }
2840 return mi.MessageOf(x)
2841 }
2842
2843
2844 func (*RoboStartingIntent) Descriptor() ([]byte, []int) {
2845 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{21}
2846 }
2847
2848 func (m *RoboStartingIntent) GetStartingIntent() isRoboStartingIntent_StartingIntent {
2849 if m != nil {
2850 return m.StartingIntent
2851 }
2852 return nil
2853 }
2854
2855 func (x *RoboStartingIntent) GetLauncherActivity() *LauncherActivityIntent {
2856 if x, ok := x.GetStartingIntent().(*RoboStartingIntent_LauncherActivity); ok {
2857 return x.LauncherActivity
2858 }
2859 return nil
2860 }
2861
2862 func (x *RoboStartingIntent) GetStartActivity() *StartActivityIntent {
2863 if x, ok := x.GetStartingIntent().(*RoboStartingIntent_StartActivity); ok {
2864 return x.StartActivity
2865 }
2866 return nil
2867 }
2868
2869 func (x *RoboStartingIntent) GetTimeout() *durationpb.Duration {
2870 if x != nil {
2871 return x.Timeout
2872 }
2873 return nil
2874 }
2875
2876 type isRoboStartingIntent_StartingIntent interface {
2877 isRoboStartingIntent_StartingIntent()
2878 }
2879
2880 type RoboStartingIntent_LauncherActivity struct {
2881
2882 LauncherActivity *LauncherActivityIntent `protobuf:"bytes,1,opt,name=launcher_activity,json=launcherActivity,proto3,oneof"`
2883 }
2884
2885 type RoboStartingIntent_StartActivity struct {
2886
2887 StartActivity *StartActivityIntent `protobuf:"bytes,2,opt,name=start_activity,json=startActivity,proto3,oneof"`
2888 }
2889
2890 func (*RoboStartingIntent_LauncherActivity) isRoboStartingIntent_StartingIntent() {}
2891
2892 func (*RoboStartingIntent_StartActivity) isRoboStartingIntent_StartingIntent() {}
2893
2894
2895 type LauncherActivityIntent struct {
2896 state protoimpl.MessageState
2897 sizeCache protoimpl.SizeCache
2898 unknownFields protoimpl.UnknownFields
2899 }
2900
2901 func (x *LauncherActivityIntent) Reset() {
2902 *x = LauncherActivityIntent{}
2903 if protoimpl.UnsafeEnabled {
2904 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[22]
2905 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2906 ms.StoreMessageInfo(mi)
2907 }
2908 }
2909
2910 func (x *LauncherActivityIntent) String() string {
2911 return protoimpl.X.MessageStringOf(x)
2912 }
2913
2914 func (*LauncherActivityIntent) ProtoMessage() {}
2915
2916 func (x *LauncherActivityIntent) ProtoReflect() protoreflect.Message {
2917 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[22]
2918 if protoimpl.UnsafeEnabled && x != nil {
2919 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2920 if ms.LoadMessageInfo() == nil {
2921 ms.StoreMessageInfo(mi)
2922 }
2923 return ms
2924 }
2925 return mi.MessageOf(x)
2926 }
2927
2928
2929 func (*LauncherActivityIntent) Descriptor() ([]byte, []int) {
2930 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{22}
2931 }
2932
2933
2934 type StartActivityIntent struct {
2935 state protoimpl.MessageState
2936 sizeCache protoimpl.SizeCache
2937 unknownFields protoimpl.UnknownFields
2938
2939
2940
2941 Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
2942
2943 Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"`
2944
2945 Categories []string `protobuf:"bytes,4,rep,name=categories,proto3" json:"categories,omitempty"`
2946 }
2947
2948 func (x *StartActivityIntent) Reset() {
2949 *x = StartActivityIntent{}
2950 if protoimpl.UnsafeEnabled {
2951 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[23]
2952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2953 ms.StoreMessageInfo(mi)
2954 }
2955 }
2956
2957 func (x *StartActivityIntent) String() string {
2958 return protoimpl.X.MessageStringOf(x)
2959 }
2960
2961 func (*StartActivityIntent) ProtoMessage() {}
2962
2963 func (x *StartActivityIntent) ProtoReflect() protoreflect.Message {
2964 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[23]
2965 if protoimpl.UnsafeEnabled && x != nil {
2966 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2967 if ms.LoadMessageInfo() == nil {
2968 ms.StoreMessageInfo(mi)
2969 }
2970 return ms
2971 }
2972 return mi.MessageOf(x)
2973 }
2974
2975
2976 func (*StartActivityIntent) Descriptor() ([]byte, []int) {
2977 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{23}
2978 }
2979
2980 func (x *StartActivityIntent) GetAction() string {
2981 if x != nil {
2982 return x.Action
2983 }
2984 return ""
2985 }
2986
2987 func (x *StartActivityIntent) GetUri() string {
2988 if x != nil {
2989 return x.Uri
2990 }
2991 return ""
2992 }
2993
2994 func (x *StartActivityIntent) GetCategories() []string {
2995 if x != nil {
2996 return x.Categories
2997 }
2998 return nil
2999 }
3000
3001
3002 type EnvironmentMatrix struct {
3003 state protoimpl.MessageState
3004 sizeCache protoimpl.SizeCache
3005 unknownFields protoimpl.UnknownFields
3006
3007
3008
3009
3010
3011
3012
3013
3014 EnvironmentMatrix isEnvironmentMatrix_EnvironmentMatrix `protobuf_oneof:"environment_matrix"`
3015 }
3016
3017 func (x *EnvironmentMatrix) Reset() {
3018 *x = EnvironmentMatrix{}
3019 if protoimpl.UnsafeEnabled {
3020 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[24]
3021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3022 ms.StoreMessageInfo(mi)
3023 }
3024 }
3025
3026 func (x *EnvironmentMatrix) String() string {
3027 return protoimpl.X.MessageStringOf(x)
3028 }
3029
3030 func (*EnvironmentMatrix) ProtoMessage() {}
3031
3032 func (x *EnvironmentMatrix) ProtoReflect() protoreflect.Message {
3033 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[24]
3034 if protoimpl.UnsafeEnabled && x != nil {
3035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3036 if ms.LoadMessageInfo() == nil {
3037 ms.StoreMessageInfo(mi)
3038 }
3039 return ms
3040 }
3041 return mi.MessageOf(x)
3042 }
3043
3044
3045 func (*EnvironmentMatrix) Descriptor() ([]byte, []int) {
3046 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{24}
3047 }
3048
3049 func (m *EnvironmentMatrix) GetEnvironmentMatrix() isEnvironmentMatrix_EnvironmentMatrix {
3050 if m != nil {
3051 return m.EnvironmentMatrix
3052 }
3053 return nil
3054 }
3055
3056 func (x *EnvironmentMatrix) GetAndroidMatrix() *AndroidMatrix {
3057 if x, ok := x.GetEnvironmentMatrix().(*EnvironmentMatrix_AndroidMatrix); ok {
3058 return x.AndroidMatrix
3059 }
3060 return nil
3061 }
3062
3063 func (x *EnvironmentMatrix) GetAndroidDeviceList() *AndroidDeviceList {
3064 if x, ok := x.GetEnvironmentMatrix().(*EnvironmentMatrix_AndroidDeviceList); ok {
3065 return x.AndroidDeviceList
3066 }
3067 return nil
3068 }
3069
3070 func (x *EnvironmentMatrix) GetIosDeviceList() *IosDeviceList {
3071 if x, ok := x.GetEnvironmentMatrix().(*EnvironmentMatrix_IosDeviceList); ok {
3072 return x.IosDeviceList
3073 }
3074 return nil
3075 }
3076
3077 type isEnvironmentMatrix_EnvironmentMatrix interface {
3078 isEnvironmentMatrix_EnvironmentMatrix()
3079 }
3080
3081 type EnvironmentMatrix_AndroidMatrix struct {
3082
3083 AndroidMatrix *AndroidMatrix `protobuf:"bytes,1,opt,name=android_matrix,json=androidMatrix,proto3,oneof"`
3084 }
3085
3086 type EnvironmentMatrix_AndroidDeviceList struct {
3087
3088
3089 AndroidDeviceList *AndroidDeviceList `protobuf:"bytes,2,opt,name=android_device_list,json=androidDeviceList,proto3,oneof"`
3090 }
3091
3092 type EnvironmentMatrix_IosDeviceList struct {
3093
3094 IosDeviceList *IosDeviceList `protobuf:"bytes,3,opt,name=ios_device_list,json=iosDeviceList,proto3,oneof"`
3095 }
3096
3097 func (*EnvironmentMatrix_AndroidMatrix) isEnvironmentMatrix_EnvironmentMatrix() {}
3098
3099 func (*EnvironmentMatrix_AndroidDeviceList) isEnvironmentMatrix_EnvironmentMatrix() {}
3100
3101 func (*EnvironmentMatrix_IosDeviceList) isEnvironmentMatrix_EnvironmentMatrix() {}
3102
3103
3104 type AndroidDeviceList struct {
3105 state protoimpl.MessageState
3106 sizeCache protoimpl.SizeCache
3107 unknownFields protoimpl.UnknownFields
3108
3109
3110 AndroidDevices []*AndroidDevice `protobuf:"bytes,1,rep,name=android_devices,json=androidDevices,proto3" json:"android_devices,omitempty"`
3111 }
3112
3113 func (x *AndroidDeviceList) Reset() {
3114 *x = AndroidDeviceList{}
3115 if protoimpl.UnsafeEnabled {
3116 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[25]
3117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3118 ms.StoreMessageInfo(mi)
3119 }
3120 }
3121
3122 func (x *AndroidDeviceList) String() string {
3123 return protoimpl.X.MessageStringOf(x)
3124 }
3125
3126 func (*AndroidDeviceList) ProtoMessage() {}
3127
3128 func (x *AndroidDeviceList) ProtoReflect() protoreflect.Message {
3129 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[25]
3130 if protoimpl.UnsafeEnabled && x != nil {
3131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3132 if ms.LoadMessageInfo() == nil {
3133 ms.StoreMessageInfo(mi)
3134 }
3135 return ms
3136 }
3137 return mi.MessageOf(x)
3138 }
3139
3140
3141 func (*AndroidDeviceList) Descriptor() ([]byte, []int) {
3142 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{25}
3143 }
3144
3145 func (x *AndroidDeviceList) GetAndroidDevices() []*AndroidDevice {
3146 if x != nil {
3147 return x.AndroidDevices
3148 }
3149 return nil
3150 }
3151
3152
3153 type IosDeviceList struct {
3154 state protoimpl.MessageState
3155 sizeCache protoimpl.SizeCache
3156 unknownFields protoimpl.UnknownFields
3157
3158
3159 IosDevices []*IosDevice `protobuf:"bytes,1,rep,name=ios_devices,json=iosDevices,proto3" json:"ios_devices,omitempty"`
3160 }
3161
3162 func (x *IosDeviceList) Reset() {
3163 *x = IosDeviceList{}
3164 if protoimpl.UnsafeEnabled {
3165 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[26]
3166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3167 ms.StoreMessageInfo(mi)
3168 }
3169 }
3170
3171 func (x *IosDeviceList) String() string {
3172 return protoimpl.X.MessageStringOf(x)
3173 }
3174
3175 func (*IosDeviceList) ProtoMessage() {}
3176
3177 func (x *IosDeviceList) ProtoReflect() protoreflect.Message {
3178 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[26]
3179 if protoimpl.UnsafeEnabled && x != nil {
3180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3181 if ms.LoadMessageInfo() == nil {
3182 ms.StoreMessageInfo(mi)
3183 }
3184 return ms
3185 }
3186 return mi.MessageOf(x)
3187 }
3188
3189
3190 func (*IosDeviceList) Descriptor() ([]byte, []int) {
3191 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{26}
3192 }
3193
3194 func (x *IosDeviceList) GetIosDevices() []*IosDevice {
3195 if x != nil {
3196 return x.IosDevices
3197 }
3198 return nil
3199 }
3200
3201
3202
3203
3204
3205
3206
3207 type AndroidMatrix struct {
3208 state protoimpl.MessageState
3209 sizeCache protoimpl.SizeCache
3210 unknownFields protoimpl.UnknownFields
3211
3212
3213
3214 AndroidModelIds []string `protobuf:"bytes,1,rep,name=android_model_ids,json=androidModelIds,proto3" json:"android_model_ids,omitempty"`
3215
3216
3217 AndroidVersionIds []string `protobuf:"bytes,2,rep,name=android_version_ids,json=androidVersionIds,proto3" json:"android_version_ids,omitempty"`
3218
3219
3220 Locales []string `protobuf:"bytes,3,rep,name=locales,proto3" json:"locales,omitempty"`
3221
3222
3223 Orientations []string `protobuf:"bytes,4,rep,name=orientations,proto3" json:"orientations,omitempty"`
3224 }
3225
3226 func (x *AndroidMatrix) Reset() {
3227 *x = AndroidMatrix{}
3228 if protoimpl.UnsafeEnabled {
3229 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[27]
3230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3231 ms.StoreMessageInfo(mi)
3232 }
3233 }
3234
3235 func (x *AndroidMatrix) String() string {
3236 return protoimpl.X.MessageStringOf(x)
3237 }
3238
3239 func (*AndroidMatrix) ProtoMessage() {}
3240
3241 func (x *AndroidMatrix) ProtoReflect() protoreflect.Message {
3242 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[27]
3243 if protoimpl.UnsafeEnabled && x != nil {
3244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3245 if ms.LoadMessageInfo() == nil {
3246 ms.StoreMessageInfo(mi)
3247 }
3248 return ms
3249 }
3250 return mi.MessageOf(x)
3251 }
3252
3253
3254 func (*AndroidMatrix) Descriptor() ([]byte, []int) {
3255 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{27}
3256 }
3257
3258 func (x *AndroidMatrix) GetAndroidModelIds() []string {
3259 if x != nil {
3260 return x.AndroidModelIds
3261 }
3262 return nil
3263 }
3264
3265 func (x *AndroidMatrix) GetAndroidVersionIds() []string {
3266 if x != nil {
3267 return x.AndroidVersionIds
3268 }
3269 return nil
3270 }
3271
3272 func (x *AndroidMatrix) GetLocales() []string {
3273 if x != nil {
3274 return x.Locales
3275 }
3276 return nil
3277 }
3278
3279 func (x *AndroidMatrix) GetOrientations() []string {
3280 if x != nil {
3281 return x.Orientations
3282 }
3283 return nil
3284 }
3285
3286
3287 type ClientInfo struct {
3288 state protoimpl.MessageState
3289 sizeCache protoimpl.SizeCache
3290 unknownFields protoimpl.UnknownFields
3291
3292
3293 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3294
3295 ClientInfoDetails []*ClientInfoDetail `protobuf:"bytes,2,rep,name=client_info_details,json=clientInfoDetails,proto3" json:"client_info_details,omitempty"`
3296 }
3297
3298 func (x *ClientInfo) Reset() {
3299 *x = ClientInfo{}
3300 if protoimpl.UnsafeEnabled {
3301 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[28]
3302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3303 ms.StoreMessageInfo(mi)
3304 }
3305 }
3306
3307 func (x *ClientInfo) String() string {
3308 return protoimpl.X.MessageStringOf(x)
3309 }
3310
3311 func (*ClientInfo) ProtoMessage() {}
3312
3313 func (x *ClientInfo) ProtoReflect() protoreflect.Message {
3314 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[28]
3315 if protoimpl.UnsafeEnabled && x != nil {
3316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3317 if ms.LoadMessageInfo() == nil {
3318 ms.StoreMessageInfo(mi)
3319 }
3320 return ms
3321 }
3322 return mi.MessageOf(x)
3323 }
3324
3325
3326 func (*ClientInfo) Descriptor() ([]byte, []int) {
3327 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{28}
3328 }
3329
3330 func (x *ClientInfo) GetName() string {
3331 if x != nil {
3332 return x.Name
3333 }
3334 return ""
3335 }
3336
3337 func (x *ClientInfo) GetClientInfoDetails() []*ClientInfoDetail {
3338 if x != nil {
3339 return x.ClientInfoDetails
3340 }
3341 return nil
3342 }
3343
3344
3345
3346 type ClientInfoDetail struct {
3347 state protoimpl.MessageState
3348 sizeCache protoimpl.SizeCache
3349 unknownFields protoimpl.UnknownFields
3350
3351
3352 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
3353
3354 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
3355 }
3356
3357 func (x *ClientInfoDetail) Reset() {
3358 *x = ClientInfoDetail{}
3359 if protoimpl.UnsafeEnabled {
3360 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[29]
3361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3362 ms.StoreMessageInfo(mi)
3363 }
3364 }
3365
3366 func (x *ClientInfoDetail) String() string {
3367 return protoimpl.X.MessageStringOf(x)
3368 }
3369
3370 func (*ClientInfoDetail) ProtoMessage() {}
3371
3372 func (x *ClientInfoDetail) ProtoReflect() protoreflect.Message {
3373 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[29]
3374 if protoimpl.UnsafeEnabled && x != nil {
3375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3376 if ms.LoadMessageInfo() == nil {
3377 ms.StoreMessageInfo(mi)
3378 }
3379 return ms
3380 }
3381 return mi.MessageOf(x)
3382 }
3383
3384
3385 func (*ClientInfoDetail) Descriptor() ([]byte, []int) {
3386 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{29}
3387 }
3388
3389 func (x *ClientInfoDetail) GetKey() string {
3390 if x != nil {
3391 return x.Key
3392 }
3393 return ""
3394 }
3395
3396 func (x *ClientInfoDetail) GetValue() string {
3397 if x != nil {
3398 return x.Value
3399 }
3400 return ""
3401 }
3402
3403
3404 type ResultStorage struct {
3405 state protoimpl.MessageState
3406 sizeCache protoimpl.SizeCache
3407 unknownFields protoimpl.UnknownFields
3408
3409
3410 GoogleCloudStorage *GoogleCloudStorage `protobuf:"bytes,1,opt,name=google_cloud_storage,json=googleCloudStorage,proto3" json:"google_cloud_storage,omitempty"`
3411
3412
3413
3414
3415 ToolResultsHistory *ToolResultsHistory `protobuf:"bytes,5,opt,name=tool_results_history,json=toolResultsHistory,proto3" json:"tool_results_history,omitempty"`
3416
3417 ToolResultsExecution *ToolResultsExecution `protobuf:"bytes,6,opt,name=tool_results_execution,json=toolResultsExecution,proto3" json:"tool_results_execution,omitempty"`
3418
3419 ResultsUrl string `protobuf:"bytes,7,opt,name=results_url,json=resultsUrl,proto3" json:"results_url,omitempty"`
3420 }
3421
3422 func (x *ResultStorage) Reset() {
3423 *x = ResultStorage{}
3424 if protoimpl.UnsafeEnabled {
3425 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[30]
3426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3427 ms.StoreMessageInfo(mi)
3428 }
3429 }
3430
3431 func (x *ResultStorage) String() string {
3432 return protoimpl.X.MessageStringOf(x)
3433 }
3434
3435 func (*ResultStorage) ProtoMessage() {}
3436
3437 func (x *ResultStorage) ProtoReflect() protoreflect.Message {
3438 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[30]
3439 if protoimpl.UnsafeEnabled && x != nil {
3440 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3441 if ms.LoadMessageInfo() == nil {
3442 ms.StoreMessageInfo(mi)
3443 }
3444 return ms
3445 }
3446 return mi.MessageOf(x)
3447 }
3448
3449
3450 func (*ResultStorage) Descriptor() ([]byte, []int) {
3451 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{30}
3452 }
3453
3454 func (x *ResultStorage) GetGoogleCloudStorage() *GoogleCloudStorage {
3455 if x != nil {
3456 return x.GoogleCloudStorage
3457 }
3458 return nil
3459 }
3460
3461 func (x *ResultStorage) GetToolResultsHistory() *ToolResultsHistory {
3462 if x != nil {
3463 return x.ToolResultsHistory
3464 }
3465 return nil
3466 }
3467
3468 func (x *ResultStorage) GetToolResultsExecution() *ToolResultsExecution {
3469 if x != nil {
3470 return x.ToolResultsExecution
3471 }
3472 return nil
3473 }
3474
3475 func (x *ResultStorage) GetResultsUrl() string {
3476 if x != nil {
3477 return x.ResultsUrl
3478 }
3479 return ""
3480 }
3481
3482
3483 type ToolResultsHistory struct {
3484 state protoimpl.MessageState
3485 sizeCache protoimpl.SizeCache
3486 unknownFields protoimpl.UnknownFields
3487
3488
3489 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
3490
3491 HistoryId string `protobuf:"bytes,2,opt,name=history_id,json=historyId,proto3" json:"history_id,omitempty"`
3492 }
3493
3494 func (x *ToolResultsHistory) Reset() {
3495 *x = ToolResultsHistory{}
3496 if protoimpl.UnsafeEnabled {
3497 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[31]
3498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3499 ms.StoreMessageInfo(mi)
3500 }
3501 }
3502
3503 func (x *ToolResultsHistory) String() string {
3504 return protoimpl.X.MessageStringOf(x)
3505 }
3506
3507 func (*ToolResultsHistory) ProtoMessage() {}
3508
3509 func (x *ToolResultsHistory) ProtoReflect() protoreflect.Message {
3510 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[31]
3511 if protoimpl.UnsafeEnabled && x != nil {
3512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3513 if ms.LoadMessageInfo() == nil {
3514 ms.StoreMessageInfo(mi)
3515 }
3516 return ms
3517 }
3518 return mi.MessageOf(x)
3519 }
3520
3521
3522 func (*ToolResultsHistory) Descriptor() ([]byte, []int) {
3523 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{31}
3524 }
3525
3526 func (x *ToolResultsHistory) GetProjectId() string {
3527 if x != nil {
3528 return x.ProjectId
3529 }
3530 return ""
3531 }
3532
3533 func (x *ToolResultsHistory) GetHistoryId() string {
3534 if x != nil {
3535 return x.HistoryId
3536 }
3537 return ""
3538 }
3539
3540
3541
3542
3543 type ToolResultsExecution struct {
3544 state protoimpl.MessageState
3545 sizeCache protoimpl.SizeCache
3546 unknownFields protoimpl.UnknownFields
3547
3548
3549 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
3550
3551 HistoryId string `protobuf:"bytes,2,opt,name=history_id,json=historyId,proto3" json:"history_id,omitempty"`
3552
3553 ExecutionId string `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
3554 }
3555
3556 func (x *ToolResultsExecution) Reset() {
3557 *x = ToolResultsExecution{}
3558 if protoimpl.UnsafeEnabled {
3559 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[32]
3560 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3561 ms.StoreMessageInfo(mi)
3562 }
3563 }
3564
3565 func (x *ToolResultsExecution) String() string {
3566 return protoimpl.X.MessageStringOf(x)
3567 }
3568
3569 func (*ToolResultsExecution) ProtoMessage() {}
3570
3571 func (x *ToolResultsExecution) ProtoReflect() protoreflect.Message {
3572 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[32]
3573 if protoimpl.UnsafeEnabled && x != nil {
3574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3575 if ms.LoadMessageInfo() == nil {
3576 ms.StoreMessageInfo(mi)
3577 }
3578 return ms
3579 }
3580 return mi.MessageOf(x)
3581 }
3582
3583
3584 func (*ToolResultsExecution) Descriptor() ([]byte, []int) {
3585 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{32}
3586 }
3587
3588 func (x *ToolResultsExecution) GetProjectId() string {
3589 if x != nil {
3590 return x.ProjectId
3591 }
3592 return ""
3593 }
3594
3595 func (x *ToolResultsExecution) GetHistoryId() string {
3596 if x != nil {
3597 return x.HistoryId
3598 }
3599 return ""
3600 }
3601
3602 func (x *ToolResultsExecution) GetExecutionId() string {
3603 if x != nil {
3604 return x.ExecutionId
3605 }
3606 return ""
3607 }
3608
3609
3610
3611
3612 type ToolResultsStep struct {
3613 state protoimpl.MessageState
3614 sizeCache protoimpl.SizeCache
3615 unknownFields protoimpl.UnknownFields
3616
3617
3618 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
3619
3620 HistoryId string `protobuf:"bytes,2,opt,name=history_id,json=historyId,proto3" json:"history_id,omitempty"`
3621
3622 ExecutionId string `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
3623
3624 StepId string `protobuf:"bytes,4,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
3625 }
3626
3627 func (x *ToolResultsStep) Reset() {
3628 *x = ToolResultsStep{}
3629 if protoimpl.UnsafeEnabled {
3630 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[33]
3631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3632 ms.StoreMessageInfo(mi)
3633 }
3634 }
3635
3636 func (x *ToolResultsStep) String() string {
3637 return protoimpl.X.MessageStringOf(x)
3638 }
3639
3640 func (*ToolResultsStep) ProtoMessage() {}
3641
3642 func (x *ToolResultsStep) ProtoReflect() protoreflect.Message {
3643 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[33]
3644 if protoimpl.UnsafeEnabled && x != nil {
3645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3646 if ms.LoadMessageInfo() == nil {
3647 ms.StoreMessageInfo(mi)
3648 }
3649 return ms
3650 }
3651 return mi.MessageOf(x)
3652 }
3653
3654
3655 func (*ToolResultsStep) Descriptor() ([]byte, []int) {
3656 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{33}
3657 }
3658
3659 func (x *ToolResultsStep) GetProjectId() string {
3660 if x != nil {
3661 return x.ProjectId
3662 }
3663 return ""
3664 }
3665
3666 func (x *ToolResultsStep) GetHistoryId() string {
3667 if x != nil {
3668 return x.HistoryId
3669 }
3670 return ""
3671 }
3672
3673 func (x *ToolResultsStep) GetExecutionId() string {
3674 if x != nil {
3675 return x.ExecutionId
3676 }
3677 return ""
3678 }
3679
3680 func (x *ToolResultsStep) GetStepId() string {
3681 if x != nil {
3682 return x.StepId
3683 }
3684 return ""
3685 }
3686
3687
3688 type GoogleCloudStorage struct {
3689 state protoimpl.MessageState
3690 sizeCache protoimpl.SizeCache
3691 unknownFields protoimpl.UnknownFields
3692
3693
3694
3695
3696
3697 GcsPath string `protobuf:"bytes,1,opt,name=gcs_path,json=gcsPath,proto3" json:"gcs_path,omitempty"`
3698 }
3699
3700 func (x *GoogleCloudStorage) Reset() {
3701 *x = GoogleCloudStorage{}
3702 if protoimpl.UnsafeEnabled {
3703 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[34]
3704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3705 ms.StoreMessageInfo(mi)
3706 }
3707 }
3708
3709 func (x *GoogleCloudStorage) String() string {
3710 return protoimpl.X.MessageStringOf(x)
3711 }
3712
3713 func (*GoogleCloudStorage) ProtoMessage() {}
3714
3715 func (x *GoogleCloudStorage) ProtoReflect() protoreflect.Message {
3716 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[34]
3717 if protoimpl.UnsafeEnabled && x != nil {
3718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3719 if ms.LoadMessageInfo() == nil {
3720 ms.StoreMessageInfo(mi)
3721 }
3722 return ms
3723 }
3724 return mi.MessageOf(x)
3725 }
3726
3727
3728 func (*GoogleCloudStorage) Descriptor() ([]byte, []int) {
3729 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{34}
3730 }
3731
3732 func (x *GoogleCloudStorage) GetGcsPath() string {
3733 if x != nil {
3734 return x.GcsPath
3735 }
3736 return ""
3737 }
3738
3739
3740 type FileReference struct {
3741 state protoimpl.MessageState
3742 sizeCache protoimpl.SizeCache
3743 unknownFields protoimpl.UnknownFields
3744
3745
3746
3747
3748
3749
3750 File isFileReference_File `protobuf_oneof:"file"`
3751 }
3752
3753 func (x *FileReference) Reset() {
3754 *x = FileReference{}
3755 if protoimpl.UnsafeEnabled {
3756 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[35]
3757 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3758 ms.StoreMessageInfo(mi)
3759 }
3760 }
3761
3762 func (x *FileReference) String() string {
3763 return protoimpl.X.MessageStringOf(x)
3764 }
3765
3766 func (*FileReference) ProtoMessage() {}
3767
3768 func (x *FileReference) ProtoReflect() protoreflect.Message {
3769 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[35]
3770 if protoimpl.UnsafeEnabled && x != nil {
3771 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3772 if ms.LoadMessageInfo() == nil {
3773 ms.StoreMessageInfo(mi)
3774 }
3775 return ms
3776 }
3777 return mi.MessageOf(x)
3778 }
3779
3780
3781 func (*FileReference) Descriptor() ([]byte, []int) {
3782 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{35}
3783 }
3784
3785 func (m *FileReference) GetFile() isFileReference_File {
3786 if m != nil {
3787 return m.File
3788 }
3789 return nil
3790 }
3791
3792 func (x *FileReference) GetGcsPath() string {
3793 if x, ok := x.GetFile().(*FileReference_GcsPath); ok {
3794 return x.GcsPath
3795 }
3796 return ""
3797 }
3798
3799 type isFileReference_File interface {
3800 isFileReference_File()
3801 }
3802
3803 type FileReference_GcsPath struct {
3804
3805
3806
3807 GcsPath string `protobuf:"bytes,1,opt,name=gcs_path,json=gcsPath,proto3,oneof"`
3808 }
3809
3810 func (*FileReference_GcsPath) isFileReference_File() {}
3811
3812
3813 type Environment struct {
3814 state protoimpl.MessageState
3815 sizeCache protoimpl.SizeCache
3816 unknownFields protoimpl.UnknownFields
3817
3818
3819
3820
3821
3822
3823
3824 Environment isEnvironment_Environment `protobuf_oneof:"environment"`
3825 }
3826
3827 func (x *Environment) Reset() {
3828 *x = Environment{}
3829 if protoimpl.UnsafeEnabled {
3830 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[36]
3831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3832 ms.StoreMessageInfo(mi)
3833 }
3834 }
3835
3836 func (x *Environment) String() string {
3837 return protoimpl.X.MessageStringOf(x)
3838 }
3839
3840 func (*Environment) ProtoMessage() {}
3841
3842 func (x *Environment) ProtoReflect() protoreflect.Message {
3843 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[36]
3844 if protoimpl.UnsafeEnabled && x != nil {
3845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3846 if ms.LoadMessageInfo() == nil {
3847 ms.StoreMessageInfo(mi)
3848 }
3849 return ms
3850 }
3851 return mi.MessageOf(x)
3852 }
3853
3854
3855 func (*Environment) Descriptor() ([]byte, []int) {
3856 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{36}
3857 }
3858
3859 func (m *Environment) GetEnvironment() isEnvironment_Environment {
3860 if m != nil {
3861 return m.Environment
3862 }
3863 return nil
3864 }
3865
3866 func (x *Environment) GetAndroidDevice() *AndroidDevice {
3867 if x, ok := x.GetEnvironment().(*Environment_AndroidDevice); ok {
3868 return x.AndroidDevice
3869 }
3870 return nil
3871 }
3872
3873 func (x *Environment) GetIosDevice() *IosDevice {
3874 if x, ok := x.GetEnvironment().(*Environment_IosDevice); ok {
3875 return x.IosDevice
3876 }
3877 return nil
3878 }
3879
3880 type isEnvironment_Environment interface {
3881 isEnvironment_Environment()
3882 }
3883
3884 type Environment_AndroidDevice struct {
3885
3886 AndroidDevice *AndroidDevice `protobuf:"bytes,1,opt,name=android_device,json=androidDevice,proto3,oneof"`
3887 }
3888
3889 type Environment_IosDevice struct {
3890
3891 IosDevice *IosDevice `protobuf:"bytes,2,opt,name=ios_device,json=iosDevice,proto3,oneof"`
3892 }
3893
3894 func (*Environment_AndroidDevice) isEnvironment_Environment() {}
3895
3896 func (*Environment_IosDevice) isEnvironment_Environment() {}
3897
3898
3899 type AndroidDevice struct {
3900 state protoimpl.MessageState
3901 sizeCache protoimpl.SizeCache
3902 unknownFields protoimpl.UnknownFields
3903
3904
3905
3906 AndroidModelId string `protobuf:"bytes,1,opt,name=android_model_id,json=androidModelId,proto3" json:"android_model_id,omitempty"`
3907
3908
3909 AndroidVersionId string `protobuf:"bytes,2,opt,name=android_version_id,json=androidVersionId,proto3" json:"android_version_id,omitempty"`
3910
3911
3912 Locale string `protobuf:"bytes,3,opt,name=locale,proto3" json:"locale,omitempty"`
3913
3914
3915 Orientation string `protobuf:"bytes,4,opt,name=orientation,proto3" json:"orientation,omitempty"`
3916 }
3917
3918 func (x *AndroidDevice) Reset() {
3919 *x = AndroidDevice{}
3920 if protoimpl.UnsafeEnabled {
3921 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[37]
3922 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3923 ms.StoreMessageInfo(mi)
3924 }
3925 }
3926
3927 func (x *AndroidDevice) String() string {
3928 return protoimpl.X.MessageStringOf(x)
3929 }
3930
3931 func (*AndroidDevice) ProtoMessage() {}
3932
3933 func (x *AndroidDevice) ProtoReflect() protoreflect.Message {
3934 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[37]
3935 if protoimpl.UnsafeEnabled && x != nil {
3936 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3937 if ms.LoadMessageInfo() == nil {
3938 ms.StoreMessageInfo(mi)
3939 }
3940 return ms
3941 }
3942 return mi.MessageOf(x)
3943 }
3944
3945
3946 func (*AndroidDevice) Descriptor() ([]byte, []int) {
3947 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{37}
3948 }
3949
3950 func (x *AndroidDevice) GetAndroidModelId() string {
3951 if x != nil {
3952 return x.AndroidModelId
3953 }
3954 return ""
3955 }
3956
3957 func (x *AndroidDevice) GetAndroidVersionId() string {
3958 if x != nil {
3959 return x.AndroidVersionId
3960 }
3961 return ""
3962 }
3963
3964 func (x *AndroidDevice) GetLocale() string {
3965 if x != nil {
3966 return x.Locale
3967 }
3968 return ""
3969 }
3970
3971 func (x *AndroidDevice) GetOrientation() string {
3972 if x != nil {
3973 return x.Orientation
3974 }
3975 return ""
3976 }
3977
3978
3979 type IosDevice struct {
3980 state protoimpl.MessageState
3981 sizeCache protoimpl.SizeCache
3982 unknownFields protoimpl.UnknownFields
3983
3984
3985
3986 IosModelId string `protobuf:"bytes,1,opt,name=ios_model_id,json=iosModelId,proto3" json:"ios_model_id,omitempty"`
3987
3988
3989 IosVersionId string `protobuf:"bytes,2,opt,name=ios_version_id,json=iosVersionId,proto3" json:"ios_version_id,omitempty"`
3990
3991
3992 Locale string `protobuf:"bytes,3,opt,name=locale,proto3" json:"locale,omitempty"`
3993
3994
3995 Orientation string `protobuf:"bytes,4,opt,name=orientation,proto3" json:"orientation,omitempty"`
3996 }
3997
3998 func (x *IosDevice) Reset() {
3999 *x = IosDevice{}
4000 if protoimpl.UnsafeEnabled {
4001 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[38]
4002 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4003 ms.StoreMessageInfo(mi)
4004 }
4005 }
4006
4007 func (x *IosDevice) String() string {
4008 return protoimpl.X.MessageStringOf(x)
4009 }
4010
4011 func (*IosDevice) ProtoMessage() {}
4012
4013 func (x *IosDevice) ProtoReflect() protoreflect.Message {
4014 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[38]
4015 if protoimpl.UnsafeEnabled && x != nil {
4016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4017 if ms.LoadMessageInfo() == nil {
4018 ms.StoreMessageInfo(mi)
4019 }
4020 return ms
4021 }
4022 return mi.MessageOf(x)
4023 }
4024
4025
4026 func (*IosDevice) Descriptor() ([]byte, []int) {
4027 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{38}
4028 }
4029
4030 func (x *IosDevice) GetIosModelId() string {
4031 if x != nil {
4032 return x.IosModelId
4033 }
4034 return ""
4035 }
4036
4037 func (x *IosDevice) GetIosVersionId() string {
4038 if x != nil {
4039 return x.IosVersionId
4040 }
4041 return ""
4042 }
4043
4044 func (x *IosDevice) GetLocale() string {
4045 if x != nil {
4046 return x.Locale
4047 }
4048 return ""
4049 }
4050
4051 func (x *IosDevice) GetOrientation() string {
4052 if x != nil {
4053 return x.Orientation
4054 }
4055 return ""
4056 }
4057
4058
4059 type TestDetails struct {
4060 state protoimpl.MessageState
4061 sizeCache protoimpl.SizeCache
4062 unknownFields protoimpl.UnknownFields
4063
4064
4065
4066
4067
4068
4069 ProgressMessages []string `protobuf:"bytes,3,rep,name=progress_messages,json=progressMessages,proto3" json:"progress_messages,omitempty"`
4070
4071
4072 ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
4073 }
4074
4075 func (x *TestDetails) Reset() {
4076 *x = TestDetails{}
4077 if protoimpl.UnsafeEnabled {
4078 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[39]
4079 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4080 ms.StoreMessageInfo(mi)
4081 }
4082 }
4083
4084 func (x *TestDetails) String() string {
4085 return protoimpl.X.MessageStringOf(x)
4086 }
4087
4088 func (*TestDetails) ProtoMessage() {}
4089
4090 func (x *TestDetails) ProtoReflect() protoreflect.Message {
4091 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[39]
4092 if protoimpl.UnsafeEnabled && x != nil {
4093 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4094 if ms.LoadMessageInfo() == nil {
4095 ms.StoreMessageInfo(mi)
4096 }
4097 return ms
4098 }
4099 return mi.MessageOf(x)
4100 }
4101
4102
4103 func (*TestDetails) Descriptor() ([]byte, []int) {
4104 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{39}
4105 }
4106
4107 func (x *TestDetails) GetProgressMessages() []string {
4108 if x != nil {
4109 return x.ProgressMessages
4110 }
4111 return nil
4112 }
4113
4114 func (x *TestDetails) GetErrorMessage() string {
4115 if x != nil {
4116 return x.ErrorMessage
4117 }
4118 return ""
4119 }
4120
4121
4122 type InvalidRequestDetail struct {
4123 state protoimpl.MessageState
4124 sizeCache protoimpl.SizeCache
4125 unknownFields protoimpl.UnknownFields
4126
4127
4128 Reason InvalidRequestDetail_Reason `protobuf:"varint,1,opt,name=reason,proto3,enum=google.devtools.testing.v1.InvalidRequestDetail_Reason" json:"reason,omitempty"`
4129 }
4130
4131 func (x *InvalidRequestDetail) Reset() {
4132 *x = InvalidRequestDetail{}
4133 if protoimpl.UnsafeEnabled {
4134 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[40]
4135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4136 ms.StoreMessageInfo(mi)
4137 }
4138 }
4139
4140 func (x *InvalidRequestDetail) String() string {
4141 return protoimpl.X.MessageStringOf(x)
4142 }
4143
4144 func (*InvalidRequestDetail) ProtoMessage() {}
4145
4146 func (x *InvalidRequestDetail) ProtoReflect() protoreflect.Message {
4147 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[40]
4148 if protoimpl.UnsafeEnabled && x != nil {
4149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4150 if ms.LoadMessageInfo() == nil {
4151 ms.StoreMessageInfo(mi)
4152 }
4153 return ms
4154 }
4155 return mi.MessageOf(x)
4156 }
4157
4158
4159 func (*InvalidRequestDetail) Descriptor() ([]byte, []int) {
4160 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{40}
4161 }
4162
4163 func (x *InvalidRequestDetail) GetReason() InvalidRequestDetail_Reason {
4164 if x != nil {
4165 return x.Reason
4166 }
4167 return InvalidRequestDetail_REASON_UNSPECIFIED
4168 }
4169
4170
4171 type ShardingOption struct {
4172 state protoimpl.MessageState
4173 sizeCache protoimpl.SizeCache
4174 unknownFields protoimpl.UnknownFields
4175
4176
4177
4178
4179
4180 Option isShardingOption_Option `protobuf_oneof:"option"`
4181 }
4182
4183 func (x *ShardingOption) Reset() {
4184 *x = ShardingOption{}
4185 if protoimpl.UnsafeEnabled {
4186 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[41]
4187 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4188 ms.StoreMessageInfo(mi)
4189 }
4190 }
4191
4192 func (x *ShardingOption) String() string {
4193 return protoimpl.X.MessageStringOf(x)
4194 }
4195
4196 func (*ShardingOption) ProtoMessage() {}
4197
4198 func (x *ShardingOption) ProtoReflect() protoreflect.Message {
4199 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[41]
4200 if protoimpl.UnsafeEnabled && x != nil {
4201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4202 if ms.LoadMessageInfo() == nil {
4203 ms.StoreMessageInfo(mi)
4204 }
4205 return ms
4206 }
4207 return mi.MessageOf(x)
4208 }
4209
4210
4211 func (*ShardingOption) Descriptor() ([]byte, []int) {
4212 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{41}
4213 }
4214
4215 func (m *ShardingOption) GetOption() isShardingOption_Option {
4216 if m != nil {
4217 return m.Option
4218 }
4219 return nil
4220 }
4221
4222 func (x *ShardingOption) GetUniformSharding() *UniformSharding {
4223 if x, ok := x.GetOption().(*ShardingOption_UniformSharding); ok {
4224 return x.UniformSharding
4225 }
4226 return nil
4227 }
4228
4229 func (x *ShardingOption) GetManualSharding() *ManualSharding {
4230 if x, ok := x.GetOption().(*ShardingOption_ManualSharding); ok {
4231 return x.ManualSharding
4232 }
4233 return nil
4234 }
4235
4236 type isShardingOption_Option interface {
4237 isShardingOption_Option()
4238 }
4239
4240 type ShardingOption_UniformSharding struct {
4241
4242 UniformSharding *UniformSharding `protobuf:"bytes,1,opt,name=uniform_sharding,json=uniformSharding,proto3,oneof"`
4243 }
4244
4245 type ShardingOption_ManualSharding struct {
4246
4247
4248 ManualSharding *ManualSharding `protobuf:"bytes,2,opt,name=manual_sharding,json=manualSharding,proto3,oneof"`
4249 }
4250
4251 func (*ShardingOption_UniformSharding) isShardingOption_Option() {}
4252
4253 func (*ShardingOption_ManualSharding) isShardingOption_Option() {}
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264 type UniformSharding struct {
4265 state protoimpl.MessageState
4266 sizeCache protoimpl.SizeCache
4267 unknownFields protoimpl.UnknownFields
4268
4269
4270
4271
4272
4273
4274 NumShards int32 `protobuf:"varint,1,opt,name=num_shards,json=numShards,proto3" json:"num_shards,omitempty"`
4275 }
4276
4277 func (x *UniformSharding) Reset() {
4278 *x = UniformSharding{}
4279 if protoimpl.UnsafeEnabled {
4280 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[42]
4281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4282 ms.StoreMessageInfo(mi)
4283 }
4284 }
4285
4286 func (x *UniformSharding) String() string {
4287 return protoimpl.X.MessageStringOf(x)
4288 }
4289
4290 func (*UniformSharding) ProtoMessage() {}
4291
4292 func (x *UniformSharding) ProtoReflect() protoreflect.Message {
4293 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[42]
4294 if protoimpl.UnsafeEnabled && x != nil {
4295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4296 if ms.LoadMessageInfo() == nil {
4297 ms.StoreMessageInfo(mi)
4298 }
4299 return ms
4300 }
4301 return mi.MessageOf(x)
4302 }
4303
4304
4305 func (*UniformSharding) Descriptor() ([]byte, []int) {
4306 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{42}
4307 }
4308
4309 func (x *UniformSharding) GetNumShards() int32 {
4310 if x != nil {
4311 return x.NumShards
4312 }
4313 return 0
4314 }
4315
4316
4317
4318
4319
4320
4321 type ManualSharding struct {
4322 state protoimpl.MessageState
4323 sizeCache protoimpl.SizeCache
4324 unknownFields protoimpl.UnknownFields
4325
4326
4327
4328
4329
4330
4331
4332 TestTargetsForShard []*TestTargetsForShard `protobuf:"bytes,1,rep,name=test_targets_for_shard,json=testTargetsForShard,proto3" json:"test_targets_for_shard,omitempty"`
4333 }
4334
4335 func (x *ManualSharding) Reset() {
4336 *x = ManualSharding{}
4337 if protoimpl.UnsafeEnabled {
4338 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[43]
4339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4340 ms.StoreMessageInfo(mi)
4341 }
4342 }
4343
4344 func (x *ManualSharding) String() string {
4345 return protoimpl.X.MessageStringOf(x)
4346 }
4347
4348 func (*ManualSharding) ProtoMessage() {}
4349
4350 func (x *ManualSharding) ProtoReflect() protoreflect.Message {
4351 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[43]
4352 if protoimpl.UnsafeEnabled && x != nil {
4353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4354 if ms.LoadMessageInfo() == nil {
4355 ms.StoreMessageInfo(mi)
4356 }
4357 return ms
4358 }
4359 return mi.MessageOf(x)
4360 }
4361
4362
4363 func (*ManualSharding) Descriptor() ([]byte, []int) {
4364 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{43}
4365 }
4366
4367 func (x *ManualSharding) GetTestTargetsForShard() []*TestTargetsForShard {
4368 if x != nil {
4369 return x.TestTargetsForShard
4370 }
4371 return nil
4372 }
4373
4374
4375 type TestTargetsForShard struct {
4376 state protoimpl.MessageState
4377 sizeCache protoimpl.SizeCache
4378 unknownFields protoimpl.UnknownFields
4379
4380
4381
4382
4383
4384
4385 TestTargets []string `protobuf:"bytes,1,rep,name=test_targets,json=testTargets,proto3" json:"test_targets,omitempty"`
4386 }
4387
4388 func (x *TestTargetsForShard) Reset() {
4389 *x = TestTargetsForShard{}
4390 if protoimpl.UnsafeEnabled {
4391 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[44]
4392 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4393 ms.StoreMessageInfo(mi)
4394 }
4395 }
4396
4397 func (x *TestTargetsForShard) String() string {
4398 return protoimpl.X.MessageStringOf(x)
4399 }
4400
4401 func (*TestTargetsForShard) ProtoMessage() {}
4402
4403 func (x *TestTargetsForShard) ProtoReflect() protoreflect.Message {
4404 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[44]
4405 if protoimpl.UnsafeEnabled && x != nil {
4406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4407 if ms.LoadMessageInfo() == nil {
4408 ms.StoreMessageInfo(mi)
4409 }
4410 return ms
4411 }
4412 return mi.MessageOf(x)
4413 }
4414
4415
4416 func (*TestTargetsForShard) Descriptor() ([]byte, []int) {
4417 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{44}
4418 }
4419
4420 func (x *TestTargetsForShard) GetTestTargets() []string {
4421 if x != nil {
4422 return x.TestTargets
4423 }
4424 return nil
4425 }
4426
4427
4428 type Shard struct {
4429 state protoimpl.MessageState
4430 sizeCache protoimpl.SizeCache
4431 unknownFields protoimpl.UnknownFields
4432
4433
4434 ShardIndex int32 `protobuf:"varint,1,opt,name=shard_index,json=shardIndex,proto3" json:"shard_index,omitempty"`
4435
4436 NumShards int32 `protobuf:"varint,2,opt,name=num_shards,json=numShards,proto3" json:"num_shards,omitempty"`
4437
4438 TestTargetsForShard *TestTargetsForShard `protobuf:"bytes,3,opt,name=test_targets_for_shard,json=testTargetsForShard,proto3" json:"test_targets_for_shard,omitempty"`
4439 }
4440
4441 func (x *Shard) Reset() {
4442 *x = Shard{}
4443 if protoimpl.UnsafeEnabled {
4444 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[45]
4445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4446 ms.StoreMessageInfo(mi)
4447 }
4448 }
4449
4450 func (x *Shard) String() string {
4451 return protoimpl.X.MessageStringOf(x)
4452 }
4453
4454 func (*Shard) ProtoMessage() {}
4455
4456 func (x *Shard) ProtoReflect() protoreflect.Message {
4457 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[45]
4458 if protoimpl.UnsafeEnabled && x != nil {
4459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4460 if ms.LoadMessageInfo() == nil {
4461 ms.StoreMessageInfo(mi)
4462 }
4463 return ms
4464 }
4465 return mi.MessageOf(x)
4466 }
4467
4468
4469 func (*Shard) Descriptor() ([]byte, []int) {
4470 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{45}
4471 }
4472
4473 func (x *Shard) GetShardIndex() int32 {
4474 if x != nil {
4475 return x.ShardIndex
4476 }
4477 return 0
4478 }
4479
4480 func (x *Shard) GetNumShards() int32 {
4481 if x != nil {
4482 return x.NumShards
4483 }
4484 return 0
4485 }
4486
4487 func (x *Shard) GetTestTargetsForShard() *TestTargetsForShard {
4488 if x != nil {
4489 return x.TestTargetsForShard
4490 }
4491 return nil
4492 }
4493
4494
4495 type CreateTestMatrixRequest struct {
4496 state protoimpl.MessageState
4497 sizeCache protoimpl.SizeCache
4498 unknownFields protoimpl.UnknownFields
4499
4500
4501 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
4502
4503 TestMatrix *TestMatrix `protobuf:"bytes,2,opt,name=test_matrix,json=testMatrix,proto3" json:"test_matrix,omitempty"`
4504
4505
4506
4507
4508
4509
4510 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
4511 }
4512
4513 func (x *CreateTestMatrixRequest) Reset() {
4514 *x = CreateTestMatrixRequest{}
4515 if protoimpl.UnsafeEnabled {
4516 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[46]
4517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4518 ms.StoreMessageInfo(mi)
4519 }
4520 }
4521
4522 func (x *CreateTestMatrixRequest) String() string {
4523 return protoimpl.X.MessageStringOf(x)
4524 }
4525
4526 func (*CreateTestMatrixRequest) ProtoMessage() {}
4527
4528 func (x *CreateTestMatrixRequest) ProtoReflect() protoreflect.Message {
4529 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[46]
4530 if protoimpl.UnsafeEnabled && x != nil {
4531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4532 if ms.LoadMessageInfo() == nil {
4533 ms.StoreMessageInfo(mi)
4534 }
4535 return ms
4536 }
4537 return mi.MessageOf(x)
4538 }
4539
4540
4541 func (*CreateTestMatrixRequest) Descriptor() ([]byte, []int) {
4542 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{46}
4543 }
4544
4545 func (x *CreateTestMatrixRequest) GetProjectId() string {
4546 if x != nil {
4547 return x.ProjectId
4548 }
4549 return ""
4550 }
4551
4552 func (x *CreateTestMatrixRequest) GetTestMatrix() *TestMatrix {
4553 if x != nil {
4554 return x.TestMatrix
4555 }
4556 return nil
4557 }
4558
4559 func (x *CreateTestMatrixRequest) GetRequestId() string {
4560 if x != nil {
4561 return x.RequestId
4562 }
4563 return ""
4564 }
4565
4566
4567 type GetTestMatrixRequest struct {
4568 state protoimpl.MessageState
4569 sizeCache protoimpl.SizeCache
4570 unknownFields protoimpl.UnknownFields
4571
4572
4573 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
4574
4575 TestMatrixId string `protobuf:"bytes,2,opt,name=test_matrix_id,json=testMatrixId,proto3" json:"test_matrix_id,omitempty"`
4576 }
4577
4578 func (x *GetTestMatrixRequest) Reset() {
4579 *x = GetTestMatrixRequest{}
4580 if protoimpl.UnsafeEnabled {
4581 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[47]
4582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4583 ms.StoreMessageInfo(mi)
4584 }
4585 }
4586
4587 func (x *GetTestMatrixRequest) String() string {
4588 return protoimpl.X.MessageStringOf(x)
4589 }
4590
4591 func (*GetTestMatrixRequest) ProtoMessage() {}
4592
4593 func (x *GetTestMatrixRequest) ProtoReflect() protoreflect.Message {
4594 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[47]
4595 if protoimpl.UnsafeEnabled && x != nil {
4596 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4597 if ms.LoadMessageInfo() == nil {
4598 ms.StoreMessageInfo(mi)
4599 }
4600 return ms
4601 }
4602 return mi.MessageOf(x)
4603 }
4604
4605
4606 func (*GetTestMatrixRequest) Descriptor() ([]byte, []int) {
4607 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{47}
4608 }
4609
4610 func (x *GetTestMatrixRequest) GetProjectId() string {
4611 if x != nil {
4612 return x.ProjectId
4613 }
4614 return ""
4615 }
4616
4617 func (x *GetTestMatrixRequest) GetTestMatrixId() string {
4618 if x != nil {
4619 return x.TestMatrixId
4620 }
4621 return ""
4622 }
4623
4624
4625 type CancelTestMatrixRequest struct {
4626 state protoimpl.MessageState
4627 sizeCache protoimpl.SizeCache
4628 unknownFields protoimpl.UnknownFields
4629
4630
4631 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
4632
4633 TestMatrixId string `protobuf:"bytes,2,opt,name=test_matrix_id,json=testMatrixId,proto3" json:"test_matrix_id,omitempty"`
4634 }
4635
4636 func (x *CancelTestMatrixRequest) Reset() {
4637 *x = CancelTestMatrixRequest{}
4638 if protoimpl.UnsafeEnabled {
4639 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[48]
4640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4641 ms.StoreMessageInfo(mi)
4642 }
4643 }
4644
4645 func (x *CancelTestMatrixRequest) String() string {
4646 return protoimpl.X.MessageStringOf(x)
4647 }
4648
4649 func (*CancelTestMatrixRequest) ProtoMessage() {}
4650
4651 func (x *CancelTestMatrixRequest) ProtoReflect() protoreflect.Message {
4652 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[48]
4653 if protoimpl.UnsafeEnabled && x != nil {
4654 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4655 if ms.LoadMessageInfo() == nil {
4656 ms.StoreMessageInfo(mi)
4657 }
4658 return ms
4659 }
4660 return mi.MessageOf(x)
4661 }
4662
4663
4664 func (*CancelTestMatrixRequest) Descriptor() ([]byte, []int) {
4665 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{48}
4666 }
4667
4668 func (x *CancelTestMatrixRequest) GetProjectId() string {
4669 if x != nil {
4670 return x.ProjectId
4671 }
4672 return ""
4673 }
4674
4675 func (x *CancelTestMatrixRequest) GetTestMatrixId() string {
4676 if x != nil {
4677 return x.TestMatrixId
4678 }
4679 return ""
4680 }
4681
4682
4683 type CancelTestMatrixResponse struct {
4684 state protoimpl.MessageState
4685 sizeCache protoimpl.SizeCache
4686 unknownFields protoimpl.UnknownFields
4687
4688
4689
4690
4691 TestState TestState `protobuf:"varint,1,opt,name=test_state,json=testState,proto3,enum=google.devtools.testing.v1.TestState" json:"test_state,omitempty"`
4692 }
4693
4694 func (x *CancelTestMatrixResponse) Reset() {
4695 *x = CancelTestMatrixResponse{}
4696 if protoimpl.UnsafeEnabled {
4697 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[49]
4698 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4699 ms.StoreMessageInfo(mi)
4700 }
4701 }
4702
4703 func (x *CancelTestMatrixResponse) String() string {
4704 return protoimpl.X.MessageStringOf(x)
4705 }
4706
4707 func (*CancelTestMatrixResponse) ProtoMessage() {}
4708
4709 func (x *CancelTestMatrixResponse) ProtoReflect() protoreflect.Message {
4710 mi := &file_google_devtools_testing_v1_test_execution_proto_msgTypes[49]
4711 if protoimpl.UnsafeEnabled && x != nil {
4712 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4713 if ms.LoadMessageInfo() == nil {
4714 ms.StoreMessageInfo(mi)
4715 }
4716 return ms
4717 }
4718 return mi.MessageOf(x)
4719 }
4720
4721
4722 func (*CancelTestMatrixResponse) Descriptor() ([]byte, []int) {
4723 return file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP(), []int{49}
4724 }
4725
4726 func (x *CancelTestMatrixResponse) GetTestState() TestState {
4727 if x != nil {
4728 return x.TestState
4729 }
4730 return TestState_TEST_STATE_UNSPECIFIED
4731 }
4732
4733 var File_google_devtools_testing_v1_test_execution_proto protoreflect.FileDescriptor
4734
4735 var file_google_devtools_testing_v1_test_execution_proto_rawDesc = []byte{
4736 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
4737 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73,
4738 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4739 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
4740 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67,
4741 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4742 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
4743 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
4744 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
4745 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
4746 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
4747 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
4748 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
4749 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
4750 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x06, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4d,
4751 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61,
4752 0x74, 0x72, 0x69, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74,
4753 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
4754 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
4755 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x6c,
4756 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
4757 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
4758 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69,
4759 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49,
4760 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x12, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63,
4761 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4762 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
4763 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
4764 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11,
4765 0x74, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
4766 0x6e, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
4767 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
4768 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
4769 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72,
4770 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x11, 0x65, 0x6e,
4771 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12,
4772 0x52, 0x0a, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
4773 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4774 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
4775 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
4776 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69,
4777 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74,
4778 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
4779 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
4780 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53,
4781 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74,
4782 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08,
4783 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
4784 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
4785 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
4786 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
4787 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
4788 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
4789 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x66, 0x0a, 0x16,
4790 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x64,
4791 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67,
4792 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
4793 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69,
4794 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x14,
4795 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x65, 0x74,
4796 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x61, 0x6b, 0x79, 0x5f, 0x74, 0x65,
4797 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
4798 0x05, 0x52, 0x11, 0x66, 0x6c, 0x61, 0x6b, 0x79, 0x54, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65,
4799 0x6d, 0x70, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f,
4800 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e,
4801 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
4802 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f,
4803 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x63, 0x6f,
4804 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69,
4805 0x6c, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61,
4806 0x69, 0x6c, 0x46, 0x61, 0x73, 0x74, 0x22, 0xd9, 0x04, 0x0a, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x45,
4807 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
4808 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x72,
4809 0x69, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x74,
4810 0x72, 0x69, 0x78, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
4811 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
4812 0x63, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x12, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65,
4813 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
4814 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
4815 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
4816 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
4817 0x11, 0x74, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
4818 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
4819 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
4820 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4821 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x49, 0x0a, 0x0b, 0x65,
4822 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
4823 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
4824 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e,
4825 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72,
4826 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
4827 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
4828 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
4829 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
4830 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75,
4831 0x6c, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
4832 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
4833 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c,
4834 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0f, 0x74, 0x6f, 0x6f,
4835 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x74, 0x65, 0x70, 0x12, 0x38, 0x0a, 0x09,
4836 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
4837 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4838 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d,
4839 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64,
4840 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
4841 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
4842 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65,
4843 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69,
4844 0x6c, 0x73, 0x22, 0xbe, 0x06, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69,
4845 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74,
4846 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
4847 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4848 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x54,
4849 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73,
4850 0x65, 0x74, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
4851 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
4852 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75,
4853 0x70, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x50,
4854 0x0a, 0x0e, 0x69, 0x6f, 0x73, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70,
4855 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4856 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
4857 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70,
4858 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70,
4859 0x12, 0x7a, 0x0a, 0x1c, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74,
4860 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x73, 0x74,
4861 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4862 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
4863 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x72,
4864 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x48, 0x01,
4865 0x52, 0x1a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d,
4866 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x11,
4867 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x5f, 0x74, 0x65, 0x73,
4868 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4869 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
4870 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x6f, 0x62, 0x6f,
4871 0x54, 0x65, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52,
4872 0x6f, 0x62, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x11, 0x61, 0x6e, 0x64, 0x72, 0x6f,
4873 0x69, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x09, 0x20, 0x01,
4874 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
4875 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
4876 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x6f, 0x70, 0x48,
4877 0x01, 0x52, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f,
4878 0x6f, 0x70, 0x12, 0x47, 0x0a, 0x0b, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x63, 0x5f, 0x74, 0x65, 0x73,
4879 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4880 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
4881 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x58, 0x63, 0x54, 0x65, 0x73, 0x74, 0x48, 0x01,
4882 0x52, 0x09, 0x69, 0x6f, 0x73, 0x58, 0x63, 0x54, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x69,
4883 0x6f, 0x73, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x0f, 0x20, 0x01,
4884 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
4885 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
4886 0x49, 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x6f, 0x70, 0x48, 0x01, 0x52, 0x0b, 0x69,
4887 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69,
4888 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f,
4889 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73,
4890 0x61, 0x62, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69,
4891 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x65,
4892 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
4893 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
4894 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
4895 0x63, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x74,
4896 0x65, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x0d, 0x53, 0x79, 0x73, 0x74, 0x72, 0x61, 0x63, 0x65, 0x53,
4897 0x65, 0x74, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4898 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f,
4899 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22,
4900 0xa8, 0x04, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x4a, 0x0a,
4901 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x01,
4902 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
4903 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
4904 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x66, 0x69,
4905 0x6c, 0x65, 0x73, 0x54, 0x6f, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x72,
4906 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x6c, 0x6c,
4907 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,
4908 0x69, 0x65, 0x73, 0x54, 0x6f, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x48, 0x0a, 0x0f, 0x61, 0x64, 0x64,
4909 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03,
4910 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
4911 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
4912 0x41, 0x70, 0x6b, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41,
4913 0x70, 0x6b, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
4914 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
4915 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
4916 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
4917 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72,
4918 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74,
4919 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x65,
4920 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61,
4921 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
4922 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
4923 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
4924 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x14, 0x65, 0x6e, 0x76,
4925 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
4926 0x73, 0x12, 0x49, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20,
4927 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
4928 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
4929 0x2e, 0x53, 0x79, 0x73, 0x74, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x42, 0x02,
4930 0x18, 0x01, 0x52, 0x08, 0x73, 0x79, 0x73, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x1a,
4931 0x64, 0x6f, 0x6e, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x70,
4932 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08,
4933 0x52, 0x18, 0x64, 0x6f, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x50,
4934 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x0c, 0x49,
4935 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x6e,
4936 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01,
4937 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f,
4938 0x66, 0x69, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
4939 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e,
4940 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
4941 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52,
4942 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
4943 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x61, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68,
4944 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
4945 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
4946 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76,
4947 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x46, 0x69, 0x6c,
4948 0x65, 0x73, 0x12, 0x54, 0x0a, 0x10, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
4949 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
4950 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
4951 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76,
4952 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0f, 0x70, 0x75, 0x6c, 0x6c, 0x44, 0x69, 0x72,
4953 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x13, 0x45, 0x6e, 0x76, 0x69,
4954 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12,
4955 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
4956 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4957 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75,
4958 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74,
4959 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4960 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
4961 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x48,
4962 0x00, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x0e, 0x0a,
4963 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a,
4964 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x03, 0x41,
4965 0x70, 0x6b, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
4966 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
4967 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
4968 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52,
4969 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63,
4970 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
4971 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x09,
4972 0x41, 0x70, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x62, 0x75, 0x6e,
4973 0x64, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
4974 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
4975 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
4976 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52,
4977 0x0e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
4978 0x08, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0a, 0x44, 0x65,
4979 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6f, 0x62, 0x62, 0x5f,
4980 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
4981 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
4982 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x48,
4983 0x00, 0x52, 0x07, 0x6f, 0x62, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65,
4984 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
4985 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
4986 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
4987 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x67,
4988 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69,
4989 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x6a, 0x0a, 0x07, 0x4f, 0x62, 0x62, 0x46, 0x69,
4990 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x62, 0x62, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e,
4991 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x62, 0x62, 0x46, 0x69,
4992 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x03, 0x6f, 0x62, 0x62, 0x18, 0x02, 0x20,
4993 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
4994 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
4995 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03,
4996 0x6f, 0x62, 0x62, 0x22, 0x73, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69,
4997 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
4998 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
4999 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
5000 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07,
5001 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63,
5002 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65,
5003 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x92, 0x01, 0x0a, 0x0d, 0x49, 0x6f, 0x73,
5004 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f,
5005 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
5006 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
5007 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66,
5008 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
5009 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
5010 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
5011 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
5012 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9e, 0x02,
5013 0x0a, 0x0f, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x6f,
5014 0x70, 0x12, 0x44, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x61, 0x70, 0x6b, 0x18, 0x01, 0x20, 0x01,
5015 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
5016 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
5017 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52,
5018 0x06, 0x61, 0x70, 0x70, 0x41, 0x70, 0x6b, 0x12, 0x46, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x62,
5019 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
5020 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
5021 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x42, 0x75, 0x6e, 0x64,
5022 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12,
5023 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69,
5024 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x61, 0x63, 0x6b,
5025 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69,
5026 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72,
5027 0x69, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f,
5028 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63,
5029 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x10, 0x0a, 0x0e,
5030 0x61, 0x70, 0x70, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x22, 0xa1,
5031 0x02, 0x0a, 0x09, 0x49, 0x6f, 0x73, 0x58, 0x63, 0x54, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09,
5032 0x74, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x7a, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
5033 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5034 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c,
5035 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74,
5036 0x73, 0x5a, 0x69, 0x70, 0x12, 0x47, 0x0a, 0x09, 0x78, 0x63, 0x74, 0x65, 0x73, 0x74, 0x72, 0x75,
5037 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5038 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
5039 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
5040 0x63, 0x65, 0x52, 0x09, 0x78, 0x63, 0x74, 0x65, 0x73, 0x74, 0x72, 0x75, 0x6e, 0x12, 0x23, 0x0a,
5041 0x0d, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
5042 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
5043 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
5044 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x42, 0x75,
5045 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73,
5046 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65,
5047 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x74, 0x65, 0x73, 0x74, 0x53,
5048 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
5049 0x74, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x0b, 0x49, 0x6f, 0x73, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f,
5050 0x6f, 0x70, 0x12, 0x42, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x70, 0x61, 0x18, 0x01, 0x20,
5051 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
5052 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
5053 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06,
5054 0x61, 0x70, 0x70, 0x49, 0x70, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72,
5055 0x69, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61,
5056 0x72, 0x69, 0x6f, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64,
5057 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70,
5058 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xd5, 0x04, 0x0a, 0x1a, 0x41, 0x6e, 0x64,
5059 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74,
5060 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x61,
5061 0x70, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5062 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
5063 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
5064 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, 0x61, 0x70, 0x70, 0x41, 0x70, 0x6b, 0x12, 0x46, 0x0a,
5065 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
5066 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
5067 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41,
5068 0x70, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x42,
5069 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x70,
5070 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5071 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
5072 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
5073 0x63, 0x65, 0x52, 0x07, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x61,
5074 0x70, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
5075 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49,
5076 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
5077 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x73, 0x74,
5078 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x73,
5079 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05,
5080 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72,
5081 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x61,
5082 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x73,
5083 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x5f, 0x0a, 0x13, 0x6f, 0x72, 0x63, 0x68,
5084 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
5085 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
5086 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
5087 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4f,
5088 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61,
5089 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0f, 0x73, 0x68, 0x61,
5090 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01,
5091 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
5092 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
5093 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e,
5094 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10,
5095 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74,
5096 0x22, 0x89, 0x05, 0x0a, 0x0f, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x6f, 0x62, 0x6f,
5097 0x54, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x61, 0x70, 0x6b, 0x18,
5098 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
5099 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
5100 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
5101 0x48, 0x00, 0x52, 0x06, 0x61, 0x70, 0x70, 0x41, 0x70, 0x6b, 0x12, 0x46, 0x0a, 0x0a, 0x61, 0x70,
5102 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
5103 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
5104 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x42,
5105 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x42, 0x75, 0x6e, 0x64,
5106 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
5107 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50,
5108 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x5f,
5109 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
5110 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x69,
5111 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x09, 0x6d, 0x61,
5112 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18,
5113 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x09, 0x6d,
5114 0x61, 0x78, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02,
5115 0x18, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x52, 0x0a, 0x0f,
5116 0x72, 0x6f, 0x62, 0x6f, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18,
5117 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
5118 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
5119 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
5120 0x52, 0x0e, 0x72, 0x6f, 0x62, 0x6f, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73,
5121 0x12, 0x41, 0x0a, 0x09, 0x72, 0x6f, 0x62, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20,
5122 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
5123 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
5124 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x62, 0x6f, 0x4d,
5125 0x6f, 0x64, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x5f, 0x73, 0x63, 0x72, 0x69,
5126 0x70, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5127 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
5128 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
5129 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x6f, 0x62, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12,
5130 0x59, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65,
5131 0x6e, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5132 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
5133 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74,
5134 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74,
5135 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x61, 0x70,
5136 0x70, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x22, 0xa0, 0x01, 0x0a,
5137 0x0d, 0x52, 0x6f, 0x62, 0x6f, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23,
5138 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
5139 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e,
5140 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x78,
5141 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x65,
5142 0x78, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
5143 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5144 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
5145 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
5146 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22,
5147 0x99, 0x02, 0x0a, 0x12, 0x52, 0x6f, 0x62, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
5148 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x11, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68,
5149 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
5150 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
5151 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
5152 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
5153 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65,
5154 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x74, 0x61,
5155 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
5156 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
5157 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53,
5158 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x74, 0x65,
5159 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76,
5160 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03,
5161 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
5162 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
5163 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72,
5164 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x4c,
5165 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
5166 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63,
5167 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
5168 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63,
5169 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28,
5170 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
5171 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65,
5172 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x69, 0x72,
5173 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x52, 0x0a, 0x0e,
5174 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x01,
5175 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
5176 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
5177 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x48,
5178 0x00, 0x52, 0x0d, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78,
5179 0x12, 0x5f, 0x0a, 0x13, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69,
5180 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
5181 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
5182 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f,
5183 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11,
5184 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73,
5185 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, 0x6f, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
5186 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
5187 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
5188 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63,
5189 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69,
5190 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
5191 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x67, 0x0a, 0x11,
5192 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73,
5193 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x76,
5194 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
5195 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
5196 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44,
5197 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65,
5198 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x0d, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69,
5199 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x73, 0x5f, 0x64, 0x65,
5200 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
5201 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
5202 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69,
5203 0x63, 0x65, 0x52, 0x0a, 0x69, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xa9,
5204 0x01, 0x0a, 0x0d, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78,
5205 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
5206 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6e, 0x64,
5207 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x13,
5208 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
5209 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x6e, 0x64, 0x72, 0x6f,
5210 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07,
5211 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6c,
5212 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74,
5213 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72,
5214 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x43, 0x6c,
5215 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
5216 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x13,
5217 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x64, 0x65, 0x74, 0x61,
5218 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5219 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
5220 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
5221 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49,
5222 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x0a, 0x10, 0x43, 0x6c,
5223 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x10,
5224 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
5225 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
5226 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6c,
5227 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x14, 0x67, 0x6f, 0x6f, 0x67,
5228 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
5229 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
5230 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
5231 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53,
5232 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c,
5233 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x14, 0x74, 0x6f,
5234 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f,
5235 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5236 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
5237 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
5238 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65,
5239 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x66, 0x0a, 0x16,
5240 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65,
5241 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
5242 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
5243 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65,
5244 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14,
5245 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75,
5246 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
5247 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
5248 0x74, 0x73, 0x55, 0x72, 0x6c, 0x22, 0x52, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73,
5249 0x75, 0x6c, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
5250 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
5251 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69,
5252 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
5253 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x14, 0x54, 0x6f, 0x6f,
5254 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
5255 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
5256 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
5257 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
5258 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
5259 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
5260 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
5261 0x49, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x0f, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c,
5262 0x74, 0x73, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
5263 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
5264 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
5265 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f,
5266 0x72, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
5267 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63,
5268 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x70, 0x5f,
5269 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64,
5270 0x22, 0x2f, 0x0a, 0x12, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53,
5271 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61,
5272 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74,
5273 0x68, 0x22, 0x34, 0x0a, 0x0d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
5274 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01,
5275 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x42,
5276 0x06, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69,
5277 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
5278 0x69, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
5279 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5280 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64,
5281 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x6e,
5282 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x69,
5283 0x6f, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
5284 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5285 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73,
5286 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x69, 0x6f, 0x73, 0x44, 0x65, 0x76,
5287 0x69, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
5288 0x6e, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65,
5289 0x76, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f,
5290 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
5291 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2c,
5292 0x0a, 0x12, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
5293 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6e, 0x64, 0x72,
5294 0x6f, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
5295 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f,
5296 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,
5297 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e,
5298 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x09, 0x49, 0x6f, 0x73, 0x44, 0x65,
5299 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x6f, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
5300 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6f, 0x73, 0x4d,
5301 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6f, 0x73, 0x5f, 0x76, 0x65,
5302 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
5303 0x69, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
5304 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f,
5305 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,
5306 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e,
5307 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65,
5308 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
5309 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
5310 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
5311 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73,
5312 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72,
5313 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61,
5314 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
5315 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
5316 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
5317 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e,
5318 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61,
5319 0x69, 0x6c, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
5320 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12,
5321 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
5322 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f,
5323 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53,
5324 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x42, 0x49, 0x47, 0x10, 0x02, 0x12,
5325 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
5326 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55, 0x50,
5327 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x54, 0x5f,
5328 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0xcb, 0x01,
5329 0x0a, 0x0e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
5330 0x12, 0x58, 0x0a, 0x10, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72,
5331 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
5332 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73,
5333 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x53,
5334 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x66, 0x6f,
5335 0x72, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x0f, 0x6d, 0x61,
5336 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20,
5337 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
5338 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
5339 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48,
5340 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e,
5341 0x67, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x0f, 0x55,
5342 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1d,
5343 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01,
5344 0x28, 0x05, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x76, 0x0a,
5345 0x0e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12,
5346 0x64, 0x0a, 0x16, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x5f,
5347 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
5348 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5349 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
5350 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64,
5351 0x52, 0x13, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x46, 0x6f, 0x72,
5352 0x53, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x54, 0x61, 0x72,
5353 0x67, 0x65, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c,
5354 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
5355 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22,
5356 0xad, 0x01, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61,
5357 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
5358 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75,
5359 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
5360 0x6e, 0x75, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x64, 0x0a, 0x16, 0x74, 0x65, 0x73,
5361 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x68,
5362 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5363 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
5364 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65,
5365 0x74, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x13, 0x74, 0x65, 0x73, 0x74,
5366 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x22,
5367 0xa0, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61,
5368 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
5369 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
5370 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0b, 0x74, 0x65,
5371 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
5372 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5373 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
5374 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74,
5375 0x72, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
5376 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5377 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74,
5378 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
5379 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
5380 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x73,
5381 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
5382 0x09, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x49, 0x64, 0x22,
5383 0x5e, 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74,
5384 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
5385 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
5386 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x73,
5387 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
5388 0x09, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x49, 0x64, 0x22,
5389 0x60, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74,
5390 0x72, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x74,
5391 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
5392 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5393 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
5394 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74,
5395 0x65, 0x2a, 0x6c, 0x0a, 0x12, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f,
5396 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x52, 0x43, 0x48, 0x45,
5397 0x53, 0x54, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55,
5398 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
5399 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x4f, 0x52,
5400 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45,
5401 0x5f, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x2a,
5402 0x4d, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x52,
5403 0x4f, 0x42, 0x4f, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
5404 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x42, 0x4f, 0x5f, 0x56,
5405 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f,
5406 0x42, 0x4f, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x32, 0x10, 0x02, 0x2a, 0x5b,
5407 0x0a, 0x0e, 0x52, 0x6f, 0x62, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
5408 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
5409 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a,
5410 0x0c, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x01, 0x12,
5411 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12,
5412 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x2a, 0xa4, 0x08, 0x0a, 0x14,
5413 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x65, 0x74,
5414 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x22, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
5415 0x4d, 0x41, 0x54, 0x52, 0x49, 0x58, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x5f, 0x55,
5416 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13,
5417 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41,
5418 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d,
5419 0x45, 0x44, 0x5f, 0x41, 0x50, 0x4b, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x41, 0x4c, 0x46,
5420 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x41, 0x50, 0x4b, 0x10, 0x03,
5421 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x49, 0x46, 0x45, 0x53, 0x54, 0x10,
5422 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x5f,
5423 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
5424 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x1f,
5425 0x12, 0x14, 0x0a, 0x10, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x53,
5426 0x5f, 0x41, 0x50, 0x50, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x53,
5427 0x54, 0x52, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x10,
5428 0x0a, 0x0c, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x14,
5429 0x12, 0x2d, 0x0a, 0x29, 0x49, 0x4e, 0x53, 0x54, 0x52, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54,
5430 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x4f, 0x52,
5431 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x12, 0x12,
5432 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x45,
5433 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x5f,
5434 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54,
5435 0x59, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e,
5436 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x09, 0x12, 0x1b,
5437 0x0a, 0x17, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x5f, 0x44,
5438 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x53, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x49,
5439 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
5440 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x21, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
5441 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49,
5442 0x4f, 0x4e, 0x10, 0x22, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x4f,
5443 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f,
5444 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x0c, 0x12, 0x1f, 0x0a, 0x1b, 0x53,
5445 0x43, 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4e, 0x4f,
5446 0x54, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18,
5447 0x53, 0x43, 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4d,
5448 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x0e, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43,
5449 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x41,
5450 0x52, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f,
5451 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x10, 0x11,
5452 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x58, 0x43,
5453 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x5a, 0x49, 0x50, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x42,
5454 0x55, 0x49, 0x4c, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x49, 0x4f, 0x53, 0x5f, 0x53, 0x49, 0x4d,
5455 0x55, 0x4c, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x5f, 0x54,
5456 0x45, 0x53, 0x54, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x58, 0x43, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f,
5457 0x5a, 0x49, 0x50, 0x10, 0x19, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x5f, 0x44, 0x45, 0x53,
5458 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43,
5459 0x54, 0x53, 0x10, 0x1a, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54,
5460 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x45, 0x44, 0x10, 0x1c, 0x12, 0x1a, 0x0a,
5461 0x16, 0x50, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45,
5462 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x44, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x0d, 0x54, 0x45, 0x53,
5463 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x41, 0x50, 0x4b, 0x10, 0x15, 0x1a, 0x02, 0x08, 0x01,
5464 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x49, 0x50,
5465 0x41, 0x10, 0x16, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x55,
5466 0x52, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0x23, 0x12, 0x18, 0x0a, 0x14, 0x4d,
5467 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x42, 0x55, 0x4e,
5468 0x44, 0x4c, 0x45, 0x10, 0x24, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x44, 0x45,
5469 0x5f, 0x41, 0x50, 0x4b, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
5470 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x41, 0x50, 0x4b, 0x10, 0x1b, 0x12, 0x1b, 0x0a,
5471 0x17, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x50, 0x4b, 0x5f, 0x50, 0x52, 0x45,
5472 0x56, 0x49, 0x45, 0x57, 0x5f, 0x53, 0x44, 0x4b, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x41,
5473 0x54, 0x52, 0x49, 0x58, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x25,
5474 0x12, 0x17, 0x0a, 0x13, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x45,
5475 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x27, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52,
5476 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54,
5477 0x45, 0x44, 0x10, 0x28, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
5478 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
5479 0x10, 0x29, 0x2a, 0xe0, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
5480 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
5481 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a,
5482 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07,
5483 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
5484 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
5485 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12,
5486 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x45,
5487 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18,
5488 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x56,
5489 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e,
5490 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49,
5491 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e,
5492 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41,
5493 0x4c, 0x49, 0x44, 0x10, 0x07, 0x2a, 0x6a, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65,
5494 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x55, 0x54, 0x43, 0x4f,
5495 0x4d, 0x45, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
5496 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43,
5497 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
5498 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x43, 0x4c, 0x55, 0x53, 0x49,
5499 0x56, 0x45, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10,
5500 0x04, 0x32, 0xc0, 0x05, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
5501 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x10, 0x43,
5502 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12,
5503 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
5504 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
5505 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71,
5506 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
5507 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
5508 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x3b, 0x82, 0xd3,
5509 0xe4, 0x93, 0x02, 0x35, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
5510 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
5511 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x63, 0x65, 0x73, 0x3a, 0x0b, 0x74, 0x65,
5512 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0xaa, 0x01, 0x0a, 0x0d, 0x47, 0x65,
5513 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x30, 0x2e, 0x67, 0x6f,
5514 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
5515 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,
5516 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
5517 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
5518 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d,
5519 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f,
5520 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
5521 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74,
5522 0x72, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72,
5523 0x69, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc5, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65,
5524 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x33, 0x2e, 0x67, 0x6f,
5525 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
5526 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54,
5527 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5528 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
5529 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61,
5530 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65,
5531 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3e,
5532 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
5533 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61,
5534 0x74, 0x72, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
5535 0x72, 0x69, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x83,
5536 0x01, 0xca, 0x41, 0x16, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5537 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74,
5538 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
5539 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f,
5540 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70,
5541 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
5542 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
5543 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d,
5544 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x79, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5545 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
5546 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63,
5547 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f,
5548 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
5549 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
5550 0x70, 0x69, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x74, 0x65, 0x73,
5551 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x62,
5552 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
5553 }
5554
5555 var (
5556 file_google_devtools_testing_v1_test_execution_proto_rawDescOnce sync.Once
5557 file_google_devtools_testing_v1_test_execution_proto_rawDescData = file_google_devtools_testing_v1_test_execution_proto_rawDesc
5558 )
5559
5560 func file_google_devtools_testing_v1_test_execution_proto_rawDescGZIP() []byte {
5561 file_google_devtools_testing_v1_test_execution_proto_rawDescOnce.Do(func() {
5562 file_google_devtools_testing_v1_test_execution_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_devtools_testing_v1_test_execution_proto_rawDescData)
5563 })
5564 return file_google_devtools_testing_v1_test_execution_proto_rawDescData
5565 }
5566
5567 var file_google_devtools_testing_v1_test_execution_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
5568 var file_google_devtools_testing_v1_test_execution_proto_msgTypes = make([]protoimpl.MessageInfo, 50)
5569 var file_google_devtools_testing_v1_test_execution_proto_goTypes = []interface{}{
5570 (OrchestratorOption)(0),
5571 (RoboMode)(0),
5572 (RoboActionType)(0),
5573 (InvalidMatrixDetails)(0),
5574 (TestState)(0),
5575 (OutcomeSummary)(0),
5576 (InvalidRequestDetail_Reason)(0),
5577 (*TestMatrix)(nil),
5578 (*TestExecution)(nil),
5579 (*TestSpecification)(nil),
5580 (*SystraceSetup)(nil),
5581 (*TestSetup)(nil),
5582 (*IosTestSetup)(nil),
5583 (*EnvironmentVariable)(nil),
5584 (*Account)(nil),
5585 (*GoogleAuto)(nil),
5586 (*Apk)(nil),
5587 (*AppBundle)(nil),
5588 (*DeviceFile)(nil),
5589 (*ObbFile)(nil),
5590 (*RegularFile)(nil),
5591 (*IosDeviceFile)(nil),
5592 (*AndroidTestLoop)(nil),
5593 (*IosXcTest)(nil),
5594 (*IosTestLoop)(nil),
5595 (*AndroidInstrumentationTest)(nil),
5596 (*AndroidRoboTest)(nil),
5597 (*RoboDirective)(nil),
5598 (*RoboStartingIntent)(nil),
5599 (*LauncherActivityIntent)(nil),
5600 (*StartActivityIntent)(nil),
5601 (*EnvironmentMatrix)(nil),
5602 (*AndroidDeviceList)(nil),
5603 (*IosDeviceList)(nil),
5604 (*AndroidMatrix)(nil),
5605 (*ClientInfo)(nil),
5606 (*ClientInfoDetail)(nil),
5607 (*ResultStorage)(nil),
5608 (*ToolResultsHistory)(nil),
5609 (*ToolResultsExecution)(nil),
5610 (*ToolResultsStep)(nil),
5611 (*GoogleCloudStorage)(nil),
5612 (*FileReference)(nil),
5613 (*Environment)(nil),
5614 (*AndroidDevice)(nil),
5615 (*IosDevice)(nil),
5616 (*TestDetails)(nil),
5617 (*InvalidRequestDetail)(nil),
5618 (*ShardingOption)(nil),
5619 (*UniformSharding)(nil),
5620 (*ManualSharding)(nil),
5621 (*TestTargetsForShard)(nil),
5622 (*Shard)(nil),
5623 (*CreateTestMatrixRequest)(nil),
5624 (*GetTestMatrixRequest)(nil),
5625 (*CancelTestMatrixRequest)(nil),
5626 (*CancelTestMatrixResponse)(nil),
5627 (*timestamppb.Timestamp)(nil),
5628 (*durationpb.Duration)(nil),
5629 }
5630 var file_google_devtools_testing_v1_test_execution_proto_depIdxs = []int32{
5631 35,
5632 9,
5633 31,
5634 8,
5635 37,
5636 4,
5637 57,
5638 3,
5639 5,
5640 9,
5641 52,
5642 43,
5643 4,
5644 40,
5645 57,
5646 46,
5647 58,
5648 11,
5649 12,
5650 25,
5651 26,
5652 22,
5653 23,
5654 24,
5655 18,
5656 16,
5657 14,
5658 13,
5659 10,
5660 42,
5661 21,
5662 21,
5663 15,
5664 42,
5665 42,
5666 19,
5667 20,
5668 42,
5669 42,
5670 42,
5671 42,
5672 17,
5673 42,
5674 42,
5675 42,
5676 42,
5677 17,
5678 42,
5679 0,
5680 48,
5681 42,
5682 17,
5683 27,
5684 1,
5685 42,
5686 28,
5687 2,
5688 29,
5689 30,
5690 58,
5691 34,
5692 32,
5693 33,
5694 44,
5695 45,
5696 36,
5697 41,
5698 38,
5699 39,
5700 44,
5701 45,
5702 6,
5703 49,
5704 50,
5705 51,
5706 51,
5707 7,
5708 4,
5709 53,
5710 54,
5711 55,
5712 7,
5713 7,
5714 56,
5715 81,
5716 78,
5717 78,
5718 78,
5719 0,
5720 }
5721
5722 func init() { file_google_devtools_testing_v1_test_execution_proto_init() }
5723 func file_google_devtools_testing_v1_test_execution_proto_init() {
5724 if File_google_devtools_testing_v1_test_execution_proto != nil {
5725 return
5726 }
5727 if !protoimpl.UnsafeEnabled {
5728 file_google_devtools_testing_v1_test_execution_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
5729 switch v := v.(*TestMatrix); i {
5730 case 0:
5731 return &v.state
5732 case 1:
5733 return &v.sizeCache
5734 case 2:
5735 return &v.unknownFields
5736 default:
5737 return nil
5738 }
5739 }
5740 file_google_devtools_testing_v1_test_execution_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
5741 switch v := v.(*TestExecution); i {
5742 case 0:
5743 return &v.state
5744 case 1:
5745 return &v.sizeCache
5746 case 2:
5747 return &v.unknownFields
5748 default:
5749 return nil
5750 }
5751 }
5752 file_google_devtools_testing_v1_test_execution_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
5753 switch v := v.(*TestSpecification); i {
5754 case 0:
5755 return &v.state
5756 case 1:
5757 return &v.sizeCache
5758 case 2:
5759 return &v.unknownFields
5760 default:
5761 return nil
5762 }
5763 }
5764 file_google_devtools_testing_v1_test_execution_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
5765 switch v := v.(*SystraceSetup); i {
5766 case 0:
5767 return &v.state
5768 case 1:
5769 return &v.sizeCache
5770 case 2:
5771 return &v.unknownFields
5772 default:
5773 return nil
5774 }
5775 }
5776 file_google_devtools_testing_v1_test_execution_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
5777 switch v := v.(*TestSetup); i {
5778 case 0:
5779 return &v.state
5780 case 1:
5781 return &v.sizeCache
5782 case 2:
5783 return &v.unknownFields
5784 default:
5785 return nil
5786 }
5787 }
5788 file_google_devtools_testing_v1_test_execution_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
5789 switch v := v.(*IosTestSetup); i {
5790 case 0:
5791 return &v.state
5792 case 1:
5793 return &v.sizeCache
5794 case 2:
5795 return &v.unknownFields
5796 default:
5797 return nil
5798 }
5799 }
5800 file_google_devtools_testing_v1_test_execution_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
5801 switch v := v.(*EnvironmentVariable); i {
5802 case 0:
5803 return &v.state
5804 case 1:
5805 return &v.sizeCache
5806 case 2:
5807 return &v.unknownFields
5808 default:
5809 return nil
5810 }
5811 }
5812 file_google_devtools_testing_v1_test_execution_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
5813 switch v := v.(*Account); i {
5814 case 0:
5815 return &v.state
5816 case 1:
5817 return &v.sizeCache
5818 case 2:
5819 return &v.unknownFields
5820 default:
5821 return nil
5822 }
5823 }
5824 file_google_devtools_testing_v1_test_execution_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
5825 switch v := v.(*GoogleAuto); i {
5826 case 0:
5827 return &v.state
5828 case 1:
5829 return &v.sizeCache
5830 case 2:
5831 return &v.unknownFields
5832 default:
5833 return nil
5834 }
5835 }
5836 file_google_devtools_testing_v1_test_execution_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
5837 switch v := v.(*Apk); i {
5838 case 0:
5839 return &v.state
5840 case 1:
5841 return &v.sizeCache
5842 case 2:
5843 return &v.unknownFields
5844 default:
5845 return nil
5846 }
5847 }
5848 file_google_devtools_testing_v1_test_execution_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
5849 switch v := v.(*AppBundle); i {
5850 case 0:
5851 return &v.state
5852 case 1:
5853 return &v.sizeCache
5854 case 2:
5855 return &v.unknownFields
5856 default:
5857 return nil
5858 }
5859 }
5860 file_google_devtools_testing_v1_test_execution_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
5861 switch v := v.(*DeviceFile); i {
5862 case 0:
5863 return &v.state
5864 case 1:
5865 return &v.sizeCache
5866 case 2:
5867 return &v.unknownFields
5868 default:
5869 return nil
5870 }
5871 }
5872 file_google_devtools_testing_v1_test_execution_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
5873 switch v := v.(*ObbFile); i {
5874 case 0:
5875 return &v.state
5876 case 1:
5877 return &v.sizeCache
5878 case 2:
5879 return &v.unknownFields
5880 default:
5881 return nil
5882 }
5883 }
5884 file_google_devtools_testing_v1_test_execution_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
5885 switch v := v.(*RegularFile); i {
5886 case 0:
5887 return &v.state
5888 case 1:
5889 return &v.sizeCache
5890 case 2:
5891 return &v.unknownFields
5892 default:
5893 return nil
5894 }
5895 }
5896 file_google_devtools_testing_v1_test_execution_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
5897 switch v := v.(*IosDeviceFile); i {
5898 case 0:
5899 return &v.state
5900 case 1:
5901 return &v.sizeCache
5902 case 2:
5903 return &v.unknownFields
5904 default:
5905 return nil
5906 }
5907 }
5908 file_google_devtools_testing_v1_test_execution_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
5909 switch v := v.(*AndroidTestLoop); i {
5910 case 0:
5911 return &v.state
5912 case 1:
5913 return &v.sizeCache
5914 case 2:
5915 return &v.unknownFields
5916 default:
5917 return nil
5918 }
5919 }
5920 file_google_devtools_testing_v1_test_execution_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
5921 switch v := v.(*IosXcTest); i {
5922 case 0:
5923 return &v.state
5924 case 1:
5925 return &v.sizeCache
5926 case 2:
5927 return &v.unknownFields
5928 default:
5929 return nil
5930 }
5931 }
5932 file_google_devtools_testing_v1_test_execution_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
5933 switch v := v.(*IosTestLoop); i {
5934 case 0:
5935 return &v.state
5936 case 1:
5937 return &v.sizeCache
5938 case 2:
5939 return &v.unknownFields
5940 default:
5941 return nil
5942 }
5943 }
5944 file_google_devtools_testing_v1_test_execution_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
5945 switch v := v.(*AndroidInstrumentationTest); i {
5946 case 0:
5947 return &v.state
5948 case 1:
5949 return &v.sizeCache
5950 case 2:
5951 return &v.unknownFields
5952 default:
5953 return nil
5954 }
5955 }
5956 file_google_devtools_testing_v1_test_execution_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
5957 switch v := v.(*AndroidRoboTest); i {
5958 case 0:
5959 return &v.state
5960 case 1:
5961 return &v.sizeCache
5962 case 2:
5963 return &v.unknownFields
5964 default:
5965 return nil
5966 }
5967 }
5968 file_google_devtools_testing_v1_test_execution_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
5969 switch v := v.(*RoboDirective); i {
5970 case 0:
5971 return &v.state
5972 case 1:
5973 return &v.sizeCache
5974 case 2:
5975 return &v.unknownFields
5976 default:
5977 return nil
5978 }
5979 }
5980 file_google_devtools_testing_v1_test_execution_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
5981 switch v := v.(*RoboStartingIntent); i {
5982 case 0:
5983 return &v.state
5984 case 1:
5985 return &v.sizeCache
5986 case 2:
5987 return &v.unknownFields
5988 default:
5989 return nil
5990 }
5991 }
5992 file_google_devtools_testing_v1_test_execution_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
5993 switch v := v.(*LauncherActivityIntent); i {
5994 case 0:
5995 return &v.state
5996 case 1:
5997 return &v.sizeCache
5998 case 2:
5999 return &v.unknownFields
6000 default:
6001 return nil
6002 }
6003 }
6004 file_google_devtools_testing_v1_test_execution_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
6005 switch v := v.(*StartActivityIntent); i {
6006 case 0:
6007 return &v.state
6008 case 1:
6009 return &v.sizeCache
6010 case 2:
6011 return &v.unknownFields
6012 default:
6013 return nil
6014 }
6015 }
6016 file_google_devtools_testing_v1_test_execution_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
6017 switch v := v.(*EnvironmentMatrix); i {
6018 case 0:
6019 return &v.state
6020 case 1:
6021 return &v.sizeCache
6022 case 2:
6023 return &v.unknownFields
6024 default:
6025 return nil
6026 }
6027 }
6028 file_google_devtools_testing_v1_test_execution_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
6029 switch v := v.(*AndroidDeviceList); i {
6030 case 0:
6031 return &v.state
6032 case 1:
6033 return &v.sizeCache
6034 case 2:
6035 return &v.unknownFields
6036 default:
6037 return nil
6038 }
6039 }
6040 file_google_devtools_testing_v1_test_execution_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
6041 switch v := v.(*IosDeviceList); i {
6042 case 0:
6043 return &v.state
6044 case 1:
6045 return &v.sizeCache
6046 case 2:
6047 return &v.unknownFields
6048 default:
6049 return nil
6050 }
6051 }
6052 file_google_devtools_testing_v1_test_execution_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
6053 switch v := v.(*AndroidMatrix); i {
6054 case 0:
6055 return &v.state
6056 case 1:
6057 return &v.sizeCache
6058 case 2:
6059 return &v.unknownFields
6060 default:
6061 return nil
6062 }
6063 }
6064 file_google_devtools_testing_v1_test_execution_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
6065 switch v := v.(*ClientInfo); i {
6066 case 0:
6067 return &v.state
6068 case 1:
6069 return &v.sizeCache
6070 case 2:
6071 return &v.unknownFields
6072 default:
6073 return nil
6074 }
6075 }
6076 file_google_devtools_testing_v1_test_execution_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
6077 switch v := v.(*ClientInfoDetail); i {
6078 case 0:
6079 return &v.state
6080 case 1:
6081 return &v.sizeCache
6082 case 2:
6083 return &v.unknownFields
6084 default:
6085 return nil
6086 }
6087 }
6088 file_google_devtools_testing_v1_test_execution_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
6089 switch v := v.(*ResultStorage); i {
6090 case 0:
6091 return &v.state
6092 case 1:
6093 return &v.sizeCache
6094 case 2:
6095 return &v.unknownFields
6096 default:
6097 return nil
6098 }
6099 }
6100 file_google_devtools_testing_v1_test_execution_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
6101 switch v := v.(*ToolResultsHistory); i {
6102 case 0:
6103 return &v.state
6104 case 1:
6105 return &v.sizeCache
6106 case 2:
6107 return &v.unknownFields
6108 default:
6109 return nil
6110 }
6111 }
6112 file_google_devtools_testing_v1_test_execution_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
6113 switch v := v.(*ToolResultsExecution); i {
6114 case 0:
6115 return &v.state
6116 case 1:
6117 return &v.sizeCache
6118 case 2:
6119 return &v.unknownFields
6120 default:
6121 return nil
6122 }
6123 }
6124 file_google_devtools_testing_v1_test_execution_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
6125 switch v := v.(*ToolResultsStep); i {
6126 case 0:
6127 return &v.state
6128 case 1:
6129 return &v.sizeCache
6130 case 2:
6131 return &v.unknownFields
6132 default:
6133 return nil
6134 }
6135 }
6136 file_google_devtools_testing_v1_test_execution_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
6137 switch v := v.(*GoogleCloudStorage); i {
6138 case 0:
6139 return &v.state
6140 case 1:
6141 return &v.sizeCache
6142 case 2:
6143 return &v.unknownFields
6144 default:
6145 return nil
6146 }
6147 }
6148 file_google_devtools_testing_v1_test_execution_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
6149 switch v := v.(*FileReference); i {
6150 case 0:
6151 return &v.state
6152 case 1:
6153 return &v.sizeCache
6154 case 2:
6155 return &v.unknownFields
6156 default:
6157 return nil
6158 }
6159 }
6160 file_google_devtools_testing_v1_test_execution_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
6161 switch v := v.(*Environment); i {
6162 case 0:
6163 return &v.state
6164 case 1:
6165 return &v.sizeCache
6166 case 2:
6167 return &v.unknownFields
6168 default:
6169 return nil
6170 }
6171 }
6172 file_google_devtools_testing_v1_test_execution_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
6173 switch v := v.(*AndroidDevice); i {
6174 case 0:
6175 return &v.state
6176 case 1:
6177 return &v.sizeCache
6178 case 2:
6179 return &v.unknownFields
6180 default:
6181 return nil
6182 }
6183 }
6184 file_google_devtools_testing_v1_test_execution_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
6185 switch v := v.(*IosDevice); i {
6186 case 0:
6187 return &v.state
6188 case 1:
6189 return &v.sizeCache
6190 case 2:
6191 return &v.unknownFields
6192 default:
6193 return nil
6194 }
6195 }
6196 file_google_devtools_testing_v1_test_execution_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
6197 switch v := v.(*TestDetails); i {
6198 case 0:
6199 return &v.state
6200 case 1:
6201 return &v.sizeCache
6202 case 2:
6203 return &v.unknownFields
6204 default:
6205 return nil
6206 }
6207 }
6208 file_google_devtools_testing_v1_test_execution_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
6209 switch v := v.(*InvalidRequestDetail); i {
6210 case 0:
6211 return &v.state
6212 case 1:
6213 return &v.sizeCache
6214 case 2:
6215 return &v.unknownFields
6216 default:
6217 return nil
6218 }
6219 }
6220 file_google_devtools_testing_v1_test_execution_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
6221 switch v := v.(*ShardingOption); i {
6222 case 0:
6223 return &v.state
6224 case 1:
6225 return &v.sizeCache
6226 case 2:
6227 return &v.unknownFields
6228 default:
6229 return nil
6230 }
6231 }
6232 file_google_devtools_testing_v1_test_execution_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
6233 switch v := v.(*UniformSharding); i {
6234 case 0:
6235 return &v.state
6236 case 1:
6237 return &v.sizeCache
6238 case 2:
6239 return &v.unknownFields
6240 default:
6241 return nil
6242 }
6243 }
6244 file_google_devtools_testing_v1_test_execution_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
6245 switch v := v.(*ManualSharding); i {
6246 case 0:
6247 return &v.state
6248 case 1:
6249 return &v.sizeCache
6250 case 2:
6251 return &v.unknownFields
6252 default:
6253 return nil
6254 }
6255 }
6256 file_google_devtools_testing_v1_test_execution_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
6257 switch v := v.(*TestTargetsForShard); i {
6258 case 0:
6259 return &v.state
6260 case 1:
6261 return &v.sizeCache
6262 case 2:
6263 return &v.unknownFields
6264 default:
6265 return nil
6266 }
6267 }
6268 file_google_devtools_testing_v1_test_execution_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
6269 switch v := v.(*Shard); i {
6270 case 0:
6271 return &v.state
6272 case 1:
6273 return &v.sizeCache
6274 case 2:
6275 return &v.unknownFields
6276 default:
6277 return nil
6278 }
6279 }
6280 file_google_devtools_testing_v1_test_execution_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
6281 switch v := v.(*CreateTestMatrixRequest); i {
6282 case 0:
6283 return &v.state
6284 case 1:
6285 return &v.sizeCache
6286 case 2:
6287 return &v.unknownFields
6288 default:
6289 return nil
6290 }
6291 }
6292 file_google_devtools_testing_v1_test_execution_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
6293 switch v := v.(*GetTestMatrixRequest); i {
6294 case 0:
6295 return &v.state
6296 case 1:
6297 return &v.sizeCache
6298 case 2:
6299 return &v.unknownFields
6300 default:
6301 return nil
6302 }
6303 }
6304 file_google_devtools_testing_v1_test_execution_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
6305 switch v := v.(*CancelTestMatrixRequest); i {
6306 case 0:
6307 return &v.state
6308 case 1:
6309 return &v.sizeCache
6310 case 2:
6311 return &v.unknownFields
6312 default:
6313 return nil
6314 }
6315 }
6316 file_google_devtools_testing_v1_test_execution_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
6317 switch v := v.(*CancelTestMatrixResponse); i {
6318 case 0:
6319 return &v.state
6320 case 1:
6321 return &v.sizeCache
6322 case 2:
6323 return &v.unknownFields
6324 default:
6325 return nil
6326 }
6327 }
6328 }
6329 file_google_devtools_testing_v1_test_execution_proto_msgTypes[2].OneofWrappers = []interface{}{
6330 (*TestSpecification_TestSetup)(nil),
6331 (*TestSpecification_IosTestSetup)(nil),
6332 (*TestSpecification_AndroidInstrumentationTest)(nil),
6333 (*TestSpecification_AndroidRoboTest)(nil),
6334 (*TestSpecification_AndroidTestLoop)(nil),
6335 (*TestSpecification_IosXcTest)(nil),
6336 (*TestSpecification_IosTestLoop)(nil),
6337 }
6338 file_google_devtools_testing_v1_test_execution_proto_msgTypes[7].OneofWrappers = []interface{}{
6339 (*Account_GoogleAuto)(nil),
6340 }
6341 file_google_devtools_testing_v1_test_execution_proto_msgTypes[10].OneofWrappers = []interface{}{
6342 (*AppBundle_BundleLocation)(nil),
6343 }
6344 file_google_devtools_testing_v1_test_execution_proto_msgTypes[11].OneofWrappers = []interface{}{
6345 (*DeviceFile_ObbFile)(nil),
6346 (*DeviceFile_RegularFile)(nil),
6347 }
6348 file_google_devtools_testing_v1_test_execution_proto_msgTypes[15].OneofWrappers = []interface{}{
6349 (*AndroidTestLoop_AppApk)(nil),
6350 (*AndroidTestLoop_AppBundle)(nil),
6351 }
6352 file_google_devtools_testing_v1_test_execution_proto_msgTypes[18].OneofWrappers = []interface{}{
6353 (*AndroidInstrumentationTest_AppApk)(nil),
6354 (*AndroidInstrumentationTest_AppBundle)(nil),
6355 }
6356 file_google_devtools_testing_v1_test_execution_proto_msgTypes[19].OneofWrappers = []interface{}{
6357 (*AndroidRoboTest_AppApk)(nil),
6358 (*AndroidRoboTest_AppBundle)(nil),
6359 }
6360 file_google_devtools_testing_v1_test_execution_proto_msgTypes[21].OneofWrappers = []interface{}{
6361 (*RoboStartingIntent_LauncherActivity)(nil),
6362 (*RoboStartingIntent_StartActivity)(nil),
6363 }
6364 file_google_devtools_testing_v1_test_execution_proto_msgTypes[24].OneofWrappers = []interface{}{
6365 (*EnvironmentMatrix_AndroidMatrix)(nil),
6366 (*EnvironmentMatrix_AndroidDeviceList)(nil),
6367 (*EnvironmentMatrix_IosDeviceList)(nil),
6368 }
6369 file_google_devtools_testing_v1_test_execution_proto_msgTypes[35].OneofWrappers = []interface{}{
6370 (*FileReference_GcsPath)(nil),
6371 }
6372 file_google_devtools_testing_v1_test_execution_proto_msgTypes[36].OneofWrappers = []interface{}{
6373 (*Environment_AndroidDevice)(nil),
6374 (*Environment_IosDevice)(nil),
6375 }
6376 file_google_devtools_testing_v1_test_execution_proto_msgTypes[41].OneofWrappers = []interface{}{
6377 (*ShardingOption_UniformSharding)(nil),
6378 (*ShardingOption_ManualSharding)(nil),
6379 }
6380 type x struct{}
6381 out := protoimpl.TypeBuilder{
6382 File: protoimpl.DescBuilder{
6383 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
6384 RawDescriptor: file_google_devtools_testing_v1_test_execution_proto_rawDesc,
6385 NumEnums: 7,
6386 NumMessages: 50,
6387 NumExtensions: 0,
6388 NumServices: 1,
6389 },
6390 GoTypes: file_google_devtools_testing_v1_test_execution_proto_goTypes,
6391 DependencyIndexes: file_google_devtools_testing_v1_test_execution_proto_depIdxs,
6392 EnumInfos: file_google_devtools_testing_v1_test_execution_proto_enumTypes,
6393 MessageInfos: file_google_devtools_testing_v1_test_execution_proto_msgTypes,
6394 }.Build()
6395 File_google_devtools_testing_v1_test_execution_proto = out.File
6396 file_google_devtools_testing_v1_test_execution_proto_rawDesc = nil
6397 file_google_devtools_testing_v1_test_execution_proto_goTypes = nil
6398 file_google_devtools_testing_v1_test_execution_proto_depIdxs = nil
6399 }
6400
6401
6402 var _ context.Context
6403 var _ grpc.ClientConnInterface
6404
6405
6406
6407 const _ = grpc.SupportPackageIsVersion6
6408
6409
6410
6411
6412 type TestExecutionServiceClient interface {
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422 CreateTestMatrix(ctx context.Context, in *CreateTestMatrixRequest, opts ...grpc.CallOption) (*TestMatrix, error)
6423
6424
6425
6426
6427
6428
6429
6430 GetTestMatrix(ctx context.Context, in *GetTestMatrixRequest, opts ...grpc.CallOption) (*TestMatrix, error)
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440 CancelTestMatrix(ctx context.Context, in *CancelTestMatrixRequest, opts ...grpc.CallOption) (*CancelTestMatrixResponse, error)
6441 }
6442
6443 type testExecutionServiceClient struct {
6444 cc grpc.ClientConnInterface
6445 }
6446
6447 func NewTestExecutionServiceClient(cc grpc.ClientConnInterface) TestExecutionServiceClient {
6448 return &testExecutionServiceClient{cc}
6449 }
6450
6451 func (c *testExecutionServiceClient) CreateTestMatrix(ctx context.Context, in *CreateTestMatrixRequest, opts ...grpc.CallOption) (*TestMatrix, error) {
6452 out := new(TestMatrix)
6453 err := c.cc.Invoke(ctx, "/google.devtools.testing.v1.TestExecutionService/CreateTestMatrix", in, out, opts...)
6454 if err != nil {
6455 return nil, err
6456 }
6457 return out, nil
6458 }
6459
6460 func (c *testExecutionServiceClient) GetTestMatrix(ctx context.Context, in *GetTestMatrixRequest, opts ...grpc.CallOption) (*TestMatrix, error) {
6461 out := new(TestMatrix)
6462 err := c.cc.Invoke(ctx, "/google.devtools.testing.v1.TestExecutionService/GetTestMatrix", in, out, opts...)
6463 if err != nil {
6464 return nil, err
6465 }
6466 return out, nil
6467 }
6468
6469 func (c *testExecutionServiceClient) CancelTestMatrix(ctx context.Context, in *CancelTestMatrixRequest, opts ...grpc.CallOption) (*CancelTestMatrixResponse, error) {
6470 out := new(CancelTestMatrixResponse)
6471 err := c.cc.Invoke(ctx, "/google.devtools.testing.v1.TestExecutionService/CancelTestMatrix", in, out, opts...)
6472 if err != nil {
6473 return nil, err
6474 }
6475 return out, nil
6476 }
6477
6478
6479 type TestExecutionServiceServer interface {
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489 CreateTestMatrix(context.Context, *CreateTestMatrixRequest) (*TestMatrix, error)
6490
6491
6492
6493
6494
6495
6496
6497 GetTestMatrix(context.Context, *GetTestMatrixRequest) (*TestMatrix, error)
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507 CancelTestMatrix(context.Context, *CancelTestMatrixRequest) (*CancelTestMatrixResponse, error)
6508 }
6509
6510
6511 type UnimplementedTestExecutionServiceServer struct {
6512 }
6513
6514 func (*UnimplementedTestExecutionServiceServer) CreateTestMatrix(context.Context, *CreateTestMatrixRequest) (*TestMatrix, error) {
6515 return nil, status.Errorf(codes.Unimplemented, "method CreateTestMatrix not implemented")
6516 }
6517 func (*UnimplementedTestExecutionServiceServer) GetTestMatrix(context.Context, *GetTestMatrixRequest) (*TestMatrix, error) {
6518 return nil, status.Errorf(codes.Unimplemented, "method GetTestMatrix not implemented")
6519 }
6520 func (*UnimplementedTestExecutionServiceServer) CancelTestMatrix(context.Context, *CancelTestMatrixRequest) (*CancelTestMatrixResponse, error) {
6521 return nil, status.Errorf(codes.Unimplemented, "method CancelTestMatrix not implemented")
6522 }
6523
6524 func RegisterTestExecutionServiceServer(s *grpc.Server, srv TestExecutionServiceServer) {
6525 s.RegisterService(&_TestExecutionService_serviceDesc, srv)
6526 }
6527
6528 func _TestExecutionService_CreateTestMatrix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6529 in := new(CreateTestMatrixRequest)
6530 if err := dec(in); err != nil {
6531 return nil, err
6532 }
6533 if interceptor == nil {
6534 return srv.(TestExecutionServiceServer).CreateTestMatrix(ctx, in)
6535 }
6536 info := &grpc.UnaryServerInfo{
6537 Server: srv,
6538 FullMethod: "/google.devtools.testing.v1.TestExecutionService/CreateTestMatrix",
6539 }
6540 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6541 return srv.(TestExecutionServiceServer).CreateTestMatrix(ctx, req.(*CreateTestMatrixRequest))
6542 }
6543 return interceptor(ctx, in, info, handler)
6544 }
6545
6546 func _TestExecutionService_GetTestMatrix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6547 in := new(GetTestMatrixRequest)
6548 if err := dec(in); err != nil {
6549 return nil, err
6550 }
6551 if interceptor == nil {
6552 return srv.(TestExecutionServiceServer).GetTestMatrix(ctx, in)
6553 }
6554 info := &grpc.UnaryServerInfo{
6555 Server: srv,
6556 FullMethod: "/google.devtools.testing.v1.TestExecutionService/GetTestMatrix",
6557 }
6558 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6559 return srv.(TestExecutionServiceServer).GetTestMatrix(ctx, req.(*GetTestMatrixRequest))
6560 }
6561 return interceptor(ctx, in, info, handler)
6562 }
6563
6564 func _TestExecutionService_CancelTestMatrix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6565 in := new(CancelTestMatrixRequest)
6566 if err := dec(in); err != nil {
6567 return nil, err
6568 }
6569 if interceptor == nil {
6570 return srv.(TestExecutionServiceServer).CancelTestMatrix(ctx, in)
6571 }
6572 info := &grpc.UnaryServerInfo{
6573 Server: srv,
6574 FullMethod: "/google.devtools.testing.v1.TestExecutionService/CancelTestMatrix",
6575 }
6576 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6577 return srv.(TestExecutionServiceServer).CancelTestMatrix(ctx, req.(*CancelTestMatrixRequest))
6578 }
6579 return interceptor(ctx, in, info, handler)
6580 }
6581
6582 var _TestExecutionService_serviceDesc = grpc.ServiceDesc{
6583 ServiceName: "google.devtools.testing.v1.TestExecutionService",
6584 HandlerType: (*TestExecutionServiceServer)(nil),
6585 Methods: []grpc.MethodDesc{
6586 {
6587 MethodName: "CreateTestMatrix",
6588 Handler: _TestExecutionService_CreateTestMatrix_Handler,
6589 },
6590 {
6591 MethodName: "GetTestMatrix",
6592 Handler: _TestExecutionService_GetTestMatrix_Handler,
6593 },
6594 {
6595 MethodName: "CancelTestMatrix",
6596 Handler: _TestExecutionService_CancelTestMatrix_Handler,
6597 },
6598 },
6599 Streams: []grpc.StreamDesc{},
6600 Metadata: "google/devtools/testing/v1/test_execution.proto",
6601 }
6602
View as plain text