...

Source file src/google.golang.org/genproto/googleapis/datastore/v1/datastore.pb.go

Documentation: google.golang.org/genproto/googleapis/datastore/v1

     1  // Copyright 2024 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v4.24.4
    19  // source: google/datastore/v1/datastore.proto
    20  
    21  package datastore
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	grpc "google.golang.org/grpc"
    30  	codes "google.golang.org/grpc/codes"
    31  	status "google.golang.org/grpc/status"
    32  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    33  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    34  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    35  )
    36  
    37  const (
    38  	// Verify that this generated code is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    40  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    42  )
    43  
    44  // The modes available for commits.
    45  type CommitRequest_Mode int32
    46  
    47  const (
    48  	// Unspecified. This value must not be used.
    49  	CommitRequest_MODE_UNSPECIFIED CommitRequest_Mode = 0
    50  	// Transactional: The mutations are either all applied, or none are applied.
    51  	// Learn about transactions
    52  	// [here](https://cloud.google.com/datastore/docs/concepts/transactions).
    53  	CommitRequest_TRANSACTIONAL CommitRequest_Mode = 1
    54  	// Non-transactional: The mutations may not apply as all or none.
    55  	CommitRequest_NON_TRANSACTIONAL CommitRequest_Mode = 2
    56  )
    57  
    58  // Enum value maps for CommitRequest_Mode.
    59  var (
    60  	CommitRequest_Mode_name = map[int32]string{
    61  		0: "MODE_UNSPECIFIED",
    62  		1: "TRANSACTIONAL",
    63  		2: "NON_TRANSACTIONAL",
    64  	}
    65  	CommitRequest_Mode_value = map[string]int32{
    66  		"MODE_UNSPECIFIED":  0,
    67  		"TRANSACTIONAL":     1,
    68  		"NON_TRANSACTIONAL": 2,
    69  	}
    70  )
    71  
    72  func (x CommitRequest_Mode) Enum() *CommitRequest_Mode {
    73  	p := new(CommitRequest_Mode)
    74  	*p = x
    75  	return p
    76  }
    77  
    78  func (x CommitRequest_Mode) String() string {
    79  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    80  }
    81  
    82  func (CommitRequest_Mode) Descriptor() protoreflect.EnumDescriptor {
    83  	return file_google_datastore_v1_datastore_proto_enumTypes[0].Descriptor()
    84  }
    85  
    86  func (CommitRequest_Mode) Type() protoreflect.EnumType {
    87  	return &file_google_datastore_v1_datastore_proto_enumTypes[0]
    88  }
    89  
    90  func (x CommitRequest_Mode) Number() protoreflect.EnumNumber {
    91  	return protoreflect.EnumNumber(x)
    92  }
    93  
    94  // Deprecated: Use CommitRequest_Mode.Descriptor instead.
    95  func (CommitRequest_Mode) EnumDescriptor() ([]byte, []int) {
    96  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{10, 0}
    97  }
    98  
    99  // The possible values for read consistencies.
   100  type ReadOptions_ReadConsistency int32
   101  
   102  const (
   103  	// Unspecified. This value must not be used.
   104  	ReadOptions_READ_CONSISTENCY_UNSPECIFIED ReadOptions_ReadConsistency = 0
   105  	// Strong consistency.
   106  	ReadOptions_STRONG ReadOptions_ReadConsistency = 1
   107  	// Eventual consistency.
   108  	ReadOptions_EVENTUAL ReadOptions_ReadConsistency = 2
   109  )
   110  
   111  // Enum value maps for ReadOptions_ReadConsistency.
   112  var (
   113  	ReadOptions_ReadConsistency_name = map[int32]string{
   114  		0: "READ_CONSISTENCY_UNSPECIFIED",
   115  		1: "STRONG",
   116  		2: "EVENTUAL",
   117  	}
   118  	ReadOptions_ReadConsistency_value = map[string]int32{
   119  		"READ_CONSISTENCY_UNSPECIFIED": 0,
   120  		"STRONG":                       1,
   121  		"EVENTUAL":                     2,
   122  	}
   123  )
   124  
   125  func (x ReadOptions_ReadConsistency) Enum() *ReadOptions_ReadConsistency {
   126  	p := new(ReadOptions_ReadConsistency)
   127  	*p = x
   128  	return p
   129  }
   130  
   131  func (x ReadOptions_ReadConsistency) String() string {
   132  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   133  }
   134  
   135  func (ReadOptions_ReadConsistency) Descriptor() protoreflect.EnumDescriptor {
   136  	return file_google_datastore_v1_datastore_proto_enumTypes[1].Descriptor()
   137  }
   138  
   139  func (ReadOptions_ReadConsistency) Type() protoreflect.EnumType {
   140  	return &file_google_datastore_v1_datastore_proto_enumTypes[1]
   141  }
   142  
   143  func (x ReadOptions_ReadConsistency) Number() protoreflect.EnumNumber {
   144  	return protoreflect.EnumNumber(x)
   145  }
   146  
   147  // Deprecated: Use ReadOptions_ReadConsistency.Descriptor instead.
   148  func (ReadOptions_ReadConsistency) EnumDescriptor() ([]byte, []int) {
   149  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19, 0}
   150  }
   151  
   152  // The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
   153  type LookupRequest struct {
   154  	state         protoimpl.MessageState
   155  	sizeCache     protoimpl.SizeCache
   156  	unknownFields protoimpl.UnknownFields
   157  
   158  	// Required. The ID of the project against which to make the request.
   159  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   160  	// The ID of the database against which to make the request.
   161  	//
   162  	// '(default)' is not allowed; please use empty string ” to refer the default
   163  	// database.
   164  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
   165  	// The options for this lookup request.
   166  	ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"`
   167  	// Required. Keys of entities to look up.
   168  	Keys []*Key `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"`
   169  	// The properties to return. Defaults to returning all properties.
   170  	//
   171  	// If this field is set and an entity has a property not referenced in the
   172  	// mask, it will be absent from [LookupResponse.found.entity.properties][].
   173  	//
   174  	// The entity's key is always returned.
   175  	PropertyMask *PropertyMask `protobuf:"bytes,5,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"`
   176  }
   177  
   178  func (x *LookupRequest) Reset() {
   179  	*x = LookupRequest{}
   180  	if protoimpl.UnsafeEnabled {
   181  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[0]
   182  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   183  		ms.StoreMessageInfo(mi)
   184  	}
   185  }
   186  
   187  func (x *LookupRequest) String() string {
   188  	return protoimpl.X.MessageStringOf(x)
   189  }
   190  
   191  func (*LookupRequest) ProtoMessage() {}
   192  
   193  func (x *LookupRequest) ProtoReflect() protoreflect.Message {
   194  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[0]
   195  	if protoimpl.UnsafeEnabled && x != nil {
   196  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   197  		if ms.LoadMessageInfo() == nil {
   198  			ms.StoreMessageInfo(mi)
   199  		}
   200  		return ms
   201  	}
   202  	return mi.MessageOf(x)
   203  }
   204  
   205  // Deprecated: Use LookupRequest.ProtoReflect.Descriptor instead.
   206  func (*LookupRequest) Descriptor() ([]byte, []int) {
   207  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{0}
   208  }
   209  
   210  func (x *LookupRequest) GetProjectId() string {
   211  	if x != nil {
   212  		return x.ProjectId
   213  	}
   214  	return ""
   215  }
   216  
   217  func (x *LookupRequest) GetDatabaseId() string {
   218  	if x != nil {
   219  		return x.DatabaseId
   220  	}
   221  	return ""
   222  }
   223  
   224  func (x *LookupRequest) GetReadOptions() *ReadOptions {
   225  	if x != nil {
   226  		return x.ReadOptions
   227  	}
   228  	return nil
   229  }
   230  
   231  func (x *LookupRequest) GetKeys() []*Key {
   232  	if x != nil {
   233  		return x.Keys
   234  	}
   235  	return nil
   236  }
   237  
   238  func (x *LookupRequest) GetPropertyMask() *PropertyMask {
   239  	if x != nil {
   240  		return x.PropertyMask
   241  	}
   242  	return nil
   243  }
   244  
   245  // The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
   246  type LookupResponse struct {
   247  	state         protoimpl.MessageState
   248  	sizeCache     protoimpl.SizeCache
   249  	unknownFields protoimpl.UnknownFields
   250  
   251  	// Entities found as `ResultType.FULL` entities. The order of results in this
   252  	// field is undefined and has no relation to the order of the keys in the
   253  	// input.
   254  	Found []*EntityResult `protobuf:"bytes,1,rep,name=found,proto3" json:"found,omitempty"`
   255  	// Entities not found as `ResultType.KEY_ONLY` entities. The order of results
   256  	// in this field is undefined and has no relation to the order of the keys
   257  	// in the input.
   258  	Missing []*EntityResult `protobuf:"bytes,2,rep,name=missing,proto3" json:"missing,omitempty"`
   259  	// A list of keys that were not looked up due to resource constraints. The
   260  	// order of results in this field is undefined and has no relation to the
   261  	// order of the keys in the input.
   262  	Deferred []*Key `protobuf:"bytes,3,rep,name=deferred,proto3" json:"deferred,omitempty"`
   263  	// The identifier of the transaction that was started as part of this Lookup
   264  	// request.
   265  	//
   266  	// Set only when
   267  	// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
   268  	// was set in
   269  	// [LookupRequest.read_options][google.datastore.v1.LookupRequest.read_options].
   270  	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3" json:"transaction,omitempty"`
   271  	// The time at which these entities were read or found missing.
   272  	ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
   273  }
   274  
   275  func (x *LookupResponse) Reset() {
   276  	*x = LookupResponse{}
   277  	if protoimpl.UnsafeEnabled {
   278  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[1]
   279  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   280  		ms.StoreMessageInfo(mi)
   281  	}
   282  }
   283  
   284  func (x *LookupResponse) String() string {
   285  	return protoimpl.X.MessageStringOf(x)
   286  }
   287  
   288  func (*LookupResponse) ProtoMessage() {}
   289  
   290  func (x *LookupResponse) ProtoReflect() protoreflect.Message {
   291  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[1]
   292  	if protoimpl.UnsafeEnabled && x != nil {
   293  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   294  		if ms.LoadMessageInfo() == nil {
   295  			ms.StoreMessageInfo(mi)
   296  		}
   297  		return ms
   298  	}
   299  	return mi.MessageOf(x)
   300  }
   301  
   302  // Deprecated: Use LookupResponse.ProtoReflect.Descriptor instead.
   303  func (*LookupResponse) Descriptor() ([]byte, []int) {
   304  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{1}
   305  }
   306  
   307  func (x *LookupResponse) GetFound() []*EntityResult {
   308  	if x != nil {
   309  		return x.Found
   310  	}
   311  	return nil
   312  }
   313  
   314  func (x *LookupResponse) GetMissing() []*EntityResult {
   315  	if x != nil {
   316  		return x.Missing
   317  	}
   318  	return nil
   319  }
   320  
   321  func (x *LookupResponse) GetDeferred() []*Key {
   322  	if x != nil {
   323  		return x.Deferred
   324  	}
   325  	return nil
   326  }
   327  
   328  func (x *LookupResponse) GetTransaction() []byte {
   329  	if x != nil {
   330  		return x.Transaction
   331  	}
   332  	return nil
   333  }
   334  
   335  func (x *LookupResponse) GetReadTime() *timestamppb.Timestamp {
   336  	if x != nil {
   337  		return x.ReadTime
   338  	}
   339  	return nil
   340  }
   341  
   342  // The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
   343  type RunQueryRequest struct {
   344  	state         protoimpl.MessageState
   345  	sizeCache     protoimpl.SizeCache
   346  	unknownFields protoimpl.UnknownFields
   347  
   348  	// Required. The ID of the project against which to make the request.
   349  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   350  	// The ID of the database against which to make the request.
   351  	//
   352  	// '(default)' is not allowed; please use empty string ” to refer the default
   353  	// database.
   354  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
   355  	// Entities are partitioned into subsets, identified by a partition ID.
   356  	// Queries are scoped to a single partition.
   357  	// This partition ID is normalized with the standard default context
   358  	// partition ID.
   359  	PartitionId *PartitionId `protobuf:"bytes,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"`
   360  	// The options for this query.
   361  	ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"`
   362  	// The type of query.
   363  	//
   364  	// Types that are assignable to QueryType:
   365  	//
   366  	//	*RunQueryRequest_Query
   367  	//	*RunQueryRequest_GqlQuery
   368  	QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"`
   369  	// The properties to return.
   370  	// This field must not be set for a projection query.
   371  	//
   372  	// See
   373  	// [LookupRequest.property_mask][google.datastore.v1.LookupRequest.property_mask].
   374  	PropertyMask *PropertyMask `protobuf:"bytes,10,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"`
   375  	// Optional. Explain options for the query. If set, additional query
   376  	// statistics will be returned. If not, only query results will be returned.
   377  	ExplainOptions *ExplainOptions `protobuf:"bytes,12,opt,name=explain_options,json=explainOptions,proto3" json:"explain_options,omitempty"`
   378  }
   379  
   380  func (x *RunQueryRequest) Reset() {
   381  	*x = RunQueryRequest{}
   382  	if protoimpl.UnsafeEnabled {
   383  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[2]
   384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   385  		ms.StoreMessageInfo(mi)
   386  	}
   387  }
   388  
   389  func (x *RunQueryRequest) String() string {
   390  	return protoimpl.X.MessageStringOf(x)
   391  }
   392  
   393  func (*RunQueryRequest) ProtoMessage() {}
   394  
   395  func (x *RunQueryRequest) ProtoReflect() protoreflect.Message {
   396  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[2]
   397  	if protoimpl.UnsafeEnabled && x != nil {
   398  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   399  		if ms.LoadMessageInfo() == nil {
   400  			ms.StoreMessageInfo(mi)
   401  		}
   402  		return ms
   403  	}
   404  	return mi.MessageOf(x)
   405  }
   406  
   407  // Deprecated: Use RunQueryRequest.ProtoReflect.Descriptor instead.
   408  func (*RunQueryRequest) Descriptor() ([]byte, []int) {
   409  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{2}
   410  }
   411  
   412  func (x *RunQueryRequest) GetProjectId() string {
   413  	if x != nil {
   414  		return x.ProjectId
   415  	}
   416  	return ""
   417  }
   418  
   419  func (x *RunQueryRequest) GetDatabaseId() string {
   420  	if x != nil {
   421  		return x.DatabaseId
   422  	}
   423  	return ""
   424  }
   425  
   426  func (x *RunQueryRequest) GetPartitionId() *PartitionId {
   427  	if x != nil {
   428  		return x.PartitionId
   429  	}
   430  	return nil
   431  }
   432  
   433  func (x *RunQueryRequest) GetReadOptions() *ReadOptions {
   434  	if x != nil {
   435  		return x.ReadOptions
   436  	}
   437  	return nil
   438  }
   439  
   440  func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
   441  	if m != nil {
   442  		return m.QueryType
   443  	}
   444  	return nil
   445  }
   446  
   447  func (x *RunQueryRequest) GetQuery() *Query {
   448  	if x, ok := x.GetQueryType().(*RunQueryRequest_Query); ok {
   449  		return x.Query
   450  	}
   451  	return nil
   452  }
   453  
   454  func (x *RunQueryRequest) GetGqlQuery() *GqlQuery {
   455  	if x, ok := x.GetQueryType().(*RunQueryRequest_GqlQuery); ok {
   456  		return x.GqlQuery
   457  	}
   458  	return nil
   459  }
   460  
   461  func (x *RunQueryRequest) GetPropertyMask() *PropertyMask {
   462  	if x != nil {
   463  		return x.PropertyMask
   464  	}
   465  	return nil
   466  }
   467  
   468  func (x *RunQueryRequest) GetExplainOptions() *ExplainOptions {
   469  	if x != nil {
   470  		return x.ExplainOptions
   471  	}
   472  	return nil
   473  }
   474  
   475  type isRunQueryRequest_QueryType interface {
   476  	isRunQueryRequest_QueryType()
   477  }
   478  
   479  type RunQueryRequest_Query struct {
   480  	// The query to run.
   481  	Query *Query `protobuf:"bytes,3,opt,name=query,proto3,oneof"`
   482  }
   483  
   484  type RunQueryRequest_GqlQuery struct {
   485  	// The GQL query to run. This query must be a non-aggregation query.
   486  	GqlQuery *GqlQuery `protobuf:"bytes,7,opt,name=gql_query,json=gqlQuery,proto3,oneof"`
   487  }
   488  
   489  func (*RunQueryRequest_Query) isRunQueryRequest_QueryType() {}
   490  
   491  func (*RunQueryRequest_GqlQuery) isRunQueryRequest_QueryType() {}
   492  
   493  // The response for
   494  // [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
   495  type RunQueryResponse struct {
   496  	state         protoimpl.MessageState
   497  	sizeCache     protoimpl.SizeCache
   498  	unknownFields protoimpl.UnknownFields
   499  
   500  	// A batch of query results (always present).
   501  	Batch *QueryResultBatch `protobuf:"bytes,1,opt,name=batch,proto3" json:"batch,omitempty"`
   502  	// The parsed form of the `GqlQuery` from the request, if it was set.
   503  	Query *Query `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
   504  	// The identifier of the transaction that was started as part of this
   505  	// RunQuery request.
   506  	//
   507  	// Set only when
   508  	// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
   509  	// was set in
   510  	// [RunQueryRequest.read_options][google.datastore.v1.RunQueryRequest.read_options].
   511  	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3" json:"transaction,omitempty"`
   512  	// Query explain metrics. This is only present when the
   513  	// [RunQueryRequest.explain_options][google.datastore.v1.RunQueryRequest.explain_options]
   514  	// is provided, and it is sent only once with the last response in the stream.
   515  	ExplainMetrics *ExplainMetrics `protobuf:"bytes,9,opt,name=explain_metrics,json=explainMetrics,proto3" json:"explain_metrics,omitempty"`
   516  }
   517  
   518  func (x *RunQueryResponse) Reset() {
   519  	*x = RunQueryResponse{}
   520  	if protoimpl.UnsafeEnabled {
   521  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[3]
   522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   523  		ms.StoreMessageInfo(mi)
   524  	}
   525  }
   526  
   527  func (x *RunQueryResponse) String() string {
   528  	return protoimpl.X.MessageStringOf(x)
   529  }
   530  
   531  func (*RunQueryResponse) ProtoMessage() {}
   532  
   533  func (x *RunQueryResponse) ProtoReflect() protoreflect.Message {
   534  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[3]
   535  	if protoimpl.UnsafeEnabled && x != nil {
   536  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   537  		if ms.LoadMessageInfo() == nil {
   538  			ms.StoreMessageInfo(mi)
   539  		}
   540  		return ms
   541  	}
   542  	return mi.MessageOf(x)
   543  }
   544  
   545  // Deprecated: Use RunQueryResponse.ProtoReflect.Descriptor instead.
   546  func (*RunQueryResponse) Descriptor() ([]byte, []int) {
   547  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{3}
   548  }
   549  
   550  func (x *RunQueryResponse) GetBatch() *QueryResultBatch {
   551  	if x != nil {
   552  		return x.Batch
   553  	}
   554  	return nil
   555  }
   556  
   557  func (x *RunQueryResponse) GetQuery() *Query {
   558  	if x != nil {
   559  		return x.Query
   560  	}
   561  	return nil
   562  }
   563  
   564  func (x *RunQueryResponse) GetTransaction() []byte {
   565  	if x != nil {
   566  		return x.Transaction
   567  	}
   568  	return nil
   569  }
   570  
   571  func (x *RunQueryResponse) GetExplainMetrics() *ExplainMetrics {
   572  	if x != nil {
   573  		return x.ExplainMetrics
   574  	}
   575  	return nil
   576  }
   577  
   578  // The request for
   579  // [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery].
   580  type RunAggregationQueryRequest struct {
   581  	state         protoimpl.MessageState
   582  	sizeCache     protoimpl.SizeCache
   583  	unknownFields protoimpl.UnknownFields
   584  
   585  	// Required. The ID of the project against which to make the request.
   586  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   587  	// The ID of the database against which to make the request.
   588  	//
   589  	// '(default)' is not allowed; please use empty string ” to refer the default
   590  	// database.
   591  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
   592  	// Entities are partitioned into subsets, identified by a partition ID.
   593  	// Queries are scoped to a single partition.
   594  	// This partition ID is normalized with the standard default context
   595  	// partition ID.
   596  	PartitionId *PartitionId `protobuf:"bytes,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"`
   597  	// The options for this query.
   598  	ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"`
   599  	// The type of query.
   600  	//
   601  	// Types that are assignable to QueryType:
   602  	//
   603  	//	*RunAggregationQueryRequest_AggregationQuery
   604  	//	*RunAggregationQueryRequest_GqlQuery
   605  	QueryType isRunAggregationQueryRequest_QueryType `protobuf_oneof:"query_type"`
   606  	// Optional. Explain options for the query. If set, additional query
   607  	// statistics will be returned. If not, only query results will be returned.
   608  	ExplainOptions *ExplainOptions `protobuf:"bytes,11,opt,name=explain_options,json=explainOptions,proto3" json:"explain_options,omitempty"`
   609  }
   610  
   611  func (x *RunAggregationQueryRequest) Reset() {
   612  	*x = RunAggregationQueryRequest{}
   613  	if protoimpl.UnsafeEnabled {
   614  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[4]
   615  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   616  		ms.StoreMessageInfo(mi)
   617  	}
   618  }
   619  
   620  func (x *RunAggregationQueryRequest) String() string {
   621  	return protoimpl.X.MessageStringOf(x)
   622  }
   623  
   624  func (*RunAggregationQueryRequest) ProtoMessage() {}
   625  
   626  func (x *RunAggregationQueryRequest) ProtoReflect() protoreflect.Message {
   627  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[4]
   628  	if protoimpl.UnsafeEnabled && x != nil {
   629  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   630  		if ms.LoadMessageInfo() == nil {
   631  			ms.StoreMessageInfo(mi)
   632  		}
   633  		return ms
   634  	}
   635  	return mi.MessageOf(x)
   636  }
   637  
   638  // Deprecated: Use RunAggregationQueryRequest.ProtoReflect.Descriptor instead.
   639  func (*RunAggregationQueryRequest) Descriptor() ([]byte, []int) {
   640  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{4}
   641  }
   642  
   643  func (x *RunAggregationQueryRequest) GetProjectId() string {
   644  	if x != nil {
   645  		return x.ProjectId
   646  	}
   647  	return ""
   648  }
   649  
   650  func (x *RunAggregationQueryRequest) GetDatabaseId() string {
   651  	if x != nil {
   652  		return x.DatabaseId
   653  	}
   654  	return ""
   655  }
   656  
   657  func (x *RunAggregationQueryRequest) GetPartitionId() *PartitionId {
   658  	if x != nil {
   659  		return x.PartitionId
   660  	}
   661  	return nil
   662  }
   663  
   664  func (x *RunAggregationQueryRequest) GetReadOptions() *ReadOptions {
   665  	if x != nil {
   666  		return x.ReadOptions
   667  	}
   668  	return nil
   669  }
   670  
   671  func (m *RunAggregationQueryRequest) GetQueryType() isRunAggregationQueryRequest_QueryType {
   672  	if m != nil {
   673  		return m.QueryType
   674  	}
   675  	return nil
   676  }
   677  
   678  func (x *RunAggregationQueryRequest) GetAggregationQuery() *AggregationQuery {
   679  	if x, ok := x.GetQueryType().(*RunAggregationQueryRequest_AggregationQuery); ok {
   680  		return x.AggregationQuery
   681  	}
   682  	return nil
   683  }
   684  
   685  func (x *RunAggregationQueryRequest) GetGqlQuery() *GqlQuery {
   686  	if x, ok := x.GetQueryType().(*RunAggregationQueryRequest_GqlQuery); ok {
   687  		return x.GqlQuery
   688  	}
   689  	return nil
   690  }
   691  
   692  func (x *RunAggregationQueryRequest) GetExplainOptions() *ExplainOptions {
   693  	if x != nil {
   694  		return x.ExplainOptions
   695  	}
   696  	return nil
   697  }
   698  
   699  type isRunAggregationQueryRequest_QueryType interface {
   700  	isRunAggregationQueryRequest_QueryType()
   701  }
   702  
   703  type RunAggregationQueryRequest_AggregationQuery struct {
   704  	// The query to run.
   705  	AggregationQuery *AggregationQuery `protobuf:"bytes,3,opt,name=aggregation_query,json=aggregationQuery,proto3,oneof"`
   706  }
   707  
   708  type RunAggregationQueryRequest_GqlQuery struct {
   709  	// The GQL query to run. This query must be an aggregation query.
   710  	GqlQuery *GqlQuery `protobuf:"bytes,7,opt,name=gql_query,json=gqlQuery,proto3,oneof"`
   711  }
   712  
   713  func (*RunAggregationQueryRequest_AggregationQuery) isRunAggregationQueryRequest_QueryType() {}
   714  
   715  func (*RunAggregationQueryRequest_GqlQuery) isRunAggregationQueryRequest_QueryType() {}
   716  
   717  // The response for
   718  // [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery].
   719  type RunAggregationQueryResponse struct {
   720  	state         protoimpl.MessageState
   721  	sizeCache     protoimpl.SizeCache
   722  	unknownFields protoimpl.UnknownFields
   723  
   724  	// A batch of aggregation results. Always present.
   725  	Batch *AggregationResultBatch `protobuf:"bytes,1,opt,name=batch,proto3" json:"batch,omitempty"`
   726  	// The parsed form of the `GqlQuery` from the request, if it was set.
   727  	Query *AggregationQuery `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
   728  	// The identifier of the transaction that was started as part of this
   729  	// RunAggregationQuery request.
   730  	//
   731  	// Set only when
   732  	// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
   733  	// was set in
   734  	// [RunAggregationQueryRequest.read_options][google.datastore.v1.RunAggregationQueryRequest.read_options].
   735  	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3" json:"transaction,omitempty"`
   736  	// Query explain metrics. This is only present when the
   737  	// [RunAggregationQueryRequest.explain_options][google.datastore.v1.RunAggregationQueryRequest.explain_options]
   738  	// is provided, and it is sent only once with the last response in the stream.
   739  	ExplainMetrics *ExplainMetrics `protobuf:"bytes,9,opt,name=explain_metrics,json=explainMetrics,proto3" json:"explain_metrics,omitempty"`
   740  }
   741  
   742  func (x *RunAggregationQueryResponse) Reset() {
   743  	*x = RunAggregationQueryResponse{}
   744  	if protoimpl.UnsafeEnabled {
   745  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[5]
   746  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   747  		ms.StoreMessageInfo(mi)
   748  	}
   749  }
   750  
   751  func (x *RunAggregationQueryResponse) String() string {
   752  	return protoimpl.X.MessageStringOf(x)
   753  }
   754  
   755  func (*RunAggregationQueryResponse) ProtoMessage() {}
   756  
   757  func (x *RunAggregationQueryResponse) ProtoReflect() protoreflect.Message {
   758  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[5]
   759  	if protoimpl.UnsafeEnabled && x != nil {
   760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   761  		if ms.LoadMessageInfo() == nil {
   762  			ms.StoreMessageInfo(mi)
   763  		}
   764  		return ms
   765  	}
   766  	return mi.MessageOf(x)
   767  }
   768  
   769  // Deprecated: Use RunAggregationQueryResponse.ProtoReflect.Descriptor instead.
   770  func (*RunAggregationQueryResponse) Descriptor() ([]byte, []int) {
   771  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{5}
   772  }
   773  
   774  func (x *RunAggregationQueryResponse) GetBatch() *AggregationResultBatch {
   775  	if x != nil {
   776  		return x.Batch
   777  	}
   778  	return nil
   779  }
   780  
   781  func (x *RunAggregationQueryResponse) GetQuery() *AggregationQuery {
   782  	if x != nil {
   783  		return x.Query
   784  	}
   785  	return nil
   786  }
   787  
   788  func (x *RunAggregationQueryResponse) GetTransaction() []byte {
   789  	if x != nil {
   790  		return x.Transaction
   791  	}
   792  	return nil
   793  }
   794  
   795  func (x *RunAggregationQueryResponse) GetExplainMetrics() *ExplainMetrics {
   796  	if x != nil {
   797  		return x.ExplainMetrics
   798  	}
   799  	return nil
   800  }
   801  
   802  // The request for
   803  // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
   804  type BeginTransactionRequest struct {
   805  	state         protoimpl.MessageState
   806  	sizeCache     protoimpl.SizeCache
   807  	unknownFields protoimpl.UnknownFields
   808  
   809  	// Required. The ID of the project against which to make the request.
   810  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   811  	// The ID of the database against which to make the request.
   812  	//
   813  	// '(default)' is not allowed; please use empty string ” to refer the default
   814  	// database.
   815  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
   816  	// Options for a new transaction.
   817  	TransactionOptions *TransactionOptions `protobuf:"bytes,10,opt,name=transaction_options,json=transactionOptions,proto3" json:"transaction_options,omitempty"`
   818  }
   819  
   820  func (x *BeginTransactionRequest) Reset() {
   821  	*x = BeginTransactionRequest{}
   822  	if protoimpl.UnsafeEnabled {
   823  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[6]
   824  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   825  		ms.StoreMessageInfo(mi)
   826  	}
   827  }
   828  
   829  func (x *BeginTransactionRequest) String() string {
   830  	return protoimpl.X.MessageStringOf(x)
   831  }
   832  
   833  func (*BeginTransactionRequest) ProtoMessage() {}
   834  
   835  func (x *BeginTransactionRequest) ProtoReflect() protoreflect.Message {
   836  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[6]
   837  	if protoimpl.UnsafeEnabled && x != nil {
   838  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   839  		if ms.LoadMessageInfo() == nil {
   840  			ms.StoreMessageInfo(mi)
   841  		}
   842  		return ms
   843  	}
   844  	return mi.MessageOf(x)
   845  }
   846  
   847  // Deprecated: Use BeginTransactionRequest.ProtoReflect.Descriptor instead.
   848  func (*BeginTransactionRequest) Descriptor() ([]byte, []int) {
   849  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{6}
   850  }
   851  
   852  func (x *BeginTransactionRequest) GetProjectId() string {
   853  	if x != nil {
   854  		return x.ProjectId
   855  	}
   856  	return ""
   857  }
   858  
   859  func (x *BeginTransactionRequest) GetDatabaseId() string {
   860  	if x != nil {
   861  		return x.DatabaseId
   862  	}
   863  	return ""
   864  }
   865  
   866  func (x *BeginTransactionRequest) GetTransactionOptions() *TransactionOptions {
   867  	if x != nil {
   868  		return x.TransactionOptions
   869  	}
   870  	return nil
   871  }
   872  
   873  // The response for
   874  // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
   875  type BeginTransactionResponse struct {
   876  	state         protoimpl.MessageState
   877  	sizeCache     protoimpl.SizeCache
   878  	unknownFields protoimpl.UnknownFields
   879  
   880  	// The transaction identifier (always present).
   881  	Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
   882  }
   883  
   884  func (x *BeginTransactionResponse) Reset() {
   885  	*x = BeginTransactionResponse{}
   886  	if protoimpl.UnsafeEnabled {
   887  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[7]
   888  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   889  		ms.StoreMessageInfo(mi)
   890  	}
   891  }
   892  
   893  func (x *BeginTransactionResponse) String() string {
   894  	return protoimpl.X.MessageStringOf(x)
   895  }
   896  
   897  func (*BeginTransactionResponse) ProtoMessage() {}
   898  
   899  func (x *BeginTransactionResponse) ProtoReflect() protoreflect.Message {
   900  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[7]
   901  	if protoimpl.UnsafeEnabled && x != nil {
   902  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   903  		if ms.LoadMessageInfo() == nil {
   904  			ms.StoreMessageInfo(mi)
   905  		}
   906  		return ms
   907  	}
   908  	return mi.MessageOf(x)
   909  }
   910  
   911  // Deprecated: Use BeginTransactionResponse.ProtoReflect.Descriptor instead.
   912  func (*BeginTransactionResponse) Descriptor() ([]byte, []int) {
   913  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{7}
   914  }
   915  
   916  func (x *BeginTransactionResponse) GetTransaction() []byte {
   917  	if x != nil {
   918  		return x.Transaction
   919  	}
   920  	return nil
   921  }
   922  
   923  // The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
   924  type RollbackRequest struct {
   925  	state         protoimpl.MessageState
   926  	sizeCache     protoimpl.SizeCache
   927  	unknownFields protoimpl.UnknownFields
   928  
   929  	// Required. The ID of the project against which to make the request.
   930  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   931  	// The ID of the database against which to make the request.
   932  	//
   933  	// '(default)' is not allowed; please use empty string ” to refer the default
   934  	// database.
   935  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
   936  	// Required. The transaction identifier, returned by a call to
   937  	// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
   938  	Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
   939  }
   940  
   941  func (x *RollbackRequest) Reset() {
   942  	*x = RollbackRequest{}
   943  	if protoimpl.UnsafeEnabled {
   944  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[8]
   945  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   946  		ms.StoreMessageInfo(mi)
   947  	}
   948  }
   949  
   950  func (x *RollbackRequest) String() string {
   951  	return protoimpl.X.MessageStringOf(x)
   952  }
   953  
   954  func (*RollbackRequest) ProtoMessage() {}
   955  
   956  func (x *RollbackRequest) ProtoReflect() protoreflect.Message {
   957  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[8]
   958  	if protoimpl.UnsafeEnabled && x != nil {
   959  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   960  		if ms.LoadMessageInfo() == nil {
   961  			ms.StoreMessageInfo(mi)
   962  		}
   963  		return ms
   964  	}
   965  	return mi.MessageOf(x)
   966  }
   967  
   968  // Deprecated: Use RollbackRequest.ProtoReflect.Descriptor instead.
   969  func (*RollbackRequest) Descriptor() ([]byte, []int) {
   970  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{8}
   971  }
   972  
   973  func (x *RollbackRequest) GetProjectId() string {
   974  	if x != nil {
   975  		return x.ProjectId
   976  	}
   977  	return ""
   978  }
   979  
   980  func (x *RollbackRequest) GetDatabaseId() string {
   981  	if x != nil {
   982  		return x.DatabaseId
   983  	}
   984  	return ""
   985  }
   986  
   987  func (x *RollbackRequest) GetTransaction() []byte {
   988  	if x != nil {
   989  		return x.Transaction
   990  	}
   991  	return nil
   992  }
   993  
   994  // The response for
   995  // [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. (an empty
   996  // message).
   997  type RollbackResponse struct {
   998  	state         protoimpl.MessageState
   999  	sizeCache     protoimpl.SizeCache
  1000  	unknownFields protoimpl.UnknownFields
  1001  }
  1002  
  1003  func (x *RollbackResponse) Reset() {
  1004  	*x = RollbackResponse{}
  1005  	if protoimpl.UnsafeEnabled {
  1006  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[9]
  1007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1008  		ms.StoreMessageInfo(mi)
  1009  	}
  1010  }
  1011  
  1012  func (x *RollbackResponse) String() string {
  1013  	return protoimpl.X.MessageStringOf(x)
  1014  }
  1015  
  1016  func (*RollbackResponse) ProtoMessage() {}
  1017  
  1018  func (x *RollbackResponse) ProtoReflect() protoreflect.Message {
  1019  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[9]
  1020  	if protoimpl.UnsafeEnabled && x != nil {
  1021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1022  		if ms.LoadMessageInfo() == nil {
  1023  			ms.StoreMessageInfo(mi)
  1024  		}
  1025  		return ms
  1026  	}
  1027  	return mi.MessageOf(x)
  1028  }
  1029  
  1030  // Deprecated: Use RollbackResponse.ProtoReflect.Descriptor instead.
  1031  func (*RollbackResponse) Descriptor() ([]byte, []int) {
  1032  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{9}
  1033  }
  1034  
  1035  // The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
  1036  type CommitRequest struct {
  1037  	state         protoimpl.MessageState
  1038  	sizeCache     protoimpl.SizeCache
  1039  	unknownFields protoimpl.UnknownFields
  1040  
  1041  	// Required. The ID of the project against which to make the request.
  1042  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
  1043  	// The ID of the database against which to make the request.
  1044  	//
  1045  	// '(default)' is not allowed; please use empty string ” to refer the default
  1046  	// database.
  1047  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
  1048  	// The type of commit to perform. Defaults to `TRANSACTIONAL`.
  1049  	Mode CommitRequest_Mode `protobuf:"varint,5,opt,name=mode,proto3,enum=google.datastore.v1.CommitRequest_Mode" json:"mode,omitempty"`
  1050  	// Must be set when mode is `TRANSACTIONAL`.
  1051  	//
  1052  	// Types that are assignable to TransactionSelector:
  1053  	//
  1054  	//	*CommitRequest_Transaction
  1055  	//	*CommitRequest_SingleUseTransaction
  1056  	TransactionSelector isCommitRequest_TransactionSelector `protobuf_oneof:"transaction_selector"`
  1057  	// The mutations to perform.
  1058  	//
  1059  	// When mode is `TRANSACTIONAL`, mutations affecting a single entity are
  1060  	// applied in order. The following sequences of mutations affecting a single
  1061  	// entity are not permitted in a single `Commit` request:
  1062  	//
  1063  	// - `insert` followed by `insert`
  1064  	// - `update` followed by `insert`
  1065  	// - `upsert` followed by `insert`
  1066  	// - `delete` followed by `update`
  1067  	//
  1068  	// When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
  1069  	// entity.
  1070  	Mutations []*Mutation `protobuf:"bytes,6,rep,name=mutations,proto3" json:"mutations,omitempty"`
  1071  }
  1072  
  1073  func (x *CommitRequest) Reset() {
  1074  	*x = CommitRequest{}
  1075  	if protoimpl.UnsafeEnabled {
  1076  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[10]
  1077  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1078  		ms.StoreMessageInfo(mi)
  1079  	}
  1080  }
  1081  
  1082  func (x *CommitRequest) String() string {
  1083  	return protoimpl.X.MessageStringOf(x)
  1084  }
  1085  
  1086  func (*CommitRequest) ProtoMessage() {}
  1087  
  1088  func (x *CommitRequest) ProtoReflect() protoreflect.Message {
  1089  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[10]
  1090  	if protoimpl.UnsafeEnabled && x != nil {
  1091  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1092  		if ms.LoadMessageInfo() == nil {
  1093  			ms.StoreMessageInfo(mi)
  1094  		}
  1095  		return ms
  1096  	}
  1097  	return mi.MessageOf(x)
  1098  }
  1099  
  1100  // Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead.
  1101  func (*CommitRequest) Descriptor() ([]byte, []int) {
  1102  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{10}
  1103  }
  1104  
  1105  func (x *CommitRequest) GetProjectId() string {
  1106  	if x != nil {
  1107  		return x.ProjectId
  1108  	}
  1109  	return ""
  1110  }
  1111  
  1112  func (x *CommitRequest) GetDatabaseId() string {
  1113  	if x != nil {
  1114  		return x.DatabaseId
  1115  	}
  1116  	return ""
  1117  }
  1118  
  1119  func (x *CommitRequest) GetMode() CommitRequest_Mode {
  1120  	if x != nil {
  1121  		return x.Mode
  1122  	}
  1123  	return CommitRequest_MODE_UNSPECIFIED
  1124  }
  1125  
  1126  func (m *CommitRequest) GetTransactionSelector() isCommitRequest_TransactionSelector {
  1127  	if m != nil {
  1128  		return m.TransactionSelector
  1129  	}
  1130  	return nil
  1131  }
  1132  
  1133  func (x *CommitRequest) GetTransaction() []byte {
  1134  	if x, ok := x.GetTransactionSelector().(*CommitRequest_Transaction); ok {
  1135  		return x.Transaction
  1136  	}
  1137  	return nil
  1138  }
  1139  
  1140  func (x *CommitRequest) GetSingleUseTransaction() *TransactionOptions {
  1141  	if x, ok := x.GetTransactionSelector().(*CommitRequest_SingleUseTransaction); ok {
  1142  		return x.SingleUseTransaction
  1143  	}
  1144  	return nil
  1145  }
  1146  
  1147  func (x *CommitRequest) GetMutations() []*Mutation {
  1148  	if x != nil {
  1149  		return x.Mutations
  1150  	}
  1151  	return nil
  1152  }
  1153  
  1154  type isCommitRequest_TransactionSelector interface {
  1155  	isCommitRequest_TransactionSelector()
  1156  }
  1157  
  1158  type CommitRequest_Transaction struct {
  1159  	// The identifier of the transaction associated with the commit. A
  1160  	// transaction identifier is returned by a call to
  1161  	// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
  1162  	Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3,oneof"`
  1163  }
  1164  
  1165  type CommitRequest_SingleUseTransaction struct {
  1166  	// Options for beginning a new transaction for this request.
  1167  	// The transaction is committed when the request completes. If specified,
  1168  	// [TransactionOptions.mode][google.datastore.v1.TransactionOptions] must be
  1169  	// [TransactionOptions.ReadWrite][google.datastore.v1.TransactionOptions.ReadWrite].
  1170  	SingleUseTransaction *TransactionOptions `protobuf:"bytes,10,opt,name=single_use_transaction,json=singleUseTransaction,proto3,oneof"`
  1171  }
  1172  
  1173  func (*CommitRequest_Transaction) isCommitRequest_TransactionSelector() {}
  1174  
  1175  func (*CommitRequest_SingleUseTransaction) isCommitRequest_TransactionSelector() {}
  1176  
  1177  // The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
  1178  type CommitResponse struct {
  1179  	state         protoimpl.MessageState
  1180  	sizeCache     protoimpl.SizeCache
  1181  	unknownFields protoimpl.UnknownFields
  1182  
  1183  	// The result of performing the mutations.
  1184  	// The i-th mutation result corresponds to the i-th mutation in the request.
  1185  	MutationResults []*MutationResult `protobuf:"bytes,3,rep,name=mutation_results,json=mutationResults,proto3" json:"mutation_results,omitempty"`
  1186  	// The number of index entries updated during the commit, or zero if none were
  1187  	// updated.
  1188  	IndexUpdates int32 `protobuf:"varint,4,opt,name=index_updates,json=indexUpdates,proto3" json:"index_updates,omitempty"`
  1189  	// The transaction commit timestamp. Not set for non-transactional commits.
  1190  	CommitTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
  1191  }
  1192  
  1193  func (x *CommitResponse) Reset() {
  1194  	*x = CommitResponse{}
  1195  	if protoimpl.UnsafeEnabled {
  1196  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[11]
  1197  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1198  		ms.StoreMessageInfo(mi)
  1199  	}
  1200  }
  1201  
  1202  func (x *CommitResponse) String() string {
  1203  	return protoimpl.X.MessageStringOf(x)
  1204  }
  1205  
  1206  func (*CommitResponse) ProtoMessage() {}
  1207  
  1208  func (x *CommitResponse) ProtoReflect() protoreflect.Message {
  1209  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[11]
  1210  	if protoimpl.UnsafeEnabled && x != nil {
  1211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1212  		if ms.LoadMessageInfo() == nil {
  1213  			ms.StoreMessageInfo(mi)
  1214  		}
  1215  		return ms
  1216  	}
  1217  	return mi.MessageOf(x)
  1218  }
  1219  
  1220  // Deprecated: Use CommitResponse.ProtoReflect.Descriptor instead.
  1221  func (*CommitResponse) Descriptor() ([]byte, []int) {
  1222  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{11}
  1223  }
  1224  
  1225  func (x *CommitResponse) GetMutationResults() []*MutationResult {
  1226  	if x != nil {
  1227  		return x.MutationResults
  1228  	}
  1229  	return nil
  1230  }
  1231  
  1232  func (x *CommitResponse) GetIndexUpdates() int32 {
  1233  	if x != nil {
  1234  		return x.IndexUpdates
  1235  	}
  1236  	return 0
  1237  }
  1238  
  1239  func (x *CommitResponse) GetCommitTime() *timestamppb.Timestamp {
  1240  	if x != nil {
  1241  		return x.CommitTime
  1242  	}
  1243  	return nil
  1244  }
  1245  
  1246  // The request for
  1247  // [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
  1248  type AllocateIdsRequest struct {
  1249  	state         protoimpl.MessageState
  1250  	sizeCache     protoimpl.SizeCache
  1251  	unknownFields protoimpl.UnknownFields
  1252  
  1253  	// Required. The ID of the project against which to make the request.
  1254  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
  1255  	// The ID of the database against which to make the request.
  1256  	//
  1257  	// '(default)' is not allowed; please use empty string ” to refer the default
  1258  	// database.
  1259  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
  1260  	// Required. A list of keys with incomplete key paths for which to allocate
  1261  	// IDs. No key may be reserved/read-only.
  1262  	Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
  1263  }
  1264  
  1265  func (x *AllocateIdsRequest) Reset() {
  1266  	*x = AllocateIdsRequest{}
  1267  	if protoimpl.UnsafeEnabled {
  1268  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[12]
  1269  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1270  		ms.StoreMessageInfo(mi)
  1271  	}
  1272  }
  1273  
  1274  func (x *AllocateIdsRequest) String() string {
  1275  	return protoimpl.X.MessageStringOf(x)
  1276  }
  1277  
  1278  func (*AllocateIdsRequest) ProtoMessage() {}
  1279  
  1280  func (x *AllocateIdsRequest) ProtoReflect() protoreflect.Message {
  1281  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[12]
  1282  	if protoimpl.UnsafeEnabled && x != nil {
  1283  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1284  		if ms.LoadMessageInfo() == nil {
  1285  			ms.StoreMessageInfo(mi)
  1286  		}
  1287  		return ms
  1288  	}
  1289  	return mi.MessageOf(x)
  1290  }
  1291  
  1292  // Deprecated: Use AllocateIdsRequest.ProtoReflect.Descriptor instead.
  1293  func (*AllocateIdsRequest) Descriptor() ([]byte, []int) {
  1294  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{12}
  1295  }
  1296  
  1297  func (x *AllocateIdsRequest) GetProjectId() string {
  1298  	if x != nil {
  1299  		return x.ProjectId
  1300  	}
  1301  	return ""
  1302  }
  1303  
  1304  func (x *AllocateIdsRequest) GetDatabaseId() string {
  1305  	if x != nil {
  1306  		return x.DatabaseId
  1307  	}
  1308  	return ""
  1309  }
  1310  
  1311  func (x *AllocateIdsRequest) GetKeys() []*Key {
  1312  	if x != nil {
  1313  		return x.Keys
  1314  	}
  1315  	return nil
  1316  }
  1317  
  1318  // The response for
  1319  // [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
  1320  type AllocateIdsResponse struct {
  1321  	state         protoimpl.MessageState
  1322  	sizeCache     protoimpl.SizeCache
  1323  	unknownFields protoimpl.UnknownFields
  1324  
  1325  	// The keys specified in the request (in the same order), each with
  1326  	// its key path completed with a newly allocated ID.
  1327  	Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
  1328  }
  1329  
  1330  func (x *AllocateIdsResponse) Reset() {
  1331  	*x = AllocateIdsResponse{}
  1332  	if protoimpl.UnsafeEnabled {
  1333  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[13]
  1334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1335  		ms.StoreMessageInfo(mi)
  1336  	}
  1337  }
  1338  
  1339  func (x *AllocateIdsResponse) String() string {
  1340  	return protoimpl.X.MessageStringOf(x)
  1341  }
  1342  
  1343  func (*AllocateIdsResponse) ProtoMessage() {}
  1344  
  1345  func (x *AllocateIdsResponse) ProtoReflect() protoreflect.Message {
  1346  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[13]
  1347  	if protoimpl.UnsafeEnabled && x != nil {
  1348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1349  		if ms.LoadMessageInfo() == nil {
  1350  			ms.StoreMessageInfo(mi)
  1351  		}
  1352  		return ms
  1353  	}
  1354  	return mi.MessageOf(x)
  1355  }
  1356  
  1357  // Deprecated: Use AllocateIdsResponse.ProtoReflect.Descriptor instead.
  1358  func (*AllocateIdsResponse) Descriptor() ([]byte, []int) {
  1359  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{13}
  1360  }
  1361  
  1362  func (x *AllocateIdsResponse) GetKeys() []*Key {
  1363  	if x != nil {
  1364  		return x.Keys
  1365  	}
  1366  	return nil
  1367  }
  1368  
  1369  // The request for
  1370  // [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds].
  1371  type ReserveIdsRequest struct {
  1372  	state         protoimpl.MessageState
  1373  	sizeCache     protoimpl.SizeCache
  1374  	unknownFields protoimpl.UnknownFields
  1375  
  1376  	// Required. The ID of the project against which to make the request.
  1377  	ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
  1378  	// The ID of the database against which to make the request.
  1379  	//
  1380  	// '(default)' is not allowed; please use empty string ” to refer the default
  1381  	// database.
  1382  	DatabaseId string `protobuf:"bytes,9,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
  1383  	// Required. A list of keys with complete key paths whose numeric IDs should
  1384  	// not be auto-allocated.
  1385  	Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
  1386  }
  1387  
  1388  func (x *ReserveIdsRequest) Reset() {
  1389  	*x = ReserveIdsRequest{}
  1390  	if protoimpl.UnsafeEnabled {
  1391  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[14]
  1392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1393  		ms.StoreMessageInfo(mi)
  1394  	}
  1395  }
  1396  
  1397  func (x *ReserveIdsRequest) String() string {
  1398  	return protoimpl.X.MessageStringOf(x)
  1399  }
  1400  
  1401  func (*ReserveIdsRequest) ProtoMessage() {}
  1402  
  1403  func (x *ReserveIdsRequest) ProtoReflect() protoreflect.Message {
  1404  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[14]
  1405  	if protoimpl.UnsafeEnabled && x != nil {
  1406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1407  		if ms.LoadMessageInfo() == nil {
  1408  			ms.StoreMessageInfo(mi)
  1409  		}
  1410  		return ms
  1411  	}
  1412  	return mi.MessageOf(x)
  1413  }
  1414  
  1415  // Deprecated: Use ReserveIdsRequest.ProtoReflect.Descriptor instead.
  1416  func (*ReserveIdsRequest) Descriptor() ([]byte, []int) {
  1417  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{14}
  1418  }
  1419  
  1420  func (x *ReserveIdsRequest) GetProjectId() string {
  1421  	if x != nil {
  1422  		return x.ProjectId
  1423  	}
  1424  	return ""
  1425  }
  1426  
  1427  func (x *ReserveIdsRequest) GetDatabaseId() string {
  1428  	if x != nil {
  1429  		return x.DatabaseId
  1430  	}
  1431  	return ""
  1432  }
  1433  
  1434  func (x *ReserveIdsRequest) GetKeys() []*Key {
  1435  	if x != nil {
  1436  		return x.Keys
  1437  	}
  1438  	return nil
  1439  }
  1440  
  1441  // The response for
  1442  // [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds].
  1443  type ReserveIdsResponse struct {
  1444  	state         protoimpl.MessageState
  1445  	sizeCache     protoimpl.SizeCache
  1446  	unknownFields protoimpl.UnknownFields
  1447  }
  1448  
  1449  func (x *ReserveIdsResponse) Reset() {
  1450  	*x = ReserveIdsResponse{}
  1451  	if protoimpl.UnsafeEnabled {
  1452  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[15]
  1453  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1454  		ms.StoreMessageInfo(mi)
  1455  	}
  1456  }
  1457  
  1458  func (x *ReserveIdsResponse) String() string {
  1459  	return protoimpl.X.MessageStringOf(x)
  1460  }
  1461  
  1462  func (*ReserveIdsResponse) ProtoMessage() {}
  1463  
  1464  func (x *ReserveIdsResponse) ProtoReflect() protoreflect.Message {
  1465  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[15]
  1466  	if protoimpl.UnsafeEnabled && x != nil {
  1467  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1468  		if ms.LoadMessageInfo() == nil {
  1469  			ms.StoreMessageInfo(mi)
  1470  		}
  1471  		return ms
  1472  	}
  1473  	return mi.MessageOf(x)
  1474  }
  1475  
  1476  // Deprecated: Use ReserveIdsResponse.ProtoReflect.Descriptor instead.
  1477  func (*ReserveIdsResponse) Descriptor() ([]byte, []int) {
  1478  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{15}
  1479  }
  1480  
  1481  // A mutation to apply to an entity.
  1482  type Mutation struct {
  1483  	state         protoimpl.MessageState
  1484  	sizeCache     protoimpl.SizeCache
  1485  	unknownFields protoimpl.UnknownFields
  1486  
  1487  	// The mutation operation.
  1488  	//
  1489  	// For `insert`, `update`, and `upsert`:
  1490  	//   - The entity's key must not be reserved/read-only.
  1491  	//   - No property in the entity may have a reserved name,
  1492  	//     not even a property in an entity in a value.
  1493  	//   - No value in the entity may have meaning 18,
  1494  	//     not even a value in an entity in another value.
  1495  	//
  1496  	// Types that are assignable to Operation:
  1497  	//
  1498  	//	*Mutation_Insert
  1499  	//	*Mutation_Update
  1500  	//	*Mutation_Upsert
  1501  	//	*Mutation_Delete
  1502  	Operation isMutation_Operation `protobuf_oneof:"operation"`
  1503  	// When set, the server will detect whether or not this mutation conflicts
  1504  	// with the current version of the entity on the server. Conflicting mutations
  1505  	// are not applied, and are marked as such in MutationResult.
  1506  	//
  1507  	// Types that are assignable to ConflictDetectionStrategy:
  1508  	//
  1509  	//	*Mutation_BaseVersion
  1510  	//	*Mutation_UpdateTime
  1511  	ConflictDetectionStrategy isMutation_ConflictDetectionStrategy `protobuf_oneof:"conflict_detection_strategy"`
  1512  	// The properties to write in this mutation.
  1513  	// None of the properties in the mask may have a reserved name, except for
  1514  	// `__key__`.
  1515  	// This field is ignored for `delete`.
  1516  	//
  1517  	// If the entity already exists, only properties referenced in the mask are
  1518  	// updated, others are left untouched.
  1519  	// Properties referenced in the mask but not in the entity are deleted.
  1520  	PropertyMask *PropertyMask `protobuf:"bytes,9,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"`
  1521  }
  1522  
  1523  func (x *Mutation) Reset() {
  1524  	*x = Mutation{}
  1525  	if protoimpl.UnsafeEnabled {
  1526  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[16]
  1527  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1528  		ms.StoreMessageInfo(mi)
  1529  	}
  1530  }
  1531  
  1532  func (x *Mutation) String() string {
  1533  	return protoimpl.X.MessageStringOf(x)
  1534  }
  1535  
  1536  func (*Mutation) ProtoMessage() {}
  1537  
  1538  func (x *Mutation) ProtoReflect() protoreflect.Message {
  1539  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[16]
  1540  	if protoimpl.UnsafeEnabled && x != nil {
  1541  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1542  		if ms.LoadMessageInfo() == nil {
  1543  			ms.StoreMessageInfo(mi)
  1544  		}
  1545  		return ms
  1546  	}
  1547  	return mi.MessageOf(x)
  1548  }
  1549  
  1550  // Deprecated: Use Mutation.ProtoReflect.Descriptor instead.
  1551  func (*Mutation) Descriptor() ([]byte, []int) {
  1552  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{16}
  1553  }
  1554  
  1555  func (m *Mutation) GetOperation() isMutation_Operation {
  1556  	if m != nil {
  1557  		return m.Operation
  1558  	}
  1559  	return nil
  1560  }
  1561  
  1562  func (x *Mutation) GetInsert() *Entity {
  1563  	if x, ok := x.GetOperation().(*Mutation_Insert); ok {
  1564  		return x.Insert
  1565  	}
  1566  	return nil
  1567  }
  1568  
  1569  func (x *Mutation) GetUpdate() *Entity {
  1570  	if x, ok := x.GetOperation().(*Mutation_Update); ok {
  1571  		return x.Update
  1572  	}
  1573  	return nil
  1574  }
  1575  
  1576  func (x *Mutation) GetUpsert() *Entity {
  1577  	if x, ok := x.GetOperation().(*Mutation_Upsert); ok {
  1578  		return x.Upsert
  1579  	}
  1580  	return nil
  1581  }
  1582  
  1583  func (x *Mutation) GetDelete() *Key {
  1584  	if x, ok := x.GetOperation().(*Mutation_Delete); ok {
  1585  		return x.Delete
  1586  	}
  1587  	return nil
  1588  }
  1589  
  1590  func (m *Mutation) GetConflictDetectionStrategy() isMutation_ConflictDetectionStrategy {
  1591  	if m != nil {
  1592  		return m.ConflictDetectionStrategy
  1593  	}
  1594  	return nil
  1595  }
  1596  
  1597  func (x *Mutation) GetBaseVersion() int64 {
  1598  	if x, ok := x.GetConflictDetectionStrategy().(*Mutation_BaseVersion); ok {
  1599  		return x.BaseVersion
  1600  	}
  1601  	return 0
  1602  }
  1603  
  1604  func (x *Mutation) GetUpdateTime() *timestamppb.Timestamp {
  1605  	if x, ok := x.GetConflictDetectionStrategy().(*Mutation_UpdateTime); ok {
  1606  		return x.UpdateTime
  1607  	}
  1608  	return nil
  1609  }
  1610  
  1611  func (x *Mutation) GetPropertyMask() *PropertyMask {
  1612  	if x != nil {
  1613  		return x.PropertyMask
  1614  	}
  1615  	return nil
  1616  }
  1617  
  1618  type isMutation_Operation interface {
  1619  	isMutation_Operation()
  1620  }
  1621  
  1622  type Mutation_Insert struct {
  1623  	// The entity to insert. The entity must not already exist.
  1624  	// The entity key's final path element may be incomplete.
  1625  	Insert *Entity `protobuf:"bytes,4,opt,name=insert,proto3,oneof"`
  1626  }
  1627  
  1628  type Mutation_Update struct {
  1629  	// The entity to update. The entity must already exist.
  1630  	// Must have a complete key path.
  1631  	Update *Entity `protobuf:"bytes,5,opt,name=update,proto3,oneof"`
  1632  }
  1633  
  1634  type Mutation_Upsert struct {
  1635  	// The entity to upsert. The entity may or may not already exist.
  1636  	// The entity key's final path element may be incomplete.
  1637  	Upsert *Entity `protobuf:"bytes,6,opt,name=upsert,proto3,oneof"`
  1638  }
  1639  
  1640  type Mutation_Delete struct {
  1641  	// The key of the entity to delete. The entity may or may not already exist.
  1642  	// Must have a complete key path and must not be reserved/read-only.
  1643  	Delete *Key `protobuf:"bytes,7,opt,name=delete,proto3,oneof"`
  1644  }
  1645  
  1646  func (*Mutation_Insert) isMutation_Operation() {}
  1647  
  1648  func (*Mutation_Update) isMutation_Operation() {}
  1649  
  1650  func (*Mutation_Upsert) isMutation_Operation() {}
  1651  
  1652  func (*Mutation_Delete) isMutation_Operation() {}
  1653  
  1654  type isMutation_ConflictDetectionStrategy interface {
  1655  	isMutation_ConflictDetectionStrategy()
  1656  }
  1657  
  1658  type Mutation_BaseVersion struct {
  1659  	// The version of the entity that this mutation is being applied
  1660  	// to. If this does not match the current version on the server, the
  1661  	// mutation conflicts.
  1662  	BaseVersion int64 `protobuf:"varint,8,opt,name=base_version,json=baseVersion,proto3,oneof"`
  1663  }
  1664  
  1665  type Mutation_UpdateTime struct {
  1666  	// The update time of the entity that this mutation is being applied
  1667  	// to. If this does not match the current update time on the server, the
  1668  	// mutation conflicts.
  1669  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3,oneof"`
  1670  }
  1671  
  1672  func (*Mutation_BaseVersion) isMutation_ConflictDetectionStrategy() {}
  1673  
  1674  func (*Mutation_UpdateTime) isMutation_ConflictDetectionStrategy() {}
  1675  
  1676  // The result of applying a mutation.
  1677  type MutationResult struct {
  1678  	state         protoimpl.MessageState
  1679  	sizeCache     protoimpl.SizeCache
  1680  	unknownFields protoimpl.UnknownFields
  1681  
  1682  	// The automatically allocated key.
  1683  	// Set only when the mutation allocated a key.
  1684  	Key *Key `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
  1685  	// The version of the entity on the server after processing the mutation. If
  1686  	// the mutation doesn't change anything on the server, then the version will
  1687  	// be the version of the current entity or, if no entity is present, a version
  1688  	// that is strictly greater than the version of any previous entity and less
  1689  	// than the version of any possible future entity.
  1690  	Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
  1691  	// The create time of the entity. This field will not be set after a 'delete'.
  1692  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  1693  	// The update time of the entity on the server after processing the mutation.
  1694  	// If the mutation doesn't change anything on the server, then the timestamp
  1695  	// will be the update timestamp of the current entity. This field will not be
  1696  	// set after a 'delete'.
  1697  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  1698  	// Whether a conflict was detected for this mutation. Always false when a
  1699  	// conflict detection strategy field is not set in the mutation.
  1700  	ConflictDetected bool `protobuf:"varint,5,opt,name=conflict_detected,json=conflictDetected,proto3" json:"conflict_detected,omitempty"`
  1701  }
  1702  
  1703  func (x *MutationResult) Reset() {
  1704  	*x = MutationResult{}
  1705  	if protoimpl.UnsafeEnabled {
  1706  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[17]
  1707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1708  		ms.StoreMessageInfo(mi)
  1709  	}
  1710  }
  1711  
  1712  func (x *MutationResult) String() string {
  1713  	return protoimpl.X.MessageStringOf(x)
  1714  }
  1715  
  1716  func (*MutationResult) ProtoMessage() {}
  1717  
  1718  func (x *MutationResult) ProtoReflect() protoreflect.Message {
  1719  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[17]
  1720  	if protoimpl.UnsafeEnabled && x != nil {
  1721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1722  		if ms.LoadMessageInfo() == nil {
  1723  			ms.StoreMessageInfo(mi)
  1724  		}
  1725  		return ms
  1726  	}
  1727  	return mi.MessageOf(x)
  1728  }
  1729  
  1730  // Deprecated: Use MutationResult.ProtoReflect.Descriptor instead.
  1731  func (*MutationResult) Descriptor() ([]byte, []int) {
  1732  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{17}
  1733  }
  1734  
  1735  func (x *MutationResult) GetKey() *Key {
  1736  	if x != nil {
  1737  		return x.Key
  1738  	}
  1739  	return nil
  1740  }
  1741  
  1742  func (x *MutationResult) GetVersion() int64 {
  1743  	if x != nil {
  1744  		return x.Version
  1745  	}
  1746  	return 0
  1747  }
  1748  
  1749  func (x *MutationResult) GetCreateTime() *timestamppb.Timestamp {
  1750  	if x != nil {
  1751  		return x.CreateTime
  1752  	}
  1753  	return nil
  1754  }
  1755  
  1756  func (x *MutationResult) GetUpdateTime() *timestamppb.Timestamp {
  1757  	if x != nil {
  1758  		return x.UpdateTime
  1759  	}
  1760  	return nil
  1761  }
  1762  
  1763  func (x *MutationResult) GetConflictDetected() bool {
  1764  	if x != nil {
  1765  		return x.ConflictDetected
  1766  	}
  1767  	return false
  1768  }
  1769  
  1770  // The set of arbitrarily nested property paths used to restrict an operation to
  1771  // only a subset of properties in an entity.
  1772  type PropertyMask struct {
  1773  	state         protoimpl.MessageState
  1774  	sizeCache     protoimpl.SizeCache
  1775  	unknownFields protoimpl.UnknownFields
  1776  
  1777  	// The paths to the properties covered by this mask.
  1778  	//
  1779  	// A path is a list of property names separated by dots (`.`), for example
  1780  	// `foo.bar` means the property `bar` inside the entity property `foo` inside
  1781  	// the entity associated with this path.
  1782  	//
  1783  	// If a property name contains a dot `.` or a backslash `\`, then that
  1784  	// name must be escaped.
  1785  	//
  1786  	// A path must not be empty, and may not reference a value inside an
  1787  	// [array value][google.datastore.v1.Value.array_value].
  1788  	Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
  1789  }
  1790  
  1791  func (x *PropertyMask) Reset() {
  1792  	*x = PropertyMask{}
  1793  	if protoimpl.UnsafeEnabled {
  1794  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[18]
  1795  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1796  		ms.StoreMessageInfo(mi)
  1797  	}
  1798  }
  1799  
  1800  func (x *PropertyMask) String() string {
  1801  	return protoimpl.X.MessageStringOf(x)
  1802  }
  1803  
  1804  func (*PropertyMask) ProtoMessage() {}
  1805  
  1806  func (x *PropertyMask) ProtoReflect() protoreflect.Message {
  1807  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[18]
  1808  	if protoimpl.UnsafeEnabled && x != nil {
  1809  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1810  		if ms.LoadMessageInfo() == nil {
  1811  			ms.StoreMessageInfo(mi)
  1812  		}
  1813  		return ms
  1814  	}
  1815  	return mi.MessageOf(x)
  1816  }
  1817  
  1818  // Deprecated: Use PropertyMask.ProtoReflect.Descriptor instead.
  1819  func (*PropertyMask) Descriptor() ([]byte, []int) {
  1820  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{18}
  1821  }
  1822  
  1823  func (x *PropertyMask) GetPaths() []string {
  1824  	if x != nil {
  1825  		return x.Paths
  1826  	}
  1827  	return nil
  1828  }
  1829  
  1830  // The options shared by read requests.
  1831  type ReadOptions struct {
  1832  	state         protoimpl.MessageState
  1833  	sizeCache     protoimpl.SizeCache
  1834  	unknownFields protoimpl.UnknownFields
  1835  
  1836  	// For Cloud Datastore, if read_consistency is not specified, then lookups and
  1837  	// ancestor queries default to `read_consistency`=`STRONG`, global queries
  1838  	// default to `read_consistency`=`EVENTUAL`.
  1839  	//
  1840  	// For Cloud Firestore in Datastore mode, if read_consistency is not specified
  1841  	// then lookups and all queries default to `read_consistency`=`STRONG`.
  1842  	//
  1843  	// Explicitly setting `read_consistency`=`EVENTUAL` will result in eventually
  1844  	// consistent lookups & queries in both Cloud Datastore & Cloud Firestore in
  1845  	// Datastore mode.
  1846  	//
  1847  	// Types that are assignable to ConsistencyType:
  1848  	//
  1849  	//	*ReadOptions_ReadConsistency_
  1850  	//	*ReadOptions_Transaction
  1851  	//	*ReadOptions_NewTransaction
  1852  	//	*ReadOptions_ReadTime
  1853  	ConsistencyType isReadOptions_ConsistencyType `protobuf_oneof:"consistency_type"`
  1854  }
  1855  
  1856  func (x *ReadOptions) Reset() {
  1857  	*x = ReadOptions{}
  1858  	if protoimpl.UnsafeEnabled {
  1859  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[19]
  1860  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1861  		ms.StoreMessageInfo(mi)
  1862  	}
  1863  }
  1864  
  1865  func (x *ReadOptions) String() string {
  1866  	return protoimpl.X.MessageStringOf(x)
  1867  }
  1868  
  1869  func (*ReadOptions) ProtoMessage() {}
  1870  
  1871  func (x *ReadOptions) ProtoReflect() protoreflect.Message {
  1872  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[19]
  1873  	if protoimpl.UnsafeEnabled && x != nil {
  1874  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1875  		if ms.LoadMessageInfo() == nil {
  1876  			ms.StoreMessageInfo(mi)
  1877  		}
  1878  		return ms
  1879  	}
  1880  	return mi.MessageOf(x)
  1881  }
  1882  
  1883  // Deprecated: Use ReadOptions.ProtoReflect.Descriptor instead.
  1884  func (*ReadOptions) Descriptor() ([]byte, []int) {
  1885  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19}
  1886  }
  1887  
  1888  func (m *ReadOptions) GetConsistencyType() isReadOptions_ConsistencyType {
  1889  	if m != nil {
  1890  		return m.ConsistencyType
  1891  	}
  1892  	return nil
  1893  }
  1894  
  1895  func (x *ReadOptions) GetReadConsistency() ReadOptions_ReadConsistency {
  1896  	if x, ok := x.GetConsistencyType().(*ReadOptions_ReadConsistency_); ok {
  1897  		return x.ReadConsistency
  1898  	}
  1899  	return ReadOptions_READ_CONSISTENCY_UNSPECIFIED
  1900  }
  1901  
  1902  func (x *ReadOptions) GetTransaction() []byte {
  1903  	if x, ok := x.GetConsistencyType().(*ReadOptions_Transaction); ok {
  1904  		return x.Transaction
  1905  	}
  1906  	return nil
  1907  }
  1908  
  1909  func (x *ReadOptions) GetNewTransaction() *TransactionOptions {
  1910  	if x, ok := x.GetConsistencyType().(*ReadOptions_NewTransaction); ok {
  1911  		return x.NewTransaction
  1912  	}
  1913  	return nil
  1914  }
  1915  
  1916  func (x *ReadOptions) GetReadTime() *timestamppb.Timestamp {
  1917  	if x, ok := x.GetConsistencyType().(*ReadOptions_ReadTime); ok {
  1918  		return x.ReadTime
  1919  	}
  1920  	return nil
  1921  }
  1922  
  1923  type isReadOptions_ConsistencyType interface {
  1924  	isReadOptions_ConsistencyType()
  1925  }
  1926  
  1927  type ReadOptions_ReadConsistency_ struct {
  1928  	// The non-transactional read consistency to use.
  1929  	ReadConsistency ReadOptions_ReadConsistency `protobuf:"varint,1,opt,name=read_consistency,json=readConsistency,proto3,enum=google.datastore.v1.ReadOptions_ReadConsistency,oneof"`
  1930  }
  1931  
  1932  type ReadOptions_Transaction struct {
  1933  	// The identifier of the transaction in which to read. A
  1934  	// transaction identifier is returned by a call to
  1935  	// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
  1936  	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3,oneof"`
  1937  }
  1938  
  1939  type ReadOptions_NewTransaction struct {
  1940  	// Options for beginning a new transaction for this request.
  1941  	//
  1942  	// The new transaction identifier will be returned in the corresponding
  1943  	// response as either
  1944  	// [LookupResponse.transaction][google.datastore.v1.LookupResponse.transaction]
  1945  	// or
  1946  	// [RunQueryResponse.transaction][google.datastore.v1.RunQueryResponse.transaction].
  1947  	NewTransaction *TransactionOptions `protobuf:"bytes,3,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
  1948  }
  1949  
  1950  type ReadOptions_ReadTime struct {
  1951  	// Reads entities as they were at the given time. This value is only
  1952  	// supported for Cloud Firestore in Datastore mode.
  1953  	//
  1954  	// This must be a microsecond precision timestamp within the past one hour,
  1955  	// or if Point-in-Time Recovery is enabled, can additionally be a whole
  1956  	// minute timestamp within the past 7 days.
  1957  	ReadTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3,oneof"`
  1958  }
  1959  
  1960  func (*ReadOptions_ReadConsistency_) isReadOptions_ConsistencyType() {}
  1961  
  1962  func (*ReadOptions_Transaction) isReadOptions_ConsistencyType() {}
  1963  
  1964  func (*ReadOptions_NewTransaction) isReadOptions_ConsistencyType() {}
  1965  
  1966  func (*ReadOptions_ReadTime) isReadOptions_ConsistencyType() {}
  1967  
  1968  // Options for beginning a new transaction.
  1969  //
  1970  // Transactions can be created explicitly with calls to
  1971  // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]
  1972  // or implicitly by setting
  1973  // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
  1974  // in read requests.
  1975  type TransactionOptions struct {
  1976  	state         protoimpl.MessageState
  1977  	sizeCache     protoimpl.SizeCache
  1978  	unknownFields protoimpl.UnknownFields
  1979  
  1980  	// The `mode` of the transaction, indicating whether write operations are
  1981  	// supported.
  1982  	//
  1983  	// Types that are assignable to Mode:
  1984  	//
  1985  	//	*TransactionOptions_ReadWrite_
  1986  	//	*TransactionOptions_ReadOnly_
  1987  	Mode isTransactionOptions_Mode `protobuf_oneof:"mode"`
  1988  }
  1989  
  1990  func (x *TransactionOptions) Reset() {
  1991  	*x = TransactionOptions{}
  1992  	if protoimpl.UnsafeEnabled {
  1993  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[20]
  1994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1995  		ms.StoreMessageInfo(mi)
  1996  	}
  1997  }
  1998  
  1999  func (x *TransactionOptions) String() string {
  2000  	return protoimpl.X.MessageStringOf(x)
  2001  }
  2002  
  2003  func (*TransactionOptions) ProtoMessage() {}
  2004  
  2005  func (x *TransactionOptions) ProtoReflect() protoreflect.Message {
  2006  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[20]
  2007  	if protoimpl.UnsafeEnabled && x != nil {
  2008  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2009  		if ms.LoadMessageInfo() == nil {
  2010  			ms.StoreMessageInfo(mi)
  2011  		}
  2012  		return ms
  2013  	}
  2014  	return mi.MessageOf(x)
  2015  }
  2016  
  2017  // Deprecated: Use TransactionOptions.ProtoReflect.Descriptor instead.
  2018  func (*TransactionOptions) Descriptor() ([]byte, []int) {
  2019  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20}
  2020  }
  2021  
  2022  func (m *TransactionOptions) GetMode() isTransactionOptions_Mode {
  2023  	if m != nil {
  2024  		return m.Mode
  2025  	}
  2026  	return nil
  2027  }
  2028  
  2029  func (x *TransactionOptions) GetReadWrite() *TransactionOptions_ReadWrite {
  2030  	if x, ok := x.GetMode().(*TransactionOptions_ReadWrite_); ok {
  2031  		return x.ReadWrite
  2032  	}
  2033  	return nil
  2034  }
  2035  
  2036  func (x *TransactionOptions) GetReadOnly() *TransactionOptions_ReadOnly {
  2037  	if x, ok := x.GetMode().(*TransactionOptions_ReadOnly_); ok {
  2038  		return x.ReadOnly
  2039  	}
  2040  	return nil
  2041  }
  2042  
  2043  type isTransactionOptions_Mode interface {
  2044  	isTransactionOptions_Mode()
  2045  }
  2046  
  2047  type TransactionOptions_ReadWrite_ struct {
  2048  	// The transaction should allow both reads and writes.
  2049  	ReadWrite *TransactionOptions_ReadWrite `protobuf:"bytes,1,opt,name=read_write,json=readWrite,proto3,oneof"`
  2050  }
  2051  
  2052  type TransactionOptions_ReadOnly_ struct {
  2053  	// The transaction should only allow reads.
  2054  	ReadOnly *TransactionOptions_ReadOnly `protobuf:"bytes,2,opt,name=read_only,json=readOnly,proto3,oneof"`
  2055  }
  2056  
  2057  func (*TransactionOptions_ReadWrite_) isTransactionOptions_Mode() {}
  2058  
  2059  func (*TransactionOptions_ReadOnly_) isTransactionOptions_Mode() {}
  2060  
  2061  // Options specific to read / write transactions.
  2062  type TransactionOptions_ReadWrite struct {
  2063  	state         protoimpl.MessageState
  2064  	sizeCache     protoimpl.SizeCache
  2065  	unknownFields protoimpl.UnknownFields
  2066  
  2067  	// The transaction identifier of the transaction being retried.
  2068  	PreviousTransaction []byte `protobuf:"bytes,1,opt,name=previous_transaction,json=previousTransaction,proto3" json:"previous_transaction,omitempty"`
  2069  }
  2070  
  2071  func (x *TransactionOptions_ReadWrite) Reset() {
  2072  	*x = TransactionOptions_ReadWrite{}
  2073  	if protoimpl.UnsafeEnabled {
  2074  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[21]
  2075  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2076  		ms.StoreMessageInfo(mi)
  2077  	}
  2078  }
  2079  
  2080  func (x *TransactionOptions_ReadWrite) String() string {
  2081  	return protoimpl.X.MessageStringOf(x)
  2082  }
  2083  
  2084  func (*TransactionOptions_ReadWrite) ProtoMessage() {}
  2085  
  2086  func (x *TransactionOptions_ReadWrite) ProtoReflect() protoreflect.Message {
  2087  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[21]
  2088  	if protoimpl.UnsafeEnabled && x != nil {
  2089  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2090  		if ms.LoadMessageInfo() == nil {
  2091  			ms.StoreMessageInfo(mi)
  2092  		}
  2093  		return ms
  2094  	}
  2095  	return mi.MessageOf(x)
  2096  }
  2097  
  2098  // Deprecated: Use TransactionOptions_ReadWrite.ProtoReflect.Descriptor instead.
  2099  func (*TransactionOptions_ReadWrite) Descriptor() ([]byte, []int) {
  2100  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20, 0}
  2101  }
  2102  
  2103  func (x *TransactionOptions_ReadWrite) GetPreviousTransaction() []byte {
  2104  	if x != nil {
  2105  		return x.PreviousTransaction
  2106  	}
  2107  	return nil
  2108  }
  2109  
  2110  // Options specific to read-only transactions.
  2111  type TransactionOptions_ReadOnly struct {
  2112  	state         protoimpl.MessageState
  2113  	sizeCache     protoimpl.SizeCache
  2114  	unknownFields protoimpl.UnknownFields
  2115  
  2116  	// Reads entities at the given time.
  2117  	//
  2118  	// This must be a microsecond precision timestamp within the past one hour,
  2119  	// or if Point-in-Time Recovery is enabled, can additionally be a whole
  2120  	// minute timestamp within the past 7 days.
  2121  	ReadTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
  2122  }
  2123  
  2124  func (x *TransactionOptions_ReadOnly) Reset() {
  2125  	*x = TransactionOptions_ReadOnly{}
  2126  	if protoimpl.UnsafeEnabled {
  2127  		mi := &file_google_datastore_v1_datastore_proto_msgTypes[22]
  2128  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2129  		ms.StoreMessageInfo(mi)
  2130  	}
  2131  }
  2132  
  2133  func (x *TransactionOptions_ReadOnly) String() string {
  2134  	return protoimpl.X.MessageStringOf(x)
  2135  }
  2136  
  2137  func (*TransactionOptions_ReadOnly) ProtoMessage() {}
  2138  
  2139  func (x *TransactionOptions_ReadOnly) ProtoReflect() protoreflect.Message {
  2140  	mi := &file_google_datastore_v1_datastore_proto_msgTypes[22]
  2141  	if protoimpl.UnsafeEnabled && x != nil {
  2142  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2143  		if ms.LoadMessageInfo() == nil {
  2144  			ms.StoreMessageInfo(mi)
  2145  		}
  2146  		return ms
  2147  	}
  2148  	return mi.MessageOf(x)
  2149  }
  2150  
  2151  // Deprecated: Use TransactionOptions_ReadOnly.ProtoReflect.Descriptor instead.
  2152  func (*TransactionOptions_ReadOnly) Descriptor() ([]byte, []int) {
  2153  	return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20, 1}
  2154  }
  2155  
  2156  func (x *TransactionOptions_ReadOnly) GetReadTime() *timestamppb.Timestamp {
  2157  	if x != nil {
  2158  		return x.ReadTime
  2159  	}
  2160  	return nil
  2161  }
  2162  
  2163  var File_google_datastore_v1_datastore_proto protoreflect.FileDescriptor
  2164  
  2165  var file_google_datastore_v1_datastore_proto_rawDesc = []byte{
  2166  	0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f,
  2167  	0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2168  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
  2169  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
  2170  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2171  	0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2172  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2173  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
  2174  	0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
  2175  	0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
  2176  	0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f,
  2177  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
  2178  	0x31, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
  2179  	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
  2180  	0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f,
  2181  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
  2182  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
  2183  	0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67,
  2184  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f,
  2185  	0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
  2186  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  2187  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  2188  	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b,
  2189  	0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
  2190  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2191  	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a,
  2192  	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
  2193  	0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x43,
  2194  	0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
  2195  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
  2196  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f,
  2197  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2198  	0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
  2199  	0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73,
  2200  	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02,
  2201  	0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
  2202  	0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
  2203  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65,
  2204  	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b,
  2205  	0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x97,
  2206  	0x02, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2207  	0x65, 0x12, 0x37, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  2208  	0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74,
  2209  	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73,
  2210  	0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x69,
  2211  	0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f,
  2212  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
  2213  	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07,
  2214  	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72,
  2215  	0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2216  	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2217  	0x4b, 0x65, 0x79, 0x52, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a,
  2218  	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
  2219  	0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2220  	0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
  2221  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2222  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08,
  2223  	0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfb, 0x03, 0x0a, 0x0f, 0x52, 0x75, 0x6e,
  2224  	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a,
  2225  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
  2226  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
  2227  	0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18,
  2228  	0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49,
  2229  	0x64, 0x12, 0x43, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
  2230  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2231  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61,
  2232  	0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69,
  2233  	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f,
  2234  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
  2235  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2236  	0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b,
  2237  	0x72, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x71,
  2238  	0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  2239  	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  2240  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12,
  2241  	0x3c, 0x0a, 0x09, 0x67, 0x71, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01,
  2242  	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
  2243  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72,
  2244  	0x79, 0x48, 0x00, 0x52, 0x08, 0x67, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a,
  2245  	0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a,
  2246  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
  2247  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65,
  2248  	0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
  2249  	0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e,
  2250  	0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
  2251  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2252  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69,
  2253  	0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69,
  2254  	0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72,
  2255  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75,
  2256  	0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x62,
  2257  	0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
  2258  	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  2259  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x61, 0x74, 0x63,
  2260  	0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
  2261  	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2262  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75,
  2263  	0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72,
  2264  	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
  2265  	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0f,
  2266  	0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
  2267  	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
  2268  	0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c,
  2269  	0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c,
  2270  	0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xe0, 0x03, 0x0a, 0x1a, 0x52,
  2271  	0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65,
  2272  	0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
  2273  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2274  	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a,
  2275  	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
  2276  	0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x43,
  2277  	0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02,
  2278  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
  2279  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69,
  2280  	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
  2281  	0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69,
  2282  	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2283  	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2284  	0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x61,
  2285  	0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x11, 0x61, 0x67, 0x67, 0x72,
  2286  	0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20,
  2287  	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
  2288  	0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
  2289  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x61, 0x67,
  2290  	0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3c,
  2291  	0x0a, 0x09, 0x67, 0x71, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28,
  2292  	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73,
  2293  	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79,
  2294  	0x48, 0x00, 0x52, 0x08, 0x67, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x0f,
  2295  	0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2296  	0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
  2297  	0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c,
  2298  	0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2299  	0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42,
  2300  	0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8d, 0x02,
  2301  	0x0a, 0x1b, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2302  	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a,
  2303  	0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  2304  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2305  	0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  2306  	0x73, 0x75, 0x6c, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68,
  2307  	0x12, 0x3b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2308  	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f,
  2309  	0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f,
  2310  	0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a,
  2311  	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
  2312  	0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2313  	0x4c, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
  2314  	0x63, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2315  	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45,
  2316  	0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x65,
  2317  	0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xb8, 0x01,
  2318  	0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
  2319  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
  2320  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2321  	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a,
  2322  	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
  2323  	0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x58,
  2324  	0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70,
  2325  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f,
  2326  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
  2327  	0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74,
  2328  	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
  2329  	0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42, 0x65, 0x67, 0x69,
  2330  	0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
  2331  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
  2332  	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
  2333  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61,
  2334  	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
  2335  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2336  	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a,
  2337  	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
  2338  	0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x25,
  2339  	0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
  2340  	0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
  2341  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
  2342  	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x03, 0x0a, 0x0d, 0x43, 0x6f,
  2343  	0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70,
  2344  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42,
  2345  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
  2346  	0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09,
  2347  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64,
  2348  	0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27,
  2349  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2350  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  2351  	0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a,
  2352  	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
  2353  	0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
  2354  	0x6e, 0x12, 0x5f, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f,
  2355  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
  2356  	0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73,
  2357  	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
  2358  	0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x73, 0x69,
  2359  	0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
  2360  	0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2361  	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
  2362  	0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x74, 0x61,
  2363  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
  2364  	0x46, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
  2365  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a,
  2366  	0x0d, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01,
  2367  	0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54,
  2368  	0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x16, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73,
  2369  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22,
  2370  	0xc2, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2371  	0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
  2372  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
  2373  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2374  	0x76, 0x31, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
  2375  	0x74, 0x52, 0x0f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
  2376  	0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x75, 0x70, 0x64, 0x61,
  2377  	0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78,
  2378  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
  2379  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2380  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2381  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
  2382  	0x54, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  2383  	0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70,
  2384  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42,
  2385  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
  2386  	0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09,
  2387  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64,
  2388  	0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
  2389  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2390  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6b,
  2391  	0x65, 0x79, 0x73, 0x22, 0x43, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49,
  2392  	0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x65,
  2393  	0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2394  	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b,
  2395  	0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73,
  2396  	0x65, 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22,
  2397  	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
  2398  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  2399  	0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69,
  2400  	0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
  2401  	0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  2402  	0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73,
  2403  	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02,
  2404  	0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76,
  2405  	0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x03, 0x0a,
  2406  	0x08, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x69, 0x6e, 0x73,
  2407  	0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2408  	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2409  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
  2410  	0x12, 0x35, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  2411  	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74,
  2412  	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52,
  2413  	0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72,
  2414  	0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2415  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e,
  2416  	0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32,
  2417  	0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  2418  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2419  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65,
  2420  	0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  2421  	0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65,
  2422  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
  2423  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2424  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2425  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
  2426  	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
  2427  	0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
  2428  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65,
  2429  	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b,
  2430  	0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x0b,
  2431  	0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x63,
  2432  	0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
  2433  	0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0xfd, 0x01, 0x0a, 0x0e, 0x4d,
  2434  	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a,
  2435  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f,
  2436  	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  2437  	0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
  2438  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
  2439  	0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
  2440  	0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2441  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  2442  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
  2443  	0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  2444  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2445  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  2446  	0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
  2447  	0x11, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74,
  2448  	0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
  2449  	0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x50, 0x72,
  2450  	0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
  2451  	0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73,
  2452  	0x22, 0x82, 0x03, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2453  	0x12, 0x5d, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
  2454  	0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
  2455  	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  2456  	0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61,
  2457  	0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0f,
  2458  	0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12,
  2459  	0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  2460  	0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
  2461  	0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
  2462  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
  2463  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2464  	0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
  2465  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e,
  2466  	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
  2467  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  2468  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  2469  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69,
  2470  	0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73,
  2471  	0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x4f,
  2472  	0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  2473  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x4f, 0x4e,
  2474  	0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x55, 0x41, 0x4c, 0x10,
  2475  	0x02, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79,
  2476  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
  2477  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x0a,
  2478  	0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2479  	0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74,
  2480  	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
  2481  	0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72,
  2482  	0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65,
  2483  	0x12, 0x4f, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20,
  2484  	0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
  2485  	0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
  2486  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61,
  2487  	0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c,
  2488  	0x79, 0x1a, 0x3e, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x31,
  2489  	0x0a, 0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
  2490  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x70, 0x72,
  2491  	0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
  2492  	0x6e, 0x1a, 0x43, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x37, 0x0a,
  2493  	0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2494  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2495  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65,
  2496  	0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x32, 0xe1,
  2497  	0x0d, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xc0, 0x01, 0x0a,
  2498  	0x06, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2499  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f,
  2500  	0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f,
  2501  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
  2502  	0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2503  	0x22, 0x6d, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c,
  2504  	0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6b, 0x65, 0x79,
  2505  	0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f,
  2506  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
  2507  	0x64, 0x7d, 0x3a, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93,
  2508  	0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
  2509  	0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12,
  2510  	0xa9, 0x01, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x2e, 0x67,
  2511  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  2512  	0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
  2513  	0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
  2514  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72,
  2515  	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  2516  	0x27, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2517  	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e,
  2518  	0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c,
  2519  	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b,
  2520  	0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xd5, 0x01, 0x0a, 0x13,
  2521  	0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75,
  2522  	0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
  2523  	0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67,
  2524  	0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71,
  2525  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
  2526  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67,
  2527  	0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
  2528  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d,
  2529  	0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
  2530  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67,
  2531  	0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a,
  2532  	0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2533  	0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
  2534  	0x5f, 0x69, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61,
  2535  	0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2536  	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
  2537  	0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  2538  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2539  	0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67,
  2540  	0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  2541  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0xda, 0x41, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2542  	0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f,
  2543  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2544  	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73,
  2545  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12,
  2546  	0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a,
  2547  	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xe6, 0x01, 0x0a,
  2548  	0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2549  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
  2550  	0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f,
  2551  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
  2552  	0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2553  	0x22, 0x92, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
  2554  	0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
  2555  	0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x19, 0x70, 0x72,
  2556  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x6d, 0x75,
  2557  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f,
  2558  	0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
  2559  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a,
  2560  	0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
  2561  	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
  2562  	0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc2, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61,
  2563  	0x63, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
  2564  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
  2565  	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2566  	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
  2567  	0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
  2568  	0x69, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74,
  2569  	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27,
  2570  	0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  2571  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c,
  2572  	0x62, 0x61, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a,
  2573  	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64,
  2574  	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc7, 0x01, 0x0a, 0x0b, 0x41,
  2575  	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f,
  2576  	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  2577  	0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
  2578  	0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
  2579  	0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61,
  2580  	0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0xda,
  2581  	0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79,
  2582  	0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f,
  2583  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
  2584  	0x64, 0x7d, 0x3a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x3a, 0x01,
  2585  	0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2586  	0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
  2587  	0x65, 0x5f, 0x69, 0x64, 0x12, 0xc3, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
  2588  	0x49, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
  2589  	0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76,
  2590  	0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f,
  2591  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
  2592  	0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
  2593  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  2594  	0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24,
  2595  	0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
  2596  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
  2597  	0x65, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a,
  2598  	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64,
  2599  	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x76, 0xca, 0x41, 0x18, 0x64,
  2600  	0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  2601  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
  2602  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  2603  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
  2604  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
  2605  	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  2606  	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f,
  2607  	0x72, 0x65, 0x42, 0xc0, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2608  	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0e,
  2609  	0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
  2610  	0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
  2611  	0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
  2612  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2613  	0x65, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xaa, 0x02,
  2614  	0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x61,
  2615  	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f,
  2616  	0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74,
  2617  	0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a,
  2618  	0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2619  	0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2620  }
  2621  
  2622  var (
  2623  	file_google_datastore_v1_datastore_proto_rawDescOnce sync.Once
  2624  	file_google_datastore_v1_datastore_proto_rawDescData = file_google_datastore_v1_datastore_proto_rawDesc
  2625  )
  2626  
  2627  func file_google_datastore_v1_datastore_proto_rawDescGZIP() []byte {
  2628  	file_google_datastore_v1_datastore_proto_rawDescOnce.Do(func() {
  2629  		file_google_datastore_v1_datastore_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_datastore_v1_datastore_proto_rawDescData)
  2630  	})
  2631  	return file_google_datastore_v1_datastore_proto_rawDescData
  2632  }
  2633  
  2634  var file_google_datastore_v1_datastore_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  2635  var file_google_datastore_v1_datastore_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
  2636  var file_google_datastore_v1_datastore_proto_goTypes = []interface{}{
  2637  	(CommitRequest_Mode)(0),              // 0: google.datastore.v1.CommitRequest.Mode
  2638  	(ReadOptions_ReadConsistency)(0),     // 1: google.datastore.v1.ReadOptions.ReadConsistency
  2639  	(*LookupRequest)(nil),                // 2: google.datastore.v1.LookupRequest
  2640  	(*LookupResponse)(nil),               // 3: google.datastore.v1.LookupResponse
  2641  	(*RunQueryRequest)(nil),              // 4: google.datastore.v1.RunQueryRequest
  2642  	(*RunQueryResponse)(nil),             // 5: google.datastore.v1.RunQueryResponse
  2643  	(*RunAggregationQueryRequest)(nil),   // 6: google.datastore.v1.RunAggregationQueryRequest
  2644  	(*RunAggregationQueryResponse)(nil),  // 7: google.datastore.v1.RunAggregationQueryResponse
  2645  	(*BeginTransactionRequest)(nil),      // 8: google.datastore.v1.BeginTransactionRequest
  2646  	(*BeginTransactionResponse)(nil),     // 9: google.datastore.v1.BeginTransactionResponse
  2647  	(*RollbackRequest)(nil),              // 10: google.datastore.v1.RollbackRequest
  2648  	(*RollbackResponse)(nil),             // 11: google.datastore.v1.RollbackResponse
  2649  	(*CommitRequest)(nil),                // 12: google.datastore.v1.CommitRequest
  2650  	(*CommitResponse)(nil),               // 13: google.datastore.v1.CommitResponse
  2651  	(*AllocateIdsRequest)(nil),           // 14: google.datastore.v1.AllocateIdsRequest
  2652  	(*AllocateIdsResponse)(nil),          // 15: google.datastore.v1.AllocateIdsResponse
  2653  	(*ReserveIdsRequest)(nil),            // 16: google.datastore.v1.ReserveIdsRequest
  2654  	(*ReserveIdsResponse)(nil),           // 17: google.datastore.v1.ReserveIdsResponse
  2655  	(*Mutation)(nil),                     // 18: google.datastore.v1.Mutation
  2656  	(*MutationResult)(nil),               // 19: google.datastore.v1.MutationResult
  2657  	(*PropertyMask)(nil),                 // 20: google.datastore.v1.PropertyMask
  2658  	(*ReadOptions)(nil),                  // 21: google.datastore.v1.ReadOptions
  2659  	(*TransactionOptions)(nil),           // 22: google.datastore.v1.TransactionOptions
  2660  	(*TransactionOptions_ReadWrite)(nil), // 23: google.datastore.v1.TransactionOptions.ReadWrite
  2661  	(*TransactionOptions_ReadOnly)(nil),  // 24: google.datastore.v1.TransactionOptions.ReadOnly
  2662  	(*Key)(nil),                          // 25: google.datastore.v1.Key
  2663  	(*EntityResult)(nil),                 // 26: google.datastore.v1.EntityResult
  2664  	(*timestamppb.Timestamp)(nil),        // 27: google.protobuf.Timestamp
  2665  	(*PartitionId)(nil),                  // 28: google.datastore.v1.PartitionId
  2666  	(*Query)(nil),                        // 29: google.datastore.v1.Query
  2667  	(*GqlQuery)(nil),                     // 30: google.datastore.v1.GqlQuery
  2668  	(*ExplainOptions)(nil),               // 31: google.datastore.v1.ExplainOptions
  2669  	(*QueryResultBatch)(nil),             // 32: google.datastore.v1.QueryResultBatch
  2670  	(*ExplainMetrics)(nil),               // 33: google.datastore.v1.ExplainMetrics
  2671  	(*AggregationQuery)(nil),             // 34: google.datastore.v1.AggregationQuery
  2672  	(*AggregationResultBatch)(nil),       // 35: google.datastore.v1.AggregationResultBatch
  2673  	(*Entity)(nil),                       // 36: google.datastore.v1.Entity
  2674  }
  2675  var file_google_datastore_v1_datastore_proto_depIdxs = []int32{
  2676  	21, // 0: google.datastore.v1.LookupRequest.read_options:type_name -> google.datastore.v1.ReadOptions
  2677  	25, // 1: google.datastore.v1.LookupRequest.keys:type_name -> google.datastore.v1.Key
  2678  	20, // 2: google.datastore.v1.LookupRequest.property_mask:type_name -> google.datastore.v1.PropertyMask
  2679  	26, // 3: google.datastore.v1.LookupResponse.found:type_name -> google.datastore.v1.EntityResult
  2680  	26, // 4: google.datastore.v1.LookupResponse.missing:type_name -> google.datastore.v1.EntityResult
  2681  	25, // 5: google.datastore.v1.LookupResponse.deferred:type_name -> google.datastore.v1.Key
  2682  	27, // 6: google.datastore.v1.LookupResponse.read_time:type_name -> google.protobuf.Timestamp
  2683  	28, // 7: google.datastore.v1.RunQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId
  2684  	21, // 8: google.datastore.v1.RunQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions
  2685  	29, // 9: google.datastore.v1.RunQueryRequest.query:type_name -> google.datastore.v1.Query
  2686  	30, // 10: google.datastore.v1.RunQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery
  2687  	20, // 11: google.datastore.v1.RunQueryRequest.property_mask:type_name -> google.datastore.v1.PropertyMask
  2688  	31, // 12: google.datastore.v1.RunQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions
  2689  	32, // 13: google.datastore.v1.RunQueryResponse.batch:type_name -> google.datastore.v1.QueryResultBatch
  2690  	29, // 14: google.datastore.v1.RunQueryResponse.query:type_name -> google.datastore.v1.Query
  2691  	33, // 15: google.datastore.v1.RunQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics
  2692  	28, // 16: google.datastore.v1.RunAggregationQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId
  2693  	21, // 17: google.datastore.v1.RunAggregationQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions
  2694  	34, // 18: google.datastore.v1.RunAggregationQueryRequest.aggregation_query:type_name -> google.datastore.v1.AggregationQuery
  2695  	30, // 19: google.datastore.v1.RunAggregationQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery
  2696  	31, // 20: google.datastore.v1.RunAggregationQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions
  2697  	35, // 21: google.datastore.v1.RunAggregationQueryResponse.batch:type_name -> google.datastore.v1.AggregationResultBatch
  2698  	34, // 22: google.datastore.v1.RunAggregationQueryResponse.query:type_name -> google.datastore.v1.AggregationQuery
  2699  	33, // 23: google.datastore.v1.RunAggregationQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics
  2700  	22, // 24: google.datastore.v1.BeginTransactionRequest.transaction_options:type_name -> google.datastore.v1.TransactionOptions
  2701  	0,  // 25: google.datastore.v1.CommitRequest.mode:type_name -> google.datastore.v1.CommitRequest.Mode
  2702  	22, // 26: google.datastore.v1.CommitRequest.single_use_transaction:type_name -> google.datastore.v1.TransactionOptions
  2703  	18, // 27: google.datastore.v1.CommitRequest.mutations:type_name -> google.datastore.v1.Mutation
  2704  	19, // 28: google.datastore.v1.CommitResponse.mutation_results:type_name -> google.datastore.v1.MutationResult
  2705  	27, // 29: google.datastore.v1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp
  2706  	25, // 30: google.datastore.v1.AllocateIdsRequest.keys:type_name -> google.datastore.v1.Key
  2707  	25, // 31: google.datastore.v1.AllocateIdsResponse.keys:type_name -> google.datastore.v1.Key
  2708  	25, // 32: google.datastore.v1.ReserveIdsRequest.keys:type_name -> google.datastore.v1.Key
  2709  	36, // 33: google.datastore.v1.Mutation.insert:type_name -> google.datastore.v1.Entity
  2710  	36, // 34: google.datastore.v1.Mutation.update:type_name -> google.datastore.v1.Entity
  2711  	36, // 35: google.datastore.v1.Mutation.upsert:type_name -> google.datastore.v1.Entity
  2712  	25, // 36: google.datastore.v1.Mutation.delete:type_name -> google.datastore.v1.Key
  2713  	27, // 37: google.datastore.v1.Mutation.update_time:type_name -> google.protobuf.Timestamp
  2714  	20, // 38: google.datastore.v1.Mutation.property_mask:type_name -> google.datastore.v1.PropertyMask
  2715  	25, // 39: google.datastore.v1.MutationResult.key:type_name -> google.datastore.v1.Key
  2716  	27, // 40: google.datastore.v1.MutationResult.create_time:type_name -> google.protobuf.Timestamp
  2717  	27, // 41: google.datastore.v1.MutationResult.update_time:type_name -> google.protobuf.Timestamp
  2718  	1,  // 42: google.datastore.v1.ReadOptions.read_consistency:type_name -> google.datastore.v1.ReadOptions.ReadConsistency
  2719  	22, // 43: google.datastore.v1.ReadOptions.new_transaction:type_name -> google.datastore.v1.TransactionOptions
  2720  	27, // 44: google.datastore.v1.ReadOptions.read_time:type_name -> google.protobuf.Timestamp
  2721  	23, // 45: google.datastore.v1.TransactionOptions.read_write:type_name -> google.datastore.v1.TransactionOptions.ReadWrite
  2722  	24, // 46: google.datastore.v1.TransactionOptions.read_only:type_name -> google.datastore.v1.TransactionOptions.ReadOnly
  2723  	27, // 47: google.datastore.v1.TransactionOptions.ReadOnly.read_time:type_name -> google.protobuf.Timestamp
  2724  	2,  // 48: google.datastore.v1.Datastore.Lookup:input_type -> google.datastore.v1.LookupRequest
  2725  	4,  // 49: google.datastore.v1.Datastore.RunQuery:input_type -> google.datastore.v1.RunQueryRequest
  2726  	6,  // 50: google.datastore.v1.Datastore.RunAggregationQuery:input_type -> google.datastore.v1.RunAggregationQueryRequest
  2727  	8,  // 51: google.datastore.v1.Datastore.BeginTransaction:input_type -> google.datastore.v1.BeginTransactionRequest
  2728  	12, // 52: google.datastore.v1.Datastore.Commit:input_type -> google.datastore.v1.CommitRequest
  2729  	10, // 53: google.datastore.v1.Datastore.Rollback:input_type -> google.datastore.v1.RollbackRequest
  2730  	14, // 54: google.datastore.v1.Datastore.AllocateIds:input_type -> google.datastore.v1.AllocateIdsRequest
  2731  	16, // 55: google.datastore.v1.Datastore.ReserveIds:input_type -> google.datastore.v1.ReserveIdsRequest
  2732  	3,  // 56: google.datastore.v1.Datastore.Lookup:output_type -> google.datastore.v1.LookupResponse
  2733  	5,  // 57: google.datastore.v1.Datastore.RunQuery:output_type -> google.datastore.v1.RunQueryResponse
  2734  	7,  // 58: google.datastore.v1.Datastore.RunAggregationQuery:output_type -> google.datastore.v1.RunAggregationQueryResponse
  2735  	9,  // 59: google.datastore.v1.Datastore.BeginTransaction:output_type -> google.datastore.v1.BeginTransactionResponse
  2736  	13, // 60: google.datastore.v1.Datastore.Commit:output_type -> google.datastore.v1.CommitResponse
  2737  	11, // 61: google.datastore.v1.Datastore.Rollback:output_type -> google.datastore.v1.RollbackResponse
  2738  	15, // 62: google.datastore.v1.Datastore.AllocateIds:output_type -> google.datastore.v1.AllocateIdsResponse
  2739  	17, // 63: google.datastore.v1.Datastore.ReserveIds:output_type -> google.datastore.v1.ReserveIdsResponse
  2740  	56, // [56:64] is the sub-list for method output_type
  2741  	48, // [48:56] is the sub-list for method input_type
  2742  	48, // [48:48] is the sub-list for extension type_name
  2743  	48, // [48:48] is the sub-list for extension extendee
  2744  	0,  // [0:48] is the sub-list for field type_name
  2745  }
  2746  
  2747  func init() { file_google_datastore_v1_datastore_proto_init() }
  2748  func file_google_datastore_v1_datastore_proto_init() {
  2749  	if File_google_datastore_v1_datastore_proto != nil {
  2750  		return
  2751  	}
  2752  	file_google_datastore_v1_aggregation_result_proto_init()
  2753  	file_google_datastore_v1_entity_proto_init()
  2754  	file_google_datastore_v1_query_proto_init()
  2755  	file_google_datastore_v1_query_profile_proto_init()
  2756  	if !protoimpl.UnsafeEnabled {
  2757  		file_google_datastore_v1_datastore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2758  			switch v := v.(*LookupRequest); i {
  2759  			case 0:
  2760  				return &v.state
  2761  			case 1:
  2762  				return &v.sizeCache
  2763  			case 2:
  2764  				return &v.unknownFields
  2765  			default:
  2766  				return nil
  2767  			}
  2768  		}
  2769  		file_google_datastore_v1_datastore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2770  			switch v := v.(*LookupResponse); i {
  2771  			case 0:
  2772  				return &v.state
  2773  			case 1:
  2774  				return &v.sizeCache
  2775  			case 2:
  2776  				return &v.unknownFields
  2777  			default:
  2778  				return nil
  2779  			}
  2780  		}
  2781  		file_google_datastore_v1_datastore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2782  			switch v := v.(*RunQueryRequest); i {
  2783  			case 0:
  2784  				return &v.state
  2785  			case 1:
  2786  				return &v.sizeCache
  2787  			case 2:
  2788  				return &v.unknownFields
  2789  			default:
  2790  				return nil
  2791  			}
  2792  		}
  2793  		file_google_datastore_v1_datastore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2794  			switch v := v.(*RunQueryResponse); i {
  2795  			case 0:
  2796  				return &v.state
  2797  			case 1:
  2798  				return &v.sizeCache
  2799  			case 2:
  2800  				return &v.unknownFields
  2801  			default:
  2802  				return nil
  2803  			}
  2804  		}
  2805  		file_google_datastore_v1_datastore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2806  			switch v := v.(*RunAggregationQueryRequest); i {
  2807  			case 0:
  2808  				return &v.state
  2809  			case 1:
  2810  				return &v.sizeCache
  2811  			case 2:
  2812  				return &v.unknownFields
  2813  			default:
  2814  				return nil
  2815  			}
  2816  		}
  2817  		file_google_datastore_v1_datastore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2818  			switch v := v.(*RunAggregationQueryResponse); i {
  2819  			case 0:
  2820  				return &v.state
  2821  			case 1:
  2822  				return &v.sizeCache
  2823  			case 2:
  2824  				return &v.unknownFields
  2825  			default:
  2826  				return nil
  2827  			}
  2828  		}
  2829  		file_google_datastore_v1_datastore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2830  			switch v := v.(*BeginTransactionRequest); i {
  2831  			case 0:
  2832  				return &v.state
  2833  			case 1:
  2834  				return &v.sizeCache
  2835  			case 2:
  2836  				return &v.unknownFields
  2837  			default:
  2838  				return nil
  2839  			}
  2840  		}
  2841  		file_google_datastore_v1_datastore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2842  			switch v := v.(*BeginTransactionResponse); i {
  2843  			case 0:
  2844  				return &v.state
  2845  			case 1:
  2846  				return &v.sizeCache
  2847  			case 2:
  2848  				return &v.unknownFields
  2849  			default:
  2850  				return nil
  2851  			}
  2852  		}
  2853  		file_google_datastore_v1_datastore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2854  			switch v := v.(*RollbackRequest); i {
  2855  			case 0:
  2856  				return &v.state
  2857  			case 1:
  2858  				return &v.sizeCache
  2859  			case 2:
  2860  				return &v.unknownFields
  2861  			default:
  2862  				return nil
  2863  			}
  2864  		}
  2865  		file_google_datastore_v1_datastore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2866  			switch v := v.(*RollbackResponse); i {
  2867  			case 0:
  2868  				return &v.state
  2869  			case 1:
  2870  				return &v.sizeCache
  2871  			case 2:
  2872  				return &v.unknownFields
  2873  			default:
  2874  				return nil
  2875  			}
  2876  		}
  2877  		file_google_datastore_v1_datastore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2878  			switch v := v.(*CommitRequest); i {
  2879  			case 0:
  2880  				return &v.state
  2881  			case 1:
  2882  				return &v.sizeCache
  2883  			case 2:
  2884  				return &v.unknownFields
  2885  			default:
  2886  				return nil
  2887  			}
  2888  		}
  2889  		file_google_datastore_v1_datastore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2890  			switch v := v.(*CommitResponse); i {
  2891  			case 0:
  2892  				return &v.state
  2893  			case 1:
  2894  				return &v.sizeCache
  2895  			case 2:
  2896  				return &v.unknownFields
  2897  			default:
  2898  				return nil
  2899  			}
  2900  		}
  2901  		file_google_datastore_v1_datastore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2902  			switch v := v.(*AllocateIdsRequest); i {
  2903  			case 0:
  2904  				return &v.state
  2905  			case 1:
  2906  				return &v.sizeCache
  2907  			case 2:
  2908  				return &v.unknownFields
  2909  			default:
  2910  				return nil
  2911  			}
  2912  		}
  2913  		file_google_datastore_v1_datastore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2914  			switch v := v.(*AllocateIdsResponse); i {
  2915  			case 0:
  2916  				return &v.state
  2917  			case 1:
  2918  				return &v.sizeCache
  2919  			case 2:
  2920  				return &v.unknownFields
  2921  			default:
  2922  				return nil
  2923  			}
  2924  		}
  2925  		file_google_datastore_v1_datastore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2926  			switch v := v.(*ReserveIdsRequest); i {
  2927  			case 0:
  2928  				return &v.state
  2929  			case 1:
  2930  				return &v.sizeCache
  2931  			case 2:
  2932  				return &v.unknownFields
  2933  			default:
  2934  				return nil
  2935  			}
  2936  		}
  2937  		file_google_datastore_v1_datastore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2938  			switch v := v.(*ReserveIdsResponse); i {
  2939  			case 0:
  2940  				return &v.state
  2941  			case 1:
  2942  				return &v.sizeCache
  2943  			case 2:
  2944  				return &v.unknownFields
  2945  			default:
  2946  				return nil
  2947  			}
  2948  		}
  2949  		file_google_datastore_v1_datastore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2950  			switch v := v.(*Mutation); i {
  2951  			case 0:
  2952  				return &v.state
  2953  			case 1:
  2954  				return &v.sizeCache
  2955  			case 2:
  2956  				return &v.unknownFields
  2957  			default:
  2958  				return nil
  2959  			}
  2960  		}
  2961  		file_google_datastore_v1_datastore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2962  			switch v := v.(*MutationResult); i {
  2963  			case 0:
  2964  				return &v.state
  2965  			case 1:
  2966  				return &v.sizeCache
  2967  			case 2:
  2968  				return &v.unknownFields
  2969  			default:
  2970  				return nil
  2971  			}
  2972  		}
  2973  		file_google_datastore_v1_datastore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2974  			switch v := v.(*PropertyMask); i {
  2975  			case 0:
  2976  				return &v.state
  2977  			case 1:
  2978  				return &v.sizeCache
  2979  			case 2:
  2980  				return &v.unknownFields
  2981  			default:
  2982  				return nil
  2983  			}
  2984  		}
  2985  		file_google_datastore_v1_datastore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2986  			switch v := v.(*ReadOptions); i {
  2987  			case 0:
  2988  				return &v.state
  2989  			case 1:
  2990  				return &v.sizeCache
  2991  			case 2:
  2992  				return &v.unknownFields
  2993  			default:
  2994  				return nil
  2995  			}
  2996  		}
  2997  		file_google_datastore_v1_datastore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  2998  			switch v := v.(*TransactionOptions); i {
  2999  			case 0:
  3000  				return &v.state
  3001  			case 1:
  3002  				return &v.sizeCache
  3003  			case 2:
  3004  				return &v.unknownFields
  3005  			default:
  3006  				return nil
  3007  			}
  3008  		}
  3009  		file_google_datastore_v1_datastore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3010  			switch v := v.(*TransactionOptions_ReadWrite); i {
  3011  			case 0:
  3012  				return &v.state
  3013  			case 1:
  3014  				return &v.sizeCache
  3015  			case 2:
  3016  				return &v.unknownFields
  3017  			default:
  3018  				return nil
  3019  			}
  3020  		}
  3021  		file_google_datastore_v1_datastore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3022  			switch v := v.(*TransactionOptions_ReadOnly); i {
  3023  			case 0:
  3024  				return &v.state
  3025  			case 1:
  3026  				return &v.sizeCache
  3027  			case 2:
  3028  				return &v.unknownFields
  3029  			default:
  3030  				return nil
  3031  			}
  3032  		}
  3033  	}
  3034  	file_google_datastore_v1_datastore_proto_msgTypes[2].OneofWrappers = []interface{}{
  3035  		(*RunQueryRequest_Query)(nil),
  3036  		(*RunQueryRequest_GqlQuery)(nil),
  3037  	}
  3038  	file_google_datastore_v1_datastore_proto_msgTypes[4].OneofWrappers = []interface{}{
  3039  		(*RunAggregationQueryRequest_AggregationQuery)(nil),
  3040  		(*RunAggregationQueryRequest_GqlQuery)(nil),
  3041  	}
  3042  	file_google_datastore_v1_datastore_proto_msgTypes[10].OneofWrappers = []interface{}{
  3043  		(*CommitRequest_Transaction)(nil),
  3044  		(*CommitRequest_SingleUseTransaction)(nil),
  3045  	}
  3046  	file_google_datastore_v1_datastore_proto_msgTypes[16].OneofWrappers = []interface{}{
  3047  		(*Mutation_Insert)(nil),
  3048  		(*Mutation_Update)(nil),
  3049  		(*Mutation_Upsert)(nil),
  3050  		(*Mutation_Delete)(nil),
  3051  		(*Mutation_BaseVersion)(nil),
  3052  		(*Mutation_UpdateTime)(nil),
  3053  	}
  3054  	file_google_datastore_v1_datastore_proto_msgTypes[19].OneofWrappers = []interface{}{
  3055  		(*ReadOptions_ReadConsistency_)(nil),
  3056  		(*ReadOptions_Transaction)(nil),
  3057  		(*ReadOptions_NewTransaction)(nil),
  3058  		(*ReadOptions_ReadTime)(nil),
  3059  	}
  3060  	file_google_datastore_v1_datastore_proto_msgTypes[20].OneofWrappers = []interface{}{
  3061  		(*TransactionOptions_ReadWrite_)(nil),
  3062  		(*TransactionOptions_ReadOnly_)(nil),
  3063  	}
  3064  	type x struct{}
  3065  	out := protoimpl.TypeBuilder{
  3066  		File: protoimpl.DescBuilder{
  3067  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3068  			RawDescriptor: file_google_datastore_v1_datastore_proto_rawDesc,
  3069  			NumEnums:      2,
  3070  			NumMessages:   23,
  3071  			NumExtensions: 0,
  3072  			NumServices:   1,
  3073  		},
  3074  		GoTypes:           file_google_datastore_v1_datastore_proto_goTypes,
  3075  		DependencyIndexes: file_google_datastore_v1_datastore_proto_depIdxs,
  3076  		EnumInfos:         file_google_datastore_v1_datastore_proto_enumTypes,
  3077  		MessageInfos:      file_google_datastore_v1_datastore_proto_msgTypes,
  3078  	}.Build()
  3079  	File_google_datastore_v1_datastore_proto = out.File
  3080  	file_google_datastore_v1_datastore_proto_rawDesc = nil
  3081  	file_google_datastore_v1_datastore_proto_goTypes = nil
  3082  	file_google_datastore_v1_datastore_proto_depIdxs = nil
  3083  }
  3084  
  3085  // Reference imports to suppress errors if they are not otherwise used.
  3086  var _ context.Context
  3087  var _ grpc.ClientConnInterface
  3088  
  3089  // This is a compile-time assertion to ensure that this generated file
  3090  // is compatible with the grpc package it is being compiled against.
  3091  const _ = grpc.SupportPackageIsVersion6
  3092  
  3093  // DatastoreClient is the client API for Datastore service.
  3094  //
  3095  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3096  type DatastoreClient interface {
  3097  	// Looks up entities by key.
  3098  	Lookup(ctx context.Context, in *LookupRequest, opts ...grpc.CallOption) (*LookupResponse, error)
  3099  	// Queries for entities.
  3100  	RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (*RunQueryResponse, error)
  3101  	// Runs an aggregation query.
  3102  	RunAggregationQuery(ctx context.Context, in *RunAggregationQueryRequest, opts ...grpc.CallOption) (*RunAggregationQueryResponse, error)
  3103  	// Begins a new transaction.
  3104  	BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error)
  3105  	// Commits a transaction, optionally creating, deleting or modifying some
  3106  	// entities.
  3107  	Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error)
  3108  	// Rolls back a transaction.
  3109  	Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*RollbackResponse, error)
  3110  	// Allocates IDs for the given keys, which is useful for referencing an entity
  3111  	// before it is inserted.
  3112  	AllocateIds(ctx context.Context, in *AllocateIdsRequest, opts ...grpc.CallOption) (*AllocateIdsResponse, error)
  3113  	// Prevents the supplied keys' IDs from being auto-allocated by Cloud
  3114  	// Datastore.
  3115  	ReserveIds(ctx context.Context, in *ReserveIdsRequest, opts ...grpc.CallOption) (*ReserveIdsResponse, error)
  3116  }
  3117  
  3118  type datastoreClient struct {
  3119  	cc grpc.ClientConnInterface
  3120  }
  3121  
  3122  func NewDatastoreClient(cc grpc.ClientConnInterface) DatastoreClient {
  3123  	return &datastoreClient{cc}
  3124  }
  3125  
  3126  func (c *datastoreClient) Lookup(ctx context.Context, in *LookupRequest, opts ...grpc.CallOption) (*LookupResponse, error) {
  3127  	out := new(LookupResponse)
  3128  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/Lookup", in, out, opts...)
  3129  	if err != nil {
  3130  		return nil, err
  3131  	}
  3132  	return out, nil
  3133  }
  3134  
  3135  func (c *datastoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (*RunQueryResponse, error) {
  3136  	out := new(RunQueryResponse)
  3137  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/RunQuery", in, out, opts...)
  3138  	if err != nil {
  3139  		return nil, err
  3140  	}
  3141  	return out, nil
  3142  }
  3143  
  3144  func (c *datastoreClient) RunAggregationQuery(ctx context.Context, in *RunAggregationQueryRequest, opts ...grpc.CallOption) (*RunAggregationQueryResponse, error) {
  3145  	out := new(RunAggregationQueryResponse)
  3146  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/RunAggregationQuery", in, out, opts...)
  3147  	if err != nil {
  3148  		return nil, err
  3149  	}
  3150  	return out, nil
  3151  }
  3152  
  3153  func (c *datastoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) {
  3154  	out := new(BeginTransactionResponse)
  3155  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/BeginTransaction", in, out, opts...)
  3156  	if err != nil {
  3157  		return nil, err
  3158  	}
  3159  	return out, nil
  3160  }
  3161  
  3162  func (c *datastoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) {
  3163  	out := new(CommitResponse)
  3164  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/Commit", in, out, opts...)
  3165  	if err != nil {
  3166  		return nil, err
  3167  	}
  3168  	return out, nil
  3169  }
  3170  
  3171  func (c *datastoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*RollbackResponse, error) {
  3172  	out := new(RollbackResponse)
  3173  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/Rollback", in, out, opts...)
  3174  	if err != nil {
  3175  		return nil, err
  3176  	}
  3177  	return out, nil
  3178  }
  3179  
  3180  func (c *datastoreClient) AllocateIds(ctx context.Context, in *AllocateIdsRequest, opts ...grpc.CallOption) (*AllocateIdsResponse, error) {
  3181  	out := new(AllocateIdsResponse)
  3182  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/AllocateIds", in, out, opts...)
  3183  	if err != nil {
  3184  		return nil, err
  3185  	}
  3186  	return out, nil
  3187  }
  3188  
  3189  func (c *datastoreClient) ReserveIds(ctx context.Context, in *ReserveIdsRequest, opts ...grpc.CallOption) (*ReserveIdsResponse, error) {
  3190  	out := new(ReserveIdsResponse)
  3191  	err := c.cc.Invoke(ctx, "/google.datastore.v1.Datastore/ReserveIds", in, out, opts...)
  3192  	if err != nil {
  3193  		return nil, err
  3194  	}
  3195  	return out, nil
  3196  }
  3197  
  3198  // DatastoreServer is the server API for Datastore service.
  3199  type DatastoreServer interface {
  3200  	// Looks up entities by key.
  3201  	Lookup(context.Context, *LookupRequest) (*LookupResponse, error)
  3202  	// Queries for entities.
  3203  	RunQuery(context.Context, *RunQueryRequest) (*RunQueryResponse, error)
  3204  	// Runs an aggregation query.
  3205  	RunAggregationQuery(context.Context, *RunAggregationQueryRequest) (*RunAggregationQueryResponse, error)
  3206  	// Begins a new transaction.
  3207  	BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error)
  3208  	// Commits a transaction, optionally creating, deleting or modifying some
  3209  	// entities.
  3210  	Commit(context.Context, *CommitRequest) (*CommitResponse, error)
  3211  	// Rolls back a transaction.
  3212  	Rollback(context.Context, *RollbackRequest) (*RollbackResponse, error)
  3213  	// Allocates IDs for the given keys, which is useful for referencing an entity
  3214  	// before it is inserted.
  3215  	AllocateIds(context.Context, *AllocateIdsRequest) (*AllocateIdsResponse, error)
  3216  	// Prevents the supplied keys' IDs from being auto-allocated by Cloud
  3217  	// Datastore.
  3218  	ReserveIds(context.Context, *ReserveIdsRequest) (*ReserveIdsResponse, error)
  3219  }
  3220  
  3221  // UnimplementedDatastoreServer can be embedded to have forward compatible implementations.
  3222  type UnimplementedDatastoreServer struct {
  3223  }
  3224  
  3225  func (*UnimplementedDatastoreServer) Lookup(context.Context, *LookupRequest) (*LookupResponse, error) {
  3226  	return nil, status.Errorf(codes.Unimplemented, "method Lookup not implemented")
  3227  }
  3228  func (*UnimplementedDatastoreServer) RunQuery(context.Context, *RunQueryRequest) (*RunQueryResponse, error) {
  3229  	return nil, status.Errorf(codes.Unimplemented, "method RunQuery not implemented")
  3230  }
  3231  func (*UnimplementedDatastoreServer) RunAggregationQuery(context.Context, *RunAggregationQueryRequest) (*RunAggregationQueryResponse, error) {
  3232  	return nil, status.Errorf(codes.Unimplemented, "method RunAggregationQuery not implemented")
  3233  }
  3234  func (*UnimplementedDatastoreServer) BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) {
  3235  	return nil, status.Errorf(codes.Unimplemented, "method BeginTransaction not implemented")
  3236  }
  3237  func (*UnimplementedDatastoreServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) {
  3238  	return nil, status.Errorf(codes.Unimplemented, "method Commit not implemented")
  3239  }
  3240  func (*UnimplementedDatastoreServer) Rollback(context.Context, *RollbackRequest) (*RollbackResponse, error) {
  3241  	return nil, status.Errorf(codes.Unimplemented, "method Rollback not implemented")
  3242  }
  3243  func (*UnimplementedDatastoreServer) AllocateIds(context.Context, *AllocateIdsRequest) (*AllocateIdsResponse, error) {
  3244  	return nil, status.Errorf(codes.Unimplemented, "method AllocateIds not implemented")
  3245  }
  3246  func (*UnimplementedDatastoreServer) ReserveIds(context.Context, *ReserveIdsRequest) (*ReserveIdsResponse, error) {
  3247  	return nil, status.Errorf(codes.Unimplemented, "method ReserveIds not implemented")
  3248  }
  3249  
  3250  func RegisterDatastoreServer(s *grpc.Server, srv DatastoreServer) {
  3251  	s.RegisterService(&_Datastore_serviceDesc, srv)
  3252  }
  3253  
  3254  func _Datastore_Lookup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3255  	in := new(LookupRequest)
  3256  	if err := dec(in); err != nil {
  3257  		return nil, err
  3258  	}
  3259  	if interceptor == nil {
  3260  		return srv.(DatastoreServer).Lookup(ctx, in)
  3261  	}
  3262  	info := &grpc.UnaryServerInfo{
  3263  		Server:     srv,
  3264  		FullMethod: "/google.datastore.v1.Datastore/Lookup",
  3265  	}
  3266  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3267  		return srv.(DatastoreServer).Lookup(ctx, req.(*LookupRequest))
  3268  	}
  3269  	return interceptor(ctx, in, info, handler)
  3270  }
  3271  
  3272  func _Datastore_RunQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3273  	in := new(RunQueryRequest)
  3274  	if err := dec(in); err != nil {
  3275  		return nil, err
  3276  	}
  3277  	if interceptor == nil {
  3278  		return srv.(DatastoreServer).RunQuery(ctx, in)
  3279  	}
  3280  	info := &grpc.UnaryServerInfo{
  3281  		Server:     srv,
  3282  		FullMethod: "/google.datastore.v1.Datastore/RunQuery",
  3283  	}
  3284  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3285  		return srv.(DatastoreServer).RunQuery(ctx, req.(*RunQueryRequest))
  3286  	}
  3287  	return interceptor(ctx, in, info, handler)
  3288  }
  3289  
  3290  func _Datastore_RunAggregationQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3291  	in := new(RunAggregationQueryRequest)
  3292  	if err := dec(in); err != nil {
  3293  		return nil, err
  3294  	}
  3295  	if interceptor == nil {
  3296  		return srv.(DatastoreServer).RunAggregationQuery(ctx, in)
  3297  	}
  3298  	info := &grpc.UnaryServerInfo{
  3299  		Server:     srv,
  3300  		FullMethod: "/google.datastore.v1.Datastore/RunAggregationQuery",
  3301  	}
  3302  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3303  		return srv.(DatastoreServer).RunAggregationQuery(ctx, req.(*RunAggregationQueryRequest))
  3304  	}
  3305  	return interceptor(ctx, in, info, handler)
  3306  }
  3307  
  3308  func _Datastore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3309  	in := new(BeginTransactionRequest)
  3310  	if err := dec(in); err != nil {
  3311  		return nil, err
  3312  	}
  3313  	if interceptor == nil {
  3314  		return srv.(DatastoreServer).BeginTransaction(ctx, in)
  3315  	}
  3316  	info := &grpc.UnaryServerInfo{
  3317  		Server:     srv,
  3318  		FullMethod: "/google.datastore.v1.Datastore/BeginTransaction",
  3319  	}
  3320  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3321  		return srv.(DatastoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest))
  3322  	}
  3323  	return interceptor(ctx, in, info, handler)
  3324  }
  3325  
  3326  func _Datastore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3327  	in := new(CommitRequest)
  3328  	if err := dec(in); err != nil {
  3329  		return nil, err
  3330  	}
  3331  	if interceptor == nil {
  3332  		return srv.(DatastoreServer).Commit(ctx, in)
  3333  	}
  3334  	info := &grpc.UnaryServerInfo{
  3335  		Server:     srv,
  3336  		FullMethod: "/google.datastore.v1.Datastore/Commit",
  3337  	}
  3338  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3339  		return srv.(DatastoreServer).Commit(ctx, req.(*CommitRequest))
  3340  	}
  3341  	return interceptor(ctx, in, info, handler)
  3342  }
  3343  
  3344  func _Datastore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3345  	in := new(RollbackRequest)
  3346  	if err := dec(in); err != nil {
  3347  		return nil, err
  3348  	}
  3349  	if interceptor == nil {
  3350  		return srv.(DatastoreServer).Rollback(ctx, in)
  3351  	}
  3352  	info := &grpc.UnaryServerInfo{
  3353  		Server:     srv,
  3354  		FullMethod: "/google.datastore.v1.Datastore/Rollback",
  3355  	}
  3356  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3357  		return srv.(DatastoreServer).Rollback(ctx, req.(*RollbackRequest))
  3358  	}
  3359  	return interceptor(ctx, in, info, handler)
  3360  }
  3361  
  3362  func _Datastore_AllocateIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3363  	in := new(AllocateIdsRequest)
  3364  	if err := dec(in); err != nil {
  3365  		return nil, err
  3366  	}
  3367  	if interceptor == nil {
  3368  		return srv.(DatastoreServer).AllocateIds(ctx, in)
  3369  	}
  3370  	info := &grpc.UnaryServerInfo{
  3371  		Server:     srv,
  3372  		FullMethod: "/google.datastore.v1.Datastore/AllocateIds",
  3373  	}
  3374  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3375  		return srv.(DatastoreServer).AllocateIds(ctx, req.(*AllocateIdsRequest))
  3376  	}
  3377  	return interceptor(ctx, in, info, handler)
  3378  }
  3379  
  3380  func _Datastore_ReserveIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3381  	in := new(ReserveIdsRequest)
  3382  	if err := dec(in); err != nil {
  3383  		return nil, err
  3384  	}
  3385  	if interceptor == nil {
  3386  		return srv.(DatastoreServer).ReserveIds(ctx, in)
  3387  	}
  3388  	info := &grpc.UnaryServerInfo{
  3389  		Server:     srv,
  3390  		FullMethod: "/google.datastore.v1.Datastore/ReserveIds",
  3391  	}
  3392  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3393  		return srv.(DatastoreServer).ReserveIds(ctx, req.(*ReserveIdsRequest))
  3394  	}
  3395  	return interceptor(ctx, in, info, handler)
  3396  }
  3397  
  3398  var _Datastore_serviceDesc = grpc.ServiceDesc{
  3399  	ServiceName: "google.datastore.v1.Datastore",
  3400  	HandlerType: (*DatastoreServer)(nil),
  3401  	Methods: []grpc.MethodDesc{
  3402  		{
  3403  			MethodName: "Lookup",
  3404  			Handler:    _Datastore_Lookup_Handler,
  3405  		},
  3406  		{
  3407  			MethodName: "RunQuery",
  3408  			Handler:    _Datastore_RunQuery_Handler,
  3409  		},
  3410  		{
  3411  			MethodName: "RunAggregationQuery",
  3412  			Handler:    _Datastore_RunAggregationQuery_Handler,
  3413  		},
  3414  		{
  3415  			MethodName: "BeginTransaction",
  3416  			Handler:    _Datastore_BeginTransaction_Handler,
  3417  		},
  3418  		{
  3419  			MethodName: "Commit",
  3420  			Handler:    _Datastore_Commit_Handler,
  3421  		},
  3422  		{
  3423  			MethodName: "Rollback",
  3424  			Handler:    _Datastore_Rollback_Handler,
  3425  		},
  3426  		{
  3427  			MethodName: "AllocateIds",
  3428  			Handler:    _Datastore_AllocateIds_Handler,
  3429  		},
  3430  		{
  3431  			MethodName: "ReserveIds",
  3432  			Handler:    _Datastore_ReserveIds_Handler,
  3433  		},
  3434  	},
  3435  	Streams:  []grpc.StreamDesc{},
  3436  	Metadata: "google/datastore/v1/datastore.proto",
  3437  }
  3438  

View as plain text