1// Copyright 2019 Google LLC. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16// Code generated by protoc-gen-go. DO NOT EDIT. 17// versions: 18// protoc-gen-go v1.22.0 19// protoc v3.11.2 20// source: google/firestore/v1beta1/firestore.proto 21 22package firestore 23 24import ( 25 context "context" 26 reflect "reflect" 27 sync "sync" 28 29 proto "github.com/golang/protobuf/proto" 30 empty "github.com/golang/protobuf/ptypes/empty" 31 timestamp "github.com/golang/protobuf/ptypes/timestamp" 32 _ "google.golang.org/genproto/googleapis/api/annotations" 33 status "google.golang.org/genproto/googleapis/rpc/status" 34 grpc "google.golang.org/grpc" 35 codes "google.golang.org/grpc/codes" 36 status1 "google.golang.org/grpc/status" 37 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 38 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 39) 40 41const ( 42 // Verify that this generated code is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 44 // Verify that runtime/protoimpl is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 46) 47 48// This is a compile-time assertion that a sufficiently up-to-date version 49// of the legacy proto package is being used. 50const _ = proto.ProtoPackageIsVersion4 51 52// The type of change. 53type TargetChange_TargetChangeType int32 54 55const ( 56 // No change has occurred. Used only to send an updated `resume_token`. 57 TargetChange_NO_CHANGE TargetChange_TargetChangeType = 0 58 // The targets have been added. 59 TargetChange_ADD TargetChange_TargetChangeType = 1 60 // The targets have been removed. 61 TargetChange_REMOVE TargetChange_TargetChangeType = 2 62 // The targets reflect all changes committed before the targets were added 63 // to the stream. 64 // 65 // This will be sent after or with a `read_time` that is greater than or 66 // equal to the time at which the targets were added. 67 // 68 // Listeners can wait for this change if read-after-write semantics 69 // are desired. 70 TargetChange_CURRENT TargetChange_TargetChangeType = 3 71 // The targets have been reset, and a new initial state for the targets 72 // will be returned in subsequent changes. 73 // 74 // After the initial state is complete, `CURRENT` will be returned even 75 // if the target was previously indicated to be `CURRENT`. 76 TargetChange_RESET TargetChange_TargetChangeType = 4 77) 78 79// Enum value maps for TargetChange_TargetChangeType. 80var ( 81 TargetChange_TargetChangeType_name = map[int32]string{ 82 0: "NO_CHANGE", 83 1: "ADD", 84 2: "REMOVE", 85 3: "CURRENT", 86 4: "RESET", 87 } 88 TargetChange_TargetChangeType_value = map[string]int32{ 89 "NO_CHANGE": 0, 90 "ADD": 1, 91 "REMOVE": 2, 92 "CURRENT": 3, 93 "RESET": 4, 94 } 95) 96 97func (x TargetChange_TargetChangeType) Enum() *TargetChange_TargetChangeType { 98 p := new(TargetChange_TargetChangeType) 99 *p = x 100 return p 101} 102 103func (x TargetChange_TargetChangeType) String() string { 104 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 105} 106 107func (TargetChange_TargetChangeType) Descriptor() protoreflect.EnumDescriptor { 108 return file_google_firestore_v1beta1_firestore_proto_enumTypes[0].Descriptor() 109} 110 111func (TargetChange_TargetChangeType) Type() protoreflect.EnumType { 112 return &file_google_firestore_v1beta1_firestore_proto_enumTypes[0] 113} 114 115func (x TargetChange_TargetChangeType) Number() protoreflect.EnumNumber { 116 return protoreflect.EnumNumber(x) 117} 118 119// Deprecated: Use TargetChange_TargetChangeType.Descriptor instead. 120func (TargetChange_TargetChangeType) EnumDescriptor() ([]byte, []int) { 121 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20, 0} 122} 123 124// The request for [Firestore.GetDocument][google.firestore.v1beta1.Firestore.GetDocument]. 125type GetDocumentRequest struct { 126 state protoimpl.MessageState 127 sizeCache protoimpl.SizeCache 128 unknownFields protoimpl.UnknownFields 129 130 // Required. The resource name of the Document to get. In the format: 131 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 132 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 133 // The fields to return. If not set, returns all fields. 134 // 135 // If the document has a field that is not present in this mask, that field 136 // will not be returned in the response. 137 Mask *DocumentMask `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"` 138 // The consistency mode for this transaction. 139 // If not set, defaults to strong consistency. 140 // 141 // Types that are assignable to ConsistencySelector: 142 // *GetDocumentRequest_Transaction 143 // *GetDocumentRequest_ReadTime 144 ConsistencySelector isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 145} 146 147func (x *GetDocumentRequest) Reset() { 148 *x = GetDocumentRequest{} 149 if protoimpl.UnsafeEnabled { 150 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0] 151 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 152 ms.StoreMessageInfo(mi) 153 } 154} 155 156func (x *GetDocumentRequest) String() string { 157 return protoimpl.X.MessageStringOf(x) 158} 159 160func (*GetDocumentRequest) ProtoMessage() {} 161 162func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message { 163 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0] 164 if protoimpl.UnsafeEnabled && x != nil { 165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 166 if ms.LoadMessageInfo() == nil { 167 ms.StoreMessageInfo(mi) 168 } 169 return ms 170 } 171 return mi.MessageOf(x) 172} 173 174// Deprecated: Use GetDocumentRequest.ProtoReflect.Descriptor instead. 175func (*GetDocumentRequest) Descriptor() ([]byte, []int) { 176 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{0} 177} 178 179func (x *GetDocumentRequest) GetName() string { 180 if x != nil { 181 return x.Name 182 } 183 return "" 184} 185 186func (x *GetDocumentRequest) GetMask() *DocumentMask { 187 if x != nil { 188 return x.Mask 189 } 190 return nil 191} 192 193func (m *GetDocumentRequest) GetConsistencySelector() isGetDocumentRequest_ConsistencySelector { 194 if m != nil { 195 return m.ConsistencySelector 196 } 197 return nil 198} 199 200func (x *GetDocumentRequest) GetTransaction() []byte { 201 if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_Transaction); ok { 202 return x.Transaction 203 } 204 return nil 205} 206 207func (x *GetDocumentRequest) GetReadTime() *timestamp.Timestamp { 208 if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_ReadTime); ok { 209 return x.ReadTime 210 } 211 return nil 212} 213 214type isGetDocumentRequest_ConsistencySelector interface { 215 isGetDocumentRequest_ConsistencySelector() 216} 217 218type GetDocumentRequest_Transaction struct { 219 // Reads the document in a transaction. 220 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"` 221} 222 223type GetDocumentRequest_ReadTime struct { 224 // Reads the version of the document at the given time. 225 // This may not be older than 60 seconds. 226 ReadTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3,oneof"` 227} 228 229func (*GetDocumentRequest_Transaction) isGetDocumentRequest_ConsistencySelector() {} 230 231func (*GetDocumentRequest_ReadTime) isGetDocumentRequest_ConsistencySelector() {} 232 233// The request for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments]. 234type ListDocumentsRequest struct { 235 state protoimpl.MessageState 236 sizeCache protoimpl.SizeCache 237 unknownFields protoimpl.UnknownFields 238 239 // Required. The parent resource name. In the format: 240 // `projects/{project_id}/databases/{database_id}/documents` or 241 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 242 // For example: 243 // `projects/my-project/databases/my-database/documents` or 244 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 245 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 246 // Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` 247 // or `messages`. 248 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 249 // The maximum number of documents to return. 250 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 251 // The `next_page_token` value returned from a previous List request, if any. 252 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 253 // The order to sort results by. For example: `priority desc, name`. 254 OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 255 // The fields to return. If not set, returns all fields. 256 // 257 // If a document has a field that is not present in this mask, that field 258 // will not be returned in the response. 259 Mask *DocumentMask `protobuf:"bytes,7,opt,name=mask,proto3" json:"mask,omitempty"` 260 // The consistency mode for this transaction. 261 // If not set, defaults to strong consistency. 262 // 263 // Types that are assignable to ConsistencySelector: 264 // *ListDocumentsRequest_Transaction 265 // *ListDocumentsRequest_ReadTime 266 ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 267 // If the list should show missing documents. A missing document is a 268 // document that does not exist but has sub-documents. These documents will 269 // be returned with a key but will not have fields, [Document.create_time][google.firestore.v1beta1.Document.create_time], 270 // or [Document.update_time][google.firestore.v1beta1.Document.update_time] set. 271 // 272 // Requests with `show_missing` may not specify `where` or 273 // `order_by`. 274 ShowMissing bool `protobuf:"varint,12,opt,name=show_missing,json=showMissing,proto3" json:"show_missing,omitempty"` 275} 276 277func (x *ListDocumentsRequest) Reset() { 278 *x = ListDocumentsRequest{} 279 if protoimpl.UnsafeEnabled { 280 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1] 281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 282 ms.StoreMessageInfo(mi) 283 } 284} 285 286func (x *ListDocumentsRequest) String() string { 287 return protoimpl.X.MessageStringOf(x) 288} 289 290func (*ListDocumentsRequest) ProtoMessage() {} 291 292func (x *ListDocumentsRequest) ProtoReflect() protoreflect.Message { 293 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1] 294 if protoimpl.UnsafeEnabled && x != nil { 295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 296 if ms.LoadMessageInfo() == nil { 297 ms.StoreMessageInfo(mi) 298 } 299 return ms 300 } 301 return mi.MessageOf(x) 302} 303 304// Deprecated: Use ListDocumentsRequest.ProtoReflect.Descriptor instead. 305func (*ListDocumentsRequest) Descriptor() ([]byte, []int) { 306 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{1} 307} 308 309func (x *ListDocumentsRequest) GetParent() string { 310 if x != nil { 311 return x.Parent 312 } 313 return "" 314} 315 316func (x *ListDocumentsRequest) GetCollectionId() string { 317 if x != nil { 318 return x.CollectionId 319 } 320 return "" 321} 322 323func (x *ListDocumentsRequest) GetPageSize() int32 { 324 if x != nil { 325 return x.PageSize 326 } 327 return 0 328} 329 330func (x *ListDocumentsRequest) GetPageToken() string { 331 if x != nil { 332 return x.PageToken 333 } 334 return "" 335} 336 337func (x *ListDocumentsRequest) GetOrderBy() string { 338 if x != nil { 339 return x.OrderBy 340 } 341 return "" 342} 343 344func (x *ListDocumentsRequest) GetMask() *DocumentMask { 345 if x != nil { 346 return x.Mask 347 } 348 return nil 349} 350 351func (m *ListDocumentsRequest) GetConsistencySelector() isListDocumentsRequest_ConsistencySelector { 352 if m != nil { 353 return m.ConsistencySelector 354 } 355 return nil 356} 357 358func (x *ListDocumentsRequest) GetTransaction() []byte { 359 if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_Transaction); ok { 360 return x.Transaction 361 } 362 return nil 363} 364 365func (x *ListDocumentsRequest) GetReadTime() *timestamp.Timestamp { 366 if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_ReadTime); ok { 367 return x.ReadTime 368 } 369 return nil 370} 371 372func (x *ListDocumentsRequest) GetShowMissing() bool { 373 if x != nil { 374 return x.ShowMissing 375 } 376 return false 377} 378 379type isListDocumentsRequest_ConsistencySelector interface { 380 isListDocumentsRequest_ConsistencySelector() 381} 382 383type ListDocumentsRequest_Transaction struct { 384 // Reads documents in a transaction. 385 Transaction []byte `protobuf:"bytes,8,opt,name=transaction,proto3,oneof"` 386} 387 388type ListDocumentsRequest_ReadTime struct { 389 // Reads documents as they were at the given time. 390 // This may not be older than 60 seconds. 391 ReadTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=read_time,json=readTime,proto3,oneof"` 392} 393 394func (*ListDocumentsRequest_Transaction) isListDocumentsRequest_ConsistencySelector() {} 395 396func (*ListDocumentsRequest_ReadTime) isListDocumentsRequest_ConsistencySelector() {} 397 398// The response for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments]. 399type ListDocumentsResponse struct { 400 state protoimpl.MessageState 401 sizeCache protoimpl.SizeCache 402 unknownFields protoimpl.UnknownFields 403 404 // The Documents found. 405 Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"` 406 // The next page token. 407 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 408} 409 410func (x *ListDocumentsResponse) Reset() { 411 *x = ListDocumentsResponse{} 412 if protoimpl.UnsafeEnabled { 413 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2] 414 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 415 ms.StoreMessageInfo(mi) 416 } 417} 418 419func (x *ListDocumentsResponse) String() string { 420 return protoimpl.X.MessageStringOf(x) 421} 422 423func (*ListDocumentsResponse) ProtoMessage() {} 424 425func (x *ListDocumentsResponse) ProtoReflect() protoreflect.Message { 426 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2] 427 if protoimpl.UnsafeEnabled && x != nil { 428 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 429 if ms.LoadMessageInfo() == nil { 430 ms.StoreMessageInfo(mi) 431 } 432 return ms 433 } 434 return mi.MessageOf(x) 435} 436 437// Deprecated: Use ListDocumentsResponse.ProtoReflect.Descriptor instead. 438func (*ListDocumentsResponse) Descriptor() ([]byte, []int) { 439 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{2} 440} 441 442func (x *ListDocumentsResponse) GetDocuments() []*Document { 443 if x != nil { 444 return x.Documents 445 } 446 return nil 447} 448 449func (x *ListDocumentsResponse) GetNextPageToken() string { 450 if x != nil { 451 return x.NextPageToken 452 } 453 return "" 454} 455 456// The request for [Firestore.CreateDocument][google.firestore.v1beta1.Firestore.CreateDocument]. 457type CreateDocumentRequest struct { 458 state protoimpl.MessageState 459 sizeCache protoimpl.SizeCache 460 unknownFields protoimpl.UnknownFields 461 462 // Required. The parent resource. For example: 463 // `projects/{project_id}/databases/{database_id}/documents` or 464 // `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` 465 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 466 // Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`. 467 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 468 // The client-assigned document ID to use for this document. 469 // 470 // Optional. If not specified, an ID will be assigned by the service. 471 DocumentId string `protobuf:"bytes,3,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"` 472 // Required. The document to create. `name` must not be set. 473 Document *Document `protobuf:"bytes,4,opt,name=document,proto3" json:"document,omitempty"` 474 // The fields to return. If not set, returns all fields. 475 // 476 // If the document has a field that is not present in this mask, that field 477 // will not be returned in the response. 478 Mask *DocumentMask `protobuf:"bytes,5,opt,name=mask,proto3" json:"mask,omitempty"` 479} 480 481func (x *CreateDocumentRequest) Reset() { 482 *x = CreateDocumentRequest{} 483 if protoimpl.UnsafeEnabled { 484 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3] 485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 486 ms.StoreMessageInfo(mi) 487 } 488} 489 490func (x *CreateDocumentRequest) String() string { 491 return protoimpl.X.MessageStringOf(x) 492} 493 494func (*CreateDocumentRequest) ProtoMessage() {} 495 496func (x *CreateDocumentRequest) ProtoReflect() protoreflect.Message { 497 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3] 498 if protoimpl.UnsafeEnabled && x != nil { 499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 500 if ms.LoadMessageInfo() == nil { 501 ms.StoreMessageInfo(mi) 502 } 503 return ms 504 } 505 return mi.MessageOf(x) 506} 507 508// Deprecated: Use CreateDocumentRequest.ProtoReflect.Descriptor instead. 509func (*CreateDocumentRequest) Descriptor() ([]byte, []int) { 510 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{3} 511} 512 513func (x *CreateDocumentRequest) GetParent() string { 514 if x != nil { 515 return x.Parent 516 } 517 return "" 518} 519 520func (x *CreateDocumentRequest) GetCollectionId() string { 521 if x != nil { 522 return x.CollectionId 523 } 524 return "" 525} 526 527func (x *CreateDocumentRequest) GetDocumentId() string { 528 if x != nil { 529 return x.DocumentId 530 } 531 return "" 532} 533 534func (x *CreateDocumentRequest) GetDocument() *Document { 535 if x != nil { 536 return x.Document 537 } 538 return nil 539} 540 541func (x *CreateDocumentRequest) GetMask() *DocumentMask { 542 if x != nil { 543 return x.Mask 544 } 545 return nil 546} 547 548// The request for [Firestore.UpdateDocument][google.firestore.v1beta1.Firestore.UpdateDocument]. 549type UpdateDocumentRequest struct { 550 state protoimpl.MessageState 551 sizeCache protoimpl.SizeCache 552 unknownFields protoimpl.UnknownFields 553 554 // Required. The updated document. 555 // Creates the document if it does not already exist. 556 Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` 557 // The fields to update. 558 // None of the field paths in the mask may contain a reserved name. 559 // 560 // If the document exists on the server and has fields not referenced in the 561 // mask, they are left unchanged. 562 // Fields referenced in the mask, but not present in the input document, are 563 // deleted from the document on the server. 564 UpdateMask *DocumentMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 565 // The fields to return. If not set, returns all fields. 566 // 567 // If the document has a field that is not present in this mask, that field 568 // will not be returned in the response. 569 Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"` 570 // An optional precondition on the document. 571 // The request will fail if this is set and not met by the target document. 572 CurrentDocument *Precondition `protobuf:"bytes,4,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"` 573} 574 575func (x *UpdateDocumentRequest) Reset() { 576 *x = UpdateDocumentRequest{} 577 if protoimpl.UnsafeEnabled { 578 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4] 579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 580 ms.StoreMessageInfo(mi) 581 } 582} 583 584func (x *UpdateDocumentRequest) String() string { 585 return protoimpl.X.MessageStringOf(x) 586} 587 588func (*UpdateDocumentRequest) ProtoMessage() {} 589 590func (x *UpdateDocumentRequest) ProtoReflect() protoreflect.Message { 591 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4] 592 if protoimpl.UnsafeEnabled && x != nil { 593 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 594 if ms.LoadMessageInfo() == nil { 595 ms.StoreMessageInfo(mi) 596 } 597 return ms 598 } 599 return mi.MessageOf(x) 600} 601 602// Deprecated: Use UpdateDocumentRequest.ProtoReflect.Descriptor instead. 603func (*UpdateDocumentRequest) Descriptor() ([]byte, []int) { 604 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{4} 605} 606 607func (x *UpdateDocumentRequest) GetDocument() *Document { 608 if x != nil { 609 return x.Document 610 } 611 return nil 612} 613 614func (x *UpdateDocumentRequest) GetUpdateMask() *DocumentMask { 615 if x != nil { 616 return x.UpdateMask 617 } 618 return nil 619} 620 621func (x *UpdateDocumentRequest) GetMask() *DocumentMask { 622 if x != nil { 623 return x.Mask 624 } 625 return nil 626} 627 628func (x *UpdateDocumentRequest) GetCurrentDocument() *Precondition { 629 if x != nil { 630 return x.CurrentDocument 631 } 632 return nil 633} 634 635// The request for [Firestore.DeleteDocument][google.firestore.v1beta1.Firestore.DeleteDocument]. 636type DeleteDocumentRequest struct { 637 state protoimpl.MessageState 638 sizeCache protoimpl.SizeCache 639 unknownFields protoimpl.UnknownFields 640 641 // Required. The resource name of the Document to delete. In the format: 642 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 643 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 644 // An optional precondition on the document. 645 // The request will fail if this is set and not met by the target document. 646 CurrentDocument *Precondition `protobuf:"bytes,2,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"` 647} 648 649func (x *DeleteDocumentRequest) Reset() { 650 *x = DeleteDocumentRequest{} 651 if protoimpl.UnsafeEnabled { 652 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5] 653 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 654 ms.StoreMessageInfo(mi) 655 } 656} 657 658func (x *DeleteDocumentRequest) String() string { 659 return protoimpl.X.MessageStringOf(x) 660} 661 662func (*DeleteDocumentRequest) ProtoMessage() {} 663 664func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message { 665 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5] 666 if protoimpl.UnsafeEnabled && x != nil { 667 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 668 if ms.LoadMessageInfo() == nil { 669 ms.StoreMessageInfo(mi) 670 } 671 return ms 672 } 673 return mi.MessageOf(x) 674} 675 676// Deprecated: Use DeleteDocumentRequest.ProtoReflect.Descriptor instead. 677func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) { 678 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{5} 679} 680 681func (x *DeleteDocumentRequest) GetName() string { 682 if x != nil { 683 return x.Name 684 } 685 return "" 686} 687 688func (x *DeleteDocumentRequest) GetCurrentDocument() *Precondition { 689 if x != nil { 690 return x.CurrentDocument 691 } 692 return nil 693} 694 695// The request for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments]. 696type BatchGetDocumentsRequest struct { 697 state protoimpl.MessageState 698 sizeCache protoimpl.SizeCache 699 unknownFields protoimpl.UnknownFields 700 701 // Required. The database name. In the format: 702 // `projects/{project_id}/databases/{database_id}`. 703 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 704 // The names of the documents to retrieve. In the format: 705 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 706 // The request will fail if any of the document is not a child resource of the 707 // given `database`. Duplicate names will be elided. 708 Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"` 709 // The fields to return. If not set, returns all fields. 710 // 711 // If a document has a field that is not present in this mask, that field will 712 // not be returned in the response. 713 Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"` 714 // The consistency mode for this transaction. 715 // If not set, defaults to strong consistency. 716 // 717 // Types that are assignable to ConsistencySelector: 718 // *BatchGetDocumentsRequest_Transaction 719 // *BatchGetDocumentsRequest_NewTransaction 720 // *BatchGetDocumentsRequest_ReadTime 721 ConsistencySelector isBatchGetDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 722} 723 724func (x *BatchGetDocumentsRequest) Reset() { 725 *x = BatchGetDocumentsRequest{} 726 if protoimpl.UnsafeEnabled { 727 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6] 728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 729 ms.StoreMessageInfo(mi) 730 } 731} 732 733func (x *BatchGetDocumentsRequest) String() string { 734 return protoimpl.X.MessageStringOf(x) 735} 736 737func (*BatchGetDocumentsRequest) ProtoMessage() {} 738 739func (x *BatchGetDocumentsRequest) ProtoReflect() protoreflect.Message { 740 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6] 741 if protoimpl.UnsafeEnabled && x != nil { 742 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 743 if ms.LoadMessageInfo() == nil { 744 ms.StoreMessageInfo(mi) 745 } 746 return ms 747 } 748 return mi.MessageOf(x) 749} 750 751// Deprecated: Use BatchGetDocumentsRequest.ProtoReflect.Descriptor instead. 752func (*BatchGetDocumentsRequest) Descriptor() ([]byte, []int) { 753 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{6} 754} 755 756func (x *BatchGetDocumentsRequest) GetDatabase() string { 757 if x != nil { 758 return x.Database 759 } 760 return "" 761} 762 763func (x *BatchGetDocumentsRequest) GetDocuments() []string { 764 if x != nil { 765 return x.Documents 766 } 767 return nil 768} 769 770func (x *BatchGetDocumentsRequest) GetMask() *DocumentMask { 771 if x != nil { 772 return x.Mask 773 } 774 return nil 775} 776 777func (m *BatchGetDocumentsRequest) GetConsistencySelector() isBatchGetDocumentsRequest_ConsistencySelector { 778 if m != nil { 779 return m.ConsistencySelector 780 } 781 return nil 782} 783 784func (x *BatchGetDocumentsRequest) GetTransaction() []byte { 785 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_Transaction); ok { 786 return x.Transaction 787 } 788 return nil 789} 790 791func (x *BatchGetDocumentsRequest) GetNewTransaction() *TransactionOptions { 792 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_NewTransaction); ok { 793 return x.NewTransaction 794 } 795 return nil 796} 797 798func (x *BatchGetDocumentsRequest) GetReadTime() *timestamp.Timestamp { 799 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_ReadTime); ok { 800 return x.ReadTime 801 } 802 return nil 803} 804 805type isBatchGetDocumentsRequest_ConsistencySelector interface { 806 isBatchGetDocumentsRequest_ConsistencySelector() 807} 808 809type BatchGetDocumentsRequest_Transaction struct { 810 // Reads documents in a transaction. 811 Transaction []byte `protobuf:"bytes,4,opt,name=transaction,proto3,oneof"` 812} 813 814type BatchGetDocumentsRequest_NewTransaction struct { 815 // Starts a new transaction and reads the documents. 816 // Defaults to a read-only transaction. 817 // The new transaction ID will be returned as the first response in the 818 // stream. 819 NewTransaction *TransactionOptions `protobuf:"bytes,5,opt,name=new_transaction,json=newTransaction,proto3,oneof"` 820} 821 822type BatchGetDocumentsRequest_ReadTime struct { 823 // Reads documents as they were at the given time. 824 // This may not be older than 60 seconds. 825 ReadTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"` 826} 827 828func (*BatchGetDocumentsRequest_Transaction) isBatchGetDocumentsRequest_ConsistencySelector() {} 829 830func (*BatchGetDocumentsRequest_NewTransaction) isBatchGetDocumentsRequest_ConsistencySelector() {} 831 832func (*BatchGetDocumentsRequest_ReadTime) isBatchGetDocumentsRequest_ConsistencySelector() {} 833 834// The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments]. 835type BatchGetDocumentsResponse struct { 836 state protoimpl.MessageState 837 sizeCache protoimpl.SizeCache 838 unknownFields protoimpl.UnknownFields 839 840 // A single result. 841 // This can be empty if the server is just returning a transaction. 842 // 843 // Types that are assignable to Result: 844 // *BatchGetDocumentsResponse_Found 845 // *BatchGetDocumentsResponse_Missing 846 Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"` 847 // The transaction that was started as part of this request. 848 // Will only be set in the first response, and only if 849 // [BatchGetDocumentsRequest.new_transaction][google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction] was set in the request. 850 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` 851 // The time at which the document was read. 852 // This may be monotically increasing, in this case the previous documents in 853 // the result stream are guaranteed not to have changed between their 854 // read_time and this one. 855 ReadTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 856} 857 858func (x *BatchGetDocumentsResponse) Reset() { 859 *x = BatchGetDocumentsResponse{} 860 if protoimpl.UnsafeEnabled { 861 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7] 862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 863 ms.StoreMessageInfo(mi) 864 } 865} 866 867func (x *BatchGetDocumentsResponse) String() string { 868 return protoimpl.X.MessageStringOf(x) 869} 870 871func (*BatchGetDocumentsResponse) ProtoMessage() {} 872 873func (x *BatchGetDocumentsResponse) ProtoReflect() protoreflect.Message { 874 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7] 875 if protoimpl.UnsafeEnabled && x != nil { 876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 877 if ms.LoadMessageInfo() == nil { 878 ms.StoreMessageInfo(mi) 879 } 880 return ms 881 } 882 return mi.MessageOf(x) 883} 884 885// Deprecated: Use BatchGetDocumentsResponse.ProtoReflect.Descriptor instead. 886func (*BatchGetDocumentsResponse) Descriptor() ([]byte, []int) { 887 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{7} 888} 889 890func (m *BatchGetDocumentsResponse) GetResult() isBatchGetDocumentsResponse_Result { 891 if m != nil { 892 return m.Result 893 } 894 return nil 895} 896 897func (x *BatchGetDocumentsResponse) GetFound() *Document { 898 if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Found); ok { 899 return x.Found 900 } 901 return nil 902} 903 904func (x *BatchGetDocumentsResponse) GetMissing() string { 905 if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Missing); ok { 906 return x.Missing 907 } 908 return "" 909} 910 911func (x *BatchGetDocumentsResponse) GetTransaction() []byte { 912 if x != nil { 913 return x.Transaction 914 } 915 return nil 916} 917 918func (x *BatchGetDocumentsResponse) GetReadTime() *timestamp.Timestamp { 919 if x != nil { 920 return x.ReadTime 921 } 922 return nil 923} 924 925type isBatchGetDocumentsResponse_Result interface { 926 isBatchGetDocumentsResponse_Result() 927} 928 929type BatchGetDocumentsResponse_Found struct { 930 // A document that was requested. 931 Found *Document `protobuf:"bytes,1,opt,name=found,proto3,oneof"` 932} 933 934type BatchGetDocumentsResponse_Missing struct { 935 // A document name that was requested but does not exist. In the format: 936 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 937 Missing string `protobuf:"bytes,2,opt,name=missing,proto3,oneof"` 938} 939 940func (*BatchGetDocumentsResponse_Found) isBatchGetDocumentsResponse_Result() {} 941 942func (*BatchGetDocumentsResponse_Missing) isBatchGetDocumentsResponse_Result() {} 943 944// The request for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction]. 945type BeginTransactionRequest struct { 946 state protoimpl.MessageState 947 sizeCache protoimpl.SizeCache 948 unknownFields protoimpl.UnknownFields 949 950 // Required. The database name. In the format: 951 // `projects/{project_id}/databases/{database_id}`. 952 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 953 // The options for the transaction. 954 // Defaults to a read-write transaction. 955 Options *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` 956} 957 958func (x *BeginTransactionRequest) Reset() { 959 *x = BeginTransactionRequest{} 960 if protoimpl.UnsafeEnabled { 961 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8] 962 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 963 ms.StoreMessageInfo(mi) 964 } 965} 966 967func (x *BeginTransactionRequest) String() string { 968 return protoimpl.X.MessageStringOf(x) 969} 970 971func (*BeginTransactionRequest) ProtoMessage() {} 972 973func (x *BeginTransactionRequest) ProtoReflect() protoreflect.Message { 974 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8] 975 if protoimpl.UnsafeEnabled && x != nil { 976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 977 if ms.LoadMessageInfo() == nil { 978 ms.StoreMessageInfo(mi) 979 } 980 return ms 981 } 982 return mi.MessageOf(x) 983} 984 985// Deprecated: Use BeginTransactionRequest.ProtoReflect.Descriptor instead. 986func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { 987 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{8} 988} 989 990func (x *BeginTransactionRequest) GetDatabase() string { 991 if x != nil { 992 return x.Database 993 } 994 return "" 995} 996 997func (x *BeginTransactionRequest) GetOptions() *TransactionOptions { 998 if x != nil { 999 return x.Options 1000 } 1001 return nil 1002} 1003 1004// The response for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction]. 1005type BeginTransactionResponse struct { 1006 state protoimpl.MessageState 1007 sizeCache protoimpl.SizeCache 1008 unknownFields protoimpl.UnknownFields 1009 1010 // The transaction that was started. 1011 Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` 1012} 1013 1014func (x *BeginTransactionResponse) Reset() { 1015 *x = BeginTransactionResponse{} 1016 if protoimpl.UnsafeEnabled { 1017 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9] 1018 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1019 ms.StoreMessageInfo(mi) 1020 } 1021} 1022 1023func (x *BeginTransactionResponse) String() string { 1024 return protoimpl.X.MessageStringOf(x) 1025} 1026 1027func (*BeginTransactionResponse) ProtoMessage() {} 1028 1029func (x *BeginTransactionResponse) ProtoReflect() protoreflect.Message { 1030 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9] 1031 if protoimpl.UnsafeEnabled && x != nil { 1032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1033 if ms.LoadMessageInfo() == nil { 1034 ms.StoreMessageInfo(mi) 1035 } 1036 return ms 1037 } 1038 return mi.MessageOf(x) 1039} 1040 1041// Deprecated: Use BeginTransactionResponse.ProtoReflect.Descriptor instead. 1042func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { 1043 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{9} 1044} 1045 1046func (x *BeginTransactionResponse) GetTransaction() []byte { 1047 if x != nil { 1048 return x.Transaction 1049 } 1050 return nil 1051} 1052 1053// The request for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit]. 1054type CommitRequest struct { 1055 state protoimpl.MessageState 1056 sizeCache protoimpl.SizeCache 1057 unknownFields protoimpl.UnknownFields 1058 1059 // Required. The database name. In the format: 1060 // `projects/{project_id}/databases/{database_id}`. 1061 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1062 // The writes to apply. 1063 // 1064 // Always executed atomically and in order. 1065 Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"` 1066 // If set, applies all writes in this transaction, and commits it. 1067 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` 1068} 1069 1070func (x *CommitRequest) Reset() { 1071 *x = CommitRequest{} 1072 if protoimpl.UnsafeEnabled { 1073 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10] 1074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1075 ms.StoreMessageInfo(mi) 1076 } 1077} 1078 1079func (x *CommitRequest) String() string { 1080 return protoimpl.X.MessageStringOf(x) 1081} 1082 1083func (*CommitRequest) ProtoMessage() {} 1084 1085func (x *CommitRequest) ProtoReflect() protoreflect.Message { 1086 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10] 1087 if protoimpl.UnsafeEnabled && x != nil { 1088 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1089 if ms.LoadMessageInfo() == nil { 1090 ms.StoreMessageInfo(mi) 1091 } 1092 return ms 1093 } 1094 return mi.MessageOf(x) 1095} 1096 1097// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead. 1098func (*CommitRequest) Descriptor() ([]byte, []int) { 1099 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{10} 1100} 1101 1102func (x *CommitRequest) GetDatabase() string { 1103 if x != nil { 1104 return x.Database 1105 } 1106 return "" 1107} 1108 1109func (x *CommitRequest) GetWrites() []*Write { 1110 if x != nil { 1111 return x.Writes 1112 } 1113 return nil 1114} 1115 1116func (x *CommitRequest) GetTransaction() []byte { 1117 if x != nil { 1118 return x.Transaction 1119 } 1120 return nil 1121} 1122 1123// The response for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit]. 1124type CommitResponse struct { 1125 state protoimpl.MessageState 1126 sizeCache protoimpl.SizeCache 1127 unknownFields protoimpl.UnknownFields 1128 1129 // The result of applying the writes. 1130 // 1131 // This i-th write result corresponds to the i-th write in the 1132 // request. 1133 WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"` 1134 // The time at which the commit occurred. 1135 CommitTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"` 1136} 1137 1138func (x *CommitResponse) Reset() { 1139 *x = CommitResponse{} 1140 if protoimpl.UnsafeEnabled { 1141 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11] 1142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1143 ms.StoreMessageInfo(mi) 1144 } 1145} 1146 1147func (x *CommitResponse) String() string { 1148 return protoimpl.X.MessageStringOf(x) 1149} 1150 1151func (*CommitResponse) ProtoMessage() {} 1152 1153func (x *CommitResponse) ProtoReflect() protoreflect.Message { 1154 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11] 1155 if protoimpl.UnsafeEnabled && x != nil { 1156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1157 if ms.LoadMessageInfo() == nil { 1158 ms.StoreMessageInfo(mi) 1159 } 1160 return ms 1161 } 1162 return mi.MessageOf(x) 1163} 1164 1165// Deprecated: Use CommitResponse.ProtoReflect.Descriptor instead. 1166func (*CommitResponse) Descriptor() ([]byte, []int) { 1167 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{11} 1168} 1169 1170func (x *CommitResponse) GetWriteResults() []*WriteResult { 1171 if x != nil { 1172 return x.WriteResults 1173 } 1174 return nil 1175} 1176 1177func (x *CommitResponse) GetCommitTime() *timestamp.Timestamp { 1178 if x != nil { 1179 return x.CommitTime 1180 } 1181 return nil 1182} 1183 1184// The request for [Firestore.Rollback][google.firestore.v1beta1.Firestore.Rollback]. 1185type RollbackRequest struct { 1186 state protoimpl.MessageState 1187 sizeCache protoimpl.SizeCache 1188 unknownFields protoimpl.UnknownFields 1189 1190 // Required. The database name. In the format: 1191 // `projects/{project_id}/databases/{database_id}`. 1192 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1193 // Required. The transaction to roll back. 1194 Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` 1195} 1196 1197func (x *RollbackRequest) Reset() { 1198 *x = RollbackRequest{} 1199 if protoimpl.UnsafeEnabled { 1200 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12] 1201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1202 ms.StoreMessageInfo(mi) 1203 } 1204} 1205 1206func (x *RollbackRequest) String() string { 1207 return protoimpl.X.MessageStringOf(x) 1208} 1209 1210func (*RollbackRequest) ProtoMessage() {} 1211 1212func (x *RollbackRequest) ProtoReflect() protoreflect.Message { 1213 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12] 1214 if protoimpl.UnsafeEnabled && x != nil { 1215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1216 if ms.LoadMessageInfo() == nil { 1217 ms.StoreMessageInfo(mi) 1218 } 1219 return ms 1220 } 1221 return mi.MessageOf(x) 1222} 1223 1224// Deprecated: Use RollbackRequest.ProtoReflect.Descriptor instead. 1225func (*RollbackRequest) Descriptor() ([]byte, []int) { 1226 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{12} 1227} 1228 1229func (x *RollbackRequest) GetDatabase() string { 1230 if x != nil { 1231 return x.Database 1232 } 1233 return "" 1234} 1235 1236func (x *RollbackRequest) GetTransaction() []byte { 1237 if x != nil { 1238 return x.Transaction 1239 } 1240 return nil 1241} 1242 1243// The request for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery]. 1244type RunQueryRequest struct { 1245 state protoimpl.MessageState 1246 sizeCache protoimpl.SizeCache 1247 unknownFields protoimpl.UnknownFields 1248 1249 // Required. The parent resource name. In the format: 1250 // `projects/{project_id}/databases/{database_id}/documents` or 1251 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 1252 // For example: 1253 // `projects/my-project/databases/my-database/documents` or 1254 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 1255 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1256 // The query to run. 1257 // 1258 // Types that are assignable to QueryType: 1259 // *RunQueryRequest_StructuredQuery 1260 QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"` 1261 // The consistency mode for this transaction. 1262 // If not set, defaults to strong consistency. 1263 // 1264 // Types that are assignable to ConsistencySelector: 1265 // *RunQueryRequest_Transaction 1266 // *RunQueryRequest_NewTransaction 1267 // *RunQueryRequest_ReadTime 1268 ConsistencySelector isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 1269} 1270 1271func (x *RunQueryRequest) Reset() { 1272 *x = RunQueryRequest{} 1273 if protoimpl.UnsafeEnabled { 1274 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13] 1275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1276 ms.StoreMessageInfo(mi) 1277 } 1278} 1279 1280func (x *RunQueryRequest) String() string { 1281 return protoimpl.X.MessageStringOf(x) 1282} 1283 1284func (*RunQueryRequest) ProtoMessage() {} 1285 1286func (x *RunQueryRequest) ProtoReflect() protoreflect.Message { 1287 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13] 1288 if protoimpl.UnsafeEnabled && x != nil { 1289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1290 if ms.LoadMessageInfo() == nil { 1291 ms.StoreMessageInfo(mi) 1292 } 1293 return ms 1294 } 1295 return mi.MessageOf(x) 1296} 1297 1298// Deprecated: Use RunQueryRequest.ProtoReflect.Descriptor instead. 1299func (*RunQueryRequest) Descriptor() ([]byte, []int) { 1300 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{13} 1301} 1302 1303func (x *RunQueryRequest) GetParent() string { 1304 if x != nil { 1305 return x.Parent 1306 } 1307 return "" 1308} 1309 1310func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType { 1311 if m != nil { 1312 return m.QueryType 1313 } 1314 return nil 1315} 1316 1317func (x *RunQueryRequest) GetStructuredQuery() *StructuredQuery { 1318 if x, ok := x.GetQueryType().(*RunQueryRequest_StructuredQuery); ok { 1319 return x.StructuredQuery 1320 } 1321 return nil 1322} 1323 1324func (m *RunQueryRequest) GetConsistencySelector() isRunQueryRequest_ConsistencySelector { 1325 if m != nil { 1326 return m.ConsistencySelector 1327 } 1328 return nil 1329} 1330 1331func (x *RunQueryRequest) GetTransaction() []byte { 1332 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_Transaction); ok { 1333 return x.Transaction 1334 } 1335 return nil 1336} 1337 1338func (x *RunQueryRequest) GetNewTransaction() *TransactionOptions { 1339 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_NewTransaction); ok { 1340 return x.NewTransaction 1341 } 1342 return nil 1343} 1344 1345func (x *RunQueryRequest) GetReadTime() *timestamp.Timestamp { 1346 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_ReadTime); ok { 1347 return x.ReadTime 1348 } 1349 return nil 1350} 1351 1352type isRunQueryRequest_QueryType interface { 1353 isRunQueryRequest_QueryType() 1354} 1355 1356type RunQueryRequest_StructuredQuery struct { 1357 // A structured query. 1358 StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"` 1359} 1360 1361func (*RunQueryRequest_StructuredQuery) isRunQueryRequest_QueryType() {} 1362 1363type isRunQueryRequest_ConsistencySelector interface { 1364 isRunQueryRequest_ConsistencySelector() 1365} 1366 1367type RunQueryRequest_Transaction struct { 1368 // Reads documents in a transaction. 1369 Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3,oneof"` 1370} 1371 1372type RunQueryRequest_NewTransaction struct { 1373 // Starts a new transaction and reads the documents. 1374 // Defaults to a read-only transaction. 1375 // The new transaction ID will be returned as the first response in the 1376 // stream. 1377 NewTransaction *TransactionOptions `protobuf:"bytes,6,opt,name=new_transaction,json=newTransaction,proto3,oneof"` 1378} 1379 1380type RunQueryRequest_ReadTime struct { 1381 // Reads documents as they were at the given time. 1382 // This may not be older than 60 seconds. 1383 ReadTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"` 1384} 1385 1386func (*RunQueryRequest_Transaction) isRunQueryRequest_ConsistencySelector() {} 1387 1388func (*RunQueryRequest_NewTransaction) isRunQueryRequest_ConsistencySelector() {} 1389 1390func (*RunQueryRequest_ReadTime) isRunQueryRequest_ConsistencySelector() {} 1391 1392// The response for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery]. 1393type RunQueryResponse struct { 1394 state protoimpl.MessageState 1395 sizeCache protoimpl.SizeCache 1396 unknownFields protoimpl.UnknownFields 1397 1398 // The transaction that was started as part of this request. 1399 // Can only be set in the first response, and only if 1400 // [RunQueryRequest.new_transaction][google.firestore.v1beta1.RunQueryRequest.new_transaction] was set in the request. 1401 // If set, no other fields will be set in this response. 1402 Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` 1403 // A query result. 1404 // Not set when reporting partial progress. 1405 Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` 1406 // The time at which the document was read. This may be monotonically 1407 // increasing; in this case, the previous documents in the result stream are 1408 // guaranteed not to have changed between their `read_time` and this one. 1409 // 1410 // If the query returns no results, a response with `read_time` and no 1411 // `document` will be sent, and this represents the time at which the query 1412 // was run. 1413 ReadTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 1414 // The number of results that have been skipped due to an offset between 1415 // the last response and the current response. 1416 SkippedResults int32 `protobuf:"varint,4,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"` 1417} 1418 1419func (x *RunQueryResponse) Reset() { 1420 *x = RunQueryResponse{} 1421 if protoimpl.UnsafeEnabled { 1422 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14] 1423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1424 ms.StoreMessageInfo(mi) 1425 } 1426} 1427 1428func (x *RunQueryResponse) String() string { 1429 return protoimpl.X.MessageStringOf(x) 1430} 1431 1432func (*RunQueryResponse) ProtoMessage() {} 1433 1434func (x *RunQueryResponse) ProtoReflect() protoreflect.Message { 1435 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14] 1436 if protoimpl.UnsafeEnabled && x != nil { 1437 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1438 if ms.LoadMessageInfo() == nil { 1439 ms.StoreMessageInfo(mi) 1440 } 1441 return ms 1442 } 1443 return mi.MessageOf(x) 1444} 1445 1446// Deprecated: Use RunQueryResponse.ProtoReflect.Descriptor instead. 1447func (*RunQueryResponse) Descriptor() ([]byte, []int) { 1448 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{14} 1449} 1450 1451func (x *RunQueryResponse) GetTransaction() []byte { 1452 if x != nil { 1453 return x.Transaction 1454 } 1455 return nil 1456} 1457 1458func (x *RunQueryResponse) GetDocument() *Document { 1459 if x != nil { 1460 return x.Document 1461 } 1462 return nil 1463} 1464 1465func (x *RunQueryResponse) GetReadTime() *timestamp.Timestamp { 1466 if x != nil { 1467 return x.ReadTime 1468 } 1469 return nil 1470} 1471 1472func (x *RunQueryResponse) GetSkippedResults() int32 { 1473 if x != nil { 1474 return x.SkippedResults 1475 } 1476 return 0 1477} 1478 1479// The request for [Firestore.Write][google.firestore.v1beta1.Firestore.Write]. 1480// 1481// The first request creates a stream, or resumes an existing one from a token. 1482// 1483// When creating a new stream, the server replies with a response containing 1484// only an ID and a token, to use in the next request. 1485// 1486// When resuming a stream, the server first streams any responses later than the 1487// given token, then a response containing only an up-to-date token, to use in 1488// the next request. 1489type WriteRequest struct { 1490 state protoimpl.MessageState 1491 sizeCache protoimpl.SizeCache 1492 unknownFields protoimpl.UnknownFields 1493 1494 // Required. The database name. In the format: 1495 // `projects/{project_id}/databases/{database_id}`. 1496 // This is only required in the first message. 1497 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1498 // The ID of the write stream to resume. 1499 // This may only be set in the first message. When left empty, a new write 1500 // stream will be created. 1501 StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` 1502 // The writes to apply. 1503 // 1504 // Always executed atomically and in order. 1505 // This must be empty on the first request. 1506 // This may be empty on the last request. 1507 // This must not be empty on all other requests. 1508 Writes []*Write `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"` 1509 // A stream token that was previously sent by the server. 1510 // 1511 // The client should set this field to the token from the most recent 1512 // [WriteResponse][google.firestore.v1beta1.WriteResponse] it has received. This acknowledges that the client has 1513 // received responses up to this token. After sending this token, earlier 1514 // tokens may not be used anymore. 1515 // 1516 // The server may close the stream if there are too many unacknowledged 1517 // responses. 1518 // 1519 // Leave this field unset when creating a new stream. To resume a stream at 1520 // a specific point, set this field and the `stream_id` field. 1521 // 1522 // Leave this field unset when creating a new stream. 1523 StreamToken []byte `protobuf:"bytes,4,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"` 1524 // Labels associated with this write request. 1525 Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1526} 1527 1528func (x *WriteRequest) Reset() { 1529 *x = WriteRequest{} 1530 if protoimpl.UnsafeEnabled { 1531 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15] 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 ms.StoreMessageInfo(mi) 1534 } 1535} 1536 1537func (x *WriteRequest) String() string { 1538 return protoimpl.X.MessageStringOf(x) 1539} 1540 1541func (*WriteRequest) ProtoMessage() {} 1542 1543func (x *WriteRequest) ProtoReflect() protoreflect.Message { 1544 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15] 1545 if protoimpl.UnsafeEnabled && x != nil { 1546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1547 if ms.LoadMessageInfo() == nil { 1548 ms.StoreMessageInfo(mi) 1549 } 1550 return ms 1551 } 1552 return mi.MessageOf(x) 1553} 1554 1555// Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. 1556func (*WriteRequest) Descriptor() ([]byte, []int) { 1557 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{15} 1558} 1559 1560func (x *WriteRequest) GetDatabase() string { 1561 if x != nil { 1562 return x.Database 1563 } 1564 return "" 1565} 1566 1567func (x *WriteRequest) GetStreamId() string { 1568 if x != nil { 1569 return x.StreamId 1570 } 1571 return "" 1572} 1573 1574func (x *WriteRequest) GetWrites() []*Write { 1575 if x != nil { 1576 return x.Writes 1577 } 1578 return nil 1579} 1580 1581func (x *WriteRequest) GetStreamToken() []byte { 1582 if x != nil { 1583 return x.StreamToken 1584 } 1585 return nil 1586} 1587 1588func (x *WriteRequest) GetLabels() map[string]string { 1589 if x != nil { 1590 return x.Labels 1591 } 1592 return nil 1593} 1594 1595// The response for [Firestore.Write][google.firestore.v1beta1.Firestore.Write]. 1596type WriteResponse struct { 1597 state protoimpl.MessageState 1598 sizeCache protoimpl.SizeCache 1599 unknownFields protoimpl.UnknownFields 1600 1601 // The ID of the stream. 1602 // Only set on the first message, when a new stream was created. 1603 StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` 1604 // A token that represents the position of this response in the stream. 1605 // This can be used by a client to resume the stream at this point. 1606 // 1607 // This field is always set. 1608 StreamToken []byte `protobuf:"bytes,2,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"` 1609 // The result of applying the writes. 1610 // 1611 // This i-th write result corresponds to the i-th write in the 1612 // request. 1613 WriteResults []*WriteResult `protobuf:"bytes,3,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"` 1614 // The time at which the commit occurred. 1615 CommitTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"` 1616} 1617 1618func (x *WriteResponse) Reset() { 1619 *x = WriteResponse{} 1620 if protoimpl.UnsafeEnabled { 1621 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16] 1622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1623 ms.StoreMessageInfo(mi) 1624 } 1625} 1626 1627func (x *WriteResponse) String() string { 1628 return protoimpl.X.MessageStringOf(x) 1629} 1630 1631func (*WriteResponse) ProtoMessage() {} 1632 1633func (x *WriteResponse) ProtoReflect() protoreflect.Message { 1634 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16] 1635 if protoimpl.UnsafeEnabled && x != nil { 1636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1637 if ms.LoadMessageInfo() == nil { 1638 ms.StoreMessageInfo(mi) 1639 } 1640 return ms 1641 } 1642 return mi.MessageOf(x) 1643} 1644 1645// Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. 1646func (*WriteResponse) Descriptor() ([]byte, []int) { 1647 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{16} 1648} 1649 1650func (x *WriteResponse) GetStreamId() string { 1651 if x != nil { 1652 return x.StreamId 1653 } 1654 return "" 1655} 1656 1657func (x *WriteResponse) GetStreamToken() []byte { 1658 if x != nil { 1659 return x.StreamToken 1660 } 1661 return nil 1662} 1663 1664func (x *WriteResponse) GetWriteResults() []*WriteResult { 1665 if x != nil { 1666 return x.WriteResults 1667 } 1668 return nil 1669} 1670 1671func (x *WriteResponse) GetCommitTime() *timestamp.Timestamp { 1672 if x != nil { 1673 return x.CommitTime 1674 } 1675 return nil 1676} 1677 1678// A request for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen] 1679type ListenRequest struct { 1680 state protoimpl.MessageState 1681 sizeCache protoimpl.SizeCache 1682 unknownFields protoimpl.UnknownFields 1683 1684 // Required. The database name. In the format: 1685 // `projects/{project_id}/databases/{database_id}`. 1686 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1687 // The supported target changes. 1688 // 1689 // Types that are assignable to TargetChange: 1690 // *ListenRequest_AddTarget 1691 // *ListenRequest_RemoveTarget 1692 TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"` 1693 // Labels associated with this target change. 1694 Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1695} 1696 1697func (x *ListenRequest) Reset() { 1698 *x = ListenRequest{} 1699 if protoimpl.UnsafeEnabled { 1700 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17] 1701 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1702 ms.StoreMessageInfo(mi) 1703 } 1704} 1705 1706func (x *ListenRequest) String() string { 1707 return protoimpl.X.MessageStringOf(x) 1708} 1709 1710func (*ListenRequest) ProtoMessage() {} 1711 1712func (x *ListenRequest) ProtoReflect() protoreflect.Message { 1713 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17] 1714 if protoimpl.UnsafeEnabled && x != nil { 1715 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1716 if ms.LoadMessageInfo() == nil { 1717 ms.StoreMessageInfo(mi) 1718 } 1719 return ms 1720 } 1721 return mi.MessageOf(x) 1722} 1723 1724// Deprecated: Use ListenRequest.ProtoReflect.Descriptor instead. 1725func (*ListenRequest) Descriptor() ([]byte, []int) { 1726 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{17} 1727} 1728 1729func (x *ListenRequest) GetDatabase() string { 1730 if x != nil { 1731 return x.Database 1732 } 1733 return "" 1734} 1735 1736func (m *ListenRequest) GetTargetChange() isListenRequest_TargetChange { 1737 if m != nil { 1738 return m.TargetChange 1739 } 1740 return nil 1741} 1742 1743func (x *ListenRequest) GetAddTarget() *Target { 1744 if x, ok := x.GetTargetChange().(*ListenRequest_AddTarget); ok { 1745 return x.AddTarget 1746 } 1747 return nil 1748} 1749 1750func (x *ListenRequest) GetRemoveTarget() int32 { 1751 if x, ok := x.GetTargetChange().(*ListenRequest_RemoveTarget); ok { 1752 return x.RemoveTarget 1753 } 1754 return 0 1755} 1756 1757func (x *ListenRequest) GetLabels() map[string]string { 1758 if x != nil { 1759 return x.Labels 1760 } 1761 return nil 1762} 1763 1764type isListenRequest_TargetChange interface { 1765 isListenRequest_TargetChange() 1766} 1767 1768type ListenRequest_AddTarget struct { 1769 // A target to add to this stream. 1770 AddTarget *Target `protobuf:"bytes,2,opt,name=add_target,json=addTarget,proto3,oneof"` 1771} 1772 1773type ListenRequest_RemoveTarget struct { 1774 // The ID of a target to remove from this stream. 1775 RemoveTarget int32 `protobuf:"varint,3,opt,name=remove_target,json=removeTarget,proto3,oneof"` 1776} 1777 1778func (*ListenRequest_AddTarget) isListenRequest_TargetChange() {} 1779 1780func (*ListenRequest_RemoveTarget) isListenRequest_TargetChange() {} 1781 1782// The response for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen]. 1783type ListenResponse struct { 1784 state protoimpl.MessageState 1785 sizeCache protoimpl.SizeCache 1786 unknownFields protoimpl.UnknownFields 1787 1788 // The supported responses. 1789 // 1790 // Types that are assignable to ResponseType: 1791 // *ListenResponse_TargetChange 1792 // *ListenResponse_DocumentChange 1793 // *ListenResponse_DocumentDelete 1794 // *ListenResponse_DocumentRemove 1795 // *ListenResponse_Filter 1796 ResponseType isListenResponse_ResponseType `protobuf_oneof:"response_type"` 1797} 1798 1799func (x *ListenResponse) Reset() { 1800 *x = ListenResponse{} 1801 if protoimpl.UnsafeEnabled { 1802 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18] 1803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1804 ms.StoreMessageInfo(mi) 1805 } 1806} 1807 1808func (x *ListenResponse) String() string { 1809 return protoimpl.X.MessageStringOf(x) 1810} 1811 1812func (*ListenResponse) ProtoMessage() {} 1813 1814func (x *ListenResponse) ProtoReflect() protoreflect.Message { 1815 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18] 1816 if protoimpl.UnsafeEnabled && x != nil { 1817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1818 if ms.LoadMessageInfo() == nil { 1819 ms.StoreMessageInfo(mi) 1820 } 1821 return ms 1822 } 1823 return mi.MessageOf(x) 1824} 1825 1826// Deprecated: Use ListenResponse.ProtoReflect.Descriptor instead. 1827func (*ListenResponse) Descriptor() ([]byte, []int) { 1828 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{18} 1829} 1830 1831func (m *ListenResponse) GetResponseType() isListenResponse_ResponseType { 1832 if m != nil { 1833 return m.ResponseType 1834 } 1835 return nil 1836} 1837 1838func (x *ListenResponse) GetTargetChange() *TargetChange { 1839 if x, ok := x.GetResponseType().(*ListenResponse_TargetChange); ok { 1840 return x.TargetChange 1841 } 1842 return nil 1843} 1844 1845func (x *ListenResponse) GetDocumentChange() *DocumentChange { 1846 if x, ok := x.GetResponseType().(*ListenResponse_DocumentChange); ok { 1847 return x.DocumentChange 1848 } 1849 return nil 1850} 1851 1852func (x *ListenResponse) GetDocumentDelete() *DocumentDelete { 1853 if x, ok := x.GetResponseType().(*ListenResponse_DocumentDelete); ok { 1854 return x.DocumentDelete 1855 } 1856 return nil 1857} 1858 1859func (x *ListenResponse) GetDocumentRemove() *DocumentRemove { 1860 if x, ok := x.GetResponseType().(*ListenResponse_DocumentRemove); ok { 1861 return x.DocumentRemove 1862 } 1863 return nil 1864} 1865 1866func (x *ListenResponse) GetFilter() *ExistenceFilter { 1867 if x, ok := x.GetResponseType().(*ListenResponse_Filter); ok { 1868 return x.Filter 1869 } 1870 return nil 1871} 1872 1873type isListenResponse_ResponseType interface { 1874 isListenResponse_ResponseType() 1875} 1876 1877type ListenResponse_TargetChange struct { 1878 // Targets have changed. 1879 TargetChange *TargetChange `protobuf:"bytes,2,opt,name=target_change,json=targetChange,proto3,oneof"` 1880} 1881 1882type ListenResponse_DocumentChange struct { 1883 // A [Document][google.firestore.v1beta1.Document] has changed. 1884 DocumentChange *DocumentChange `protobuf:"bytes,3,opt,name=document_change,json=documentChange,proto3,oneof"` 1885} 1886 1887type ListenResponse_DocumentDelete struct { 1888 // A [Document][google.firestore.v1beta1.Document] has been deleted. 1889 DocumentDelete *DocumentDelete `protobuf:"bytes,4,opt,name=document_delete,json=documentDelete,proto3,oneof"` 1890} 1891 1892type ListenResponse_DocumentRemove struct { 1893 // A [Document][google.firestore.v1beta1.Document] has been removed from a target (because it is no longer 1894 // relevant to that target). 1895 DocumentRemove *DocumentRemove `protobuf:"bytes,6,opt,name=document_remove,json=documentRemove,proto3,oneof"` 1896} 1897 1898type ListenResponse_Filter struct { 1899 // A filter to apply to the set of documents previously returned for the 1900 // given target. 1901 // 1902 // Returned when documents may have been removed from the given target, but 1903 // the exact documents are unknown. 1904 Filter *ExistenceFilter `protobuf:"bytes,5,opt,name=filter,proto3,oneof"` 1905} 1906 1907func (*ListenResponse_TargetChange) isListenResponse_ResponseType() {} 1908 1909func (*ListenResponse_DocumentChange) isListenResponse_ResponseType() {} 1910 1911func (*ListenResponse_DocumentDelete) isListenResponse_ResponseType() {} 1912 1913func (*ListenResponse_DocumentRemove) isListenResponse_ResponseType() {} 1914 1915func (*ListenResponse_Filter) isListenResponse_ResponseType() {} 1916 1917// A specification of a set of documents to listen to. 1918type Target struct { 1919 state protoimpl.MessageState 1920 sizeCache protoimpl.SizeCache 1921 unknownFields protoimpl.UnknownFields 1922 1923 // The type of target to listen to. 1924 // 1925 // Types that are assignable to TargetType: 1926 // *Target_Query 1927 // *Target_Documents 1928 TargetType isTarget_TargetType `protobuf_oneof:"target_type"` 1929 // When to start listening. 1930 // 1931 // If not specified, all matching Documents are returned before any 1932 // subsequent changes. 1933 // 1934 // Types that are assignable to ResumeType: 1935 // *Target_ResumeToken 1936 // *Target_ReadTime 1937 ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"` 1938 // The target ID that identifies the target on the stream. Must be a positive 1939 // number and non-zero. 1940 TargetId int32 `protobuf:"varint,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"` 1941 // If the target should be removed once it is current and consistent. 1942 Once bool `protobuf:"varint,6,opt,name=once,proto3" json:"once,omitempty"` 1943} 1944 1945func (x *Target) Reset() { 1946 *x = Target{} 1947 if protoimpl.UnsafeEnabled { 1948 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19] 1949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1950 ms.StoreMessageInfo(mi) 1951 } 1952} 1953 1954func (x *Target) String() string { 1955 return protoimpl.X.MessageStringOf(x) 1956} 1957 1958func (*Target) ProtoMessage() {} 1959 1960func (x *Target) ProtoReflect() protoreflect.Message { 1961 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19] 1962 if protoimpl.UnsafeEnabled && x != nil { 1963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1964 if ms.LoadMessageInfo() == nil { 1965 ms.StoreMessageInfo(mi) 1966 } 1967 return ms 1968 } 1969 return mi.MessageOf(x) 1970} 1971 1972// Deprecated: Use Target.ProtoReflect.Descriptor instead. 1973func (*Target) Descriptor() ([]byte, []int) { 1974 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19} 1975} 1976 1977func (m *Target) GetTargetType() isTarget_TargetType { 1978 if m != nil { 1979 return m.TargetType 1980 } 1981 return nil 1982} 1983 1984func (x *Target) GetQuery() *Target_QueryTarget { 1985 if x, ok := x.GetTargetType().(*Target_Query); ok { 1986 return x.Query 1987 } 1988 return nil 1989} 1990 1991func (x *Target) GetDocuments() *Target_DocumentsTarget { 1992 if x, ok := x.GetTargetType().(*Target_Documents); ok { 1993 return x.Documents 1994 } 1995 return nil 1996} 1997 1998func (m *Target) GetResumeType() isTarget_ResumeType { 1999 if m != nil { 2000 return m.ResumeType 2001 } 2002 return nil 2003} 2004 2005func (x *Target) GetResumeToken() []byte { 2006 if x, ok := x.GetResumeType().(*Target_ResumeToken); ok { 2007 return x.ResumeToken 2008 } 2009 return nil 2010} 2011 2012func (x *Target) GetReadTime() *timestamp.Timestamp { 2013 if x, ok := x.GetResumeType().(*Target_ReadTime); ok { 2014 return x.ReadTime 2015 } 2016 return nil 2017} 2018 2019func (x *Target) GetTargetId() int32 { 2020 if x != nil { 2021 return x.TargetId 2022 } 2023 return 0 2024} 2025 2026func (x *Target) GetOnce() bool { 2027 if x != nil { 2028 return x.Once 2029 } 2030 return false 2031} 2032 2033type isTarget_TargetType interface { 2034 isTarget_TargetType() 2035} 2036 2037type Target_Query struct { 2038 // A target specified by a query. 2039 Query *Target_QueryTarget `protobuf:"bytes,2,opt,name=query,proto3,oneof"` 2040} 2041 2042type Target_Documents struct { 2043 // A target specified by a set of document names. 2044 Documents *Target_DocumentsTarget `protobuf:"bytes,3,opt,name=documents,proto3,oneof"` 2045} 2046 2047func (*Target_Query) isTarget_TargetType() {} 2048 2049func (*Target_Documents) isTarget_TargetType() {} 2050 2051type isTarget_ResumeType interface { 2052 isTarget_ResumeType() 2053} 2054 2055type Target_ResumeToken struct { 2056 // A resume token from a prior [TargetChange][google.firestore.v1beta1.TargetChange] for an identical target. 2057 // 2058 // Using a resume token with a different target is unsupported and may fail. 2059 ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3,oneof"` 2060} 2061 2062type Target_ReadTime struct { 2063 // Start listening after a specific `read_time`. 2064 // 2065 // The client must know the state of matching documents at this time. 2066 ReadTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=read_time,json=readTime,proto3,oneof"` 2067} 2068 2069func (*Target_ResumeToken) isTarget_ResumeType() {} 2070 2071func (*Target_ReadTime) isTarget_ResumeType() {} 2072 2073// Targets being watched have changed. 2074type TargetChange struct { 2075 state protoimpl.MessageState 2076 sizeCache protoimpl.SizeCache 2077 unknownFields protoimpl.UnknownFields 2078 2079 // The type of change that occurred. 2080 TargetChangeType TargetChange_TargetChangeType `protobuf:"varint,1,opt,name=target_change_type,json=targetChangeType,proto3,enum=google.firestore.v1beta1.TargetChange_TargetChangeType" json:"target_change_type,omitempty"` 2081 // The target IDs of targets that have changed. 2082 // 2083 // If empty, the change applies to all targets. 2084 // 2085 // The order of the target IDs is not defined. 2086 TargetIds []int32 `protobuf:"varint,2,rep,packed,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"` 2087 // The error that resulted in this change, if applicable. 2088 Cause *status.Status `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"` 2089 // A token that can be used to resume the stream for the given `target_ids`, 2090 // or all targets if `target_ids` is empty. 2091 // 2092 // Not set on every target change. 2093 ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"` 2094 // The consistent `read_time` for the given `target_ids` (omitted when the 2095 // target_ids are not at a consistent snapshot). 2096 // 2097 // The stream is guaranteed to send a `read_time` with `target_ids` empty 2098 // whenever the entire stream reaches a new consistent snapshot. ADD, 2099 // CURRENT, and RESET messages are guaranteed to (eventually) result in a 2100 // new consistent snapshot (while NO_CHANGE and REMOVE messages are not). 2101 // 2102 // For a given stream, `read_time` is guaranteed to be monotonically 2103 // increasing. 2104 ReadTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 2105} 2106 2107func (x *TargetChange) Reset() { 2108 *x = TargetChange{} 2109 if protoimpl.UnsafeEnabled { 2110 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20] 2111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2112 ms.StoreMessageInfo(mi) 2113 } 2114} 2115 2116func (x *TargetChange) String() string { 2117 return protoimpl.X.MessageStringOf(x) 2118} 2119 2120func (*TargetChange) ProtoMessage() {} 2121 2122func (x *TargetChange) ProtoReflect() protoreflect.Message { 2123 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20] 2124 if protoimpl.UnsafeEnabled && x != nil { 2125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2126 if ms.LoadMessageInfo() == nil { 2127 ms.StoreMessageInfo(mi) 2128 } 2129 return ms 2130 } 2131 return mi.MessageOf(x) 2132} 2133 2134// Deprecated: Use TargetChange.ProtoReflect.Descriptor instead. 2135func (*TargetChange) Descriptor() ([]byte, []int) { 2136 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20} 2137} 2138 2139func (x *TargetChange) GetTargetChangeType() TargetChange_TargetChangeType { 2140 if x != nil { 2141 return x.TargetChangeType 2142 } 2143 return TargetChange_NO_CHANGE 2144} 2145 2146func (x *TargetChange) GetTargetIds() []int32 { 2147 if x != nil { 2148 return x.TargetIds 2149 } 2150 return nil 2151} 2152 2153func (x *TargetChange) GetCause() *status.Status { 2154 if x != nil { 2155 return x.Cause 2156 } 2157 return nil 2158} 2159 2160func (x *TargetChange) GetResumeToken() []byte { 2161 if x != nil { 2162 return x.ResumeToken 2163 } 2164 return nil 2165} 2166 2167func (x *TargetChange) GetReadTime() *timestamp.Timestamp { 2168 if x != nil { 2169 return x.ReadTime 2170 } 2171 return nil 2172} 2173 2174// The request for [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds]. 2175type ListCollectionIdsRequest struct { 2176 state protoimpl.MessageState 2177 sizeCache protoimpl.SizeCache 2178 unknownFields protoimpl.UnknownFields 2179 2180 // Required. The parent document. In the format: 2181 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2182 // For example: 2183 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 2184 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2185 // The maximum number of results to return. 2186 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2187 // A page token. Must be a value from 2188 // [ListCollectionIdsResponse][google.firestore.v1beta1.ListCollectionIdsResponse]. 2189 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2190} 2191 2192func (x *ListCollectionIdsRequest) Reset() { 2193 *x = ListCollectionIdsRequest{} 2194 if protoimpl.UnsafeEnabled { 2195 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21] 2196 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2197 ms.StoreMessageInfo(mi) 2198 } 2199} 2200 2201func (x *ListCollectionIdsRequest) String() string { 2202 return protoimpl.X.MessageStringOf(x) 2203} 2204 2205func (*ListCollectionIdsRequest) ProtoMessage() {} 2206 2207func (x *ListCollectionIdsRequest) ProtoReflect() protoreflect.Message { 2208 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21] 2209 if protoimpl.UnsafeEnabled && x != nil { 2210 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2211 if ms.LoadMessageInfo() == nil { 2212 ms.StoreMessageInfo(mi) 2213 } 2214 return ms 2215 } 2216 return mi.MessageOf(x) 2217} 2218 2219// Deprecated: Use ListCollectionIdsRequest.ProtoReflect.Descriptor instead. 2220func (*ListCollectionIdsRequest) Descriptor() ([]byte, []int) { 2221 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21} 2222} 2223 2224func (x *ListCollectionIdsRequest) GetParent() string { 2225 if x != nil { 2226 return x.Parent 2227 } 2228 return "" 2229} 2230 2231func (x *ListCollectionIdsRequest) GetPageSize() int32 { 2232 if x != nil { 2233 return x.PageSize 2234 } 2235 return 0 2236} 2237 2238func (x *ListCollectionIdsRequest) GetPageToken() string { 2239 if x != nil { 2240 return x.PageToken 2241 } 2242 return "" 2243} 2244 2245// The response from [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds]. 2246type ListCollectionIdsResponse struct { 2247 state protoimpl.MessageState 2248 sizeCache protoimpl.SizeCache 2249 unknownFields protoimpl.UnknownFields 2250 2251 // The collection ids. 2252 CollectionIds []string `protobuf:"bytes,1,rep,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"` 2253 // A page token that may be used to continue the list. 2254 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2255} 2256 2257func (x *ListCollectionIdsResponse) Reset() { 2258 *x = ListCollectionIdsResponse{} 2259 if protoimpl.UnsafeEnabled { 2260 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22] 2261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2262 ms.StoreMessageInfo(mi) 2263 } 2264} 2265 2266func (x *ListCollectionIdsResponse) String() string { 2267 return protoimpl.X.MessageStringOf(x) 2268} 2269 2270func (*ListCollectionIdsResponse) ProtoMessage() {} 2271 2272func (x *ListCollectionIdsResponse) ProtoReflect() protoreflect.Message { 2273 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22] 2274 if protoimpl.UnsafeEnabled && x != nil { 2275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2276 if ms.LoadMessageInfo() == nil { 2277 ms.StoreMessageInfo(mi) 2278 } 2279 return ms 2280 } 2281 return mi.MessageOf(x) 2282} 2283 2284// Deprecated: Use ListCollectionIdsResponse.ProtoReflect.Descriptor instead. 2285func (*ListCollectionIdsResponse) Descriptor() ([]byte, []int) { 2286 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22} 2287} 2288 2289func (x *ListCollectionIdsResponse) GetCollectionIds() []string { 2290 if x != nil { 2291 return x.CollectionIds 2292 } 2293 return nil 2294} 2295 2296func (x *ListCollectionIdsResponse) GetNextPageToken() string { 2297 if x != nil { 2298 return x.NextPageToken 2299 } 2300 return "" 2301} 2302 2303// A target specified by a set of documents names. 2304type Target_DocumentsTarget struct { 2305 state protoimpl.MessageState 2306 sizeCache protoimpl.SizeCache 2307 unknownFields protoimpl.UnknownFields 2308 2309 // The names of the documents to retrieve. In the format: 2310 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2311 // The request will fail if any of the document is not a child resource of 2312 // the given `database`. Duplicate names will be elided. 2313 Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"` 2314} 2315 2316func (x *Target_DocumentsTarget) Reset() { 2317 *x = Target_DocumentsTarget{} 2318 if protoimpl.UnsafeEnabled { 2319 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25] 2320 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2321 ms.StoreMessageInfo(mi) 2322 } 2323} 2324 2325func (x *Target_DocumentsTarget) String() string { 2326 return protoimpl.X.MessageStringOf(x) 2327} 2328 2329func (*Target_DocumentsTarget) ProtoMessage() {} 2330 2331func (x *Target_DocumentsTarget) ProtoReflect() protoreflect.Message { 2332 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25] 2333 if protoimpl.UnsafeEnabled && x != nil { 2334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2335 if ms.LoadMessageInfo() == nil { 2336 ms.StoreMessageInfo(mi) 2337 } 2338 return ms 2339 } 2340 return mi.MessageOf(x) 2341} 2342 2343// Deprecated: Use Target_DocumentsTarget.ProtoReflect.Descriptor instead. 2344func (*Target_DocumentsTarget) Descriptor() ([]byte, []int) { 2345 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19, 0} 2346} 2347 2348func (x *Target_DocumentsTarget) GetDocuments() []string { 2349 if x != nil { 2350 return x.Documents 2351 } 2352 return nil 2353} 2354 2355// A target specified by a query. 2356type Target_QueryTarget struct { 2357 state protoimpl.MessageState 2358 sizeCache protoimpl.SizeCache 2359 unknownFields protoimpl.UnknownFields 2360 2361 // The parent resource name. In the format: 2362 // `projects/{project_id}/databases/{database_id}/documents` or 2363 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2364 // For example: 2365 // `projects/my-project/databases/my-database/documents` or 2366 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 2367 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2368 // The query to run. 2369 // 2370 // Types that are assignable to QueryType: 2371 // *Target_QueryTarget_StructuredQuery 2372 QueryType isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"` 2373} 2374 2375func (x *Target_QueryTarget) Reset() { 2376 *x = Target_QueryTarget{} 2377 if protoimpl.UnsafeEnabled { 2378 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26] 2379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2380 ms.StoreMessageInfo(mi) 2381 } 2382} 2383 2384func (x *Target_QueryTarget) String() string { 2385 return protoimpl.X.MessageStringOf(x) 2386} 2387 2388func (*Target_QueryTarget) ProtoMessage() {} 2389 2390func (x *Target_QueryTarget) ProtoReflect() protoreflect.Message { 2391 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26] 2392 if protoimpl.UnsafeEnabled && x != nil { 2393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2394 if ms.LoadMessageInfo() == nil { 2395 ms.StoreMessageInfo(mi) 2396 } 2397 return ms 2398 } 2399 return mi.MessageOf(x) 2400} 2401 2402// Deprecated: Use Target_QueryTarget.ProtoReflect.Descriptor instead. 2403func (*Target_QueryTarget) Descriptor() ([]byte, []int) { 2404 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19, 1} 2405} 2406 2407func (x *Target_QueryTarget) GetParent() string { 2408 if x != nil { 2409 return x.Parent 2410 } 2411 return "" 2412} 2413 2414func (m *Target_QueryTarget) GetQueryType() isTarget_QueryTarget_QueryType { 2415 if m != nil { 2416 return m.QueryType 2417 } 2418 return nil 2419} 2420 2421func (x *Target_QueryTarget) GetStructuredQuery() *StructuredQuery { 2422 if x, ok := x.GetQueryType().(*Target_QueryTarget_StructuredQuery); ok { 2423 return x.StructuredQuery 2424 } 2425 return nil 2426} 2427 2428type isTarget_QueryTarget_QueryType interface { 2429 isTarget_QueryTarget_QueryType() 2430} 2431 2432type Target_QueryTarget_StructuredQuery struct { 2433 // A structured query. 2434 StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"` 2435} 2436 2437func (*Target_QueryTarget_StructuredQuery) isTarget_QueryTarget_QueryType() {} 2438 2439var File_google_firestore_v1beta1_firestore_proto protoreflect.FileDescriptor 2440 2441var file_google_firestore_v1beta1_firestore_proto_rawDesc = []byte{ 2442 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 2443 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 2444 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 2445 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2446 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2447 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 2448 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 2449 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 2450 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 2451 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 2452 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 2453 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 2454 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 2455 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x6f, 2456 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 2457 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 2458 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 2459 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 2460 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x72, 0x69, 2461 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2462 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 2463 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 2464 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 2465 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 2466 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 2467 0xe0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 2468 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 2469 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 2470 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 2471 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2472 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2473 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 2474 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 2475 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 2476 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 2477 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2478 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 2479 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 2480 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 2481 0x6f, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2482 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 2483 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 2484 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 2485 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 2486 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2487 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 2488 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 2489 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 2490 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 2491 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 2492 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 2493 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2494 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2495 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 2496 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2497 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 2498 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 2499 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 2500 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 2501 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 2502 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 2503 0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 2504 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 2505 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 2506 0x81, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2507 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63, 2508 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 2509 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2510 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2511 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 2512 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 2513 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 2514 0x6b, 0x65, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 2515 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 2516 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2517 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 2518 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 2519 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 2520 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2521 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 2522 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2523 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2524 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2525 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 2526 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 2527 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2528 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2529 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 2530 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb4, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 2531 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2532 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2533 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 2534 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 2535 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63, 2536 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 2537 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 2538 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 2539 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 2540 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3a, 2541 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 2542 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2543 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2544 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 2545 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 2546 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2547 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2548 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 2549 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x01, 2550 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2551 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2552 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2553 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 2554 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 2555 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 2556 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 2557 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2558 0x65, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 2559 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2560 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 2561 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2562 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 2563 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 2564 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 2565 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2566 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2567 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 2568 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 2569 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 2570 0x57, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 2571 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2572 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2573 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 2574 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 2575 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 2576 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2577 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2578 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 2579 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 2580 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd8, 0x01, 0x0a, 0x19, 2581 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2582 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x6f, 0x75, 2583 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2584 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2585 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 2586 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 2587 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 2588 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2589 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 2590 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2591 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2592 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2593 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 2594 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e, 2595 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 2596 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 2597 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 2598 0x61, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 2599 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2600 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2601 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2602 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42, 2603 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2604 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2605 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 2606 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 2607 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 2608 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2609 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 2610 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 2611 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2612 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 2613 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2614 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 2615 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 2616 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 2617 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2618 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 2619 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 2620 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 2621 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 2622 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2623 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2624 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 2625 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 2626 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2627 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 2628 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2629 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 2630 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4, 2631 0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 2632 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2633 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2634 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 2635 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2636 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2637 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 2638 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 2639 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2640 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 2641 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x6e, 2642 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 2643 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2644 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2645 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2646 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2647 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 2648 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2649 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 2650 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 2651 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 2652 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 2653 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 2654 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 2655 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 2656 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x08, 2657 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 2658 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 2659 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 2660 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 2661 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2662 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2663 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 2664 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 2665 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 2666 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xaf, 2667 0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2668 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2669 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2670 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 2671 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x37, 0x0a, 2672 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 2673 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2674 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 2675 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 2676 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 2677 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 2678 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2679 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2680 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2681 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 2682 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 2683 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 2684 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 2685 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 2686 0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2687 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 2688 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 2689 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 2690 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 2691 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 2692 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2693 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2694 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 2695 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 2696 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 2697 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2698 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 2699 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x0d, 2700 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 2701 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2702 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41, 2703 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 2704 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 2705 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 2706 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 2707 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 2708 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 2709 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 2710 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2711 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2712 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2713 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 2714 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 2715 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 2716 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 2717 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 2718 0x42, 0x0f, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 2719 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 2720 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 2721 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 2722 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 2723 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 2724 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 2725 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 2726 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 2727 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2728 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2729 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 2730 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 2731 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 2732 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 2733 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 2734 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 2735 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x53, 0x0a, 2736 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 2737 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2738 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2739 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 2740 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 2741 0x76, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 2742 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 2743 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 2744 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 2745 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 2746 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8e, 0x04, 0x0a, 0x06, 0x54, 0x61, 0x72, 2747 0x67, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 2748 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 2749 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 2750 0x72, 0x67, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 2751 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x09, 0x64, 0x6f, 0x63, 2752 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 2753 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2754 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44, 2755 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 2756 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72, 2757 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 2758 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 2759 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 2760 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2761 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 2762 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 2763 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 2764 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 2765 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x1a, 0x2f, 0x0a, 0x0f, 2766 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 2767 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 2768 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x8b, 0x01, 2769 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 2770 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 2771 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 2772 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2773 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 2774 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 2775 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 2776 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a, 2777 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 2778 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 2779 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xea, 0x02, 0x0a, 0x0c, 0x54, 0x61, 2780 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x74, 0x61, 2781 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 2782 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2783 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2784 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x54, 2785 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 2786 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 2787 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 2788 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 2789 0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2790 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 2791 0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 2792 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 2793 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 2794 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 2795 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2796 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 2797 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 2798 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 2799 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 2800 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 2801 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x52, 2802 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x73, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 2803 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 2804 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2805 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2806 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 2807 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 2808 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2809 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6a, 0x0a, 0x19, 0x4c, 2810 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 2811 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 2812 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 2813 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 2814 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 2815 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 2816 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x9b, 0x15, 0x0a, 0x09, 0x46, 0x69, 0x72, 0x65, 2817 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 2818 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 2819 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2820 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 2821 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 2822 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 2823 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 2824 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2825 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 2826 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 2827 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 2828 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2829 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2830 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2831 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2832 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2833 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2834 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2835 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 2836 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 2837 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 2838 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 2839 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x43, 2840 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 2841 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2842 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 2843 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 2844 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 2845 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 2846 0x6e, 0x74, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 2847 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 2848 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2849 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 2850 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 2851 0x7d, 0x3a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xce, 0x01, 0x0a, 0x0e, 2852 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 2853 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 2854 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 2855 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2856 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 2857 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2858 0x65, 0x6e, 0x74, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x32, 0x3e, 0x2f, 0x76, 0x31, 2859 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 2860 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 2861 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 2862 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x08, 0x64, 0x6f, 0x63, 2863 0x75, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2864 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9f, 0x01, 0x0a, 2865 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 2866 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 2867 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 2868 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2869 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2870 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 2871 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 2872 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 2873 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2874 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc8, 2875 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2876 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2877 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2878 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2879 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2880 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2881 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 2882 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 2883 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 2884 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2885 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 2886 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 2887 0x68, 0x47, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 0x65, 2888 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 2889 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 2890 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 2891 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2892 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 2893 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67, 2894 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 2895 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 0x2f, 2896 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2897 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 2898 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 2899 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2900 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2901 0x73, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x2e, 2902 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2903 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 2904 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2905 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2906 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2907 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 2908 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2909 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2910 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 2911 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, 2912 0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x08, 0x52, 2913 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2914 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2915 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 2916 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2917 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 2918 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 2919 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2920 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 2921 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 2922 0x6b, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 2923 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf4, 0x01, 0x0a, 0x08, 2924 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2925 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2926 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 2927 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 2928 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 2929 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 2930 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 2931 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2932 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 2933 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75, 2934 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x31, 2935 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 2936 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2937 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 2938 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 2939 0x30, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67, 2940 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2941 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 2942 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2943 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2944 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 2945 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 2946 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2947 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 2948 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74, 2949 0x65, 0x3a, 0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa7, 0x01, 0x0a, 0x06, 0x4c, 0x69, 0x73, 2950 0x74, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 2951 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 2952 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 2953 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2954 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 2955 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 2956 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2957 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 2958 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 2959 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x3a, 0x01, 0x2a, 0x28, 0x01, 2960 0x30, 0x01, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 2961 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2962 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2963 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 2964 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 2965 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2966 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 2967 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2968 0x65, 0x22, 0xa9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x01, 0x22, 0x44, 0x2f, 0x76, 0x31, 2969 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 2970 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2971 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 2972 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 2973 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2974 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2975 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 2976 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 2977 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 2978 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x76, 0xca, 2979 0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2980 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 2981 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 2982 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 2983 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 2984 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 2985 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 2986 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xbc, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 2987 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 2988 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 2989 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2990 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 2991 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 2992 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2993 0x31, 0x3b, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x04, 0x47, 0x43, 2994 0x46, 0x53, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 2995 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x42, 0x65, 2996 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 2997 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 2998 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2999} 3000 3001var ( 3002 file_google_firestore_v1beta1_firestore_proto_rawDescOnce sync.Once 3003 file_google_firestore_v1beta1_firestore_proto_rawDescData = file_google_firestore_v1beta1_firestore_proto_rawDesc 3004) 3005 3006func file_google_firestore_v1beta1_firestore_proto_rawDescGZIP() []byte { 3007 file_google_firestore_v1beta1_firestore_proto_rawDescOnce.Do(func() { 3008 file_google_firestore_v1beta1_firestore_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1beta1_firestore_proto_rawDescData) 3009 }) 3010 return file_google_firestore_v1beta1_firestore_proto_rawDescData 3011} 3012 3013var file_google_firestore_v1beta1_firestore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 3014var file_google_firestore_v1beta1_firestore_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 3015var file_google_firestore_v1beta1_firestore_proto_goTypes = []interface{}{ 3016 (TargetChange_TargetChangeType)(0), // 0: google.firestore.v1beta1.TargetChange.TargetChangeType 3017 (*GetDocumentRequest)(nil), // 1: google.firestore.v1beta1.GetDocumentRequest 3018 (*ListDocumentsRequest)(nil), // 2: google.firestore.v1beta1.ListDocumentsRequest 3019 (*ListDocumentsResponse)(nil), // 3: google.firestore.v1beta1.ListDocumentsResponse 3020 (*CreateDocumentRequest)(nil), // 4: google.firestore.v1beta1.CreateDocumentRequest 3021 (*UpdateDocumentRequest)(nil), // 5: google.firestore.v1beta1.UpdateDocumentRequest 3022 (*DeleteDocumentRequest)(nil), // 6: google.firestore.v1beta1.DeleteDocumentRequest 3023 (*BatchGetDocumentsRequest)(nil), // 7: google.firestore.v1beta1.BatchGetDocumentsRequest 3024 (*BatchGetDocumentsResponse)(nil), // 8: google.firestore.v1beta1.BatchGetDocumentsResponse 3025 (*BeginTransactionRequest)(nil), // 9: google.firestore.v1beta1.BeginTransactionRequest 3026 (*BeginTransactionResponse)(nil), // 10: google.firestore.v1beta1.BeginTransactionResponse 3027 (*CommitRequest)(nil), // 11: google.firestore.v1beta1.CommitRequest 3028 (*CommitResponse)(nil), // 12: google.firestore.v1beta1.CommitResponse 3029 (*RollbackRequest)(nil), // 13: google.firestore.v1beta1.RollbackRequest 3030 (*RunQueryRequest)(nil), // 14: google.firestore.v1beta1.RunQueryRequest 3031 (*RunQueryResponse)(nil), // 15: google.firestore.v1beta1.RunQueryResponse 3032 (*WriteRequest)(nil), // 16: google.firestore.v1beta1.WriteRequest 3033 (*WriteResponse)(nil), // 17: google.firestore.v1beta1.WriteResponse 3034 (*ListenRequest)(nil), // 18: google.firestore.v1beta1.ListenRequest 3035 (*ListenResponse)(nil), // 19: google.firestore.v1beta1.ListenResponse 3036 (*Target)(nil), // 20: google.firestore.v1beta1.Target 3037 (*TargetChange)(nil), // 21: google.firestore.v1beta1.TargetChange 3038 (*ListCollectionIdsRequest)(nil), // 22: google.firestore.v1beta1.ListCollectionIdsRequest 3039 (*ListCollectionIdsResponse)(nil), // 23: google.firestore.v1beta1.ListCollectionIdsResponse 3040 nil, // 24: google.firestore.v1beta1.WriteRequest.LabelsEntry 3041 nil, // 25: google.firestore.v1beta1.ListenRequest.LabelsEntry 3042 (*Target_DocumentsTarget)(nil), // 26: google.firestore.v1beta1.Target.DocumentsTarget 3043 (*Target_QueryTarget)(nil), // 27: google.firestore.v1beta1.Target.QueryTarget 3044 (*DocumentMask)(nil), // 28: google.firestore.v1beta1.DocumentMask 3045 (*timestamp.Timestamp)(nil), // 29: google.protobuf.Timestamp 3046 (*Document)(nil), // 30: google.firestore.v1beta1.Document 3047 (*Precondition)(nil), // 31: google.firestore.v1beta1.Precondition 3048 (*TransactionOptions)(nil), // 32: google.firestore.v1beta1.TransactionOptions 3049 (*Write)(nil), // 33: google.firestore.v1beta1.Write 3050 (*WriteResult)(nil), // 34: google.firestore.v1beta1.WriteResult 3051 (*StructuredQuery)(nil), // 35: google.firestore.v1beta1.StructuredQuery 3052 (*DocumentChange)(nil), // 36: google.firestore.v1beta1.DocumentChange 3053 (*DocumentDelete)(nil), // 37: google.firestore.v1beta1.DocumentDelete 3054 (*DocumentRemove)(nil), // 38: google.firestore.v1beta1.DocumentRemove 3055 (*ExistenceFilter)(nil), // 39: google.firestore.v1beta1.ExistenceFilter 3056 (*status.Status)(nil), // 40: google.rpc.Status 3057 (*empty.Empty)(nil), // 41: google.protobuf.Empty 3058} 3059var file_google_firestore_v1beta1_firestore_proto_depIdxs = []int32{ 3060 28, // 0: google.firestore.v1beta1.GetDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3061 29, // 1: google.firestore.v1beta1.GetDocumentRequest.read_time:type_name -> google.protobuf.Timestamp 3062 28, // 2: google.firestore.v1beta1.ListDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3063 29, // 3: google.firestore.v1beta1.ListDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp 3064 30, // 4: google.firestore.v1beta1.ListDocumentsResponse.documents:type_name -> google.firestore.v1beta1.Document 3065 30, // 5: google.firestore.v1beta1.CreateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document 3066 28, // 6: google.firestore.v1beta1.CreateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3067 30, // 7: google.firestore.v1beta1.UpdateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document 3068 28, // 8: google.firestore.v1beta1.UpdateDocumentRequest.update_mask:type_name -> google.firestore.v1beta1.DocumentMask 3069 28, // 9: google.firestore.v1beta1.UpdateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3070 31, // 10: google.firestore.v1beta1.UpdateDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition 3071 31, // 11: google.firestore.v1beta1.DeleteDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition 3072 28, // 12: google.firestore.v1beta1.BatchGetDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3073 32, // 13: google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions 3074 29, // 14: google.firestore.v1beta1.BatchGetDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp 3075 30, // 15: google.firestore.v1beta1.BatchGetDocumentsResponse.found:type_name -> google.firestore.v1beta1.Document 3076 29, // 16: google.firestore.v1beta1.BatchGetDocumentsResponse.read_time:type_name -> google.protobuf.Timestamp 3077 32, // 17: google.firestore.v1beta1.BeginTransactionRequest.options:type_name -> google.firestore.v1beta1.TransactionOptions 3078 33, // 18: google.firestore.v1beta1.CommitRequest.writes:type_name -> google.firestore.v1beta1.Write 3079 34, // 19: google.firestore.v1beta1.CommitResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult 3080 29, // 20: google.firestore.v1beta1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp 3081 35, // 21: google.firestore.v1beta1.RunQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery 3082 32, // 22: google.firestore.v1beta1.RunQueryRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions 3083 29, // 23: google.firestore.v1beta1.RunQueryRequest.read_time:type_name -> google.protobuf.Timestamp 3084 30, // 24: google.firestore.v1beta1.RunQueryResponse.document:type_name -> google.firestore.v1beta1.Document 3085 29, // 25: google.firestore.v1beta1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp 3086 33, // 26: google.firestore.v1beta1.WriteRequest.writes:type_name -> google.firestore.v1beta1.Write 3087 24, // 27: google.firestore.v1beta1.WriteRequest.labels:type_name -> google.firestore.v1beta1.WriteRequest.LabelsEntry 3088 34, // 28: google.firestore.v1beta1.WriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult 3089 29, // 29: google.firestore.v1beta1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp 3090 20, // 30: google.firestore.v1beta1.ListenRequest.add_target:type_name -> google.firestore.v1beta1.Target 3091 25, // 31: google.firestore.v1beta1.ListenRequest.labels:type_name -> google.firestore.v1beta1.ListenRequest.LabelsEntry 3092 21, // 32: google.firestore.v1beta1.ListenResponse.target_change:type_name -> google.firestore.v1beta1.TargetChange 3093 36, // 33: google.firestore.v1beta1.ListenResponse.document_change:type_name -> google.firestore.v1beta1.DocumentChange 3094 37, // 34: google.firestore.v1beta1.ListenResponse.document_delete:type_name -> google.firestore.v1beta1.DocumentDelete 3095 38, // 35: google.firestore.v1beta1.ListenResponse.document_remove:type_name -> google.firestore.v1beta1.DocumentRemove 3096 39, // 36: google.firestore.v1beta1.ListenResponse.filter:type_name -> google.firestore.v1beta1.ExistenceFilter 3097 27, // 37: google.firestore.v1beta1.Target.query:type_name -> google.firestore.v1beta1.Target.QueryTarget 3098 26, // 38: google.firestore.v1beta1.Target.documents:type_name -> google.firestore.v1beta1.Target.DocumentsTarget 3099 29, // 39: google.firestore.v1beta1.Target.read_time:type_name -> google.protobuf.Timestamp 3100 0, // 40: google.firestore.v1beta1.TargetChange.target_change_type:type_name -> google.firestore.v1beta1.TargetChange.TargetChangeType 3101 40, // 41: google.firestore.v1beta1.TargetChange.cause:type_name -> google.rpc.Status 3102 29, // 42: google.firestore.v1beta1.TargetChange.read_time:type_name -> google.protobuf.Timestamp 3103 35, // 43: google.firestore.v1beta1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery 3104 1, // 44: google.firestore.v1beta1.Firestore.GetDocument:input_type -> google.firestore.v1beta1.GetDocumentRequest 3105 2, // 45: google.firestore.v1beta1.Firestore.ListDocuments:input_type -> google.firestore.v1beta1.ListDocumentsRequest 3106 4, // 46: google.firestore.v1beta1.Firestore.CreateDocument:input_type -> google.firestore.v1beta1.CreateDocumentRequest 3107 5, // 47: google.firestore.v1beta1.Firestore.UpdateDocument:input_type -> google.firestore.v1beta1.UpdateDocumentRequest 3108 6, // 48: google.firestore.v1beta1.Firestore.DeleteDocument:input_type -> google.firestore.v1beta1.DeleteDocumentRequest 3109 7, // 49: google.firestore.v1beta1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1beta1.BatchGetDocumentsRequest 3110 9, // 50: google.firestore.v1beta1.Firestore.BeginTransaction:input_type -> google.firestore.v1beta1.BeginTransactionRequest 3111 11, // 51: google.firestore.v1beta1.Firestore.Commit:input_type -> google.firestore.v1beta1.CommitRequest 3112 13, // 52: google.firestore.v1beta1.Firestore.Rollback:input_type -> google.firestore.v1beta1.RollbackRequest 3113 14, // 53: google.firestore.v1beta1.Firestore.RunQuery:input_type -> google.firestore.v1beta1.RunQueryRequest 3114 16, // 54: google.firestore.v1beta1.Firestore.Write:input_type -> google.firestore.v1beta1.WriteRequest 3115 18, // 55: google.firestore.v1beta1.Firestore.Listen:input_type -> google.firestore.v1beta1.ListenRequest 3116 22, // 56: google.firestore.v1beta1.Firestore.ListCollectionIds:input_type -> google.firestore.v1beta1.ListCollectionIdsRequest 3117 30, // 57: google.firestore.v1beta1.Firestore.GetDocument:output_type -> google.firestore.v1beta1.Document 3118 3, // 58: google.firestore.v1beta1.Firestore.ListDocuments:output_type -> google.firestore.v1beta1.ListDocumentsResponse 3119 30, // 59: google.firestore.v1beta1.Firestore.CreateDocument:output_type -> google.firestore.v1beta1.Document 3120 30, // 60: google.firestore.v1beta1.Firestore.UpdateDocument:output_type -> google.firestore.v1beta1.Document 3121 41, // 61: google.firestore.v1beta1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty 3122 8, // 62: google.firestore.v1beta1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1beta1.BatchGetDocumentsResponse 3123 10, // 63: google.firestore.v1beta1.Firestore.BeginTransaction:output_type -> google.firestore.v1beta1.BeginTransactionResponse 3124 12, // 64: google.firestore.v1beta1.Firestore.Commit:output_type -> google.firestore.v1beta1.CommitResponse 3125 41, // 65: google.firestore.v1beta1.Firestore.Rollback:output_type -> google.protobuf.Empty 3126 15, // 66: google.firestore.v1beta1.Firestore.RunQuery:output_type -> google.firestore.v1beta1.RunQueryResponse 3127 17, // 67: google.firestore.v1beta1.Firestore.Write:output_type -> google.firestore.v1beta1.WriteResponse 3128 19, // 68: google.firestore.v1beta1.Firestore.Listen:output_type -> google.firestore.v1beta1.ListenResponse 3129 23, // 69: google.firestore.v1beta1.Firestore.ListCollectionIds:output_type -> google.firestore.v1beta1.ListCollectionIdsResponse 3130 57, // [57:70] is the sub-list for method output_type 3131 44, // [44:57] is the sub-list for method input_type 3132 44, // [44:44] is the sub-list for extension type_name 3133 44, // [44:44] is the sub-list for extension extendee 3134 0, // [0:44] is the sub-list for field type_name 3135} 3136 3137func init() { file_google_firestore_v1beta1_firestore_proto_init() } 3138func file_google_firestore_v1beta1_firestore_proto_init() { 3139 if File_google_firestore_v1beta1_firestore_proto != nil { 3140 return 3141 } 3142 file_google_firestore_v1beta1_common_proto_init() 3143 file_google_firestore_v1beta1_document_proto_init() 3144 file_google_firestore_v1beta1_query_proto_init() 3145 file_google_firestore_v1beta1_write_proto_init() 3146 if !protoimpl.UnsafeEnabled { 3147 file_google_firestore_v1beta1_firestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3148 switch v := v.(*GetDocumentRequest); i { 3149 case 0: 3150 return &v.state 3151 case 1: 3152 return &v.sizeCache 3153 case 2: 3154 return &v.unknownFields 3155 default: 3156 return nil 3157 } 3158 } 3159 file_google_firestore_v1beta1_firestore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3160 switch v := v.(*ListDocumentsRequest); i { 3161 case 0: 3162 return &v.state 3163 case 1: 3164 return &v.sizeCache 3165 case 2: 3166 return &v.unknownFields 3167 default: 3168 return nil 3169 } 3170 } 3171 file_google_firestore_v1beta1_firestore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3172 switch v := v.(*ListDocumentsResponse); i { 3173 case 0: 3174 return &v.state 3175 case 1: 3176 return &v.sizeCache 3177 case 2: 3178 return &v.unknownFields 3179 default: 3180 return nil 3181 } 3182 } 3183 file_google_firestore_v1beta1_firestore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3184 switch v := v.(*CreateDocumentRequest); i { 3185 case 0: 3186 return &v.state 3187 case 1: 3188 return &v.sizeCache 3189 case 2: 3190 return &v.unknownFields 3191 default: 3192 return nil 3193 } 3194 } 3195 file_google_firestore_v1beta1_firestore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3196 switch v := v.(*UpdateDocumentRequest); i { 3197 case 0: 3198 return &v.state 3199 case 1: 3200 return &v.sizeCache 3201 case 2: 3202 return &v.unknownFields 3203 default: 3204 return nil 3205 } 3206 } 3207 file_google_firestore_v1beta1_firestore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3208 switch v := v.(*DeleteDocumentRequest); i { 3209 case 0: 3210 return &v.state 3211 case 1: 3212 return &v.sizeCache 3213 case 2: 3214 return &v.unknownFields 3215 default: 3216 return nil 3217 } 3218 } 3219 file_google_firestore_v1beta1_firestore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3220 switch v := v.(*BatchGetDocumentsRequest); i { 3221 case 0: 3222 return &v.state 3223 case 1: 3224 return &v.sizeCache 3225 case 2: 3226 return &v.unknownFields 3227 default: 3228 return nil 3229 } 3230 } 3231 file_google_firestore_v1beta1_firestore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3232 switch v := v.(*BatchGetDocumentsResponse); i { 3233 case 0: 3234 return &v.state 3235 case 1: 3236 return &v.sizeCache 3237 case 2: 3238 return &v.unknownFields 3239 default: 3240 return nil 3241 } 3242 } 3243 file_google_firestore_v1beta1_firestore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3244 switch v := v.(*BeginTransactionRequest); i { 3245 case 0: 3246 return &v.state 3247 case 1: 3248 return &v.sizeCache 3249 case 2: 3250 return &v.unknownFields 3251 default: 3252 return nil 3253 } 3254 } 3255 file_google_firestore_v1beta1_firestore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3256 switch v := v.(*BeginTransactionResponse); i { 3257 case 0: 3258 return &v.state 3259 case 1: 3260 return &v.sizeCache 3261 case 2: 3262 return &v.unknownFields 3263 default: 3264 return nil 3265 } 3266 } 3267 file_google_firestore_v1beta1_firestore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3268 switch v := v.(*CommitRequest); i { 3269 case 0: 3270 return &v.state 3271 case 1: 3272 return &v.sizeCache 3273 case 2: 3274 return &v.unknownFields 3275 default: 3276 return nil 3277 } 3278 } 3279 file_google_firestore_v1beta1_firestore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3280 switch v := v.(*CommitResponse); i { 3281 case 0: 3282 return &v.state 3283 case 1: 3284 return &v.sizeCache 3285 case 2: 3286 return &v.unknownFields 3287 default: 3288 return nil 3289 } 3290 } 3291 file_google_firestore_v1beta1_firestore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3292 switch v := v.(*RollbackRequest); i { 3293 case 0: 3294 return &v.state 3295 case 1: 3296 return &v.sizeCache 3297 case 2: 3298 return &v.unknownFields 3299 default: 3300 return nil 3301 } 3302 } 3303 file_google_firestore_v1beta1_firestore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3304 switch v := v.(*RunQueryRequest); i { 3305 case 0: 3306 return &v.state 3307 case 1: 3308 return &v.sizeCache 3309 case 2: 3310 return &v.unknownFields 3311 default: 3312 return nil 3313 } 3314 } 3315 file_google_firestore_v1beta1_firestore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3316 switch v := v.(*RunQueryResponse); i { 3317 case 0: 3318 return &v.state 3319 case 1: 3320 return &v.sizeCache 3321 case 2: 3322 return &v.unknownFields 3323 default: 3324 return nil 3325 } 3326 } 3327 file_google_firestore_v1beta1_firestore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3328 switch v := v.(*WriteRequest); i { 3329 case 0: 3330 return &v.state 3331 case 1: 3332 return &v.sizeCache 3333 case 2: 3334 return &v.unknownFields 3335 default: 3336 return nil 3337 } 3338 } 3339 file_google_firestore_v1beta1_firestore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3340 switch v := v.(*WriteResponse); i { 3341 case 0: 3342 return &v.state 3343 case 1: 3344 return &v.sizeCache 3345 case 2: 3346 return &v.unknownFields 3347 default: 3348 return nil 3349 } 3350 } 3351 file_google_firestore_v1beta1_firestore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3352 switch v := v.(*ListenRequest); i { 3353 case 0: 3354 return &v.state 3355 case 1: 3356 return &v.sizeCache 3357 case 2: 3358 return &v.unknownFields 3359 default: 3360 return nil 3361 } 3362 } 3363 file_google_firestore_v1beta1_firestore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3364 switch v := v.(*ListenResponse); i { 3365 case 0: 3366 return &v.state 3367 case 1: 3368 return &v.sizeCache 3369 case 2: 3370 return &v.unknownFields 3371 default: 3372 return nil 3373 } 3374 } 3375 file_google_firestore_v1beta1_firestore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3376 switch v := v.(*Target); i { 3377 case 0: 3378 return &v.state 3379 case 1: 3380 return &v.sizeCache 3381 case 2: 3382 return &v.unknownFields 3383 default: 3384 return nil 3385 } 3386 } 3387 file_google_firestore_v1beta1_firestore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3388 switch v := v.(*TargetChange); i { 3389 case 0: 3390 return &v.state 3391 case 1: 3392 return &v.sizeCache 3393 case 2: 3394 return &v.unknownFields 3395 default: 3396 return nil 3397 } 3398 } 3399 file_google_firestore_v1beta1_firestore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3400 switch v := v.(*ListCollectionIdsRequest); i { 3401 case 0: 3402 return &v.state 3403 case 1: 3404 return &v.sizeCache 3405 case 2: 3406 return &v.unknownFields 3407 default: 3408 return nil 3409 } 3410 } 3411 file_google_firestore_v1beta1_firestore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3412 switch v := v.(*ListCollectionIdsResponse); i { 3413 case 0: 3414 return &v.state 3415 case 1: 3416 return &v.sizeCache 3417 case 2: 3418 return &v.unknownFields 3419 default: 3420 return nil 3421 } 3422 } 3423 file_google_firestore_v1beta1_firestore_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3424 switch v := v.(*Target_DocumentsTarget); i { 3425 case 0: 3426 return &v.state 3427 case 1: 3428 return &v.sizeCache 3429 case 2: 3430 return &v.unknownFields 3431 default: 3432 return nil 3433 } 3434 } 3435 file_google_firestore_v1beta1_firestore_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3436 switch v := v.(*Target_QueryTarget); i { 3437 case 0: 3438 return &v.state 3439 case 1: 3440 return &v.sizeCache 3441 case 2: 3442 return &v.unknownFields 3443 default: 3444 return nil 3445 } 3446 } 3447 } 3448 file_google_firestore_v1beta1_firestore_proto_msgTypes[0].OneofWrappers = []interface{}{ 3449 (*GetDocumentRequest_Transaction)(nil), 3450 (*GetDocumentRequest_ReadTime)(nil), 3451 } 3452 file_google_firestore_v1beta1_firestore_proto_msgTypes[1].OneofWrappers = []interface{}{ 3453 (*ListDocumentsRequest_Transaction)(nil), 3454 (*ListDocumentsRequest_ReadTime)(nil), 3455 } 3456 file_google_firestore_v1beta1_firestore_proto_msgTypes[6].OneofWrappers = []interface{}{ 3457 (*BatchGetDocumentsRequest_Transaction)(nil), 3458 (*BatchGetDocumentsRequest_NewTransaction)(nil), 3459 (*BatchGetDocumentsRequest_ReadTime)(nil), 3460 } 3461 file_google_firestore_v1beta1_firestore_proto_msgTypes[7].OneofWrappers = []interface{}{ 3462 (*BatchGetDocumentsResponse_Found)(nil), 3463 (*BatchGetDocumentsResponse_Missing)(nil), 3464 } 3465 file_google_firestore_v1beta1_firestore_proto_msgTypes[13].OneofWrappers = []interface{}{ 3466 (*RunQueryRequest_StructuredQuery)(nil), 3467 (*RunQueryRequest_Transaction)(nil), 3468 (*RunQueryRequest_NewTransaction)(nil), 3469 (*RunQueryRequest_ReadTime)(nil), 3470 } 3471 file_google_firestore_v1beta1_firestore_proto_msgTypes[17].OneofWrappers = []interface{}{ 3472 (*ListenRequest_AddTarget)(nil), 3473 (*ListenRequest_RemoveTarget)(nil), 3474 } 3475 file_google_firestore_v1beta1_firestore_proto_msgTypes[18].OneofWrappers = []interface{}{ 3476 (*ListenResponse_TargetChange)(nil), 3477 (*ListenResponse_DocumentChange)(nil), 3478 (*ListenResponse_DocumentDelete)(nil), 3479 (*ListenResponse_DocumentRemove)(nil), 3480 (*ListenResponse_Filter)(nil), 3481 } 3482 file_google_firestore_v1beta1_firestore_proto_msgTypes[19].OneofWrappers = []interface{}{ 3483 (*Target_Query)(nil), 3484 (*Target_Documents)(nil), 3485 (*Target_ResumeToken)(nil), 3486 (*Target_ReadTime)(nil), 3487 } 3488 file_google_firestore_v1beta1_firestore_proto_msgTypes[26].OneofWrappers = []interface{}{ 3489 (*Target_QueryTarget_StructuredQuery)(nil), 3490 } 3491 type x struct{} 3492 out := protoimpl.TypeBuilder{ 3493 File: protoimpl.DescBuilder{ 3494 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3495 RawDescriptor: file_google_firestore_v1beta1_firestore_proto_rawDesc, 3496 NumEnums: 1, 3497 NumMessages: 27, 3498 NumExtensions: 0, 3499 NumServices: 1, 3500 }, 3501 GoTypes: file_google_firestore_v1beta1_firestore_proto_goTypes, 3502 DependencyIndexes: file_google_firestore_v1beta1_firestore_proto_depIdxs, 3503 EnumInfos: file_google_firestore_v1beta1_firestore_proto_enumTypes, 3504 MessageInfos: file_google_firestore_v1beta1_firestore_proto_msgTypes, 3505 }.Build() 3506 File_google_firestore_v1beta1_firestore_proto = out.File 3507 file_google_firestore_v1beta1_firestore_proto_rawDesc = nil 3508 file_google_firestore_v1beta1_firestore_proto_goTypes = nil 3509 file_google_firestore_v1beta1_firestore_proto_depIdxs = nil 3510} 3511 3512// Reference imports to suppress errors if they are not otherwise used. 3513var _ context.Context 3514var _ grpc.ClientConnInterface 3515 3516// This is a compile-time assertion to ensure that this generated file 3517// is compatible with the grpc package it is being compiled against. 3518const _ = grpc.SupportPackageIsVersion6 3519 3520// FirestoreClient is the client API for Firestore service. 3521// 3522// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3523type FirestoreClient interface { 3524 // Gets a single document. 3525 GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) 3526 // Lists documents. 3527 ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) 3528 // Creates a new document. 3529 CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) 3530 // Updates or inserts a document. 3531 UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) 3532 // Deletes a document. 3533 DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*empty.Empty, error) 3534 // Gets multiple documents. 3535 // 3536 // Documents returned by this method are not guaranteed to be returned in the 3537 // same order that they were requested. 3538 BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) 3539 // Starts a new transaction. 3540 BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) 3541 // Commits a transaction, while optionally updating documents. 3542 Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) 3543 // Rolls back a transaction. 3544 Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error) 3545 // Runs a query. 3546 RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) 3547 // Streams batches of document updates and deletes, in order. 3548 Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) 3549 // Listens to changes. 3550 Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) 3551 // Lists all the collection IDs underneath a document. 3552 ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) 3553} 3554 3555type firestoreClient struct { 3556 cc grpc.ClientConnInterface 3557} 3558 3559func NewFirestoreClient(cc grpc.ClientConnInterface) FirestoreClient { 3560 return &firestoreClient{cc} 3561} 3562 3563func (c *firestoreClient) GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 3564 out := new(Document) 3565 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/GetDocument", in, out, opts...) 3566 if err != nil { 3567 return nil, err 3568 } 3569 return out, nil 3570} 3571 3572func (c *firestoreClient) ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) { 3573 out := new(ListDocumentsResponse) 3574 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListDocuments", in, out, opts...) 3575 if err != nil { 3576 return nil, err 3577 } 3578 return out, nil 3579} 3580 3581func (c *firestoreClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 3582 out := new(Document) 3583 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/CreateDocument", in, out, opts...) 3584 if err != nil { 3585 return nil, err 3586 } 3587 return out, nil 3588} 3589 3590func (c *firestoreClient) UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 3591 out := new(Document) 3592 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/UpdateDocument", in, out, opts...) 3593 if err != nil { 3594 return nil, err 3595 } 3596 return out, nil 3597} 3598 3599func (c *firestoreClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*empty.Empty, error) { 3600 out := new(empty.Empty) 3601 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/DeleteDocument", in, out, opts...) 3602 if err != nil { 3603 return nil, err 3604 } 3605 return out, nil 3606} 3607 3608func (c *firestoreClient) BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) { 3609 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[0], "/google.firestore.v1beta1.Firestore/BatchGetDocuments", opts...) 3610 if err != nil { 3611 return nil, err 3612 } 3613 x := &firestoreBatchGetDocumentsClient{stream} 3614 if err := x.ClientStream.SendMsg(in); err != nil { 3615 return nil, err 3616 } 3617 if err := x.ClientStream.CloseSend(); err != nil { 3618 return nil, err 3619 } 3620 return x, nil 3621} 3622 3623type Firestore_BatchGetDocumentsClient interface { 3624 Recv() (*BatchGetDocumentsResponse, error) 3625 grpc.ClientStream 3626} 3627 3628type firestoreBatchGetDocumentsClient struct { 3629 grpc.ClientStream 3630} 3631 3632func (x *firestoreBatchGetDocumentsClient) Recv() (*BatchGetDocumentsResponse, error) { 3633 m := new(BatchGetDocumentsResponse) 3634 if err := x.ClientStream.RecvMsg(m); err != nil { 3635 return nil, err 3636 } 3637 return m, nil 3638} 3639 3640func (c *firestoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) { 3641 out := new(BeginTransactionResponse) 3642 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BeginTransaction", in, out, opts...) 3643 if err != nil { 3644 return nil, err 3645 } 3646 return out, nil 3647} 3648 3649func (c *firestoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) { 3650 out := new(CommitResponse) 3651 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Commit", in, out, opts...) 3652 if err != nil { 3653 return nil, err 3654 } 3655 return out, nil 3656} 3657 3658func (c *firestoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error) { 3659 out := new(empty.Empty) 3660 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Rollback", in, out, opts...) 3661 if err != nil { 3662 return nil, err 3663 } 3664 return out, nil 3665} 3666 3667func (c *firestoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) { 3668 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[1], "/google.firestore.v1beta1.Firestore/RunQuery", opts...) 3669 if err != nil { 3670 return nil, err 3671 } 3672 x := &firestoreRunQueryClient{stream} 3673 if err := x.ClientStream.SendMsg(in); err != nil { 3674 return nil, err 3675 } 3676 if err := x.ClientStream.CloseSend(); err != nil { 3677 return nil, err 3678 } 3679 return x, nil 3680} 3681 3682type Firestore_RunQueryClient interface { 3683 Recv() (*RunQueryResponse, error) 3684 grpc.ClientStream 3685} 3686 3687type firestoreRunQueryClient struct { 3688 grpc.ClientStream 3689} 3690 3691func (x *firestoreRunQueryClient) Recv() (*RunQueryResponse, error) { 3692 m := new(RunQueryResponse) 3693 if err := x.ClientStream.RecvMsg(m); err != nil { 3694 return nil, err 3695 } 3696 return m, nil 3697} 3698 3699func (c *firestoreClient) Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) { 3700 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[2], "/google.firestore.v1beta1.Firestore/Write", opts...) 3701 if err != nil { 3702 return nil, err 3703 } 3704 x := &firestoreWriteClient{stream} 3705 return x, nil 3706} 3707 3708type Firestore_WriteClient interface { 3709 Send(*WriteRequest) error 3710 Recv() (*WriteResponse, error) 3711 grpc.ClientStream 3712} 3713 3714type firestoreWriteClient struct { 3715 grpc.ClientStream 3716} 3717 3718func (x *firestoreWriteClient) Send(m *WriteRequest) error { 3719 return x.ClientStream.SendMsg(m) 3720} 3721 3722func (x *firestoreWriteClient) Recv() (*WriteResponse, error) { 3723 m := new(WriteResponse) 3724 if err := x.ClientStream.RecvMsg(m); err != nil { 3725 return nil, err 3726 } 3727 return m, nil 3728} 3729 3730func (c *firestoreClient) Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) { 3731 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[3], "/google.firestore.v1beta1.Firestore/Listen", opts...) 3732 if err != nil { 3733 return nil, err 3734 } 3735 x := &firestoreListenClient{stream} 3736 return x, nil 3737} 3738 3739type Firestore_ListenClient interface { 3740 Send(*ListenRequest) error 3741 Recv() (*ListenResponse, error) 3742 grpc.ClientStream 3743} 3744 3745type firestoreListenClient struct { 3746 grpc.ClientStream 3747} 3748 3749func (x *firestoreListenClient) Send(m *ListenRequest) error { 3750 return x.ClientStream.SendMsg(m) 3751} 3752 3753func (x *firestoreListenClient) Recv() (*ListenResponse, error) { 3754 m := new(ListenResponse) 3755 if err := x.ClientStream.RecvMsg(m); err != nil { 3756 return nil, err 3757 } 3758 return m, nil 3759} 3760 3761func (c *firestoreClient) ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) { 3762 out := new(ListCollectionIdsResponse) 3763 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListCollectionIds", in, out, opts...) 3764 if err != nil { 3765 return nil, err 3766 } 3767 return out, nil 3768} 3769 3770// FirestoreServer is the server API for Firestore service. 3771type FirestoreServer interface { 3772 // Gets a single document. 3773 GetDocument(context.Context, *GetDocumentRequest) (*Document, error) 3774 // Lists documents. 3775 ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) 3776 // Creates a new document. 3777 CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) 3778 // Updates or inserts a document. 3779 UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) 3780 // Deletes a document. 3781 DeleteDocument(context.Context, *DeleteDocumentRequest) (*empty.Empty, error) 3782 // Gets multiple documents. 3783 // 3784 // Documents returned by this method are not guaranteed to be returned in the 3785 // same order that they were requested. 3786 BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error 3787 // Starts a new transaction. 3788 BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) 3789 // Commits a transaction, while optionally updating documents. 3790 Commit(context.Context, *CommitRequest) (*CommitResponse, error) 3791 // Rolls back a transaction. 3792 Rollback(context.Context, *RollbackRequest) (*empty.Empty, error) 3793 // Runs a query. 3794 RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error 3795 // Streams batches of document updates and deletes, in order. 3796 Write(Firestore_WriteServer) error 3797 // Listens to changes. 3798 Listen(Firestore_ListenServer) error 3799 // Lists all the collection IDs underneath a document. 3800 ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) 3801} 3802 3803// UnimplementedFirestoreServer can be embedded to have forward compatible implementations. 3804type UnimplementedFirestoreServer struct { 3805} 3806 3807func (*UnimplementedFirestoreServer) GetDocument(context.Context, *GetDocumentRequest) (*Document, error) { 3808 return nil, status1.Errorf(codes.Unimplemented, "method GetDocument not implemented") 3809} 3810func (*UnimplementedFirestoreServer) ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) { 3811 return nil, status1.Errorf(codes.Unimplemented, "method ListDocuments not implemented") 3812} 3813func (*UnimplementedFirestoreServer) CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) { 3814 return nil, status1.Errorf(codes.Unimplemented, "method CreateDocument not implemented") 3815} 3816func (*UnimplementedFirestoreServer) UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) { 3817 return nil, status1.Errorf(codes.Unimplemented, "method UpdateDocument not implemented") 3818} 3819func (*UnimplementedFirestoreServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*empty.Empty, error) { 3820 return nil, status1.Errorf(codes.Unimplemented, "method DeleteDocument not implemented") 3821} 3822func (*UnimplementedFirestoreServer) BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error { 3823 return status1.Errorf(codes.Unimplemented, "method BatchGetDocuments not implemented") 3824} 3825func (*UnimplementedFirestoreServer) BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) { 3826 return nil, status1.Errorf(codes.Unimplemented, "method BeginTransaction not implemented") 3827} 3828func (*UnimplementedFirestoreServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) { 3829 return nil, status1.Errorf(codes.Unimplemented, "method Commit not implemented") 3830} 3831func (*UnimplementedFirestoreServer) Rollback(context.Context, *RollbackRequest) (*empty.Empty, error) { 3832 return nil, status1.Errorf(codes.Unimplemented, "method Rollback not implemented") 3833} 3834func (*UnimplementedFirestoreServer) RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error { 3835 return status1.Errorf(codes.Unimplemented, "method RunQuery not implemented") 3836} 3837func (*UnimplementedFirestoreServer) Write(Firestore_WriteServer) error { 3838 return status1.Errorf(codes.Unimplemented, "method Write not implemented") 3839} 3840func (*UnimplementedFirestoreServer) Listen(Firestore_ListenServer) error { 3841 return status1.Errorf(codes.Unimplemented, "method Listen not implemented") 3842} 3843func (*UnimplementedFirestoreServer) ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) { 3844 return nil, status1.Errorf(codes.Unimplemented, "method ListCollectionIds not implemented") 3845} 3846 3847func RegisterFirestoreServer(s *grpc.Server, srv FirestoreServer) { 3848 s.RegisterService(&_Firestore_serviceDesc, srv) 3849} 3850 3851func _Firestore_GetDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3852 in := new(GetDocumentRequest) 3853 if err := dec(in); err != nil { 3854 return nil, err 3855 } 3856 if interceptor == nil { 3857 return srv.(FirestoreServer).GetDocument(ctx, in) 3858 } 3859 info := &grpc.UnaryServerInfo{ 3860 Server: srv, 3861 FullMethod: "/google.firestore.v1beta1.Firestore/GetDocument", 3862 } 3863 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3864 return srv.(FirestoreServer).GetDocument(ctx, req.(*GetDocumentRequest)) 3865 } 3866 return interceptor(ctx, in, info, handler) 3867} 3868 3869func _Firestore_ListDocuments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3870 in := new(ListDocumentsRequest) 3871 if err := dec(in); err != nil { 3872 return nil, err 3873 } 3874 if interceptor == nil { 3875 return srv.(FirestoreServer).ListDocuments(ctx, in) 3876 } 3877 info := &grpc.UnaryServerInfo{ 3878 Server: srv, 3879 FullMethod: "/google.firestore.v1beta1.Firestore/ListDocuments", 3880 } 3881 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3882 return srv.(FirestoreServer).ListDocuments(ctx, req.(*ListDocumentsRequest)) 3883 } 3884 return interceptor(ctx, in, info, handler) 3885} 3886 3887func _Firestore_CreateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3888 in := new(CreateDocumentRequest) 3889 if err := dec(in); err != nil { 3890 return nil, err 3891 } 3892 if interceptor == nil { 3893 return srv.(FirestoreServer).CreateDocument(ctx, in) 3894 } 3895 info := &grpc.UnaryServerInfo{ 3896 Server: srv, 3897 FullMethod: "/google.firestore.v1beta1.Firestore/CreateDocument", 3898 } 3899 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3900 return srv.(FirestoreServer).CreateDocument(ctx, req.(*CreateDocumentRequest)) 3901 } 3902 return interceptor(ctx, in, info, handler) 3903} 3904 3905func _Firestore_UpdateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3906 in := new(UpdateDocumentRequest) 3907 if err := dec(in); err != nil { 3908 return nil, err 3909 } 3910 if interceptor == nil { 3911 return srv.(FirestoreServer).UpdateDocument(ctx, in) 3912 } 3913 info := &grpc.UnaryServerInfo{ 3914 Server: srv, 3915 FullMethod: "/google.firestore.v1beta1.Firestore/UpdateDocument", 3916 } 3917 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3918 return srv.(FirestoreServer).UpdateDocument(ctx, req.(*UpdateDocumentRequest)) 3919 } 3920 return interceptor(ctx, in, info, handler) 3921} 3922 3923func _Firestore_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3924 in := new(DeleteDocumentRequest) 3925 if err := dec(in); err != nil { 3926 return nil, err 3927 } 3928 if interceptor == nil { 3929 return srv.(FirestoreServer).DeleteDocument(ctx, in) 3930 } 3931 info := &grpc.UnaryServerInfo{ 3932 Server: srv, 3933 FullMethod: "/google.firestore.v1beta1.Firestore/DeleteDocument", 3934 } 3935 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3936 return srv.(FirestoreServer).DeleteDocument(ctx, req.(*DeleteDocumentRequest)) 3937 } 3938 return interceptor(ctx, in, info, handler) 3939} 3940 3941func _Firestore_BatchGetDocuments_Handler(srv interface{}, stream grpc.ServerStream) error { 3942 m := new(BatchGetDocumentsRequest) 3943 if err := stream.RecvMsg(m); err != nil { 3944 return err 3945 } 3946 return srv.(FirestoreServer).BatchGetDocuments(m, &firestoreBatchGetDocumentsServer{stream}) 3947} 3948 3949type Firestore_BatchGetDocumentsServer interface { 3950 Send(*BatchGetDocumentsResponse) error 3951 grpc.ServerStream 3952} 3953 3954type firestoreBatchGetDocumentsServer struct { 3955 grpc.ServerStream 3956} 3957 3958func (x *firestoreBatchGetDocumentsServer) Send(m *BatchGetDocumentsResponse) error { 3959 return x.ServerStream.SendMsg(m) 3960} 3961 3962func _Firestore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3963 in := new(BeginTransactionRequest) 3964 if err := dec(in); err != nil { 3965 return nil, err 3966 } 3967 if interceptor == nil { 3968 return srv.(FirestoreServer).BeginTransaction(ctx, in) 3969 } 3970 info := &grpc.UnaryServerInfo{ 3971 Server: srv, 3972 FullMethod: "/google.firestore.v1beta1.Firestore/BeginTransaction", 3973 } 3974 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3975 return srv.(FirestoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest)) 3976 } 3977 return interceptor(ctx, in, info, handler) 3978} 3979 3980func _Firestore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3981 in := new(CommitRequest) 3982 if err := dec(in); err != nil { 3983 return nil, err 3984 } 3985 if interceptor == nil { 3986 return srv.(FirestoreServer).Commit(ctx, in) 3987 } 3988 info := &grpc.UnaryServerInfo{ 3989 Server: srv, 3990 FullMethod: "/google.firestore.v1beta1.Firestore/Commit", 3991 } 3992 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3993 return srv.(FirestoreServer).Commit(ctx, req.(*CommitRequest)) 3994 } 3995 return interceptor(ctx, in, info, handler) 3996} 3997 3998func _Firestore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3999 in := new(RollbackRequest) 4000 if err := dec(in); err != nil { 4001 return nil, err 4002 } 4003 if interceptor == nil { 4004 return srv.(FirestoreServer).Rollback(ctx, in) 4005 } 4006 info := &grpc.UnaryServerInfo{ 4007 Server: srv, 4008 FullMethod: "/google.firestore.v1beta1.Firestore/Rollback", 4009 } 4010 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4011 return srv.(FirestoreServer).Rollback(ctx, req.(*RollbackRequest)) 4012 } 4013 return interceptor(ctx, in, info, handler) 4014} 4015 4016func _Firestore_RunQuery_Handler(srv interface{}, stream grpc.ServerStream) error { 4017 m := new(RunQueryRequest) 4018 if err := stream.RecvMsg(m); err != nil { 4019 return err 4020 } 4021 return srv.(FirestoreServer).RunQuery(m, &firestoreRunQueryServer{stream}) 4022} 4023 4024type Firestore_RunQueryServer interface { 4025 Send(*RunQueryResponse) error 4026 grpc.ServerStream 4027} 4028 4029type firestoreRunQueryServer struct { 4030 grpc.ServerStream 4031} 4032 4033func (x *firestoreRunQueryServer) Send(m *RunQueryResponse) error { 4034 return x.ServerStream.SendMsg(m) 4035} 4036 4037func _Firestore_Write_Handler(srv interface{}, stream grpc.ServerStream) error { 4038 return srv.(FirestoreServer).Write(&firestoreWriteServer{stream}) 4039} 4040 4041type Firestore_WriteServer interface { 4042 Send(*WriteResponse) error 4043 Recv() (*WriteRequest, error) 4044 grpc.ServerStream 4045} 4046 4047type firestoreWriteServer struct { 4048 grpc.ServerStream 4049} 4050 4051func (x *firestoreWriteServer) Send(m *WriteResponse) error { 4052 return x.ServerStream.SendMsg(m) 4053} 4054 4055func (x *firestoreWriteServer) Recv() (*WriteRequest, error) { 4056 m := new(WriteRequest) 4057 if err := x.ServerStream.RecvMsg(m); err != nil { 4058 return nil, err 4059 } 4060 return m, nil 4061} 4062 4063func _Firestore_Listen_Handler(srv interface{}, stream grpc.ServerStream) error { 4064 return srv.(FirestoreServer).Listen(&firestoreListenServer{stream}) 4065} 4066 4067type Firestore_ListenServer interface { 4068 Send(*ListenResponse) error 4069 Recv() (*ListenRequest, error) 4070 grpc.ServerStream 4071} 4072 4073type firestoreListenServer struct { 4074 grpc.ServerStream 4075} 4076 4077func (x *firestoreListenServer) Send(m *ListenResponse) error { 4078 return x.ServerStream.SendMsg(m) 4079} 4080 4081func (x *firestoreListenServer) Recv() (*ListenRequest, error) { 4082 m := new(ListenRequest) 4083 if err := x.ServerStream.RecvMsg(m); err != nil { 4084 return nil, err 4085 } 4086 return m, nil 4087} 4088 4089func _Firestore_ListCollectionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4090 in := new(ListCollectionIdsRequest) 4091 if err := dec(in); err != nil { 4092 return nil, err 4093 } 4094 if interceptor == nil { 4095 return srv.(FirestoreServer).ListCollectionIds(ctx, in) 4096 } 4097 info := &grpc.UnaryServerInfo{ 4098 Server: srv, 4099 FullMethod: "/google.firestore.v1beta1.Firestore/ListCollectionIds", 4100 } 4101 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4102 return srv.(FirestoreServer).ListCollectionIds(ctx, req.(*ListCollectionIdsRequest)) 4103 } 4104 return interceptor(ctx, in, info, handler) 4105} 4106 4107var _Firestore_serviceDesc = grpc.ServiceDesc{ 4108 ServiceName: "google.firestore.v1beta1.Firestore", 4109 HandlerType: (*FirestoreServer)(nil), 4110 Methods: []grpc.MethodDesc{ 4111 { 4112 MethodName: "GetDocument", 4113 Handler: _Firestore_GetDocument_Handler, 4114 }, 4115 { 4116 MethodName: "ListDocuments", 4117 Handler: _Firestore_ListDocuments_Handler, 4118 }, 4119 { 4120 MethodName: "CreateDocument", 4121 Handler: _Firestore_CreateDocument_Handler, 4122 }, 4123 { 4124 MethodName: "UpdateDocument", 4125 Handler: _Firestore_UpdateDocument_Handler, 4126 }, 4127 { 4128 MethodName: "DeleteDocument", 4129 Handler: _Firestore_DeleteDocument_Handler, 4130 }, 4131 { 4132 MethodName: "BeginTransaction", 4133 Handler: _Firestore_BeginTransaction_Handler, 4134 }, 4135 { 4136 MethodName: "Commit", 4137 Handler: _Firestore_Commit_Handler, 4138 }, 4139 { 4140 MethodName: "Rollback", 4141 Handler: _Firestore_Rollback_Handler, 4142 }, 4143 { 4144 MethodName: "ListCollectionIds", 4145 Handler: _Firestore_ListCollectionIds_Handler, 4146 }, 4147 }, 4148 Streams: []grpc.StreamDesc{ 4149 { 4150 StreamName: "BatchGetDocuments", 4151 Handler: _Firestore_BatchGetDocuments_Handler, 4152 ServerStreams: true, 4153 }, 4154 { 4155 StreamName: "RunQuery", 4156 Handler: _Firestore_RunQuery_Handler, 4157 ServerStreams: true, 4158 }, 4159 { 4160 StreamName: "Write", 4161 Handler: _Firestore_Write_Handler, 4162 ServerStreams: true, 4163 ClientStreams: true, 4164 }, 4165 { 4166 StreamName: "Listen", 4167 Handler: _Firestore_Listen_Handler, 4168 ServerStreams: true, 4169 ClientStreams: true, 4170 }, 4171 }, 4172 Metadata: "google/firestore/v1beta1/firestore.proto", 4173} 4174