1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package vision
23
24 import (
25 context "context"
26 reflect "reflect"
27 sync "sync"
28
29 _ "google.golang.org/genproto/googleapis/api/annotations"
30 longrunning "google.golang.org/genproto/googleapis/longrunning"
31 status "google.golang.org/genproto/googleapis/rpc/status"
32 grpc "google.golang.org/grpc"
33 codes "google.golang.org/grpc/codes"
34 status1 "google.golang.org/grpc/status"
35 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
36 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
37 emptypb "google.golang.org/protobuf/types/known/emptypb"
38 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
39 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
40 )
41
42 const (
43
44 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45
46 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47 )
48
49
50 type BatchOperationMetadata_State int32
51
52 const (
53
54 BatchOperationMetadata_STATE_UNSPECIFIED BatchOperationMetadata_State = 0
55
56 BatchOperationMetadata_PROCESSING BatchOperationMetadata_State = 1
57
58
59 BatchOperationMetadata_SUCCESSFUL BatchOperationMetadata_State = 2
60
61 BatchOperationMetadata_FAILED BatchOperationMetadata_State = 3
62
63
64
65 BatchOperationMetadata_CANCELLED BatchOperationMetadata_State = 4
66 )
67
68
69 var (
70 BatchOperationMetadata_State_name = map[int32]string{
71 0: "STATE_UNSPECIFIED",
72 1: "PROCESSING",
73 2: "SUCCESSFUL",
74 3: "FAILED",
75 4: "CANCELLED",
76 }
77 BatchOperationMetadata_State_value = map[string]int32{
78 "STATE_UNSPECIFIED": 0,
79 "PROCESSING": 1,
80 "SUCCESSFUL": 2,
81 "FAILED": 3,
82 "CANCELLED": 4,
83 }
84 )
85
86 func (x BatchOperationMetadata_State) Enum() *BatchOperationMetadata_State {
87 p := new(BatchOperationMetadata_State)
88 *p = x
89 return p
90 }
91
92 func (x BatchOperationMetadata_State) String() string {
93 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
94 }
95
96 func (BatchOperationMetadata_State) Descriptor() protoreflect.EnumDescriptor {
97 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_enumTypes[0].Descriptor()
98 }
99
100 func (BatchOperationMetadata_State) Type() protoreflect.EnumType {
101 return &file_google_cloud_vision_v1p4beta1_product_search_service_proto_enumTypes[0]
102 }
103
104 func (x BatchOperationMetadata_State) Number() protoreflect.EnumNumber {
105 return protoreflect.EnumNumber(x)
106 }
107
108
109 func (BatchOperationMetadata_State) EnumDescriptor() ([]byte, []int) {
110 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{28, 0}
111 }
112
113
114 type Product struct {
115 state protoimpl.MessageState
116 sizeCache protoimpl.SizeCache
117 unknownFields protoimpl.UnknownFields
118
119
120
121
122
123
124
125 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
126
127
128 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
129
130
131 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
132
133
134
135
136 ProductCategory string `protobuf:"bytes,4,opt,name=product_category,json=productCategory,proto3" json:"product_category,omitempty"`
137
138
139
140
141
142
143
144
145
146
147
148
149
150 ProductLabels []*Product_KeyValue `protobuf:"bytes,5,rep,name=product_labels,json=productLabels,proto3" json:"product_labels,omitempty"`
151 }
152
153 func (x *Product) Reset() {
154 *x = Product{}
155 if protoimpl.UnsafeEnabled {
156 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[0]
157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
158 ms.StoreMessageInfo(mi)
159 }
160 }
161
162 func (x *Product) String() string {
163 return protoimpl.X.MessageStringOf(x)
164 }
165
166 func (*Product) ProtoMessage() {}
167
168 func (x *Product) ProtoReflect() protoreflect.Message {
169 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[0]
170 if protoimpl.UnsafeEnabled && x != nil {
171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
172 if ms.LoadMessageInfo() == nil {
173 ms.StoreMessageInfo(mi)
174 }
175 return ms
176 }
177 return mi.MessageOf(x)
178 }
179
180
181 func (*Product) Descriptor() ([]byte, []int) {
182 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{0}
183 }
184
185 func (x *Product) GetName() string {
186 if x != nil {
187 return x.Name
188 }
189 return ""
190 }
191
192 func (x *Product) GetDisplayName() string {
193 if x != nil {
194 return x.DisplayName
195 }
196 return ""
197 }
198
199 func (x *Product) GetDescription() string {
200 if x != nil {
201 return x.Description
202 }
203 return ""
204 }
205
206 func (x *Product) GetProductCategory() string {
207 if x != nil {
208 return x.ProductCategory
209 }
210 return ""
211 }
212
213 func (x *Product) GetProductLabels() []*Product_KeyValue {
214 if x != nil {
215 return x.ProductLabels
216 }
217 return nil
218 }
219
220
221
222
223 type ProductSet struct {
224 state protoimpl.MessageState
225 sizeCache protoimpl.SizeCache
226 unknownFields protoimpl.UnknownFields
227
228
229
230
231
232
233
234 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
235
236
237 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
238
239
240
241
242
243
244 IndexTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
245
246
247
248
249 IndexError *status.Status `protobuf:"bytes,4,opt,name=index_error,json=indexError,proto3" json:"index_error,omitempty"`
250 }
251
252 func (x *ProductSet) Reset() {
253 *x = ProductSet{}
254 if protoimpl.UnsafeEnabled {
255 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[1]
256 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
257 ms.StoreMessageInfo(mi)
258 }
259 }
260
261 func (x *ProductSet) String() string {
262 return protoimpl.X.MessageStringOf(x)
263 }
264
265 func (*ProductSet) ProtoMessage() {}
266
267 func (x *ProductSet) ProtoReflect() protoreflect.Message {
268 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[1]
269 if protoimpl.UnsafeEnabled && x != nil {
270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
271 if ms.LoadMessageInfo() == nil {
272 ms.StoreMessageInfo(mi)
273 }
274 return ms
275 }
276 return mi.MessageOf(x)
277 }
278
279
280 func (*ProductSet) Descriptor() ([]byte, []int) {
281 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{1}
282 }
283
284 func (x *ProductSet) GetName() string {
285 if x != nil {
286 return x.Name
287 }
288 return ""
289 }
290
291 func (x *ProductSet) GetDisplayName() string {
292 if x != nil {
293 return x.DisplayName
294 }
295 return ""
296 }
297
298 func (x *ProductSet) GetIndexTime() *timestamppb.Timestamp {
299 if x != nil {
300 return x.IndexTime
301 }
302 return nil
303 }
304
305 func (x *ProductSet) GetIndexError() *status.Status {
306 if x != nil {
307 return x.IndexError
308 }
309 return nil
310 }
311
312
313
314 type ReferenceImage struct {
315 state protoimpl.MessageState
316 sizeCache protoimpl.SizeCache
317 unknownFields protoimpl.UnknownFields
318
319
320
321
322
323
324
325
326 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
327
328
329
330 Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
331
332
333
334
335
336
337
338
339 BoundingPolys []*BoundingPoly `protobuf:"bytes,3,rep,name=bounding_polys,json=boundingPolys,proto3" json:"bounding_polys,omitempty"`
340 }
341
342 func (x *ReferenceImage) Reset() {
343 *x = ReferenceImage{}
344 if protoimpl.UnsafeEnabled {
345 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[2]
346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
347 ms.StoreMessageInfo(mi)
348 }
349 }
350
351 func (x *ReferenceImage) String() string {
352 return protoimpl.X.MessageStringOf(x)
353 }
354
355 func (*ReferenceImage) ProtoMessage() {}
356
357 func (x *ReferenceImage) ProtoReflect() protoreflect.Message {
358 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[2]
359 if protoimpl.UnsafeEnabled && x != nil {
360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
361 if ms.LoadMessageInfo() == nil {
362 ms.StoreMessageInfo(mi)
363 }
364 return ms
365 }
366 return mi.MessageOf(x)
367 }
368
369
370 func (*ReferenceImage) Descriptor() ([]byte, []int) {
371 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{2}
372 }
373
374 func (x *ReferenceImage) GetName() string {
375 if x != nil {
376 return x.Name
377 }
378 return ""
379 }
380
381 func (x *ReferenceImage) GetUri() string {
382 if x != nil {
383 return x.Uri
384 }
385 return ""
386 }
387
388 func (x *ReferenceImage) GetBoundingPolys() []*BoundingPoly {
389 if x != nil {
390 return x.BoundingPolys
391 }
392 return nil
393 }
394
395
396 type CreateProductRequest struct {
397 state protoimpl.MessageState
398 sizeCache protoimpl.SizeCache
399 unknownFields protoimpl.UnknownFields
400
401
402
403
404
405 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
406
407 Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
408
409
410
411
412 ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
413 }
414
415 func (x *CreateProductRequest) Reset() {
416 *x = CreateProductRequest{}
417 if protoimpl.UnsafeEnabled {
418 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[3]
419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
420 ms.StoreMessageInfo(mi)
421 }
422 }
423
424 func (x *CreateProductRequest) String() string {
425 return protoimpl.X.MessageStringOf(x)
426 }
427
428 func (*CreateProductRequest) ProtoMessage() {}
429
430 func (x *CreateProductRequest) ProtoReflect() protoreflect.Message {
431 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[3]
432 if protoimpl.UnsafeEnabled && x != nil {
433 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
434 if ms.LoadMessageInfo() == nil {
435 ms.StoreMessageInfo(mi)
436 }
437 return ms
438 }
439 return mi.MessageOf(x)
440 }
441
442
443 func (*CreateProductRequest) Descriptor() ([]byte, []int) {
444 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{3}
445 }
446
447 func (x *CreateProductRequest) GetParent() string {
448 if x != nil {
449 return x.Parent
450 }
451 return ""
452 }
453
454 func (x *CreateProductRequest) GetProduct() *Product {
455 if x != nil {
456 return x.Product
457 }
458 return nil
459 }
460
461 func (x *CreateProductRequest) GetProductId() string {
462 if x != nil {
463 return x.ProductId
464 }
465 return ""
466 }
467
468
469 type ListProductsRequest struct {
470 state protoimpl.MessageState
471 sizeCache protoimpl.SizeCache
472 unknownFields protoimpl.UnknownFields
473
474
475
476
477
478 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
479
480 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
481
482 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
483 }
484
485 func (x *ListProductsRequest) Reset() {
486 *x = ListProductsRequest{}
487 if protoimpl.UnsafeEnabled {
488 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[4]
489 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
490 ms.StoreMessageInfo(mi)
491 }
492 }
493
494 func (x *ListProductsRequest) String() string {
495 return protoimpl.X.MessageStringOf(x)
496 }
497
498 func (*ListProductsRequest) ProtoMessage() {}
499
500 func (x *ListProductsRequest) ProtoReflect() protoreflect.Message {
501 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[4]
502 if protoimpl.UnsafeEnabled && x != nil {
503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
504 if ms.LoadMessageInfo() == nil {
505 ms.StoreMessageInfo(mi)
506 }
507 return ms
508 }
509 return mi.MessageOf(x)
510 }
511
512
513 func (*ListProductsRequest) Descriptor() ([]byte, []int) {
514 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{4}
515 }
516
517 func (x *ListProductsRequest) GetParent() string {
518 if x != nil {
519 return x.Parent
520 }
521 return ""
522 }
523
524 func (x *ListProductsRequest) GetPageSize() int32 {
525 if x != nil {
526 return x.PageSize
527 }
528 return 0
529 }
530
531 func (x *ListProductsRequest) GetPageToken() string {
532 if x != nil {
533 return x.PageToken
534 }
535 return ""
536 }
537
538
539 type ListProductsResponse struct {
540 state protoimpl.MessageState
541 sizeCache protoimpl.SizeCache
542 unknownFields protoimpl.UnknownFields
543
544
545 Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
546
547
548 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
549 }
550
551 func (x *ListProductsResponse) Reset() {
552 *x = ListProductsResponse{}
553 if protoimpl.UnsafeEnabled {
554 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[5]
555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
556 ms.StoreMessageInfo(mi)
557 }
558 }
559
560 func (x *ListProductsResponse) String() string {
561 return protoimpl.X.MessageStringOf(x)
562 }
563
564 func (*ListProductsResponse) ProtoMessage() {}
565
566 func (x *ListProductsResponse) ProtoReflect() protoreflect.Message {
567 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[5]
568 if protoimpl.UnsafeEnabled && x != nil {
569 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
570 if ms.LoadMessageInfo() == nil {
571 ms.StoreMessageInfo(mi)
572 }
573 return ms
574 }
575 return mi.MessageOf(x)
576 }
577
578
579 func (*ListProductsResponse) Descriptor() ([]byte, []int) {
580 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{5}
581 }
582
583 func (x *ListProductsResponse) GetProducts() []*Product {
584 if x != nil {
585 return x.Products
586 }
587 return nil
588 }
589
590 func (x *ListProductsResponse) GetNextPageToken() string {
591 if x != nil {
592 return x.NextPageToken
593 }
594 return ""
595 }
596
597
598 type GetProductRequest struct {
599 state protoimpl.MessageState
600 sizeCache protoimpl.SizeCache
601 unknownFields protoimpl.UnknownFields
602
603
604
605
606
607 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
608 }
609
610 func (x *GetProductRequest) Reset() {
611 *x = GetProductRequest{}
612 if protoimpl.UnsafeEnabled {
613 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[6]
614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
615 ms.StoreMessageInfo(mi)
616 }
617 }
618
619 func (x *GetProductRequest) String() string {
620 return protoimpl.X.MessageStringOf(x)
621 }
622
623 func (*GetProductRequest) ProtoMessage() {}
624
625 func (x *GetProductRequest) ProtoReflect() protoreflect.Message {
626 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[6]
627 if protoimpl.UnsafeEnabled && x != nil {
628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
629 if ms.LoadMessageInfo() == nil {
630 ms.StoreMessageInfo(mi)
631 }
632 return ms
633 }
634 return mi.MessageOf(x)
635 }
636
637
638 func (*GetProductRequest) Descriptor() ([]byte, []int) {
639 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{6}
640 }
641
642 func (x *GetProductRequest) GetName() string {
643 if x != nil {
644 return x.Name
645 }
646 return ""
647 }
648
649
650 type UpdateProductRequest struct {
651 state protoimpl.MessageState
652 sizeCache protoimpl.SizeCache
653 unknownFields protoimpl.UnknownFields
654
655
656
657 Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
658
659
660
661
662
663 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
664 }
665
666 func (x *UpdateProductRequest) Reset() {
667 *x = UpdateProductRequest{}
668 if protoimpl.UnsafeEnabled {
669 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[7]
670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
671 ms.StoreMessageInfo(mi)
672 }
673 }
674
675 func (x *UpdateProductRequest) String() string {
676 return protoimpl.X.MessageStringOf(x)
677 }
678
679 func (*UpdateProductRequest) ProtoMessage() {}
680
681 func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message {
682 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[7]
683 if protoimpl.UnsafeEnabled && x != nil {
684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
685 if ms.LoadMessageInfo() == nil {
686 ms.StoreMessageInfo(mi)
687 }
688 return ms
689 }
690 return mi.MessageOf(x)
691 }
692
693
694 func (*UpdateProductRequest) Descriptor() ([]byte, []int) {
695 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{7}
696 }
697
698 func (x *UpdateProductRequest) GetProduct() *Product {
699 if x != nil {
700 return x.Product
701 }
702 return nil
703 }
704
705 func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
706 if x != nil {
707 return x.UpdateMask
708 }
709 return nil
710 }
711
712
713 type DeleteProductRequest struct {
714 state protoimpl.MessageState
715 sizeCache protoimpl.SizeCache
716 unknownFields protoimpl.UnknownFields
717
718
719
720
721
722 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
723 }
724
725 func (x *DeleteProductRequest) Reset() {
726 *x = DeleteProductRequest{}
727 if protoimpl.UnsafeEnabled {
728 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[8]
729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
730 ms.StoreMessageInfo(mi)
731 }
732 }
733
734 func (x *DeleteProductRequest) String() string {
735 return protoimpl.X.MessageStringOf(x)
736 }
737
738 func (*DeleteProductRequest) ProtoMessage() {}
739
740 func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message {
741 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[8]
742 if protoimpl.UnsafeEnabled && x != nil {
743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
744 if ms.LoadMessageInfo() == nil {
745 ms.StoreMessageInfo(mi)
746 }
747 return ms
748 }
749 return mi.MessageOf(x)
750 }
751
752
753 func (*DeleteProductRequest) Descriptor() ([]byte, []int) {
754 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{8}
755 }
756
757 func (x *DeleteProductRequest) GetName() string {
758 if x != nil {
759 return x.Name
760 }
761 return ""
762 }
763
764
765 type CreateProductSetRequest struct {
766 state protoimpl.MessageState
767 sizeCache protoimpl.SizeCache
768 unknownFields protoimpl.UnknownFields
769
770
771
772
773 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
774
775 ProductSet *ProductSet `protobuf:"bytes,2,opt,name=product_set,json=productSet,proto3" json:"product_set,omitempty"`
776
777
778
779
780 ProductSetId string `protobuf:"bytes,3,opt,name=product_set_id,json=productSetId,proto3" json:"product_set_id,omitempty"`
781 }
782
783 func (x *CreateProductSetRequest) Reset() {
784 *x = CreateProductSetRequest{}
785 if protoimpl.UnsafeEnabled {
786 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[9]
787 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
788 ms.StoreMessageInfo(mi)
789 }
790 }
791
792 func (x *CreateProductSetRequest) String() string {
793 return protoimpl.X.MessageStringOf(x)
794 }
795
796 func (*CreateProductSetRequest) ProtoMessage() {}
797
798 func (x *CreateProductSetRequest) ProtoReflect() protoreflect.Message {
799 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[9]
800 if protoimpl.UnsafeEnabled && x != nil {
801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
802 if ms.LoadMessageInfo() == nil {
803 ms.StoreMessageInfo(mi)
804 }
805 return ms
806 }
807 return mi.MessageOf(x)
808 }
809
810
811 func (*CreateProductSetRequest) Descriptor() ([]byte, []int) {
812 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{9}
813 }
814
815 func (x *CreateProductSetRequest) GetParent() string {
816 if x != nil {
817 return x.Parent
818 }
819 return ""
820 }
821
822 func (x *CreateProductSetRequest) GetProductSet() *ProductSet {
823 if x != nil {
824 return x.ProductSet
825 }
826 return nil
827 }
828
829 func (x *CreateProductSetRequest) GetProductSetId() string {
830 if x != nil {
831 return x.ProductSetId
832 }
833 return ""
834 }
835
836
837 type ListProductSetsRequest struct {
838 state protoimpl.MessageState
839 sizeCache protoimpl.SizeCache
840 unknownFields protoimpl.UnknownFields
841
842
843
844
845 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
846
847 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
848
849 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
850 }
851
852 func (x *ListProductSetsRequest) Reset() {
853 *x = ListProductSetsRequest{}
854 if protoimpl.UnsafeEnabled {
855 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[10]
856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
857 ms.StoreMessageInfo(mi)
858 }
859 }
860
861 func (x *ListProductSetsRequest) String() string {
862 return protoimpl.X.MessageStringOf(x)
863 }
864
865 func (*ListProductSetsRequest) ProtoMessage() {}
866
867 func (x *ListProductSetsRequest) ProtoReflect() protoreflect.Message {
868 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[10]
869 if protoimpl.UnsafeEnabled && x != nil {
870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
871 if ms.LoadMessageInfo() == nil {
872 ms.StoreMessageInfo(mi)
873 }
874 return ms
875 }
876 return mi.MessageOf(x)
877 }
878
879
880 func (*ListProductSetsRequest) Descriptor() ([]byte, []int) {
881 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{10}
882 }
883
884 func (x *ListProductSetsRequest) GetParent() string {
885 if x != nil {
886 return x.Parent
887 }
888 return ""
889 }
890
891 func (x *ListProductSetsRequest) GetPageSize() int32 {
892 if x != nil {
893 return x.PageSize
894 }
895 return 0
896 }
897
898 func (x *ListProductSetsRequest) GetPageToken() string {
899 if x != nil {
900 return x.PageToken
901 }
902 return ""
903 }
904
905
906 type ListProductSetsResponse struct {
907 state protoimpl.MessageState
908 sizeCache protoimpl.SizeCache
909 unknownFields protoimpl.UnknownFields
910
911
912 ProductSets []*ProductSet `protobuf:"bytes,1,rep,name=product_sets,json=productSets,proto3" json:"product_sets,omitempty"`
913
914
915 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
916 }
917
918 func (x *ListProductSetsResponse) Reset() {
919 *x = ListProductSetsResponse{}
920 if protoimpl.UnsafeEnabled {
921 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[11]
922 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
923 ms.StoreMessageInfo(mi)
924 }
925 }
926
927 func (x *ListProductSetsResponse) String() string {
928 return protoimpl.X.MessageStringOf(x)
929 }
930
931 func (*ListProductSetsResponse) ProtoMessage() {}
932
933 func (x *ListProductSetsResponse) ProtoReflect() protoreflect.Message {
934 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[11]
935 if protoimpl.UnsafeEnabled && x != nil {
936 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
937 if ms.LoadMessageInfo() == nil {
938 ms.StoreMessageInfo(mi)
939 }
940 return ms
941 }
942 return mi.MessageOf(x)
943 }
944
945
946 func (*ListProductSetsResponse) Descriptor() ([]byte, []int) {
947 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{11}
948 }
949
950 func (x *ListProductSetsResponse) GetProductSets() []*ProductSet {
951 if x != nil {
952 return x.ProductSets
953 }
954 return nil
955 }
956
957 func (x *ListProductSetsResponse) GetNextPageToken() string {
958 if x != nil {
959 return x.NextPageToken
960 }
961 return ""
962 }
963
964
965 type GetProductSetRequest struct {
966 state protoimpl.MessageState
967 sizeCache protoimpl.SizeCache
968 unknownFields protoimpl.UnknownFields
969
970
971
972
973
974 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
975 }
976
977 func (x *GetProductSetRequest) Reset() {
978 *x = GetProductSetRequest{}
979 if protoimpl.UnsafeEnabled {
980 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[12]
981 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
982 ms.StoreMessageInfo(mi)
983 }
984 }
985
986 func (x *GetProductSetRequest) String() string {
987 return protoimpl.X.MessageStringOf(x)
988 }
989
990 func (*GetProductSetRequest) ProtoMessage() {}
991
992 func (x *GetProductSetRequest) ProtoReflect() protoreflect.Message {
993 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[12]
994 if protoimpl.UnsafeEnabled && x != nil {
995 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
996 if ms.LoadMessageInfo() == nil {
997 ms.StoreMessageInfo(mi)
998 }
999 return ms
1000 }
1001 return mi.MessageOf(x)
1002 }
1003
1004
1005 func (*GetProductSetRequest) Descriptor() ([]byte, []int) {
1006 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{12}
1007 }
1008
1009 func (x *GetProductSetRequest) GetName() string {
1010 if x != nil {
1011 return x.Name
1012 }
1013 return ""
1014 }
1015
1016
1017 type UpdateProductSetRequest struct {
1018 state protoimpl.MessageState
1019 sizeCache protoimpl.SizeCache
1020 unknownFields protoimpl.UnknownFields
1021
1022
1023 ProductSet *ProductSet `protobuf:"bytes,1,opt,name=product_set,json=productSet,proto3" json:"product_set,omitempty"`
1024
1025
1026
1027
1028 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1029 }
1030
1031 func (x *UpdateProductSetRequest) Reset() {
1032 *x = UpdateProductSetRequest{}
1033 if protoimpl.UnsafeEnabled {
1034 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[13]
1035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1036 ms.StoreMessageInfo(mi)
1037 }
1038 }
1039
1040 func (x *UpdateProductSetRequest) String() string {
1041 return protoimpl.X.MessageStringOf(x)
1042 }
1043
1044 func (*UpdateProductSetRequest) ProtoMessage() {}
1045
1046 func (x *UpdateProductSetRequest) ProtoReflect() protoreflect.Message {
1047 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[13]
1048 if protoimpl.UnsafeEnabled && x != nil {
1049 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1050 if ms.LoadMessageInfo() == nil {
1051 ms.StoreMessageInfo(mi)
1052 }
1053 return ms
1054 }
1055 return mi.MessageOf(x)
1056 }
1057
1058
1059 func (*UpdateProductSetRequest) Descriptor() ([]byte, []int) {
1060 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{13}
1061 }
1062
1063 func (x *UpdateProductSetRequest) GetProductSet() *ProductSet {
1064 if x != nil {
1065 return x.ProductSet
1066 }
1067 return nil
1068 }
1069
1070 func (x *UpdateProductSetRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1071 if x != nil {
1072 return x.UpdateMask
1073 }
1074 return nil
1075 }
1076
1077
1078 type DeleteProductSetRequest struct {
1079 state protoimpl.MessageState
1080 sizeCache protoimpl.SizeCache
1081 unknownFields protoimpl.UnknownFields
1082
1083
1084
1085
1086
1087 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1088 }
1089
1090 func (x *DeleteProductSetRequest) Reset() {
1091 *x = DeleteProductSetRequest{}
1092 if protoimpl.UnsafeEnabled {
1093 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[14]
1094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1095 ms.StoreMessageInfo(mi)
1096 }
1097 }
1098
1099 func (x *DeleteProductSetRequest) String() string {
1100 return protoimpl.X.MessageStringOf(x)
1101 }
1102
1103 func (*DeleteProductSetRequest) ProtoMessage() {}
1104
1105 func (x *DeleteProductSetRequest) ProtoReflect() protoreflect.Message {
1106 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[14]
1107 if protoimpl.UnsafeEnabled && x != nil {
1108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1109 if ms.LoadMessageInfo() == nil {
1110 ms.StoreMessageInfo(mi)
1111 }
1112 return ms
1113 }
1114 return mi.MessageOf(x)
1115 }
1116
1117
1118 func (*DeleteProductSetRequest) Descriptor() ([]byte, []int) {
1119 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{14}
1120 }
1121
1122 func (x *DeleteProductSetRequest) GetName() string {
1123 if x != nil {
1124 return x.Name
1125 }
1126 return ""
1127 }
1128
1129
1130 type CreateReferenceImageRequest struct {
1131 state protoimpl.MessageState
1132 sizeCache protoimpl.SizeCache
1133 unknownFields protoimpl.UnknownFields
1134
1135
1136
1137
1138
1139
1140 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1141
1142
1143 ReferenceImage *ReferenceImage `protobuf:"bytes,2,opt,name=reference_image,json=referenceImage,proto3" json:"reference_image,omitempty"`
1144
1145
1146
1147
1148 ReferenceImageId string `protobuf:"bytes,3,opt,name=reference_image_id,json=referenceImageId,proto3" json:"reference_image_id,omitempty"`
1149 }
1150
1151 func (x *CreateReferenceImageRequest) Reset() {
1152 *x = CreateReferenceImageRequest{}
1153 if protoimpl.UnsafeEnabled {
1154 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[15]
1155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1156 ms.StoreMessageInfo(mi)
1157 }
1158 }
1159
1160 func (x *CreateReferenceImageRequest) String() string {
1161 return protoimpl.X.MessageStringOf(x)
1162 }
1163
1164 func (*CreateReferenceImageRequest) ProtoMessage() {}
1165
1166 func (x *CreateReferenceImageRequest) ProtoReflect() protoreflect.Message {
1167 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[15]
1168 if protoimpl.UnsafeEnabled && x != nil {
1169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1170 if ms.LoadMessageInfo() == nil {
1171 ms.StoreMessageInfo(mi)
1172 }
1173 return ms
1174 }
1175 return mi.MessageOf(x)
1176 }
1177
1178
1179 func (*CreateReferenceImageRequest) Descriptor() ([]byte, []int) {
1180 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{15}
1181 }
1182
1183 func (x *CreateReferenceImageRequest) GetParent() string {
1184 if x != nil {
1185 return x.Parent
1186 }
1187 return ""
1188 }
1189
1190 func (x *CreateReferenceImageRequest) GetReferenceImage() *ReferenceImage {
1191 if x != nil {
1192 return x.ReferenceImage
1193 }
1194 return nil
1195 }
1196
1197 func (x *CreateReferenceImageRequest) GetReferenceImageId() string {
1198 if x != nil {
1199 return x.ReferenceImageId
1200 }
1201 return ""
1202 }
1203
1204
1205 type ListReferenceImagesRequest struct {
1206 state protoimpl.MessageState
1207 sizeCache protoimpl.SizeCache
1208 unknownFields protoimpl.UnknownFields
1209
1210
1211
1212
1213
1214 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1215
1216 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1217
1218
1219
1220
1221 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1222 }
1223
1224 func (x *ListReferenceImagesRequest) Reset() {
1225 *x = ListReferenceImagesRequest{}
1226 if protoimpl.UnsafeEnabled {
1227 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[16]
1228 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1229 ms.StoreMessageInfo(mi)
1230 }
1231 }
1232
1233 func (x *ListReferenceImagesRequest) String() string {
1234 return protoimpl.X.MessageStringOf(x)
1235 }
1236
1237 func (*ListReferenceImagesRequest) ProtoMessage() {}
1238
1239 func (x *ListReferenceImagesRequest) ProtoReflect() protoreflect.Message {
1240 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[16]
1241 if protoimpl.UnsafeEnabled && x != nil {
1242 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1243 if ms.LoadMessageInfo() == nil {
1244 ms.StoreMessageInfo(mi)
1245 }
1246 return ms
1247 }
1248 return mi.MessageOf(x)
1249 }
1250
1251
1252 func (*ListReferenceImagesRequest) Descriptor() ([]byte, []int) {
1253 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{16}
1254 }
1255
1256 func (x *ListReferenceImagesRequest) GetParent() string {
1257 if x != nil {
1258 return x.Parent
1259 }
1260 return ""
1261 }
1262
1263 func (x *ListReferenceImagesRequest) GetPageSize() int32 {
1264 if x != nil {
1265 return x.PageSize
1266 }
1267 return 0
1268 }
1269
1270 func (x *ListReferenceImagesRequest) GetPageToken() string {
1271 if x != nil {
1272 return x.PageToken
1273 }
1274 return ""
1275 }
1276
1277
1278 type ListReferenceImagesResponse struct {
1279 state protoimpl.MessageState
1280 sizeCache protoimpl.SizeCache
1281 unknownFields protoimpl.UnknownFields
1282
1283
1284 ReferenceImages []*ReferenceImage `protobuf:"bytes,1,rep,name=reference_images,json=referenceImages,proto3" json:"reference_images,omitempty"`
1285
1286 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1287
1288 NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1289 }
1290
1291 func (x *ListReferenceImagesResponse) Reset() {
1292 *x = ListReferenceImagesResponse{}
1293 if protoimpl.UnsafeEnabled {
1294 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[17]
1295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1296 ms.StoreMessageInfo(mi)
1297 }
1298 }
1299
1300 func (x *ListReferenceImagesResponse) String() string {
1301 return protoimpl.X.MessageStringOf(x)
1302 }
1303
1304 func (*ListReferenceImagesResponse) ProtoMessage() {}
1305
1306 func (x *ListReferenceImagesResponse) ProtoReflect() protoreflect.Message {
1307 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[17]
1308 if protoimpl.UnsafeEnabled && x != nil {
1309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1310 if ms.LoadMessageInfo() == nil {
1311 ms.StoreMessageInfo(mi)
1312 }
1313 return ms
1314 }
1315 return mi.MessageOf(x)
1316 }
1317
1318
1319 func (*ListReferenceImagesResponse) Descriptor() ([]byte, []int) {
1320 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{17}
1321 }
1322
1323 func (x *ListReferenceImagesResponse) GetReferenceImages() []*ReferenceImage {
1324 if x != nil {
1325 return x.ReferenceImages
1326 }
1327 return nil
1328 }
1329
1330 func (x *ListReferenceImagesResponse) GetPageSize() int32 {
1331 if x != nil {
1332 return x.PageSize
1333 }
1334 return 0
1335 }
1336
1337 func (x *ListReferenceImagesResponse) GetNextPageToken() string {
1338 if x != nil {
1339 return x.NextPageToken
1340 }
1341 return ""
1342 }
1343
1344
1345 type GetReferenceImageRequest struct {
1346 state protoimpl.MessageState
1347 sizeCache protoimpl.SizeCache
1348 unknownFields protoimpl.UnknownFields
1349
1350
1351
1352
1353
1354
1355 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1356 }
1357
1358 func (x *GetReferenceImageRequest) Reset() {
1359 *x = GetReferenceImageRequest{}
1360 if protoimpl.UnsafeEnabled {
1361 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[18]
1362 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1363 ms.StoreMessageInfo(mi)
1364 }
1365 }
1366
1367 func (x *GetReferenceImageRequest) String() string {
1368 return protoimpl.X.MessageStringOf(x)
1369 }
1370
1371 func (*GetReferenceImageRequest) ProtoMessage() {}
1372
1373 func (x *GetReferenceImageRequest) ProtoReflect() protoreflect.Message {
1374 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[18]
1375 if protoimpl.UnsafeEnabled && x != nil {
1376 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1377 if ms.LoadMessageInfo() == nil {
1378 ms.StoreMessageInfo(mi)
1379 }
1380 return ms
1381 }
1382 return mi.MessageOf(x)
1383 }
1384
1385
1386 func (*GetReferenceImageRequest) Descriptor() ([]byte, []int) {
1387 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{18}
1388 }
1389
1390 func (x *GetReferenceImageRequest) GetName() string {
1391 if x != nil {
1392 return x.Name
1393 }
1394 return ""
1395 }
1396
1397
1398 type DeleteReferenceImageRequest struct {
1399 state protoimpl.MessageState
1400 sizeCache protoimpl.SizeCache
1401 unknownFields protoimpl.UnknownFields
1402
1403
1404
1405
1406
1407
1408 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1409 }
1410
1411 func (x *DeleteReferenceImageRequest) Reset() {
1412 *x = DeleteReferenceImageRequest{}
1413 if protoimpl.UnsafeEnabled {
1414 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[19]
1415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1416 ms.StoreMessageInfo(mi)
1417 }
1418 }
1419
1420 func (x *DeleteReferenceImageRequest) String() string {
1421 return protoimpl.X.MessageStringOf(x)
1422 }
1423
1424 func (*DeleteReferenceImageRequest) ProtoMessage() {}
1425
1426 func (x *DeleteReferenceImageRequest) ProtoReflect() protoreflect.Message {
1427 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[19]
1428 if protoimpl.UnsafeEnabled && x != nil {
1429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1430 if ms.LoadMessageInfo() == nil {
1431 ms.StoreMessageInfo(mi)
1432 }
1433 return ms
1434 }
1435 return mi.MessageOf(x)
1436 }
1437
1438
1439 func (*DeleteReferenceImageRequest) Descriptor() ([]byte, []int) {
1440 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{19}
1441 }
1442
1443 func (x *DeleteReferenceImageRequest) GetName() string {
1444 if x != nil {
1445 return x.Name
1446 }
1447 return ""
1448 }
1449
1450
1451 type AddProductToProductSetRequest struct {
1452 state protoimpl.MessageState
1453 sizeCache protoimpl.SizeCache
1454 unknownFields protoimpl.UnknownFields
1455
1456
1457
1458
1459
1460 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1461
1462
1463
1464
1465 Product string `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
1466 }
1467
1468 func (x *AddProductToProductSetRequest) Reset() {
1469 *x = AddProductToProductSetRequest{}
1470 if protoimpl.UnsafeEnabled {
1471 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[20]
1472 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1473 ms.StoreMessageInfo(mi)
1474 }
1475 }
1476
1477 func (x *AddProductToProductSetRequest) String() string {
1478 return protoimpl.X.MessageStringOf(x)
1479 }
1480
1481 func (*AddProductToProductSetRequest) ProtoMessage() {}
1482
1483 func (x *AddProductToProductSetRequest) ProtoReflect() protoreflect.Message {
1484 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[20]
1485 if protoimpl.UnsafeEnabled && x != nil {
1486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1487 if ms.LoadMessageInfo() == nil {
1488 ms.StoreMessageInfo(mi)
1489 }
1490 return ms
1491 }
1492 return mi.MessageOf(x)
1493 }
1494
1495
1496 func (*AddProductToProductSetRequest) Descriptor() ([]byte, []int) {
1497 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{20}
1498 }
1499
1500 func (x *AddProductToProductSetRequest) GetName() string {
1501 if x != nil {
1502 return x.Name
1503 }
1504 return ""
1505 }
1506
1507 func (x *AddProductToProductSetRequest) GetProduct() string {
1508 if x != nil {
1509 return x.Product
1510 }
1511 return ""
1512 }
1513
1514
1515 type RemoveProductFromProductSetRequest struct {
1516 state protoimpl.MessageState
1517 sizeCache protoimpl.SizeCache
1518 unknownFields protoimpl.UnknownFields
1519
1520
1521
1522
1523
1524 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1525
1526
1527
1528
1529
1530 Product string `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
1531 }
1532
1533 func (x *RemoveProductFromProductSetRequest) Reset() {
1534 *x = RemoveProductFromProductSetRequest{}
1535 if protoimpl.UnsafeEnabled {
1536 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[21]
1537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1538 ms.StoreMessageInfo(mi)
1539 }
1540 }
1541
1542 func (x *RemoveProductFromProductSetRequest) String() string {
1543 return protoimpl.X.MessageStringOf(x)
1544 }
1545
1546 func (*RemoveProductFromProductSetRequest) ProtoMessage() {}
1547
1548 func (x *RemoveProductFromProductSetRequest) ProtoReflect() protoreflect.Message {
1549 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[21]
1550 if protoimpl.UnsafeEnabled && x != nil {
1551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1552 if ms.LoadMessageInfo() == nil {
1553 ms.StoreMessageInfo(mi)
1554 }
1555 return ms
1556 }
1557 return mi.MessageOf(x)
1558 }
1559
1560
1561 func (*RemoveProductFromProductSetRequest) Descriptor() ([]byte, []int) {
1562 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{21}
1563 }
1564
1565 func (x *RemoveProductFromProductSetRequest) GetName() string {
1566 if x != nil {
1567 return x.Name
1568 }
1569 return ""
1570 }
1571
1572 func (x *RemoveProductFromProductSetRequest) GetProduct() string {
1573 if x != nil {
1574 return x.Product
1575 }
1576 return ""
1577 }
1578
1579
1580 type ListProductsInProductSetRequest struct {
1581 state protoimpl.MessageState
1582 sizeCache protoimpl.SizeCache
1583 unknownFields protoimpl.UnknownFields
1584
1585
1586
1587
1588
1589 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1590
1591 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1592
1593 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1594 }
1595
1596 func (x *ListProductsInProductSetRequest) Reset() {
1597 *x = ListProductsInProductSetRequest{}
1598 if protoimpl.UnsafeEnabled {
1599 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[22]
1600 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1601 ms.StoreMessageInfo(mi)
1602 }
1603 }
1604
1605 func (x *ListProductsInProductSetRequest) String() string {
1606 return protoimpl.X.MessageStringOf(x)
1607 }
1608
1609 func (*ListProductsInProductSetRequest) ProtoMessage() {}
1610
1611 func (x *ListProductsInProductSetRequest) ProtoReflect() protoreflect.Message {
1612 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[22]
1613 if protoimpl.UnsafeEnabled && x != nil {
1614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1615 if ms.LoadMessageInfo() == nil {
1616 ms.StoreMessageInfo(mi)
1617 }
1618 return ms
1619 }
1620 return mi.MessageOf(x)
1621 }
1622
1623
1624 func (*ListProductsInProductSetRequest) Descriptor() ([]byte, []int) {
1625 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{22}
1626 }
1627
1628 func (x *ListProductsInProductSetRequest) GetName() string {
1629 if x != nil {
1630 return x.Name
1631 }
1632 return ""
1633 }
1634
1635 func (x *ListProductsInProductSetRequest) GetPageSize() int32 {
1636 if x != nil {
1637 return x.PageSize
1638 }
1639 return 0
1640 }
1641
1642 func (x *ListProductsInProductSetRequest) GetPageToken() string {
1643 if x != nil {
1644 return x.PageToken
1645 }
1646 return ""
1647 }
1648
1649
1650 type ListProductsInProductSetResponse struct {
1651 state protoimpl.MessageState
1652 sizeCache protoimpl.SizeCache
1653 unknownFields protoimpl.UnknownFields
1654
1655
1656 Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
1657
1658
1659 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1660 }
1661
1662 func (x *ListProductsInProductSetResponse) Reset() {
1663 *x = ListProductsInProductSetResponse{}
1664 if protoimpl.UnsafeEnabled {
1665 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[23]
1666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1667 ms.StoreMessageInfo(mi)
1668 }
1669 }
1670
1671 func (x *ListProductsInProductSetResponse) String() string {
1672 return protoimpl.X.MessageStringOf(x)
1673 }
1674
1675 func (*ListProductsInProductSetResponse) ProtoMessage() {}
1676
1677 func (x *ListProductsInProductSetResponse) ProtoReflect() protoreflect.Message {
1678 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[23]
1679 if protoimpl.UnsafeEnabled && x != nil {
1680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1681 if ms.LoadMessageInfo() == nil {
1682 ms.StoreMessageInfo(mi)
1683 }
1684 return ms
1685 }
1686 return mi.MessageOf(x)
1687 }
1688
1689
1690 func (*ListProductsInProductSetResponse) Descriptor() ([]byte, []int) {
1691 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{23}
1692 }
1693
1694 func (x *ListProductsInProductSetResponse) GetProducts() []*Product {
1695 if x != nil {
1696 return x.Products
1697 }
1698 return nil
1699 }
1700
1701 func (x *ListProductsInProductSetResponse) GetNextPageToken() string {
1702 if x != nil {
1703 return x.NextPageToken
1704 }
1705 return ""
1706 }
1707
1708
1709
1710 type ImportProductSetsGcsSource struct {
1711 state protoimpl.MessageState
1712 sizeCache protoimpl.SizeCache
1713 unknownFields protoimpl.UnknownFields
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778 CsvFileUri string `protobuf:"bytes,1,opt,name=csv_file_uri,json=csvFileUri,proto3" json:"csv_file_uri,omitempty"`
1779 }
1780
1781 func (x *ImportProductSetsGcsSource) Reset() {
1782 *x = ImportProductSetsGcsSource{}
1783 if protoimpl.UnsafeEnabled {
1784 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[24]
1785 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1786 ms.StoreMessageInfo(mi)
1787 }
1788 }
1789
1790 func (x *ImportProductSetsGcsSource) String() string {
1791 return protoimpl.X.MessageStringOf(x)
1792 }
1793
1794 func (*ImportProductSetsGcsSource) ProtoMessage() {}
1795
1796 func (x *ImportProductSetsGcsSource) ProtoReflect() protoreflect.Message {
1797 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[24]
1798 if protoimpl.UnsafeEnabled && x != nil {
1799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1800 if ms.LoadMessageInfo() == nil {
1801 ms.StoreMessageInfo(mi)
1802 }
1803 return ms
1804 }
1805 return mi.MessageOf(x)
1806 }
1807
1808
1809 func (*ImportProductSetsGcsSource) Descriptor() ([]byte, []int) {
1810 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{24}
1811 }
1812
1813 func (x *ImportProductSetsGcsSource) GetCsvFileUri() string {
1814 if x != nil {
1815 return x.CsvFileUri
1816 }
1817 return ""
1818 }
1819
1820
1821 type ImportProductSetsInputConfig struct {
1822 state protoimpl.MessageState
1823 sizeCache protoimpl.SizeCache
1824 unknownFields protoimpl.UnknownFields
1825
1826
1827
1828
1829
1830 Source isImportProductSetsInputConfig_Source `protobuf_oneof:"source"`
1831 }
1832
1833 func (x *ImportProductSetsInputConfig) Reset() {
1834 *x = ImportProductSetsInputConfig{}
1835 if protoimpl.UnsafeEnabled {
1836 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[25]
1837 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1838 ms.StoreMessageInfo(mi)
1839 }
1840 }
1841
1842 func (x *ImportProductSetsInputConfig) String() string {
1843 return protoimpl.X.MessageStringOf(x)
1844 }
1845
1846 func (*ImportProductSetsInputConfig) ProtoMessage() {}
1847
1848 func (x *ImportProductSetsInputConfig) ProtoReflect() protoreflect.Message {
1849 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[25]
1850 if protoimpl.UnsafeEnabled && x != nil {
1851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1852 if ms.LoadMessageInfo() == nil {
1853 ms.StoreMessageInfo(mi)
1854 }
1855 return ms
1856 }
1857 return mi.MessageOf(x)
1858 }
1859
1860
1861 func (*ImportProductSetsInputConfig) Descriptor() ([]byte, []int) {
1862 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{25}
1863 }
1864
1865 func (m *ImportProductSetsInputConfig) GetSource() isImportProductSetsInputConfig_Source {
1866 if m != nil {
1867 return m.Source
1868 }
1869 return nil
1870 }
1871
1872 func (x *ImportProductSetsInputConfig) GetGcsSource() *ImportProductSetsGcsSource {
1873 if x, ok := x.GetSource().(*ImportProductSetsInputConfig_GcsSource); ok {
1874 return x.GcsSource
1875 }
1876 return nil
1877 }
1878
1879 type isImportProductSetsInputConfig_Source interface {
1880 isImportProductSetsInputConfig_Source()
1881 }
1882
1883 type ImportProductSetsInputConfig_GcsSource struct {
1884
1885
1886 GcsSource *ImportProductSetsGcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
1887 }
1888
1889 func (*ImportProductSetsInputConfig_GcsSource) isImportProductSetsInputConfig_Source() {}
1890
1891
1892 type ImportProductSetsRequest struct {
1893 state protoimpl.MessageState
1894 sizeCache protoimpl.SizeCache
1895 unknownFields protoimpl.UnknownFields
1896
1897
1898
1899
1900 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1901
1902 InputConfig *ImportProductSetsInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
1903 }
1904
1905 func (x *ImportProductSetsRequest) Reset() {
1906 *x = ImportProductSetsRequest{}
1907 if protoimpl.UnsafeEnabled {
1908 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[26]
1909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1910 ms.StoreMessageInfo(mi)
1911 }
1912 }
1913
1914 func (x *ImportProductSetsRequest) String() string {
1915 return protoimpl.X.MessageStringOf(x)
1916 }
1917
1918 func (*ImportProductSetsRequest) ProtoMessage() {}
1919
1920 func (x *ImportProductSetsRequest) ProtoReflect() protoreflect.Message {
1921 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[26]
1922 if protoimpl.UnsafeEnabled && x != nil {
1923 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1924 if ms.LoadMessageInfo() == nil {
1925 ms.StoreMessageInfo(mi)
1926 }
1927 return ms
1928 }
1929 return mi.MessageOf(x)
1930 }
1931
1932
1933 func (*ImportProductSetsRequest) Descriptor() ([]byte, []int) {
1934 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{26}
1935 }
1936
1937 func (x *ImportProductSetsRequest) GetParent() string {
1938 if x != nil {
1939 return x.Parent
1940 }
1941 return ""
1942 }
1943
1944 func (x *ImportProductSetsRequest) GetInputConfig() *ImportProductSetsInputConfig {
1945 if x != nil {
1946 return x.InputConfig
1947 }
1948 return nil
1949 }
1950
1951
1952
1953
1954
1955
1956
1957
1958 type ImportProductSetsResponse struct {
1959 state protoimpl.MessageState
1960 sizeCache protoimpl.SizeCache
1961 unknownFields protoimpl.UnknownFields
1962
1963
1964 ReferenceImages []*ReferenceImage `protobuf:"bytes,1,rep,name=reference_images,json=referenceImages,proto3" json:"reference_images,omitempty"`
1965
1966
1967
1968
1969
1970
1971 Statuses []*status.Status `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
1972 }
1973
1974 func (x *ImportProductSetsResponse) Reset() {
1975 *x = ImportProductSetsResponse{}
1976 if protoimpl.UnsafeEnabled {
1977 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[27]
1978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1979 ms.StoreMessageInfo(mi)
1980 }
1981 }
1982
1983 func (x *ImportProductSetsResponse) String() string {
1984 return protoimpl.X.MessageStringOf(x)
1985 }
1986
1987 func (*ImportProductSetsResponse) ProtoMessage() {}
1988
1989 func (x *ImportProductSetsResponse) ProtoReflect() protoreflect.Message {
1990 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[27]
1991 if protoimpl.UnsafeEnabled && x != nil {
1992 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1993 if ms.LoadMessageInfo() == nil {
1994 ms.StoreMessageInfo(mi)
1995 }
1996 return ms
1997 }
1998 return mi.MessageOf(x)
1999 }
2000
2001
2002 func (*ImportProductSetsResponse) Descriptor() ([]byte, []int) {
2003 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{27}
2004 }
2005
2006 func (x *ImportProductSetsResponse) GetReferenceImages() []*ReferenceImage {
2007 if x != nil {
2008 return x.ReferenceImages
2009 }
2010 return nil
2011 }
2012
2013 func (x *ImportProductSetsResponse) GetStatuses() []*status.Status {
2014 if x != nil {
2015 return x.Statuses
2016 }
2017 return nil
2018 }
2019
2020
2021
2022
2023
2024 type BatchOperationMetadata struct {
2025 state protoimpl.MessageState
2026 sizeCache protoimpl.SizeCache
2027 unknownFields protoimpl.UnknownFields
2028
2029
2030 State BatchOperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p4beta1.BatchOperationMetadata_State" json:"state,omitempty"`
2031
2032 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2033
2034
2035
2036 EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
2037 }
2038
2039 func (x *BatchOperationMetadata) Reset() {
2040 *x = BatchOperationMetadata{}
2041 if protoimpl.UnsafeEnabled {
2042 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[28]
2043 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2044 ms.StoreMessageInfo(mi)
2045 }
2046 }
2047
2048 func (x *BatchOperationMetadata) String() string {
2049 return protoimpl.X.MessageStringOf(x)
2050 }
2051
2052 func (*BatchOperationMetadata) ProtoMessage() {}
2053
2054 func (x *BatchOperationMetadata) ProtoReflect() protoreflect.Message {
2055 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[28]
2056 if protoimpl.UnsafeEnabled && x != nil {
2057 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2058 if ms.LoadMessageInfo() == nil {
2059 ms.StoreMessageInfo(mi)
2060 }
2061 return ms
2062 }
2063 return mi.MessageOf(x)
2064 }
2065
2066
2067 func (*BatchOperationMetadata) Descriptor() ([]byte, []int) {
2068 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{28}
2069 }
2070
2071 func (x *BatchOperationMetadata) GetState() BatchOperationMetadata_State {
2072 if x != nil {
2073 return x.State
2074 }
2075 return BatchOperationMetadata_STATE_UNSPECIFIED
2076 }
2077
2078 func (x *BatchOperationMetadata) GetSubmitTime() *timestamppb.Timestamp {
2079 if x != nil {
2080 return x.SubmitTime
2081 }
2082 return nil
2083 }
2084
2085 func (x *BatchOperationMetadata) GetEndTime() *timestamppb.Timestamp {
2086 if x != nil {
2087 return x.EndTime
2088 }
2089 return nil
2090 }
2091
2092
2093 type ProductSetPurgeConfig struct {
2094 state protoimpl.MessageState
2095 sizeCache protoimpl.SizeCache
2096 unknownFields protoimpl.UnknownFields
2097
2098
2099
2100
2101 ProductSetId string `protobuf:"bytes,1,opt,name=product_set_id,json=productSetId,proto3" json:"product_set_id,omitempty"`
2102 }
2103
2104 func (x *ProductSetPurgeConfig) Reset() {
2105 *x = ProductSetPurgeConfig{}
2106 if protoimpl.UnsafeEnabled {
2107 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[29]
2108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2109 ms.StoreMessageInfo(mi)
2110 }
2111 }
2112
2113 func (x *ProductSetPurgeConfig) String() string {
2114 return protoimpl.X.MessageStringOf(x)
2115 }
2116
2117 func (*ProductSetPurgeConfig) ProtoMessage() {}
2118
2119 func (x *ProductSetPurgeConfig) ProtoReflect() protoreflect.Message {
2120 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[29]
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 (*ProductSetPurgeConfig) Descriptor() ([]byte, []int) {
2133 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{29}
2134 }
2135
2136 func (x *ProductSetPurgeConfig) GetProductSetId() string {
2137 if x != nil {
2138 return x.ProductSetId
2139 }
2140 return ""
2141 }
2142
2143
2144 type PurgeProductsRequest struct {
2145 state protoimpl.MessageState
2146 sizeCache protoimpl.SizeCache
2147 unknownFields protoimpl.UnknownFields
2148
2149
2150
2151
2152
2153
2154 Target isPurgeProductsRequest_Target `protobuf_oneof:"target"`
2155
2156
2157
2158 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2159
2160
2161 Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"`
2162 }
2163
2164 func (x *PurgeProductsRequest) Reset() {
2165 *x = PurgeProductsRequest{}
2166 if protoimpl.UnsafeEnabled {
2167 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[30]
2168 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2169 ms.StoreMessageInfo(mi)
2170 }
2171 }
2172
2173 func (x *PurgeProductsRequest) String() string {
2174 return protoimpl.X.MessageStringOf(x)
2175 }
2176
2177 func (*PurgeProductsRequest) ProtoMessage() {}
2178
2179 func (x *PurgeProductsRequest) ProtoReflect() protoreflect.Message {
2180 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[30]
2181 if protoimpl.UnsafeEnabled && x != nil {
2182 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2183 if ms.LoadMessageInfo() == nil {
2184 ms.StoreMessageInfo(mi)
2185 }
2186 return ms
2187 }
2188 return mi.MessageOf(x)
2189 }
2190
2191
2192 func (*PurgeProductsRequest) Descriptor() ([]byte, []int) {
2193 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{30}
2194 }
2195
2196 func (m *PurgeProductsRequest) GetTarget() isPurgeProductsRequest_Target {
2197 if m != nil {
2198 return m.Target
2199 }
2200 return nil
2201 }
2202
2203 func (x *PurgeProductsRequest) GetProductSetPurgeConfig() *ProductSetPurgeConfig {
2204 if x, ok := x.GetTarget().(*PurgeProductsRequest_ProductSetPurgeConfig); ok {
2205 return x.ProductSetPurgeConfig
2206 }
2207 return nil
2208 }
2209
2210 func (x *PurgeProductsRequest) GetDeleteOrphanProducts() bool {
2211 if x, ok := x.GetTarget().(*PurgeProductsRequest_DeleteOrphanProducts); ok {
2212 return x.DeleteOrphanProducts
2213 }
2214 return false
2215 }
2216
2217 func (x *PurgeProductsRequest) GetParent() string {
2218 if x != nil {
2219 return x.Parent
2220 }
2221 return ""
2222 }
2223
2224 func (x *PurgeProductsRequest) GetForce() bool {
2225 if x != nil {
2226 return x.Force
2227 }
2228 return false
2229 }
2230
2231 type isPurgeProductsRequest_Target interface {
2232 isPurgeProductsRequest_Target()
2233 }
2234
2235 type PurgeProductsRequest_ProductSetPurgeConfig struct {
2236
2237 ProductSetPurgeConfig *ProductSetPurgeConfig `protobuf:"bytes,2,opt,name=product_set_purge_config,json=productSetPurgeConfig,proto3,oneof"`
2238 }
2239
2240 type PurgeProductsRequest_DeleteOrphanProducts struct {
2241
2242
2243 DeleteOrphanProducts bool `protobuf:"varint,3,opt,name=delete_orphan_products,json=deleteOrphanProducts,proto3,oneof"`
2244 }
2245
2246 func (*PurgeProductsRequest_ProductSetPurgeConfig) isPurgeProductsRequest_Target() {}
2247
2248 func (*PurgeProductsRequest_DeleteOrphanProducts) isPurgeProductsRequest_Target() {}
2249
2250
2251 type Product_KeyValue struct {
2252 state protoimpl.MessageState
2253 sizeCache protoimpl.SizeCache
2254 unknownFields protoimpl.UnknownFields
2255
2256
2257
2258 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
2259
2260
2261 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
2262 }
2263
2264 func (x *Product_KeyValue) Reset() {
2265 *x = Product_KeyValue{}
2266 if protoimpl.UnsafeEnabled {
2267 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[31]
2268 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2269 ms.StoreMessageInfo(mi)
2270 }
2271 }
2272
2273 func (x *Product_KeyValue) String() string {
2274 return protoimpl.X.MessageStringOf(x)
2275 }
2276
2277 func (*Product_KeyValue) ProtoMessage() {}
2278
2279 func (x *Product_KeyValue) ProtoReflect() protoreflect.Message {
2280 mi := &file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[31]
2281 if protoimpl.UnsafeEnabled && x != nil {
2282 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2283 if ms.LoadMessageInfo() == nil {
2284 ms.StoreMessageInfo(mi)
2285 }
2286 return ms
2287 }
2288 return mi.MessageOf(x)
2289 }
2290
2291
2292 func (*Product_KeyValue) Descriptor() ([]byte, []int) {
2293 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP(), []int{0, 0}
2294 }
2295
2296 func (x *Product_KeyValue) GetKey() string {
2297 if x != nil {
2298 return x.Key
2299 }
2300 return ""
2301 }
2302
2303 func (x *Product_KeyValue) GetValue() string {
2304 if x != nil {
2305 return x.Value
2306 }
2307 return ""
2308 }
2309
2310 var File_google_cloud_vision_v1p4beta1_product_search_service_proto protoreflect.FileDescriptor
2311
2312 var file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDesc = []byte{
2313 0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
2314 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2315 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73,
2316 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f,
2317 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2318 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
2319 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
2320 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2321 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
2322 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66,
2323 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72,
2324 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
2325 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c,
2326 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73,
2327 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65,
2328 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f,
2329 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
2330 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2331 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2332 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
2333 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
2334 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2335 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2336 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2337 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74,
2338 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x02, 0x0a, 0x07, 0x50,
2339 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
2340 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69,
2341 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
2342 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
2343 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2344 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2345 0x2e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67,
2346 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f,
2347 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
2348 0x56, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c,
2349 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2350 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2351 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e,
2352 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
2353 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61,
2354 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2355 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
2356 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x5e, 0xea, 0x41, 0x5b,
2357 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2358 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12,
2359 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2360 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
2361 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2362 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x7d, 0x22, 0xa7, 0x02, 0x0a, 0x0a,
2363 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
2364 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21,
2365 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
2366 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
2367 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
2368 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2369 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
2370 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d,
2371 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
2372 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2373 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2374 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x68, 0xea, 0x41, 0x65,
2375 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2376 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2377 0x65, 0x74, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
2378 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2379 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64,
2380 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2381 0x5f, 0x73, 0x65, 0x74, 0x7d, 0x22, 0x9f, 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
2382 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2383 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03,
2384 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03,
2385 0x75, 0x72, 0x69, 0x12, 0x57, 0x0a, 0x0e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f,
2386 0x70, 0x6f, 0x6c, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
2387 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2388 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
2389 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x62,
2390 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x73, 0x3a, 0x88, 0x01, 0xea,
2391 0x41, 0x84, 0x01, 0x0a, 0x24, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2392 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x66, 0x65, 0x72,
2393 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2394 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f,
2395 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2396 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
2397 0x64, 0x75, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49,
2398 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
2399 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61,
2400 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2401 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2402 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
2403 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2404 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72,
2405 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02,
2406 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2407 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2408 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
2409 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
2410 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
2411 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x4c, 0x69,
2412 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2413 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
2414 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2415 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2416 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61,
2417 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
2418 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
2419 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
2420 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
2421 0x22, 0x82, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2422 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x72, 0x6f,
2423 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
2424 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2425 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64,
2426 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a,
2427 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
2428 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
2429 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64,
2430 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61,
2431 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f,
2432 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2433 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
2434 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
2435 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45,
2436 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2437 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2438 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2439 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72,
2440 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2441 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
2442 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
2443 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61,
2444 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64,
2445 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61,
2446 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f,
2447 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2448 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
2449 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
2450 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2451 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
2452 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2453 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2454 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61,
2455 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
2456 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2457 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
2458 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2459 0x74, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75,
2460 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2461 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70,
2462 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x16,
2463 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x52,
2464 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
2465 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21,
2466 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2467 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2468 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
2469 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
2470 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
2471 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
2472 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72,
2473 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2474 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74,
2475 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2476 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2477 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2478 0x65, 0x74, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x12,
2479 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
2480 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
2481 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72,
2482 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2483 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0,
2484 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f,
2485 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
2486 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01,
2487 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2488 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
2489 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
2490 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2491 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50,
2492 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
2493 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70,
2494 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2495 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2496 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64,
2497 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x57, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74,
2498 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
2499 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2500 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2501 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2502 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2503 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72,
2504 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2505 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2506 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2507 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2508 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2509 0x5b, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61,
2510 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2511 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2512 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
2513 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65,
2514 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x12,
2515 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
2516 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
2517 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x4c,
2518 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67,
2519 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72,
2520 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41,
2521 0x1f, 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2522 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2523 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
2524 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
2525 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
2526 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
2527 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66,
2528 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
2529 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
2530 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
2531 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2532 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52,
2533 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x72,
2534 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b,
2535 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
2536 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
2537 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
2538 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
2539 0x6b, 0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
2540 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2541 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0,
2542 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f,
2543 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x66,
2544 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d,
2545 0x65, 0x22, 0x5f, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72,
2546 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2547 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c,
2548 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67,
2549 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65,
2550 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x6e, 0x61,
2551 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2552 0x74, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71,
2553 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2554 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69,
2555 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2556 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61,
2557 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20,
2558 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x76, 0x69, 0x73,
2559 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2560 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64,
2561 0x75, 0x63, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x22, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72,
2562 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2563 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61,
2564 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22,
2565 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2566 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2567 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64,
2568 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41,
2569 0x1f, 0x0a, 0x1d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2570 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2571 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x1f, 0x4c, 0x69,
2572 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x64,
2573 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a,
2574 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02,
2575 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2576 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75,
2577 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70,
2578 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
2579 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
2580 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
2581 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74,
2582 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2583 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x08,
2584 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
2585 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2586 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50,
2587 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73,
2588 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
2589 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
2590 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3e, 0x0a, 0x1a, 0x49, 0x6d, 0x70, 0x6f,
2591 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x47, 0x63, 0x73,
2592 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x73, 0x76, 0x5f, 0x66, 0x69,
2593 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x73,
2594 0x76, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x22, 0x84, 0x01, 0x0a, 0x1c, 0x49, 0x6d, 0x70,
2595 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x49, 0x6e,
2596 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x0a, 0x67, 0x63, 0x73,
2597 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e,
2598 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2599 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d,
2600 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x47,
2601 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53,
2602 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
2603 0xc2, 0x01, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2604 0x74, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06,
2605 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
2606 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
2607 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c,
2608 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2609 0x63, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
2610 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2611 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
2612 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64,
2613 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
2614 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
2615 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa5, 0x01, 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50,
2616 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2617 0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f,
2618 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
2619 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2620 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66,
2621 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x66,
2622 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08,
2623 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
2624 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
2625 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xba, 0x02, 0x0a,
2626 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
2627 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
2628 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2629 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2630 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72,
2631 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74,
2632 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75,
2633 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2634 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2635 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62,
2636 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
2637 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2638 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
2639 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59,
2640 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45,
2641 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e,
2642 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e,
2643 0x0a, 0x0a, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x02, 0x12, 0x0a,
2644 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41,
2645 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x22, 0x3d, 0x0a, 0x15, 0x50, 0x72, 0x6f,
2646 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66,
2647 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65,
2648 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64,
2649 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0xa2, 0x02, 0x0a, 0x14, 0x50, 0x75, 0x72,
2650 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2651 0x74, 0x12, 0x6f, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74,
2652 0x5f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
2653 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2654 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
2655 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x50, 0x75,
2656 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x70, 0x72, 0x6f,
2657 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66,
2658 0x69, 0x67, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x72, 0x70,
2659 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
2660 0x28, 0x08, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x70, 0x68,
2661 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
2662 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
2663 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
2664 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
2665 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a,
2666 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
2667 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x32, 0xd2, 0x20,
2668 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12,
2669 0xe6, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2670 0x74, 0x53, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2671 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2672 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75,
2673 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
2674 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2675 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f,
2676 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x22,
2677 0x36, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
2678 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
2679 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64,
2680 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x3a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2681 0x5f, 0x73, 0x65, 0x74, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72,
2682 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
2683 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xc9, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73,
2684 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67,
2685 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2686 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73,
2687 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
2688 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2689 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
2690 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2691 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4,
2692 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2693 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2694 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
2695 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61,
2696 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb6, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64,
2697 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2698 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2699 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2700 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f,
2701 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2702 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64,
2703 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36,
2704 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
2705 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2706 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2707 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe8, 0x01,
2708 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2709 0x65, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2710 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2711 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2712 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
2713 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2714 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
2715 0x63, 0x74, 0x53, 0x65, 0x74, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x32, 0x42, 0x2f,
2716 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75,
2717 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2718 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2719 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a,
2720 0x7d, 0x3a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0xda, 0x41,
2721 0x17, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64,
2722 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xa9, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c,
2723 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x36, 0x2e,
2724 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2725 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65,
2726 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65,
2727 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2728 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x45, 0x82,
2729 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
2730 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2731 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70,
2732 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04,
2733 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xce, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
2734 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2735 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2736 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
2737 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f,
2738 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2739 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64,
2740 0x75, 0x63, 0x74, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x33, 0x2f, 0x76, 0x31,
2741 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
2742 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2743 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73,
2744 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65,
2745 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75,
2746 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xbd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72,
2747 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2748 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2749 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
2750 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
2751 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2752 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50,
2753 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
2754 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
2755 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2756 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2757 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70,
2758 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xaa, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
2759 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2760 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2761 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
2762 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2763 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2764 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x42,
2765 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2766 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2767 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
2768 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
2769 0x6d, 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
2770 0x64, 0x75, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2771 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2772 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75,
2773 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2774 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
2775 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2776 0x74, 0x22, 0x62, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x32, 0x3b, 0x2f, 0x76, 0x31, 0x70, 0x34,
2777 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e,
2778 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
2779 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75,
2780 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda,
2781 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
2782 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xa0, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
2783 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2784 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2785 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72,
2786 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
2787 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
2788 0x6d, 0x70, 0x74, 0x79, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x2a, 0x33, 0x2f, 0x76,
2789 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
2790 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
2791 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a,
2792 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8e, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65,
2793 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67,
2794 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2795 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
2796 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
2797 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
2798 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2799 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65,
2800 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x01, 0x82,
2801 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
2802 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2803 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
2804 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x66,
2805 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x0f, 0x72, 0x65,
2806 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0xda, 0x41, 0x29,
2807 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
2808 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
2809 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc0, 0x01, 0x0a, 0x14, 0x44, 0x65,
2810 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61,
2811 0x67, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2812 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2813 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
2814 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
2815 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2816 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45,
2817 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
2818 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2819 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73,
2820 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67,
2821 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe4, 0x01, 0x0a,
2822 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d,
2823 0x61, 0x67, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2824 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2825 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
2826 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
2827 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2828 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2829 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61,
2830 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4,
2831 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2832 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2833 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70,
2834 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72,
2835 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72,
2836 0x65, 0x6e, 0x74, 0x12, 0xd1, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72,
2837 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2838 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
2839 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x66,
2840 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
2841 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2842 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2843 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67,
2844 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x70, 0x34,
2845 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2846 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2847 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65,
2848 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
2849 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50,
2850 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2851 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2852 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2853 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x6f, 0x50,
2854 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2855 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2856 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46,
2857 0x22, 0x41, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
2858 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
2859 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
2860 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x64,
2861 0x75, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x72,
2862 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0xd8, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
2863 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x64, 0x75,
2864 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2865 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
2866 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x64,
2867 0x75, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65,
2868 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2869 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
2870 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62,
2871 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2872 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2873 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
2874 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x3a, 0x01,
2875 0x2a, 0xda, 0x41, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2876 0x12, 0xeb, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2877 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x3e, 0x2e,
2878 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2879 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
2880 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x64,
2881 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e,
2882 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2883 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
2884 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x64,
2885 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e,
2886 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
2887 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2888 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
2889 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70,
2890 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x82,
2891 0x02, 0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2892 0x53, 0x65, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2893 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
2894 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
2895 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
2896 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
2897 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x82,
2898 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
2899 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2900 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
2901 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x73, 0x3a, 0x69, 0x6d,
2902 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
2903 0x2c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x33,
2904 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
2905 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x42, 0x61, 0x74,
2906 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
2907 0x61, 0x74, 0x61, 0x12, 0xe4, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f,
2908 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2909 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
2910 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75,
2911 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
2912 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
2913 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02,
2914 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
2915 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
2916 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72,
2917 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda,
2918 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0xca, 0x41, 0x2f, 0x0a, 0x15, 0x67, 0x6f, 0x6f,
2919 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
2920 0x74, 0x79, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
2921 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76,
2922 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2923 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
2924 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2925 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
2926 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
2927 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2928 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69,
2929 0x6f, 0x6e, 0x42, 0x8f, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2930 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2931 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x19, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2932 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
2933 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
2934 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74,
2935 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f,
2936 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
2937 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04,
2938 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2939 }
2940
2941 var (
2942 file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescOnce sync.Once
2943 file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescData = file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDesc
2944 )
2945
2946 func file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescGZIP() []byte {
2947 file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescOnce.Do(func() {
2948 file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescData)
2949 })
2950 return file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDescData
2951 }
2952
2953 var file_google_cloud_vision_v1p4beta1_product_search_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
2954 var file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
2955 var file_google_cloud_vision_v1p4beta1_product_search_service_proto_goTypes = []interface{}{
2956 (BatchOperationMetadata_State)(0),
2957 (*Product)(nil),
2958 (*ProductSet)(nil),
2959 (*ReferenceImage)(nil),
2960 (*CreateProductRequest)(nil),
2961 (*ListProductsRequest)(nil),
2962 (*ListProductsResponse)(nil),
2963 (*GetProductRequest)(nil),
2964 (*UpdateProductRequest)(nil),
2965 (*DeleteProductRequest)(nil),
2966 (*CreateProductSetRequest)(nil),
2967 (*ListProductSetsRequest)(nil),
2968 (*ListProductSetsResponse)(nil),
2969 (*GetProductSetRequest)(nil),
2970 (*UpdateProductSetRequest)(nil),
2971 (*DeleteProductSetRequest)(nil),
2972 (*CreateReferenceImageRequest)(nil),
2973 (*ListReferenceImagesRequest)(nil),
2974 (*ListReferenceImagesResponse)(nil),
2975 (*GetReferenceImageRequest)(nil),
2976 (*DeleteReferenceImageRequest)(nil),
2977 (*AddProductToProductSetRequest)(nil),
2978 (*RemoveProductFromProductSetRequest)(nil),
2979 (*ListProductsInProductSetRequest)(nil),
2980 (*ListProductsInProductSetResponse)(nil),
2981 (*ImportProductSetsGcsSource)(nil),
2982 (*ImportProductSetsInputConfig)(nil),
2983 (*ImportProductSetsRequest)(nil),
2984 (*ImportProductSetsResponse)(nil),
2985 (*BatchOperationMetadata)(nil),
2986 (*ProductSetPurgeConfig)(nil),
2987 (*PurgeProductsRequest)(nil),
2988 (*Product_KeyValue)(nil),
2989 (*timestamppb.Timestamp)(nil),
2990 (*status.Status)(nil),
2991 (*BoundingPoly)(nil),
2992 (*fieldmaskpb.FieldMask)(nil),
2993 (*emptypb.Empty)(nil),
2994 (*longrunning.Operation)(nil),
2995 }
2996 var file_google_cloud_vision_v1p4beta1_product_search_service_proto_depIdxs = []int32{
2997 32,
2998 33,
2999 34,
3000 35,
3001 1,
3002 1,
3003 1,
3004 36,
3005 2,
3006 2,
3007 2,
3008 36,
3009 3,
3010 3,
3011 1,
3012 25,
3013 26,
3014 3,
3015 34,
3016 0,
3017 33,
3018 33,
3019 30,
3020 10,
3021 11,
3022 13,
3023 14,
3024 15,
3025 4,
3026 5,
3027 7,
3028 8,
3029 9,
3030 16,
3031 20,
3032 17,
3033 19,
3034 21,
3035 22,
3036 23,
3037 27,
3038 31,
3039 2,
3040 12,
3041 2,
3042 2,
3043 37,
3044 1,
3045 6,
3046 1,
3047 1,
3048 37,
3049 3,
3050 37,
3051 18,
3052 3,
3053 37,
3054 37,
3055 24,
3056 38,
3057 38,
3058 42,
3059 23,
3060 23,
3061 23,
3062 0,
3063 }
3064
3065 func init() { file_google_cloud_vision_v1p4beta1_product_search_service_proto_init() }
3066 func file_google_cloud_vision_v1p4beta1_product_search_service_proto_init() {
3067 if File_google_cloud_vision_v1p4beta1_product_search_service_proto != nil {
3068 return
3069 }
3070 file_google_cloud_vision_v1p4beta1_geometry_proto_init()
3071 if !protoimpl.UnsafeEnabled {
3072 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3073 switch v := v.(*Product); i {
3074 case 0:
3075 return &v.state
3076 case 1:
3077 return &v.sizeCache
3078 case 2:
3079 return &v.unknownFields
3080 default:
3081 return nil
3082 }
3083 }
3084 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3085 switch v := v.(*ProductSet); i {
3086 case 0:
3087 return &v.state
3088 case 1:
3089 return &v.sizeCache
3090 case 2:
3091 return &v.unknownFields
3092 default:
3093 return nil
3094 }
3095 }
3096 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3097 switch v := v.(*ReferenceImage); i {
3098 case 0:
3099 return &v.state
3100 case 1:
3101 return &v.sizeCache
3102 case 2:
3103 return &v.unknownFields
3104 default:
3105 return nil
3106 }
3107 }
3108 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3109 switch v := v.(*CreateProductRequest); i {
3110 case 0:
3111 return &v.state
3112 case 1:
3113 return &v.sizeCache
3114 case 2:
3115 return &v.unknownFields
3116 default:
3117 return nil
3118 }
3119 }
3120 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3121 switch v := v.(*ListProductsRequest); i {
3122 case 0:
3123 return &v.state
3124 case 1:
3125 return &v.sizeCache
3126 case 2:
3127 return &v.unknownFields
3128 default:
3129 return nil
3130 }
3131 }
3132 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3133 switch v := v.(*ListProductsResponse); i {
3134 case 0:
3135 return &v.state
3136 case 1:
3137 return &v.sizeCache
3138 case 2:
3139 return &v.unknownFields
3140 default:
3141 return nil
3142 }
3143 }
3144 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3145 switch v := v.(*GetProductRequest); i {
3146 case 0:
3147 return &v.state
3148 case 1:
3149 return &v.sizeCache
3150 case 2:
3151 return &v.unknownFields
3152 default:
3153 return nil
3154 }
3155 }
3156 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3157 switch v := v.(*UpdateProductRequest); i {
3158 case 0:
3159 return &v.state
3160 case 1:
3161 return &v.sizeCache
3162 case 2:
3163 return &v.unknownFields
3164 default:
3165 return nil
3166 }
3167 }
3168 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3169 switch v := v.(*DeleteProductRequest); i {
3170 case 0:
3171 return &v.state
3172 case 1:
3173 return &v.sizeCache
3174 case 2:
3175 return &v.unknownFields
3176 default:
3177 return nil
3178 }
3179 }
3180 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3181 switch v := v.(*CreateProductSetRequest); i {
3182 case 0:
3183 return &v.state
3184 case 1:
3185 return &v.sizeCache
3186 case 2:
3187 return &v.unknownFields
3188 default:
3189 return nil
3190 }
3191 }
3192 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3193 switch v := v.(*ListProductSetsRequest); i {
3194 case 0:
3195 return &v.state
3196 case 1:
3197 return &v.sizeCache
3198 case 2:
3199 return &v.unknownFields
3200 default:
3201 return nil
3202 }
3203 }
3204 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3205 switch v := v.(*ListProductSetsResponse); i {
3206 case 0:
3207 return &v.state
3208 case 1:
3209 return &v.sizeCache
3210 case 2:
3211 return &v.unknownFields
3212 default:
3213 return nil
3214 }
3215 }
3216 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3217 switch v := v.(*GetProductSetRequest); i {
3218 case 0:
3219 return &v.state
3220 case 1:
3221 return &v.sizeCache
3222 case 2:
3223 return &v.unknownFields
3224 default:
3225 return nil
3226 }
3227 }
3228 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3229 switch v := v.(*UpdateProductSetRequest); i {
3230 case 0:
3231 return &v.state
3232 case 1:
3233 return &v.sizeCache
3234 case 2:
3235 return &v.unknownFields
3236 default:
3237 return nil
3238 }
3239 }
3240 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3241 switch v := v.(*DeleteProductSetRequest); i {
3242 case 0:
3243 return &v.state
3244 case 1:
3245 return &v.sizeCache
3246 case 2:
3247 return &v.unknownFields
3248 default:
3249 return nil
3250 }
3251 }
3252 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3253 switch v := v.(*CreateReferenceImageRequest); i {
3254 case 0:
3255 return &v.state
3256 case 1:
3257 return &v.sizeCache
3258 case 2:
3259 return &v.unknownFields
3260 default:
3261 return nil
3262 }
3263 }
3264 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3265 switch v := v.(*ListReferenceImagesRequest); i {
3266 case 0:
3267 return &v.state
3268 case 1:
3269 return &v.sizeCache
3270 case 2:
3271 return &v.unknownFields
3272 default:
3273 return nil
3274 }
3275 }
3276 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3277 switch v := v.(*ListReferenceImagesResponse); i {
3278 case 0:
3279 return &v.state
3280 case 1:
3281 return &v.sizeCache
3282 case 2:
3283 return &v.unknownFields
3284 default:
3285 return nil
3286 }
3287 }
3288 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3289 switch v := v.(*GetReferenceImageRequest); i {
3290 case 0:
3291 return &v.state
3292 case 1:
3293 return &v.sizeCache
3294 case 2:
3295 return &v.unknownFields
3296 default:
3297 return nil
3298 }
3299 }
3300 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3301 switch v := v.(*DeleteReferenceImageRequest); i {
3302 case 0:
3303 return &v.state
3304 case 1:
3305 return &v.sizeCache
3306 case 2:
3307 return &v.unknownFields
3308 default:
3309 return nil
3310 }
3311 }
3312 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3313 switch v := v.(*AddProductToProductSetRequest); i {
3314 case 0:
3315 return &v.state
3316 case 1:
3317 return &v.sizeCache
3318 case 2:
3319 return &v.unknownFields
3320 default:
3321 return nil
3322 }
3323 }
3324 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3325 switch v := v.(*RemoveProductFromProductSetRequest); i {
3326 case 0:
3327 return &v.state
3328 case 1:
3329 return &v.sizeCache
3330 case 2:
3331 return &v.unknownFields
3332 default:
3333 return nil
3334 }
3335 }
3336 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3337 switch v := v.(*ListProductsInProductSetRequest); i {
3338 case 0:
3339 return &v.state
3340 case 1:
3341 return &v.sizeCache
3342 case 2:
3343 return &v.unknownFields
3344 default:
3345 return nil
3346 }
3347 }
3348 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3349 switch v := v.(*ListProductsInProductSetResponse); i {
3350 case 0:
3351 return &v.state
3352 case 1:
3353 return &v.sizeCache
3354 case 2:
3355 return &v.unknownFields
3356 default:
3357 return nil
3358 }
3359 }
3360 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3361 switch v := v.(*ImportProductSetsGcsSource); i {
3362 case 0:
3363 return &v.state
3364 case 1:
3365 return &v.sizeCache
3366 case 2:
3367 return &v.unknownFields
3368 default:
3369 return nil
3370 }
3371 }
3372 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3373 switch v := v.(*ImportProductSetsInputConfig); i {
3374 case 0:
3375 return &v.state
3376 case 1:
3377 return &v.sizeCache
3378 case 2:
3379 return &v.unknownFields
3380 default:
3381 return nil
3382 }
3383 }
3384 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3385 switch v := v.(*ImportProductSetsRequest); i {
3386 case 0:
3387 return &v.state
3388 case 1:
3389 return &v.sizeCache
3390 case 2:
3391 return &v.unknownFields
3392 default:
3393 return nil
3394 }
3395 }
3396 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
3397 switch v := v.(*ImportProductSetsResponse); i {
3398 case 0:
3399 return &v.state
3400 case 1:
3401 return &v.sizeCache
3402 case 2:
3403 return &v.unknownFields
3404 default:
3405 return nil
3406 }
3407 }
3408 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
3409 switch v := v.(*BatchOperationMetadata); i {
3410 case 0:
3411 return &v.state
3412 case 1:
3413 return &v.sizeCache
3414 case 2:
3415 return &v.unknownFields
3416 default:
3417 return nil
3418 }
3419 }
3420 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
3421 switch v := v.(*ProductSetPurgeConfig); i {
3422 case 0:
3423 return &v.state
3424 case 1:
3425 return &v.sizeCache
3426 case 2:
3427 return &v.unknownFields
3428 default:
3429 return nil
3430 }
3431 }
3432 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
3433 switch v := v.(*PurgeProductsRequest); i {
3434 case 0:
3435 return &v.state
3436 case 1:
3437 return &v.sizeCache
3438 case 2:
3439 return &v.unknownFields
3440 default:
3441 return nil
3442 }
3443 }
3444 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
3445 switch v := v.(*Product_KeyValue); i {
3446 case 0:
3447 return &v.state
3448 case 1:
3449 return &v.sizeCache
3450 case 2:
3451 return &v.unknownFields
3452 default:
3453 return nil
3454 }
3455 }
3456 }
3457 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[25].OneofWrappers = []interface{}{
3458 (*ImportProductSetsInputConfig_GcsSource)(nil),
3459 }
3460 file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes[30].OneofWrappers = []interface{}{
3461 (*PurgeProductsRequest_ProductSetPurgeConfig)(nil),
3462 (*PurgeProductsRequest_DeleteOrphanProducts)(nil),
3463 }
3464 type x struct{}
3465 out := protoimpl.TypeBuilder{
3466 File: protoimpl.DescBuilder{
3467 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3468 RawDescriptor: file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDesc,
3469 NumEnums: 1,
3470 NumMessages: 32,
3471 NumExtensions: 0,
3472 NumServices: 1,
3473 },
3474 GoTypes: file_google_cloud_vision_v1p4beta1_product_search_service_proto_goTypes,
3475 DependencyIndexes: file_google_cloud_vision_v1p4beta1_product_search_service_proto_depIdxs,
3476 EnumInfos: file_google_cloud_vision_v1p4beta1_product_search_service_proto_enumTypes,
3477 MessageInfos: file_google_cloud_vision_v1p4beta1_product_search_service_proto_msgTypes,
3478 }.Build()
3479 File_google_cloud_vision_v1p4beta1_product_search_service_proto = out.File
3480 file_google_cloud_vision_v1p4beta1_product_search_service_proto_rawDesc = nil
3481 file_google_cloud_vision_v1p4beta1_product_search_service_proto_goTypes = nil
3482 file_google_cloud_vision_v1p4beta1_product_search_service_proto_depIdxs = nil
3483 }
3484
3485
3486 var _ context.Context
3487 var _ grpc.ClientConnInterface
3488
3489
3490
3491 const _ = grpc.SupportPackageIsVersion6
3492
3493
3494
3495
3496 type ProductSearchClient interface {
3497
3498
3499
3500
3501
3502
3503 CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
3504
3505
3506
3507
3508
3509
3510 ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error)
3511
3512
3513
3514
3515
3516 GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
3517
3518
3519
3520
3521
3522
3523
3524
3525 UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
3526
3527
3528
3529
3530 DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3531
3532
3533
3534
3535
3536
3537
3538
3539 CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
3540
3541
3542
3543
3544
3545 ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error)
3546
3547
3548
3549
3550
3551 GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567 UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
3568
3569
3570
3571
3572
3573 DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593 CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
3594
3595
3596
3597
3598
3599
3600
3601 DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3602
3603
3604
3605
3606
3607
3608
3609 ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error)
3610
3611
3612
3613
3614
3615 GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
3616
3617
3618
3619
3620
3621
3622
3623
3624 AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3625
3626 RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3627
3628
3629
3630
3631
3632
3633
3634 ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error)
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646 ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671 PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
3672 }
3673
3674 type productSearchClient struct {
3675 cc grpc.ClientConnInterface
3676 }
3677
3678 func NewProductSearchClient(cc grpc.ClientConnInterface) ProductSearchClient {
3679 return &productSearchClient{cc}
3680 }
3681
3682 func (c *productSearchClient) CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
3683 out := new(ProductSet)
3684 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/CreateProductSet", in, out, opts...)
3685 if err != nil {
3686 return nil, err
3687 }
3688 return out, nil
3689 }
3690
3691 func (c *productSearchClient) ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error) {
3692 out := new(ListProductSetsResponse)
3693 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/ListProductSets", in, out, opts...)
3694 if err != nil {
3695 return nil, err
3696 }
3697 return out, nil
3698 }
3699
3700 func (c *productSearchClient) GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
3701 out := new(ProductSet)
3702 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/GetProductSet", in, out, opts...)
3703 if err != nil {
3704 return nil, err
3705 }
3706 return out, nil
3707 }
3708
3709 func (c *productSearchClient) UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
3710 out := new(ProductSet)
3711 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/UpdateProductSet", in, out, opts...)
3712 if err != nil {
3713 return nil, err
3714 }
3715 return out, nil
3716 }
3717
3718 func (c *productSearchClient) DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3719 out := new(emptypb.Empty)
3720 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteProductSet", in, out, opts...)
3721 if err != nil {
3722 return nil, err
3723 }
3724 return out, nil
3725 }
3726
3727 func (c *productSearchClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) {
3728 out := new(Product)
3729 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/CreateProduct", in, out, opts...)
3730 if err != nil {
3731 return nil, err
3732 }
3733 return out, nil
3734 }
3735
3736 func (c *productSearchClient) ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error) {
3737 out := new(ListProductsResponse)
3738 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/ListProducts", in, out, opts...)
3739 if err != nil {
3740 return nil, err
3741 }
3742 return out, nil
3743 }
3744
3745 func (c *productSearchClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) {
3746 out := new(Product)
3747 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/GetProduct", in, out, opts...)
3748 if err != nil {
3749 return nil, err
3750 }
3751 return out, nil
3752 }
3753
3754 func (c *productSearchClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) {
3755 out := new(Product)
3756 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/UpdateProduct", in, out, opts...)
3757 if err != nil {
3758 return nil, err
3759 }
3760 return out, nil
3761 }
3762
3763 func (c *productSearchClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3764 out := new(emptypb.Empty)
3765 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteProduct", in, out, opts...)
3766 if err != nil {
3767 return nil, err
3768 }
3769 return out, nil
3770 }
3771
3772 func (c *productSearchClient) CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
3773 out := new(ReferenceImage)
3774 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/CreateReferenceImage", in, out, opts...)
3775 if err != nil {
3776 return nil, err
3777 }
3778 return out, nil
3779 }
3780
3781 func (c *productSearchClient) DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3782 out := new(emptypb.Empty)
3783 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteReferenceImage", in, out, opts...)
3784 if err != nil {
3785 return nil, err
3786 }
3787 return out, nil
3788 }
3789
3790 func (c *productSearchClient) ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error) {
3791 out := new(ListReferenceImagesResponse)
3792 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/ListReferenceImages", in, out, opts...)
3793 if err != nil {
3794 return nil, err
3795 }
3796 return out, nil
3797 }
3798
3799 func (c *productSearchClient) GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
3800 out := new(ReferenceImage)
3801 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/GetReferenceImage", in, out, opts...)
3802 if err != nil {
3803 return nil, err
3804 }
3805 return out, nil
3806 }
3807
3808 func (c *productSearchClient) AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3809 out := new(emptypb.Empty)
3810 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/AddProductToProductSet", in, out, opts...)
3811 if err != nil {
3812 return nil, err
3813 }
3814 return out, nil
3815 }
3816
3817 func (c *productSearchClient) RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3818 out := new(emptypb.Empty)
3819 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/RemoveProductFromProductSet", in, out, opts...)
3820 if err != nil {
3821 return nil, err
3822 }
3823 return out, nil
3824 }
3825
3826 func (c *productSearchClient) ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error) {
3827 out := new(ListProductsInProductSetResponse)
3828 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/ListProductsInProductSet", in, out, opts...)
3829 if err != nil {
3830 return nil, err
3831 }
3832 return out, nil
3833 }
3834
3835 func (c *productSearchClient) ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
3836 out := new(longrunning.Operation)
3837 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/ImportProductSets", in, out, opts...)
3838 if err != nil {
3839 return nil, err
3840 }
3841 return out, nil
3842 }
3843
3844 func (c *productSearchClient) PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
3845 out := new(longrunning.Operation)
3846 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ProductSearch/PurgeProducts", in, out, opts...)
3847 if err != nil {
3848 return nil, err
3849 }
3850 return out, nil
3851 }
3852
3853
3854 type ProductSearchServer interface {
3855
3856
3857
3858
3859
3860
3861 CreateProductSet(context.Context, *CreateProductSetRequest) (*ProductSet, error)
3862
3863
3864
3865
3866
3867
3868 ListProductSets(context.Context, *ListProductSetsRequest) (*ListProductSetsResponse, error)
3869
3870
3871
3872
3873
3874 GetProductSet(context.Context, *GetProductSetRequest) (*ProductSet, error)
3875
3876
3877
3878
3879
3880
3881
3882
3883 UpdateProductSet(context.Context, *UpdateProductSetRequest) (*ProductSet, error)
3884
3885
3886
3887
3888 DeleteProductSet(context.Context, *DeleteProductSetRequest) (*emptypb.Empty, error)
3889
3890
3891
3892
3893
3894
3895
3896
3897 CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
3898
3899
3900
3901
3902
3903 ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)
3904
3905
3906
3907
3908
3909 GetProduct(context.Context, *GetProductRequest) (*Product, error)
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925 UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
3926
3927
3928
3929
3930
3931 DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error)
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951 CreateReferenceImage(context.Context, *CreateReferenceImageRequest) (*ReferenceImage, error)
3952
3953
3954
3955
3956
3957
3958
3959 DeleteReferenceImage(context.Context, *DeleteReferenceImageRequest) (*emptypb.Empty, error)
3960
3961
3962
3963
3964
3965
3966
3967 ListReferenceImages(context.Context, *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error)
3968
3969
3970
3971
3972
3973 GetReferenceImage(context.Context, *GetReferenceImageRequest) (*ReferenceImage, error)
3974
3975
3976
3977
3978
3979
3980
3981
3982 AddProductToProductSet(context.Context, *AddProductToProductSetRequest) (*emptypb.Empty, error)
3983
3984 RemoveProductFromProductSet(context.Context, *RemoveProductFromProductSetRequest) (*emptypb.Empty, error)
3985
3986
3987
3988
3989
3990
3991
3992 ListProductsInProductSet(context.Context, *ListProductsInProductSetRequest) (*ListProductsInProductSetResponse, error)
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004 ImportProductSets(context.Context, *ImportProductSetsRequest) (*longrunning.Operation, error)
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029 PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error)
4030 }
4031
4032
4033 type UnimplementedProductSearchServer struct {
4034 }
4035
4036 func (*UnimplementedProductSearchServer) CreateProductSet(context.Context, *CreateProductSetRequest) (*ProductSet, error) {
4037 return nil, status1.Errorf(codes.Unimplemented, "method CreateProductSet not implemented")
4038 }
4039 func (*UnimplementedProductSearchServer) ListProductSets(context.Context, *ListProductSetsRequest) (*ListProductSetsResponse, error) {
4040 return nil, status1.Errorf(codes.Unimplemented, "method ListProductSets not implemented")
4041 }
4042 func (*UnimplementedProductSearchServer) GetProductSet(context.Context, *GetProductSetRequest) (*ProductSet, error) {
4043 return nil, status1.Errorf(codes.Unimplemented, "method GetProductSet not implemented")
4044 }
4045 func (*UnimplementedProductSearchServer) UpdateProductSet(context.Context, *UpdateProductSetRequest) (*ProductSet, error) {
4046 return nil, status1.Errorf(codes.Unimplemented, "method UpdateProductSet not implemented")
4047 }
4048 func (*UnimplementedProductSearchServer) DeleteProductSet(context.Context, *DeleteProductSetRequest) (*emptypb.Empty, error) {
4049 return nil, status1.Errorf(codes.Unimplemented, "method DeleteProductSet not implemented")
4050 }
4051 func (*UnimplementedProductSearchServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) {
4052 return nil, status1.Errorf(codes.Unimplemented, "method CreateProduct not implemented")
4053 }
4054 func (*UnimplementedProductSearchServer) ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error) {
4055 return nil, status1.Errorf(codes.Unimplemented, "method ListProducts not implemented")
4056 }
4057 func (*UnimplementedProductSearchServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) {
4058 return nil, status1.Errorf(codes.Unimplemented, "method GetProduct not implemented")
4059 }
4060 func (*UnimplementedProductSearchServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) {
4061 return nil, status1.Errorf(codes.Unimplemented, "method UpdateProduct not implemented")
4062 }
4063 func (*UnimplementedProductSearchServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) {
4064 return nil, status1.Errorf(codes.Unimplemented, "method DeleteProduct not implemented")
4065 }
4066 func (*UnimplementedProductSearchServer) CreateReferenceImage(context.Context, *CreateReferenceImageRequest) (*ReferenceImage, error) {
4067 return nil, status1.Errorf(codes.Unimplemented, "method CreateReferenceImage not implemented")
4068 }
4069 func (*UnimplementedProductSearchServer) DeleteReferenceImage(context.Context, *DeleteReferenceImageRequest) (*emptypb.Empty, error) {
4070 return nil, status1.Errorf(codes.Unimplemented, "method DeleteReferenceImage not implemented")
4071 }
4072 func (*UnimplementedProductSearchServer) ListReferenceImages(context.Context, *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error) {
4073 return nil, status1.Errorf(codes.Unimplemented, "method ListReferenceImages not implemented")
4074 }
4075 func (*UnimplementedProductSearchServer) GetReferenceImage(context.Context, *GetReferenceImageRequest) (*ReferenceImage, error) {
4076 return nil, status1.Errorf(codes.Unimplemented, "method GetReferenceImage not implemented")
4077 }
4078 func (*UnimplementedProductSearchServer) AddProductToProductSet(context.Context, *AddProductToProductSetRequest) (*emptypb.Empty, error) {
4079 return nil, status1.Errorf(codes.Unimplemented, "method AddProductToProductSet not implemented")
4080 }
4081 func (*UnimplementedProductSearchServer) RemoveProductFromProductSet(context.Context, *RemoveProductFromProductSetRequest) (*emptypb.Empty, error) {
4082 return nil, status1.Errorf(codes.Unimplemented, "method RemoveProductFromProductSet not implemented")
4083 }
4084 func (*UnimplementedProductSearchServer) ListProductsInProductSet(context.Context, *ListProductsInProductSetRequest) (*ListProductsInProductSetResponse, error) {
4085 return nil, status1.Errorf(codes.Unimplemented, "method ListProductsInProductSet not implemented")
4086 }
4087 func (*UnimplementedProductSearchServer) ImportProductSets(context.Context, *ImportProductSetsRequest) (*longrunning.Operation, error) {
4088 return nil, status1.Errorf(codes.Unimplemented, "method ImportProductSets not implemented")
4089 }
4090 func (*UnimplementedProductSearchServer) PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) {
4091 return nil, status1.Errorf(codes.Unimplemented, "method PurgeProducts not implemented")
4092 }
4093
4094 func RegisterProductSearchServer(s *grpc.Server, srv ProductSearchServer) {
4095 s.RegisterService(&_ProductSearch_serviceDesc, srv)
4096 }
4097
4098 func _ProductSearch_CreateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4099 in := new(CreateProductSetRequest)
4100 if err := dec(in); err != nil {
4101 return nil, err
4102 }
4103 if interceptor == nil {
4104 return srv.(ProductSearchServer).CreateProductSet(ctx, in)
4105 }
4106 info := &grpc.UnaryServerInfo{
4107 Server: srv,
4108 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/CreateProductSet",
4109 }
4110 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4111 return srv.(ProductSearchServer).CreateProductSet(ctx, req.(*CreateProductSetRequest))
4112 }
4113 return interceptor(ctx, in, info, handler)
4114 }
4115
4116 func _ProductSearch_ListProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4117 in := new(ListProductSetsRequest)
4118 if err := dec(in); err != nil {
4119 return nil, err
4120 }
4121 if interceptor == nil {
4122 return srv.(ProductSearchServer).ListProductSets(ctx, in)
4123 }
4124 info := &grpc.UnaryServerInfo{
4125 Server: srv,
4126 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/ListProductSets",
4127 }
4128 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4129 return srv.(ProductSearchServer).ListProductSets(ctx, req.(*ListProductSetsRequest))
4130 }
4131 return interceptor(ctx, in, info, handler)
4132 }
4133
4134 func _ProductSearch_GetProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4135 in := new(GetProductSetRequest)
4136 if err := dec(in); err != nil {
4137 return nil, err
4138 }
4139 if interceptor == nil {
4140 return srv.(ProductSearchServer).GetProductSet(ctx, in)
4141 }
4142 info := &grpc.UnaryServerInfo{
4143 Server: srv,
4144 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/GetProductSet",
4145 }
4146 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4147 return srv.(ProductSearchServer).GetProductSet(ctx, req.(*GetProductSetRequest))
4148 }
4149 return interceptor(ctx, in, info, handler)
4150 }
4151
4152 func _ProductSearch_UpdateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4153 in := new(UpdateProductSetRequest)
4154 if err := dec(in); err != nil {
4155 return nil, err
4156 }
4157 if interceptor == nil {
4158 return srv.(ProductSearchServer).UpdateProductSet(ctx, in)
4159 }
4160 info := &grpc.UnaryServerInfo{
4161 Server: srv,
4162 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/UpdateProductSet",
4163 }
4164 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4165 return srv.(ProductSearchServer).UpdateProductSet(ctx, req.(*UpdateProductSetRequest))
4166 }
4167 return interceptor(ctx, in, info, handler)
4168 }
4169
4170 func _ProductSearch_DeleteProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4171 in := new(DeleteProductSetRequest)
4172 if err := dec(in); err != nil {
4173 return nil, err
4174 }
4175 if interceptor == nil {
4176 return srv.(ProductSearchServer).DeleteProductSet(ctx, in)
4177 }
4178 info := &grpc.UnaryServerInfo{
4179 Server: srv,
4180 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteProductSet",
4181 }
4182 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4183 return srv.(ProductSearchServer).DeleteProductSet(ctx, req.(*DeleteProductSetRequest))
4184 }
4185 return interceptor(ctx, in, info, handler)
4186 }
4187
4188 func _ProductSearch_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4189 in := new(CreateProductRequest)
4190 if err := dec(in); err != nil {
4191 return nil, err
4192 }
4193 if interceptor == nil {
4194 return srv.(ProductSearchServer).CreateProduct(ctx, in)
4195 }
4196 info := &grpc.UnaryServerInfo{
4197 Server: srv,
4198 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/CreateProduct",
4199 }
4200 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4201 return srv.(ProductSearchServer).CreateProduct(ctx, req.(*CreateProductRequest))
4202 }
4203 return interceptor(ctx, in, info, handler)
4204 }
4205
4206 func _ProductSearch_ListProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4207 in := new(ListProductsRequest)
4208 if err := dec(in); err != nil {
4209 return nil, err
4210 }
4211 if interceptor == nil {
4212 return srv.(ProductSearchServer).ListProducts(ctx, in)
4213 }
4214 info := &grpc.UnaryServerInfo{
4215 Server: srv,
4216 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/ListProducts",
4217 }
4218 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4219 return srv.(ProductSearchServer).ListProducts(ctx, req.(*ListProductsRequest))
4220 }
4221 return interceptor(ctx, in, info, handler)
4222 }
4223
4224 func _ProductSearch_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4225 in := new(GetProductRequest)
4226 if err := dec(in); err != nil {
4227 return nil, err
4228 }
4229 if interceptor == nil {
4230 return srv.(ProductSearchServer).GetProduct(ctx, in)
4231 }
4232 info := &grpc.UnaryServerInfo{
4233 Server: srv,
4234 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/GetProduct",
4235 }
4236 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4237 return srv.(ProductSearchServer).GetProduct(ctx, req.(*GetProductRequest))
4238 }
4239 return interceptor(ctx, in, info, handler)
4240 }
4241
4242 func _ProductSearch_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4243 in := new(UpdateProductRequest)
4244 if err := dec(in); err != nil {
4245 return nil, err
4246 }
4247 if interceptor == nil {
4248 return srv.(ProductSearchServer).UpdateProduct(ctx, in)
4249 }
4250 info := &grpc.UnaryServerInfo{
4251 Server: srv,
4252 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/UpdateProduct",
4253 }
4254 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4255 return srv.(ProductSearchServer).UpdateProduct(ctx, req.(*UpdateProductRequest))
4256 }
4257 return interceptor(ctx, in, info, handler)
4258 }
4259
4260 func _ProductSearch_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4261 in := new(DeleteProductRequest)
4262 if err := dec(in); err != nil {
4263 return nil, err
4264 }
4265 if interceptor == nil {
4266 return srv.(ProductSearchServer).DeleteProduct(ctx, in)
4267 }
4268 info := &grpc.UnaryServerInfo{
4269 Server: srv,
4270 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteProduct",
4271 }
4272 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4273 return srv.(ProductSearchServer).DeleteProduct(ctx, req.(*DeleteProductRequest))
4274 }
4275 return interceptor(ctx, in, info, handler)
4276 }
4277
4278 func _ProductSearch_CreateReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4279 in := new(CreateReferenceImageRequest)
4280 if err := dec(in); err != nil {
4281 return nil, err
4282 }
4283 if interceptor == nil {
4284 return srv.(ProductSearchServer).CreateReferenceImage(ctx, in)
4285 }
4286 info := &grpc.UnaryServerInfo{
4287 Server: srv,
4288 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/CreateReferenceImage",
4289 }
4290 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4291 return srv.(ProductSearchServer).CreateReferenceImage(ctx, req.(*CreateReferenceImageRequest))
4292 }
4293 return interceptor(ctx, in, info, handler)
4294 }
4295
4296 func _ProductSearch_DeleteReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4297 in := new(DeleteReferenceImageRequest)
4298 if err := dec(in); err != nil {
4299 return nil, err
4300 }
4301 if interceptor == nil {
4302 return srv.(ProductSearchServer).DeleteReferenceImage(ctx, in)
4303 }
4304 info := &grpc.UnaryServerInfo{
4305 Server: srv,
4306 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/DeleteReferenceImage",
4307 }
4308 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4309 return srv.(ProductSearchServer).DeleteReferenceImage(ctx, req.(*DeleteReferenceImageRequest))
4310 }
4311 return interceptor(ctx, in, info, handler)
4312 }
4313
4314 func _ProductSearch_ListReferenceImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4315 in := new(ListReferenceImagesRequest)
4316 if err := dec(in); err != nil {
4317 return nil, err
4318 }
4319 if interceptor == nil {
4320 return srv.(ProductSearchServer).ListReferenceImages(ctx, in)
4321 }
4322 info := &grpc.UnaryServerInfo{
4323 Server: srv,
4324 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/ListReferenceImages",
4325 }
4326 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4327 return srv.(ProductSearchServer).ListReferenceImages(ctx, req.(*ListReferenceImagesRequest))
4328 }
4329 return interceptor(ctx, in, info, handler)
4330 }
4331
4332 func _ProductSearch_GetReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4333 in := new(GetReferenceImageRequest)
4334 if err := dec(in); err != nil {
4335 return nil, err
4336 }
4337 if interceptor == nil {
4338 return srv.(ProductSearchServer).GetReferenceImage(ctx, in)
4339 }
4340 info := &grpc.UnaryServerInfo{
4341 Server: srv,
4342 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/GetReferenceImage",
4343 }
4344 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4345 return srv.(ProductSearchServer).GetReferenceImage(ctx, req.(*GetReferenceImageRequest))
4346 }
4347 return interceptor(ctx, in, info, handler)
4348 }
4349
4350 func _ProductSearch_AddProductToProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4351 in := new(AddProductToProductSetRequest)
4352 if err := dec(in); err != nil {
4353 return nil, err
4354 }
4355 if interceptor == nil {
4356 return srv.(ProductSearchServer).AddProductToProductSet(ctx, in)
4357 }
4358 info := &grpc.UnaryServerInfo{
4359 Server: srv,
4360 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/AddProductToProductSet",
4361 }
4362 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4363 return srv.(ProductSearchServer).AddProductToProductSet(ctx, req.(*AddProductToProductSetRequest))
4364 }
4365 return interceptor(ctx, in, info, handler)
4366 }
4367
4368 func _ProductSearch_RemoveProductFromProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4369 in := new(RemoveProductFromProductSetRequest)
4370 if err := dec(in); err != nil {
4371 return nil, err
4372 }
4373 if interceptor == nil {
4374 return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, in)
4375 }
4376 info := &grpc.UnaryServerInfo{
4377 Server: srv,
4378 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/RemoveProductFromProductSet",
4379 }
4380 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4381 return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, req.(*RemoveProductFromProductSetRequest))
4382 }
4383 return interceptor(ctx, in, info, handler)
4384 }
4385
4386 func _ProductSearch_ListProductsInProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4387 in := new(ListProductsInProductSetRequest)
4388 if err := dec(in); err != nil {
4389 return nil, err
4390 }
4391 if interceptor == nil {
4392 return srv.(ProductSearchServer).ListProductsInProductSet(ctx, in)
4393 }
4394 info := &grpc.UnaryServerInfo{
4395 Server: srv,
4396 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/ListProductsInProductSet",
4397 }
4398 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4399 return srv.(ProductSearchServer).ListProductsInProductSet(ctx, req.(*ListProductsInProductSetRequest))
4400 }
4401 return interceptor(ctx, in, info, handler)
4402 }
4403
4404 func _ProductSearch_ImportProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4405 in := new(ImportProductSetsRequest)
4406 if err := dec(in); err != nil {
4407 return nil, err
4408 }
4409 if interceptor == nil {
4410 return srv.(ProductSearchServer).ImportProductSets(ctx, in)
4411 }
4412 info := &grpc.UnaryServerInfo{
4413 Server: srv,
4414 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/ImportProductSets",
4415 }
4416 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4417 return srv.(ProductSearchServer).ImportProductSets(ctx, req.(*ImportProductSetsRequest))
4418 }
4419 return interceptor(ctx, in, info, handler)
4420 }
4421
4422 func _ProductSearch_PurgeProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4423 in := new(PurgeProductsRequest)
4424 if err := dec(in); err != nil {
4425 return nil, err
4426 }
4427 if interceptor == nil {
4428 return srv.(ProductSearchServer).PurgeProducts(ctx, in)
4429 }
4430 info := &grpc.UnaryServerInfo{
4431 Server: srv,
4432 FullMethod: "/google.cloud.vision.v1p4beta1.ProductSearch/PurgeProducts",
4433 }
4434 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4435 return srv.(ProductSearchServer).PurgeProducts(ctx, req.(*PurgeProductsRequest))
4436 }
4437 return interceptor(ctx, in, info, handler)
4438 }
4439
4440 var _ProductSearch_serviceDesc = grpc.ServiceDesc{
4441 ServiceName: "google.cloud.vision.v1p4beta1.ProductSearch",
4442 HandlerType: (*ProductSearchServer)(nil),
4443 Methods: []grpc.MethodDesc{
4444 {
4445 MethodName: "CreateProductSet",
4446 Handler: _ProductSearch_CreateProductSet_Handler,
4447 },
4448 {
4449 MethodName: "ListProductSets",
4450 Handler: _ProductSearch_ListProductSets_Handler,
4451 },
4452 {
4453 MethodName: "GetProductSet",
4454 Handler: _ProductSearch_GetProductSet_Handler,
4455 },
4456 {
4457 MethodName: "UpdateProductSet",
4458 Handler: _ProductSearch_UpdateProductSet_Handler,
4459 },
4460 {
4461 MethodName: "DeleteProductSet",
4462 Handler: _ProductSearch_DeleteProductSet_Handler,
4463 },
4464 {
4465 MethodName: "CreateProduct",
4466 Handler: _ProductSearch_CreateProduct_Handler,
4467 },
4468 {
4469 MethodName: "ListProducts",
4470 Handler: _ProductSearch_ListProducts_Handler,
4471 },
4472 {
4473 MethodName: "GetProduct",
4474 Handler: _ProductSearch_GetProduct_Handler,
4475 },
4476 {
4477 MethodName: "UpdateProduct",
4478 Handler: _ProductSearch_UpdateProduct_Handler,
4479 },
4480 {
4481 MethodName: "DeleteProduct",
4482 Handler: _ProductSearch_DeleteProduct_Handler,
4483 },
4484 {
4485 MethodName: "CreateReferenceImage",
4486 Handler: _ProductSearch_CreateReferenceImage_Handler,
4487 },
4488 {
4489 MethodName: "DeleteReferenceImage",
4490 Handler: _ProductSearch_DeleteReferenceImage_Handler,
4491 },
4492 {
4493 MethodName: "ListReferenceImages",
4494 Handler: _ProductSearch_ListReferenceImages_Handler,
4495 },
4496 {
4497 MethodName: "GetReferenceImage",
4498 Handler: _ProductSearch_GetReferenceImage_Handler,
4499 },
4500 {
4501 MethodName: "AddProductToProductSet",
4502 Handler: _ProductSearch_AddProductToProductSet_Handler,
4503 },
4504 {
4505 MethodName: "RemoveProductFromProductSet",
4506 Handler: _ProductSearch_RemoveProductFromProductSet_Handler,
4507 },
4508 {
4509 MethodName: "ListProductsInProductSet",
4510 Handler: _ProductSearch_ListProductsInProductSet_Handler,
4511 },
4512 {
4513 MethodName: "ImportProductSets",
4514 Handler: _ProductSearch_ImportProductSets_Handler,
4515 },
4516 {
4517 MethodName: "PurgeProducts",
4518 Handler: _ProductSearch_PurgeProducts_Handler,
4519 },
4520 },
4521 Streams: []grpc.StreamDesc{},
4522 Metadata: "google/cloud/vision/v1p4beta1/product_search_service.proto",
4523 }
4524
View as plain text