...

Source file src/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go

Documentation: google.golang.org/genproto/googleapis/storage/v2

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/storage/v2/storage.proto
    20  
    21  package storage
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	v1 "google.golang.org/genproto/googleapis/iam/v1"
    30  	date "google.golang.org/genproto/googleapis/type/date"
    31  	grpc "google.golang.org/grpc"
    32  	codes "google.golang.org/grpc/codes"
    33  	status "google.golang.org/grpc/status"
    34  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    35  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    36  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    37  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    38  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    39  )
    40  
    41  const (
    42  	// Verify that this generated code is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    44  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    45  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    46  )
    47  
    48  // A collection of constant values meaningful to the Storage API.
    49  type ServiceConstants_Values int32
    50  
    51  const (
    52  	// Unused. Proto3 requires first enum to be 0.
    53  	ServiceConstants_VALUES_UNSPECIFIED ServiceConstants_Values = 0
    54  	// The maximum size chunk that can will be returned in a single
    55  	// ReadRequest.
    56  	// 2 MiB.
    57  	ServiceConstants_MAX_READ_CHUNK_BYTES ServiceConstants_Values = 2097152
    58  	// The maximum size chunk that can be sent in a single WriteObjectRequest.
    59  	// 2 MiB.
    60  	ServiceConstants_MAX_WRITE_CHUNK_BYTES ServiceConstants_Values = 2097152
    61  	// The maximum size of an object in MB - whether written in a single stream
    62  	// or composed from multiple other objects.
    63  	// 5 TiB.
    64  	ServiceConstants_MAX_OBJECT_SIZE_MB ServiceConstants_Values = 5242880
    65  	// The maximum length field name that can be sent in a single
    66  	// custom metadata field.
    67  	// 1 KiB.
    68  	ServiceConstants_MAX_CUSTOM_METADATA_FIELD_NAME_BYTES ServiceConstants_Values = 1024
    69  	// The maximum length field value that can be sent in a single
    70  	// custom_metadata field.
    71  	// 4 KiB.
    72  	ServiceConstants_MAX_CUSTOM_METADATA_FIELD_VALUE_BYTES ServiceConstants_Values = 4096
    73  	// The maximum total bytes that can be populated into all field names and
    74  	// values of the custom_metadata for one object.
    75  	// 8 KiB.
    76  	ServiceConstants_MAX_CUSTOM_METADATA_TOTAL_SIZE_BYTES ServiceConstants_Values = 8192
    77  	// The maximum total bytes that can be populated into all bucket metadata
    78  	// fields.
    79  	// 20 KiB.
    80  	ServiceConstants_MAX_BUCKET_METADATA_TOTAL_SIZE_BYTES ServiceConstants_Values = 20480
    81  	// The maximum number of NotificationConfigs that can be registered
    82  	// for a given bucket.
    83  	ServiceConstants_MAX_NOTIFICATION_CONFIGS_PER_BUCKET ServiceConstants_Values = 100
    84  	// The maximum number of LifecycleRules that can be registered for a given
    85  	// bucket.
    86  	ServiceConstants_MAX_LIFECYCLE_RULES_PER_BUCKET ServiceConstants_Values = 100
    87  	// The maximum number of custom attributes per NotificationConfigs.
    88  	ServiceConstants_MAX_NOTIFICATION_CUSTOM_ATTRIBUTES ServiceConstants_Values = 5
    89  	// The maximum length of a custom attribute key included in
    90  	// NotificationConfig.
    91  	ServiceConstants_MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_KEY_LENGTH ServiceConstants_Values = 256
    92  	// The maximum length of a custom attribute value included in a
    93  	// NotificationConfig.
    94  	ServiceConstants_MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_VALUE_LENGTH ServiceConstants_Values = 1024
    95  	// The maximum number of key/value entries per bucket label.
    96  	ServiceConstants_MAX_LABELS_ENTRIES_COUNT ServiceConstants_Values = 64
    97  	// The maximum character length of the key or value in a bucket
    98  	// label map.
    99  	ServiceConstants_MAX_LABELS_KEY_VALUE_LENGTH ServiceConstants_Values = 63
   100  	// The maximum byte size of the key or value in a bucket label
   101  	// map.
   102  	ServiceConstants_MAX_LABELS_KEY_VALUE_BYTES ServiceConstants_Values = 128
   103  	// The maximum number of object IDs that can be included in a
   104  	// DeleteObjectsRequest.
   105  	ServiceConstants_MAX_OBJECT_IDS_PER_DELETE_OBJECTS_REQUEST ServiceConstants_Values = 1000
   106  	// The maximum number of days for which a token returned by the
   107  	// GetListObjectsSplitPoints RPC is valid.
   108  	ServiceConstants_SPLIT_TOKEN_MAX_VALID_DAYS ServiceConstants_Values = 14
   109  )
   110  
   111  // Enum value maps for ServiceConstants_Values.
   112  var (
   113  	ServiceConstants_Values_name = map[int32]string{
   114  		0:       "VALUES_UNSPECIFIED",
   115  		2097152: "MAX_READ_CHUNK_BYTES",
   116  		// Duplicate value: 2097152: "MAX_WRITE_CHUNK_BYTES",
   117  		5242880: "MAX_OBJECT_SIZE_MB",
   118  		1024:    "MAX_CUSTOM_METADATA_FIELD_NAME_BYTES",
   119  		4096:    "MAX_CUSTOM_METADATA_FIELD_VALUE_BYTES",
   120  		8192:    "MAX_CUSTOM_METADATA_TOTAL_SIZE_BYTES",
   121  		20480:   "MAX_BUCKET_METADATA_TOTAL_SIZE_BYTES",
   122  		100:     "MAX_NOTIFICATION_CONFIGS_PER_BUCKET",
   123  		// Duplicate value: 100: "MAX_LIFECYCLE_RULES_PER_BUCKET",
   124  		5:   "MAX_NOTIFICATION_CUSTOM_ATTRIBUTES",
   125  		256: "MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_KEY_LENGTH",
   126  		// Duplicate value: 1024: "MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_VALUE_LENGTH",
   127  		64:   "MAX_LABELS_ENTRIES_COUNT",
   128  		63:   "MAX_LABELS_KEY_VALUE_LENGTH",
   129  		128:  "MAX_LABELS_KEY_VALUE_BYTES",
   130  		1000: "MAX_OBJECT_IDS_PER_DELETE_OBJECTS_REQUEST",
   131  		14:   "SPLIT_TOKEN_MAX_VALID_DAYS",
   132  	}
   133  	ServiceConstants_Values_value = map[string]int32{
   134  		"VALUES_UNSPECIFIED":                             0,
   135  		"MAX_READ_CHUNK_BYTES":                           2097152,
   136  		"MAX_WRITE_CHUNK_BYTES":                          2097152,
   137  		"MAX_OBJECT_SIZE_MB":                             5242880,
   138  		"MAX_CUSTOM_METADATA_FIELD_NAME_BYTES":           1024,
   139  		"MAX_CUSTOM_METADATA_FIELD_VALUE_BYTES":          4096,
   140  		"MAX_CUSTOM_METADATA_TOTAL_SIZE_BYTES":           8192,
   141  		"MAX_BUCKET_METADATA_TOTAL_SIZE_BYTES":           20480,
   142  		"MAX_NOTIFICATION_CONFIGS_PER_BUCKET":            100,
   143  		"MAX_LIFECYCLE_RULES_PER_BUCKET":                 100,
   144  		"MAX_NOTIFICATION_CUSTOM_ATTRIBUTES":             5,
   145  		"MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_KEY_LENGTH":   256,
   146  		"MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_VALUE_LENGTH": 1024,
   147  		"MAX_LABELS_ENTRIES_COUNT":                       64,
   148  		"MAX_LABELS_KEY_VALUE_LENGTH":                    63,
   149  		"MAX_LABELS_KEY_VALUE_BYTES":                     128,
   150  		"MAX_OBJECT_IDS_PER_DELETE_OBJECTS_REQUEST":      1000,
   151  		"SPLIT_TOKEN_MAX_VALID_DAYS":                     14,
   152  	}
   153  )
   154  
   155  func (x ServiceConstants_Values) Enum() *ServiceConstants_Values {
   156  	p := new(ServiceConstants_Values)
   157  	*p = x
   158  	return p
   159  }
   160  
   161  func (x ServiceConstants_Values) String() string {
   162  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   163  }
   164  
   165  func (ServiceConstants_Values) Descriptor() protoreflect.EnumDescriptor {
   166  	return file_google_storage_v2_storage_proto_enumTypes[0].Descriptor()
   167  }
   168  
   169  func (ServiceConstants_Values) Type() protoreflect.EnumType {
   170  	return &file_google_storage_v2_storage_proto_enumTypes[0]
   171  }
   172  
   173  func (x ServiceConstants_Values) Number() protoreflect.EnumNumber {
   174  	return protoreflect.EnumNumber(x)
   175  }
   176  
   177  // Deprecated: Use ServiceConstants_Values.Descriptor instead.
   178  func (ServiceConstants_Values) EnumDescriptor() ([]byte, []int) {
   179  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37, 0}
   180  }
   181  
   182  // Request message for DeleteBucket.
   183  type DeleteBucketRequest struct {
   184  	state         protoimpl.MessageState
   185  	sizeCache     protoimpl.SizeCache
   186  	unknownFields protoimpl.UnknownFields
   187  
   188  	// Required. Name of a bucket to delete.
   189  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   190  	// If set, only deletes the bucket if its metageneration matches this value.
   191  	IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
   192  	// If set, only deletes the bucket if its metageneration does not match this
   193  	// value.
   194  	IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
   195  }
   196  
   197  func (x *DeleteBucketRequest) Reset() {
   198  	*x = DeleteBucketRequest{}
   199  	if protoimpl.UnsafeEnabled {
   200  		mi := &file_google_storage_v2_storage_proto_msgTypes[0]
   201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   202  		ms.StoreMessageInfo(mi)
   203  	}
   204  }
   205  
   206  func (x *DeleteBucketRequest) String() string {
   207  	return protoimpl.X.MessageStringOf(x)
   208  }
   209  
   210  func (*DeleteBucketRequest) ProtoMessage() {}
   211  
   212  func (x *DeleteBucketRequest) ProtoReflect() protoreflect.Message {
   213  	mi := &file_google_storage_v2_storage_proto_msgTypes[0]
   214  	if protoimpl.UnsafeEnabled && x != nil {
   215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   216  		if ms.LoadMessageInfo() == nil {
   217  			ms.StoreMessageInfo(mi)
   218  		}
   219  		return ms
   220  	}
   221  	return mi.MessageOf(x)
   222  }
   223  
   224  // Deprecated: Use DeleteBucketRequest.ProtoReflect.Descriptor instead.
   225  func (*DeleteBucketRequest) Descriptor() ([]byte, []int) {
   226  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{0}
   227  }
   228  
   229  func (x *DeleteBucketRequest) GetName() string {
   230  	if x != nil {
   231  		return x.Name
   232  	}
   233  	return ""
   234  }
   235  
   236  func (x *DeleteBucketRequest) GetIfMetagenerationMatch() int64 {
   237  	if x != nil && x.IfMetagenerationMatch != nil {
   238  		return *x.IfMetagenerationMatch
   239  	}
   240  	return 0
   241  }
   242  
   243  func (x *DeleteBucketRequest) GetIfMetagenerationNotMatch() int64 {
   244  	if x != nil && x.IfMetagenerationNotMatch != nil {
   245  		return *x.IfMetagenerationNotMatch
   246  	}
   247  	return 0
   248  }
   249  
   250  // Request message for GetBucket.
   251  type GetBucketRequest struct {
   252  	state         protoimpl.MessageState
   253  	sizeCache     protoimpl.SizeCache
   254  	unknownFields protoimpl.UnknownFields
   255  
   256  	// Required. Name of a bucket.
   257  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   258  	// If set, and if the bucket's current metageneration does not match the
   259  	// specified value, the request will return an error.
   260  	IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
   261  	// If set, and if the bucket's current metageneration matches the specified
   262  	// value, the request will return an error.
   263  	IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
   264  	// Mask specifying which fields to read.
   265  	// A "*" field may be used to indicate all fields.
   266  	// If no mask is specified, will default to all fields.
   267  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
   268  }
   269  
   270  func (x *GetBucketRequest) Reset() {
   271  	*x = GetBucketRequest{}
   272  	if protoimpl.UnsafeEnabled {
   273  		mi := &file_google_storage_v2_storage_proto_msgTypes[1]
   274  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   275  		ms.StoreMessageInfo(mi)
   276  	}
   277  }
   278  
   279  func (x *GetBucketRequest) String() string {
   280  	return protoimpl.X.MessageStringOf(x)
   281  }
   282  
   283  func (*GetBucketRequest) ProtoMessage() {}
   284  
   285  func (x *GetBucketRequest) ProtoReflect() protoreflect.Message {
   286  	mi := &file_google_storage_v2_storage_proto_msgTypes[1]
   287  	if protoimpl.UnsafeEnabled && x != nil {
   288  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   289  		if ms.LoadMessageInfo() == nil {
   290  			ms.StoreMessageInfo(mi)
   291  		}
   292  		return ms
   293  	}
   294  	return mi.MessageOf(x)
   295  }
   296  
   297  // Deprecated: Use GetBucketRequest.ProtoReflect.Descriptor instead.
   298  func (*GetBucketRequest) Descriptor() ([]byte, []int) {
   299  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{1}
   300  }
   301  
   302  func (x *GetBucketRequest) GetName() string {
   303  	if x != nil {
   304  		return x.Name
   305  	}
   306  	return ""
   307  }
   308  
   309  func (x *GetBucketRequest) GetIfMetagenerationMatch() int64 {
   310  	if x != nil && x.IfMetagenerationMatch != nil {
   311  		return *x.IfMetagenerationMatch
   312  	}
   313  	return 0
   314  }
   315  
   316  func (x *GetBucketRequest) GetIfMetagenerationNotMatch() int64 {
   317  	if x != nil && x.IfMetagenerationNotMatch != nil {
   318  		return *x.IfMetagenerationNotMatch
   319  	}
   320  	return 0
   321  }
   322  
   323  func (x *GetBucketRequest) GetReadMask() *fieldmaskpb.FieldMask {
   324  	if x != nil {
   325  		return x.ReadMask
   326  	}
   327  	return nil
   328  }
   329  
   330  // Request message for CreateBucket.
   331  type CreateBucketRequest struct {
   332  	state         protoimpl.MessageState
   333  	sizeCache     protoimpl.SizeCache
   334  	unknownFields protoimpl.UnknownFields
   335  
   336  	// Required. The project to which this bucket will belong.
   337  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   338  	// Required. Properties of the new bucket being inserted.
   339  	// The project and name of the bucket are specified in the parent and
   340  	// bucket_id fields, respectively. Populating those fields in `bucket` will
   341  	// result in an error.
   342  	Bucket *Bucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
   343  	// Required. The ID to use for this bucket, which will become the final component of
   344  	// the bucket's resource name. For example, the value `foo` might result in
   345  	// a bucket with the name `projects/123456/buckets/foo`.
   346  	BucketId string `protobuf:"bytes,3,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
   347  	// Apply a predefined set of access controls to this bucket.
   348  	// Valid values are "authenticatedRead", "private", "projectPrivate",
   349  	// "publicRead", or "publicReadWrite".
   350  	PredefinedAcl string `protobuf:"bytes,6,opt,name=predefined_acl,json=predefinedAcl,proto3" json:"predefined_acl,omitempty"`
   351  	// Apply a predefined set of default object access controls to this bucket.
   352  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
   353  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
   354  	PredefinedDefaultObjectAcl string `protobuf:"bytes,7,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3" json:"predefined_default_object_acl,omitempty"`
   355  }
   356  
   357  func (x *CreateBucketRequest) Reset() {
   358  	*x = CreateBucketRequest{}
   359  	if protoimpl.UnsafeEnabled {
   360  		mi := &file_google_storage_v2_storage_proto_msgTypes[2]
   361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   362  		ms.StoreMessageInfo(mi)
   363  	}
   364  }
   365  
   366  func (x *CreateBucketRequest) String() string {
   367  	return protoimpl.X.MessageStringOf(x)
   368  }
   369  
   370  func (*CreateBucketRequest) ProtoMessage() {}
   371  
   372  func (x *CreateBucketRequest) ProtoReflect() protoreflect.Message {
   373  	mi := &file_google_storage_v2_storage_proto_msgTypes[2]
   374  	if protoimpl.UnsafeEnabled && x != nil {
   375  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   376  		if ms.LoadMessageInfo() == nil {
   377  			ms.StoreMessageInfo(mi)
   378  		}
   379  		return ms
   380  	}
   381  	return mi.MessageOf(x)
   382  }
   383  
   384  // Deprecated: Use CreateBucketRequest.ProtoReflect.Descriptor instead.
   385  func (*CreateBucketRequest) Descriptor() ([]byte, []int) {
   386  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{2}
   387  }
   388  
   389  func (x *CreateBucketRequest) GetParent() string {
   390  	if x != nil {
   391  		return x.Parent
   392  	}
   393  	return ""
   394  }
   395  
   396  func (x *CreateBucketRequest) GetBucket() *Bucket {
   397  	if x != nil {
   398  		return x.Bucket
   399  	}
   400  	return nil
   401  }
   402  
   403  func (x *CreateBucketRequest) GetBucketId() string {
   404  	if x != nil {
   405  		return x.BucketId
   406  	}
   407  	return ""
   408  }
   409  
   410  func (x *CreateBucketRequest) GetPredefinedAcl() string {
   411  	if x != nil {
   412  		return x.PredefinedAcl
   413  	}
   414  	return ""
   415  }
   416  
   417  func (x *CreateBucketRequest) GetPredefinedDefaultObjectAcl() string {
   418  	if x != nil {
   419  		return x.PredefinedDefaultObjectAcl
   420  	}
   421  	return ""
   422  }
   423  
   424  // Request message for ListBuckets.
   425  type ListBucketsRequest struct {
   426  	state         protoimpl.MessageState
   427  	sizeCache     protoimpl.SizeCache
   428  	unknownFields protoimpl.UnknownFields
   429  
   430  	// Required. The project whose buckets we are listing.
   431  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   432  	// Maximum number of buckets to return in a single response. The service will
   433  	// use this parameter or 1,000 items, whichever is smaller. If "acl" is
   434  	// present in the read_mask, the service will use this parameter of 200 items,
   435  	// whichever is smaller.
   436  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   437  	// A previously-returned page token representing part of the larger set of
   438  	// results to view.
   439  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   440  	// Filter results to buckets whose names begin with this prefix.
   441  	Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
   442  	// Mask specifying which fields to read from each result.
   443  	// If no mask is specified, will default to all fields except items.owner,
   444  	// items.acl, and items.default_object_acl.
   445  	// * may be used to mean "all fields".
   446  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
   447  }
   448  
   449  func (x *ListBucketsRequest) Reset() {
   450  	*x = ListBucketsRequest{}
   451  	if protoimpl.UnsafeEnabled {
   452  		mi := &file_google_storage_v2_storage_proto_msgTypes[3]
   453  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   454  		ms.StoreMessageInfo(mi)
   455  	}
   456  }
   457  
   458  func (x *ListBucketsRequest) String() string {
   459  	return protoimpl.X.MessageStringOf(x)
   460  }
   461  
   462  func (*ListBucketsRequest) ProtoMessage() {}
   463  
   464  func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message {
   465  	mi := &file_google_storage_v2_storage_proto_msgTypes[3]
   466  	if protoimpl.UnsafeEnabled && x != nil {
   467  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   468  		if ms.LoadMessageInfo() == nil {
   469  			ms.StoreMessageInfo(mi)
   470  		}
   471  		return ms
   472  	}
   473  	return mi.MessageOf(x)
   474  }
   475  
   476  // Deprecated: Use ListBucketsRequest.ProtoReflect.Descriptor instead.
   477  func (*ListBucketsRequest) Descriptor() ([]byte, []int) {
   478  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{3}
   479  }
   480  
   481  func (x *ListBucketsRequest) GetParent() string {
   482  	if x != nil {
   483  		return x.Parent
   484  	}
   485  	return ""
   486  }
   487  
   488  func (x *ListBucketsRequest) GetPageSize() int32 {
   489  	if x != nil {
   490  		return x.PageSize
   491  	}
   492  	return 0
   493  }
   494  
   495  func (x *ListBucketsRequest) GetPageToken() string {
   496  	if x != nil {
   497  		return x.PageToken
   498  	}
   499  	return ""
   500  }
   501  
   502  func (x *ListBucketsRequest) GetPrefix() string {
   503  	if x != nil {
   504  		return x.Prefix
   505  	}
   506  	return ""
   507  }
   508  
   509  func (x *ListBucketsRequest) GetReadMask() *fieldmaskpb.FieldMask {
   510  	if x != nil {
   511  		return x.ReadMask
   512  	}
   513  	return nil
   514  }
   515  
   516  // The result of a call to Buckets.ListBuckets
   517  type ListBucketsResponse struct {
   518  	state         protoimpl.MessageState
   519  	sizeCache     protoimpl.SizeCache
   520  	unknownFields protoimpl.UnknownFields
   521  
   522  	// The list of items.
   523  	Buckets []*Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"`
   524  	// The continuation token, used to page through large result sets. Provide
   525  	// this value in a subsequent request to return the next page of results.
   526  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   527  }
   528  
   529  func (x *ListBucketsResponse) Reset() {
   530  	*x = ListBucketsResponse{}
   531  	if protoimpl.UnsafeEnabled {
   532  		mi := &file_google_storage_v2_storage_proto_msgTypes[4]
   533  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   534  		ms.StoreMessageInfo(mi)
   535  	}
   536  }
   537  
   538  func (x *ListBucketsResponse) String() string {
   539  	return protoimpl.X.MessageStringOf(x)
   540  }
   541  
   542  func (*ListBucketsResponse) ProtoMessage() {}
   543  
   544  func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message {
   545  	mi := &file_google_storage_v2_storage_proto_msgTypes[4]
   546  	if protoimpl.UnsafeEnabled && x != nil {
   547  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   548  		if ms.LoadMessageInfo() == nil {
   549  			ms.StoreMessageInfo(mi)
   550  		}
   551  		return ms
   552  	}
   553  	return mi.MessageOf(x)
   554  }
   555  
   556  // Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead.
   557  func (*ListBucketsResponse) Descriptor() ([]byte, []int) {
   558  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{4}
   559  }
   560  
   561  func (x *ListBucketsResponse) GetBuckets() []*Bucket {
   562  	if x != nil {
   563  		return x.Buckets
   564  	}
   565  	return nil
   566  }
   567  
   568  func (x *ListBucketsResponse) GetNextPageToken() string {
   569  	if x != nil {
   570  		return x.NextPageToken
   571  	}
   572  	return ""
   573  }
   574  
   575  // Request message for LockBucketRetentionPolicyRequest.
   576  type LockBucketRetentionPolicyRequest struct {
   577  	state         protoimpl.MessageState
   578  	sizeCache     protoimpl.SizeCache
   579  	unknownFields protoimpl.UnknownFields
   580  
   581  	// Required. Name of a bucket.
   582  	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
   583  	// Makes the operation conditional on whether bucket's current metageneration
   584  	// matches the given value. Must be positive.
   585  	IfMetagenerationMatch int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"`
   586  }
   587  
   588  func (x *LockBucketRetentionPolicyRequest) Reset() {
   589  	*x = LockBucketRetentionPolicyRequest{}
   590  	if protoimpl.UnsafeEnabled {
   591  		mi := &file_google_storage_v2_storage_proto_msgTypes[5]
   592  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   593  		ms.StoreMessageInfo(mi)
   594  	}
   595  }
   596  
   597  func (x *LockBucketRetentionPolicyRequest) String() string {
   598  	return protoimpl.X.MessageStringOf(x)
   599  }
   600  
   601  func (*LockBucketRetentionPolicyRequest) ProtoMessage() {}
   602  
   603  func (x *LockBucketRetentionPolicyRequest) ProtoReflect() protoreflect.Message {
   604  	mi := &file_google_storage_v2_storage_proto_msgTypes[5]
   605  	if protoimpl.UnsafeEnabled && x != nil {
   606  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   607  		if ms.LoadMessageInfo() == nil {
   608  			ms.StoreMessageInfo(mi)
   609  		}
   610  		return ms
   611  	}
   612  	return mi.MessageOf(x)
   613  }
   614  
   615  // Deprecated: Use LockBucketRetentionPolicyRequest.ProtoReflect.Descriptor instead.
   616  func (*LockBucketRetentionPolicyRequest) Descriptor() ([]byte, []int) {
   617  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{5}
   618  }
   619  
   620  func (x *LockBucketRetentionPolicyRequest) GetBucket() string {
   621  	if x != nil {
   622  		return x.Bucket
   623  	}
   624  	return ""
   625  }
   626  
   627  func (x *LockBucketRetentionPolicyRequest) GetIfMetagenerationMatch() int64 {
   628  	if x != nil {
   629  		return x.IfMetagenerationMatch
   630  	}
   631  	return 0
   632  }
   633  
   634  // Request for UpdateBucket method.
   635  type UpdateBucketRequest struct {
   636  	state         protoimpl.MessageState
   637  	sizeCache     protoimpl.SizeCache
   638  	unknownFields protoimpl.UnknownFields
   639  
   640  	// The bucket to update.
   641  	// The bucket's `name` field will be used to identify the bucket.
   642  	Bucket *Bucket `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
   643  	// If set, will only modify the bucket if its metageneration matches this
   644  	// value.
   645  	IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
   646  	// If set, will only modify the bucket if its metageneration does not match
   647  	// this value.
   648  	IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
   649  	// Apply a predefined set of access controls to this bucket.
   650  	// Valid values are "authenticatedRead", "private", "projectPrivate",
   651  	// "publicRead", or "publicReadWrite".
   652  	PredefinedAcl string `protobuf:"bytes,8,opt,name=predefined_acl,json=predefinedAcl,proto3" json:"predefined_acl,omitempty"`
   653  	// Apply a predefined set of default object access controls to this bucket.
   654  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
   655  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
   656  	PredefinedDefaultObjectAcl string `protobuf:"bytes,9,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3" json:"predefined_default_object_acl,omitempty"`
   657  	// List of fields to be updated.
   658  	//
   659  	// To specify ALL fields, equivalent to the JSON API's "update" function,
   660  	// specify a single field with the value `*`. Note: not recommended. If a new
   661  	// field is introduced at a later time, an older client updating with the `*`
   662  	// may accidentally reset the new field's value.
   663  	//
   664  	// Not specifying any fields is an error.
   665  	// Not specifying a field while setting that field to a non-default value is
   666  	// an error.
   667  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   668  }
   669  
   670  func (x *UpdateBucketRequest) Reset() {
   671  	*x = UpdateBucketRequest{}
   672  	if protoimpl.UnsafeEnabled {
   673  		mi := &file_google_storage_v2_storage_proto_msgTypes[6]
   674  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   675  		ms.StoreMessageInfo(mi)
   676  	}
   677  }
   678  
   679  func (x *UpdateBucketRequest) String() string {
   680  	return protoimpl.X.MessageStringOf(x)
   681  }
   682  
   683  func (*UpdateBucketRequest) ProtoMessage() {}
   684  
   685  func (x *UpdateBucketRequest) ProtoReflect() protoreflect.Message {
   686  	mi := &file_google_storage_v2_storage_proto_msgTypes[6]
   687  	if protoimpl.UnsafeEnabled && x != nil {
   688  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   689  		if ms.LoadMessageInfo() == nil {
   690  			ms.StoreMessageInfo(mi)
   691  		}
   692  		return ms
   693  	}
   694  	return mi.MessageOf(x)
   695  }
   696  
   697  // Deprecated: Use UpdateBucketRequest.ProtoReflect.Descriptor instead.
   698  func (*UpdateBucketRequest) Descriptor() ([]byte, []int) {
   699  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{6}
   700  }
   701  
   702  func (x *UpdateBucketRequest) GetBucket() *Bucket {
   703  	if x != nil {
   704  		return x.Bucket
   705  	}
   706  	return nil
   707  }
   708  
   709  func (x *UpdateBucketRequest) GetIfMetagenerationMatch() int64 {
   710  	if x != nil && x.IfMetagenerationMatch != nil {
   711  		return *x.IfMetagenerationMatch
   712  	}
   713  	return 0
   714  }
   715  
   716  func (x *UpdateBucketRequest) GetIfMetagenerationNotMatch() int64 {
   717  	if x != nil && x.IfMetagenerationNotMatch != nil {
   718  		return *x.IfMetagenerationNotMatch
   719  	}
   720  	return 0
   721  }
   722  
   723  func (x *UpdateBucketRequest) GetPredefinedAcl() string {
   724  	if x != nil {
   725  		return x.PredefinedAcl
   726  	}
   727  	return ""
   728  }
   729  
   730  func (x *UpdateBucketRequest) GetPredefinedDefaultObjectAcl() string {
   731  	if x != nil {
   732  		return x.PredefinedDefaultObjectAcl
   733  	}
   734  	return ""
   735  }
   736  
   737  func (x *UpdateBucketRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   738  	if x != nil {
   739  		return x.UpdateMask
   740  	}
   741  	return nil
   742  }
   743  
   744  // Request message for DeleteNotification.
   745  type DeleteNotificationRequest struct {
   746  	state         protoimpl.MessageState
   747  	sizeCache     protoimpl.SizeCache
   748  	unknownFields protoimpl.UnknownFields
   749  
   750  	// Required. The parent bucket of the notification.
   751  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   752  }
   753  
   754  func (x *DeleteNotificationRequest) Reset() {
   755  	*x = DeleteNotificationRequest{}
   756  	if protoimpl.UnsafeEnabled {
   757  		mi := &file_google_storage_v2_storage_proto_msgTypes[7]
   758  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   759  		ms.StoreMessageInfo(mi)
   760  	}
   761  }
   762  
   763  func (x *DeleteNotificationRequest) String() string {
   764  	return protoimpl.X.MessageStringOf(x)
   765  }
   766  
   767  func (*DeleteNotificationRequest) ProtoMessage() {}
   768  
   769  func (x *DeleteNotificationRequest) ProtoReflect() protoreflect.Message {
   770  	mi := &file_google_storage_v2_storage_proto_msgTypes[7]
   771  	if protoimpl.UnsafeEnabled && x != nil {
   772  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   773  		if ms.LoadMessageInfo() == nil {
   774  			ms.StoreMessageInfo(mi)
   775  		}
   776  		return ms
   777  	}
   778  	return mi.MessageOf(x)
   779  }
   780  
   781  // Deprecated: Use DeleteNotificationRequest.ProtoReflect.Descriptor instead.
   782  func (*DeleteNotificationRequest) Descriptor() ([]byte, []int) {
   783  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{7}
   784  }
   785  
   786  func (x *DeleteNotificationRequest) GetName() string {
   787  	if x != nil {
   788  		return x.Name
   789  	}
   790  	return ""
   791  }
   792  
   793  // Request message for GetNotification.
   794  type GetNotificationRequest struct {
   795  	state         protoimpl.MessageState
   796  	sizeCache     protoimpl.SizeCache
   797  	unknownFields protoimpl.UnknownFields
   798  
   799  	// Required. The parent bucket of the notification.
   800  	// Format:
   801  	// `projects/{project}/buckets/{bucket}/notificationConfigs/{notification}`
   802  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   803  }
   804  
   805  func (x *GetNotificationRequest) Reset() {
   806  	*x = GetNotificationRequest{}
   807  	if protoimpl.UnsafeEnabled {
   808  		mi := &file_google_storage_v2_storage_proto_msgTypes[8]
   809  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   810  		ms.StoreMessageInfo(mi)
   811  	}
   812  }
   813  
   814  func (x *GetNotificationRequest) String() string {
   815  	return protoimpl.X.MessageStringOf(x)
   816  }
   817  
   818  func (*GetNotificationRequest) ProtoMessage() {}
   819  
   820  func (x *GetNotificationRequest) ProtoReflect() protoreflect.Message {
   821  	mi := &file_google_storage_v2_storage_proto_msgTypes[8]
   822  	if protoimpl.UnsafeEnabled && x != nil {
   823  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   824  		if ms.LoadMessageInfo() == nil {
   825  			ms.StoreMessageInfo(mi)
   826  		}
   827  		return ms
   828  	}
   829  	return mi.MessageOf(x)
   830  }
   831  
   832  // Deprecated: Use GetNotificationRequest.ProtoReflect.Descriptor instead.
   833  func (*GetNotificationRequest) Descriptor() ([]byte, []int) {
   834  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{8}
   835  }
   836  
   837  func (x *GetNotificationRequest) GetName() string {
   838  	if x != nil {
   839  		return x.Name
   840  	}
   841  	return ""
   842  }
   843  
   844  // Request message for CreateNotification.
   845  type CreateNotificationRequest struct {
   846  	state         protoimpl.MessageState
   847  	sizeCache     protoimpl.SizeCache
   848  	unknownFields protoimpl.UnknownFields
   849  
   850  	// Required. The bucket to which this notification belongs.
   851  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   852  	// Required. Properties of the notification to be inserted.
   853  	Notification *Notification `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
   854  }
   855  
   856  func (x *CreateNotificationRequest) Reset() {
   857  	*x = CreateNotificationRequest{}
   858  	if protoimpl.UnsafeEnabled {
   859  		mi := &file_google_storage_v2_storage_proto_msgTypes[9]
   860  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   861  		ms.StoreMessageInfo(mi)
   862  	}
   863  }
   864  
   865  func (x *CreateNotificationRequest) String() string {
   866  	return protoimpl.X.MessageStringOf(x)
   867  }
   868  
   869  func (*CreateNotificationRequest) ProtoMessage() {}
   870  
   871  func (x *CreateNotificationRequest) ProtoReflect() protoreflect.Message {
   872  	mi := &file_google_storage_v2_storage_proto_msgTypes[9]
   873  	if protoimpl.UnsafeEnabled && x != nil {
   874  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   875  		if ms.LoadMessageInfo() == nil {
   876  			ms.StoreMessageInfo(mi)
   877  		}
   878  		return ms
   879  	}
   880  	return mi.MessageOf(x)
   881  }
   882  
   883  // Deprecated: Use CreateNotificationRequest.ProtoReflect.Descriptor instead.
   884  func (*CreateNotificationRequest) Descriptor() ([]byte, []int) {
   885  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{9}
   886  }
   887  
   888  func (x *CreateNotificationRequest) GetParent() string {
   889  	if x != nil {
   890  		return x.Parent
   891  	}
   892  	return ""
   893  }
   894  
   895  func (x *CreateNotificationRequest) GetNotification() *Notification {
   896  	if x != nil {
   897  		return x.Notification
   898  	}
   899  	return nil
   900  }
   901  
   902  // Request message for ListNotifications.
   903  type ListNotificationsRequest struct {
   904  	state         protoimpl.MessageState
   905  	sizeCache     protoimpl.SizeCache
   906  	unknownFields protoimpl.UnknownFields
   907  
   908  	// Required. Name of a Google Cloud Storage bucket.
   909  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   910  	// The maximum number of notifications to return. The service may return fewer
   911  	// than this value.
   912  	// The default value is 100. Specifying a value above 100 will result in a
   913  	// page_size of 100.
   914  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   915  	// A page token, received from a previous `ListNotifications` call.
   916  	// Provide this to retrieve the subsequent page.
   917  	//
   918  	// When paginating, all other parameters provided to `ListNotifications` must
   919  	// match the call that provided the page token.
   920  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   921  }
   922  
   923  func (x *ListNotificationsRequest) Reset() {
   924  	*x = ListNotificationsRequest{}
   925  	if protoimpl.UnsafeEnabled {
   926  		mi := &file_google_storage_v2_storage_proto_msgTypes[10]
   927  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   928  		ms.StoreMessageInfo(mi)
   929  	}
   930  }
   931  
   932  func (x *ListNotificationsRequest) String() string {
   933  	return protoimpl.X.MessageStringOf(x)
   934  }
   935  
   936  func (*ListNotificationsRequest) ProtoMessage() {}
   937  
   938  func (x *ListNotificationsRequest) ProtoReflect() protoreflect.Message {
   939  	mi := &file_google_storage_v2_storage_proto_msgTypes[10]
   940  	if protoimpl.UnsafeEnabled && x != nil {
   941  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   942  		if ms.LoadMessageInfo() == nil {
   943  			ms.StoreMessageInfo(mi)
   944  		}
   945  		return ms
   946  	}
   947  	return mi.MessageOf(x)
   948  }
   949  
   950  // Deprecated: Use ListNotificationsRequest.ProtoReflect.Descriptor instead.
   951  func (*ListNotificationsRequest) Descriptor() ([]byte, []int) {
   952  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{10}
   953  }
   954  
   955  func (x *ListNotificationsRequest) GetParent() string {
   956  	if x != nil {
   957  		return x.Parent
   958  	}
   959  	return ""
   960  }
   961  
   962  func (x *ListNotificationsRequest) GetPageSize() int32 {
   963  	if x != nil {
   964  		return x.PageSize
   965  	}
   966  	return 0
   967  }
   968  
   969  func (x *ListNotificationsRequest) GetPageToken() string {
   970  	if x != nil {
   971  		return x.PageToken
   972  	}
   973  	return ""
   974  }
   975  
   976  // The result of a call to Notifications.ListNotifications
   977  type ListNotificationsResponse struct {
   978  	state         protoimpl.MessageState
   979  	sizeCache     protoimpl.SizeCache
   980  	unknownFields protoimpl.UnknownFields
   981  
   982  	// The list of items.
   983  	Notifications []*Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"`
   984  	// A token, which can be sent as `page_token` to retrieve the next page.
   985  	// If this field is omitted, there are no subsequent pages.
   986  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   987  }
   988  
   989  func (x *ListNotificationsResponse) Reset() {
   990  	*x = ListNotificationsResponse{}
   991  	if protoimpl.UnsafeEnabled {
   992  		mi := &file_google_storage_v2_storage_proto_msgTypes[11]
   993  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   994  		ms.StoreMessageInfo(mi)
   995  	}
   996  }
   997  
   998  func (x *ListNotificationsResponse) String() string {
   999  	return protoimpl.X.MessageStringOf(x)
  1000  }
  1001  
  1002  func (*ListNotificationsResponse) ProtoMessage() {}
  1003  
  1004  func (x *ListNotificationsResponse) ProtoReflect() protoreflect.Message {
  1005  	mi := &file_google_storage_v2_storage_proto_msgTypes[11]
  1006  	if protoimpl.UnsafeEnabled && x != nil {
  1007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1008  		if ms.LoadMessageInfo() == nil {
  1009  			ms.StoreMessageInfo(mi)
  1010  		}
  1011  		return ms
  1012  	}
  1013  	return mi.MessageOf(x)
  1014  }
  1015  
  1016  // Deprecated: Use ListNotificationsResponse.ProtoReflect.Descriptor instead.
  1017  func (*ListNotificationsResponse) Descriptor() ([]byte, []int) {
  1018  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{11}
  1019  }
  1020  
  1021  func (x *ListNotificationsResponse) GetNotifications() []*Notification {
  1022  	if x != nil {
  1023  		return x.Notifications
  1024  	}
  1025  	return nil
  1026  }
  1027  
  1028  func (x *ListNotificationsResponse) GetNextPageToken() string {
  1029  	if x != nil {
  1030  		return x.NextPageToken
  1031  	}
  1032  	return ""
  1033  }
  1034  
  1035  // Request message for ComposeObject.
  1036  type ComposeObjectRequest struct {
  1037  	state         protoimpl.MessageState
  1038  	sizeCache     protoimpl.SizeCache
  1039  	unknownFields protoimpl.UnknownFields
  1040  
  1041  	// Required. Properties of the resulting object.
  1042  	Destination *Object `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
  1043  	// The list of source objects that will be concatenated into a single object.
  1044  	SourceObjects []*ComposeObjectRequest_SourceObject `protobuf:"bytes,2,rep,name=source_objects,json=sourceObjects,proto3" json:"source_objects,omitempty"`
  1045  	// Apply a predefined set of access controls to the destination object.
  1046  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
  1047  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
  1048  	DestinationPredefinedAcl string `protobuf:"bytes,9,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3" json:"destination_predefined_acl,omitempty"`
  1049  	// Makes the operation conditional on whether the object's current generation
  1050  	// matches the given value. Setting to 0 makes the operation succeed only if
  1051  	// there are no live versions of the object.
  1052  	IfGenerationMatch *int64 `protobuf:"varint,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  1053  	// Makes the operation conditional on whether the object's current
  1054  	// metageneration matches the given value.
  1055  	IfMetagenerationMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  1056  	// Resource name of the Cloud KMS key, of the form
  1057  	// `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`,
  1058  	// that will be used to encrypt the object. Overrides the object
  1059  	// metadata's `kms_key_name` value, if any.
  1060  	KmsKey string `protobuf:"bytes,6,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
  1061  	// A set of parameters common to Storage API requests concerning an object.
  1062  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,7,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  1063  }
  1064  
  1065  func (x *ComposeObjectRequest) Reset() {
  1066  	*x = ComposeObjectRequest{}
  1067  	if protoimpl.UnsafeEnabled {
  1068  		mi := &file_google_storage_v2_storage_proto_msgTypes[12]
  1069  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1070  		ms.StoreMessageInfo(mi)
  1071  	}
  1072  }
  1073  
  1074  func (x *ComposeObjectRequest) String() string {
  1075  	return protoimpl.X.MessageStringOf(x)
  1076  }
  1077  
  1078  func (*ComposeObjectRequest) ProtoMessage() {}
  1079  
  1080  func (x *ComposeObjectRequest) ProtoReflect() protoreflect.Message {
  1081  	mi := &file_google_storage_v2_storage_proto_msgTypes[12]
  1082  	if protoimpl.UnsafeEnabled && x != nil {
  1083  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1084  		if ms.LoadMessageInfo() == nil {
  1085  			ms.StoreMessageInfo(mi)
  1086  		}
  1087  		return ms
  1088  	}
  1089  	return mi.MessageOf(x)
  1090  }
  1091  
  1092  // Deprecated: Use ComposeObjectRequest.ProtoReflect.Descriptor instead.
  1093  func (*ComposeObjectRequest) Descriptor() ([]byte, []int) {
  1094  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12}
  1095  }
  1096  
  1097  func (x *ComposeObjectRequest) GetDestination() *Object {
  1098  	if x != nil {
  1099  		return x.Destination
  1100  	}
  1101  	return nil
  1102  }
  1103  
  1104  func (x *ComposeObjectRequest) GetSourceObjects() []*ComposeObjectRequest_SourceObject {
  1105  	if x != nil {
  1106  		return x.SourceObjects
  1107  	}
  1108  	return nil
  1109  }
  1110  
  1111  func (x *ComposeObjectRequest) GetDestinationPredefinedAcl() string {
  1112  	if x != nil {
  1113  		return x.DestinationPredefinedAcl
  1114  	}
  1115  	return ""
  1116  }
  1117  
  1118  func (x *ComposeObjectRequest) GetIfGenerationMatch() int64 {
  1119  	if x != nil && x.IfGenerationMatch != nil {
  1120  		return *x.IfGenerationMatch
  1121  	}
  1122  	return 0
  1123  }
  1124  
  1125  func (x *ComposeObjectRequest) GetIfMetagenerationMatch() int64 {
  1126  	if x != nil && x.IfMetagenerationMatch != nil {
  1127  		return *x.IfMetagenerationMatch
  1128  	}
  1129  	return 0
  1130  }
  1131  
  1132  func (x *ComposeObjectRequest) GetKmsKey() string {
  1133  	if x != nil {
  1134  		return x.KmsKey
  1135  	}
  1136  	return ""
  1137  }
  1138  
  1139  func (x *ComposeObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  1140  	if x != nil {
  1141  		return x.CommonObjectRequestParams
  1142  	}
  1143  	return nil
  1144  }
  1145  
  1146  // Message for deleting an object.
  1147  // Either `bucket` and `object` *or* `upload_id` **must** be set (but not both).
  1148  type DeleteObjectRequest struct {
  1149  	state         protoimpl.MessageState
  1150  	sizeCache     protoimpl.SizeCache
  1151  	unknownFields protoimpl.UnknownFields
  1152  
  1153  	// Required. Name of the bucket in which the object resides.
  1154  	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
  1155  	// Required. The name of the object to delete (when not using a resumable write).
  1156  	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
  1157  	// The resumable upload_id of the object to delete (when deleting an
  1158  	// in-progress resumable write). This should be copied from the `upload_id`
  1159  	// field of `StartResumableWriteResponse`.
  1160  	UploadId string `protobuf:"bytes,3,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
  1161  	// If present, permanently deletes a specific revision of this object (as
  1162  	// opposed to the latest version, the default).
  1163  	Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"`
  1164  	// Makes the operation conditional on whether the object's current generation
  1165  	// matches the given value. Setting to 0 makes the operation succeed only if
  1166  	// there are no live versions of the object.
  1167  	IfGenerationMatch *int64 `protobuf:"varint,5,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  1168  	// Makes the operation conditional on whether the object's live generation
  1169  	// does not match the given value. If no live object exists, the precondition
  1170  	// fails. Setting to 0 makes the operation succeed only if there is a live
  1171  	// version of the object.
  1172  	IfGenerationNotMatch *int64 `protobuf:"varint,6,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  1173  	// Makes the operation conditional on whether the object's current
  1174  	// metageneration matches the given value.
  1175  	IfMetagenerationMatch *int64 `protobuf:"varint,7,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  1176  	// Makes the operation conditional on whether the object's current
  1177  	// metageneration does not match the given value.
  1178  	IfMetagenerationNotMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  1179  	// A set of parameters common to Storage API requests concerning an object.
  1180  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  1181  }
  1182  
  1183  func (x *DeleteObjectRequest) Reset() {
  1184  	*x = DeleteObjectRequest{}
  1185  	if protoimpl.UnsafeEnabled {
  1186  		mi := &file_google_storage_v2_storage_proto_msgTypes[13]
  1187  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1188  		ms.StoreMessageInfo(mi)
  1189  	}
  1190  }
  1191  
  1192  func (x *DeleteObjectRequest) String() string {
  1193  	return protoimpl.X.MessageStringOf(x)
  1194  }
  1195  
  1196  func (*DeleteObjectRequest) ProtoMessage() {}
  1197  
  1198  func (x *DeleteObjectRequest) ProtoReflect() protoreflect.Message {
  1199  	mi := &file_google_storage_v2_storage_proto_msgTypes[13]
  1200  	if protoimpl.UnsafeEnabled && x != nil {
  1201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1202  		if ms.LoadMessageInfo() == nil {
  1203  			ms.StoreMessageInfo(mi)
  1204  		}
  1205  		return ms
  1206  	}
  1207  	return mi.MessageOf(x)
  1208  }
  1209  
  1210  // Deprecated: Use DeleteObjectRequest.ProtoReflect.Descriptor instead.
  1211  func (*DeleteObjectRequest) Descriptor() ([]byte, []int) {
  1212  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{13}
  1213  }
  1214  
  1215  func (x *DeleteObjectRequest) GetBucket() string {
  1216  	if x != nil {
  1217  		return x.Bucket
  1218  	}
  1219  	return ""
  1220  }
  1221  
  1222  func (x *DeleteObjectRequest) GetObject() string {
  1223  	if x != nil {
  1224  		return x.Object
  1225  	}
  1226  	return ""
  1227  }
  1228  
  1229  func (x *DeleteObjectRequest) GetUploadId() string {
  1230  	if x != nil {
  1231  		return x.UploadId
  1232  	}
  1233  	return ""
  1234  }
  1235  
  1236  func (x *DeleteObjectRequest) GetGeneration() int64 {
  1237  	if x != nil {
  1238  		return x.Generation
  1239  	}
  1240  	return 0
  1241  }
  1242  
  1243  func (x *DeleteObjectRequest) GetIfGenerationMatch() int64 {
  1244  	if x != nil && x.IfGenerationMatch != nil {
  1245  		return *x.IfGenerationMatch
  1246  	}
  1247  	return 0
  1248  }
  1249  
  1250  func (x *DeleteObjectRequest) GetIfGenerationNotMatch() int64 {
  1251  	if x != nil && x.IfGenerationNotMatch != nil {
  1252  		return *x.IfGenerationNotMatch
  1253  	}
  1254  	return 0
  1255  }
  1256  
  1257  func (x *DeleteObjectRequest) GetIfMetagenerationMatch() int64 {
  1258  	if x != nil && x.IfMetagenerationMatch != nil {
  1259  		return *x.IfMetagenerationMatch
  1260  	}
  1261  	return 0
  1262  }
  1263  
  1264  func (x *DeleteObjectRequest) GetIfMetagenerationNotMatch() int64 {
  1265  	if x != nil && x.IfMetagenerationNotMatch != nil {
  1266  		return *x.IfMetagenerationNotMatch
  1267  	}
  1268  	return 0
  1269  }
  1270  
  1271  func (x *DeleteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  1272  	if x != nil {
  1273  		return x.CommonObjectRequestParams
  1274  	}
  1275  	return nil
  1276  }
  1277  
  1278  // Request message for ReadObject.
  1279  type ReadObjectRequest struct {
  1280  	state         protoimpl.MessageState
  1281  	sizeCache     protoimpl.SizeCache
  1282  	unknownFields protoimpl.UnknownFields
  1283  
  1284  	// The name of the bucket containing the object to read.
  1285  	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
  1286  	// The name of the object to read.
  1287  	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
  1288  	// If present, selects a specific revision of this object (as opposed
  1289  	// to the latest version, the default).
  1290  	Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
  1291  	// The offset for the first byte to return in the read, relative to the start
  1292  	// of the object.
  1293  	//
  1294  	// A negative `read_offset` value will be interpreted as the number of bytes
  1295  	// back from the end of the object to be returned. For example, if an object's
  1296  	// length is 15 bytes, a ReadObjectRequest with `read_offset` = -5 and
  1297  	// `read_limit` = 3 would return bytes 10 through 12 of the object. Requesting
  1298  	// a negative offset with magnitude larger than the size of the object will
  1299  	// return the entire object.
  1300  	ReadOffset int64 `protobuf:"varint,4,opt,name=read_offset,json=readOffset,proto3" json:"read_offset,omitempty"`
  1301  	// The maximum number of `data` bytes the server is allowed to return in the
  1302  	// sum of all `Object` messages. A `read_limit` of zero indicates that there
  1303  	// is no limit, and a negative `read_limit` will cause an error.
  1304  	//
  1305  	// If the stream returns fewer bytes than allowed by the `read_limit` and no
  1306  	// error occurred, the stream includes all data from the `read_offset` to the
  1307  	// end of the resource.
  1308  	ReadLimit int64 `protobuf:"varint,5,opt,name=read_limit,json=readLimit,proto3" json:"read_limit,omitempty"`
  1309  	// Makes the operation conditional on whether the object's current generation
  1310  	// matches the given value. Setting to 0 makes the operation succeed only if
  1311  	// there are no live versions of the object.
  1312  	IfGenerationMatch *int64 `protobuf:"varint,6,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  1313  	// Makes the operation conditional on whether the object's live generation
  1314  	// does not match the given value. If no live object exists, the precondition
  1315  	// fails. Setting to 0 makes the operation succeed only if there is a live
  1316  	// version of the object.
  1317  	IfGenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  1318  	// Makes the operation conditional on whether the object's current
  1319  	// metageneration matches the given value.
  1320  	IfMetagenerationMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  1321  	// Makes the operation conditional on whether the object's current
  1322  	// metageneration does not match the given value.
  1323  	IfMetagenerationNotMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  1324  	// A set of parameters common to Storage API requests concerning an object.
  1325  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  1326  	// Mask specifying which fields to read.
  1327  	// The checksummed_data field and its children will always be present.
  1328  	// If no mask is specified, will default to all fields except metadata.owner
  1329  	// and metadata.acl.
  1330  	// * may be used to mean "all fields".
  1331  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,12,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
  1332  }
  1333  
  1334  func (x *ReadObjectRequest) Reset() {
  1335  	*x = ReadObjectRequest{}
  1336  	if protoimpl.UnsafeEnabled {
  1337  		mi := &file_google_storage_v2_storage_proto_msgTypes[14]
  1338  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1339  		ms.StoreMessageInfo(mi)
  1340  	}
  1341  }
  1342  
  1343  func (x *ReadObjectRequest) String() string {
  1344  	return protoimpl.X.MessageStringOf(x)
  1345  }
  1346  
  1347  func (*ReadObjectRequest) ProtoMessage() {}
  1348  
  1349  func (x *ReadObjectRequest) ProtoReflect() protoreflect.Message {
  1350  	mi := &file_google_storage_v2_storage_proto_msgTypes[14]
  1351  	if protoimpl.UnsafeEnabled && x != nil {
  1352  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1353  		if ms.LoadMessageInfo() == nil {
  1354  			ms.StoreMessageInfo(mi)
  1355  		}
  1356  		return ms
  1357  	}
  1358  	return mi.MessageOf(x)
  1359  }
  1360  
  1361  // Deprecated: Use ReadObjectRequest.ProtoReflect.Descriptor instead.
  1362  func (*ReadObjectRequest) Descriptor() ([]byte, []int) {
  1363  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{14}
  1364  }
  1365  
  1366  func (x *ReadObjectRequest) GetBucket() string {
  1367  	if x != nil {
  1368  		return x.Bucket
  1369  	}
  1370  	return ""
  1371  }
  1372  
  1373  func (x *ReadObjectRequest) GetObject() string {
  1374  	if x != nil {
  1375  		return x.Object
  1376  	}
  1377  	return ""
  1378  }
  1379  
  1380  func (x *ReadObjectRequest) GetGeneration() int64 {
  1381  	if x != nil {
  1382  		return x.Generation
  1383  	}
  1384  	return 0
  1385  }
  1386  
  1387  func (x *ReadObjectRequest) GetReadOffset() int64 {
  1388  	if x != nil {
  1389  		return x.ReadOffset
  1390  	}
  1391  	return 0
  1392  }
  1393  
  1394  func (x *ReadObjectRequest) GetReadLimit() int64 {
  1395  	if x != nil {
  1396  		return x.ReadLimit
  1397  	}
  1398  	return 0
  1399  }
  1400  
  1401  func (x *ReadObjectRequest) GetIfGenerationMatch() int64 {
  1402  	if x != nil && x.IfGenerationMatch != nil {
  1403  		return *x.IfGenerationMatch
  1404  	}
  1405  	return 0
  1406  }
  1407  
  1408  func (x *ReadObjectRequest) GetIfGenerationNotMatch() int64 {
  1409  	if x != nil && x.IfGenerationNotMatch != nil {
  1410  		return *x.IfGenerationNotMatch
  1411  	}
  1412  	return 0
  1413  }
  1414  
  1415  func (x *ReadObjectRequest) GetIfMetagenerationMatch() int64 {
  1416  	if x != nil && x.IfMetagenerationMatch != nil {
  1417  		return *x.IfMetagenerationMatch
  1418  	}
  1419  	return 0
  1420  }
  1421  
  1422  func (x *ReadObjectRequest) GetIfMetagenerationNotMatch() int64 {
  1423  	if x != nil && x.IfMetagenerationNotMatch != nil {
  1424  		return *x.IfMetagenerationNotMatch
  1425  	}
  1426  	return 0
  1427  }
  1428  
  1429  func (x *ReadObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  1430  	if x != nil {
  1431  		return x.CommonObjectRequestParams
  1432  	}
  1433  	return nil
  1434  }
  1435  
  1436  func (x *ReadObjectRequest) GetReadMask() *fieldmaskpb.FieldMask {
  1437  	if x != nil {
  1438  		return x.ReadMask
  1439  	}
  1440  	return nil
  1441  }
  1442  
  1443  // Request message for GetObject.
  1444  type GetObjectRequest struct {
  1445  	state         protoimpl.MessageState
  1446  	sizeCache     protoimpl.SizeCache
  1447  	unknownFields protoimpl.UnknownFields
  1448  
  1449  	// Required. Name of the bucket in which the object resides.
  1450  	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
  1451  	// Required. Name of the object.
  1452  	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
  1453  	// If present, selects a specific revision of this object (as opposed to the
  1454  	// latest version, the default).
  1455  	Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
  1456  	// Makes the operation conditional on whether the object's current generation
  1457  	// matches the given value. Setting to 0 makes the operation succeed only if
  1458  	// there are no live versions of the object.
  1459  	IfGenerationMatch *int64 `protobuf:"varint,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  1460  	// Makes the operation conditional on whether the object's live generation
  1461  	// does not match the given value. If no live object exists, the precondition
  1462  	// fails. Setting to 0 makes the operation succeed only if there is a live
  1463  	// version of the object.
  1464  	IfGenerationNotMatch *int64 `protobuf:"varint,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  1465  	// Makes the operation conditional on whether the object's current
  1466  	// metageneration matches the given value.
  1467  	IfMetagenerationMatch *int64 `protobuf:"varint,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  1468  	// Makes the operation conditional on whether the object's current
  1469  	// metageneration does not match the given value.
  1470  	IfMetagenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  1471  	// A set of parameters common to Storage API requests concerning an object.
  1472  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  1473  	// Mask specifying which fields to read.
  1474  	// If no mask is specified, will default to all fields except metadata.acl and
  1475  	// metadata.owner.
  1476  	// * may be used to mean "all fields".
  1477  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,10,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
  1478  }
  1479  
  1480  func (x *GetObjectRequest) Reset() {
  1481  	*x = GetObjectRequest{}
  1482  	if protoimpl.UnsafeEnabled {
  1483  		mi := &file_google_storage_v2_storage_proto_msgTypes[15]
  1484  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1485  		ms.StoreMessageInfo(mi)
  1486  	}
  1487  }
  1488  
  1489  func (x *GetObjectRequest) String() string {
  1490  	return protoimpl.X.MessageStringOf(x)
  1491  }
  1492  
  1493  func (*GetObjectRequest) ProtoMessage() {}
  1494  
  1495  func (x *GetObjectRequest) ProtoReflect() protoreflect.Message {
  1496  	mi := &file_google_storage_v2_storage_proto_msgTypes[15]
  1497  	if protoimpl.UnsafeEnabled && x != nil {
  1498  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1499  		if ms.LoadMessageInfo() == nil {
  1500  			ms.StoreMessageInfo(mi)
  1501  		}
  1502  		return ms
  1503  	}
  1504  	return mi.MessageOf(x)
  1505  }
  1506  
  1507  // Deprecated: Use GetObjectRequest.ProtoReflect.Descriptor instead.
  1508  func (*GetObjectRequest) Descriptor() ([]byte, []int) {
  1509  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{15}
  1510  }
  1511  
  1512  func (x *GetObjectRequest) GetBucket() string {
  1513  	if x != nil {
  1514  		return x.Bucket
  1515  	}
  1516  	return ""
  1517  }
  1518  
  1519  func (x *GetObjectRequest) GetObject() string {
  1520  	if x != nil {
  1521  		return x.Object
  1522  	}
  1523  	return ""
  1524  }
  1525  
  1526  func (x *GetObjectRequest) GetGeneration() int64 {
  1527  	if x != nil {
  1528  		return x.Generation
  1529  	}
  1530  	return 0
  1531  }
  1532  
  1533  func (x *GetObjectRequest) GetIfGenerationMatch() int64 {
  1534  	if x != nil && x.IfGenerationMatch != nil {
  1535  		return *x.IfGenerationMatch
  1536  	}
  1537  	return 0
  1538  }
  1539  
  1540  func (x *GetObjectRequest) GetIfGenerationNotMatch() int64 {
  1541  	if x != nil && x.IfGenerationNotMatch != nil {
  1542  		return *x.IfGenerationNotMatch
  1543  	}
  1544  	return 0
  1545  }
  1546  
  1547  func (x *GetObjectRequest) GetIfMetagenerationMatch() int64 {
  1548  	if x != nil && x.IfMetagenerationMatch != nil {
  1549  		return *x.IfMetagenerationMatch
  1550  	}
  1551  	return 0
  1552  }
  1553  
  1554  func (x *GetObjectRequest) GetIfMetagenerationNotMatch() int64 {
  1555  	if x != nil && x.IfMetagenerationNotMatch != nil {
  1556  		return *x.IfMetagenerationNotMatch
  1557  	}
  1558  	return 0
  1559  }
  1560  
  1561  func (x *GetObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  1562  	if x != nil {
  1563  		return x.CommonObjectRequestParams
  1564  	}
  1565  	return nil
  1566  }
  1567  
  1568  func (x *GetObjectRequest) GetReadMask() *fieldmaskpb.FieldMask {
  1569  	if x != nil {
  1570  		return x.ReadMask
  1571  	}
  1572  	return nil
  1573  }
  1574  
  1575  // Response message for ReadObject.
  1576  type ReadObjectResponse struct {
  1577  	state         protoimpl.MessageState
  1578  	sizeCache     protoimpl.SizeCache
  1579  	unknownFields protoimpl.UnknownFields
  1580  
  1581  	// A portion of the data for the object. The service **may** leave `data`
  1582  	// empty for any given `ReadResponse`. This enables the service to inform the
  1583  	// client that the request is still live while it is running an operation to
  1584  	// generate more data.
  1585  	ChecksummedData *ChecksummedData `protobuf:"bytes,1,opt,name=checksummed_data,json=checksummedData,proto3" json:"checksummed_data,omitempty"`
  1586  	// The checksums of the complete object. The client should compute one of
  1587  	// these checksums over the downloaded object and compare it against the value
  1588  	// provided here.
  1589  	ObjectChecksums *ObjectChecksums `protobuf:"bytes,2,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
  1590  	// If read_offset and or read_limit was specified on the
  1591  	// ReadObjectRequest, ContentRange will be populated on the first
  1592  	// ReadObjectResponse message of the read stream.
  1593  	ContentRange *ContentRange `protobuf:"bytes,3,opt,name=content_range,json=contentRange,proto3" json:"content_range,omitempty"`
  1594  	// Metadata of the object whose media is being returned.
  1595  	// Only populated in the first response in the stream.
  1596  	Metadata *Object `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1597  }
  1598  
  1599  func (x *ReadObjectResponse) Reset() {
  1600  	*x = ReadObjectResponse{}
  1601  	if protoimpl.UnsafeEnabled {
  1602  		mi := &file_google_storage_v2_storage_proto_msgTypes[16]
  1603  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1604  		ms.StoreMessageInfo(mi)
  1605  	}
  1606  }
  1607  
  1608  func (x *ReadObjectResponse) String() string {
  1609  	return protoimpl.X.MessageStringOf(x)
  1610  }
  1611  
  1612  func (*ReadObjectResponse) ProtoMessage() {}
  1613  
  1614  func (x *ReadObjectResponse) ProtoReflect() protoreflect.Message {
  1615  	mi := &file_google_storage_v2_storage_proto_msgTypes[16]
  1616  	if protoimpl.UnsafeEnabled && x != nil {
  1617  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1618  		if ms.LoadMessageInfo() == nil {
  1619  			ms.StoreMessageInfo(mi)
  1620  		}
  1621  		return ms
  1622  	}
  1623  	return mi.MessageOf(x)
  1624  }
  1625  
  1626  // Deprecated: Use ReadObjectResponse.ProtoReflect.Descriptor instead.
  1627  func (*ReadObjectResponse) Descriptor() ([]byte, []int) {
  1628  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{16}
  1629  }
  1630  
  1631  func (x *ReadObjectResponse) GetChecksummedData() *ChecksummedData {
  1632  	if x != nil {
  1633  		return x.ChecksummedData
  1634  	}
  1635  	return nil
  1636  }
  1637  
  1638  func (x *ReadObjectResponse) GetObjectChecksums() *ObjectChecksums {
  1639  	if x != nil {
  1640  		return x.ObjectChecksums
  1641  	}
  1642  	return nil
  1643  }
  1644  
  1645  func (x *ReadObjectResponse) GetContentRange() *ContentRange {
  1646  	if x != nil {
  1647  		return x.ContentRange
  1648  	}
  1649  	return nil
  1650  }
  1651  
  1652  func (x *ReadObjectResponse) GetMetadata() *Object {
  1653  	if x != nil {
  1654  		return x.Metadata
  1655  	}
  1656  	return nil
  1657  }
  1658  
  1659  // Describes an attempt to insert an object, possibly over multiple requests.
  1660  type WriteObjectSpec struct {
  1661  	state         protoimpl.MessageState
  1662  	sizeCache     protoimpl.SizeCache
  1663  	unknownFields protoimpl.UnknownFields
  1664  
  1665  	// Destination object, including its name and its metadata.
  1666  	Resource *Object `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
  1667  	// Apply a predefined set of access controls to this object.
  1668  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
  1669  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
  1670  	PredefinedAcl string `protobuf:"bytes,7,opt,name=predefined_acl,json=predefinedAcl,proto3" json:"predefined_acl,omitempty"`
  1671  	// Makes the operation conditional on whether the object's current
  1672  	// generation matches the given value. Setting to 0 makes the operation
  1673  	// succeed only if there are no live versions of the object.
  1674  	IfGenerationMatch *int64 `protobuf:"varint,3,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  1675  	// Makes the operation conditional on whether the object's live
  1676  	// generation does not match the given value. If no live object exists, the
  1677  	// precondition fails. Setting to 0 makes the operation succeed only if
  1678  	// there is a live version of the object.
  1679  	IfGenerationNotMatch *int64 `protobuf:"varint,4,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  1680  	// Makes the operation conditional on whether the object's current
  1681  	// metageneration matches the given value.
  1682  	IfMetagenerationMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  1683  	// Makes the operation conditional on whether the object's current
  1684  	// metageneration does not match the given value.
  1685  	IfMetagenerationNotMatch *int64 `protobuf:"varint,6,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  1686  }
  1687  
  1688  func (x *WriteObjectSpec) Reset() {
  1689  	*x = WriteObjectSpec{}
  1690  	if protoimpl.UnsafeEnabled {
  1691  		mi := &file_google_storage_v2_storage_proto_msgTypes[17]
  1692  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1693  		ms.StoreMessageInfo(mi)
  1694  	}
  1695  }
  1696  
  1697  func (x *WriteObjectSpec) String() string {
  1698  	return protoimpl.X.MessageStringOf(x)
  1699  }
  1700  
  1701  func (*WriteObjectSpec) ProtoMessage() {}
  1702  
  1703  func (x *WriteObjectSpec) ProtoReflect() protoreflect.Message {
  1704  	mi := &file_google_storage_v2_storage_proto_msgTypes[17]
  1705  	if protoimpl.UnsafeEnabled && x != nil {
  1706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1707  		if ms.LoadMessageInfo() == nil {
  1708  			ms.StoreMessageInfo(mi)
  1709  		}
  1710  		return ms
  1711  	}
  1712  	return mi.MessageOf(x)
  1713  }
  1714  
  1715  // Deprecated: Use WriteObjectSpec.ProtoReflect.Descriptor instead.
  1716  func (*WriteObjectSpec) Descriptor() ([]byte, []int) {
  1717  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{17}
  1718  }
  1719  
  1720  func (x *WriteObjectSpec) GetResource() *Object {
  1721  	if x != nil {
  1722  		return x.Resource
  1723  	}
  1724  	return nil
  1725  }
  1726  
  1727  func (x *WriteObjectSpec) GetPredefinedAcl() string {
  1728  	if x != nil {
  1729  		return x.PredefinedAcl
  1730  	}
  1731  	return ""
  1732  }
  1733  
  1734  func (x *WriteObjectSpec) GetIfGenerationMatch() int64 {
  1735  	if x != nil && x.IfGenerationMatch != nil {
  1736  		return *x.IfGenerationMatch
  1737  	}
  1738  	return 0
  1739  }
  1740  
  1741  func (x *WriteObjectSpec) GetIfGenerationNotMatch() int64 {
  1742  	if x != nil && x.IfGenerationNotMatch != nil {
  1743  		return *x.IfGenerationNotMatch
  1744  	}
  1745  	return 0
  1746  }
  1747  
  1748  func (x *WriteObjectSpec) GetIfMetagenerationMatch() int64 {
  1749  	if x != nil && x.IfMetagenerationMatch != nil {
  1750  		return *x.IfMetagenerationMatch
  1751  	}
  1752  	return 0
  1753  }
  1754  
  1755  func (x *WriteObjectSpec) GetIfMetagenerationNotMatch() int64 {
  1756  	if x != nil && x.IfMetagenerationNotMatch != nil {
  1757  		return *x.IfMetagenerationNotMatch
  1758  	}
  1759  	return 0
  1760  }
  1761  
  1762  // Request message for WriteObject.
  1763  type WriteObjectRequest struct {
  1764  	state         protoimpl.MessageState
  1765  	sizeCache     protoimpl.SizeCache
  1766  	unknownFields protoimpl.UnknownFields
  1767  
  1768  	// The first message of each stream should set one of the following.
  1769  	//
  1770  	// Types that are assignable to FirstMessage:
  1771  	//	*WriteObjectRequest_UploadId
  1772  	//	*WriteObjectRequest_WriteObjectSpec
  1773  	FirstMessage isWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"`
  1774  	// Required. The offset from the beginning of the object at which the data should be
  1775  	// written.
  1776  	//
  1777  	// In the first `WriteObjectRequest` of a `WriteObject()` action, it
  1778  	// indicates the initial offset for the `Write()` call. The value **must** be
  1779  	// equal to the `persisted_size` that a call to `QueryWriteStatus()` would
  1780  	// return (0 if this is the first write to the object).
  1781  	//
  1782  	// On subsequent calls, this value **must** be no larger than the sum of the
  1783  	// first `write_offset` and the sizes of all `data` chunks sent previously on
  1784  	// this stream.
  1785  	//
  1786  	// An incorrect value will cause an error.
  1787  	WriteOffset int64 `protobuf:"varint,3,opt,name=write_offset,json=writeOffset,proto3" json:"write_offset,omitempty"`
  1788  	// A portion of the data for the object.
  1789  	//
  1790  	// Types that are assignable to Data:
  1791  	//	*WriteObjectRequest_ChecksummedData
  1792  	Data isWriteObjectRequest_Data `protobuf_oneof:"data"`
  1793  	// Checksums for the complete object. If the checksums computed by the service
  1794  	// don't match the specifified checksums the call will fail. May only be
  1795  	// provided in the first or last request (either with first_message, or
  1796  	// finish_write set).
  1797  	ObjectChecksums *ObjectChecksums `protobuf:"bytes,6,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
  1798  	// If `true`, this indicates that the write is complete. Sending any
  1799  	// `WriteObjectRequest`s subsequent to one in which `finish_write` is `true`
  1800  	// will cause an error.
  1801  	// For a non-resumable write (where the upload_id was not set in the first
  1802  	// message), it is an error not to set this field in the final message of the
  1803  	// stream.
  1804  	FinishWrite bool `protobuf:"varint,7,opt,name=finish_write,json=finishWrite,proto3" json:"finish_write,omitempty"`
  1805  	// A set of parameters common to Storage API requests concerning an object.
  1806  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  1807  }
  1808  
  1809  func (x *WriteObjectRequest) Reset() {
  1810  	*x = WriteObjectRequest{}
  1811  	if protoimpl.UnsafeEnabled {
  1812  		mi := &file_google_storage_v2_storage_proto_msgTypes[18]
  1813  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1814  		ms.StoreMessageInfo(mi)
  1815  	}
  1816  }
  1817  
  1818  func (x *WriteObjectRequest) String() string {
  1819  	return protoimpl.X.MessageStringOf(x)
  1820  }
  1821  
  1822  func (*WriteObjectRequest) ProtoMessage() {}
  1823  
  1824  func (x *WriteObjectRequest) ProtoReflect() protoreflect.Message {
  1825  	mi := &file_google_storage_v2_storage_proto_msgTypes[18]
  1826  	if protoimpl.UnsafeEnabled && x != nil {
  1827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1828  		if ms.LoadMessageInfo() == nil {
  1829  			ms.StoreMessageInfo(mi)
  1830  		}
  1831  		return ms
  1832  	}
  1833  	return mi.MessageOf(x)
  1834  }
  1835  
  1836  // Deprecated: Use WriteObjectRequest.ProtoReflect.Descriptor instead.
  1837  func (*WriteObjectRequest) Descriptor() ([]byte, []int) {
  1838  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{18}
  1839  }
  1840  
  1841  func (m *WriteObjectRequest) GetFirstMessage() isWriteObjectRequest_FirstMessage {
  1842  	if m != nil {
  1843  		return m.FirstMessage
  1844  	}
  1845  	return nil
  1846  }
  1847  
  1848  func (x *WriteObjectRequest) GetUploadId() string {
  1849  	if x, ok := x.GetFirstMessage().(*WriteObjectRequest_UploadId); ok {
  1850  		return x.UploadId
  1851  	}
  1852  	return ""
  1853  }
  1854  
  1855  func (x *WriteObjectRequest) GetWriteObjectSpec() *WriteObjectSpec {
  1856  	if x, ok := x.GetFirstMessage().(*WriteObjectRequest_WriteObjectSpec); ok {
  1857  		return x.WriteObjectSpec
  1858  	}
  1859  	return nil
  1860  }
  1861  
  1862  func (x *WriteObjectRequest) GetWriteOffset() int64 {
  1863  	if x != nil {
  1864  		return x.WriteOffset
  1865  	}
  1866  	return 0
  1867  }
  1868  
  1869  func (m *WriteObjectRequest) GetData() isWriteObjectRequest_Data {
  1870  	if m != nil {
  1871  		return m.Data
  1872  	}
  1873  	return nil
  1874  }
  1875  
  1876  func (x *WriteObjectRequest) GetChecksummedData() *ChecksummedData {
  1877  	if x, ok := x.GetData().(*WriteObjectRequest_ChecksummedData); ok {
  1878  		return x.ChecksummedData
  1879  	}
  1880  	return nil
  1881  }
  1882  
  1883  func (x *WriteObjectRequest) GetObjectChecksums() *ObjectChecksums {
  1884  	if x != nil {
  1885  		return x.ObjectChecksums
  1886  	}
  1887  	return nil
  1888  }
  1889  
  1890  func (x *WriteObjectRequest) GetFinishWrite() bool {
  1891  	if x != nil {
  1892  		return x.FinishWrite
  1893  	}
  1894  	return false
  1895  }
  1896  
  1897  func (x *WriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  1898  	if x != nil {
  1899  		return x.CommonObjectRequestParams
  1900  	}
  1901  	return nil
  1902  }
  1903  
  1904  type isWriteObjectRequest_FirstMessage interface {
  1905  	isWriteObjectRequest_FirstMessage()
  1906  }
  1907  
  1908  type WriteObjectRequest_UploadId struct {
  1909  	// For resumable uploads. This should be the `upload_id` returned from a
  1910  	// call to `StartResumableWriteResponse`.
  1911  	UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3,oneof"`
  1912  }
  1913  
  1914  type WriteObjectRequest_WriteObjectSpec struct {
  1915  	// For non-resumable uploads. Describes the overall upload, including the
  1916  	// destination bucket and object name, preconditions, etc.
  1917  	WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,2,opt,name=write_object_spec,json=writeObjectSpec,proto3,oneof"`
  1918  }
  1919  
  1920  func (*WriteObjectRequest_UploadId) isWriteObjectRequest_FirstMessage() {}
  1921  
  1922  func (*WriteObjectRequest_WriteObjectSpec) isWriteObjectRequest_FirstMessage() {}
  1923  
  1924  type isWriteObjectRequest_Data interface {
  1925  	isWriteObjectRequest_Data()
  1926  }
  1927  
  1928  type WriteObjectRequest_ChecksummedData struct {
  1929  	// The data to insert. If a crc32c checksum is provided that doesn't match
  1930  	// the checksum computed by the service, the request will fail.
  1931  	ChecksummedData *ChecksummedData `protobuf:"bytes,4,opt,name=checksummed_data,json=checksummedData,proto3,oneof"`
  1932  }
  1933  
  1934  func (*WriteObjectRequest_ChecksummedData) isWriteObjectRequest_Data() {}
  1935  
  1936  // Response message for WriteObject.
  1937  type WriteObjectResponse struct {
  1938  	state         protoimpl.MessageState
  1939  	sizeCache     protoimpl.SizeCache
  1940  	unknownFields protoimpl.UnknownFields
  1941  
  1942  	// The response will set one of the following.
  1943  	//
  1944  	// Types that are assignable to WriteStatus:
  1945  	//	*WriteObjectResponse_PersistedSize
  1946  	//	*WriteObjectResponse_Resource
  1947  	WriteStatus isWriteObjectResponse_WriteStatus `protobuf_oneof:"write_status"`
  1948  }
  1949  
  1950  func (x *WriteObjectResponse) Reset() {
  1951  	*x = WriteObjectResponse{}
  1952  	if protoimpl.UnsafeEnabled {
  1953  		mi := &file_google_storage_v2_storage_proto_msgTypes[19]
  1954  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1955  		ms.StoreMessageInfo(mi)
  1956  	}
  1957  }
  1958  
  1959  func (x *WriteObjectResponse) String() string {
  1960  	return protoimpl.X.MessageStringOf(x)
  1961  }
  1962  
  1963  func (*WriteObjectResponse) ProtoMessage() {}
  1964  
  1965  func (x *WriteObjectResponse) ProtoReflect() protoreflect.Message {
  1966  	mi := &file_google_storage_v2_storage_proto_msgTypes[19]
  1967  	if protoimpl.UnsafeEnabled && x != nil {
  1968  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1969  		if ms.LoadMessageInfo() == nil {
  1970  			ms.StoreMessageInfo(mi)
  1971  		}
  1972  		return ms
  1973  	}
  1974  	return mi.MessageOf(x)
  1975  }
  1976  
  1977  // Deprecated: Use WriteObjectResponse.ProtoReflect.Descriptor instead.
  1978  func (*WriteObjectResponse) Descriptor() ([]byte, []int) {
  1979  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{19}
  1980  }
  1981  
  1982  func (m *WriteObjectResponse) GetWriteStatus() isWriteObjectResponse_WriteStatus {
  1983  	if m != nil {
  1984  		return m.WriteStatus
  1985  	}
  1986  	return nil
  1987  }
  1988  
  1989  func (x *WriteObjectResponse) GetPersistedSize() int64 {
  1990  	if x, ok := x.GetWriteStatus().(*WriteObjectResponse_PersistedSize); ok {
  1991  		return x.PersistedSize
  1992  	}
  1993  	return 0
  1994  }
  1995  
  1996  func (x *WriteObjectResponse) GetResource() *Object {
  1997  	if x, ok := x.GetWriteStatus().(*WriteObjectResponse_Resource); ok {
  1998  		return x.Resource
  1999  	}
  2000  	return nil
  2001  }
  2002  
  2003  type isWriteObjectResponse_WriteStatus interface {
  2004  	isWriteObjectResponse_WriteStatus()
  2005  }
  2006  
  2007  type WriteObjectResponse_PersistedSize struct {
  2008  	// The total number of bytes that have been processed for the given object
  2009  	// from all `WriteObject` calls. Only set if the upload has not finalized.
  2010  	PersistedSize int64 `protobuf:"varint,1,opt,name=persisted_size,json=persistedSize,proto3,oneof"`
  2011  }
  2012  
  2013  type WriteObjectResponse_Resource struct {
  2014  	// A resource containing the metadata for the uploaded object. Only set if
  2015  	// the upload has finalized.
  2016  	Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
  2017  }
  2018  
  2019  func (*WriteObjectResponse_PersistedSize) isWriteObjectResponse_WriteStatus() {}
  2020  
  2021  func (*WriteObjectResponse_Resource) isWriteObjectResponse_WriteStatus() {}
  2022  
  2023  // Request message for ListObjects.
  2024  type ListObjectsRequest struct {
  2025  	state         protoimpl.MessageState
  2026  	sizeCache     protoimpl.SizeCache
  2027  	unknownFields protoimpl.UnknownFields
  2028  
  2029  	// Required. Name of the bucket in which to look for objects.
  2030  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2031  	// Maximum number of `items` plus `prefixes` to return
  2032  	// in a single page of responses. As duplicate `prefixes` are
  2033  	// omitted, fewer total results may be returned than requested. The service
  2034  	// will use this parameter or 1,000 items, whichever is smaller.
  2035  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2036  	// A previously-returned page token representing part of the larger set of
  2037  	// results to view.
  2038  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2039  	// If set, returns results in a directory-like mode. `items` will contain
  2040  	// only objects whose names, aside from the `prefix`, do not
  2041  	// contain `delimiter`. Objects whose names, aside from the
  2042  	// `prefix`, contain `delimiter` will have their name,
  2043  	// truncated after the `delimiter`, returned in
  2044  	// `prefixes`. Duplicate `prefixes` are omitted.
  2045  	Delimiter string `protobuf:"bytes,4,opt,name=delimiter,proto3" json:"delimiter,omitempty"`
  2046  	// If true, objects that end in exactly one instance of `delimiter`
  2047  	// will have their metadata included in `items` in addition to
  2048  	// `prefixes`.
  2049  	IncludeTrailingDelimiter bool `protobuf:"varint,5,opt,name=include_trailing_delimiter,json=includeTrailingDelimiter,proto3" json:"include_trailing_delimiter,omitempty"`
  2050  	// Filter results to objects whose names begin with this prefix.
  2051  	Prefix string `protobuf:"bytes,6,opt,name=prefix,proto3" json:"prefix,omitempty"`
  2052  	// If `true`, lists all versions of an object as distinct results.
  2053  	// For more information, see
  2054  	// [Object
  2055  	// Versioning](https://cloud.google.com/storage/docs/object-versioning).
  2056  	Versions bool `protobuf:"varint,7,opt,name=versions,proto3" json:"versions,omitempty"`
  2057  	// Mask specifying which fields to read from each result.
  2058  	// If no mask is specified, will default to all fields except items.acl and
  2059  	// items.owner.
  2060  	// * may be used to mean "all fields".
  2061  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,8,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
  2062  	// Filter results to objects whose names are lexicographically equal to or
  2063  	// after lexicographic_start. If lexicographic_end is also set, the objects
  2064  	// listed have names between lexicographic_start (inclusive) and
  2065  	// lexicographic_end (exclusive).
  2066  	LexicographicStart string `protobuf:"bytes,10,opt,name=lexicographic_start,json=lexicographicStart,proto3" json:"lexicographic_start,omitempty"`
  2067  	// Filter results to objects whose names are lexicographically before
  2068  	// lexicographic_end. If lexicographic_start is also set, the objects listed
  2069  	// have names between lexicographic_start (inclusive) and lexicographic_end
  2070  	// (exclusive).
  2071  	LexicographicEnd string `protobuf:"bytes,11,opt,name=lexicographic_end,json=lexicographicEnd,proto3" json:"lexicographic_end,omitempty"`
  2072  }
  2073  
  2074  func (x *ListObjectsRequest) Reset() {
  2075  	*x = ListObjectsRequest{}
  2076  	if protoimpl.UnsafeEnabled {
  2077  		mi := &file_google_storage_v2_storage_proto_msgTypes[20]
  2078  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2079  		ms.StoreMessageInfo(mi)
  2080  	}
  2081  }
  2082  
  2083  func (x *ListObjectsRequest) String() string {
  2084  	return protoimpl.X.MessageStringOf(x)
  2085  }
  2086  
  2087  func (*ListObjectsRequest) ProtoMessage() {}
  2088  
  2089  func (x *ListObjectsRequest) ProtoReflect() protoreflect.Message {
  2090  	mi := &file_google_storage_v2_storage_proto_msgTypes[20]
  2091  	if protoimpl.UnsafeEnabled && x != nil {
  2092  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2093  		if ms.LoadMessageInfo() == nil {
  2094  			ms.StoreMessageInfo(mi)
  2095  		}
  2096  		return ms
  2097  	}
  2098  	return mi.MessageOf(x)
  2099  }
  2100  
  2101  // Deprecated: Use ListObjectsRequest.ProtoReflect.Descriptor instead.
  2102  func (*ListObjectsRequest) Descriptor() ([]byte, []int) {
  2103  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{20}
  2104  }
  2105  
  2106  func (x *ListObjectsRequest) GetParent() string {
  2107  	if x != nil {
  2108  		return x.Parent
  2109  	}
  2110  	return ""
  2111  }
  2112  
  2113  func (x *ListObjectsRequest) GetPageSize() int32 {
  2114  	if x != nil {
  2115  		return x.PageSize
  2116  	}
  2117  	return 0
  2118  }
  2119  
  2120  func (x *ListObjectsRequest) GetPageToken() string {
  2121  	if x != nil {
  2122  		return x.PageToken
  2123  	}
  2124  	return ""
  2125  }
  2126  
  2127  func (x *ListObjectsRequest) GetDelimiter() string {
  2128  	if x != nil {
  2129  		return x.Delimiter
  2130  	}
  2131  	return ""
  2132  }
  2133  
  2134  func (x *ListObjectsRequest) GetIncludeTrailingDelimiter() bool {
  2135  	if x != nil {
  2136  		return x.IncludeTrailingDelimiter
  2137  	}
  2138  	return false
  2139  }
  2140  
  2141  func (x *ListObjectsRequest) GetPrefix() string {
  2142  	if x != nil {
  2143  		return x.Prefix
  2144  	}
  2145  	return ""
  2146  }
  2147  
  2148  func (x *ListObjectsRequest) GetVersions() bool {
  2149  	if x != nil {
  2150  		return x.Versions
  2151  	}
  2152  	return false
  2153  }
  2154  
  2155  func (x *ListObjectsRequest) GetReadMask() *fieldmaskpb.FieldMask {
  2156  	if x != nil {
  2157  		return x.ReadMask
  2158  	}
  2159  	return nil
  2160  }
  2161  
  2162  func (x *ListObjectsRequest) GetLexicographicStart() string {
  2163  	if x != nil {
  2164  		return x.LexicographicStart
  2165  	}
  2166  	return ""
  2167  }
  2168  
  2169  func (x *ListObjectsRequest) GetLexicographicEnd() string {
  2170  	if x != nil {
  2171  		return x.LexicographicEnd
  2172  	}
  2173  	return ""
  2174  }
  2175  
  2176  // Request object for `QueryWriteStatus`.
  2177  type QueryWriteStatusRequest struct {
  2178  	state         protoimpl.MessageState
  2179  	sizeCache     protoimpl.SizeCache
  2180  	unknownFields protoimpl.UnknownFields
  2181  
  2182  	// Required. The name of the resume token for the object whose write status is being
  2183  	// requested.
  2184  	UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
  2185  	// A set of parameters common to Storage API requests concerning an object.
  2186  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  2187  }
  2188  
  2189  func (x *QueryWriteStatusRequest) Reset() {
  2190  	*x = QueryWriteStatusRequest{}
  2191  	if protoimpl.UnsafeEnabled {
  2192  		mi := &file_google_storage_v2_storage_proto_msgTypes[21]
  2193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2194  		ms.StoreMessageInfo(mi)
  2195  	}
  2196  }
  2197  
  2198  func (x *QueryWriteStatusRequest) String() string {
  2199  	return protoimpl.X.MessageStringOf(x)
  2200  }
  2201  
  2202  func (*QueryWriteStatusRequest) ProtoMessage() {}
  2203  
  2204  func (x *QueryWriteStatusRequest) ProtoReflect() protoreflect.Message {
  2205  	mi := &file_google_storage_v2_storage_proto_msgTypes[21]
  2206  	if protoimpl.UnsafeEnabled && x != nil {
  2207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2208  		if ms.LoadMessageInfo() == nil {
  2209  			ms.StoreMessageInfo(mi)
  2210  		}
  2211  		return ms
  2212  	}
  2213  	return mi.MessageOf(x)
  2214  }
  2215  
  2216  // Deprecated: Use QueryWriteStatusRequest.ProtoReflect.Descriptor instead.
  2217  func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) {
  2218  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{21}
  2219  }
  2220  
  2221  func (x *QueryWriteStatusRequest) GetUploadId() string {
  2222  	if x != nil {
  2223  		return x.UploadId
  2224  	}
  2225  	return ""
  2226  }
  2227  
  2228  func (x *QueryWriteStatusRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  2229  	if x != nil {
  2230  		return x.CommonObjectRequestParams
  2231  	}
  2232  	return nil
  2233  }
  2234  
  2235  // Response object for `QueryWriteStatus`.
  2236  type QueryWriteStatusResponse struct {
  2237  	state         protoimpl.MessageState
  2238  	sizeCache     protoimpl.SizeCache
  2239  	unknownFields protoimpl.UnknownFields
  2240  
  2241  	// The response will set one of the following.
  2242  	//
  2243  	// Types that are assignable to WriteStatus:
  2244  	//	*QueryWriteStatusResponse_PersistedSize
  2245  	//	*QueryWriteStatusResponse_Resource
  2246  	WriteStatus isQueryWriteStatusResponse_WriteStatus `protobuf_oneof:"write_status"`
  2247  }
  2248  
  2249  func (x *QueryWriteStatusResponse) Reset() {
  2250  	*x = QueryWriteStatusResponse{}
  2251  	if protoimpl.UnsafeEnabled {
  2252  		mi := &file_google_storage_v2_storage_proto_msgTypes[22]
  2253  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2254  		ms.StoreMessageInfo(mi)
  2255  	}
  2256  }
  2257  
  2258  func (x *QueryWriteStatusResponse) String() string {
  2259  	return protoimpl.X.MessageStringOf(x)
  2260  }
  2261  
  2262  func (*QueryWriteStatusResponse) ProtoMessage() {}
  2263  
  2264  func (x *QueryWriteStatusResponse) ProtoReflect() protoreflect.Message {
  2265  	mi := &file_google_storage_v2_storage_proto_msgTypes[22]
  2266  	if protoimpl.UnsafeEnabled && x != nil {
  2267  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2268  		if ms.LoadMessageInfo() == nil {
  2269  			ms.StoreMessageInfo(mi)
  2270  		}
  2271  		return ms
  2272  	}
  2273  	return mi.MessageOf(x)
  2274  }
  2275  
  2276  // Deprecated: Use QueryWriteStatusResponse.ProtoReflect.Descriptor instead.
  2277  func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) {
  2278  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{22}
  2279  }
  2280  
  2281  func (m *QueryWriteStatusResponse) GetWriteStatus() isQueryWriteStatusResponse_WriteStatus {
  2282  	if m != nil {
  2283  		return m.WriteStatus
  2284  	}
  2285  	return nil
  2286  }
  2287  
  2288  func (x *QueryWriteStatusResponse) GetPersistedSize() int64 {
  2289  	if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_PersistedSize); ok {
  2290  		return x.PersistedSize
  2291  	}
  2292  	return 0
  2293  }
  2294  
  2295  func (x *QueryWriteStatusResponse) GetResource() *Object {
  2296  	if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_Resource); ok {
  2297  		return x.Resource
  2298  	}
  2299  	return nil
  2300  }
  2301  
  2302  type isQueryWriteStatusResponse_WriteStatus interface {
  2303  	isQueryWriteStatusResponse_WriteStatus()
  2304  }
  2305  
  2306  type QueryWriteStatusResponse_PersistedSize struct {
  2307  	// The total number of bytes that have been processed for the given object
  2308  	// from all `WriteObject` calls. This is the correct value for the
  2309  	// 'write_offset' field to use when resuming the `WriteObject` operation.
  2310  	// Only set if the upload has not finalized.
  2311  	PersistedSize int64 `protobuf:"varint,1,opt,name=persisted_size,json=persistedSize,proto3,oneof"`
  2312  }
  2313  
  2314  type QueryWriteStatusResponse_Resource struct {
  2315  	// A resource containing the metadata for the uploaded object. Only set if
  2316  	// the upload has finalized.
  2317  	Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
  2318  }
  2319  
  2320  func (*QueryWriteStatusResponse_PersistedSize) isQueryWriteStatusResponse_WriteStatus() {}
  2321  
  2322  func (*QueryWriteStatusResponse_Resource) isQueryWriteStatusResponse_WriteStatus() {}
  2323  
  2324  // Request message for RewriteObject.
  2325  // If the source object is encrypted using a Customer-Supplied Encryption Key
  2326  // the key information must be provided in the copy_source_encryption_algorithm,
  2327  // copy_source_encryption_key_bytes, and copy_source_encryption_key_sha256_bytes
  2328  // fields. If the destination object should be encrypted the keying information
  2329  // should be provided in the encryption_algorithm, encryption_key_bytes, and
  2330  // encryption_key_sha256_bytes fields of the
  2331  // common_object_request_params.customer_encryption field.
  2332  type RewriteObjectRequest struct {
  2333  	state         protoimpl.MessageState
  2334  	sizeCache     protoimpl.SizeCache
  2335  	unknownFields protoimpl.UnknownFields
  2336  
  2337  	// Immutable. The name of the destination object. Nearly any sequence of unicode
  2338  	// characters is valid. See
  2339  	// [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
  2340  	// Example: `test.txt`
  2341  	// The `name` field by itself does not uniquely identify a Cloud Storage
  2342  	// object. A Cloud Storage object is uniquely identified by the tuple of
  2343  	// (bucket, object, generation).
  2344  	DestinationName string `protobuf:"bytes,24,opt,name=destination_name,json=destinationName,proto3" json:"destination_name,omitempty"`
  2345  	// Immutable. The name of the bucket containing The name of the destination object.
  2346  	DestinationBucket string `protobuf:"bytes,25,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"`
  2347  	// The name of the Cloud KMS key that will be used to encrypt the destination
  2348  	// object. The Cloud KMS key must be located in same location as the object.
  2349  	// If the parameter is not specified, the request uses the destination
  2350  	// bucket's default encryption key, if any, or else the Google-managed
  2351  	// encryption key.
  2352  	DestinationKmsKey string `protobuf:"bytes,27,opt,name=destination_kms_key,json=destinationKmsKey,proto3" json:"destination_kms_key,omitempty"`
  2353  	// Properties of the destination, post-rewrite object.
  2354  	// The `name`, `bucket` and `kms_key` fields must not be populated (these
  2355  	// values are specified in the `destination_name`, `destination_bucket`, and
  2356  	// `destination_kms_key` fields).
  2357  	// If `destination` is present it will be used to construct the destination
  2358  	// object's metadata; otherwise the destination object's metadata will be
  2359  	// copied from the source object.
  2360  	Destination *Object `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
  2361  	// Required. Name of the bucket in which to find the source object.
  2362  	SourceBucket string `protobuf:"bytes,2,opt,name=source_bucket,json=sourceBucket,proto3" json:"source_bucket,omitempty"`
  2363  	// Required. Name of the source object.
  2364  	SourceObject string `protobuf:"bytes,3,opt,name=source_object,json=sourceObject,proto3" json:"source_object,omitempty"`
  2365  	// If present, selects a specific revision of the source object (as opposed to
  2366  	// the latest version, the default).
  2367  	SourceGeneration int64 `protobuf:"varint,4,opt,name=source_generation,json=sourceGeneration,proto3" json:"source_generation,omitempty"`
  2368  	// Include this field (from the previous rewrite response) on each rewrite
  2369  	// request after the first one, until the rewrite response 'done' flag is
  2370  	// true. Calls that provide a rewriteToken can omit all other request fields,
  2371  	// but if included those fields must match the values provided in the first
  2372  	// rewrite request.
  2373  	RewriteToken string `protobuf:"bytes,5,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"`
  2374  	// Apply a predefined set of access controls to the destination object.
  2375  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
  2376  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
  2377  	DestinationPredefinedAcl string `protobuf:"bytes,28,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3" json:"destination_predefined_acl,omitempty"`
  2378  	// Makes the operation conditional on whether the object's current generation
  2379  	// matches the given value. Setting to 0 makes the operation succeed only if
  2380  	// there are no live versions of the object.
  2381  	IfGenerationMatch *int64 `protobuf:"varint,7,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  2382  	// Makes the operation conditional on whether the object's live generation
  2383  	// does not match the given value. If no live object exists, the precondition
  2384  	// fails. Setting to 0 makes the operation succeed only if there is a live
  2385  	// version of the object.
  2386  	IfGenerationNotMatch *int64 `protobuf:"varint,8,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  2387  	// Makes the operation conditional on whether the destination object's current
  2388  	// metageneration matches the given value.
  2389  	IfMetagenerationMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  2390  	// Makes the operation conditional on whether the destination object's current
  2391  	// metageneration does not match the given value.
  2392  	IfMetagenerationNotMatch *int64 `protobuf:"varint,10,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  2393  	// Makes the operation conditional on whether the source object's live
  2394  	// generation matches the given value.
  2395  	IfSourceGenerationMatch *int64 `protobuf:"varint,11,opt,name=if_source_generation_match,json=ifSourceGenerationMatch,proto3,oneof" json:"if_source_generation_match,omitempty"`
  2396  	// Makes the operation conditional on whether the source object's live
  2397  	// generation does not match the given value.
  2398  	IfSourceGenerationNotMatch *int64 `protobuf:"varint,12,opt,name=if_source_generation_not_match,json=ifSourceGenerationNotMatch,proto3,oneof" json:"if_source_generation_not_match,omitempty"`
  2399  	// Makes the operation conditional on whether the source object's current
  2400  	// metageneration matches the given value.
  2401  	IfSourceMetagenerationMatch *int64 `protobuf:"varint,13,opt,name=if_source_metageneration_match,json=ifSourceMetagenerationMatch,proto3,oneof" json:"if_source_metageneration_match,omitempty"`
  2402  	// Makes the operation conditional on whether the source object's current
  2403  	// metageneration does not match the given value.
  2404  	IfSourceMetagenerationNotMatch *int64 `protobuf:"varint,14,opt,name=if_source_metageneration_not_match,json=ifSourceMetagenerationNotMatch,proto3,oneof" json:"if_source_metageneration_not_match,omitempty"`
  2405  	// The maximum number of bytes that will be rewritten per rewrite request.
  2406  	// Most callers
  2407  	// shouldn't need to specify this parameter - it is primarily in place to
  2408  	// support testing. If specified the value must be an integral multiple of
  2409  	// 1 MiB (1048576). Also, this only applies to requests where the source and
  2410  	// destination span locations and/or storage classes. Finally, this value must
  2411  	// not change across rewrite calls else you'll get an error that the
  2412  	// `rewriteToken` is invalid.
  2413  	MaxBytesRewrittenPerCall int64 `protobuf:"varint,15,opt,name=max_bytes_rewritten_per_call,json=maxBytesRewrittenPerCall,proto3" json:"max_bytes_rewritten_per_call,omitempty"`
  2414  	// The algorithm used to encrypt the source object, if any. Used if the source
  2415  	// object was encrypted with a Customer-Supplied Encryption Key.
  2416  	CopySourceEncryptionAlgorithm string `protobuf:"bytes,16,opt,name=copy_source_encryption_algorithm,json=copySourceEncryptionAlgorithm,proto3" json:"copy_source_encryption_algorithm,omitempty"`
  2417  	// The raw bytes (not base64-encoded) AES-256 encryption key used to encrypt
  2418  	// the source object, if it was encrypted with a Customer-Supplied Encryption
  2419  	// Key.
  2420  	CopySourceEncryptionKeyBytes []byte `protobuf:"bytes,21,opt,name=copy_source_encryption_key_bytes,json=copySourceEncryptionKeyBytes,proto3" json:"copy_source_encryption_key_bytes,omitempty"`
  2421  	// The raw bytes (not base64-encoded) SHA256 hash of the encryption key used
  2422  	// to encrypt the source object, if it was encrypted with a Customer-Supplied
  2423  	// Encryption Key.
  2424  	CopySourceEncryptionKeySha256Bytes []byte `protobuf:"bytes,22,opt,name=copy_source_encryption_key_sha256_bytes,json=copySourceEncryptionKeySha256Bytes,proto3" json:"copy_source_encryption_key_sha256_bytes,omitempty"`
  2425  	// A set of parameters common to Storage API requests concerning an object.
  2426  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,19,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  2427  }
  2428  
  2429  func (x *RewriteObjectRequest) Reset() {
  2430  	*x = RewriteObjectRequest{}
  2431  	if protoimpl.UnsafeEnabled {
  2432  		mi := &file_google_storage_v2_storage_proto_msgTypes[23]
  2433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2434  		ms.StoreMessageInfo(mi)
  2435  	}
  2436  }
  2437  
  2438  func (x *RewriteObjectRequest) String() string {
  2439  	return protoimpl.X.MessageStringOf(x)
  2440  }
  2441  
  2442  func (*RewriteObjectRequest) ProtoMessage() {}
  2443  
  2444  func (x *RewriteObjectRequest) ProtoReflect() protoreflect.Message {
  2445  	mi := &file_google_storage_v2_storage_proto_msgTypes[23]
  2446  	if protoimpl.UnsafeEnabled && x != nil {
  2447  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2448  		if ms.LoadMessageInfo() == nil {
  2449  			ms.StoreMessageInfo(mi)
  2450  		}
  2451  		return ms
  2452  	}
  2453  	return mi.MessageOf(x)
  2454  }
  2455  
  2456  // Deprecated: Use RewriteObjectRequest.ProtoReflect.Descriptor instead.
  2457  func (*RewriteObjectRequest) Descriptor() ([]byte, []int) {
  2458  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{23}
  2459  }
  2460  
  2461  func (x *RewriteObjectRequest) GetDestinationName() string {
  2462  	if x != nil {
  2463  		return x.DestinationName
  2464  	}
  2465  	return ""
  2466  }
  2467  
  2468  func (x *RewriteObjectRequest) GetDestinationBucket() string {
  2469  	if x != nil {
  2470  		return x.DestinationBucket
  2471  	}
  2472  	return ""
  2473  }
  2474  
  2475  func (x *RewriteObjectRequest) GetDestinationKmsKey() string {
  2476  	if x != nil {
  2477  		return x.DestinationKmsKey
  2478  	}
  2479  	return ""
  2480  }
  2481  
  2482  func (x *RewriteObjectRequest) GetDestination() *Object {
  2483  	if x != nil {
  2484  		return x.Destination
  2485  	}
  2486  	return nil
  2487  }
  2488  
  2489  func (x *RewriteObjectRequest) GetSourceBucket() string {
  2490  	if x != nil {
  2491  		return x.SourceBucket
  2492  	}
  2493  	return ""
  2494  }
  2495  
  2496  func (x *RewriteObjectRequest) GetSourceObject() string {
  2497  	if x != nil {
  2498  		return x.SourceObject
  2499  	}
  2500  	return ""
  2501  }
  2502  
  2503  func (x *RewriteObjectRequest) GetSourceGeneration() int64 {
  2504  	if x != nil {
  2505  		return x.SourceGeneration
  2506  	}
  2507  	return 0
  2508  }
  2509  
  2510  func (x *RewriteObjectRequest) GetRewriteToken() string {
  2511  	if x != nil {
  2512  		return x.RewriteToken
  2513  	}
  2514  	return ""
  2515  }
  2516  
  2517  func (x *RewriteObjectRequest) GetDestinationPredefinedAcl() string {
  2518  	if x != nil {
  2519  		return x.DestinationPredefinedAcl
  2520  	}
  2521  	return ""
  2522  }
  2523  
  2524  func (x *RewriteObjectRequest) GetIfGenerationMatch() int64 {
  2525  	if x != nil && x.IfGenerationMatch != nil {
  2526  		return *x.IfGenerationMatch
  2527  	}
  2528  	return 0
  2529  }
  2530  
  2531  func (x *RewriteObjectRequest) GetIfGenerationNotMatch() int64 {
  2532  	if x != nil && x.IfGenerationNotMatch != nil {
  2533  		return *x.IfGenerationNotMatch
  2534  	}
  2535  	return 0
  2536  }
  2537  
  2538  func (x *RewriteObjectRequest) GetIfMetagenerationMatch() int64 {
  2539  	if x != nil && x.IfMetagenerationMatch != nil {
  2540  		return *x.IfMetagenerationMatch
  2541  	}
  2542  	return 0
  2543  }
  2544  
  2545  func (x *RewriteObjectRequest) GetIfMetagenerationNotMatch() int64 {
  2546  	if x != nil && x.IfMetagenerationNotMatch != nil {
  2547  		return *x.IfMetagenerationNotMatch
  2548  	}
  2549  	return 0
  2550  }
  2551  
  2552  func (x *RewriteObjectRequest) GetIfSourceGenerationMatch() int64 {
  2553  	if x != nil && x.IfSourceGenerationMatch != nil {
  2554  		return *x.IfSourceGenerationMatch
  2555  	}
  2556  	return 0
  2557  }
  2558  
  2559  func (x *RewriteObjectRequest) GetIfSourceGenerationNotMatch() int64 {
  2560  	if x != nil && x.IfSourceGenerationNotMatch != nil {
  2561  		return *x.IfSourceGenerationNotMatch
  2562  	}
  2563  	return 0
  2564  }
  2565  
  2566  func (x *RewriteObjectRequest) GetIfSourceMetagenerationMatch() int64 {
  2567  	if x != nil && x.IfSourceMetagenerationMatch != nil {
  2568  		return *x.IfSourceMetagenerationMatch
  2569  	}
  2570  	return 0
  2571  }
  2572  
  2573  func (x *RewriteObjectRequest) GetIfSourceMetagenerationNotMatch() int64 {
  2574  	if x != nil && x.IfSourceMetagenerationNotMatch != nil {
  2575  		return *x.IfSourceMetagenerationNotMatch
  2576  	}
  2577  	return 0
  2578  }
  2579  
  2580  func (x *RewriteObjectRequest) GetMaxBytesRewrittenPerCall() int64 {
  2581  	if x != nil {
  2582  		return x.MaxBytesRewrittenPerCall
  2583  	}
  2584  	return 0
  2585  }
  2586  
  2587  func (x *RewriteObjectRequest) GetCopySourceEncryptionAlgorithm() string {
  2588  	if x != nil {
  2589  		return x.CopySourceEncryptionAlgorithm
  2590  	}
  2591  	return ""
  2592  }
  2593  
  2594  func (x *RewriteObjectRequest) GetCopySourceEncryptionKeyBytes() []byte {
  2595  	if x != nil {
  2596  		return x.CopySourceEncryptionKeyBytes
  2597  	}
  2598  	return nil
  2599  }
  2600  
  2601  func (x *RewriteObjectRequest) GetCopySourceEncryptionKeySha256Bytes() []byte {
  2602  	if x != nil {
  2603  		return x.CopySourceEncryptionKeySha256Bytes
  2604  	}
  2605  	return nil
  2606  }
  2607  
  2608  func (x *RewriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  2609  	if x != nil {
  2610  		return x.CommonObjectRequestParams
  2611  	}
  2612  	return nil
  2613  }
  2614  
  2615  // A rewrite response.
  2616  type RewriteResponse struct {
  2617  	state         protoimpl.MessageState
  2618  	sizeCache     protoimpl.SizeCache
  2619  	unknownFields protoimpl.UnknownFields
  2620  
  2621  	// The total bytes written so far, which can be used to provide a waiting user
  2622  	// with a progress indicator. This property is always present in the response.
  2623  	TotalBytesRewritten int64 `protobuf:"varint,1,opt,name=total_bytes_rewritten,json=totalBytesRewritten,proto3" json:"total_bytes_rewritten,omitempty"`
  2624  	// The total size of the object being copied in bytes. This property is always
  2625  	// present in the response.
  2626  	ObjectSize int64 `protobuf:"varint,2,opt,name=object_size,json=objectSize,proto3" json:"object_size,omitempty"`
  2627  	// `true` if the copy is finished; otherwise, `false` if
  2628  	// the copy is in progress. This property is always present in the response.
  2629  	Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
  2630  	// A token to use in subsequent requests to continue copying data. This token
  2631  	// is present in the response only when there is more data to copy.
  2632  	RewriteToken string `protobuf:"bytes,4,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"`
  2633  	// A resource containing the metadata for the copied-to object. This property
  2634  	// is present in the response only when copying completes.
  2635  	Resource *Object `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"`
  2636  }
  2637  
  2638  func (x *RewriteResponse) Reset() {
  2639  	*x = RewriteResponse{}
  2640  	if protoimpl.UnsafeEnabled {
  2641  		mi := &file_google_storage_v2_storage_proto_msgTypes[24]
  2642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2643  		ms.StoreMessageInfo(mi)
  2644  	}
  2645  }
  2646  
  2647  func (x *RewriteResponse) String() string {
  2648  	return protoimpl.X.MessageStringOf(x)
  2649  }
  2650  
  2651  func (*RewriteResponse) ProtoMessage() {}
  2652  
  2653  func (x *RewriteResponse) ProtoReflect() protoreflect.Message {
  2654  	mi := &file_google_storage_v2_storage_proto_msgTypes[24]
  2655  	if protoimpl.UnsafeEnabled && x != nil {
  2656  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2657  		if ms.LoadMessageInfo() == nil {
  2658  			ms.StoreMessageInfo(mi)
  2659  		}
  2660  		return ms
  2661  	}
  2662  	return mi.MessageOf(x)
  2663  }
  2664  
  2665  // Deprecated: Use RewriteResponse.ProtoReflect.Descriptor instead.
  2666  func (*RewriteResponse) Descriptor() ([]byte, []int) {
  2667  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{24}
  2668  }
  2669  
  2670  func (x *RewriteResponse) GetTotalBytesRewritten() int64 {
  2671  	if x != nil {
  2672  		return x.TotalBytesRewritten
  2673  	}
  2674  	return 0
  2675  }
  2676  
  2677  func (x *RewriteResponse) GetObjectSize() int64 {
  2678  	if x != nil {
  2679  		return x.ObjectSize
  2680  	}
  2681  	return 0
  2682  }
  2683  
  2684  func (x *RewriteResponse) GetDone() bool {
  2685  	if x != nil {
  2686  		return x.Done
  2687  	}
  2688  	return false
  2689  }
  2690  
  2691  func (x *RewriteResponse) GetRewriteToken() string {
  2692  	if x != nil {
  2693  		return x.RewriteToken
  2694  	}
  2695  	return ""
  2696  }
  2697  
  2698  func (x *RewriteResponse) GetResource() *Object {
  2699  	if x != nil {
  2700  		return x.Resource
  2701  	}
  2702  	return nil
  2703  }
  2704  
  2705  // Request message StartResumableWrite.
  2706  type StartResumableWriteRequest struct {
  2707  	state         protoimpl.MessageState
  2708  	sizeCache     protoimpl.SizeCache
  2709  	unknownFields protoimpl.UnknownFields
  2710  
  2711  	// The destination bucket, object, and metadata, as well as any preconditions.
  2712  	WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,1,opt,name=write_object_spec,json=writeObjectSpec,proto3" json:"write_object_spec,omitempty"`
  2713  	// A set of parameters common to Storage API requests concerning an object.
  2714  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  2715  }
  2716  
  2717  func (x *StartResumableWriteRequest) Reset() {
  2718  	*x = StartResumableWriteRequest{}
  2719  	if protoimpl.UnsafeEnabled {
  2720  		mi := &file_google_storage_v2_storage_proto_msgTypes[25]
  2721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2722  		ms.StoreMessageInfo(mi)
  2723  	}
  2724  }
  2725  
  2726  func (x *StartResumableWriteRequest) String() string {
  2727  	return protoimpl.X.MessageStringOf(x)
  2728  }
  2729  
  2730  func (*StartResumableWriteRequest) ProtoMessage() {}
  2731  
  2732  func (x *StartResumableWriteRequest) ProtoReflect() protoreflect.Message {
  2733  	mi := &file_google_storage_v2_storage_proto_msgTypes[25]
  2734  	if protoimpl.UnsafeEnabled && x != nil {
  2735  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2736  		if ms.LoadMessageInfo() == nil {
  2737  			ms.StoreMessageInfo(mi)
  2738  		}
  2739  		return ms
  2740  	}
  2741  	return mi.MessageOf(x)
  2742  }
  2743  
  2744  // Deprecated: Use StartResumableWriteRequest.ProtoReflect.Descriptor instead.
  2745  func (*StartResumableWriteRequest) Descriptor() ([]byte, []int) {
  2746  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{25}
  2747  }
  2748  
  2749  func (x *StartResumableWriteRequest) GetWriteObjectSpec() *WriteObjectSpec {
  2750  	if x != nil {
  2751  		return x.WriteObjectSpec
  2752  	}
  2753  	return nil
  2754  }
  2755  
  2756  func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  2757  	if x != nil {
  2758  		return x.CommonObjectRequestParams
  2759  	}
  2760  	return nil
  2761  }
  2762  
  2763  // Response object for `StartResumableWrite`.
  2764  type StartResumableWriteResponse struct {
  2765  	state         protoimpl.MessageState
  2766  	sizeCache     protoimpl.SizeCache
  2767  	unknownFields protoimpl.UnknownFields
  2768  
  2769  	// The upload_id of the newly started resumable write operation. This
  2770  	// value should be copied into the `WriteObjectRequest.upload_id` field.
  2771  	UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
  2772  }
  2773  
  2774  func (x *StartResumableWriteResponse) Reset() {
  2775  	*x = StartResumableWriteResponse{}
  2776  	if protoimpl.UnsafeEnabled {
  2777  		mi := &file_google_storage_v2_storage_proto_msgTypes[26]
  2778  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2779  		ms.StoreMessageInfo(mi)
  2780  	}
  2781  }
  2782  
  2783  func (x *StartResumableWriteResponse) String() string {
  2784  	return protoimpl.X.MessageStringOf(x)
  2785  }
  2786  
  2787  func (*StartResumableWriteResponse) ProtoMessage() {}
  2788  
  2789  func (x *StartResumableWriteResponse) ProtoReflect() protoreflect.Message {
  2790  	mi := &file_google_storage_v2_storage_proto_msgTypes[26]
  2791  	if protoimpl.UnsafeEnabled && x != nil {
  2792  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2793  		if ms.LoadMessageInfo() == nil {
  2794  			ms.StoreMessageInfo(mi)
  2795  		}
  2796  		return ms
  2797  	}
  2798  	return mi.MessageOf(x)
  2799  }
  2800  
  2801  // Deprecated: Use StartResumableWriteResponse.ProtoReflect.Descriptor instead.
  2802  func (*StartResumableWriteResponse) Descriptor() ([]byte, []int) {
  2803  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{26}
  2804  }
  2805  
  2806  func (x *StartResumableWriteResponse) GetUploadId() string {
  2807  	if x != nil {
  2808  		return x.UploadId
  2809  	}
  2810  	return ""
  2811  }
  2812  
  2813  // Request message for UpdateObject.
  2814  type UpdateObjectRequest struct {
  2815  	state         protoimpl.MessageState
  2816  	sizeCache     protoimpl.SizeCache
  2817  	unknownFields protoimpl.UnknownFields
  2818  
  2819  	// The object to update.
  2820  	// The object's bucket and name fields are used to identify the object to
  2821  	// update. If present, the object's generation field selects a specific
  2822  	// revision of this object whose metadata should be updated. Otherwise,
  2823  	// assumes the live version of the object.
  2824  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
  2825  	// Makes the operation conditional on whether the object's current generation
  2826  	// matches the given value. Setting to 0 makes the operation succeed only if
  2827  	// there are no live versions of the object.
  2828  	IfGenerationMatch *int64 `protobuf:"varint,2,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  2829  	// Makes the operation conditional on whether the object's live generation
  2830  	// does not match the given value. If no live object exists, the precondition
  2831  	// fails. Setting to 0 makes the operation succeed only if there is a live
  2832  	// version of the object.
  2833  	IfGenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
  2834  	// Makes the operation conditional on whether the object's current
  2835  	// metageneration matches the given value.
  2836  	IfMetagenerationMatch *int64 `protobuf:"varint,4,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
  2837  	// Makes the operation conditional on whether the object's current
  2838  	// metageneration does not match the given value.
  2839  	IfMetagenerationNotMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
  2840  	// Apply a predefined set of access controls to this object.
  2841  	// Valid values are "authenticatedRead", "bucketOwnerFullControl",
  2842  	// "bucketOwnerRead", "private", "projectPrivate", or "publicRead".
  2843  	PredefinedAcl string `protobuf:"bytes,10,opt,name=predefined_acl,json=predefinedAcl,proto3" json:"predefined_acl,omitempty"`
  2844  	// List of fields to be updated.
  2845  	//
  2846  	// To specify ALL fields, equivalent to the JSON API's "update" function,
  2847  	// specify a single field with the value `*`. Note: not recommended. If a new
  2848  	// field is introduced at a later time, an older client updating with the `*`
  2849  	// may accidentally reset the new field's value.
  2850  	//
  2851  	// Not specifying any fields is an error.
  2852  	// Not specifying a field while setting that field to a non-default value is
  2853  	// an error.
  2854  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2855  	// A set of parameters common to Storage API requests concerning an object.
  2856  	CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
  2857  }
  2858  
  2859  func (x *UpdateObjectRequest) Reset() {
  2860  	*x = UpdateObjectRequest{}
  2861  	if protoimpl.UnsafeEnabled {
  2862  		mi := &file_google_storage_v2_storage_proto_msgTypes[27]
  2863  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2864  		ms.StoreMessageInfo(mi)
  2865  	}
  2866  }
  2867  
  2868  func (x *UpdateObjectRequest) String() string {
  2869  	return protoimpl.X.MessageStringOf(x)
  2870  }
  2871  
  2872  func (*UpdateObjectRequest) ProtoMessage() {}
  2873  
  2874  func (x *UpdateObjectRequest) ProtoReflect() protoreflect.Message {
  2875  	mi := &file_google_storage_v2_storage_proto_msgTypes[27]
  2876  	if protoimpl.UnsafeEnabled && x != nil {
  2877  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2878  		if ms.LoadMessageInfo() == nil {
  2879  			ms.StoreMessageInfo(mi)
  2880  		}
  2881  		return ms
  2882  	}
  2883  	return mi.MessageOf(x)
  2884  }
  2885  
  2886  // Deprecated: Use UpdateObjectRequest.ProtoReflect.Descriptor instead.
  2887  func (*UpdateObjectRequest) Descriptor() ([]byte, []int) {
  2888  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{27}
  2889  }
  2890  
  2891  func (x *UpdateObjectRequest) GetObject() *Object {
  2892  	if x != nil {
  2893  		return x.Object
  2894  	}
  2895  	return nil
  2896  }
  2897  
  2898  func (x *UpdateObjectRequest) GetIfGenerationMatch() int64 {
  2899  	if x != nil && x.IfGenerationMatch != nil {
  2900  		return *x.IfGenerationMatch
  2901  	}
  2902  	return 0
  2903  }
  2904  
  2905  func (x *UpdateObjectRequest) GetIfGenerationNotMatch() int64 {
  2906  	if x != nil && x.IfGenerationNotMatch != nil {
  2907  		return *x.IfGenerationNotMatch
  2908  	}
  2909  	return 0
  2910  }
  2911  
  2912  func (x *UpdateObjectRequest) GetIfMetagenerationMatch() int64 {
  2913  	if x != nil && x.IfMetagenerationMatch != nil {
  2914  		return *x.IfMetagenerationMatch
  2915  	}
  2916  	return 0
  2917  }
  2918  
  2919  func (x *UpdateObjectRequest) GetIfMetagenerationNotMatch() int64 {
  2920  	if x != nil && x.IfMetagenerationNotMatch != nil {
  2921  		return *x.IfMetagenerationNotMatch
  2922  	}
  2923  	return 0
  2924  }
  2925  
  2926  func (x *UpdateObjectRequest) GetPredefinedAcl() string {
  2927  	if x != nil {
  2928  		return x.PredefinedAcl
  2929  	}
  2930  	return ""
  2931  }
  2932  
  2933  func (x *UpdateObjectRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  2934  	if x != nil {
  2935  		return x.UpdateMask
  2936  	}
  2937  	return nil
  2938  }
  2939  
  2940  func (x *UpdateObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
  2941  	if x != nil {
  2942  		return x.CommonObjectRequestParams
  2943  	}
  2944  	return nil
  2945  }
  2946  
  2947  // Request message for GetServiceAccount.
  2948  type GetServiceAccountRequest struct {
  2949  	state         protoimpl.MessageState
  2950  	sizeCache     protoimpl.SizeCache
  2951  	unknownFields protoimpl.UnknownFields
  2952  
  2953  	// Required. Project ID.
  2954  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  2955  }
  2956  
  2957  func (x *GetServiceAccountRequest) Reset() {
  2958  	*x = GetServiceAccountRequest{}
  2959  	if protoimpl.UnsafeEnabled {
  2960  		mi := &file_google_storage_v2_storage_proto_msgTypes[28]
  2961  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2962  		ms.StoreMessageInfo(mi)
  2963  	}
  2964  }
  2965  
  2966  func (x *GetServiceAccountRequest) String() string {
  2967  	return protoimpl.X.MessageStringOf(x)
  2968  }
  2969  
  2970  func (*GetServiceAccountRequest) ProtoMessage() {}
  2971  
  2972  func (x *GetServiceAccountRequest) ProtoReflect() protoreflect.Message {
  2973  	mi := &file_google_storage_v2_storage_proto_msgTypes[28]
  2974  	if protoimpl.UnsafeEnabled && x != nil {
  2975  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2976  		if ms.LoadMessageInfo() == nil {
  2977  			ms.StoreMessageInfo(mi)
  2978  		}
  2979  		return ms
  2980  	}
  2981  	return mi.MessageOf(x)
  2982  }
  2983  
  2984  // Deprecated: Use GetServiceAccountRequest.ProtoReflect.Descriptor instead.
  2985  func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) {
  2986  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{28}
  2987  }
  2988  
  2989  func (x *GetServiceAccountRequest) GetProject() string {
  2990  	if x != nil {
  2991  		return x.Project
  2992  	}
  2993  	return ""
  2994  }
  2995  
  2996  // Request message for CreateHmacKey.
  2997  type CreateHmacKeyRequest struct {
  2998  	state         protoimpl.MessageState
  2999  	sizeCache     protoimpl.SizeCache
  3000  	unknownFields protoimpl.UnknownFields
  3001  
  3002  	// Required. The project that the HMAC-owning service account lives in.
  3003  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  3004  	// Required. The service account to create the HMAC for.
  3005  	ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
  3006  }
  3007  
  3008  func (x *CreateHmacKeyRequest) Reset() {
  3009  	*x = CreateHmacKeyRequest{}
  3010  	if protoimpl.UnsafeEnabled {
  3011  		mi := &file_google_storage_v2_storage_proto_msgTypes[29]
  3012  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3013  		ms.StoreMessageInfo(mi)
  3014  	}
  3015  }
  3016  
  3017  func (x *CreateHmacKeyRequest) String() string {
  3018  	return protoimpl.X.MessageStringOf(x)
  3019  }
  3020  
  3021  func (*CreateHmacKeyRequest) ProtoMessage() {}
  3022  
  3023  func (x *CreateHmacKeyRequest) ProtoReflect() protoreflect.Message {
  3024  	mi := &file_google_storage_v2_storage_proto_msgTypes[29]
  3025  	if protoimpl.UnsafeEnabled && x != nil {
  3026  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3027  		if ms.LoadMessageInfo() == nil {
  3028  			ms.StoreMessageInfo(mi)
  3029  		}
  3030  		return ms
  3031  	}
  3032  	return mi.MessageOf(x)
  3033  }
  3034  
  3035  // Deprecated: Use CreateHmacKeyRequest.ProtoReflect.Descriptor instead.
  3036  func (*CreateHmacKeyRequest) Descriptor() ([]byte, []int) {
  3037  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{29}
  3038  }
  3039  
  3040  func (x *CreateHmacKeyRequest) GetProject() string {
  3041  	if x != nil {
  3042  		return x.Project
  3043  	}
  3044  	return ""
  3045  }
  3046  
  3047  func (x *CreateHmacKeyRequest) GetServiceAccountEmail() string {
  3048  	if x != nil {
  3049  		return x.ServiceAccountEmail
  3050  	}
  3051  	return ""
  3052  }
  3053  
  3054  // Create hmac response.  The only time the secret for an HMAC will be returned.
  3055  type CreateHmacKeyResponse struct {
  3056  	state         protoimpl.MessageState
  3057  	sizeCache     protoimpl.SizeCache
  3058  	unknownFields protoimpl.UnknownFields
  3059  
  3060  	// Key metadata.
  3061  	Metadata *HmacKeyMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  3062  	// HMAC key secret material.
  3063  	// In raw bytes format (not base64-encoded).
  3064  	SecretKeyBytes []byte `protobuf:"bytes,3,opt,name=secret_key_bytes,json=secretKeyBytes,proto3" json:"secret_key_bytes,omitempty"`
  3065  }
  3066  
  3067  func (x *CreateHmacKeyResponse) Reset() {
  3068  	*x = CreateHmacKeyResponse{}
  3069  	if protoimpl.UnsafeEnabled {
  3070  		mi := &file_google_storage_v2_storage_proto_msgTypes[30]
  3071  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3072  		ms.StoreMessageInfo(mi)
  3073  	}
  3074  }
  3075  
  3076  func (x *CreateHmacKeyResponse) String() string {
  3077  	return protoimpl.X.MessageStringOf(x)
  3078  }
  3079  
  3080  func (*CreateHmacKeyResponse) ProtoMessage() {}
  3081  
  3082  func (x *CreateHmacKeyResponse) ProtoReflect() protoreflect.Message {
  3083  	mi := &file_google_storage_v2_storage_proto_msgTypes[30]
  3084  	if protoimpl.UnsafeEnabled && x != nil {
  3085  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3086  		if ms.LoadMessageInfo() == nil {
  3087  			ms.StoreMessageInfo(mi)
  3088  		}
  3089  		return ms
  3090  	}
  3091  	return mi.MessageOf(x)
  3092  }
  3093  
  3094  // Deprecated: Use CreateHmacKeyResponse.ProtoReflect.Descriptor instead.
  3095  func (*CreateHmacKeyResponse) Descriptor() ([]byte, []int) {
  3096  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{30}
  3097  }
  3098  
  3099  func (x *CreateHmacKeyResponse) GetMetadata() *HmacKeyMetadata {
  3100  	if x != nil {
  3101  		return x.Metadata
  3102  	}
  3103  	return nil
  3104  }
  3105  
  3106  func (x *CreateHmacKeyResponse) GetSecretKeyBytes() []byte {
  3107  	if x != nil {
  3108  		return x.SecretKeyBytes
  3109  	}
  3110  	return nil
  3111  }
  3112  
  3113  // Request object to delete a given HMAC key.
  3114  type DeleteHmacKeyRequest struct {
  3115  	state         protoimpl.MessageState
  3116  	sizeCache     protoimpl.SizeCache
  3117  	unknownFields protoimpl.UnknownFields
  3118  
  3119  	// Required. The identifying key for the HMAC to delete.
  3120  	AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
  3121  	// Required. The project id the HMAC key lies in.
  3122  	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
  3123  }
  3124  
  3125  func (x *DeleteHmacKeyRequest) Reset() {
  3126  	*x = DeleteHmacKeyRequest{}
  3127  	if protoimpl.UnsafeEnabled {
  3128  		mi := &file_google_storage_v2_storage_proto_msgTypes[31]
  3129  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3130  		ms.StoreMessageInfo(mi)
  3131  	}
  3132  }
  3133  
  3134  func (x *DeleteHmacKeyRequest) String() string {
  3135  	return protoimpl.X.MessageStringOf(x)
  3136  }
  3137  
  3138  func (*DeleteHmacKeyRequest) ProtoMessage() {}
  3139  
  3140  func (x *DeleteHmacKeyRequest) ProtoReflect() protoreflect.Message {
  3141  	mi := &file_google_storage_v2_storage_proto_msgTypes[31]
  3142  	if protoimpl.UnsafeEnabled && x != nil {
  3143  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3144  		if ms.LoadMessageInfo() == nil {
  3145  			ms.StoreMessageInfo(mi)
  3146  		}
  3147  		return ms
  3148  	}
  3149  	return mi.MessageOf(x)
  3150  }
  3151  
  3152  // Deprecated: Use DeleteHmacKeyRequest.ProtoReflect.Descriptor instead.
  3153  func (*DeleteHmacKeyRequest) Descriptor() ([]byte, []int) {
  3154  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{31}
  3155  }
  3156  
  3157  func (x *DeleteHmacKeyRequest) GetAccessId() string {
  3158  	if x != nil {
  3159  		return x.AccessId
  3160  	}
  3161  	return ""
  3162  }
  3163  
  3164  func (x *DeleteHmacKeyRequest) GetProject() string {
  3165  	if x != nil {
  3166  		return x.Project
  3167  	}
  3168  	return ""
  3169  }
  3170  
  3171  // Request object to get metadata on a given HMAC key.
  3172  type GetHmacKeyRequest struct {
  3173  	state         protoimpl.MessageState
  3174  	sizeCache     protoimpl.SizeCache
  3175  	unknownFields protoimpl.UnknownFields
  3176  
  3177  	// Required. The identifying key for the HMAC to delete.
  3178  	AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
  3179  	// Required. The project id the HMAC key lies in.
  3180  	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
  3181  }
  3182  
  3183  func (x *GetHmacKeyRequest) Reset() {
  3184  	*x = GetHmacKeyRequest{}
  3185  	if protoimpl.UnsafeEnabled {
  3186  		mi := &file_google_storage_v2_storage_proto_msgTypes[32]
  3187  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3188  		ms.StoreMessageInfo(mi)
  3189  	}
  3190  }
  3191  
  3192  func (x *GetHmacKeyRequest) String() string {
  3193  	return protoimpl.X.MessageStringOf(x)
  3194  }
  3195  
  3196  func (*GetHmacKeyRequest) ProtoMessage() {}
  3197  
  3198  func (x *GetHmacKeyRequest) ProtoReflect() protoreflect.Message {
  3199  	mi := &file_google_storage_v2_storage_proto_msgTypes[32]
  3200  	if protoimpl.UnsafeEnabled && x != nil {
  3201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3202  		if ms.LoadMessageInfo() == nil {
  3203  			ms.StoreMessageInfo(mi)
  3204  		}
  3205  		return ms
  3206  	}
  3207  	return mi.MessageOf(x)
  3208  }
  3209  
  3210  // Deprecated: Use GetHmacKeyRequest.ProtoReflect.Descriptor instead.
  3211  func (*GetHmacKeyRequest) Descriptor() ([]byte, []int) {
  3212  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{32}
  3213  }
  3214  
  3215  func (x *GetHmacKeyRequest) GetAccessId() string {
  3216  	if x != nil {
  3217  		return x.AccessId
  3218  	}
  3219  	return ""
  3220  }
  3221  
  3222  func (x *GetHmacKeyRequest) GetProject() string {
  3223  	if x != nil {
  3224  		return x.Project
  3225  	}
  3226  	return ""
  3227  }
  3228  
  3229  // Request to fetch a list of HMAC keys under a given project.
  3230  type ListHmacKeysRequest struct {
  3231  	state         protoimpl.MessageState
  3232  	sizeCache     protoimpl.SizeCache
  3233  	unknownFields protoimpl.UnknownFields
  3234  
  3235  	// Required. The project id to list HMAC keys for.
  3236  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  3237  	// Optional. The maximum number of keys to return.
  3238  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  3239  	// Optional. A previously returned token from ListHmacKeysResponse to get the next page.
  3240  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  3241  	// Optional. If set, filters to only return HMAC keys for specified service account.
  3242  	ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
  3243  	// Optional. If set, return deleted keys that have not yet been wiped out.
  3244  	ShowDeletedKeys bool `protobuf:"varint,5,opt,name=show_deleted_keys,json=showDeletedKeys,proto3" json:"show_deleted_keys,omitempty"`
  3245  }
  3246  
  3247  func (x *ListHmacKeysRequest) Reset() {
  3248  	*x = ListHmacKeysRequest{}
  3249  	if protoimpl.UnsafeEnabled {
  3250  		mi := &file_google_storage_v2_storage_proto_msgTypes[33]
  3251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3252  		ms.StoreMessageInfo(mi)
  3253  	}
  3254  }
  3255  
  3256  func (x *ListHmacKeysRequest) String() string {
  3257  	return protoimpl.X.MessageStringOf(x)
  3258  }
  3259  
  3260  func (*ListHmacKeysRequest) ProtoMessage() {}
  3261  
  3262  func (x *ListHmacKeysRequest) ProtoReflect() protoreflect.Message {
  3263  	mi := &file_google_storage_v2_storage_proto_msgTypes[33]
  3264  	if protoimpl.UnsafeEnabled && x != nil {
  3265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3266  		if ms.LoadMessageInfo() == nil {
  3267  			ms.StoreMessageInfo(mi)
  3268  		}
  3269  		return ms
  3270  	}
  3271  	return mi.MessageOf(x)
  3272  }
  3273  
  3274  // Deprecated: Use ListHmacKeysRequest.ProtoReflect.Descriptor instead.
  3275  func (*ListHmacKeysRequest) Descriptor() ([]byte, []int) {
  3276  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{33}
  3277  }
  3278  
  3279  func (x *ListHmacKeysRequest) GetProject() string {
  3280  	if x != nil {
  3281  		return x.Project
  3282  	}
  3283  	return ""
  3284  }
  3285  
  3286  func (x *ListHmacKeysRequest) GetPageSize() int32 {
  3287  	if x != nil {
  3288  		return x.PageSize
  3289  	}
  3290  	return 0
  3291  }
  3292  
  3293  func (x *ListHmacKeysRequest) GetPageToken() string {
  3294  	if x != nil {
  3295  		return x.PageToken
  3296  	}
  3297  	return ""
  3298  }
  3299  
  3300  func (x *ListHmacKeysRequest) GetServiceAccountEmail() string {
  3301  	if x != nil {
  3302  		return x.ServiceAccountEmail
  3303  	}
  3304  	return ""
  3305  }
  3306  
  3307  func (x *ListHmacKeysRequest) GetShowDeletedKeys() bool {
  3308  	if x != nil {
  3309  		return x.ShowDeletedKeys
  3310  	}
  3311  	return false
  3312  }
  3313  
  3314  // Hmac key list response with next page information.
  3315  type ListHmacKeysResponse struct {
  3316  	state         protoimpl.MessageState
  3317  	sizeCache     protoimpl.SizeCache
  3318  	unknownFields protoimpl.UnknownFields
  3319  
  3320  	// The list of items.
  3321  	HmacKeys []*HmacKeyMetadata `protobuf:"bytes,1,rep,name=hmac_keys,json=hmacKeys,proto3" json:"hmac_keys,omitempty"`
  3322  	// The continuation token, used to page through large result sets. Provide
  3323  	// this value in a subsequent request to return the next page of results.
  3324  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  3325  }
  3326  
  3327  func (x *ListHmacKeysResponse) Reset() {
  3328  	*x = ListHmacKeysResponse{}
  3329  	if protoimpl.UnsafeEnabled {
  3330  		mi := &file_google_storage_v2_storage_proto_msgTypes[34]
  3331  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3332  		ms.StoreMessageInfo(mi)
  3333  	}
  3334  }
  3335  
  3336  func (x *ListHmacKeysResponse) String() string {
  3337  	return protoimpl.X.MessageStringOf(x)
  3338  }
  3339  
  3340  func (*ListHmacKeysResponse) ProtoMessage() {}
  3341  
  3342  func (x *ListHmacKeysResponse) ProtoReflect() protoreflect.Message {
  3343  	mi := &file_google_storage_v2_storage_proto_msgTypes[34]
  3344  	if protoimpl.UnsafeEnabled && x != nil {
  3345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3346  		if ms.LoadMessageInfo() == nil {
  3347  			ms.StoreMessageInfo(mi)
  3348  		}
  3349  		return ms
  3350  	}
  3351  	return mi.MessageOf(x)
  3352  }
  3353  
  3354  // Deprecated: Use ListHmacKeysResponse.ProtoReflect.Descriptor instead.
  3355  func (*ListHmacKeysResponse) Descriptor() ([]byte, []int) {
  3356  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{34}
  3357  }
  3358  
  3359  func (x *ListHmacKeysResponse) GetHmacKeys() []*HmacKeyMetadata {
  3360  	if x != nil {
  3361  		return x.HmacKeys
  3362  	}
  3363  	return nil
  3364  }
  3365  
  3366  func (x *ListHmacKeysResponse) GetNextPageToken() string {
  3367  	if x != nil {
  3368  		return x.NextPageToken
  3369  	}
  3370  	return ""
  3371  }
  3372  
  3373  // Request object to update an HMAC key state.
  3374  type UpdateHmacKeyRequest struct {
  3375  	state         protoimpl.MessageState
  3376  	sizeCache     protoimpl.SizeCache
  3377  	unknownFields protoimpl.UnknownFields
  3378  
  3379  	// Required. The HMAC key to update.
  3380  	// If present, the hmac_key's `id` field will be used to identify the key.
  3381  	// Otherwise, the hmac_key's access_id and project fields will be used to
  3382  	// identify the key.
  3383  	HmacKey *HmacKeyMetadata `protobuf:"bytes,1,opt,name=hmac_key,json=hmacKey,proto3" json:"hmac_key,omitempty"`
  3384  	// Update mask for hmac_key.
  3385  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  3386  }
  3387  
  3388  func (x *UpdateHmacKeyRequest) Reset() {
  3389  	*x = UpdateHmacKeyRequest{}
  3390  	if protoimpl.UnsafeEnabled {
  3391  		mi := &file_google_storage_v2_storage_proto_msgTypes[35]
  3392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3393  		ms.StoreMessageInfo(mi)
  3394  	}
  3395  }
  3396  
  3397  func (x *UpdateHmacKeyRequest) String() string {
  3398  	return protoimpl.X.MessageStringOf(x)
  3399  }
  3400  
  3401  func (*UpdateHmacKeyRequest) ProtoMessage() {}
  3402  
  3403  func (x *UpdateHmacKeyRequest) ProtoReflect() protoreflect.Message {
  3404  	mi := &file_google_storage_v2_storage_proto_msgTypes[35]
  3405  	if protoimpl.UnsafeEnabled && x != nil {
  3406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3407  		if ms.LoadMessageInfo() == nil {
  3408  			ms.StoreMessageInfo(mi)
  3409  		}
  3410  		return ms
  3411  	}
  3412  	return mi.MessageOf(x)
  3413  }
  3414  
  3415  // Deprecated: Use UpdateHmacKeyRequest.ProtoReflect.Descriptor instead.
  3416  func (*UpdateHmacKeyRequest) Descriptor() ([]byte, []int) {
  3417  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{35}
  3418  }
  3419  
  3420  func (x *UpdateHmacKeyRequest) GetHmacKey() *HmacKeyMetadata {
  3421  	if x != nil {
  3422  		return x.HmacKey
  3423  	}
  3424  	return nil
  3425  }
  3426  
  3427  func (x *UpdateHmacKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  3428  	if x != nil {
  3429  		return x.UpdateMask
  3430  	}
  3431  	return nil
  3432  }
  3433  
  3434  // Parameters that can be passed to any object request.
  3435  type CommonObjectRequestParams struct {
  3436  	state         protoimpl.MessageState
  3437  	sizeCache     protoimpl.SizeCache
  3438  	unknownFields protoimpl.UnknownFields
  3439  
  3440  	// Encryption algorithm used with the Customer-Supplied Encryption Keys
  3441  	// feature.
  3442  	EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
  3443  	// Encryption key used with the Customer-Supplied Encryption Keys feature.
  3444  	// In raw bytes format (not base64-encoded).
  3445  	EncryptionKeyBytes []byte `protobuf:"bytes,4,opt,name=encryption_key_bytes,json=encryptionKeyBytes,proto3" json:"encryption_key_bytes,omitempty"`
  3446  	// SHA256 hash of encryption key used with the Customer-Supplied Encryption
  3447  	// Keys feature.
  3448  	EncryptionKeySha256Bytes []byte `protobuf:"bytes,5,opt,name=encryption_key_sha256_bytes,json=encryptionKeySha256Bytes,proto3" json:"encryption_key_sha256_bytes,omitempty"`
  3449  }
  3450  
  3451  func (x *CommonObjectRequestParams) Reset() {
  3452  	*x = CommonObjectRequestParams{}
  3453  	if protoimpl.UnsafeEnabled {
  3454  		mi := &file_google_storage_v2_storage_proto_msgTypes[36]
  3455  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3456  		ms.StoreMessageInfo(mi)
  3457  	}
  3458  }
  3459  
  3460  func (x *CommonObjectRequestParams) String() string {
  3461  	return protoimpl.X.MessageStringOf(x)
  3462  }
  3463  
  3464  func (*CommonObjectRequestParams) ProtoMessage() {}
  3465  
  3466  func (x *CommonObjectRequestParams) ProtoReflect() protoreflect.Message {
  3467  	mi := &file_google_storage_v2_storage_proto_msgTypes[36]
  3468  	if protoimpl.UnsafeEnabled && x != nil {
  3469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3470  		if ms.LoadMessageInfo() == nil {
  3471  			ms.StoreMessageInfo(mi)
  3472  		}
  3473  		return ms
  3474  	}
  3475  	return mi.MessageOf(x)
  3476  }
  3477  
  3478  // Deprecated: Use CommonObjectRequestParams.ProtoReflect.Descriptor instead.
  3479  func (*CommonObjectRequestParams) Descriptor() ([]byte, []int) {
  3480  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{36}
  3481  }
  3482  
  3483  func (x *CommonObjectRequestParams) GetEncryptionAlgorithm() string {
  3484  	if x != nil {
  3485  		return x.EncryptionAlgorithm
  3486  	}
  3487  	return ""
  3488  }
  3489  
  3490  func (x *CommonObjectRequestParams) GetEncryptionKeyBytes() []byte {
  3491  	if x != nil {
  3492  		return x.EncryptionKeyBytes
  3493  	}
  3494  	return nil
  3495  }
  3496  
  3497  func (x *CommonObjectRequestParams) GetEncryptionKeySha256Bytes() []byte {
  3498  	if x != nil {
  3499  		return x.EncryptionKeySha256Bytes
  3500  	}
  3501  	return nil
  3502  }
  3503  
  3504  // Shared constants.
  3505  type ServiceConstants struct {
  3506  	state         protoimpl.MessageState
  3507  	sizeCache     protoimpl.SizeCache
  3508  	unknownFields protoimpl.UnknownFields
  3509  }
  3510  
  3511  func (x *ServiceConstants) Reset() {
  3512  	*x = ServiceConstants{}
  3513  	if protoimpl.UnsafeEnabled {
  3514  		mi := &file_google_storage_v2_storage_proto_msgTypes[37]
  3515  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3516  		ms.StoreMessageInfo(mi)
  3517  	}
  3518  }
  3519  
  3520  func (x *ServiceConstants) String() string {
  3521  	return protoimpl.X.MessageStringOf(x)
  3522  }
  3523  
  3524  func (*ServiceConstants) ProtoMessage() {}
  3525  
  3526  func (x *ServiceConstants) ProtoReflect() protoreflect.Message {
  3527  	mi := &file_google_storage_v2_storage_proto_msgTypes[37]
  3528  	if protoimpl.UnsafeEnabled && x != nil {
  3529  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3530  		if ms.LoadMessageInfo() == nil {
  3531  			ms.StoreMessageInfo(mi)
  3532  		}
  3533  		return ms
  3534  	}
  3535  	return mi.MessageOf(x)
  3536  }
  3537  
  3538  // Deprecated: Use ServiceConstants.ProtoReflect.Descriptor instead.
  3539  func (*ServiceConstants) Descriptor() ([]byte, []int) {
  3540  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37}
  3541  }
  3542  
  3543  // A bucket.
  3544  type Bucket struct {
  3545  	state         protoimpl.MessageState
  3546  	sizeCache     protoimpl.SizeCache
  3547  	unknownFields protoimpl.UnknownFields
  3548  
  3549  	// Immutable. The name of the bucket.
  3550  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3551  	// Output only. The user-chosen part of the bucket name. The `{bucket}` portion of the
  3552  	// `name` field. For globally unique buckets, this is equal to the "bucket
  3553  	// name" of other Cloud Storage APIs. Example: "pub".
  3554  	BucketId string `protobuf:"bytes,2,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
  3555  	// The etag of the bucket.
  3556  	// If included in the metadata of an UpdateBucketRequest, the operation will
  3557  	// only be performed if the etag matches that of the bucket.
  3558  	Etag string `protobuf:"bytes,29,opt,name=etag,proto3" json:"etag,omitempty"`
  3559  	// Immutable. The project which owns this bucket.
  3560  	Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
  3561  	// Output only. The metadata generation of this bucket.
  3562  	// Attempting to set or update this field will result in a
  3563  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  3564  	Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
  3565  	// Immutable. The location of the bucket. Object data for objects in the bucket resides
  3566  	// in physical storage within this region.  Defaults to `US`. See the
  3567  	// [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's
  3568  	// guide] for the authoritative list. Attempting to update this field after
  3569  	// the bucket is created will result in an error.
  3570  	Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
  3571  	// Output only. The location type of the bucket (region, dual-region, multi-region, etc).
  3572  	LocationType string `protobuf:"bytes,6,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"`
  3573  	// The bucket's default storage class, used whenever no storageClass is
  3574  	// specified for a newly-created object. This defines how objects in the
  3575  	// bucket are stored and determines the SLA and the cost of storage.
  3576  	// If this value is not specified when the bucket is created, it will default
  3577  	// to `STANDARD`. For more information, see
  3578  	// https://developers.google.com/storage/docs/storage-classes.
  3579  	StorageClass string `protobuf:"bytes,7,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
  3580  	// The recovery point objective for cross-region replication of the bucket.
  3581  	// Applicable only for dual- and multi-region buckets. "DEFAULT" uses default
  3582  	// replication. "ASYNC_TURBO" enables turbo replication, valid for dual-region
  3583  	// buckets only. If rpo is not specified when the bucket is created, it
  3584  	// defaults to "DEFAULT". For more information, see
  3585  	// https://cloud.google.com/storage/docs/turbo-replication.
  3586  	Rpo string `protobuf:"bytes,27,opt,name=rpo,proto3" json:"rpo,omitempty"`
  3587  	// Access controls on the bucket.
  3588  	// If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
  3589  	// requests to set, read, or modify acl is an error.
  3590  	Acl []*BucketAccessControl `protobuf:"bytes,8,rep,name=acl,proto3" json:"acl,omitempty"`
  3591  	// Default access controls to apply to new objects when no ACL is provided.
  3592  	// If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
  3593  	// requests to set, read, or modify acl is an error.
  3594  	DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,9,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"`
  3595  	// The bucket's lifecycle config. See
  3596  	// [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management]
  3597  	// for more information.
  3598  	Lifecycle *Bucket_Lifecycle `protobuf:"bytes,10,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
  3599  	// Output only. The creation time of the bucket.
  3600  	// Attempting to set or update this field will result in a
  3601  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  3602  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  3603  	// The bucket's [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing]
  3604  	// (CORS) config.
  3605  	Cors []*Bucket_Cors `protobuf:"bytes,12,rep,name=cors,proto3" json:"cors,omitempty"`
  3606  	// Output only. The modification time of the bucket.
  3607  	// Attempting to set or update this field will result in a
  3608  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  3609  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  3610  	// The default value for event-based hold on newly created objects in this
  3611  	// bucket.  Event-based hold is a way to retain objects indefinitely until an
  3612  	// event occurs, signified by the
  3613  	// hold's release. After being released, such objects will be subject to
  3614  	// bucket-level retention (if any).  One sample use case of this flag is for
  3615  	// banks to hold loan documents for at least 3 years after loan is paid in
  3616  	// full. Here, bucket-level retention is 3 years and the event is loan being
  3617  	// paid in full. In this example, these objects will be held intact for any
  3618  	// number of years until the event has occurred (event-based hold on the
  3619  	// object is released) and then 3 more years after that. That means retention
  3620  	// duration of the objects begins from the moment event-based hold
  3621  	// transitioned from true to false.  Objects under event-based hold cannot be
  3622  	// deleted, overwritten or archived until the hold is removed.
  3623  	DefaultEventBasedHold bool `protobuf:"varint,14,opt,name=default_event_based_hold,json=defaultEventBasedHold,proto3" json:"default_event_based_hold,omitempty"`
  3624  	// User-provided labels, in key/value pairs.
  3625  	Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3626  	// The bucket's website config, controlling how the service behaves
  3627  	// when accessing bucket contents as a web site. See the
  3628  	// [https://cloud.google.com/storage/docs/static-website][Static Website
  3629  	// Examples] for more information.
  3630  	Website *Bucket_Website `protobuf:"bytes,16,opt,name=website,proto3" json:"website,omitempty"`
  3631  	// The bucket's versioning config.
  3632  	Versioning *Bucket_Versioning `protobuf:"bytes,17,opt,name=versioning,proto3" json:"versioning,omitempty"`
  3633  	// The bucket's logging config, which defines the destination bucket
  3634  	// and name prefix (if any) for the current bucket's logs.
  3635  	Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"`
  3636  	// Output only. The owner of the bucket. This is always the project team's owner group.
  3637  	Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"`
  3638  	// Encryption config for a bucket.
  3639  	Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"`
  3640  	// The bucket's billing config.
  3641  	Billing *Bucket_Billing `protobuf:"bytes,21,opt,name=billing,proto3" json:"billing,omitempty"`
  3642  	// The bucket's retention policy. The retention policy enforces a minimum
  3643  	// retention time for all objects contained in the bucket, based on their
  3644  	// creation time. Any attempt to overwrite or delete objects younger than the
  3645  	// retention period will result in a PERMISSION_DENIED error.  An unlocked
  3646  	// retention policy can be modified or removed from the bucket via a
  3647  	// storage.buckets.update operation. A locked retention policy cannot be
  3648  	// removed or shortened in duration for the lifetime of the bucket.
  3649  	// Attempting to remove or decrease period of a locked retention policy will
  3650  	// result in a PERMISSION_DENIED error.
  3651  	RetentionPolicy *Bucket_RetentionPolicy `protobuf:"bytes,22,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"`
  3652  	// The bucket's IAM config.
  3653  	IamConfig *Bucket_IamConfig `protobuf:"bytes,23,opt,name=iam_config,json=iamConfig,proto3" json:"iam_config,omitempty"`
  3654  	// Reserved for future use.
  3655  	SatisfiesPzs bool `protobuf:"varint,25,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
  3656  	// Configuration that, if present, specifies the data placement for a Custom
  3657  	// Dual Region.
  3658  	CustomPlacementConfig *Bucket_CustomPlacementConfig `protobuf:"bytes,26,opt,name=custom_placement_config,json=customPlacementConfig,proto3" json:"custom_placement_config,omitempty"`
  3659  	// The bucket's Autoclass configuration. If there is no configuration, the
  3660  	// Autoclass feature will be disabled and have no effect on the bucket.
  3661  	Autoclass *Bucket_Autoclass `protobuf:"bytes,28,opt,name=autoclass,proto3" json:"autoclass,omitempty"`
  3662  }
  3663  
  3664  func (x *Bucket) Reset() {
  3665  	*x = Bucket{}
  3666  	if protoimpl.UnsafeEnabled {
  3667  		mi := &file_google_storage_v2_storage_proto_msgTypes[38]
  3668  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3669  		ms.StoreMessageInfo(mi)
  3670  	}
  3671  }
  3672  
  3673  func (x *Bucket) String() string {
  3674  	return protoimpl.X.MessageStringOf(x)
  3675  }
  3676  
  3677  func (*Bucket) ProtoMessage() {}
  3678  
  3679  func (x *Bucket) ProtoReflect() protoreflect.Message {
  3680  	mi := &file_google_storage_v2_storage_proto_msgTypes[38]
  3681  	if protoimpl.UnsafeEnabled && x != nil {
  3682  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3683  		if ms.LoadMessageInfo() == nil {
  3684  			ms.StoreMessageInfo(mi)
  3685  		}
  3686  		return ms
  3687  	}
  3688  	return mi.MessageOf(x)
  3689  }
  3690  
  3691  // Deprecated: Use Bucket.ProtoReflect.Descriptor instead.
  3692  func (*Bucket) Descriptor() ([]byte, []int) {
  3693  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38}
  3694  }
  3695  
  3696  func (x *Bucket) GetName() string {
  3697  	if x != nil {
  3698  		return x.Name
  3699  	}
  3700  	return ""
  3701  }
  3702  
  3703  func (x *Bucket) GetBucketId() string {
  3704  	if x != nil {
  3705  		return x.BucketId
  3706  	}
  3707  	return ""
  3708  }
  3709  
  3710  func (x *Bucket) GetEtag() string {
  3711  	if x != nil {
  3712  		return x.Etag
  3713  	}
  3714  	return ""
  3715  }
  3716  
  3717  func (x *Bucket) GetProject() string {
  3718  	if x != nil {
  3719  		return x.Project
  3720  	}
  3721  	return ""
  3722  }
  3723  
  3724  func (x *Bucket) GetMetageneration() int64 {
  3725  	if x != nil {
  3726  		return x.Metageneration
  3727  	}
  3728  	return 0
  3729  }
  3730  
  3731  func (x *Bucket) GetLocation() string {
  3732  	if x != nil {
  3733  		return x.Location
  3734  	}
  3735  	return ""
  3736  }
  3737  
  3738  func (x *Bucket) GetLocationType() string {
  3739  	if x != nil {
  3740  		return x.LocationType
  3741  	}
  3742  	return ""
  3743  }
  3744  
  3745  func (x *Bucket) GetStorageClass() string {
  3746  	if x != nil {
  3747  		return x.StorageClass
  3748  	}
  3749  	return ""
  3750  }
  3751  
  3752  func (x *Bucket) GetRpo() string {
  3753  	if x != nil {
  3754  		return x.Rpo
  3755  	}
  3756  	return ""
  3757  }
  3758  
  3759  func (x *Bucket) GetAcl() []*BucketAccessControl {
  3760  	if x != nil {
  3761  		return x.Acl
  3762  	}
  3763  	return nil
  3764  }
  3765  
  3766  func (x *Bucket) GetDefaultObjectAcl() []*ObjectAccessControl {
  3767  	if x != nil {
  3768  		return x.DefaultObjectAcl
  3769  	}
  3770  	return nil
  3771  }
  3772  
  3773  func (x *Bucket) GetLifecycle() *Bucket_Lifecycle {
  3774  	if x != nil {
  3775  		return x.Lifecycle
  3776  	}
  3777  	return nil
  3778  }
  3779  
  3780  func (x *Bucket) GetCreateTime() *timestamppb.Timestamp {
  3781  	if x != nil {
  3782  		return x.CreateTime
  3783  	}
  3784  	return nil
  3785  }
  3786  
  3787  func (x *Bucket) GetCors() []*Bucket_Cors {
  3788  	if x != nil {
  3789  		return x.Cors
  3790  	}
  3791  	return nil
  3792  }
  3793  
  3794  func (x *Bucket) GetUpdateTime() *timestamppb.Timestamp {
  3795  	if x != nil {
  3796  		return x.UpdateTime
  3797  	}
  3798  	return nil
  3799  }
  3800  
  3801  func (x *Bucket) GetDefaultEventBasedHold() bool {
  3802  	if x != nil {
  3803  		return x.DefaultEventBasedHold
  3804  	}
  3805  	return false
  3806  }
  3807  
  3808  func (x *Bucket) GetLabels() map[string]string {
  3809  	if x != nil {
  3810  		return x.Labels
  3811  	}
  3812  	return nil
  3813  }
  3814  
  3815  func (x *Bucket) GetWebsite() *Bucket_Website {
  3816  	if x != nil {
  3817  		return x.Website
  3818  	}
  3819  	return nil
  3820  }
  3821  
  3822  func (x *Bucket) GetVersioning() *Bucket_Versioning {
  3823  	if x != nil {
  3824  		return x.Versioning
  3825  	}
  3826  	return nil
  3827  }
  3828  
  3829  func (x *Bucket) GetLogging() *Bucket_Logging {
  3830  	if x != nil {
  3831  		return x.Logging
  3832  	}
  3833  	return nil
  3834  }
  3835  
  3836  func (x *Bucket) GetOwner() *Owner {
  3837  	if x != nil {
  3838  		return x.Owner
  3839  	}
  3840  	return nil
  3841  }
  3842  
  3843  func (x *Bucket) GetEncryption() *Bucket_Encryption {
  3844  	if x != nil {
  3845  		return x.Encryption
  3846  	}
  3847  	return nil
  3848  }
  3849  
  3850  func (x *Bucket) GetBilling() *Bucket_Billing {
  3851  	if x != nil {
  3852  		return x.Billing
  3853  	}
  3854  	return nil
  3855  }
  3856  
  3857  func (x *Bucket) GetRetentionPolicy() *Bucket_RetentionPolicy {
  3858  	if x != nil {
  3859  		return x.RetentionPolicy
  3860  	}
  3861  	return nil
  3862  }
  3863  
  3864  func (x *Bucket) GetIamConfig() *Bucket_IamConfig {
  3865  	if x != nil {
  3866  		return x.IamConfig
  3867  	}
  3868  	return nil
  3869  }
  3870  
  3871  func (x *Bucket) GetSatisfiesPzs() bool {
  3872  	if x != nil {
  3873  		return x.SatisfiesPzs
  3874  	}
  3875  	return false
  3876  }
  3877  
  3878  func (x *Bucket) GetCustomPlacementConfig() *Bucket_CustomPlacementConfig {
  3879  	if x != nil {
  3880  		return x.CustomPlacementConfig
  3881  	}
  3882  	return nil
  3883  }
  3884  
  3885  func (x *Bucket) GetAutoclass() *Bucket_Autoclass {
  3886  	if x != nil {
  3887  		return x.Autoclass
  3888  	}
  3889  	return nil
  3890  }
  3891  
  3892  // An access-control entry.
  3893  type BucketAccessControl struct {
  3894  	state         protoimpl.MessageState
  3895  	sizeCache     protoimpl.SizeCache
  3896  	unknownFields protoimpl.UnknownFields
  3897  
  3898  	// The access permission for the entity.
  3899  	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
  3900  	// The ID of the access-control entry.
  3901  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
  3902  	// The entity holding the permission, in one of the following forms:
  3903  	// * `user-{userid}`
  3904  	// * `user-{email}`
  3905  	// * `group-{groupid}`
  3906  	// * `group-{email}`
  3907  	// * `domain-{domain}`
  3908  	// * `project-{team-projectid}`
  3909  	// * `allUsers`
  3910  	// * `allAuthenticatedUsers`
  3911  	// Examples:
  3912  	// * The user `liz@example.com` would be `user-liz@example.com`.
  3913  	// * The group `example@googlegroups.com` would be
  3914  	// `group-example@googlegroups.com`
  3915  	// * All members of the Google Apps for Business domain `example.com` would be
  3916  	// `domain-example.com`
  3917  	Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
  3918  	// The ID for the entity, if any.
  3919  	EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
  3920  	// The etag of the BucketAccessControl.
  3921  	// If included in the metadata of an update or delete request message, the
  3922  	// operation operation will only be performed if the etag matches that of the
  3923  	// bucket's BucketAccessControl.
  3924  	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
  3925  	// The email address associated with the entity, if any.
  3926  	Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
  3927  	// The domain associated with the entity, if any.
  3928  	Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
  3929  	// The project team associated with the entity, if any.
  3930  	ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
  3931  }
  3932  
  3933  func (x *BucketAccessControl) Reset() {
  3934  	*x = BucketAccessControl{}
  3935  	if protoimpl.UnsafeEnabled {
  3936  		mi := &file_google_storage_v2_storage_proto_msgTypes[39]
  3937  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3938  		ms.StoreMessageInfo(mi)
  3939  	}
  3940  }
  3941  
  3942  func (x *BucketAccessControl) String() string {
  3943  	return protoimpl.X.MessageStringOf(x)
  3944  }
  3945  
  3946  func (*BucketAccessControl) ProtoMessage() {}
  3947  
  3948  func (x *BucketAccessControl) ProtoReflect() protoreflect.Message {
  3949  	mi := &file_google_storage_v2_storage_proto_msgTypes[39]
  3950  	if protoimpl.UnsafeEnabled && x != nil {
  3951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3952  		if ms.LoadMessageInfo() == nil {
  3953  			ms.StoreMessageInfo(mi)
  3954  		}
  3955  		return ms
  3956  	}
  3957  	return mi.MessageOf(x)
  3958  }
  3959  
  3960  // Deprecated: Use BucketAccessControl.ProtoReflect.Descriptor instead.
  3961  func (*BucketAccessControl) Descriptor() ([]byte, []int) {
  3962  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39}
  3963  }
  3964  
  3965  func (x *BucketAccessControl) GetRole() string {
  3966  	if x != nil {
  3967  		return x.Role
  3968  	}
  3969  	return ""
  3970  }
  3971  
  3972  func (x *BucketAccessControl) GetId() string {
  3973  	if x != nil {
  3974  		return x.Id
  3975  	}
  3976  	return ""
  3977  }
  3978  
  3979  func (x *BucketAccessControl) GetEntity() string {
  3980  	if x != nil {
  3981  		return x.Entity
  3982  	}
  3983  	return ""
  3984  }
  3985  
  3986  func (x *BucketAccessControl) GetEntityId() string {
  3987  	if x != nil {
  3988  		return x.EntityId
  3989  	}
  3990  	return ""
  3991  }
  3992  
  3993  func (x *BucketAccessControl) GetEtag() string {
  3994  	if x != nil {
  3995  		return x.Etag
  3996  	}
  3997  	return ""
  3998  }
  3999  
  4000  func (x *BucketAccessControl) GetEmail() string {
  4001  	if x != nil {
  4002  		return x.Email
  4003  	}
  4004  	return ""
  4005  }
  4006  
  4007  func (x *BucketAccessControl) GetDomain() string {
  4008  	if x != nil {
  4009  		return x.Domain
  4010  	}
  4011  	return ""
  4012  }
  4013  
  4014  func (x *BucketAccessControl) GetProjectTeam() *ProjectTeam {
  4015  	if x != nil {
  4016  		return x.ProjectTeam
  4017  	}
  4018  	return nil
  4019  }
  4020  
  4021  // Message used to convey content being read or written, along with an optional
  4022  // checksum.
  4023  type ChecksummedData struct {
  4024  	state         protoimpl.MessageState
  4025  	sizeCache     protoimpl.SizeCache
  4026  	unknownFields protoimpl.UnknownFields
  4027  
  4028  	// The data.
  4029  	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
  4030  	// If set, the CRC32C digest of the content field.
  4031  	Crc32C *uint32 `protobuf:"fixed32,2,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
  4032  }
  4033  
  4034  func (x *ChecksummedData) Reset() {
  4035  	*x = ChecksummedData{}
  4036  	if protoimpl.UnsafeEnabled {
  4037  		mi := &file_google_storage_v2_storage_proto_msgTypes[40]
  4038  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4039  		ms.StoreMessageInfo(mi)
  4040  	}
  4041  }
  4042  
  4043  func (x *ChecksummedData) String() string {
  4044  	return protoimpl.X.MessageStringOf(x)
  4045  }
  4046  
  4047  func (*ChecksummedData) ProtoMessage() {}
  4048  
  4049  func (x *ChecksummedData) ProtoReflect() protoreflect.Message {
  4050  	mi := &file_google_storage_v2_storage_proto_msgTypes[40]
  4051  	if protoimpl.UnsafeEnabled && x != nil {
  4052  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4053  		if ms.LoadMessageInfo() == nil {
  4054  			ms.StoreMessageInfo(mi)
  4055  		}
  4056  		return ms
  4057  	}
  4058  	return mi.MessageOf(x)
  4059  }
  4060  
  4061  // Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead.
  4062  func (*ChecksummedData) Descriptor() ([]byte, []int) {
  4063  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{40}
  4064  }
  4065  
  4066  func (x *ChecksummedData) GetContent() []byte {
  4067  	if x != nil {
  4068  		return x.Content
  4069  	}
  4070  	return nil
  4071  }
  4072  
  4073  func (x *ChecksummedData) GetCrc32C() uint32 {
  4074  	if x != nil && x.Crc32C != nil {
  4075  		return *x.Crc32C
  4076  	}
  4077  	return 0
  4078  }
  4079  
  4080  // Message used for storing full (not subrange) object checksums.
  4081  type ObjectChecksums struct {
  4082  	state         protoimpl.MessageState
  4083  	sizeCache     protoimpl.SizeCache
  4084  	unknownFields protoimpl.UnknownFields
  4085  
  4086  	// CRC32C digest of the object data. Computed by the Cloud Storage service for
  4087  	// all written objects.
  4088  	// If set in an WriteObjectRequest, service will validate that the stored
  4089  	// object matches this checksum.
  4090  	Crc32C *uint32 `protobuf:"fixed32,1,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
  4091  	// 128 bit MD5 hash of the object data.
  4092  	// For more information about using the MD5 hash, see
  4093  	// [https://cloud.google.com/storage/docs/hashes-etags#json-api][Hashes and
  4094  	// ETags: Best Practices].
  4095  	// Not all objects will provide an MD5 hash. For example, composite objects
  4096  	// provide only crc32c hashes.
  4097  	// This value is equivalent to running `cat object.txt | openssl md5 -binary`
  4098  	Md5Hash []byte `protobuf:"bytes,2,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"`
  4099  }
  4100  
  4101  func (x *ObjectChecksums) Reset() {
  4102  	*x = ObjectChecksums{}
  4103  	if protoimpl.UnsafeEnabled {
  4104  		mi := &file_google_storage_v2_storage_proto_msgTypes[41]
  4105  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4106  		ms.StoreMessageInfo(mi)
  4107  	}
  4108  }
  4109  
  4110  func (x *ObjectChecksums) String() string {
  4111  	return protoimpl.X.MessageStringOf(x)
  4112  }
  4113  
  4114  func (*ObjectChecksums) ProtoMessage() {}
  4115  
  4116  func (x *ObjectChecksums) ProtoReflect() protoreflect.Message {
  4117  	mi := &file_google_storage_v2_storage_proto_msgTypes[41]
  4118  	if protoimpl.UnsafeEnabled && x != nil {
  4119  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4120  		if ms.LoadMessageInfo() == nil {
  4121  			ms.StoreMessageInfo(mi)
  4122  		}
  4123  		return ms
  4124  	}
  4125  	return mi.MessageOf(x)
  4126  }
  4127  
  4128  // Deprecated: Use ObjectChecksums.ProtoReflect.Descriptor instead.
  4129  func (*ObjectChecksums) Descriptor() ([]byte, []int) {
  4130  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{41}
  4131  }
  4132  
  4133  func (x *ObjectChecksums) GetCrc32C() uint32 {
  4134  	if x != nil && x.Crc32C != nil {
  4135  		return *x.Crc32C
  4136  	}
  4137  	return 0
  4138  }
  4139  
  4140  func (x *ObjectChecksums) GetMd5Hash() []byte {
  4141  	if x != nil {
  4142  		return x.Md5Hash
  4143  	}
  4144  	return nil
  4145  }
  4146  
  4147  // Hmac Key Metadata, which includes all information other than the secret.
  4148  type HmacKeyMetadata struct {
  4149  	state         protoimpl.MessageState
  4150  	sizeCache     protoimpl.SizeCache
  4151  	unknownFields protoimpl.UnknownFields
  4152  
  4153  	// Resource name ID of the key in the format <projectId>/<accessId>.
  4154  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  4155  	// Globally unique id for keys.
  4156  	AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
  4157  	// The project ID that the hmac key is contained in.
  4158  	Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
  4159  	// Email of the service account the key authenticates as.
  4160  	ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
  4161  	// State of the key. One of ACTIVE, INACTIVE, or DELETED.
  4162  	State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
  4163  	// The creation time of the HMAC key.
  4164  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  4165  	// The last modification time of the HMAC key metadata.
  4166  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  4167  	// The etag of the HMAC key.
  4168  	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
  4169  }
  4170  
  4171  func (x *HmacKeyMetadata) Reset() {
  4172  	*x = HmacKeyMetadata{}
  4173  	if protoimpl.UnsafeEnabled {
  4174  		mi := &file_google_storage_v2_storage_proto_msgTypes[42]
  4175  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4176  		ms.StoreMessageInfo(mi)
  4177  	}
  4178  }
  4179  
  4180  func (x *HmacKeyMetadata) String() string {
  4181  	return protoimpl.X.MessageStringOf(x)
  4182  }
  4183  
  4184  func (*HmacKeyMetadata) ProtoMessage() {}
  4185  
  4186  func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message {
  4187  	mi := &file_google_storage_v2_storage_proto_msgTypes[42]
  4188  	if protoimpl.UnsafeEnabled && x != nil {
  4189  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4190  		if ms.LoadMessageInfo() == nil {
  4191  			ms.StoreMessageInfo(mi)
  4192  		}
  4193  		return ms
  4194  	}
  4195  	return mi.MessageOf(x)
  4196  }
  4197  
  4198  // Deprecated: Use HmacKeyMetadata.ProtoReflect.Descriptor instead.
  4199  func (*HmacKeyMetadata) Descriptor() ([]byte, []int) {
  4200  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{42}
  4201  }
  4202  
  4203  func (x *HmacKeyMetadata) GetId() string {
  4204  	if x != nil {
  4205  		return x.Id
  4206  	}
  4207  	return ""
  4208  }
  4209  
  4210  func (x *HmacKeyMetadata) GetAccessId() string {
  4211  	if x != nil {
  4212  		return x.AccessId
  4213  	}
  4214  	return ""
  4215  }
  4216  
  4217  func (x *HmacKeyMetadata) GetProject() string {
  4218  	if x != nil {
  4219  		return x.Project
  4220  	}
  4221  	return ""
  4222  }
  4223  
  4224  func (x *HmacKeyMetadata) GetServiceAccountEmail() string {
  4225  	if x != nil {
  4226  		return x.ServiceAccountEmail
  4227  	}
  4228  	return ""
  4229  }
  4230  
  4231  func (x *HmacKeyMetadata) GetState() string {
  4232  	if x != nil {
  4233  		return x.State
  4234  	}
  4235  	return ""
  4236  }
  4237  
  4238  func (x *HmacKeyMetadata) GetCreateTime() *timestamppb.Timestamp {
  4239  	if x != nil {
  4240  		return x.CreateTime
  4241  	}
  4242  	return nil
  4243  }
  4244  
  4245  func (x *HmacKeyMetadata) GetUpdateTime() *timestamppb.Timestamp {
  4246  	if x != nil {
  4247  		return x.UpdateTime
  4248  	}
  4249  	return nil
  4250  }
  4251  
  4252  func (x *HmacKeyMetadata) GetEtag() string {
  4253  	if x != nil {
  4254  		return x.Etag
  4255  	}
  4256  	return ""
  4257  }
  4258  
  4259  // A directive to publish Pub/Sub notifications upon changes to a bucket.
  4260  type Notification struct {
  4261  	state         protoimpl.MessageState
  4262  	sizeCache     protoimpl.SizeCache
  4263  	unknownFields protoimpl.UnknownFields
  4264  
  4265  	// Required. The resource name of this notification.
  4266  	// Format:
  4267  	// `projects/{project}/buckets/{bucket}/notificationConfigs/{notification}`
  4268  	// The `{project}` portion may be `_` for globally unique buckets.
  4269  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  4270  	// Required. The Pub/Sub topic to which this subscription publishes. Formatted as:
  4271  	// '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
  4272  	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
  4273  	// The etag of the Notification.
  4274  	// If included in the metadata of GetNotificationRequest, the operation will
  4275  	// only be performed if the etag matches that of the Notification.
  4276  	Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
  4277  	// Optional. If present, only send notifications about listed event types. If empty,
  4278  	// sent notifications for all event types.
  4279  	EventTypes []string `protobuf:"bytes,3,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"`
  4280  	// Optional. An optional list of additional attributes to attach to each Pub/Sub
  4281  	// message published for this notification subscription.
  4282  	CustomAttributes map[string]string `protobuf:"bytes,4,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  4283  	// Optional. If present, only apply this notification config to object names that
  4284  	// begin with this prefix.
  4285  	ObjectNamePrefix string `protobuf:"bytes,5,opt,name=object_name_prefix,json=objectNamePrefix,proto3" json:"object_name_prefix,omitempty"`
  4286  	// Required. The desired content of the Payload.
  4287  	PayloadFormat string `protobuf:"bytes,6,opt,name=payload_format,json=payloadFormat,proto3" json:"payload_format,omitempty"`
  4288  }
  4289  
  4290  func (x *Notification) Reset() {
  4291  	*x = Notification{}
  4292  	if protoimpl.UnsafeEnabled {
  4293  		mi := &file_google_storage_v2_storage_proto_msgTypes[43]
  4294  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4295  		ms.StoreMessageInfo(mi)
  4296  	}
  4297  }
  4298  
  4299  func (x *Notification) String() string {
  4300  	return protoimpl.X.MessageStringOf(x)
  4301  }
  4302  
  4303  func (*Notification) ProtoMessage() {}
  4304  
  4305  func (x *Notification) ProtoReflect() protoreflect.Message {
  4306  	mi := &file_google_storage_v2_storage_proto_msgTypes[43]
  4307  	if protoimpl.UnsafeEnabled && x != nil {
  4308  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4309  		if ms.LoadMessageInfo() == nil {
  4310  			ms.StoreMessageInfo(mi)
  4311  		}
  4312  		return ms
  4313  	}
  4314  	return mi.MessageOf(x)
  4315  }
  4316  
  4317  // Deprecated: Use Notification.ProtoReflect.Descriptor instead.
  4318  func (*Notification) Descriptor() ([]byte, []int) {
  4319  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{43}
  4320  }
  4321  
  4322  func (x *Notification) GetName() string {
  4323  	if x != nil {
  4324  		return x.Name
  4325  	}
  4326  	return ""
  4327  }
  4328  
  4329  func (x *Notification) GetTopic() string {
  4330  	if x != nil {
  4331  		return x.Topic
  4332  	}
  4333  	return ""
  4334  }
  4335  
  4336  func (x *Notification) GetEtag() string {
  4337  	if x != nil {
  4338  		return x.Etag
  4339  	}
  4340  	return ""
  4341  }
  4342  
  4343  func (x *Notification) GetEventTypes() []string {
  4344  	if x != nil {
  4345  		return x.EventTypes
  4346  	}
  4347  	return nil
  4348  }
  4349  
  4350  func (x *Notification) GetCustomAttributes() map[string]string {
  4351  	if x != nil {
  4352  		return x.CustomAttributes
  4353  	}
  4354  	return nil
  4355  }
  4356  
  4357  func (x *Notification) GetObjectNamePrefix() string {
  4358  	if x != nil {
  4359  		return x.ObjectNamePrefix
  4360  	}
  4361  	return ""
  4362  }
  4363  
  4364  func (x *Notification) GetPayloadFormat() string {
  4365  	if x != nil {
  4366  		return x.PayloadFormat
  4367  	}
  4368  	return ""
  4369  }
  4370  
  4371  // Describes the Customer-Supplied Encryption Key mechanism used to store an
  4372  // Object's data at rest.
  4373  type CustomerEncryption struct {
  4374  	state         protoimpl.MessageState
  4375  	sizeCache     protoimpl.SizeCache
  4376  	unknownFields protoimpl.UnknownFields
  4377  
  4378  	// The encryption algorithm.
  4379  	EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
  4380  	// SHA256 hash value of the encryption key.
  4381  	// In raw bytes format (not base64-encoded).
  4382  	KeySha256Bytes []byte `protobuf:"bytes,3,opt,name=key_sha256_bytes,json=keySha256Bytes,proto3" json:"key_sha256_bytes,omitempty"`
  4383  }
  4384  
  4385  func (x *CustomerEncryption) Reset() {
  4386  	*x = CustomerEncryption{}
  4387  	if protoimpl.UnsafeEnabled {
  4388  		mi := &file_google_storage_v2_storage_proto_msgTypes[44]
  4389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4390  		ms.StoreMessageInfo(mi)
  4391  	}
  4392  }
  4393  
  4394  func (x *CustomerEncryption) String() string {
  4395  	return protoimpl.X.MessageStringOf(x)
  4396  }
  4397  
  4398  func (*CustomerEncryption) ProtoMessage() {}
  4399  
  4400  func (x *CustomerEncryption) ProtoReflect() protoreflect.Message {
  4401  	mi := &file_google_storage_v2_storage_proto_msgTypes[44]
  4402  	if protoimpl.UnsafeEnabled && x != nil {
  4403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4404  		if ms.LoadMessageInfo() == nil {
  4405  			ms.StoreMessageInfo(mi)
  4406  		}
  4407  		return ms
  4408  	}
  4409  	return mi.MessageOf(x)
  4410  }
  4411  
  4412  // Deprecated: Use CustomerEncryption.ProtoReflect.Descriptor instead.
  4413  func (*CustomerEncryption) Descriptor() ([]byte, []int) {
  4414  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{44}
  4415  }
  4416  
  4417  func (x *CustomerEncryption) GetEncryptionAlgorithm() string {
  4418  	if x != nil {
  4419  		return x.EncryptionAlgorithm
  4420  	}
  4421  	return ""
  4422  }
  4423  
  4424  func (x *CustomerEncryption) GetKeySha256Bytes() []byte {
  4425  	if x != nil {
  4426  		return x.KeySha256Bytes
  4427  	}
  4428  	return nil
  4429  }
  4430  
  4431  // An object.
  4432  type Object struct {
  4433  	state         protoimpl.MessageState
  4434  	sizeCache     protoimpl.SizeCache
  4435  	unknownFields protoimpl.UnknownFields
  4436  
  4437  	// Immutable. The name of this object. Nearly any sequence of unicode characters is
  4438  	// valid. See
  4439  	// [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
  4440  	// Example: `test.txt`
  4441  	// The `name` field by itself does not uniquely identify a Cloud Storage
  4442  	// object. A Cloud Storage object is uniquely identified by the tuple of
  4443  	// (bucket, object, generation).
  4444  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  4445  	// Immutable. The name of the bucket containing this object.
  4446  	Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
  4447  	// The etag of the object.
  4448  	// If included in the metadata of an update or delete request message, the
  4449  	// operation will only be performed if the etag matches that of the live
  4450  	// object.
  4451  	Etag string `protobuf:"bytes,27,opt,name=etag,proto3" json:"etag,omitempty"`
  4452  	// Immutable. The content generation of this object. Used for object versioning.
  4453  	// Attempting to set or update this field will result in a
  4454  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4455  	Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
  4456  	// Output only. The version of the metadata for this generation of this object. Used for
  4457  	// preconditions and for detecting changes in metadata. A metageneration
  4458  	// number is only meaningful in the context of a particular generation of a
  4459  	// particular object.
  4460  	// Attempting to set or update this field will result in a
  4461  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4462  	Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
  4463  	// Storage class of the object.
  4464  	StorageClass string `protobuf:"bytes,5,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
  4465  	// Output only. Content-Length of the object data in bytes, matching
  4466  	// [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2].
  4467  	// Attempting to set or update this field will result in a
  4468  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4469  	Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"`
  4470  	// Content-Encoding of the object data, matching
  4471  	// [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2]
  4472  	ContentEncoding string `protobuf:"bytes,7,opt,name=content_encoding,json=contentEncoding,proto3" json:"content_encoding,omitempty"`
  4473  	// Content-Disposition of the object data, matching
  4474  	// [https://tools.ietf.org/html/rfc6266][RFC 6266].
  4475  	ContentDisposition string `protobuf:"bytes,8,opt,name=content_disposition,json=contentDisposition,proto3" json:"content_disposition,omitempty"`
  4476  	// Cache-Control directive for the object data, matching
  4477  	// [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2].
  4478  	// If omitted, and the object is accessible to all anonymous users, the
  4479  	// default will be `public, max-age=3600`.
  4480  	CacheControl string `protobuf:"bytes,9,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
  4481  	// Access controls on the object.
  4482  	// If iamConfig.uniformBucketLevelAccess is enabled on the parent
  4483  	// bucket, requests to set, read, or modify acl is an error.
  4484  	Acl []*ObjectAccessControl `protobuf:"bytes,10,rep,name=acl,proto3" json:"acl,omitempty"`
  4485  	// Content-Language of the object data, matching
  4486  	// [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
  4487  	ContentLanguage string `protobuf:"bytes,11,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
  4488  	// Output only. The deletion time of the object. Will be returned if and only if this
  4489  	// version of the object has been deleted.
  4490  	// Attempting to set or update this field will result in a
  4491  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4492  	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
  4493  	// Content-Type of the object data, matching
  4494  	// [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5].
  4495  	// If an object is stored without a Content-Type, it is served as
  4496  	// `application/octet-stream`.
  4497  	ContentType string `protobuf:"bytes,13,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
  4498  	// Output only. The creation time of the object.
  4499  	// Attempting to set or update this field will result in a
  4500  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4501  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  4502  	// Output only. Number of underlying components that make up this object. Components are
  4503  	// accumulated by compose operations.
  4504  	// Attempting to set or update this field will result in a
  4505  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4506  	ComponentCount int32 `protobuf:"varint,15,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"`
  4507  	// Output only. Hashes for the data part of this object.
  4508  	Checksums *ObjectChecksums `protobuf:"bytes,16,opt,name=checksums,proto3" json:"checksums,omitempty"`
  4509  	// Output only. The modification time of the object metadata.
  4510  	// Attempting to set or update this field will result in a
  4511  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4512  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  4513  	// Cloud KMS Key used to encrypt this object, if the object is encrypted by
  4514  	// such a key.
  4515  	KmsKey string `protobuf:"bytes,18,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
  4516  	// Output only. The time at which the object's storage class was last changed. When the
  4517  	// object is initially created, it will be set to time_created.
  4518  	// Attempting to set or update this field will result in a
  4519  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4520  	UpdateStorageClassTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=update_storage_class_time,json=updateStorageClassTime,proto3" json:"update_storage_class_time,omitempty"`
  4521  	// Whether an object is under temporary hold. While this flag is set to true,
  4522  	// the object is protected against deletion and overwrites.  A common use case
  4523  	// of this flag is regulatory investigations where objects need to be retained
  4524  	// while the investigation is ongoing. Note that unlike event-based hold,
  4525  	// temporary hold does not impact retention expiration time of an object.
  4526  	TemporaryHold bool `protobuf:"varint,20,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"`
  4527  	// A server-determined value that specifies the earliest time that the
  4528  	// object's retention period expires.
  4529  	// Note 1: This field is not provided for objects with an active event-based
  4530  	// hold, since retention expiration is unknown until the hold is removed.
  4531  	// Note 2: This value can be provided even when temporary hold is set (so that
  4532  	// the user can reason about policy without having to first unset the
  4533  	// temporary hold).
  4534  	RetentionExpireTime *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=retention_expire_time,json=retentionExpireTime,proto3" json:"retention_expire_time,omitempty"`
  4535  	// User-provided metadata, in key/value pairs.
  4536  	Metadata map[string]string `protobuf:"bytes,22,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  4537  	// Whether an object is under event-based hold.
  4538  	// An event-based hold is a way to force the retention of an object until
  4539  	// after some event occurs. Once the hold is released by explicitly setting
  4540  	// this field to false, the object will become subject to any bucket-level
  4541  	// retention policy, except that the retention duration will be calculated
  4542  	// from the time the event based hold was lifted, rather than the time the
  4543  	// object was created.
  4544  	//
  4545  	// In a WriteObject request, not setting this field implies that the value
  4546  	// should be taken from the parent bucket's "default_event_based_hold" field.
  4547  	// In a response, this field will always be set to true or false.
  4548  	EventBasedHold *bool `protobuf:"varint,23,opt,name=event_based_hold,json=eventBasedHold,proto3,oneof" json:"event_based_hold,omitempty"`
  4549  	// Output only. The owner of the object. This will always be the uploader of the object.
  4550  	// Attempting to set or update this field will result in a
  4551  	// [FieldViolation][google.rpc.BadRequest.FieldViolation].
  4552  	Owner *Owner `protobuf:"bytes,24,opt,name=owner,proto3" json:"owner,omitempty"`
  4553  	// Metadata of Customer-Supplied Encryption Key, if the object is encrypted by
  4554  	// such a key.
  4555  	CustomerEncryption *CustomerEncryption `protobuf:"bytes,25,opt,name=customer_encryption,json=customerEncryption,proto3" json:"customer_encryption,omitempty"`
  4556  	// A user-specified timestamp set on an object.
  4557  	CustomTime *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=custom_time,json=customTime,proto3" json:"custom_time,omitempty"`
  4558  }
  4559  
  4560  func (x *Object) Reset() {
  4561  	*x = Object{}
  4562  	if protoimpl.UnsafeEnabled {
  4563  		mi := &file_google_storage_v2_storage_proto_msgTypes[45]
  4564  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4565  		ms.StoreMessageInfo(mi)
  4566  	}
  4567  }
  4568  
  4569  func (x *Object) String() string {
  4570  	return protoimpl.X.MessageStringOf(x)
  4571  }
  4572  
  4573  func (*Object) ProtoMessage() {}
  4574  
  4575  func (x *Object) ProtoReflect() protoreflect.Message {
  4576  	mi := &file_google_storage_v2_storage_proto_msgTypes[45]
  4577  	if protoimpl.UnsafeEnabled && x != nil {
  4578  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4579  		if ms.LoadMessageInfo() == nil {
  4580  			ms.StoreMessageInfo(mi)
  4581  		}
  4582  		return ms
  4583  	}
  4584  	return mi.MessageOf(x)
  4585  }
  4586  
  4587  // Deprecated: Use Object.ProtoReflect.Descriptor instead.
  4588  func (*Object) Descriptor() ([]byte, []int) {
  4589  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{45}
  4590  }
  4591  
  4592  func (x *Object) GetName() string {
  4593  	if x != nil {
  4594  		return x.Name
  4595  	}
  4596  	return ""
  4597  }
  4598  
  4599  func (x *Object) GetBucket() string {
  4600  	if x != nil {
  4601  		return x.Bucket
  4602  	}
  4603  	return ""
  4604  }
  4605  
  4606  func (x *Object) GetEtag() string {
  4607  	if x != nil {
  4608  		return x.Etag
  4609  	}
  4610  	return ""
  4611  }
  4612  
  4613  func (x *Object) GetGeneration() int64 {
  4614  	if x != nil {
  4615  		return x.Generation
  4616  	}
  4617  	return 0
  4618  }
  4619  
  4620  func (x *Object) GetMetageneration() int64 {
  4621  	if x != nil {
  4622  		return x.Metageneration
  4623  	}
  4624  	return 0
  4625  }
  4626  
  4627  func (x *Object) GetStorageClass() string {
  4628  	if x != nil {
  4629  		return x.StorageClass
  4630  	}
  4631  	return ""
  4632  }
  4633  
  4634  func (x *Object) GetSize() int64 {
  4635  	if x != nil {
  4636  		return x.Size
  4637  	}
  4638  	return 0
  4639  }
  4640  
  4641  func (x *Object) GetContentEncoding() string {
  4642  	if x != nil {
  4643  		return x.ContentEncoding
  4644  	}
  4645  	return ""
  4646  }
  4647  
  4648  func (x *Object) GetContentDisposition() string {
  4649  	if x != nil {
  4650  		return x.ContentDisposition
  4651  	}
  4652  	return ""
  4653  }
  4654  
  4655  func (x *Object) GetCacheControl() string {
  4656  	if x != nil {
  4657  		return x.CacheControl
  4658  	}
  4659  	return ""
  4660  }
  4661  
  4662  func (x *Object) GetAcl() []*ObjectAccessControl {
  4663  	if x != nil {
  4664  		return x.Acl
  4665  	}
  4666  	return nil
  4667  }
  4668  
  4669  func (x *Object) GetContentLanguage() string {
  4670  	if x != nil {
  4671  		return x.ContentLanguage
  4672  	}
  4673  	return ""
  4674  }
  4675  
  4676  func (x *Object) GetDeleteTime() *timestamppb.Timestamp {
  4677  	if x != nil {
  4678  		return x.DeleteTime
  4679  	}
  4680  	return nil
  4681  }
  4682  
  4683  func (x *Object) GetContentType() string {
  4684  	if x != nil {
  4685  		return x.ContentType
  4686  	}
  4687  	return ""
  4688  }
  4689  
  4690  func (x *Object) GetCreateTime() *timestamppb.Timestamp {
  4691  	if x != nil {
  4692  		return x.CreateTime
  4693  	}
  4694  	return nil
  4695  }
  4696  
  4697  func (x *Object) GetComponentCount() int32 {
  4698  	if x != nil {
  4699  		return x.ComponentCount
  4700  	}
  4701  	return 0
  4702  }
  4703  
  4704  func (x *Object) GetChecksums() *ObjectChecksums {
  4705  	if x != nil {
  4706  		return x.Checksums
  4707  	}
  4708  	return nil
  4709  }
  4710  
  4711  func (x *Object) GetUpdateTime() *timestamppb.Timestamp {
  4712  	if x != nil {
  4713  		return x.UpdateTime
  4714  	}
  4715  	return nil
  4716  }
  4717  
  4718  func (x *Object) GetKmsKey() string {
  4719  	if x != nil {
  4720  		return x.KmsKey
  4721  	}
  4722  	return ""
  4723  }
  4724  
  4725  func (x *Object) GetUpdateStorageClassTime() *timestamppb.Timestamp {
  4726  	if x != nil {
  4727  		return x.UpdateStorageClassTime
  4728  	}
  4729  	return nil
  4730  }
  4731  
  4732  func (x *Object) GetTemporaryHold() bool {
  4733  	if x != nil {
  4734  		return x.TemporaryHold
  4735  	}
  4736  	return false
  4737  }
  4738  
  4739  func (x *Object) GetRetentionExpireTime() *timestamppb.Timestamp {
  4740  	if x != nil {
  4741  		return x.RetentionExpireTime
  4742  	}
  4743  	return nil
  4744  }
  4745  
  4746  func (x *Object) GetMetadata() map[string]string {
  4747  	if x != nil {
  4748  		return x.Metadata
  4749  	}
  4750  	return nil
  4751  }
  4752  
  4753  func (x *Object) GetEventBasedHold() bool {
  4754  	if x != nil && x.EventBasedHold != nil {
  4755  		return *x.EventBasedHold
  4756  	}
  4757  	return false
  4758  }
  4759  
  4760  func (x *Object) GetOwner() *Owner {
  4761  	if x != nil {
  4762  		return x.Owner
  4763  	}
  4764  	return nil
  4765  }
  4766  
  4767  func (x *Object) GetCustomerEncryption() *CustomerEncryption {
  4768  	if x != nil {
  4769  		return x.CustomerEncryption
  4770  	}
  4771  	return nil
  4772  }
  4773  
  4774  func (x *Object) GetCustomTime() *timestamppb.Timestamp {
  4775  	if x != nil {
  4776  		return x.CustomTime
  4777  	}
  4778  	return nil
  4779  }
  4780  
  4781  // An access-control entry.
  4782  type ObjectAccessControl struct {
  4783  	state         protoimpl.MessageState
  4784  	sizeCache     protoimpl.SizeCache
  4785  	unknownFields protoimpl.UnknownFields
  4786  
  4787  	// The access permission for the entity.
  4788  	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
  4789  	// The ID of the access-control entry.
  4790  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
  4791  	// The entity holding the permission, in one of the following forms:
  4792  	// * `user-{userid}`
  4793  	// * `user-{email}`
  4794  	// * `group-{groupid}`
  4795  	// * `group-{email}`
  4796  	// * `domain-{domain}`
  4797  	// * `project-{team-projectid}`
  4798  	// * `allUsers`
  4799  	// * `allAuthenticatedUsers`
  4800  	// Examples:
  4801  	// * The user `liz@example.com` would be `user-liz@example.com`.
  4802  	// * The group `example@googlegroups.com` would be
  4803  	// `group-example@googlegroups.com`.
  4804  	// * All members of the Google Apps for Business domain `example.com` would be
  4805  	// `domain-example.com`.
  4806  	Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
  4807  	// The ID for the entity, if any.
  4808  	EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
  4809  	// The etag of the ObjectAccessControl.
  4810  	// If included in the metadata of an update or delete request message, the
  4811  	// operation will only be performed if the etag matches that of the live
  4812  	// object's ObjectAccessControl.
  4813  	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
  4814  	// The email address associated with the entity, if any.
  4815  	Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
  4816  	// The domain associated with the entity, if any.
  4817  	Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
  4818  	// The project team associated with the entity, if any.
  4819  	ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
  4820  }
  4821  
  4822  func (x *ObjectAccessControl) Reset() {
  4823  	*x = ObjectAccessControl{}
  4824  	if protoimpl.UnsafeEnabled {
  4825  		mi := &file_google_storage_v2_storage_proto_msgTypes[46]
  4826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4827  		ms.StoreMessageInfo(mi)
  4828  	}
  4829  }
  4830  
  4831  func (x *ObjectAccessControl) String() string {
  4832  	return protoimpl.X.MessageStringOf(x)
  4833  }
  4834  
  4835  func (*ObjectAccessControl) ProtoMessage() {}
  4836  
  4837  func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message {
  4838  	mi := &file_google_storage_v2_storage_proto_msgTypes[46]
  4839  	if protoimpl.UnsafeEnabled && x != nil {
  4840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4841  		if ms.LoadMessageInfo() == nil {
  4842  			ms.StoreMessageInfo(mi)
  4843  		}
  4844  		return ms
  4845  	}
  4846  	return mi.MessageOf(x)
  4847  }
  4848  
  4849  // Deprecated: Use ObjectAccessControl.ProtoReflect.Descriptor instead.
  4850  func (*ObjectAccessControl) Descriptor() ([]byte, []int) {
  4851  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{46}
  4852  }
  4853  
  4854  func (x *ObjectAccessControl) GetRole() string {
  4855  	if x != nil {
  4856  		return x.Role
  4857  	}
  4858  	return ""
  4859  }
  4860  
  4861  func (x *ObjectAccessControl) GetId() string {
  4862  	if x != nil {
  4863  		return x.Id
  4864  	}
  4865  	return ""
  4866  }
  4867  
  4868  func (x *ObjectAccessControl) GetEntity() string {
  4869  	if x != nil {
  4870  		return x.Entity
  4871  	}
  4872  	return ""
  4873  }
  4874  
  4875  func (x *ObjectAccessControl) GetEntityId() string {
  4876  	if x != nil {
  4877  		return x.EntityId
  4878  	}
  4879  	return ""
  4880  }
  4881  
  4882  func (x *ObjectAccessControl) GetEtag() string {
  4883  	if x != nil {
  4884  		return x.Etag
  4885  	}
  4886  	return ""
  4887  }
  4888  
  4889  func (x *ObjectAccessControl) GetEmail() string {
  4890  	if x != nil {
  4891  		return x.Email
  4892  	}
  4893  	return ""
  4894  }
  4895  
  4896  func (x *ObjectAccessControl) GetDomain() string {
  4897  	if x != nil {
  4898  		return x.Domain
  4899  	}
  4900  	return ""
  4901  }
  4902  
  4903  func (x *ObjectAccessControl) GetProjectTeam() *ProjectTeam {
  4904  	if x != nil {
  4905  		return x.ProjectTeam
  4906  	}
  4907  	return nil
  4908  }
  4909  
  4910  // The result of a call to Objects.ListObjects
  4911  type ListObjectsResponse struct {
  4912  	state         protoimpl.MessageState
  4913  	sizeCache     protoimpl.SizeCache
  4914  	unknownFields protoimpl.UnknownFields
  4915  
  4916  	// The list of items.
  4917  	Objects []*Object `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
  4918  	// The list of prefixes of objects matching-but-not-listed up to and including
  4919  	// the requested delimiter.
  4920  	Prefixes []string `protobuf:"bytes,2,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
  4921  	// The continuation token, used to page through large result sets. Provide
  4922  	// this value in a subsequent request to return the next page of results.
  4923  	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  4924  }
  4925  
  4926  func (x *ListObjectsResponse) Reset() {
  4927  	*x = ListObjectsResponse{}
  4928  	if protoimpl.UnsafeEnabled {
  4929  		mi := &file_google_storage_v2_storage_proto_msgTypes[47]
  4930  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4931  		ms.StoreMessageInfo(mi)
  4932  	}
  4933  }
  4934  
  4935  func (x *ListObjectsResponse) String() string {
  4936  	return protoimpl.X.MessageStringOf(x)
  4937  }
  4938  
  4939  func (*ListObjectsResponse) ProtoMessage() {}
  4940  
  4941  func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message {
  4942  	mi := &file_google_storage_v2_storage_proto_msgTypes[47]
  4943  	if protoimpl.UnsafeEnabled && x != nil {
  4944  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4945  		if ms.LoadMessageInfo() == nil {
  4946  			ms.StoreMessageInfo(mi)
  4947  		}
  4948  		return ms
  4949  	}
  4950  	return mi.MessageOf(x)
  4951  }
  4952  
  4953  // Deprecated: Use ListObjectsResponse.ProtoReflect.Descriptor instead.
  4954  func (*ListObjectsResponse) Descriptor() ([]byte, []int) {
  4955  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{47}
  4956  }
  4957  
  4958  func (x *ListObjectsResponse) GetObjects() []*Object {
  4959  	if x != nil {
  4960  		return x.Objects
  4961  	}
  4962  	return nil
  4963  }
  4964  
  4965  func (x *ListObjectsResponse) GetPrefixes() []string {
  4966  	if x != nil {
  4967  		return x.Prefixes
  4968  	}
  4969  	return nil
  4970  }
  4971  
  4972  func (x *ListObjectsResponse) GetNextPageToken() string {
  4973  	if x != nil {
  4974  		return x.NextPageToken
  4975  	}
  4976  	return ""
  4977  }
  4978  
  4979  // Represents the Viewers, Editors, or Owners of a given project.
  4980  type ProjectTeam struct {
  4981  	state         protoimpl.MessageState
  4982  	sizeCache     protoimpl.SizeCache
  4983  	unknownFields protoimpl.UnknownFields
  4984  
  4985  	// The project number.
  4986  	ProjectNumber string `protobuf:"bytes,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
  4987  	// The team.
  4988  	Team string `protobuf:"bytes,2,opt,name=team,proto3" json:"team,omitempty"`
  4989  }
  4990  
  4991  func (x *ProjectTeam) Reset() {
  4992  	*x = ProjectTeam{}
  4993  	if protoimpl.UnsafeEnabled {
  4994  		mi := &file_google_storage_v2_storage_proto_msgTypes[48]
  4995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4996  		ms.StoreMessageInfo(mi)
  4997  	}
  4998  }
  4999  
  5000  func (x *ProjectTeam) String() string {
  5001  	return protoimpl.X.MessageStringOf(x)
  5002  }
  5003  
  5004  func (*ProjectTeam) ProtoMessage() {}
  5005  
  5006  func (x *ProjectTeam) ProtoReflect() protoreflect.Message {
  5007  	mi := &file_google_storage_v2_storage_proto_msgTypes[48]
  5008  	if protoimpl.UnsafeEnabled && x != nil {
  5009  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5010  		if ms.LoadMessageInfo() == nil {
  5011  			ms.StoreMessageInfo(mi)
  5012  		}
  5013  		return ms
  5014  	}
  5015  	return mi.MessageOf(x)
  5016  }
  5017  
  5018  // Deprecated: Use ProjectTeam.ProtoReflect.Descriptor instead.
  5019  func (*ProjectTeam) Descriptor() ([]byte, []int) {
  5020  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{48}
  5021  }
  5022  
  5023  func (x *ProjectTeam) GetProjectNumber() string {
  5024  	if x != nil {
  5025  		return x.ProjectNumber
  5026  	}
  5027  	return ""
  5028  }
  5029  
  5030  func (x *ProjectTeam) GetTeam() string {
  5031  	if x != nil {
  5032  		return x.Team
  5033  	}
  5034  	return ""
  5035  }
  5036  
  5037  // A service account, owned by Cloud Storage, which may be used when taking
  5038  // action on behalf of a given project, for example to publish Pub/Sub
  5039  // notifications or to retrieve security keys.
  5040  type ServiceAccount struct {
  5041  	state         protoimpl.MessageState
  5042  	sizeCache     protoimpl.SizeCache
  5043  	unknownFields protoimpl.UnknownFields
  5044  
  5045  	// The ID of the notification.
  5046  	EmailAddress string `protobuf:"bytes,1,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
  5047  }
  5048  
  5049  func (x *ServiceAccount) Reset() {
  5050  	*x = ServiceAccount{}
  5051  	if protoimpl.UnsafeEnabled {
  5052  		mi := &file_google_storage_v2_storage_proto_msgTypes[49]
  5053  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5054  		ms.StoreMessageInfo(mi)
  5055  	}
  5056  }
  5057  
  5058  func (x *ServiceAccount) String() string {
  5059  	return protoimpl.X.MessageStringOf(x)
  5060  }
  5061  
  5062  func (*ServiceAccount) ProtoMessage() {}
  5063  
  5064  func (x *ServiceAccount) ProtoReflect() protoreflect.Message {
  5065  	mi := &file_google_storage_v2_storage_proto_msgTypes[49]
  5066  	if protoimpl.UnsafeEnabled && x != nil {
  5067  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5068  		if ms.LoadMessageInfo() == nil {
  5069  			ms.StoreMessageInfo(mi)
  5070  		}
  5071  		return ms
  5072  	}
  5073  	return mi.MessageOf(x)
  5074  }
  5075  
  5076  // Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead.
  5077  func (*ServiceAccount) Descriptor() ([]byte, []int) {
  5078  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{49}
  5079  }
  5080  
  5081  func (x *ServiceAccount) GetEmailAddress() string {
  5082  	if x != nil {
  5083  		return x.EmailAddress
  5084  	}
  5085  	return ""
  5086  }
  5087  
  5088  // The owner of a specific resource.
  5089  type Owner struct {
  5090  	state         protoimpl.MessageState
  5091  	sizeCache     protoimpl.SizeCache
  5092  	unknownFields protoimpl.UnknownFields
  5093  
  5094  	// The entity, in the form `user-`*userId*.
  5095  	Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  5096  	// The ID for the entity.
  5097  	EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
  5098  }
  5099  
  5100  func (x *Owner) Reset() {
  5101  	*x = Owner{}
  5102  	if protoimpl.UnsafeEnabled {
  5103  		mi := &file_google_storage_v2_storage_proto_msgTypes[50]
  5104  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5105  		ms.StoreMessageInfo(mi)
  5106  	}
  5107  }
  5108  
  5109  func (x *Owner) String() string {
  5110  	return protoimpl.X.MessageStringOf(x)
  5111  }
  5112  
  5113  func (*Owner) ProtoMessage() {}
  5114  
  5115  func (x *Owner) ProtoReflect() protoreflect.Message {
  5116  	mi := &file_google_storage_v2_storage_proto_msgTypes[50]
  5117  	if protoimpl.UnsafeEnabled && x != nil {
  5118  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5119  		if ms.LoadMessageInfo() == nil {
  5120  			ms.StoreMessageInfo(mi)
  5121  		}
  5122  		return ms
  5123  	}
  5124  	return mi.MessageOf(x)
  5125  }
  5126  
  5127  // Deprecated: Use Owner.ProtoReflect.Descriptor instead.
  5128  func (*Owner) Descriptor() ([]byte, []int) {
  5129  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{50}
  5130  }
  5131  
  5132  func (x *Owner) GetEntity() string {
  5133  	if x != nil {
  5134  		return x.Entity
  5135  	}
  5136  	return ""
  5137  }
  5138  
  5139  func (x *Owner) GetEntityId() string {
  5140  	if x != nil {
  5141  		return x.EntityId
  5142  	}
  5143  	return ""
  5144  }
  5145  
  5146  // Specifies a requested range of bytes to download.
  5147  type ContentRange struct {
  5148  	state         protoimpl.MessageState
  5149  	sizeCache     protoimpl.SizeCache
  5150  	unknownFields protoimpl.UnknownFields
  5151  
  5152  	// The starting offset of the object data.
  5153  	Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
  5154  	// The ending offset of the object data.
  5155  	End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
  5156  	// The complete length of the object data.
  5157  	CompleteLength int64 `protobuf:"varint,3,opt,name=complete_length,json=completeLength,proto3" json:"complete_length,omitempty"`
  5158  }
  5159  
  5160  func (x *ContentRange) Reset() {
  5161  	*x = ContentRange{}
  5162  	if protoimpl.UnsafeEnabled {
  5163  		mi := &file_google_storage_v2_storage_proto_msgTypes[51]
  5164  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5165  		ms.StoreMessageInfo(mi)
  5166  	}
  5167  }
  5168  
  5169  func (x *ContentRange) String() string {
  5170  	return protoimpl.X.MessageStringOf(x)
  5171  }
  5172  
  5173  func (*ContentRange) ProtoMessage() {}
  5174  
  5175  func (x *ContentRange) ProtoReflect() protoreflect.Message {
  5176  	mi := &file_google_storage_v2_storage_proto_msgTypes[51]
  5177  	if protoimpl.UnsafeEnabled && x != nil {
  5178  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5179  		if ms.LoadMessageInfo() == nil {
  5180  			ms.StoreMessageInfo(mi)
  5181  		}
  5182  		return ms
  5183  	}
  5184  	return mi.MessageOf(x)
  5185  }
  5186  
  5187  // Deprecated: Use ContentRange.ProtoReflect.Descriptor instead.
  5188  func (*ContentRange) Descriptor() ([]byte, []int) {
  5189  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{51}
  5190  }
  5191  
  5192  func (x *ContentRange) GetStart() int64 {
  5193  	if x != nil {
  5194  		return x.Start
  5195  	}
  5196  	return 0
  5197  }
  5198  
  5199  func (x *ContentRange) GetEnd() int64 {
  5200  	if x != nil {
  5201  		return x.End
  5202  	}
  5203  	return 0
  5204  }
  5205  
  5206  func (x *ContentRange) GetCompleteLength() int64 {
  5207  	if x != nil {
  5208  		return x.CompleteLength
  5209  	}
  5210  	return 0
  5211  }
  5212  
  5213  // Description of a source object for a composition request.
  5214  type ComposeObjectRequest_SourceObject struct {
  5215  	state         protoimpl.MessageState
  5216  	sizeCache     protoimpl.SizeCache
  5217  	unknownFields protoimpl.UnknownFields
  5218  
  5219  	// Required. The source object's name. All source objects must reside in the same
  5220  	// bucket.
  5221  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  5222  	// The generation of this object to use as the source.
  5223  	Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
  5224  	// Conditions that must be met for this operation to execute.
  5225  	ObjectPreconditions *ComposeObjectRequest_SourceObject_ObjectPreconditions `protobuf:"bytes,3,opt,name=object_preconditions,json=objectPreconditions,proto3" json:"object_preconditions,omitempty"`
  5226  }
  5227  
  5228  func (x *ComposeObjectRequest_SourceObject) Reset() {
  5229  	*x = ComposeObjectRequest_SourceObject{}
  5230  	if protoimpl.UnsafeEnabled {
  5231  		mi := &file_google_storage_v2_storage_proto_msgTypes[52]
  5232  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5233  		ms.StoreMessageInfo(mi)
  5234  	}
  5235  }
  5236  
  5237  func (x *ComposeObjectRequest_SourceObject) String() string {
  5238  	return protoimpl.X.MessageStringOf(x)
  5239  }
  5240  
  5241  func (*ComposeObjectRequest_SourceObject) ProtoMessage() {}
  5242  
  5243  func (x *ComposeObjectRequest_SourceObject) ProtoReflect() protoreflect.Message {
  5244  	mi := &file_google_storage_v2_storage_proto_msgTypes[52]
  5245  	if protoimpl.UnsafeEnabled && x != nil {
  5246  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5247  		if ms.LoadMessageInfo() == nil {
  5248  			ms.StoreMessageInfo(mi)
  5249  		}
  5250  		return ms
  5251  	}
  5252  	return mi.MessageOf(x)
  5253  }
  5254  
  5255  // Deprecated: Use ComposeObjectRequest_SourceObject.ProtoReflect.Descriptor instead.
  5256  func (*ComposeObjectRequest_SourceObject) Descriptor() ([]byte, []int) {
  5257  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 0}
  5258  }
  5259  
  5260  func (x *ComposeObjectRequest_SourceObject) GetName() string {
  5261  	if x != nil {
  5262  		return x.Name
  5263  	}
  5264  	return ""
  5265  }
  5266  
  5267  func (x *ComposeObjectRequest_SourceObject) GetGeneration() int64 {
  5268  	if x != nil {
  5269  		return x.Generation
  5270  	}
  5271  	return 0
  5272  }
  5273  
  5274  func (x *ComposeObjectRequest_SourceObject) GetObjectPreconditions() *ComposeObjectRequest_SourceObject_ObjectPreconditions {
  5275  	if x != nil {
  5276  		return x.ObjectPreconditions
  5277  	}
  5278  	return nil
  5279  }
  5280  
  5281  // Preconditions for a source object of a composition request.
  5282  type ComposeObjectRequest_SourceObject_ObjectPreconditions struct {
  5283  	state         protoimpl.MessageState
  5284  	sizeCache     protoimpl.SizeCache
  5285  	unknownFields protoimpl.UnknownFields
  5286  
  5287  	// Only perform the composition if the generation of the source object
  5288  	// that would be used matches this value.  If this value and a generation
  5289  	// are both specified, they must be the same value or the call will fail.
  5290  	IfGenerationMatch *int64 `protobuf:"varint,1,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
  5291  }
  5292  
  5293  func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) Reset() {
  5294  	*x = ComposeObjectRequest_SourceObject_ObjectPreconditions{}
  5295  	if protoimpl.UnsafeEnabled {
  5296  		mi := &file_google_storage_v2_storage_proto_msgTypes[53]
  5297  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5298  		ms.StoreMessageInfo(mi)
  5299  	}
  5300  }
  5301  
  5302  func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) String() string {
  5303  	return protoimpl.X.MessageStringOf(x)
  5304  }
  5305  
  5306  func (*ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoMessage() {}
  5307  
  5308  func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoReflect() protoreflect.Message {
  5309  	mi := &file_google_storage_v2_storage_proto_msgTypes[53]
  5310  	if protoimpl.UnsafeEnabled && x != nil {
  5311  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5312  		if ms.LoadMessageInfo() == nil {
  5313  			ms.StoreMessageInfo(mi)
  5314  		}
  5315  		return ms
  5316  	}
  5317  	return mi.MessageOf(x)
  5318  }
  5319  
  5320  // Deprecated: Use ComposeObjectRequest_SourceObject_ObjectPreconditions.ProtoReflect.Descriptor instead.
  5321  func (*ComposeObjectRequest_SourceObject_ObjectPreconditions) Descriptor() ([]byte, []int) {
  5322  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 0, 0}
  5323  }
  5324  
  5325  func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) GetIfGenerationMatch() int64 {
  5326  	if x != nil && x.IfGenerationMatch != nil {
  5327  		return *x.IfGenerationMatch
  5328  	}
  5329  	return 0
  5330  }
  5331  
  5332  // Billing properties of a bucket.
  5333  type Bucket_Billing struct {
  5334  	state         protoimpl.MessageState
  5335  	sizeCache     protoimpl.SizeCache
  5336  	unknownFields protoimpl.UnknownFields
  5337  
  5338  	// When set to true, Requester Pays is enabled for this bucket.
  5339  	RequesterPays bool `protobuf:"varint,1,opt,name=requester_pays,json=requesterPays,proto3" json:"requester_pays,omitempty"`
  5340  }
  5341  
  5342  func (x *Bucket_Billing) Reset() {
  5343  	*x = Bucket_Billing{}
  5344  	if protoimpl.UnsafeEnabled {
  5345  		mi := &file_google_storage_v2_storage_proto_msgTypes[54]
  5346  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5347  		ms.StoreMessageInfo(mi)
  5348  	}
  5349  }
  5350  
  5351  func (x *Bucket_Billing) String() string {
  5352  	return protoimpl.X.MessageStringOf(x)
  5353  }
  5354  
  5355  func (*Bucket_Billing) ProtoMessage() {}
  5356  
  5357  func (x *Bucket_Billing) ProtoReflect() protoreflect.Message {
  5358  	mi := &file_google_storage_v2_storage_proto_msgTypes[54]
  5359  	if protoimpl.UnsafeEnabled && x != nil {
  5360  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5361  		if ms.LoadMessageInfo() == nil {
  5362  			ms.StoreMessageInfo(mi)
  5363  		}
  5364  		return ms
  5365  	}
  5366  	return mi.MessageOf(x)
  5367  }
  5368  
  5369  // Deprecated: Use Bucket_Billing.ProtoReflect.Descriptor instead.
  5370  func (*Bucket_Billing) Descriptor() ([]byte, []int) {
  5371  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 0}
  5372  }
  5373  
  5374  func (x *Bucket_Billing) GetRequesterPays() bool {
  5375  	if x != nil {
  5376  		return x.RequesterPays
  5377  	}
  5378  	return false
  5379  }
  5380  
  5381  // Cross-Origin Response sharing (CORS) properties for a bucket.
  5382  // For more on Cloud Storage and CORS, see
  5383  // https://cloud.google.com/storage/docs/cross-origin.
  5384  // For more on CORS in general, see https://tools.ietf.org/html/rfc6454.
  5385  type Bucket_Cors struct {
  5386  	state         protoimpl.MessageState
  5387  	sizeCache     protoimpl.SizeCache
  5388  	unknownFields protoimpl.UnknownFields
  5389  
  5390  	// The list of Origins eligible to receive CORS response headers. See
  5391  	// [https://tools.ietf.org/html/rfc6454][RFC 6454] for more on origins.
  5392  	// Note: "*" is permitted in the list of origins, and means "any Origin".
  5393  	Origin []string `protobuf:"bytes,1,rep,name=origin,proto3" json:"origin,omitempty"`
  5394  	// The list of HTTP methods on which to include CORS response headers,
  5395  	// (`GET`, `OPTIONS`, `POST`, etc) Note: "*" is permitted in the list of
  5396  	// methods, and means "any method".
  5397  	Method []string `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"`
  5398  	// The list of HTTP headers other than the
  5399  	// [https://www.w3.org/TR/cors/#simple-response-header][simple response
  5400  	// headers] to give permission for the user-agent to share across domains.
  5401  	ResponseHeader []string `protobuf:"bytes,3,rep,name=response_header,json=responseHeader,proto3" json:"response_header,omitempty"`
  5402  	// The value, in seconds, to return in the
  5403  	// [https://www.w3.org/TR/cors/#access-control-max-age-response-header][Access-Control-Max-Age
  5404  	// header] used in preflight responses.
  5405  	MaxAgeSeconds int32 `protobuf:"varint,4,opt,name=max_age_seconds,json=maxAgeSeconds,proto3" json:"max_age_seconds,omitempty"`
  5406  }
  5407  
  5408  func (x *Bucket_Cors) Reset() {
  5409  	*x = Bucket_Cors{}
  5410  	if protoimpl.UnsafeEnabled {
  5411  		mi := &file_google_storage_v2_storage_proto_msgTypes[55]
  5412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5413  		ms.StoreMessageInfo(mi)
  5414  	}
  5415  }
  5416  
  5417  func (x *Bucket_Cors) String() string {
  5418  	return protoimpl.X.MessageStringOf(x)
  5419  }
  5420  
  5421  func (*Bucket_Cors) ProtoMessage() {}
  5422  
  5423  func (x *Bucket_Cors) ProtoReflect() protoreflect.Message {
  5424  	mi := &file_google_storage_v2_storage_proto_msgTypes[55]
  5425  	if protoimpl.UnsafeEnabled && x != nil {
  5426  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5427  		if ms.LoadMessageInfo() == nil {
  5428  			ms.StoreMessageInfo(mi)
  5429  		}
  5430  		return ms
  5431  	}
  5432  	return mi.MessageOf(x)
  5433  }
  5434  
  5435  // Deprecated: Use Bucket_Cors.ProtoReflect.Descriptor instead.
  5436  func (*Bucket_Cors) Descriptor() ([]byte, []int) {
  5437  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 1}
  5438  }
  5439  
  5440  func (x *Bucket_Cors) GetOrigin() []string {
  5441  	if x != nil {
  5442  		return x.Origin
  5443  	}
  5444  	return nil
  5445  }
  5446  
  5447  func (x *Bucket_Cors) GetMethod() []string {
  5448  	if x != nil {
  5449  		return x.Method
  5450  	}
  5451  	return nil
  5452  }
  5453  
  5454  func (x *Bucket_Cors) GetResponseHeader() []string {
  5455  	if x != nil {
  5456  		return x.ResponseHeader
  5457  	}
  5458  	return nil
  5459  }
  5460  
  5461  func (x *Bucket_Cors) GetMaxAgeSeconds() int32 {
  5462  	if x != nil {
  5463  		return x.MaxAgeSeconds
  5464  	}
  5465  	return 0
  5466  }
  5467  
  5468  // Encryption properties of a bucket.
  5469  type Bucket_Encryption struct {
  5470  	state         protoimpl.MessageState
  5471  	sizeCache     protoimpl.SizeCache
  5472  	unknownFields protoimpl.UnknownFields
  5473  
  5474  	// The name of the Cloud KMS key that will be used to encrypt objects
  5475  	// inserted into this bucket, if no encryption method is specified.
  5476  	DefaultKmsKey string `protobuf:"bytes,1,opt,name=default_kms_key,json=defaultKmsKey,proto3" json:"default_kms_key,omitempty"`
  5477  }
  5478  
  5479  func (x *Bucket_Encryption) Reset() {
  5480  	*x = Bucket_Encryption{}
  5481  	if protoimpl.UnsafeEnabled {
  5482  		mi := &file_google_storage_v2_storage_proto_msgTypes[56]
  5483  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5484  		ms.StoreMessageInfo(mi)
  5485  	}
  5486  }
  5487  
  5488  func (x *Bucket_Encryption) String() string {
  5489  	return protoimpl.X.MessageStringOf(x)
  5490  }
  5491  
  5492  func (*Bucket_Encryption) ProtoMessage() {}
  5493  
  5494  func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message {
  5495  	mi := &file_google_storage_v2_storage_proto_msgTypes[56]
  5496  	if protoimpl.UnsafeEnabled && x != nil {
  5497  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5498  		if ms.LoadMessageInfo() == nil {
  5499  			ms.StoreMessageInfo(mi)
  5500  		}
  5501  		return ms
  5502  	}
  5503  	return mi.MessageOf(x)
  5504  }
  5505  
  5506  // Deprecated: Use Bucket_Encryption.ProtoReflect.Descriptor instead.
  5507  func (*Bucket_Encryption) Descriptor() ([]byte, []int) {
  5508  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 2}
  5509  }
  5510  
  5511  func (x *Bucket_Encryption) GetDefaultKmsKey() string {
  5512  	if x != nil {
  5513  		return x.DefaultKmsKey
  5514  	}
  5515  	return ""
  5516  }
  5517  
  5518  // Bucket restriction options.
  5519  type Bucket_IamConfig struct {
  5520  	state         protoimpl.MessageState
  5521  	sizeCache     protoimpl.SizeCache
  5522  	unknownFields protoimpl.UnknownFields
  5523  
  5524  	// Bucket restriction options currently enforced on the bucket.
  5525  	UniformBucketLevelAccess *Bucket_IamConfig_UniformBucketLevelAccess `protobuf:"bytes,1,opt,name=uniform_bucket_level_access,json=uniformBucketLevelAccess,proto3" json:"uniform_bucket_level_access,omitempty"`
  5526  	// Whether IAM will enforce public access prevention. Valid values are
  5527  	// "enforced" or "inherited".
  5528  	PublicAccessPrevention string `protobuf:"bytes,3,opt,name=public_access_prevention,json=publicAccessPrevention,proto3" json:"public_access_prevention,omitempty"`
  5529  }
  5530  
  5531  func (x *Bucket_IamConfig) Reset() {
  5532  	*x = Bucket_IamConfig{}
  5533  	if protoimpl.UnsafeEnabled {
  5534  		mi := &file_google_storage_v2_storage_proto_msgTypes[57]
  5535  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5536  		ms.StoreMessageInfo(mi)
  5537  	}
  5538  }
  5539  
  5540  func (x *Bucket_IamConfig) String() string {
  5541  	return protoimpl.X.MessageStringOf(x)
  5542  }
  5543  
  5544  func (*Bucket_IamConfig) ProtoMessage() {}
  5545  
  5546  func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message {
  5547  	mi := &file_google_storage_v2_storage_proto_msgTypes[57]
  5548  	if protoimpl.UnsafeEnabled && x != nil {
  5549  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5550  		if ms.LoadMessageInfo() == nil {
  5551  			ms.StoreMessageInfo(mi)
  5552  		}
  5553  		return ms
  5554  	}
  5555  	return mi.MessageOf(x)
  5556  }
  5557  
  5558  // Deprecated: Use Bucket_IamConfig.ProtoReflect.Descriptor instead.
  5559  func (*Bucket_IamConfig) Descriptor() ([]byte, []int) {
  5560  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 3}
  5561  }
  5562  
  5563  func (x *Bucket_IamConfig) GetUniformBucketLevelAccess() *Bucket_IamConfig_UniformBucketLevelAccess {
  5564  	if x != nil {
  5565  		return x.UniformBucketLevelAccess
  5566  	}
  5567  	return nil
  5568  }
  5569  
  5570  func (x *Bucket_IamConfig) GetPublicAccessPrevention() string {
  5571  	if x != nil {
  5572  		return x.PublicAccessPrevention
  5573  	}
  5574  	return ""
  5575  }
  5576  
  5577  // Lifecycle properties of a bucket.
  5578  // For more information, see https://cloud.google.com/storage/docs/lifecycle.
  5579  type Bucket_Lifecycle struct {
  5580  	state         protoimpl.MessageState
  5581  	sizeCache     protoimpl.SizeCache
  5582  	unknownFields protoimpl.UnknownFields
  5583  
  5584  	// A lifecycle management rule, which is made of an action to take and the
  5585  	// condition(s) under which the action will be taken.
  5586  	Rule []*Bucket_Lifecycle_Rule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"`
  5587  }
  5588  
  5589  func (x *Bucket_Lifecycle) Reset() {
  5590  	*x = Bucket_Lifecycle{}
  5591  	if protoimpl.UnsafeEnabled {
  5592  		mi := &file_google_storage_v2_storage_proto_msgTypes[58]
  5593  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5594  		ms.StoreMessageInfo(mi)
  5595  	}
  5596  }
  5597  
  5598  func (x *Bucket_Lifecycle) String() string {
  5599  	return protoimpl.X.MessageStringOf(x)
  5600  }
  5601  
  5602  func (*Bucket_Lifecycle) ProtoMessage() {}
  5603  
  5604  func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message {
  5605  	mi := &file_google_storage_v2_storage_proto_msgTypes[58]
  5606  	if protoimpl.UnsafeEnabled && x != nil {
  5607  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5608  		if ms.LoadMessageInfo() == nil {
  5609  			ms.StoreMessageInfo(mi)
  5610  		}
  5611  		return ms
  5612  	}
  5613  	return mi.MessageOf(x)
  5614  }
  5615  
  5616  // Deprecated: Use Bucket_Lifecycle.ProtoReflect.Descriptor instead.
  5617  func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) {
  5618  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4}
  5619  }
  5620  
  5621  func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule {
  5622  	if x != nil {
  5623  		return x.Rule
  5624  	}
  5625  	return nil
  5626  }
  5627  
  5628  // Logging-related properties of a bucket.
  5629  type Bucket_Logging struct {
  5630  	state         protoimpl.MessageState
  5631  	sizeCache     protoimpl.SizeCache
  5632  	unknownFields protoimpl.UnknownFields
  5633  
  5634  	// The destination bucket where the current bucket's logs should be placed,
  5635  	// using path format (like `projects/123456/buckets/foo`).
  5636  	LogBucket string `protobuf:"bytes,1,opt,name=log_bucket,json=logBucket,proto3" json:"log_bucket,omitempty"`
  5637  	// A prefix for log object names.
  5638  	LogObjectPrefix string `protobuf:"bytes,2,opt,name=log_object_prefix,json=logObjectPrefix,proto3" json:"log_object_prefix,omitempty"`
  5639  }
  5640  
  5641  func (x *Bucket_Logging) Reset() {
  5642  	*x = Bucket_Logging{}
  5643  	if protoimpl.UnsafeEnabled {
  5644  		mi := &file_google_storage_v2_storage_proto_msgTypes[59]
  5645  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5646  		ms.StoreMessageInfo(mi)
  5647  	}
  5648  }
  5649  
  5650  func (x *Bucket_Logging) String() string {
  5651  	return protoimpl.X.MessageStringOf(x)
  5652  }
  5653  
  5654  func (*Bucket_Logging) ProtoMessage() {}
  5655  
  5656  func (x *Bucket_Logging) ProtoReflect() protoreflect.Message {
  5657  	mi := &file_google_storage_v2_storage_proto_msgTypes[59]
  5658  	if protoimpl.UnsafeEnabled && x != nil {
  5659  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5660  		if ms.LoadMessageInfo() == nil {
  5661  			ms.StoreMessageInfo(mi)
  5662  		}
  5663  		return ms
  5664  	}
  5665  	return mi.MessageOf(x)
  5666  }
  5667  
  5668  // Deprecated: Use Bucket_Logging.ProtoReflect.Descriptor instead.
  5669  func (*Bucket_Logging) Descriptor() ([]byte, []int) {
  5670  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 5}
  5671  }
  5672  
  5673  func (x *Bucket_Logging) GetLogBucket() string {
  5674  	if x != nil {
  5675  		return x.LogBucket
  5676  	}
  5677  	return ""
  5678  }
  5679  
  5680  func (x *Bucket_Logging) GetLogObjectPrefix() string {
  5681  	if x != nil {
  5682  		return x.LogObjectPrefix
  5683  	}
  5684  	return ""
  5685  }
  5686  
  5687  // Retention policy properties of a bucket.
  5688  type Bucket_RetentionPolicy struct {
  5689  	state         protoimpl.MessageState
  5690  	sizeCache     protoimpl.SizeCache
  5691  	unknownFields protoimpl.UnknownFields
  5692  
  5693  	// Server-determined value that indicates the time from which policy was
  5694  	// enforced and effective.
  5695  	EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"`
  5696  	// Once locked, an object retention policy cannot be modified.
  5697  	IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
  5698  	// The duration in seconds that objects need to be retained. Retention
  5699  	// duration must be greater than zero and less than 100 years. Note that
  5700  	// enforcement of retention periods less than a day is not guaranteed. Such
  5701  	// periods should only be used for testing purposes.
  5702  	RetentionPeriod int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3" json:"retention_period,omitempty"`
  5703  }
  5704  
  5705  func (x *Bucket_RetentionPolicy) Reset() {
  5706  	*x = Bucket_RetentionPolicy{}
  5707  	if protoimpl.UnsafeEnabled {
  5708  		mi := &file_google_storage_v2_storage_proto_msgTypes[60]
  5709  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5710  		ms.StoreMessageInfo(mi)
  5711  	}
  5712  }
  5713  
  5714  func (x *Bucket_RetentionPolicy) String() string {
  5715  	return protoimpl.X.MessageStringOf(x)
  5716  }
  5717  
  5718  func (*Bucket_RetentionPolicy) ProtoMessage() {}
  5719  
  5720  func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message {
  5721  	mi := &file_google_storage_v2_storage_proto_msgTypes[60]
  5722  	if protoimpl.UnsafeEnabled && x != nil {
  5723  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5724  		if ms.LoadMessageInfo() == nil {
  5725  			ms.StoreMessageInfo(mi)
  5726  		}
  5727  		return ms
  5728  	}
  5729  	return mi.MessageOf(x)
  5730  }
  5731  
  5732  // Deprecated: Use Bucket_RetentionPolicy.ProtoReflect.Descriptor instead.
  5733  func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) {
  5734  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 6}
  5735  }
  5736  
  5737  func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamppb.Timestamp {
  5738  	if x != nil {
  5739  		return x.EffectiveTime
  5740  	}
  5741  	return nil
  5742  }
  5743  
  5744  func (x *Bucket_RetentionPolicy) GetIsLocked() bool {
  5745  	if x != nil {
  5746  		return x.IsLocked
  5747  	}
  5748  	return false
  5749  }
  5750  
  5751  func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 {
  5752  	if x != nil {
  5753  		return x.RetentionPeriod
  5754  	}
  5755  	return 0
  5756  }
  5757  
  5758  // Properties of a bucket related to versioning.
  5759  // For more on Cloud Storage versioning, see
  5760  // https://cloud.google.com/storage/docs/object-versioning.
  5761  type Bucket_Versioning struct {
  5762  	state         protoimpl.MessageState
  5763  	sizeCache     protoimpl.SizeCache
  5764  	unknownFields protoimpl.UnknownFields
  5765  
  5766  	// While set to true, versioning is fully enabled for this bucket.
  5767  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  5768  }
  5769  
  5770  func (x *Bucket_Versioning) Reset() {
  5771  	*x = Bucket_Versioning{}
  5772  	if protoimpl.UnsafeEnabled {
  5773  		mi := &file_google_storage_v2_storage_proto_msgTypes[61]
  5774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5775  		ms.StoreMessageInfo(mi)
  5776  	}
  5777  }
  5778  
  5779  func (x *Bucket_Versioning) String() string {
  5780  	return protoimpl.X.MessageStringOf(x)
  5781  }
  5782  
  5783  func (*Bucket_Versioning) ProtoMessage() {}
  5784  
  5785  func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message {
  5786  	mi := &file_google_storage_v2_storage_proto_msgTypes[61]
  5787  	if protoimpl.UnsafeEnabled && x != nil {
  5788  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5789  		if ms.LoadMessageInfo() == nil {
  5790  			ms.StoreMessageInfo(mi)
  5791  		}
  5792  		return ms
  5793  	}
  5794  	return mi.MessageOf(x)
  5795  }
  5796  
  5797  // Deprecated: Use Bucket_Versioning.ProtoReflect.Descriptor instead.
  5798  func (*Bucket_Versioning) Descriptor() ([]byte, []int) {
  5799  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 7}
  5800  }
  5801  
  5802  func (x *Bucket_Versioning) GetEnabled() bool {
  5803  	if x != nil {
  5804  		return x.Enabled
  5805  	}
  5806  	return false
  5807  }
  5808  
  5809  // Properties of a bucket related to accessing the contents as a static
  5810  // website. For more on hosting a static website via Cloud Storage, see
  5811  // https://cloud.google.com/storage/docs/hosting-static-website.
  5812  type Bucket_Website struct {
  5813  	state         protoimpl.MessageState
  5814  	sizeCache     protoimpl.SizeCache
  5815  	unknownFields protoimpl.UnknownFields
  5816  
  5817  	// If the requested object path is missing, the service will ensure the path
  5818  	// has a trailing '/', append this suffix, and attempt to retrieve the
  5819  	// resulting object. This allows the creation of `index.html`
  5820  	// objects to represent directory pages.
  5821  	MainPageSuffix string `protobuf:"bytes,1,opt,name=main_page_suffix,json=mainPageSuffix,proto3" json:"main_page_suffix,omitempty"`
  5822  	// If the requested object path is missing, and any
  5823  	// `mainPageSuffix` object is missing, if applicable, the service
  5824  	// will return the named object from this bucket as the content for a
  5825  	// [https://tools.ietf.org/html/rfc7231#section-6.5.4][404 Not Found]
  5826  	// result.
  5827  	NotFoundPage string `protobuf:"bytes,2,opt,name=not_found_page,json=notFoundPage,proto3" json:"not_found_page,omitempty"`
  5828  }
  5829  
  5830  func (x *Bucket_Website) Reset() {
  5831  	*x = Bucket_Website{}
  5832  	if protoimpl.UnsafeEnabled {
  5833  		mi := &file_google_storage_v2_storage_proto_msgTypes[62]
  5834  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5835  		ms.StoreMessageInfo(mi)
  5836  	}
  5837  }
  5838  
  5839  func (x *Bucket_Website) String() string {
  5840  	return protoimpl.X.MessageStringOf(x)
  5841  }
  5842  
  5843  func (*Bucket_Website) ProtoMessage() {}
  5844  
  5845  func (x *Bucket_Website) ProtoReflect() protoreflect.Message {
  5846  	mi := &file_google_storage_v2_storage_proto_msgTypes[62]
  5847  	if protoimpl.UnsafeEnabled && x != nil {
  5848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5849  		if ms.LoadMessageInfo() == nil {
  5850  			ms.StoreMessageInfo(mi)
  5851  		}
  5852  		return ms
  5853  	}
  5854  	return mi.MessageOf(x)
  5855  }
  5856  
  5857  // Deprecated: Use Bucket_Website.ProtoReflect.Descriptor instead.
  5858  func (*Bucket_Website) Descriptor() ([]byte, []int) {
  5859  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 8}
  5860  }
  5861  
  5862  func (x *Bucket_Website) GetMainPageSuffix() string {
  5863  	if x != nil {
  5864  		return x.MainPageSuffix
  5865  	}
  5866  	return ""
  5867  }
  5868  
  5869  func (x *Bucket_Website) GetNotFoundPage() string {
  5870  	if x != nil {
  5871  		return x.NotFoundPage
  5872  	}
  5873  	return ""
  5874  }
  5875  
  5876  // Configuration for Custom Dual Regions.  It should specify precisely two
  5877  // eligible regions within the same Multiregion. More information on regions
  5878  // may be found [https://cloud.google.com/storage/docs/locations][here].
  5879  type Bucket_CustomPlacementConfig struct {
  5880  	state         protoimpl.MessageState
  5881  	sizeCache     protoimpl.SizeCache
  5882  	unknownFields protoimpl.UnknownFields
  5883  
  5884  	// List of locations to use for data placement.
  5885  	DataLocations []string `protobuf:"bytes,1,rep,name=data_locations,json=dataLocations,proto3" json:"data_locations,omitempty"`
  5886  }
  5887  
  5888  func (x *Bucket_CustomPlacementConfig) Reset() {
  5889  	*x = Bucket_CustomPlacementConfig{}
  5890  	if protoimpl.UnsafeEnabled {
  5891  		mi := &file_google_storage_v2_storage_proto_msgTypes[63]
  5892  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5893  		ms.StoreMessageInfo(mi)
  5894  	}
  5895  }
  5896  
  5897  func (x *Bucket_CustomPlacementConfig) String() string {
  5898  	return protoimpl.X.MessageStringOf(x)
  5899  }
  5900  
  5901  func (*Bucket_CustomPlacementConfig) ProtoMessage() {}
  5902  
  5903  func (x *Bucket_CustomPlacementConfig) ProtoReflect() protoreflect.Message {
  5904  	mi := &file_google_storage_v2_storage_proto_msgTypes[63]
  5905  	if protoimpl.UnsafeEnabled && x != nil {
  5906  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5907  		if ms.LoadMessageInfo() == nil {
  5908  			ms.StoreMessageInfo(mi)
  5909  		}
  5910  		return ms
  5911  	}
  5912  	return mi.MessageOf(x)
  5913  }
  5914  
  5915  // Deprecated: Use Bucket_CustomPlacementConfig.ProtoReflect.Descriptor instead.
  5916  func (*Bucket_CustomPlacementConfig) Descriptor() ([]byte, []int) {
  5917  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 9}
  5918  }
  5919  
  5920  func (x *Bucket_CustomPlacementConfig) GetDataLocations() []string {
  5921  	if x != nil {
  5922  		return x.DataLocations
  5923  	}
  5924  	return nil
  5925  }
  5926  
  5927  // Configuration for a bucket's Autoclass feature.
  5928  type Bucket_Autoclass struct {
  5929  	state         protoimpl.MessageState
  5930  	sizeCache     protoimpl.SizeCache
  5931  	unknownFields protoimpl.UnknownFields
  5932  
  5933  	// Enables Autoclass.
  5934  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  5935  	// Output only. Latest instant at which the `enabled` field was set to true after being
  5936  	// disabled/unconfigured or set to false after being enabled. If Autoclass
  5937  	// is enabled when the bucket is created, the toggle_time is set to the
  5938  	// bucket creation time.
  5939  	ToggleTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=toggle_time,json=toggleTime,proto3" json:"toggle_time,omitempty"`
  5940  }
  5941  
  5942  func (x *Bucket_Autoclass) Reset() {
  5943  	*x = Bucket_Autoclass{}
  5944  	if protoimpl.UnsafeEnabled {
  5945  		mi := &file_google_storage_v2_storage_proto_msgTypes[64]
  5946  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5947  		ms.StoreMessageInfo(mi)
  5948  	}
  5949  }
  5950  
  5951  func (x *Bucket_Autoclass) String() string {
  5952  	return protoimpl.X.MessageStringOf(x)
  5953  }
  5954  
  5955  func (*Bucket_Autoclass) ProtoMessage() {}
  5956  
  5957  func (x *Bucket_Autoclass) ProtoReflect() protoreflect.Message {
  5958  	mi := &file_google_storage_v2_storage_proto_msgTypes[64]
  5959  	if protoimpl.UnsafeEnabled && x != nil {
  5960  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5961  		if ms.LoadMessageInfo() == nil {
  5962  			ms.StoreMessageInfo(mi)
  5963  		}
  5964  		return ms
  5965  	}
  5966  	return mi.MessageOf(x)
  5967  }
  5968  
  5969  // Deprecated: Use Bucket_Autoclass.ProtoReflect.Descriptor instead.
  5970  func (*Bucket_Autoclass) Descriptor() ([]byte, []int) {
  5971  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 10}
  5972  }
  5973  
  5974  func (x *Bucket_Autoclass) GetEnabled() bool {
  5975  	if x != nil {
  5976  		return x.Enabled
  5977  	}
  5978  	return false
  5979  }
  5980  
  5981  func (x *Bucket_Autoclass) GetToggleTime() *timestamppb.Timestamp {
  5982  	if x != nil {
  5983  		return x.ToggleTime
  5984  	}
  5985  	return nil
  5986  }
  5987  
  5988  // Settings for Uniform Bucket level access.
  5989  // See https://cloud.google.com/storage/docs/uniform-bucket-level-access.
  5990  type Bucket_IamConfig_UniformBucketLevelAccess struct {
  5991  	state         protoimpl.MessageState
  5992  	sizeCache     protoimpl.SizeCache
  5993  	unknownFields protoimpl.UnknownFields
  5994  
  5995  	// If set, access checks only use bucket-level IAM policies or above.
  5996  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  5997  	// The deadline time for changing
  5998  	// `iamConfig.uniformBucketLevelAccess.enabled` from `true` to `false`.
  5999  	// Mutable until the specified deadline is reached, but not afterward.
  6000  	LockTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"`
  6001  }
  6002  
  6003  func (x *Bucket_IamConfig_UniformBucketLevelAccess) Reset() {
  6004  	*x = Bucket_IamConfig_UniformBucketLevelAccess{}
  6005  	if protoimpl.UnsafeEnabled {
  6006  		mi := &file_google_storage_v2_storage_proto_msgTypes[66]
  6007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6008  		ms.StoreMessageInfo(mi)
  6009  	}
  6010  }
  6011  
  6012  func (x *Bucket_IamConfig_UniformBucketLevelAccess) String() string {
  6013  	return protoimpl.X.MessageStringOf(x)
  6014  }
  6015  
  6016  func (*Bucket_IamConfig_UniformBucketLevelAccess) ProtoMessage() {}
  6017  
  6018  func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message {
  6019  	mi := &file_google_storage_v2_storage_proto_msgTypes[66]
  6020  	if protoimpl.UnsafeEnabled && x != nil {
  6021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6022  		if ms.LoadMessageInfo() == nil {
  6023  			ms.StoreMessageInfo(mi)
  6024  		}
  6025  		return ms
  6026  	}
  6027  	return mi.MessageOf(x)
  6028  }
  6029  
  6030  // Deprecated: Use Bucket_IamConfig_UniformBucketLevelAccess.ProtoReflect.Descriptor instead.
  6031  func (*Bucket_IamConfig_UniformBucketLevelAccess) Descriptor() ([]byte, []int) {
  6032  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 3, 0}
  6033  }
  6034  
  6035  func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetEnabled() bool {
  6036  	if x != nil {
  6037  		return x.Enabled
  6038  	}
  6039  	return false
  6040  }
  6041  
  6042  func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetLockTime() *timestamppb.Timestamp {
  6043  	if x != nil {
  6044  		return x.LockTime
  6045  	}
  6046  	return nil
  6047  }
  6048  
  6049  // A lifecycle Rule, combining an action to take on an object and a
  6050  // condition which will trigger that action.
  6051  type Bucket_Lifecycle_Rule struct {
  6052  	state         protoimpl.MessageState
  6053  	sizeCache     protoimpl.SizeCache
  6054  	unknownFields protoimpl.UnknownFields
  6055  
  6056  	// The action to take.
  6057  	Action *Bucket_Lifecycle_Rule_Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"`
  6058  	// The condition(s) under which the action will be taken.
  6059  	Condition *Bucket_Lifecycle_Rule_Condition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"`
  6060  }
  6061  
  6062  func (x *Bucket_Lifecycle_Rule) Reset() {
  6063  	*x = Bucket_Lifecycle_Rule{}
  6064  	if protoimpl.UnsafeEnabled {
  6065  		mi := &file_google_storage_v2_storage_proto_msgTypes[67]
  6066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6067  		ms.StoreMessageInfo(mi)
  6068  	}
  6069  }
  6070  
  6071  func (x *Bucket_Lifecycle_Rule) String() string {
  6072  	return protoimpl.X.MessageStringOf(x)
  6073  }
  6074  
  6075  func (*Bucket_Lifecycle_Rule) ProtoMessage() {}
  6076  
  6077  func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message {
  6078  	mi := &file_google_storage_v2_storage_proto_msgTypes[67]
  6079  	if protoimpl.UnsafeEnabled && x != nil {
  6080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6081  		if ms.LoadMessageInfo() == nil {
  6082  			ms.StoreMessageInfo(mi)
  6083  		}
  6084  		return ms
  6085  	}
  6086  	return mi.MessageOf(x)
  6087  }
  6088  
  6089  // Deprecated: Use Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead.
  6090  func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) {
  6091  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0}
  6092  }
  6093  
  6094  func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action {
  6095  	if x != nil {
  6096  		return x.Action
  6097  	}
  6098  	return nil
  6099  }
  6100  
  6101  func (x *Bucket_Lifecycle_Rule) GetCondition() *Bucket_Lifecycle_Rule_Condition {
  6102  	if x != nil {
  6103  		return x.Condition
  6104  	}
  6105  	return nil
  6106  }
  6107  
  6108  // An action to take on an object.
  6109  type Bucket_Lifecycle_Rule_Action struct {
  6110  	state         protoimpl.MessageState
  6111  	sizeCache     protoimpl.SizeCache
  6112  	unknownFields protoimpl.UnknownFields
  6113  
  6114  	// Type of the action. Currently, only `Delete`, `SetStorageClass`, and
  6115  	// `AbortIncompleteMultipartUpload` are supported.
  6116  	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
  6117  	// Target storage class. Required iff the type of the action is
  6118  	// SetStorageClass.
  6119  	StorageClass string `protobuf:"bytes,2,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
  6120  }
  6121  
  6122  func (x *Bucket_Lifecycle_Rule_Action) Reset() {
  6123  	*x = Bucket_Lifecycle_Rule_Action{}
  6124  	if protoimpl.UnsafeEnabled {
  6125  		mi := &file_google_storage_v2_storage_proto_msgTypes[68]
  6126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6127  		ms.StoreMessageInfo(mi)
  6128  	}
  6129  }
  6130  
  6131  func (x *Bucket_Lifecycle_Rule_Action) String() string {
  6132  	return protoimpl.X.MessageStringOf(x)
  6133  }
  6134  
  6135  func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {}
  6136  
  6137  func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message {
  6138  	mi := &file_google_storage_v2_storage_proto_msgTypes[68]
  6139  	if protoimpl.UnsafeEnabled && x != nil {
  6140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6141  		if ms.LoadMessageInfo() == nil {
  6142  			ms.StoreMessageInfo(mi)
  6143  		}
  6144  		return ms
  6145  	}
  6146  	return mi.MessageOf(x)
  6147  }
  6148  
  6149  // Deprecated: Use Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead.
  6150  func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) {
  6151  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0, 0}
  6152  }
  6153  
  6154  func (x *Bucket_Lifecycle_Rule_Action) GetType() string {
  6155  	if x != nil {
  6156  		return x.Type
  6157  	}
  6158  	return ""
  6159  }
  6160  
  6161  func (x *Bucket_Lifecycle_Rule_Action) GetStorageClass() string {
  6162  	if x != nil {
  6163  		return x.StorageClass
  6164  	}
  6165  	return ""
  6166  }
  6167  
  6168  // A condition of an object which triggers some action.
  6169  type Bucket_Lifecycle_Rule_Condition struct {
  6170  	state         protoimpl.MessageState
  6171  	sizeCache     protoimpl.SizeCache
  6172  	unknownFields protoimpl.UnknownFields
  6173  
  6174  	// Age of an object (in days). This condition is satisfied when an
  6175  	// object reaches the specified age.
  6176  	// A value of 0 indicates that all objects immediately match this
  6177  	// condition.
  6178  	AgeDays *int32 `protobuf:"varint,1,opt,name=age_days,json=ageDays,proto3,oneof" json:"age_days,omitempty"`
  6179  	// This condition is satisfied when an object is created before midnight
  6180  	// of the specified date in UTC.
  6181  	CreatedBefore *date.Date `protobuf:"bytes,2,opt,name=created_before,json=createdBefore,proto3" json:"created_before,omitempty"`
  6182  	// Relevant only for versioned objects. If the value is
  6183  	// `true`, this condition matches live objects; if the value
  6184  	// is `false`, it matches archived objects.
  6185  	IsLive *bool `protobuf:"varint,3,opt,name=is_live,json=isLive,proto3,oneof" json:"is_live,omitempty"`
  6186  	// Relevant only for versioned objects. If the value is N, this
  6187  	// condition is satisfied when there are at least N versions (including
  6188  	// the live version) newer than this version of the object.
  6189  	NumNewerVersions *int32 `protobuf:"varint,4,opt,name=num_newer_versions,json=numNewerVersions,proto3,oneof" json:"num_newer_versions,omitempty"`
  6190  	// Objects having any of the storage classes specified by this condition
  6191  	// will be matched. Values include `MULTI_REGIONAL`, `REGIONAL`,
  6192  	// `NEARLINE`, `COLDLINE`, `STANDARD`, and
  6193  	// `DURABLE_REDUCED_AVAILABILITY`.
  6194  	MatchesStorageClass []string `protobuf:"bytes,5,rep,name=matches_storage_class,json=matchesStorageClass,proto3" json:"matches_storage_class,omitempty"`
  6195  	// Number of days that have elapsed since the custom timestamp set on an
  6196  	// object.
  6197  	// The value of the field must be a nonnegative integer.
  6198  	DaysSinceCustomTime *int32 `protobuf:"varint,7,opt,name=days_since_custom_time,json=daysSinceCustomTime,proto3,oneof" json:"days_since_custom_time,omitempty"`
  6199  	// An object matches this condition if the custom timestamp set on the
  6200  	// object is before the specified date in UTC.
  6201  	CustomTimeBefore *date.Date `protobuf:"bytes,8,opt,name=custom_time_before,json=customTimeBefore,proto3" json:"custom_time_before,omitempty"`
  6202  	// This condition is relevant only for versioned objects. An object
  6203  	// version satisfies this condition only if these many days have been
  6204  	// passed since it became noncurrent. The value of the field must be a
  6205  	// nonnegative integer. If it's zero, the object version will become
  6206  	// eligible for Lifecycle action as soon as it becomes noncurrent.
  6207  	DaysSinceNoncurrentTime *int32 `protobuf:"varint,9,opt,name=days_since_noncurrent_time,json=daysSinceNoncurrentTime,proto3,oneof" json:"days_since_noncurrent_time,omitempty"`
  6208  	// This condition is relevant only for versioned objects. An object
  6209  	// version satisfies this condition only if it became noncurrent before
  6210  	// the specified date in UTC.
  6211  	NoncurrentTimeBefore *date.Date `protobuf:"bytes,10,opt,name=noncurrent_time_before,json=noncurrentTimeBefore,proto3" json:"noncurrent_time_before,omitempty"`
  6212  	// List of object name prefixes. If any prefix exactly matches the
  6213  	// beginning of the object name, the condition evaluates to true.
  6214  	MatchesPrefix []string `protobuf:"bytes,11,rep,name=matches_prefix,json=matchesPrefix,proto3" json:"matches_prefix,omitempty"`
  6215  	// List of object name suffixes. If any suffix exactly matches the
  6216  	// end of the object name, the condition evaluates to true.
  6217  	MatchesSuffix []string `protobuf:"bytes,12,rep,name=matches_suffix,json=matchesSuffix,proto3" json:"matches_suffix,omitempty"`
  6218  }
  6219  
  6220  func (x *Bucket_Lifecycle_Rule_Condition) Reset() {
  6221  	*x = Bucket_Lifecycle_Rule_Condition{}
  6222  	if protoimpl.UnsafeEnabled {
  6223  		mi := &file_google_storage_v2_storage_proto_msgTypes[69]
  6224  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6225  		ms.StoreMessageInfo(mi)
  6226  	}
  6227  }
  6228  
  6229  func (x *Bucket_Lifecycle_Rule_Condition) String() string {
  6230  	return protoimpl.X.MessageStringOf(x)
  6231  }
  6232  
  6233  func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {}
  6234  
  6235  func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message {
  6236  	mi := &file_google_storage_v2_storage_proto_msgTypes[69]
  6237  	if protoimpl.UnsafeEnabled && x != nil {
  6238  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6239  		if ms.LoadMessageInfo() == nil {
  6240  			ms.StoreMessageInfo(mi)
  6241  		}
  6242  		return ms
  6243  	}
  6244  	return mi.MessageOf(x)
  6245  }
  6246  
  6247  // Deprecated: Use Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead.
  6248  func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) {
  6249  	return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0, 1}
  6250  }
  6251  
  6252  func (x *Bucket_Lifecycle_Rule_Condition) GetAgeDays() int32 {
  6253  	if x != nil && x.AgeDays != nil {
  6254  		return *x.AgeDays
  6255  	}
  6256  	return 0
  6257  }
  6258  
  6259  func (x *Bucket_Lifecycle_Rule_Condition) GetCreatedBefore() *date.Date {
  6260  	if x != nil {
  6261  		return x.CreatedBefore
  6262  	}
  6263  	return nil
  6264  }
  6265  
  6266  func (x *Bucket_Lifecycle_Rule_Condition) GetIsLive() bool {
  6267  	if x != nil && x.IsLive != nil {
  6268  		return *x.IsLive
  6269  	}
  6270  	return false
  6271  }
  6272  
  6273  func (x *Bucket_Lifecycle_Rule_Condition) GetNumNewerVersions() int32 {
  6274  	if x != nil && x.NumNewerVersions != nil {
  6275  		return *x.NumNewerVersions
  6276  	}
  6277  	return 0
  6278  }
  6279  
  6280  func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesStorageClass() []string {
  6281  	if x != nil {
  6282  		return x.MatchesStorageClass
  6283  	}
  6284  	return nil
  6285  }
  6286  
  6287  func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceCustomTime() int32 {
  6288  	if x != nil && x.DaysSinceCustomTime != nil {
  6289  		return *x.DaysSinceCustomTime
  6290  	}
  6291  	return 0
  6292  }
  6293  
  6294  func (x *Bucket_Lifecycle_Rule_Condition) GetCustomTimeBefore() *date.Date {
  6295  	if x != nil {
  6296  		return x.CustomTimeBefore
  6297  	}
  6298  	return nil
  6299  }
  6300  
  6301  func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceNoncurrentTime() int32 {
  6302  	if x != nil && x.DaysSinceNoncurrentTime != nil {
  6303  		return *x.DaysSinceNoncurrentTime
  6304  	}
  6305  	return 0
  6306  }
  6307  
  6308  func (x *Bucket_Lifecycle_Rule_Condition) GetNoncurrentTimeBefore() *date.Date {
  6309  	if x != nil {
  6310  		return x.NoncurrentTimeBefore
  6311  	}
  6312  	return nil
  6313  }
  6314  
  6315  func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesPrefix() []string {
  6316  	if x != nil {
  6317  		return x.MatchesPrefix
  6318  	}
  6319  	return nil
  6320  }
  6321  
  6322  func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesSuffix() []string {
  6323  	if x != nil {
  6324  		return x.MatchesSuffix
  6325  	}
  6326  	return nil
  6327  }
  6328  
  6329  var File_google_storage_v2_storage_proto protoreflect.FileDescriptor
  6330  
  6331  var file_google_storage_v2_storage_proto_rawDesc = []byte{
  6332  	0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6333  	0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  6334  	0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  6335  	0x65, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  6336  	0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
  6337  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
  6338  	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
  6339  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
  6340  	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6341  	0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c,
  6342  	0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6343  	0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
  6344  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  6345  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
  6346  	0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  6347  	0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70,
  6348  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  6349  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  6350  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
  6351  	0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02,
  6352  	0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
  6353  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  6354  	0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f,
  6355  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  6356  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  6357  	0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6358  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
  6359  	0x03, 0x48, 0x00, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6360  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a,
  6361  	0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6362  	0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01,
  6363  	0x28, 0x03, 0x48, 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
  6364  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
  6365  	0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
  6366  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a,
  6367  	0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6368  	0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x02,
  6369  	0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  6370  	0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  6371  	0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  6372  	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  6373  	0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a,
  6374  	0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6375  	0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
  6376  	0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6377  	0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66,
  6378  	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6379  	0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
  6380  	0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6381  	0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3c,
  6382  	0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28,
  6383  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  6384  	0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x02, 0x52,
  6385  	0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18,
  6386  	0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6387  	0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f,
  6388  	0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
  6389  	0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61,
  6390  	0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xa6, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74,
  6391  	0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b,
  6392  	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
  6393  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
  6394  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
  6395  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a,
  6396  	0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x62,
  6397  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  6398  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  6399  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63,
  6400  	0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64,
  6401  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x75, 0x63,
  6402  	0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69,
  6403  	0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70,
  6404  	0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x1d,
  6405  	0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75,
  6406  	0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20,
  6407  	0x01, 0x28, 0x09, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44,
  6408  	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x22,
  6409  	0x81, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52,
  6410  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  6411  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b,
  6412  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e,
  6413  	0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  6414  	0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72,
  6415  	0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
  6416  	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
  6417  	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
  6418  	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
  6419  	0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  6420  	0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
  6421  	0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  6422  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
  6423  	0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61,
  6424  	0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d,
  6425  	0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65,
  6426  	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x75,
  6427  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  6428  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  6429  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12,
  6430  	0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  6431  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
  6432  	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x20, 0x4c, 0x6f, 0x63, 0x6b,
  6433  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50,
  6434  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06,
  6435  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41,
  6436  	0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f,
  6437  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63,
  6438  	0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x69,
  6439  	0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6440  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x69, 0x66,
  6441  	0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
  6442  	0x74, 0x63, 0x68, 0x22, 0xac, 0x03, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75,
  6443  	0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x62,
  6444  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  6445  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  6446  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3b,
  6447  	0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6448  	0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48,
  6449  	0x00, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6450  	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69,
  6451  	0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6452  	0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
  6453  	0x48, 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6454  	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
  6455  	0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63,
  6456  	0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69,
  6457  	0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66,
  6458  	0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a,
  6459  	0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x70,
  6460  	0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
  6461  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
  6462  	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  6463  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  6464  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
  6465  	0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65,
  6466  	0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
  6467  	0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
  6468  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
  6469  	0x63, 0x68, 0x22, 0x5c, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
  6470  	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  6471  	0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0,
  6472  	0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67,
  6473  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f,
  6474  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  6475  	0x22, 0x53, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
  6476  	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61,
  6477  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f,
  6478  	0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6479  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
  6480  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
  6481  	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
  6482  	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  6483  	0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f,
  6484  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  6485  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
  6486  	0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  6487  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6488  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74,
  6489  	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c,
  6490  	0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a,
  6491  	0x18, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  6492  	0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72,
  6493  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  6494  	0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6495  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
  6496  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
  6497  	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
  6498  	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
  6499  	0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
  6500  	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74,
  6501  	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  6502  	0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  6503  	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  6504  	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f,
  6505  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69,
  6506  	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
  6507  	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
  6508  	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
  6509  	0x6e, 0x22, 0xf4, 0x06, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a,
  6510  	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65,
  6511  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6512  	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6513  	0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  6514  	0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e,
  6515  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02,
  6516  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
  6517  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
  6518  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f,
  6519  	0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72,
  6520  	0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73,
  6521  	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69,
  6522  	0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64,
  6523  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66,
  6524  	0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
  6525  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04,
  6526  	0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6527  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17,
  6528  	0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6529  	0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
  6530  	0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6531  	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73,
  6532  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a,
  6533  	0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6534  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
  6535  	0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f,
  6536  	0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75,
  6537  	0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
  6538  	0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  6539  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6540  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19,
  6541  	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
  6542  	0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x6f,
  6543  	0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61,
  6544  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e,
  6545  	0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6546  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6547  	0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72,
  6548  	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
  6549  	0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  6550  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a,
  6551  	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63,
  6552  	0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72,
  6553  	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6f, 0x62, 0x6a,
  6554  	0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  6555  	0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e,
  6556  	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
  6557  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01,
  6558  	0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6559  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14,
  6560  	0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
  6561  	0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65,
  6562  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18,
  6563  	0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6564  	0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xdd, 0x04, 0x0a, 0x13, 0x44, 0x65, 0x6c,
  6565  	0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6566  	0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  6567  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a,
  6568  	0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  6569  	0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70,
  6570  	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
  6571  	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6572  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e,
  6573  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
  6574  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05,
  6575  	0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6576  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17,
  6577  	0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
  6578  	0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
  6579  	0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
  6580  	0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d,
  6581  	0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
  6582  	0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d,
  6583  	0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
  6584  	0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
  6585  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
  6586  	0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66,
  6587  	0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
  6588  	0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d,
  6589  	0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
  6590  	0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6591  	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6592  	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  6593  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63,
  6594  	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  6595  	0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f,
  6596  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
  6597  	0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6598  	0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18,
  6599  	0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6600  	0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f,
  6601  	0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
  6602  	0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xc0, 0x05, 0x0a, 0x11, 0x52, 0x65, 0x61,
  6603  	0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
  6604  	0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  6605  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  6606  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e,
  6607  	0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
  6608  	0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f,
  6609  	0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20,
  6610  	0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
  6611  	0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20,
  6612  	0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x33,
  6613  	0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6614  	0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69,
  6615  	0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68,
  6616  	0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6617  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07,
  6618  	0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6619  	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
  6620  	0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6621  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
  6622  	0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6623  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b,
  6624  	0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6625  	0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28,
  6626  	0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6627  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
  6628  	0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  6629  	0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
  6630  	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6631  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
  6632  	0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
  6633  	0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
  6634  	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
  6635  	0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01,
  6636  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  6637  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04,
  6638  	0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a,
  6639  	0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6640  	0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
  6641  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6642  	0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
  6643  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a,
  6644  	0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6645  	0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a,
  6646  	0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x89, 0x05, 0x0a, 0x10,
  6647  	0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6648  	0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  6649  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a,
  6650  	0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  6651  	0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65,
  6652  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
  6653  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66,
  6654  	0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6655  	0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e,
  6656  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
  6657  	0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6658  	0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
  6659  	0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6660  	0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69,
  6661  	0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6662  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15,
  6663  	0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6664  	0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d,
  6665  	0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
  6666  	0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52,
  6667  	0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6668  	0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c,
  6669  	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
  6670  	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01,
  6671  	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
  6672  	0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
  6673  	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
  6674  	0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
  6675  	0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72,
  6676  	0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  6677  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  6678  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65,
  6679  	0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66,
  6680  	0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6681  	0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6682  	0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a,
  6683  	0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6684  	0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66,
  6685  	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6686  	0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65,
  6687  	0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64,
  6688  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d,
  6689  	0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61,
  6690  	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6691  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65,
  6692  	0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63, 0x68,
  6693  	0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a,
  6694  	0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
  6695  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6696  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
  6697  	0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a,
  6698  	0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x0d,
  6699  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20,
  6700  	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  6701  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
  6702  	0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e,
  6703  	0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04,
  6704  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
  6705  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
  6706  	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x03, 0x0a, 0x0f, 0x57, 0x72,
  6707  	0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a,
  6708  	0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6709  	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6710  	0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
  6711  	0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e,
  6712  	0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72,
  6713  	0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69,
  6714  	0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
  6715  	0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65,
  6716  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
  6717  	0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6718  	0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
  6719  	0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6720  	0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17,
  6721  	0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6722  	0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52,
  6723  	0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6724  	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f,
  6725  	0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
  6726  	0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03,
  6727  	0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  6728  	0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a,
  6729  	0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6730  	0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
  6731  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6732  	0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
  6733  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a,
  6734  	0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6735  	0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xf8, 0x03,
  6736  	0x0a, 0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
  6737  	0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69,
  6738  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61,
  6739  	0x64, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a,
  6740  	0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
  6741  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  6742  	0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
  6743  	0x65, 0x63, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6744  	0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f,
  6745  	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02,
  6746  	0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a,
  6747  	0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74,
  6748  	0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6749  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63,
  6750  	0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63,
  6751  	0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d,
  6752  	0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
  6753  	0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6754  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a,
  6755  	0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62,
  6756  	0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a,
  6757  	0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20,
  6758  	0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65,
  6759  	0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  6760  	0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
  6761  	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6762  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
  6763  	0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
  6764  	0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
  6765  	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42,
  6766  	0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  6767  	0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69,
  6768  	0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  6769  	0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69,
  6770  	0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73,
  6771  	0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73,
  6772  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  6773  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  6774  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  6775  	0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
  6776  	0x75, 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6777  	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72,
  6778  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  6779  	0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6780  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
  6781  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
  6782  	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
  6783  	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
  6784  	0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
  6785  	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65,
  6786  	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74,
  6787  	0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72,
  6788  	0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72,
  6789  	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54,
  6790  	0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72,
  6791  	0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  6792  	0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73,
  6793  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73,
  6794  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73,
  6795  	0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6796  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
  6797  	0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88,
  6798  	0x01, 0x01, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70,
  6799  	0x68, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
  6800  	0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74,
  6801  	0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61,
  6802  	0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
  6803  	0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64,
  6804  	0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaa,
  6805  	0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61,
  6806  	0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x70,
  6807  	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  6808  	0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x1c,
  6809  	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
  6810  	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
  6811  	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
  6812  	0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
  6813  	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
  6814  	0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
  6815  	0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18,
  6816  	0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  6817  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73,
  6818  	0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
  6819  	0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a,
  6820  	0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
  6821  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  6822  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00,
  6823  	0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72,
  6824  	0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x0d, 0x0a, 0x14, 0x52,
  6825  	0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
  6826  	0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  6827  	0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  6828  	0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
  6829  	0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  6830  	0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42,
  6831  	0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6832  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  6833  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  6834  	0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73,
  6835  	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79,
  6836  	0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f,
  6837  	0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  6838  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x11,
  6839  	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x6d, 0x73, 0x4b, 0x65,
  6840  	0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6841  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6842  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6843  	0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28,
  6844  	0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
  6845  	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72,
  6846  	0x63, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72,
  6847  	0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
  6848  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65,
  6849  	0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e,
  6850  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73,
  6851  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  6852  	0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
  6853  	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54,
  6854  	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  6855  	0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61,
  6856  	0x63, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
  6857  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41,
  6858  	0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  6859  	0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48,
  6860  	0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  6861  	0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65,
  6862  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
  6863  	0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65,
  6864  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
  6865  	0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
  6866  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09,
  6867  	0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65,
  6868  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
  6869  	0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6870  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
  6871  	0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67,
  6872  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63,
  6873  	0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x1a, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
  6874  	0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
  6875  	0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x17, 0x69, 0x66, 0x53, 0x6f,
  6876  	0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
  6877  	0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75,
  6878  	0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
  6879  	0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05,
  6880  	0x52, 0x1a, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  6881  	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
  6882  	0x48, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74,
  6883  	0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6884  	0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x1b, 0x69, 0x66, 0x53, 0x6f, 0x75,
  6885  	0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6886  	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x22, 0x69, 0x66, 0x5f,
  6887  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6888  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
  6889  	0x0e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x1e, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63,
  6890  	0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
  6891  	0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61,
  6892  	0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65,
  6893  	0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03,
  6894  	0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74,
  6895  	0x74, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x20, 0x63, 0x6f,
  6896  	0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
  6897  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x10,
  6898  	0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  6899  	0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  6900  	0x74, 0x68, 0x6d, 0x12, 0x46, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72,
  6901  	0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65,
  6902  	0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x63,
  6903  	0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
  6904  	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x27, 0x63,
  6905  	0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79,
  6906  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36,
  6907  	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x22, 0x63, 0x6f,
  6908  	0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
  6909  	0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73,
  6910  	0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  6911  	0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
  6912  	0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6913  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
  6914  	0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
  6915  	0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
  6916  	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42,
  6917  	0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6918  	0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67,
  6919  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
  6920  	0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
  6921  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
  6922  	0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
  6923  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
  6924  	0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65,
  6925  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21,
  6926  	0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e,
  6927  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
  6928  	0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
  6929  	0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
  6930  	0x61, 0x74, 0x63, 0x68, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72,
  6931  	0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6932  	0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x01, 0x0a, 0x0f,
  6933  	0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  6934  	0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72,
  6935  	0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
  6936  	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74,
  6937  	0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69,
  6938  	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  6939  	0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
  6940  	0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72,
  6941  	0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  6942  	0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x35, 0x0a,
  6943  	0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6944  	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  6945  	0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
  6946  	0x75, 0x72, 0x63, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
  6947  	0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
  6948  	0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a,
  6949  	0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
  6950  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  6951  	0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
  6952  	0x65, 0x63, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53,
  6953  	0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62,
  6954  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72,
  6955  	0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  6956  	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
  6957  	0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  6958  	0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f,
  6959  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
  6960  	0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d,
  6961  	0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  6962  	0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
  6963  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0xfd,
  6964  	0x04, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
  6965  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  6966  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6967  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6968  	0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f,
  6969  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
  6970  	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65,
  6971  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a,
  6972  	0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6973  	0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
  6974  	0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
  6975  	0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66,
  6976  	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  6977  	0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69,
  6978  	0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  6979  	0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65,
  6980  	0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
  6981  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18,
  6982  	0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6983  	0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x70,
  6984  	0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20,
  6985  	0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41,
  6986  	0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
  6987  	0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6988  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
  6989  	0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12,
  6990  	0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  6991  	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
  6992  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  6993  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
  6994  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
  6995  	0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  6996  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16,
  6997  	0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  6998  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65,
  6999  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
  7000  	0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
  7001  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e,
  7002  	0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  7003  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x69,
  7004  	0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
  7005  	0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72,
  7006  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02,
  7007  	0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  7008  	0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7009  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  7010  	0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x43, 0x72,
  7011  	0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
  7012  	0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20,
  7013  	0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f,
  7014  	0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
  7015  	0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  7016  	0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  7017  	0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63,
  7018  	0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  7019  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
  7020  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x43,
  7021  	0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
  7022  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  7023  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7024  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b,
  7025  	0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
  7026  	0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b,
  7027  	0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e,
  7028  	0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x87,
  7029  	0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
  7030  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73,
  7031  	0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  7032  	0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f,
  7033  	0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa,
  7034  	0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  7035  	0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  7036  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
  7037  	0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
  7038  	0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
  7039  	0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  7040  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64,
  7041  	0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  7042  	0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  7043  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
  7044  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50,
  7045  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22,
  7046  	0x94, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73,
  7047  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  7048  	0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
  7049  	0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
  7050  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  7051  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70,
  7052  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
  7053  	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08,
  7054  	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
  7055  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  7056  	0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x15,
  7057  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
  7058  	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  7059  	0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  7060  	0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65,
  7061  	0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
  7062  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74,
  7063  	0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d,
  7064  	0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f,
  7065  	0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  7066  	0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7067  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74,
  7068  	0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12,
  7069  	0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  7070  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
  7071  	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61,
  7072  	0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  7073  	0x12, 0x42, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  7074  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
  7075  	0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65,
  7076  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x68, 0x6d, 0x61,
  7077  	0x63, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d,
  7078  	0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7079  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
  7080  	0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
  7081  	0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
  7082  	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
  7083  	0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c,
  7084  	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65,
  7085  	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
  7086  	0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  7087  	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
  7088  	0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42,
  7089  	0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
  7090  	0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79,
  7091  	0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79,
  7092  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79,
  7093  	0x74, 0x65, 0x73, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43,
  7094  	0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61, 0x6c,
  7095  	0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55, 0x4e,
  7096  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, 0x4d,
  7097  	0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59,
  7098  	0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58, 0x5f,
  7099  	0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45,
  7100  	0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42,
  7101  	0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80, 0xc0,
  7102  	0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
  7103  	0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e,
  7104  	0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a, 0x25,
  7105  	0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44,
  7106  	0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f,
  7107  	0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f,
  7108  	0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f,
  7109  	0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53,
  7110  	0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45,
  7111  	0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c,
  7112  	0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01, 0x12,
  7113  	0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54,
  7114  	0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f,
  7115  	0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58, 0x5f,
  7116  	0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f,
  7117  	0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22,
  7118  	0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e,
  7119  	0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54,
  7120  	0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49,
  7121  	0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
  7122  	0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x45,
  7123  	0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f, 0x4e,
  7124  	0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54,
  7125  	0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c,
  7126  	0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a, 0x18,
  7127  	0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x49,
  7128  	0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41,
  7129  	0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c,
  7130  	0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a, 0x4d,
  7131  	0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41,
  7132  	0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a, 0x29,
  7133  	0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f, 0x50,
  7134  	0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54,
  7135  	0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a, 0x1a,
  7136  	0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f,
  7137  	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10, 0x01,
  7138  	0x22, 0x8c, 0x1e, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e,
  7139  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04,
  7140  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69,
  7141  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62, 0x75,
  7142  	0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x1d,
  7143  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72,
  7144  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05,
  7145  	0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  7146  	0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7147  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  7148  	0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74,
  7149  	0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
  7150  	0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
  7151  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  7152  	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c,
  7153  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  7154  	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  7155  	0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
  7156  	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61,
  7157  	0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  7158  	0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x6f, 0x18, 0x1b, 0x20,
  7159  	0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18,
  7160  	0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7161  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
  7162  	0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61,
  7163  	0x63, 0x6c, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62,
  7164  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
  7165  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7166  	0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43,
  7167  	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f,
  7168  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65,
  7169  	0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f,
  7170  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7171  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
  7172  	0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63,
  7173  	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
  7174  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  7175  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
  7176  	0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a,
  7177  	0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
  7178  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7179  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72,
  7180  	0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  7181  	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7182  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  7183  	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
  7184  	0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65,
  7185  	0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18,
  7186  	0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76,
  7187  	0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06,
  7188  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67,
  7189  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7190  	0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
  7191  	0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77,
  7192  	0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67,
  7193  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7194  	0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52,
  7195  	0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73,
  7196  	0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
  7197  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7198  	0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69,
  7199  	0x6e, 0x67, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b,
  7200  	0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
  7201  	0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7202  	0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69,
  7203  	0x6e, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x6f,
  7204  	0x77, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f,
  7205  	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f,
  7206  	0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
  7207  	0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14,
  7208  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
  7209  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
  7210  	0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72,
  7211  	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e,
  7212  	0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7213  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b,
  7214  	0x65, 0x74, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c,
  7215  	0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
  7216  	0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
  7217  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  7218  	0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69,
  7219  	0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74,
  7220  	0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61, 0x6d,
  7221  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
  7222  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  7223  	0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
  7224  	0x69, 0x67, 0x52, 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a,
  7225  	0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19,
  7226  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50,
  7227  	0x7a, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61,
  7228  	0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20,
  7229  	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7230  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43,
  7231  	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f,
  7232  	0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63,
  7233  	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x09, 0x61,
  7234  	0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
  7235  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7236  	0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c,
  7237  	0x61, 0x73, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x30,
  7238  	0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71,
  7239  	0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  7240  	0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x73,
  7241  	0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69,
  7242  	0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69,
  7243  	0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
  7244  	0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73,
  7245  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03,
  7246  	0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64,
  7247  	0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65,
  7248  	0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78,
  7249  	0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, 0x0a, 0x0a, 0x45, 0x6e,
  7250  	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61,
  7251  	0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  7252  	0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
  7253  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  7254  	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75,
  7255  	0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xb1, 0x02, 0x0a, 0x09, 0x49, 0x61, 0x6d,
  7256  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72,
  7257  	0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61,
  7258  	0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f,
  7259  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7260  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  7261  	0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65,
  7262  	0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x66, 0x6f,
  7263  	0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63,
  7264  	0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63,
  7265  	0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  7266  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63,
  7267  	0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a,
  7268  	0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65,
  7269  	0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61,
  7270  	0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62,
  7271  	0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  7272  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7273  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  7274  	0x6d, 0x70, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xdb, 0x07, 0x0a,
  7275  	0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x75,
  7276  	0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7277  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63,
  7278  	0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75,
  7279  	0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x8f, 0x07, 0x0a, 0x04, 0x52, 0x75, 0x6c,
  7280  	0x65, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
  7281  	0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7282  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66,
  7283  	0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69,
  7284  	0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x6f,
  7285  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
  7286  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  7287  	0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
  7288  	0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
  7289  	0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06,
  7290  	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
  7291  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74,
  7292  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
  7293  	0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a,
  7294  	0xa8, 0x05, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a,
  7295  	0x08, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48,
  7296  	0x00, 0x52, 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a,
  7297  	0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18,
  7298  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
  7299  	0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  7300  	0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69,
  7301  	0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69,
  7302  	0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77,
  7303  	0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
  7304  	0x05, 0x48, 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72,
  7305  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63,
  7306  	0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73,
  7307  	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73,
  7308  	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x16,
  7309  	0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f,
  7310  	0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x13,
  7311  	0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54,
  7312  	0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
  7313  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01,
  7314  	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
  7315  	0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d,
  7316  	0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x64, 0x61, 0x79, 0x73, 0x5f,
  7317  	0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
  7318  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x17, 0x64,
  7319  	0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
  7320  	0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x16, 0x6e, 0x6f, 0x6e,
  7321  	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66,
  7322  	0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7323  	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x14, 0x6e, 0x6f,
  7324  	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f,
  7325  	0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x70, 0x72,
  7326  	0x65, 0x66, 0x69, 0x78, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63,
  7327  	0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74,
  7328  	0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0c, 0x20, 0x03, 0x28,
  7329  	0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78,
  7330  	0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x0a,
  7331  	0x08, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x75,
  7332  	0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  7333  	0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
  7334  	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f,
  7335  	0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75,
  7336  	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x54, 0x0a, 0x07, 0x4c, 0x6f,
  7337  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x75, 0x63,
  7338  	0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x42, 0x75,
  7339  	0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
  7340  	0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  7341  	0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
  7342  	0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
  7343  	0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
  7344  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  7345  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  7346  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
  7347  	0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f,
  7348  	0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f,
  7349  	0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
  7350  	0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
  7351  	0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a,
  7352  	0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a,
  7353  	0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
  7354  	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69,
  7355  	0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
  7356  	0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61,
  7357  	0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e,
  7358  	0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02,
  7359  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61,
  7360  	0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63,
  7361  	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64,
  7362  	0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
  7363  	0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  7364  	0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12,
  7365  	0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  7366  	0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x74, 0x6f, 0x67,
  7367  	0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  7368  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  7369  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  7370  	0x0a, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c,
  7371  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  7372  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
  7373  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
  7374  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47, 0xea, 0x41, 0x44, 0x0a, 0x1d, 0x73, 0x74, 0x6f,
  7375  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  7376  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a,
  7377  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62,
  7378  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22,
  7379  	0xf3, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
  7380  	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18,
  7381  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
  7382  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65,
  7383  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74,
  7384  	0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
  7385  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
  7386  	0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  7387  	0x65, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20,
  7388  	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f,
  7389  	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
  7390  	0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65,
  7391  	0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7392  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f,
  7393  	0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  7394  	0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
  7395  	0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
  7396  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  7397  	0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01,
  7398  	0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42,
  7399  	0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62,
  7400  	0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a,
  7401  	0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52,
  7402  	0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64,
  7403  	0x35, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64,
  7404  	0x35, 0x48, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
  7405  	0x22, 0xe2, 0x02, 0x0a, 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61,
  7406  	0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  7407  	0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69,
  7408  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49,
  7409  	0x64, 0x12, 0x4a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01,
  7410  	0x28, 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
  7411  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
  7412  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
  7413  	0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a,
  7414  	0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  7415  	0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65,
  7416  	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69,
  7417  	0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
  7418  	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
  7419  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  7420  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  7421  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  7422  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74,
  7423  	0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7424  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  7425  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
  7426  	0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
  7427  	0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xfb, 0x03, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
  7428  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  7429  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  7430  	0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  7431  	0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74,
  7432  	0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x24,
  7433  	0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20,
  7434  	0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54,
  7435  	0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61,
  7436  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  7437  	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7438  	0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  7439  	0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
  7440  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x75, 0x73,
  7441  	0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x0a,
  7442  	0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65,
  7443  	0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10,
  7444  	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
  7445  	0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d,
  7446  	0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70,
  7447  	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x43, 0x0a, 0x15,
  7448  	0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
  7449  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  7450  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  7451  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  7452  	0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7453  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e,
  7454  	0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x70, 0x72, 0x6f,
  7455  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
  7456  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d,
  7457  	0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
  7458  	0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  7459  	0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45,
  7460  	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63,
  7461  	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
  7462  	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
  7463  	0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10,
  7464  	0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
  7465  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35,
  7466  	0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xec, 0x0b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  7467  	0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  7468  	0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75,
  7469  	0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa,
  7470  	0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7471  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65,
  7472  	0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61,
  7473  	0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x23, 0x0a,
  7474  	0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
  7475  	0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
  7476  	0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
  7477  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  7478  	0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  7479  	0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
  7480  	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
  7481  	0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01,
  7482  	0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a,
  7483  	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
  7484  	0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
  7485  	0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74,
  7486  	0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  7487  	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69,
  7488  	0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63,
  7489  	0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
  7490  	0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38,
  7491  	0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
  7492  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7493  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
  7494  	0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74,
  7495  	0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01,
  7496  	0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75,
  7497  	0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69,
  7498  	0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7499  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  7500  	0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74,
  7501  	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
  7502  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
  7503  	0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
  7504  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  7505  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  7506  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
  7507  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f,
  7508  	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20,
  7509  	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
  7510  	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63,
  7511  	0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
  7512  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7513  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42,
  7514  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12,
  7515  	0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11,
  7516  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  7517  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  7518  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
  7519  	0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x12, 0x20, 0x01,
  7520  	0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
  7521  	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  7522  	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b,
  7523  	0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f,
  7524  	0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  7525  	0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  7526  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  7527  	0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74,
  7528  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25,
  7529  	0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64,
  7530  	0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72,
  7531  	0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69,
  7532  	0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15,
  7533  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  7534  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  7535  	0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72,
  7536  	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  7537  	0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7538  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
  7539  	0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79,
  7540  	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x76,
  7541  	0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17,
  7542  	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
  7543  	0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e,
  7544  	0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7545  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e,
  7546  	0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x56,
  7547  	0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79,
  7548  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
  7549  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7550  	0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
  7551  	0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72,
  7552  	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
  7553  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  7554  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  7555  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54,
  7556  	0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45,
  7557  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  7558  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  7559  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
  7560  	0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64,
  7561  	0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
  7562  	0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a,
  7563  	0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c,
  7564  	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
  7565  	0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
  7566  	0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
  7567  	0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e,
  7568  	0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08,
  7569  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d,
  7570  	0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
  7571  	0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  7572  	0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a,
  7573  	0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
  7574  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7575  	0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b,
  7576  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13,
  7577  	0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  7578  	0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01,
  7579  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
  7580  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
  7581  	0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66,
  7582  	0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66,
  7583  	0x69, 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
  7584  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
  7585  	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b,
  7586  	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70,
  7587  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20,
  7588  	0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62,
  7589  	0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  7590  	0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  7591  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69,
  7592  	0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  7593  	0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a,
  7594  	0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  7595  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b,
  7596  	0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  7597  	0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43,
  7598  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
  7599  	0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72,
  7600  	0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
  7601  	0x65, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f,
  7602  	0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f,
  7603  	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0xb0, 0x1b, 0x0a,
  7604  	0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65,
  7605  	0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7606  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c,
  7607  	0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  7608  	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  7609  	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
  7610  	0x65, 0x12, 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23,
  7611  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7612  	0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75,
  7613  	0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7614  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x07,
  7615  	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74,
  7616  	0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7617  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
  7618  	0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  7619  	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7620  	0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x1a, 0xda, 0x41, 0x17, 0x70,
  7621  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62, 0x75, 0x63,
  7622  	0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75,
  7623  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7624  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75,
  7625  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67,
  7626  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7627  	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
  7628  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  7629  	0x76, 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74,
  7630  	0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67,
  7631  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7632  	0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e,
  7633  	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  7634  	0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7635  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x09, 0xda, 0x41,
  7636  	0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61,
  7637  	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7638  	0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
  7639  	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f,
  7640  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69,
  7641  	0x63, 0x79, 0x22, 0x0b, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
  7642  	0x5d, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  7643  	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  7644  	0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
  7645  	0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
  7646  	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x12, 0xda, 0x41, 0x0f, 0x72,
  7647  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x82,
  7648  	0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
  7649  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
  7650  	0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72,
  7651  	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  7652  	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  7653  	0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
  7654  	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0xda, 0x41, 0x14, 0x72,
  7655  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
  7656  	0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63,
  7657  	0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7658  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75,
  7659  	0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f,
  7660  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7661  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x15, 0xda, 0x41, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65,
  7662  	0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a,
  7663  	0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
  7664  	0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7665  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f,
  7666  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  7667  	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  7668  	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61,
  7669  	0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
  7670  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7671  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74,
  7672  	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  7673  	0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  7674  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  7675  	0x6e, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72,
  7676  	0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  7677  	0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  7678  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
  7679  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
  7680  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7681  	0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
  7682  	0x16, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66,
  7683  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e,
  7684  	0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x67,
  7685  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7686  	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  7687  	0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7688  	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
  7689  	0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
  7690  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65,
  7691  	0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a,
  7692  	0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7693  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f,
  7694  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67,
  7695  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7696  	0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c,
  7697  	0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7698  	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65,
  7699  	0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  7700  	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  7701  	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75,
  7702  	0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75,
  7703  	0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65,
  7704  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a,
  7705  	0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7706  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  7707  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7708  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a,
  7709  	0x65, 0x63, 0x74, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f,
  7710  	0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f,
  7711  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  7712  	0x12, 0x88, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
  7713  	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7714  	0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
  7715  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7716  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62,
  7717  	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xda, 0x41,
  7718  	0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41,
  7719  	0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67,
  7720  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x0c, 0x55,
  7721  	0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f,
  7722  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7723  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
  7724  	0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
  7725  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x15,
  7726  	0xda, 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  7727  	0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62,
  7728  	0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
  7729  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62,
  7730  	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f,
  7731  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  7732  	0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  7733  	0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f,
  7734  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7735  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f,
  7736  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
  7737  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  7738  	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73,
  7739  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  7740  	0x12, 0x5e, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  7741  	0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7742  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a,
  7743  	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f,
  7744  	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52,
  7745  	0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
  7746  	0x12, 0x76, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
  7747  	0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7748  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72,
  7749  	0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
  7750  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7751  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74,
  7752  	0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
  7753  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72,
  7754  	0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67,
  7755  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7756  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
  7757  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7758  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65,
  7759  	0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
  7760  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
  7761  	0x5f, 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  7762  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7763  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74,
  7764  	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
  7765  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7766  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  7767  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f,
  7768  	0x6a, 0x65, 0x63, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48,
  7769  	0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  7770  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
  7771  	0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  7772  	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7773  	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
  7774  	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xda, 0x41, 0x1d, 0x70, 0x72,
  7775  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
  7776  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x44,
  7777  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67,
  7778  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
  7779  	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65,
  7780  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  7781  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x14, 0xda,
  7782  	0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a,
  7783  	0x65, 0x63, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
  7784  	0x79, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7785  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
  7786  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  7787  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63,
  7788  	0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x14, 0xda, 0x41, 0x11,
  7789  	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  7790  	0x74, 0x12, 0x6b, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
  7791  	0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7792  	0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
  7793  	0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  7794  	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
  7795  	0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  7796  	0x73, 0x65, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x75,
  7797  	0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12,
  7798  	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  7799  	0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
  7800  	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7801  	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61,
  7802  	0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x17, 0xda, 0x41,
  7803  	0x14, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  7804  	0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61,
  7805  	0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  7806  	0x6d, 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
  7807  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  7808  	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
  7809  	0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
  7810  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
  7811  	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  7812  	0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74,
  7813  	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  7814  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76,
  7815  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
  7816  	0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
  7817  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  7818  	0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  7819  	0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
  7820  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  7821  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f,
  7822  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42,
  7823  	0xdc, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
  7824  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61,
  7825  	0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  7826  	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
  7827  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  7828  	0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72,
  7829  	0x61, 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
  7830  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  7831  	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  7832  	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f,
  7833  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  7834  	0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79,
  7835  	0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
  7836  	0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06,
  7837  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  7838  }
  7839  
  7840  var (
  7841  	file_google_storage_v2_storage_proto_rawDescOnce sync.Once
  7842  	file_google_storage_v2_storage_proto_rawDescData = file_google_storage_v2_storage_proto_rawDesc
  7843  )
  7844  
  7845  func file_google_storage_v2_storage_proto_rawDescGZIP() []byte {
  7846  	file_google_storage_v2_storage_proto_rawDescOnce.Do(func() {
  7847  		file_google_storage_v2_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_storage_v2_storage_proto_rawDescData)
  7848  	})
  7849  	return file_google_storage_v2_storage_proto_rawDescData
  7850  }
  7851  
  7852  var file_google_storage_v2_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  7853  var file_google_storage_v2_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 72)
  7854  var file_google_storage_v2_storage_proto_goTypes = []interface{}{
  7855  	(ServiceConstants_Values)(0),                                  // 0: google.storage.v2.ServiceConstants.Values
  7856  	(*DeleteBucketRequest)(nil),                                   // 1: google.storage.v2.DeleteBucketRequest
  7857  	(*GetBucketRequest)(nil),                                      // 2: google.storage.v2.GetBucketRequest
  7858  	(*CreateBucketRequest)(nil),                                   // 3: google.storage.v2.CreateBucketRequest
  7859  	(*ListBucketsRequest)(nil),                                    // 4: google.storage.v2.ListBucketsRequest
  7860  	(*ListBucketsResponse)(nil),                                   // 5: google.storage.v2.ListBucketsResponse
  7861  	(*LockBucketRetentionPolicyRequest)(nil),                      // 6: google.storage.v2.LockBucketRetentionPolicyRequest
  7862  	(*UpdateBucketRequest)(nil),                                   // 7: google.storage.v2.UpdateBucketRequest
  7863  	(*DeleteNotificationRequest)(nil),                             // 8: google.storage.v2.DeleteNotificationRequest
  7864  	(*GetNotificationRequest)(nil),                                // 9: google.storage.v2.GetNotificationRequest
  7865  	(*CreateNotificationRequest)(nil),                             // 10: google.storage.v2.CreateNotificationRequest
  7866  	(*ListNotificationsRequest)(nil),                              // 11: google.storage.v2.ListNotificationsRequest
  7867  	(*ListNotificationsResponse)(nil),                             // 12: google.storage.v2.ListNotificationsResponse
  7868  	(*ComposeObjectRequest)(nil),                                  // 13: google.storage.v2.ComposeObjectRequest
  7869  	(*DeleteObjectRequest)(nil),                                   // 14: google.storage.v2.DeleteObjectRequest
  7870  	(*ReadObjectRequest)(nil),                                     // 15: google.storage.v2.ReadObjectRequest
  7871  	(*GetObjectRequest)(nil),                                      // 16: google.storage.v2.GetObjectRequest
  7872  	(*ReadObjectResponse)(nil),                                    // 17: google.storage.v2.ReadObjectResponse
  7873  	(*WriteObjectSpec)(nil),                                       // 18: google.storage.v2.WriteObjectSpec
  7874  	(*WriteObjectRequest)(nil),                                    // 19: google.storage.v2.WriteObjectRequest
  7875  	(*WriteObjectResponse)(nil),                                   // 20: google.storage.v2.WriteObjectResponse
  7876  	(*ListObjectsRequest)(nil),                                    // 21: google.storage.v2.ListObjectsRequest
  7877  	(*QueryWriteStatusRequest)(nil),                               // 22: google.storage.v2.QueryWriteStatusRequest
  7878  	(*QueryWriteStatusResponse)(nil),                              // 23: google.storage.v2.QueryWriteStatusResponse
  7879  	(*RewriteObjectRequest)(nil),                                  // 24: google.storage.v2.RewriteObjectRequest
  7880  	(*RewriteResponse)(nil),                                       // 25: google.storage.v2.RewriteResponse
  7881  	(*StartResumableWriteRequest)(nil),                            // 26: google.storage.v2.StartResumableWriteRequest
  7882  	(*StartResumableWriteResponse)(nil),                           // 27: google.storage.v2.StartResumableWriteResponse
  7883  	(*UpdateObjectRequest)(nil),                                   // 28: google.storage.v2.UpdateObjectRequest
  7884  	(*GetServiceAccountRequest)(nil),                              // 29: google.storage.v2.GetServiceAccountRequest
  7885  	(*CreateHmacKeyRequest)(nil),                                  // 30: google.storage.v2.CreateHmacKeyRequest
  7886  	(*CreateHmacKeyResponse)(nil),                                 // 31: google.storage.v2.CreateHmacKeyResponse
  7887  	(*DeleteHmacKeyRequest)(nil),                                  // 32: google.storage.v2.DeleteHmacKeyRequest
  7888  	(*GetHmacKeyRequest)(nil),                                     // 33: google.storage.v2.GetHmacKeyRequest
  7889  	(*ListHmacKeysRequest)(nil),                                   // 34: google.storage.v2.ListHmacKeysRequest
  7890  	(*ListHmacKeysResponse)(nil),                                  // 35: google.storage.v2.ListHmacKeysResponse
  7891  	(*UpdateHmacKeyRequest)(nil),                                  // 36: google.storage.v2.UpdateHmacKeyRequest
  7892  	(*CommonObjectRequestParams)(nil),                             // 37: google.storage.v2.CommonObjectRequestParams
  7893  	(*ServiceConstants)(nil),                                      // 38: google.storage.v2.ServiceConstants
  7894  	(*Bucket)(nil),                                                // 39: google.storage.v2.Bucket
  7895  	(*BucketAccessControl)(nil),                                   // 40: google.storage.v2.BucketAccessControl
  7896  	(*ChecksummedData)(nil),                                       // 41: google.storage.v2.ChecksummedData
  7897  	(*ObjectChecksums)(nil),                                       // 42: google.storage.v2.ObjectChecksums
  7898  	(*HmacKeyMetadata)(nil),                                       // 43: google.storage.v2.HmacKeyMetadata
  7899  	(*Notification)(nil),                                          // 44: google.storage.v2.Notification
  7900  	(*CustomerEncryption)(nil),                                    // 45: google.storage.v2.CustomerEncryption
  7901  	(*Object)(nil),                                                // 46: google.storage.v2.Object
  7902  	(*ObjectAccessControl)(nil),                                   // 47: google.storage.v2.ObjectAccessControl
  7903  	(*ListObjectsResponse)(nil),                                   // 48: google.storage.v2.ListObjectsResponse
  7904  	(*ProjectTeam)(nil),                                           // 49: google.storage.v2.ProjectTeam
  7905  	(*ServiceAccount)(nil),                                        // 50: google.storage.v2.ServiceAccount
  7906  	(*Owner)(nil),                                                 // 51: google.storage.v2.Owner
  7907  	(*ContentRange)(nil),                                          // 52: google.storage.v2.ContentRange
  7908  	(*ComposeObjectRequest_SourceObject)(nil),                     // 53: google.storage.v2.ComposeObjectRequest.SourceObject
  7909  	(*ComposeObjectRequest_SourceObject_ObjectPreconditions)(nil), // 54: google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
  7910  	(*Bucket_Billing)(nil),                                        // 55: google.storage.v2.Bucket.Billing
  7911  	(*Bucket_Cors)(nil),                                           // 56: google.storage.v2.Bucket.Cors
  7912  	(*Bucket_Encryption)(nil),                                     // 57: google.storage.v2.Bucket.Encryption
  7913  	(*Bucket_IamConfig)(nil),                                      // 58: google.storage.v2.Bucket.IamConfig
  7914  	(*Bucket_Lifecycle)(nil),                                      // 59: google.storage.v2.Bucket.Lifecycle
  7915  	(*Bucket_Logging)(nil),                                        // 60: google.storage.v2.Bucket.Logging
  7916  	(*Bucket_RetentionPolicy)(nil),                                // 61: google.storage.v2.Bucket.RetentionPolicy
  7917  	(*Bucket_Versioning)(nil),                                     // 62: google.storage.v2.Bucket.Versioning
  7918  	(*Bucket_Website)(nil),                                        // 63: google.storage.v2.Bucket.Website
  7919  	(*Bucket_CustomPlacementConfig)(nil),                          // 64: google.storage.v2.Bucket.CustomPlacementConfig
  7920  	(*Bucket_Autoclass)(nil),                                      // 65: google.storage.v2.Bucket.Autoclass
  7921  	nil,                                                           // 66: google.storage.v2.Bucket.LabelsEntry
  7922  	(*Bucket_IamConfig_UniformBucketLevelAccess)(nil),             // 67: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
  7923  	(*Bucket_Lifecycle_Rule)(nil),                                 // 68: google.storage.v2.Bucket.Lifecycle.Rule
  7924  	(*Bucket_Lifecycle_Rule_Action)(nil),                          // 69: google.storage.v2.Bucket.Lifecycle.Rule.Action
  7925  	(*Bucket_Lifecycle_Rule_Condition)(nil),                       // 70: google.storage.v2.Bucket.Lifecycle.Rule.Condition
  7926  	nil,                                                           // 71: google.storage.v2.Notification.CustomAttributesEntry
  7927  	nil,                                                           // 72: google.storage.v2.Object.MetadataEntry
  7928  	(*fieldmaskpb.FieldMask)(nil),                                 // 73: google.protobuf.FieldMask
  7929  	(*timestamppb.Timestamp)(nil),                                 // 74: google.protobuf.Timestamp
  7930  	(*date.Date)(nil),                                             // 75: google.type.Date
  7931  	(*v1.GetIamPolicyRequest)(nil),                                // 76: google.iam.v1.GetIamPolicyRequest
  7932  	(*v1.SetIamPolicyRequest)(nil),                                // 77: google.iam.v1.SetIamPolicyRequest
  7933  	(*v1.TestIamPermissionsRequest)(nil),                          // 78: google.iam.v1.TestIamPermissionsRequest
  7934  	(*emptypb.Empty)(nil),                                         // 79: google.protobuf.Empty
  7935  	(*v1.Policy)(nil),                                             // 80: google.iam.v1.Policy
  7936  	(*v1.TestIamPermissionsResponse)(nil),                         // 81: google.iam.v1.TestIamPermissionsResponse
  7937  }
  7938  var file_google_storage_v2_storage_proto_depIdxs = []int32{
  7939  	73,  // 0: google.storage.v2.GetBucketRequest.read_mask:type_name -> google.protobuf.FieldMask
  7940  	39,  // 1: google.storage.v2.CreateBucketRequest.bucket:type_name -> google.storage.v2.Bucket
  7941  	73,  // 2: google.storage.v2.ListBucketsRequest.read_mask:type_name -> google.protobuf.FieldMask
  7942  	39,  // 3: google.storage.v2.ListBucketsResponse.buckets:type_name -> google.storage.v2.Bucket
  7943  	39,  // 4: google.storage.v2.UpdateBucketRequest.bucket:type_name -> google.storage.v2.Bucket
  7944  	73,  // 5: google.storage.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask
  7945  	44,  // 6: google.storage.v2.CreateNotificationRequest.notification:type_name -> google.storage.v2.Notification
  7946  	44,  // 7: google.storage.v2.ListNotificationsResponse.notifications:type_name -> google.storage.v2.Notification
  7947  	46,  // 8: google.storage.v2.ComposeObjectRequest.destination:type_name -> google.storage.v2.Object
  7948  	53,  // 9: google.storage.v2.ComposeObjectRequest.source_objects:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject
  7949  	37,  // 10: google.storage.v2.ComposeObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7950  	37,  // 11: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7951  	37,  // 12: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7952  	73,  // 13: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
  7953  	37,  // 14: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7954  	73,  // 15: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
  7955  	41,  // 16: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData
  7956  	42,  // 17: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums
  7957  	52,  // 18: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange
  7958  	46,  // 19: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object
  7959  	46,  // 20: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object
  7960  	18,  // 21: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
  7961  	41,  // 22: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData
  7962  	42,  // 23: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
  7963  	37,  // 24: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7964  	46,  // 25: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object
  7965  	73,  // 26: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask
  7966  	37,  // 27: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7967  	46,  // 28: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object
  7968  	46,  // 29: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object
  7969  	37,  // 30: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7970  	46,  // 31: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object
  7971  	18,  // 32: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
  7972  	37,  // 33: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7973  	46,  // 34: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object
  7974  	73,  // 35: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask
  7975  	37,  // 36: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
  7976  	43,  // 37: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata
  7977  	43,  // 38: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata
  7978  	43,  // 39: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata
  7979  	73,  // 40: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
  7980  	40,  // 41: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl
  7981  	47,  // 42: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl
  7982  	59,  // 43: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle
  7983  	74,  // 44: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp
  7984  	56,  // 45: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors
  7985  	74,  // 46: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp
  7986  	66,  // 47: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry
  7987  	63,  // 48: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website
  7988  	62,  // 49: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning
  7989  	60,  // 50: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging
  7990  	51,  // 51: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner
  7991  	57,  // 52: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption
  7992  	55,  // 53: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing
  7993  	61,  // 54: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy
  7994  	58,  // 55: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig
  7995  	64,  // 56: google.storage.v2.Bucket.custom_placement_config:type_name -> google.storage.v2.Bucket.CustomPlacementConfig
  7996  	65,  // 57: google.storage.v2.Bucket.autoclass:type_name -> google.storage.v2.Bucket.Autoclass
  7997  	49,  // 58: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
  7998  	74,  // 59: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp
  7999  	74,  // 60: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp
  8000  	71,  // 61: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry
  8001  	47,  // 62: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl
  8002  	74,  // 63: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp
  8003  	74,  // 64: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp
  8004  	42,  // 65: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums
  8005  	74,  // 66: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp
  8006  	74,  // 67: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp
  8007  	74,  // 68: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp
  8008  	72,  // 69: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry
  8009  	51,  // 70: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner
  8010  	45,  // 71: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption
  8011  	74,  // 72: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp
  8012  	49,  // 73: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
  8013  	46,  // 74: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object
  8014  	54,  // 75: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
  8015  	67,  // 76: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
  8016  	68,  // 77: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule
  8017  	74,  // 78: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
  8018  	74,  // 79: google.storage.v2.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp
  8019  	74,  // 80: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp
  8020  	69,  // 81: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action
  8021  	70,  // 82: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition
  8022  	75,  // 83: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date
  8023  	75,  // 84: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date
  8024  	75,  // 85: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date
  8025  	1,   // 86: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest
  8026  	2,   // 87: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest
  8027  	3,   // 88: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest
  8028  	4,   // 89: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest
  8029  	6,   // 90: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest
  8030  	76,  // 91: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
  8031  	77,  // 92: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
  8032  	78,  // 93: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
  8033  	7,   // 94: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest
  8034  	8,   // 95: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest
  8035  	9,   // 96: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest
  8036  	10,  // 97: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest
  8037  	11,  // 98: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest
  8038  	13,  // 99: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest
  8039  	14,  // 100: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest
  8040  	16,  // 101: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest
  8041  	15,  // 102: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest
  8042  	28,  // 103: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest
  8043  	19,  // 104: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest
  8044  	21,  // 105: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest
  8045  	24,  // 106: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest
  8046  	26,  // 107: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest
  8047  	22,  // 108: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest
  8048  	29,  // 109: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest
  8049  	30,  // 110: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest
  8050  	32,  // 111: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest
  8051  	33,  // 112: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest
  8052  	34,  // 113: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest
  8053  	36,  // 114: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest
  8054  	79,  // 115: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty
  8055  	39,  // 116: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket
  8056  	39,  // 117: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket
  8057  	5,   // 118: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse
  8058  	39,  // 119: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket
  8059  	80,  // 120: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy
  8060  	80,  // 121: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy
  8061  	81,  // 122: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
  8062  	39,  // 123: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket
  8063  	79,  // 124: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty
  8064  	44,  // 125: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification
  8065  	44,  // 126: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification
  8066  	12,  // 127: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse
  8067  	46,  // 128: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object
  8068  	79,  // 129: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty
  8069  	46,  // 130: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object
  8070  	17,  // 131: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse
  8071  	46,  // 132: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object
  8072  	20,  // 133: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse
  8073  	48,  // 134: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse
  8074  	25,  // 135: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse
  8075  	27,  // 136: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse
  8076  	23,  // 137: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse
  8077  	50,  // 138: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount
  8078  	31,  // 139: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse
  8079  	79,  // 140: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty
  8080  	43,  // 141: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
  8081  	35,  // 142: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse
  8082  	43,  // 143: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
  8083  	115, // [115:144] is the sub-list for method output_type
  8084  	86,  // [86:115] is the sub-list for method input_type
  8085  	86,  // [86:86] is the sub-list for extension type_name
  8086  	86,  // [86:86] is the sub-list for extension extendee
  8087  	0,   // [0:86] is the sub-list for field type_name
  8088  }
  8089  
  8090  func init() { file_google_storage_v2_storage_proto_init() }
  8091  func file_google_storage_v2_storage_proto_init() {
  8092  	if File_google_storage_v2_storage_proto != nil {
  8093  		return
  8094  	}
  8095  	if !protoimpl.UnsafeEnabled {
  8096  		file_google_storage_v2_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  8097  			switch v := v.(*DeleteBucketRequest); i {
  8098  			case 0:
  8099  				return &v.state
  8100  			case 1:
  8101  				return &v.sizeCache
  8102  			case 2:
  8103  				return &v.unknownFields
  8104  			default:
  8105  				return nil
  8106  			}
  8107  		}
  8108  		file_google_storage_v2_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  8109  			switch v := v.(*GetBucketRequest); i {
  8110  			case 0:
  8111  				return &v.state
  8112  			case 1:
  8113  				return &v.sizeCache
  8114  			case 2:
  8115  				return &v.unknownFields
  8116  			default:
  8117  				return nil
  8118  			}
  8119  		}
  8120  		file_google_storage_v2_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  8121  			switch v := v.(*CreateBucketRequest); i {
  8122  			case 0:
  8123  				return &v.state
  8124  			case 1:
  8125  				return &v.sizeCache
  8126  			case 2:
  8127  				return &v.unknownFields
  8128  			default:
  8129  				return nil
  8130  			}
  8131  		}
  8132  		file_google_storage_v2_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  8133  			switch v := v.(*ListBucketsRequest); i {
  8134  			case 0:
  8135  				return &v.state
  8136  			case 1:
  8137  				return &v.sizeCache
  8138  			case 2:
  8139  				return &v.unknownFields
  8140  			default:
  8141  				return nil
  8142  			}
  8143  		}
  8144  		file_google_storage_v2_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  8145  			switch v := v.(*ListBucketsResponse); i {
  8146  			case 0:
  8147  				return &v.state
  8148  			case 1:
  8149  				return &v.sizeCache
  8150  			case 2:
  8151  				return &v.unknownFields
  8152  			default:
  8153  				return nil
  8154  			}
  8155  		}
  8156  		file_google_storage_v2_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  8157  			switch v := v.(*LockBucketRetentionPolicyRequest); i {
  8158  			case 0:
  8159  				return &v.state
  8160  			case 1:
  8161  				return &v.sizeCache
  8162  			case 2:
  8163  				return &v.unknownFields
  8164  			default:
  8165  				return nil
  8166  			}
  8167  		}
  8168  		file_google_storage_v2_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  8169  			switch v := v.(*UpdateBucketRequest); i {
  8170  			case 0:
  8171  				return &v.state
  8172  			case 1:
  8173  				return &v.sizeCache
  8174  			case 2:
  8175  				return &v.unknownFields
  8176  			default:
  8177  				return nil
  8178  			}
  8179  		}
  8180  		file_google_storage_v2_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  8181  			switch v := v.(*DeleteNotificationRequest); i {
  8182  			case 0:
  8183  				return &v.state
  8184  			case 1:
  8185  				return &v.sizeCache
  8186  			case 2:
  8187  				return &v.unknownFields
  8188  			default:
  8189  				return nil
  8190  			}
  8191  		}
  8192  		file_google_storage_v2_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  8193  			switch v := v.(*GetNotificationRequest); i {
  8194  			case 0:
  8195  				return &v.state
  8196  			case 1:
  8197  				return &v.sizeCache
  8198  			case 2:
  8199  				return &v.unknownFields
  8200  			default:
  8201  				return nil
  8202  			}
  8203  		}
  8204  		file_google_storage_v2_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  8205  			switch v := v.(*CreateNotificationRequest); i {
  8206  			case 0:
  8207  				return &v.state
  8208  			case 1:
  8209  				return &v.sizeCache
  8210  			case 2:
  8211  				return &v.unknownFields
  8212  			default:
  8213  				return nil
  8214  			}
  8215  		}
  8216  		file_google_storage_v2_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  8217  			switch v := v.(*ListNotificationsRequest); i {
  8218  			case 0:
  8219  				return &v.state
  8220  			case 1:
  8221  				return &v.sizeCache
  8222  			case 2:
  8223  				return &v.unknownFields
  8224  			default:
  8225  				return nil
  8226  			}
  8227  		}
  8228  		file_google_storage_v2_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  8229  			switch v := v.(*ListNotificationsResponse); i {
  8230  			case 0:
  8231  				return &v.state
  8232  			case 1:
  8233  				return &v.sizeCache
  8234  			case 2:
  8235  				return &v.unknownFields
  8236  			default:
  8237  				return nil
  8238  			}
  8239  		}
  8240  		file_google_storage_v2_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  8241  			switch v := v.(*ComposeObjectRequest); i {
  8242  			case 0:
  8243  				return &v.state
  8244  			case 1:
  8245  				return &v.sizeCache
  8246  			case 2:
  8247  				return &v.unknownFields
  8248  			default:
  8249  				return nil
  8250  			}
  8251  		}
  8252  		file_google_storage_v2_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  8253  			switch v := v.(*DeleteObjectRequest); i {
  8254  			case 0:
  8255  				return &v.state
  8256  			case 1:
  8257  				return &v.sizeCache
  8258  			case 2:
  8259  				return &v.unknownFields
  8260  			default:
  8261  				return nil
  8262  			}
  8263  		}
  8264  		file_google_storage_v2_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  8265  			switch v := v.(*ReadObjectRequest); i {
  8266  			case 0:
  8267  				return &v.state
  8268  			case 1:
  8269  				return &v.sizeCache
  8270  			case 2:
  8271  				return &v.unknownFields
  8272  			default:
  8273  				return nil
  8274  			}
  8275  		}
  8276  		file_google_storage_v2_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  8277  			switch v := v.(*GetObjectRequest); i {
  8278  			case 0:
  8279  				return &v.state
  8280  			case 1:
  8281  				return &v.sizeCache
  8282  			case 2:
  8283  				return &v.unknownFields
  8284  			default:
  8285  				return nil
  8286  			}
  8287  		}
  8288  		file_google_storage_v2_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  8289  			switch v := v.(*ReadObjectResponse); i {
  8290  			case 0:
  8291  				return &v.state
  8292  			case 1:
  8293  				return &v.sizeCache
  8294  			case 2:
  8295  				return &v.unknownFields
  8296  			default:
  8297  				return nil
  8298  			}
  8299  		}
  8300  		file_google_storage_v2_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  8301  			switch v := v.(*WriteObjectSpec); i {
  8302  			case 0:
  8303  				return &v.state
  8304  			case 1:
  8305  				return &v.sizeCache
  8306  			case 2:
  8307  				return &v.unknownFields
  8308  			default:
  8309  				return nil
  8310  			}
  8311  		}
  8312  		file_google_storage_v2_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  8313  			switch v := v.(*WriteObjectRequest); i {
  8314  			case 0:
  8315  				return &v.state
  8316  			case 1:
  8317  				return &v.sizeCache
  8318  			case 2:
  8319  				return &v.unknownFields
  8320  			default:
  8321  				return nil
  8322  			}
  8323  		}
  8324  		file_google_storage_v2_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  8325  			switch v := v.(*WriteObjectResponse); i {
  8326  			case 0:
  8327  				return &v.state
  8328  			case 1:
  8329  				return &v.sizeCache
  8330  			case 2:
  8331  				return &v.unknownFields
  8332  			default:
  8333  				return nil
  8334  			}
  8335  		}
  8336  		file_google_storage_v2_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  8337  			switch v := v.(*ListObjectsRequest); i {
  8338  			case 0:
  8339  				return &v.state
  8340  			case 1:
  8341  				return &v.sizeCache
  8342  			case 2:
  8343  				return &v.unknownFields
  8344  			default:
  8345  				return nil
  8346  			}
  8347  		}
  8348  		file_google_storage_v2_storage_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  8349  			switch v := v.(*QueryWriteStatusRequest); i {
  8350  			case 0:
  8351  				return &v.state
  8352  			case 1:
  8353  				return &v.sizeCache
  8354  			case 2:
  8355  				return &v.unknownFields
  8356  			default:
  8357  				return nil
  8358  			}
  8359  		}
  8360  		file_google_storage_v2_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  8361  			switch v := v.(*QueryWriteStatusResponse); i {
  8362  			case 0:
  8363  				return &v.state
  8364  			case 1:
  8365  				return &v.sizeCache
  8366  			case 2:
  8367  				return &v.unknownFields
  8368  			default:
  8369  				return nil
  8370  			}
  8371  		}
  8372  		file_google_storage_v2_storage_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  8373  			switch v := v.(*RewriteObjectRequest); i {
  8374  			case 0:
  8375  				return &v.state
  8376  			case 1:
  8377  				return &v.sizeCache
  8378  			case 2:
  8379  				return &v.unknownFields
  8380  			default:
  8381  				return nil
  8382  			}
  8383  		}
  8384  		file_google_storage_v2_storage_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  8385  			switch v := v.(*RewriteResponse); i {
  8386  			case 0:
  8387  				return &v.state
  8388  			case 1:
  8389  				return &v.sizeCache
  8390  			case 2:
  8391  				return &v.unknownFields
  8392  			default:
  8393  				return nil
  8394  			}
  8395  		}
  8396  		file_google_storage_v2_storage_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  8397  			switch v := v.(*StartResumableWriteRequest); i {
  8398  			case 0:
  8399  				return &v.state
  8400  			case 1:
  8401  				return &v.sizeCache
  8402  			case 2:
  8403  				return &v.unknownFields
  8404  			default:
  8405  				return nil
  8406  			}
  8407  		}
  8408  		file_google_storage_v2_storage_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  8409  			switch v := v.(*StartResumableWriteResponse); i {
  8410  			case 0:
  8411  				return &v.state
  8412  			case 1:
  8413  				return &v.sizeCache
  8414  			case 2:
  8415  				return &v.unknownFields
  8416  			default:
  8417  				return nil
  8418  			}
  8419  		}
  8420  		file_google_storage_v2_storage_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  8421  			switch v := v.(*UpdateObjectRequest); i {
  8422  			case 0:
  8423  				return &v.state
  8424  			case 1:
  8425  				return &v.sizeCache
  8426  			case 2:
  8427  				return &v.unknownFields
  8428  			default:
  8429  				return nil
  8430  			}
  8431  		}
  8432  		file_google_storage_v2_storage_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  8433  			switch v := v.(*GetServiceAccountRequest); i {
  8434  			case 0:
  8435  				return &v.state
  8436  			case 1:
  8437  				return &v.sizeCache
  8438  			case 2:
  8439  				return &v.unknownFields
  8440  			default:
  8441  				return nil
  8442  			}
  8443  		}
  8444  		file_google_storage_v2_storage_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  8445  			switch v := v.(*CreateHmacKeyRequest); i {
  8446  			case 0:
  8447  				return &v.state
  8448  			case 1:
  8449  				return &v.sizeCache
  8450  			case 2:
  8451  				return &v.unknownFields
  8452  			default:
  8453  				return nil
  8454  			}
  8455  		}
  8456  		file_google_storage_v2_storage_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  8457  			switch v := v.(*CreateHmacKeyResponse); i {
  8458  			case 0:
  8459  				return &v.state
  8460  			case 1:
  8461  				return &v.sizeCache
  8462  			case 2:
  8463  				return &v.unknownFields
  8464  			default:
  8465  				return nil
  8466  			}
  8467  		}
  8468  		file_google_storage_v2_storage_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  8469  			switch v := v.(*DeleteHmacKeyRequest); i {
  8470  			case 0:
  8471  				return &v.state
  8472  			case 1:
  8473  				return &v.sizeCache
  8474  			case 2:
  8475  				return &v.unknownFields
  8476  			default:
  8477  				return nil
  8478  			}
  8479  		}
  8480  		file_google_storage_v2_storage_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  8481  			switch v := v.(*GetHmacKeyRequest); i {
  8482  			case 0:
  8483  				return &v.state
  8484  			case 1:
  8485  				return &v.sizeCache
  8486  			case 2:
  8487  				return &v.unknownFields
  8488  			default:
  8489  				return nil
  8490  			}
  8491  		}
  8492  		file_google_storage_v2_storage_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  8493  			switch v := v.(*ListHmacKeysRequest); i {
  8494  			case 0:
  8495  				return &v.state
  8496  			case 1:
  8497  				return &v.sizeCache
  8498  			case 2:
  8499  				return &v.unknownFields
  8500  			default:
  8501  				return nil
  8502  			}
  8503  		}
  8504  		file_google_storage_v2_storage_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  8505  			switch v := v.(*ListHmacKeysResponse); i {
  8506  			case 0:
  8507  				return &v.state
  8508  			case 1:
  8509  				return &v.sizeCache
  8510  			case 2:
  8511  				return &v.unknownFields
  8512  			default:
  8513  				return nil
  8514  			}
  8515  		}
  8516  		file_google_storage_v2_storage_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  8517  			switch v := v.(*UpdateHmacKeyRequest); i {
  8518  			case 0:
  8519  				return &v.state
  8520  			case 1:
  8521  				return &v.sizeCache
  8522  			case 2:
  8523  				return &v.unknownFields
  8524  			default:
  8525  				return nil
  8526  			}
  8527  		}
  8528  		file_google_storage_v2_storage_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  8529  			switch v := v.(*CommonObjectRequestParams); i {
  8530  			case 0:
  8531  				return &v.state
  8532  			case 1:
  8533  				return &v.sizeCache
  8534  			case 2:
  8535  				return &v.unknownFields
  8536  			default:
  8537  				return nil
  8538  			}
  8539  		}
  8540  		file_google_storage_v2_storage_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  8541  			switch v := v.(*ServiceConstants); i {
  8542  			case 0:
  8543  				return &v.state
  8544  			case 1:
  8545  				return &v.sizeCache
  8546  			case 2:
  8547  				return &v.unknownFields
  8548  			default:
  8549  				return nil
  8550  			}
  8551  		}
  8552  		file_google_storage_v2_storage_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  8553  			switch v := v.(*Bucket); i {
  8554  			case 0:
  8555  				return &v.state
  8556  			case 1:
  8557  				return &v.sizeCache
  8558  			case 2:
  8559  				return &v.unknownFields
  8560  			default:
  8561  				return nil
  8562  			}
  8563  		}
  8564  		file_google_storage_v2_storage_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  8565  			switch v := v.(*BucketAccessControl); i {
  8566  			case 0:
  8567  				return &v.state
  8568  			case 1:
  8569  				return &v.sizeCache
  8570  			case 2:
  8571  				return &v.unknownFields
  8572  			default:
  8573  				return nil
  8574  			}
  8575  		}
  8576  		file_google_storage_v2_storage_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  8577  			switch v := v.(*ChecksummedData); i {
  8578  			case 0:
  8579  				return &v.state
  8580  			case 1:
  8581  				return &v.sizeCache
  8582  			case 2:
  8583  				return &v.unknownFields
  8584  			default:
  8585  				return nil
  8586  			}
  8587  		}
  8588  		file_google_storage_v2_storage_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  8589  			switch v := v.(*ObjectChecksums); i {
  8590  			case 0:
  8591  				return &v.state
  8592  			case 1:
  8593  				return &v.sizeCache
  8594  			case 2:
  8595  				return &v.unknownFields
  8596  			default:
  8597  				return nil
  8598  			}
  8599  		}
  8600  		file_google_storage_v2_storage_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  8601  			switch v := v.(*HmacKeyMetadata); i {
  8602  			case 0:
  8603  				return &v.state
  8604  			case 1:
  8605  				return &v.sizeCache
  8606  			case 2:
  8607  				return &v.unknownFields
  8608  			default:
  8609  				return nil
  8610  			}
  8611  		}
  8612  		file_google_storage_v2_storage_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  8613  			switch v := v.(*Notification); i {
  8614  			case 0:
  8615  				return &v.state
  8616  			case 1:
  8617  				return &v.sizeCache
  8618  			case 2:
  8619  				return &v.unknownFields
  8620  			default:
  8621  				return nil
  8622  			}
  8623  		}
  8624  		file_google_storage_v2_storage_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  8625  			switch v := v.(*CustomerEncryption); i {
  8626  			case 0:
  8627  				return &v.state
  8628  			case 1:
  8629  				return &v.sizeCache
  8630  			case 2:
  8631  				return &v.unknownFields
  8632  			default:
  8633  				return nil
  8634  			}
  8635  		}
  8636  		file_google_storage_v2_storage_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  8637  			switch v := v.(*Object); i {
  8638  			case 0:
  8639  				return &v.state
  8640  			case 1:
  8641  				return &v.sizeCache
  8642  			case 2:
  8643  				return &v.unknownFields
  8644  			default:
  8645  				return nil
  8646  			}
  8647  		}
  8648  		file_google_storage_v2_storage_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  8649  			switch v := v.(*ObjectAccessControl); i {
  8650  			case 0:
  8651  				return &v.state
  8652  			case 1:
  8653  				return &v.sizeCache
  8654  			case 2:
  8655  				return &v.unknownFields
  8656  			default:
  8657  				return nil
  8658  			}
  8659  		}
  8660  		file_google_storage_v2_storage_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  8661  			switch v := v.(*ListObjectsResponse); i {
  8662  			case 0:
  8663  				return &v.state
  8664  			case 1:
  8665  				return &v.sizeCache
  8666  			case 2:
  8667  				return &v.unknownFields
  8668  			default:
  8669  				return nil
  8670  			}
  8671  		}
  8672  		file_google_storage_v2_storage_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
  8673  			switch v := v.(*ProjectTeam); i {
  8674  			case 0:
  8675  				return &v.state
  8676  			case 1:
  8677  				return &v.sizeCache
  8678  			case 2:
  8679  				return &v.unknownFields
  8680  			default:
  8681  				return nil
  8682  			}
  8683  		}
  8684  		file_google_storage_v2_storage_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
  8685  			switch v := v.(*ServiceAccount); i {
  8686  			case 0:
  8687  				return &v.state
  8688  			case 1:
  8689  				return &v.sizeCache
  8690  			case 2:
  8691  				return &v.unknownFields
  8692  			default:
  8693  				return nil
  8694  			}
  8695  		}
  8696  		file_google_storage_v2_storage_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
  8697  			switch v := v.(*Owner); i {
  8698  			case 0:
  8699  				return &v.state
  8700  			case 1:
  8701  				return &v.sizeCache
  8702  			case 2:
  8703  				return &v.unknownFields
  8704  			default:
  8705  				return nil
  8706  			}
  8707  		}
  8708  		file_google_storage_v2_storage_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  8709  			switch v := v.(*ContentRange); i {
  8710  			case 0:
  8711  				return &v.state
  8712  			case 1:
  8713  				return &v.sizeCache
  8714  			case 2:
  8715  				return &v.unknownFields
  8716  			default:
  8717  				return nil
  8718  			}
  8719  		}
  8720  		file_google_storage_v2_storage_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  8721  			switch v := v.(*ComposeObjectRequest_SourceObject); i {
  8722  			case 0:
  8723  				return &v.state
  8724  			case 1:
  8725  				return &v.sizeCache
  8726  			case 2:
  8727  				return &v.unknownFields
  8728  			default:
  8729  				return nil
  8730  			}
  8731  		}
  8732  		file_google_storage_v2_storage_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
  8733  			switch v := v.(*ComposeObjectRequest_SourceObject_ObjectPreconditions); i {
  8734  			case 0:
  8735  				return &v.state
  8736  			case 1:
  8737  				return &v.sizeCache
  8738  			case 2:
  8739  				return &v.unknownFields
  8740  			default:
  8741  				return nil
  8742  			}
  8743  		}
  8744  		file_google_storage_v2_storage_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
  8745  			switch v := v.(*Bucket_Billing); i {
  8746  			case 0:
  8747  				return &v.state
  8748  			case 1:
  8749  				return &v.sizeCache
  8750  			case 2:
  8751  				return &v.unknownFields
  8752  			default:
  8753  				return nil
  8754  			}
  8755  		}
  8756  		file_google_storage_v2_storage_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
  8757  			switch v := v.(*Bucket_Cors); i {
  8758  			case 0:
  8759  				return &v.state
  8760  			case 1:
  8761  				return &v.sizeCache
  8762  			case 2:
  8763  				return &v.unknownFields
  8764  			default:
  8765  				return nil
  8766  			}
  8767  		}
  8768  		file_google_storage_v2_storage_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
  8769  			switch v := v.(*Bucket_Encryption); i {
  8770  			case 0:
  8771  				return &v.state
  8772  			case 1:
  8773  				return &v.sizeCache
  8774  			case 2:
  8775  				return &v.unknownFields
  8776  			default:
  8777  				return nil
  8778  			}
  8779  		}
  8780  		file_google_storage_v2_storage_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
  8781  			switch v := v.(*Bucket_IamConfig); i {
  8782  			case 0:
  8783  				return &v.state
  8784  			case 1:
  8785  				return &v.sizeCache
  8786  			case 2:
  8787  				return &v.unknownFields
  8788  			default:
  8789  				return nil
  8790  			}
  8791  		}
  8792  		file_google_storage_v2_storage_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
  8793  			switch v := v.(*Bucket_Lifecycle); i {
  8794  			case 0:
  8795  				return &v.state
  8796  			case 1:
  8797  				return &v.sizeCache
  8798  			case 2:
  8799  				return &v.unknownFields
  8800  			default:
  8801  				return nil
  8802  			}
  8803  		}
  8804  		file_google_storage_v2_storage_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
  8805  			switch v := v.(*Bucket_Logging); i {
  8806  			case 0:
  8807  				return &v.state
  8808  			case 1:
  8809  				return &v.sizeCache
  8810  			case 2:
  8811  				return &v.unknownFields
  8812  			default:
  8813  				return nil
  8814  			}
  8815  		}
  8816  		file_google_storage_v2_storage_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
  8817  			switch v := v.(*Bucket_RetentionPolicy); i {
  8818  			case 0:
  8819  				return &v.state
  8820  			case 1:
  8821  				return &v.sizeCache
  8822  			case 2:
  8823  				return &v.unknownFields
  8824  			default:
  8825  				return nil
  8826  			}
  8827  		}
  8828  		file_google_storage_v2_storage_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
  8829  			switch v := v.(*Bucket_Versioning); i {
  8830  			case 0:
  8831  				return &v.state
  8832  			case 1:
  8833  				return &v.sizeCache
  8834  			case 2:
  8835  				return &v.unknownFields
  8836  			default:
  8837  				return nil
  8838  			}
  8839  		}
  8840  		file_google_storage_v2_storage_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
  8841  			switch v := v.(*Bucket_Website); i {
  8842  			case 0:
  8843  				return &v.state
  8844  			case 1:
  8845  				return &v.sizeCache
  8846  			case 2:
  8847  				return &v.unknownFields
  8848  			default:
  8849  				return nil
  8850  			}
  8851  		}
  8852  		file_google_storage_v2_storage_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
  8853  			switch v := v.(*Bucket_CustomPlacementConfig); i {
  8854  			case 0:
  8855  				return &v.state
  8856  			case 1:
  8857  				return &v.sizeCache
  8858  			case 2:
  8859  				return &v.unknownFields
  8860  			default:
  8861  				return nil
  8862  			}
  8863  		}
  8864  		file_google_storage_v2_storage_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
  8865  			switch v := v.(*Bucket_Autoclass); i {
  8866  			case 0:
  8867  				return &v.state
  8868  			case 1:
  8869  				return &v.sizeCache
  8870  			case 2:
  8871  				return &v.unknownFields
  8872  			default:
  8873  				return nil
  8874  			}
  8875  		}
  8876  		file_google_storage_v2_storage_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
  8877  			switch v := v.(*Bucket_IamConfig_UniformBucketLevelAccess); i {
  8878  			case 0:
  8879  				return &v.state
  8880  			case 1:
  8881  				return &v.sizeCache
  8882  			case 2:
  8883  				return &v.unknownFields
  8884  			default:
  8885  				return nil
  8886  			}
  8887  		}
  8888  		file_google_storage_v2_storage_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
  8889  			switch v := v.(*Bucket_Lifecycle_Rule); i {
  8890  			case 0:
  8891  				return &v.state
  8892  			case 1:
  8893  				return &v.sizeCache
  8894  			case 2:
  8895  				return &v.unknownFields
  8896  			default:
  8897  				return nil
  8898  			}
  8899  		}
  8900  		file_google_storage_v2_storage_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
  8901  			switch v := v.(*Bucket_Lifecycle_Rule_Action); i {
  8902  			case 0:
  8903  				return &v.state
  8904  			case 1:
  8905  				return &v.sizeCache
  8906  			case 2:
  8907  				return &v.unknownFields
  8908  			default:
  8909  				return nil
  8910  			}
  8911  		}
  8912  		file_google_storage_v2_storage_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
  8913  			switch v := v.(*Bucket_Lifecycle_Rule_Condition); i {
  8914  			case 0:
  8915  				return &v.state
  8916  			case 1:
  8917  				return &v.sizeCache
  8918  			case 2:
  8919  				return &v.unknownFields
  8920  			default:
  8921  				return nil
  8922  			}
  8923  		}
  8924  	}
  8925  	file_google_storage_v2_storage_proto_msgTypes[0].OneofWrappers = []interface{}{}
  8926  	file_google_storage_v2_storage_proto_msgTypes[1].OneofWrappers = []interface{}{}
  8927  	file_google_storage_v2_storage_proto_msgTypes[3].OneofWrappers = []interface{}{}
  8928  	file_google_storage_v2_storage_proto_msgTypes[6].OneofWrappers = []interface{}{}
  8929  	file_google_storage_v2_storage_proto_msgTypes[12].OneofWrappers = []interface{}{}
  8930  	file_google_storage_v2_storage_proto_msgTypes[13].OneofWrappers = []interface{}{}
  8931  	file_google_storage_v2_storage_proto_msgTypes[14].OneofWrappers = []interface{}{}
  8932  	file_google_storage_v2_storage_proto_msgTypes[15].OneofWrappers = []interface{}{}
  8933  	file_google_storage_v2_storage_proto_msgTypes[17].OneofWrappers = []interface{}{}
  8934  	file_google_storage_v2_storage_proto_msgTypes[18].OneofWrappers = []interface{}{
  8935  		(*WriteObjectRequest_UploadId)(nil),
  8936  		(*WriteObjectRequest_WriteObjectSpec)(nil),
  8937  		(*WriteObjectRequest_ChecksummedData)(nil),
  8938  	}
  8939  	file_google_storage_v2_storage_proto_msgTypes[19].OneofWrappers = []interface{}{
  8940  		(*WriteObjectResponse_PersistedSize)(nil),
  8941  		(*WriteObjectResponse_Resource)(nil),
  8942  	}
  8943  	file_google_storage_v2_storage_proto_msgTypes[20].OneofWrappers = []interface{}{}
  8944  	file_google_storage_v2_storage_proto_msgTypes[22].OneofWrappers = []interface{}{
  8945  		(*QueryWriteStatusResponse_PersistedSize)(nil),
  8946  		(*QueryWriteStatusResponse_Resource)(nil),
  8947  	}
  8948  	file_google_storage_v2_storage_proto_msgTypes[23].OneofWrappers = []interface{}{}
  8949  	file_google_storage_v2_storage_proto_msgTypes[27].OneofWrappers = []interface{}{}
  8950  	file_google_storage_v2_storage_proto_msgTypes[40].OneofWrappers = []interface{}{}
  8951  	file_google_storage_v2_storage_proto_msgTypes[41].OneofWrappers = []interface{}{}
  8952  	file_google_storage_v2_storage_proto_msgTypes[45].OneofWrappers = []interface{}{}
  8953  	file_google_storage_v2_storage_proto_msgTypes[53].OneofWrappers = []interface{}{}
  8954  	file_google_storage_v2_storage_proto_msgTypes[69].OneofWrappers = []interface{}{}
  8955  	type x struct{}
  8956  	out := protoimpl.TypeBuilder{
  8957  		File: protoimpl.DescBuilder{
  8958  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  8959  			RawDescriptor: file_google_storage_v2_storage_proto_rawDesc,
  8960  			NumEnums:      1,
  8961  			NumMessages:   72,
  8962  			NumExtensions: 0,
  8963  			NumServices:   1,
  8964  		},
  8965  		GoTypes:           file_google_storage_v2_storage_proto_goTypes,
  8966  		DependencyIndexes: file_google_storage_v2_storage_proto_depIdxs,
  8967  		EnumInfos:         file_google_storage_v2_storage_proto_enumTypes,
  8968  		MessageInfos:      file_google_storage_v2_storage_proto_msgTypes,
  8969  	}.Build()
  8970  	File_google_storage_v2_storage_proto = out.File
  8971  	file_google_storage_v2_storage_proto_rawDesc = nil
  8972  	file_google_storage_v2_storage_proto_goTypes = nil
  8973  	file_google_storage_v2_storage_proto_depIdxs = nil
  8974  }
  8975  
  8976  // Reference imports to suppress errors if they are not otherwise used.
  8977  var _ context.Context
  8978  var _ grpc.ClientConnInterface
  8979  
  8980  // This is a compile-time assertion to ensure that this generated file
  8981  // is compatible with the grpc package it is being compiled against.
  8982  const _ = grpc.SupportPackageIsVersion6
  8983  
  8984  // StorageClient is the client API for Storage service.
  8985  //
  8986  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  8987  type StorageClient interface {
  8988  	// Permanently deletes an empty bucket.
  8989  	DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  8990  	// Returns metadata for the specified bucket.
  8991  	GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
  8992  	// Creates a new bucket.
  8993  	CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
  8994  	// Retrieves a list of buckets for a given project.
  8995  	ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error)
  8996  	// Locks retention policy on a bucket.
  8997  	LockBucketRetentionPolicy(ctx context.Context, in *LockBucketRetentionPolicyRequest, opts ...grpc.CallOption) (*Bucket, error)
  8998  	// Gets the IAM policy for a specified bucket.
  8999  	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
  9000  	// Updates an IAM policy for the specified bucket.
  9001  	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
  9002  	// Tests a set of permissions on the given bucket to see which, if
  9003  	// any, are held by the caller.
  9004  	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
  9005  	// Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
  9006  	UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
  9007  	// Permanently deletes a notification subscription.
  9008  	DeleteNotification(ctx context.Context, in *DeleteNotificationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  9009  	// View a notification config.
  9010  	GetNotification(ctx context.Context, in *GetNotificationRequest, opts ...grpc.CallOption) (*Notification, error)
  9011  	// Creates a notification subscription for a given bucket.
  9012  	// These notifications, when triggered, publish messages to the specified
  9013  	// Pub/Sub topics.
  9014  	// See https://cloud.google.com/storage/docs/pubsub-notifications.
  9015  	CreateNotification(ctx context.Context, in *CreateNotificationRequest, opts ...grpc.CallOption) (*Notification, error)
  9016  	// Retrieves a list of notification subscriptions for a given bucket.
  9017  	ListNotifications(ctx context.Context, in *ListNotificationsRequest, opts ...grpc.CallOption) (*ListNotificationsResponse, error)
  9018  	// Concatenates a list of existing objects into a new object in the same
  9019  	// bucket.
  9020  	ComposeObject(ctx context.Context, in *ComposeObjectRequest, opts ...grpc.CallOption) (*Object, error)
  9021  	// Deletes an object and its metadata. Deletions are permanent if versioning
  9022  	// is not enabled for the bucket, or if the `generation` parameter
  9023  	// is used.
  9024  	DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  9025  	// Retrieves an object's metadata.
  9026  	GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (*Object, error)
  9027  	// Reads an object's data.
  9028  	ReadObject(ctx context.Context, in *ReadObjectRequest, opts ...grpc.CallOption) (Storage_ReadObjectClient, error)
  9029  	// Updates an object's metadata.
  9030  	// Equivalent to JSON API's storage.objects.patch.
  9031  	UpdateObject(ctx context.Context, in *UpdateObjectRequest, opts ...grpc.CallOption) (*Object, error)
  9032  	// Stores a new object and metadata.
  9033  	//
  9034  	// An object can be written either in a single message stream or in a
  9035  	// resumable sequence of message streams. To write using a single stream,
  9036  	// the client should include in the first message of the stream an
  9037  	// `WriteObjectSpec` describing the destination bucket, object, and any
  9038  	// preconditions. Additionally, the final message must set 'finish_write' to
  9039  	// true, or else it is an error.
  9040  	//
  9041  	// For a resumable write, the client should instead call
  9042  	// `StartResumableWrite()`, populating a `WriteObjectSpec` into that request.
  9043  	// They should then attach the returned `upload_id` to the first message of
  9044  	// each following call to `WriteObject`. If the stream is closed before
  9045  	// finishing the upload (either explicitly by the client or due to a network
  9046  	// error or an error response from the server), the client should do as
  9047  	// follows:
  9048  	//   - Check the result Status of the stream, to determine if writing can be
  9049  	//     resumed on this stream or must be restarted from scratch (by calling
  9050  	//     `StartResumableWrite()`). The resumable errors are DEADLINE_EXCEEDED,
  9051  	//     INTERNAL, and UNAVAILABLE. For each case, the client should use binary
  9052  	//     exponential backoff before retrying.  Additionally, writes can be
  9053  	//     resumed after RESOURCE_EXHAUSTED errors, but only after taking
  9054  	//     appropriate measures, which may include reducing aggregate send rate
  9055  	//     across clients and/or requesting a quota increase for your project.
  9056  	//   - If the call to `WriteObject` returns `ABORTED`, that indicates
  9057  	//     concurrent attempts to update the resumable write, caused either by
  9058  	//     multiple racing clients or by a single client where the previous
  9059  	//     request was timed out on the client side but nonetheless reached the
  9060  	//     server. In this case the client should take steps to prevent further
  9061  	//     concurrent writes (e.g., increase the timeouts, stop using more than
  9062  	//     one process to perform the upload, etc.), and then should follow the
  9063  	//     steps below for resuming the upload.
  9064  	//   - For resumable errors, the client should call `QueryWriteStatus()` and
  9065  	//     then continue writing from the returned `persisted_size`. This may be
  9066  	//     less than the amount of data the client previously sent. Note also that
  9067  	//     it is acceptable to send data starting at an offset earlier than the
  9068  	//     returned `persisted_size`; in this case, the service will skip data at
  9069  	//     offsets that were already persisted (without checking that it matches
  9070  	//     the previously written data), and write only the data starting from the
  9071  	//     persisted offset. This behavior can make client-side handling simpler
  9072  	//     in some cases.
  9073  	//
  9074  	// The service will not view the object as complete until the client has
  9075  	// sent a `WriteObjectRequest` with `finish_write` set to `true`. Sending any
  9076  	// requests on a stream after sending a request with `finish_write` set to
  9077  	// `true` will cause an error. The client **should** check the response it
  9078  	// receives to determine how much data the service was able to commit and
  9079  	// whether the service views the object as complete.
  9080  	//
  9081  	// Attempting to resume an already finalized object will result in an OK
  9082  	// status, with a WriteObjectResponse containing the finalized object's
  9083  	// metadata.
  9084  	WriteObject(ctx context.Context, opts ...grpc.CallOption) (Storage_WriteObjectClient, error)
  9085  	// Retrieves a list of objects matching the criteria.
  9086  	ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error)
  9087  	// Rewrites a source object to a destination object. Optionally overrides
  9088  	// metadata.
  9089  	RewriteObject(ctx context.Context, in *RewriteObjectRequest, opts ...grpc.CallOption) (*RewriteResponse, error)
  9090  	// Starts a resumable write. How long the write operation remains valid, and
  9091  	// what happens when the write operation becomes invalid, are
  9092  	// service-dependent.
  9093  	StartResumableWrite(ctx context.Context, in *StartResumableWriteRequest, opts ...grpc.CallOption) (*StartResumableWriteResponse, error)
  9094  	// Determines the `persisted_size` for an object that is being written, which
  9095  	// can then be used as the `write_offset` for the next `Write()` call.
  9096  	//
  9097  	// If the object does not exist (i.e., the object has been deleted, or the
  9098  	// first `Write()` has not yet reached the service), this method returns the
  9099  	// error `NOT_FOUND`.
  9100  	//
  9101  	// The client **may** call `QueryWriteStatus()` at any time to determine how
  9102  	// much data has been processed for this object. This is useful if the
  9103  	// client is buffering data and needs to know which data can be safely
  9104  	// evicted. For any sequence of `QueryWriteStatus()` calls for a given
  9105  	// object name, the sequence of returned `persisted_size` values will be
  9106  	// non-decreasing.
  9107  	QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error)
  9108  	// Retrieves the name of a project's Google Cloud Storage service account.
  9109  	GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
  9110  	// Creates a new HMAC key for the given service account.
  9111  	CreateHmacKey(ctx context.Context, in *CreateHmacKeyRequest, opts ...grpc.CallOption) (*CreateHmacKeyResponse, error)
  9112  	// Deletes a given HMAC key.  Key must be in an INACTIVE state.
  9113  	DeleteHmacKey(ctx context.Context, in *DeleteHmacKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  9114  	// Gets an existing HMAC key metadata for the given id.
  9115  	GetHmacKey(ctx context.Context, in *GetHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error)
  9116  	// Lists HMAC keys under a given project with the additional filters provided.
  9117  	ListHmacKeys(ctx context.Context, in *ListHmacKeysRequest, opts ...grpc.CallOption) (*ListHmacKeysResponse, error)
  9118  	// Updates a given HMAC key state between ACTIVE and INACTIVE.
  9119  	UpdateHmacKey(ctx context.Context, in *UpdateHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error)
  9120  }
  9121  
  9122  type storageClient struct {
  9123  	cc grpc.ClientConnInterface
  9124  }
  9125  
  9126  func NewStorageClient(cc grpc.ClientConnInterface) StorageClient {
  9127  	return &storageClient{cc}
  9128  }
  9129  
  9130  func (c *storageClient) DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  9131  	out := new(emptypb.Empty)
  9132  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteBucket", in, out, opts...)
  9133  	if err != nil {
  9134  		return nil, err
  9135  	}
  9136  	return out, nil
  9137  }
  9138  
  9139  func (c *storageClient) GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
  9140  	out := new(Bucket)
  9141  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetBucket", in, out, opts...)
  9142  	if err != nil {
  9143  		return nil, err
  9144  	}
  9145  	return out, nil
  9146  }
  9147  
  9148  func (c *storageClient) CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
  9149  	out := new(Bucket)
  9150  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateBucket", in, out, opts...)
  9151  	if err != nil {
  9152  		return nil, err
  9153  	}
  9154  	return out, nil
  9155  }
  9156  
  9157  func (c *storageClient) ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) {
  9158  	out := new(ListBucketsResponse)
  9159  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListBuckets", in, out, opts...)
  9160  	if err != nil {
  9161  		return nil, err
  9162  	}
  9163  	return out, nil
  9164  }
  9165  
  9166  func (c *storageClient) LockBucketRetentionPolicy(ctx context.Context, in *LockBucketRetentionPolicyRequest, opts ...grpc.CallOption) (*Bucket, error) {
  9167  	out := new(Bucket)
  9168  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/LockBucketRetentionPolicy", in, out, opts...)
  9169  	if err != nil {
  9170  		return nil, err
  9171  	}
  9172  	return out, nil
  9173  }
  9174  
  9175  func (c *storageClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
  9176  	out := new(v1.Policy)
  9177  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetIamPolicy", in, out, opts...)
  9178  	if err != nil {
  9179  		return nil, err
  9180  	}
  9181  	return out, nil
  9182  }
  9183  
  9184  func (c *storageClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
  9185  	out := new(v1.Policy)
  9186  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/SetIamPolicy", in, out, opts...)
  9187  	if err != nil {
  9188  		return nil, err
  9189  	}
  9190  	return out, nil
  9191  }
  9192  
  9193  func (c *storageClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
  9194  	out := new(v1.TestIamPermissionsResponse)
  9195  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/TestIamPermissions", in, out, opts...)
  9196  	if err != nil {
  9197  		return nil, err
  9198  	}
  9199  	return out, nil
  9200  }
  9201  
  9202  func (c *storageClient) UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
  9203  	out := new(Bucket)
  9204  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateBucket", in, out, opts...)
  9205  	if err != nil {
  9206  		return nil, err
  9207  	}
  9208  	return out, nil
  9209  }
  9210  
  9211  func (c *storageClient) DeleteNotification(ctx context.Context, in *DeleteNotificationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  9212  	out := new(emptypb.Empty)
  9213  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteNotification", in, out, opts...)
  9214  	if err != nil {
  9215  		return nil, err
  9216  	}
  9217  	return out, nil
  9218  }
  9219  
  9220  func (c *storageClient) GetNotification(ctx context.Context, in *GetNotificationRequest, opts ...grpc.CallOption) (*Notification, error) {
  9221  	out := new(Notification)
  9222  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetNotification", in, out, opts...)
  9223  	if err != nil {
  9224  		return nil, err
  9225  	}
  9226  	return out, nil
  9227  }
  9228  
  9229  func (c *storageClient) CreateNotification(ctx context.Context, in *CreateNotificationRequest, opts ...grpc.CallOption) (*Notification, error) {
  9230  	out := new(Notification)
  9231  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateNotification", in, out, opts...)
  9232  	if err != nil {
  9233  		return nil, err
  9234  	}
  9235  	return out, nil
  9236  }
  9237  
  9238  func (c *storageClient) ListNotifications(ctx context.Context, in *ListNotificationsRequest, opts ...grpc.CallOption) (*ListNotificationsResponse, error) {
  9239  	out := new(ListNotificationsResponse)
  9240  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListNotifications", in, out, opts...)
  9241  	if err != nil {
  9242  		return nil, err
  9243  	}
  9244  	return out, nil
  9245  }
  9246  
  9247  func (c *storageClient) ComposeObject(ctx context.Context, in *ComposeObjectRequest, opts ...grpc.CallOption) (*Object, error) {
  9248  	out := new(Object)
  9249  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ComposeObject", in, out, opts...)
  9250  	if err != nil {
  9251  		return nil, err
  9252  	}
  9253  	return out, nil
  9254  }
  9255  
  9256  func (c *storageClient) DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  9257  	out := new(emptypb.Empty)
  9258  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteObject", in, out, opts...)
  9259  	if err != nil {
  9260  		return nil, err
  9261  	}
  9262  	return out, nil
  9263  }
  9264  
  9265  func (c *storageClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (*Object, error) {
  9266  	out := new(Object)
  9267  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetObject", in, out, opts...)
  9268  	if err != nil {
  9269  		return nil, err
  9270  	}
  9271  	return out, nil
  9272  }
  9273  
  9274  func (c *storageClient) ReadObject(ctx context.Context, in *ReadObjectRequest, opts ...grpc.CallOption) (Storage_ReadObjectClient, error) {
  9275  	stream, err := c.cc.NewStream(ctx, &_Storage_serviceDesc.Streams[0], "/google.storage.v2.Storage/ReadObject", opts...)
  9276  	if err != nil {
  9277  		return nil, err
  9278  	}
  9279  	x := &storageReadObjectClient{stream}
  9280  	if err := x.ClientStream.SendMsg(in); err != nil {
  9281  		return nil, err
  9282  	}
  9283  	if err := x.ClientStream.CloseSend(); err != nil {
  9284  		return nil, err
  9285  	}
  9286  	return x, nil
  9287  }
  9288  
  9289  type Storage_ReadObjectClient interface {
  9290  	Recv() (*ReadObjectResponse, error)
  9291  	grpc.ClientStream
  9292  }
  9293  
  9294  type storageReadObjectClient struct {
  9295  	grpc.ClientStream
  9296  }
  9297  
  9298  func (x *storageReadObjectClient) Recv() (*ReadObjectResponse, error) {
  9299  	m := new(ReadObjectResponse)
  9300  	if err := x.ClientStream.RecvMsg(m); err != nil {
  9301  		return nil, err
  9302  	}
  9303  	return m, nil
  9304  }
  9305  
  9306  func (c *storageClient) UpdateObject(ctx context.Context, in *UpdateObjectRequest, opts ...grpc.CallOption) (*Object, error) {
  9307  	out := new(Object)
  9308  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateObject", in, out, opts...)
  9309  	if err != nil {
  9310  		return nil, err
  9311  	}
  9312  	return out, nil
  9313  }
  9314  
  9315  func (c *storageClient) WriteObject(ctx context.Context, opts ...grpc.CallOption) (Storage_WriteObjectClient, error) {
  9316  	stream, err := c.cc.NewStream(ctx, &_Storage_serviceDesc.Streams[1], "/google.storage.v2.Storage/WriteObject", opts...)
  9317  	if err != nil {
  9318  		return nil, err
  9319  	}
  9320  	x := &storageWriteObjectClient{stream}
  9321  	return x, nil
  9322  }
  9323  
  9324  type Storage_WriteObjectClient interface {
  9325  	Send(*WriteObjectRequest) error
  9326  	CloseAndRecv() (*WriteObjectResponse, error)
  9327  	grpc.ClientStream
  9328  }
  9329  
  9330  type storageWriteObjectClient struct {
  9331  	grpc.ClientStream
  9332  }
  9333  
  9334  func (x *storageWriteObjectClient) Send(m *WriteObjectRequest) error {
  9335  	return x.ClientStream.SendMsg(m)
  9336  }
  9337  
  9338  func (x *storageWriteObjectClient) CloseAndRecv() (*WriteObjectResponse, error) {
  9339  	if err := x.ClientStream.CloseSend(); err != nil {
  9340  		return nil, err
  9341  	}
  9342  	m := new(WriteObjectResponse)
  9343  	if err := x.ClientStream.RecvMsg(m); err != nil {
  9344  		return nil, err
  9345  	}
  9346  	return m, nil
  9347  }
  9348  
  9349  func (c *storageClient) ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) {
  9350  	out := new(ListObjectsResponse)
  9351  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListObjects", in, out, opts...)
  9352  	if err != nil {
  9353  		return nil, err
  9354  	}
  9355  	return out, nil
  9356  }
  9357  
  9358  func (c *storageClient) RewriteObject(ctx context.Context, in *RewriteObjectRequest, opts ...grpc.CallOption) (*RewriteResponse, error) {
  9359  	out := new(RewriteResponse)
  9360  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/RewriteObject", in, out, opts...)
  9361  	if err != nil {
  9362  		return nil, err
  9363  	}
  9364  	return out, nil
  9365  }
  9366  
  9367  func (c *storageClient) StartResumableWrite(ctx context.Context, in *StartResumableWriteRequest, opts ...grpc.CallOption) (*StartResumableWriteResponse, error) {
  9368  	out := new(StartResumableWriteResponse)
  9369  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/StartResumableWrite", in, out, opts...)
  9370  	if err != nil {
  9371  		return nil, err
  9372  	}
  9373  	return out, nil
  9374  }
  9375  
  9376  func (c *storageClient) QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error) {
  9377  	out := new(QueryWriteStatusResponse)
  9378  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/QueryWriteStatus", in, out, opts...)
  9379  	if err != nil {
  9380  		return nil, err
  9381  	}
  9382  	return out, nil
  9383  }
  9384  
  9385  func (c *storageClient) GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
  9386  	out := new(ServiceAccount)
  9387  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetServiceAccount", in, out, opts...)
  9388  	if err != nil {
  9389  		return nil, err
  9390  	}
  9391  	return out, nil
  9392  }
  9393  
  9394  func (c *storageClient) CreateHmacKey(ctx context.Context, in *CreateHmacKeyRequest, opts ...grpc.CallOption) (*CreateHmacKeyResponse, error) {
  9395  	out := new(CreateHmacKeyResponse)
  9396  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateHmacKey", in, out, opts...)
  9397  	if err != nil {
  9398  		return nil, err
  9399  	}
  9400  	return out, nil
  9401  }
  9402  
  9403  func (c *storageClient) DeleteHmacKey(ctx context.Context, in *DeleteHmacKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  9404  	out := new(emptypb.Empty)
  9405  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteHmacKey", in, out, opts...)
  9406  	if err != nil {
  9407  		return nil, err
  9408  	}
  9409  	return out, nil
  9410  }
  9411  
  9412  func (c *storageClient) GetHmacKey(ctx context.Context, in *GetHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error) {
  9413  	out := new(HmacKeyMetadata)
  9414  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetHmacKey", in, out, opts...)
  9415  	if err != nil {
  9416  		return nil, err
  9417  	}
  9418  	return out, nil
  9419  }
  9420  
  9421  func (c *storageClient) ListHmacKeys(ctx context.Context, in *ListHmacKeysRequest, opts ...grpc.CallOption) (*ListHmacKeysResponse, error) {
  9422  	out := new(ListHmacKeysResponse)
  9423  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListHmacKeys", in, out, opts...)
  9424  	if err != nil {
  9425  		return nil, err
  9426  	}
  9427  	return out, nil
  9428  }
  9429  
  9430  func (c *storageClient) UpdateHmacKey(ctx context.Context, in *UpdateHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error) {
  9431  	out := new(HmacKeyMetadata)
  9432  	err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateHmacKey", in, out, opts...)
  9433  	if err != nil {
  9434  		return nil, err
  9435  	}
  9436  	return out, nil
  9437  }
  9438  
  9439  // StorageServer is the server API for Storage service.
  9440  type StorageServer interface {
  9441  	// Permanently deletes an empty bucket.
  9442  	DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error)
  9443  	// Returns metadata for the specified bucket.
  9444  	GetBucket(context.Context, *GetBucketRequest) (*Bucket, error)
  9445  	// Creates a new bucket.
  9446  	CreateBucket(context.Context, *CreateBucketRequest) (*Bucket, error)
  9447  	// Retrieves a list of buckets for a given project.
  9448  	ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error)
  9449  	// Locks retention policy on a bucket.
  9450  	LockBucketRetentionPolicy(context.Context, *LockBucketRetentionPolicyRequest) (*Bucket, error)
  9451  	// Gets the IAM policy for a specified bucket.
  9452  	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
  9453  	// Updates an IAM policy for the specified bucket.
  9454  	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
  9455  	// Tests a set of permissions on the given bucket to see which, if
  9456  	// any, are held by the caller.
  9457  	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
  9458  	// Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
  9459  	UpdateBucket(context.Context, *UpdateBucketRequest) (*Bucket, error)
  9460  	// Permanently deletes a notification subscription.
  9461  	DeleteNotification(context.Context, *DeleteNotificationRequest) (*emptypb.Empty, error)
  9462  	// View a notification config.
  9463  	GetNotification(context.Context, *GetNotificationRequest) (*Notification, error)
  9464  	// Creates a notification subscription for a given bucket.
  9465  	// These notifications, when triggered, publish messages to the specified
  9466  	// Pub/Sub topics.
  9467  	// See https://cloud.google.com/storage/docs/pubsub-notifications.
  9468  	CreateNotification(context.Context, *CreateNotificationRequest) (*Notification, error)
  9469  	// Retrieves a list of notification subscriptions for a given bucket.
  9470  	ListNotifications(context.Context, *ListNotificationsRequest) (*ListNotificationsResponse, error)
  9471  	// Concatenates a list of existing objects into a new object in the same
  9472  	// bucket.
  9473  	ComposeObject(context.Context, *ComposeObjectRequest) (*Object, error)
  9474  	// Deletes an object and its metadata. Deletions are permanent if versioning
  9475  	// is not enabled for the bucket, or if the `generation` parameter
  9476  	// is used.
  9477  	DeleteObject(context.Context, *DeleteObjectRequest) (*emptypb.Empty, error)
  9478  	// Retrieves an object's metadata.
  9479  	GetObject(context.Context, *GetObjectRequest) (*Object, error)
  9480  	// Reads an object's data.
  9481  	ReadObject(*ReadObjectRequest, Storage_ReadObjectServer) error
  9482  	// Updates an object's metadata.
  9483  	// Equivalent to JSON API's storage.objects.patch.
  9484  	UpdateObject(context.Context, *UpdateObjectRequest) (*Object, error)
  9485  	// Stores a new object and metadata.
  9486  	//
  9487  	// An object can be written either in a single message stream or in a
  9488  	// resumable sequence of message streams. To write using a single stream,
  9489  	// the client should include in the first message of the stream an
  9490  	// `WriteObjectSpec` describing the destination bucket, object, and any
  9491  	// preconditions. Additionally, the final message must set 'finish_write' to
  9492  	// true, or else it is an error.
  9493  	//
  9494  	// For a resumable write, the client should instead call
  9495  	// `StartResumableWrite()`, populating a `WriteObjectSpec` into that request.
  9496  	// They should then attach the returned `upload_id` to the first message of
  9497  	// each following call to `WriteObject`. If the stream is closed before
  9498  	// finishing the upload (either explicitly by the client or due to a network
  9499  	// error or an error response from the server), the client should do as
  9500  	// follows:
  9501  	//   - Check the result Status of the stream, to determine if writing can be
  9502  	//     resumed on this stream or must be restarted from scratch (by calling
  9503  	//     `StartResumableWrite()`). The resumable errors are DEADLINE_EXCEEDED,
  9504  	//     INTERNAL, and UNAVAILABLE. For each case, the client should use binary
  9505  	//     exponential backoff before retrying.  Additionally, writes can be
  9506  	//     resumed after RESOURCE_EXHAUSTED errors, but only after taking
  9507  	//     appropriate measures, which may include reducing aggregate send rate
  9508  	//     across clients and/or requesting a quota increase for your project.
  9509  	//   - If the call to `WriteObject` returns `ABORTED`, that indicates
  9510  	//     concurrent attempts to update the resumable write, caused either by
  9511  	//     multiple racing clients or by a single client where the previous
  9512  	//     request was timed out on the client side but nonetheless reached the
  9513  	//     server. In this case the client should take steps to prevent further
  9514  	//     concurrent writes (e.g., increase the timeouts, stop using more than
  9515  	//     one process to perform the upload, etc.), and then should follow the
  9516  	//     steps below for resuming the upload.
  9517  	//   - For resumable errors, the client should call `QueryWriteStatus()` and
  9518  	//     then continue writing from the returned `persisted_size`. This may be
  9519  	//     less than the amount of data the client previously sent. Note also that
  9520  	//     it is acceptable to send data starting at an offset earlier than the
  9521  	//     returned `persisted_size`; in this case, the service will skip data at
  9522  	//     offsets that were already persisted (without checking that it matches
  9523  	//     the previously written data), and write only the data starting from the
  9524  	//     persisted offset. This behavior can make client-side handling simpler
  9525  	//     in some cases.
  9526  	//
  9527  	// The service will not view the object as complete until the client has
  9528  	// sent a `WriteObjectRequest` with `finish_write` set to `true`. Sending any
  9529  	// requests on a stream after sending a request with `finish_write` set to
  9530  	// `true` will cause an error. The client **should** check the response it
  9531  	// receives to determine how much data the service was able to commit and
  9532  	// whether the service views the object as complete.
  9533  	//
  9534  	// Attempting to resume an already finalized object will result in an OK
  9535  	// status, with a WriteObjectResponse containing the finalized object's
  9536  	// metadata.
  9537  	WriteObject(Storage_WriteObjectServer) error
  9538  	// Retrieves a list of objects matching the criteria.
  9539  	ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error)
  9540  	// Rewrites a source object to a destination object. Optionally overrides
  9541  	// metadata.
  9542  	RewriteObject(context.Context, *RewriteObjectRequest) (*RewriteResponse, error)
  9543  	// Starts a resumable write. How long the write operation remains valid, and
  9544  	// what happens when the write operation becomes invalid, are
  9545  	// service-dependent.
  9546  	StartResumableWrite(context.Context, *StartResumableWriteRequest) (*StartResumableWriteResponse, error)
  9547  	// Determines the `persisted_size` for an object that is being written, which
  9548  	// can then be used as the `write_offset` for the next `Write()` call.
  9549  	//
  9550  	// If the object does not exist (i.e., the object has been deleted, or the
  9551  	// first `Write()` has not yet reached the service), this method returns the
  9552  	// error `NOT_FOUND`.
  9553  	//
  9554  	// The client **may** call `QueryWriteStatus()` at any time to determine how
  9555  	// much data has been processed for this object. This is useful if the
  9556  	// client is buffering data and needs to know which data can be safely
  9557  	// evicted. For any sequence of `QueryWriteStatus()` calls for a given
  9558  	// object name, the sequence of returned `persisted_size` values will be
  9559  	// non-decreasing.
  9560  	QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error)
  9561  	// Retrieves the name of a project's Google Cloud Storage service account.
  9562  	GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error)
  9563  	// Creates a new HMAC key for the given service account.
  9564  	CreateHmacKey(context.Context, *CreateHmacKeyRequest) (*CreateHmacKeyResponse, error)
  9565  	// Deletes a given HMAC key.  Key must be in an INACTIVE state.
  9566  	DeleteHmacKey(context.Context, *DeleteHmacKeyRequest) (*emptypb.Empty, error)
  9567  	// Gets an existing HMAC key metadata for the given id.
  9568  	GetHmacKey(context.Context, *GetHmacKeyRequest) (*HmacKeyMetadata, error)
  9569  	// Lists HMAC keys under a given project with the additional filters provided.
  9570  	ListHmacKeys(context.Context, *ListHmacKeysRequest) (*ListHmacKeysResponse, error)
  9571  	// Updates a given HMAC key state between ACTIVE and INACTIVE.
  9572  	UpdateHmacKey(context.Context, *UpdateHmacKeyRequest) (*HmacKeyMetadata, error)
  9573  }
  9574  
  9575  // UnimplementedStorageServer can be embedded to have forward compatible implementations.
  9576  type UnimplementedStorageServer struct {
  9577  }
  9578  
  9579  func (*UnimplementedStorageServer) DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error) {
  9580  	return nil, status.Errorf(codes.Unimplemented, "method DeleteBucket not implemented")
  9581  }
  9582  func (*UnimplementedStorageServer) GetBucket(context.Context, *GetBucketRequest) (*Bucket, error) {
  9583  	return nil, status.Errorf(codes.Unimplemented, "method GetBucket not implemented")
  9584  }
  9585  func (*UnimplementedStorageServer) CreateBucket(context.Context, *CreateBucketRequest) (*Bucket, error) {
  9586  	return nil, status.Errorf(codes.Unimplemented, "method CreateBucket not implemented")
  9587  }
  9588  func (*UnimplementedStorageServer) ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) {
  9589  	return nil, status.Errorf(codes.Unimplemented, "method ListBuckets not implemented")
  9590  }
  9591  func (*UnimplementedStorageServer) LockBucketRetentionPolicy(context.Context, *LockBucketRetentionPolicyRequest) (*Bucket, error) {
  9592  	return nil, status.Errorf(codes.Unimplemented, "method LockBucketRetentionPolicy not implemented")
  9593  }
  9594  func (*UnimplementedStorageServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) {
  9595  	return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented")
  9596  }
  9597  func (*UnimplementedStorageServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) {
  9598  	return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented")
  9599  }
  9600  func (*UnimplementedStorageServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) {
  9601  	return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented")
  9602  }
  9603  func (*UnimplementedStorageServer) UpdateBucket(context.Context, *UpdateBucketRequest) (*Bucket, error) {
  9604  	return nil, status.Errorf(codes.Unimplemented, "method UpdateBucket not implemented")
  9605  }
  9606  func (*UnimplementedStorageServer) DeleteNotification(context.Context, *DeleteNotificationRequest) (*emptypb.Empty, error) {
  9607  	return nil, status.Errorf(codes.Unimplemented, "method DeleteNotification not implemented")
  9608  }
  9609  func (*UnimplementedStorageServer) GetNotification(context.Context, *GetNotificationRequest) (*Notification, error) {
  9610  	return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented")
  9611  }
  9612  func (*UnimplementedStorageServer) CreateNotification(context.Context, *CreateNotificationRequest) (*Notification, error) {
  9613  	return nil, status.Errorf(codes.Unimplemented, "method CreateNotification not implemented")
  9614  }
  9615  func (*UnimplementedStorageServer) ListNotifications(context.Context, *ListNotificationsRequest) (*ListNotificationsResponse, error) {
  9616  	return nil, status.Errorf(codes.Unimplemented, "method ListNotifications not implemented")
  9617  }
  9618  func (*UnimplementedStorageServer) ComposeObject(context.Context, *ComposeObjectRequest) (*Object, error) {
  9619  	return nil, status.Errorf(codes.Unimplemented, "method ComposeObject not implemented")
  9620  }
  9621  func (*UnimplementedStorageServer) DeleteObject(context.Context, *DeleteObjectRequest) (*emptypb.Empty, error) {
  9622  	return nil, status.Errorf(codes.Unimplemented, "method DeleteObject not implemented")
  9623  }
  9624  func (*UnimplementedStorageServer) GetObject(context.Context, *GetObjectRequest) (*Object, error) {
  9625  	return nil, status.Errorf(codes.Unimplemented, "method GetObject not implemented")
  9626  }
  9627  func (*UnimplementedStorageServer) ReadObject(*ReadObjectRequest, Storage_ReadObjectServer) error {
  9628  	return status.Errorf(codes.Unimplemented, "method ReadObject not implemented")
  9629  }
  9630  func (*UnimplementedStorageServer) UpdateObject(context.Context, *UpdateObjectRequest) (*Object, error) {
  9631  	return nil, status.Errorf(codes.Unimplemented, "method UpdateObject not implemented")
  9632  }
  9633  func (*UnimplementedStorageServer) WriteObject(Storage_WriteObjectServer) error {
  9634  	return status.Errorf(codes.Unimplemented, "method WriteObject not implemented")
  9635  }
  9636  func (*UnimplementedStorageServer) ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) {
  9637  	return nil, status.Errorf(codes.Unimplemented, "method ListObjects not implemented")
  9638  }
  9639  func (*UnimplementedStorageServer) RewriteObject(context.Context, *RewriteObjectRequest) (*RewriteResponse, error) {
  9640  	return nil, status.Errorf(codes.Unimplemented, "method RewriteObject not implemented")
  9641  }
  9642  func (*UnimplementedStorageServer) StartResumableWrite(context.Context, *StartResumableWriteRequest) (*StartResumableWriteResponse, error) {
  9643  	return nil, status.Errorf(codes.Unimplemented, "method StartResumableWrite not implemented")
  9644  }
  9645  func (*UnimplementedStorageServer) QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error) {
  9646  	return nil, status.Errorf(codes.Unimplemented, "method QueryWriteStatus not implemented")
  9647  }
  9648  func (*UnimplementedStorageServer) GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error) {
  9649  	return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccount not implemented")
  9650  }
  9651  func (*UnimplementedStorageServer) CreateHmacKey(context.Context, *CreateHmacKeyRequest) (*CreateHmacKeyResponse, error) {
  9652  	return nil, status.Errorf(codes.Unimplemented, "method CreateHmacKey not implemented")
  9653  }
  9654  func (*UnimplementedStorageServer) DeleteHmacKey(context.Context, *DeleteHmacKeyRequest) (*emptypb.Empty, error) {
  9655  	return nil, status.Errorf(codes.Unimplemented, "method DeleteHmacKey not implemented")
  9656  }
  9657  func (*UnimplementedStorageServer) GetHmacKey(context.Context, *GetHmacKeyRequest) (*HmacKeyMetadata, error) {
  9658  	return nil, status.Errorf(codes.Unimplemented, "method GetHmacKey not implemented")
  9659  }
  9660  func (*UnimplementedStorageServer) ListHmacKeys(context.Context, *ListHmacKeysRequest) (*ListHmacKeysResponse, error) {
  9661  	return nil, status.Errorf(codes.Unimplemented, "method ListHmacKeys not implemented")
  9662  }
  9663  func (*UnimplementedStorageServer) UpdateHmacKey(context.Context, *UpdateHmacKeyRequest) (*HmacKeyMetadata, error) {
  9664  	return nil, status.Errorf(codes.Unimplemented, "method UpdateHmacKey not implemented")
  9665  }
  9666  
  9667  func RegisterStorageServer(s *grpc.Server, srv StorageServer) {
  9668  	s.RegisterService(&_Storage_serviceDesc, srv)
  9669  }
  9670  
  9671  func _Storage_DeleteBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9672  	in := new(DeleteBucketRequest)
  9673  	if err := dec(in); err != nil {
  9674  		return nil, err
  9675  	}
  9676  	if interceptor == nil {
  9677  		return srv.(StorageServer).DeleteBucket(ctx, in)
  9678  	}
  9679  	info := &grpc.UnaryServerInfo{
  9680  		Server:     srv,
  9681  		FullMethod: "/google.storage.v2.Storage/DeleteBucket",
  9682  	}
  9683  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9684  		return srv.(StorageServer).DeleteBucket(ctx, req.(*DeleteBucketRequest))
  9685  	}
  9686  	return interceptor(ctx, in, info, handler)
  9687  }
  9688  
  9689  func _Storage_GetBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9690  	in := new(GetBucketRequest)
  9691  	if err := dec(in); err != nil {
  9692  		return nil, err
  9693  	}
  9694  	if interceptor == nil {
  9695  		return srv.(StorageServer).GetBucket(ctx, in)
  9696  	}
  9697  	info := &grpc.UnaryServerInfo{
  9698  		Server:     srv,
  9699  		FullMethod: "/google.storage.v2.Storage/GetBucket",
  9700  	}
  9701  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9702  		return srv.(StorageServer).GetBucket(ctx, req.(*GetBucketRequest))
  9703  	}
  9704  	return interceptor(ctx, in, info, handler)
  9705  }
  9706  
  9707  func _Storage_CreateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9708  	in := new(CreateBucketRequest)
  9709  	if err := dec(in); err != nil {
  9710  		return nil, err
  9711  	}
  9712  	if interceptor == nil {
  9713  		return srv.(StorageServer).CreateBucket(ctx, in)
  9714  	}
  9715  	info := &grpc.UnaryServerInfo{
  9716  		Server:     srv,
  9717  		FullMethod: "/google.storage.v2.Storage/CreateBucket",
  9718  	}
  9719  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9720  		return srv.(StorageServer).CreateBucket(ctx, req.(*CreateBucketRequest))
  9721  	}
  9722  	return interceptor(ctx, in, info, handler)
  9723  }
  9724  
  9725  func _Storage_ListBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9726  	in := new(ListBucketsRequest)
  9727  	if err := dec(in); err != nil {
  9728  		return nil, err
  9729  	}
  9730  	if interceptor == nil {
  9731  		return srv.(StorageServer).ListBuckets(ctx, in)
  9732  	}
  9733  	info := &grpc.UnaryServerInfo{
  9734  		Server:     srv,
  9735  		FullMethod: "/google.storage.v2.Storage/ListBuckets",
  9736  	}
  9737  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9738  		return srv.(StorageServer).ListBuckets(ctx, req.(*ListBucketsRequest))
  9739  	}
  9740  	return interceptor(ctx, in, info, handler)
  9741  }
  9742  
  9743  func _Storage_LockBucketRetentionPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9744  	in := new(LockBucketRetentionPolicyRequest)
  9745  	if err := dec(in); err != nil {
  9746  		return nil, err
  9747  	}
  9748  	if interceptor == nil {
  9749  		return srv.(StorageServer).LockBucketRetentionPolicy(ctx, in)
  9750  	}
  9751  	info := &grpc.UnaryServerInfo{
  9752  		Server:     srv,
  9753  		FullMethod: "/google.storage.v2.Storage/LockBucketRetentionPolicy",
  9754  	}
  9755  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9756  		return srv.(StorageServer).LockBucketRetentionPolicy(ctx, req.(*LockBucketRetentionPolicyRequest))
  9757  	}
  9758  	return interceptor(ctx, in, info, handler)
  9759  }
  9760  
  9761  func _Storage_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9762  	in := new(v1.GetIamPolicyRequest)
  9763  	if err := dec(in); err != nil {
  9764  		return nil, err
  9765  	}
  9766  	if interceptor == nil {
  9767  		return srv.(StorageServer).GetIamPolicy(ctx, in)
  9768  	}
  9769  	info := &grpc.UnaryServerInfo{
  9770  		Server:     srv,
  9771  		FullMethod: "/google.storage.v2.Storage/GetIamPolicy",
  9772  	}
  9773  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9774  		return srv.(StorageServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
  9775  	}
  9776  	return interceptor(ctx, in, info, handler)
  9777  }
  9778  
  9779  func _Storage_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9780  	in := new(v1.SetIamPolicyRequest)
  9781  	if err := dec(in); err != nil {
  9782  		return nil, err
  9783  	}
  9784  	if interceptor == nil {
  9785  		return srv.(StorageServer).SetIamPolicy(ctx, in)
  9786  	}
  9787  	info := &grpc.UnaryServerInfo{
  9788  		Server:     srv,
  9789  		FullMethod: "/google.storage.v2.Storage/SetIamPolicy",
  9790  	}
  9791  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9792  		return srv.(StorageServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
  9793  	}
  9794  	return interceptor(ctx, in, info, handler)
  9795  }
  9796  
  9797  func _Storage_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9798  	in := new(v1.TestIamPermissionsRequest)
  9799  	if err := dec(in); err != nil {
  9800  		return nil, err
  9801  	}
  9802  	if interceptor == nil {
  9803  		return srv.(StorageServer).TestIamPermissions(ctx, in)
  9804  	}
  9805  	info := &grpc.UnaryServerInfo{
  9806  		Server:     srv,
  9807  		FullMethod: "/google.storage.v2.Storage/TestIamPermissions",
  9808  	}
  9809  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9810  		return srv.(StorageServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
  9811  	}
  9812  	return interceptor(ctx, in, info, handler)
  9813  }
  9814  
  9815  func _Storage_UpdateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9816  	in := new(UpdateBucketRequest)
  9817  	if err := dec(in); err != nil {
  9818  		return nil, err
  9819  	}
  9820  	if interceptor == nil {
  9821  		return srv.(StorageServer).UpdateBucket(ctx, in)
  9822  	}
  9823  	info := &grpc.UnaryServerInfo{
  9824  		Server:     srv,
  9825  		FullMethod: "/google.storage.v2.Storage/UpdateBucket",
  9826  	}
  9827  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9828  		return srv.(StorageServer).UpdateBucket(ctx, req.(*UpdateBucketRequest))
  9829  	}
  9830  	return interceptor(ctx, in, info, handler)
  9831  }
  9832  
  9833  func _Storage_DeleteNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9834  	in := new(DeleteNotificationRequest)
  9835  	if err := dec(in); err != nil {
  9836  		return nil, err
  9837  	}
  9838  	if interceptor == nil {
  9839  		return srv.(StorageServer).DeleteNotification(ctx, in)
  9840  	}
  9841  	info := &grpc.UnaryServerInfo{
  9842  		Server:     srv,
  9843  		FullMethod: "/google.storage.v2.Storage/DeleteNotification",
  9844  	}
  9845  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9846  		return srv.(StorageServer).DeleteNotification(ctx, req.(*DeleteNotificationRequest))
  9847  	}
  9848  	return interceptor(ctx, in, info, handler)
  9849  }
  9850  
  9851  func _Storage_GetNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9852  	in := new(GetNotificationRequest)
  9853  	if err := dec(in); err != nil {
  9854  		return nil, err
  9855  	}
  9856  	if interceptor == nil {
  9857  		return srv.(StorageServer).GetNotification(ctx, in)
  9858  	}
  9859  	info := &grpc.UnaryServerInfo{
  9860  		Server:     srv,
  9861  		FullMethod: "/google.storage.v2.Storage/GetNotification",
  9862  	}
  9863  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9864  		return srv.(StorageServer).GetNotification(ctx, req.(*GetNotificationRequest))
  9865  	}
  9866  	return interceptor(ctx, in, info, handler)
  9867  }
  9868  
  9869  func _Storage_CreateNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9870  	in := new(CreateNotificationRequest)
  9871  	if err := dec(in); err != nil {
  9872  		return nil, err
  9873  	}
  9874  	if interceptor == nil {
  9875  		return srv.(StorageServer).CreateNotification(ctx, in)
  9876  	}
  9877  	info := &grpc.UnaryServerInfo{
  9878  		Server:     srv,
  9879  		FullMethod: "/google.storage.v2.Storage/CreateNotification",
  9880  	}
  9881  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9882  		return srv.(StorageServer).CreateNotification(ctx, req.(*CreateNotificationRequest))
  9883  	}
  9884  	return interceptor(ctx, in, info, handler)
  9885  }
  9886  
  9887  func _Storage_ListNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9888  	in := new(ListNotificationsRequest)
  9889  	if err := dec(in); err != nil {
  9890  		return nil, err
  9891  	}
  9892  	if interceptor == nil {
  9893  		return srv.(StorageServer).ListNotifications(ctx, in)
  9894  	}
  9895  	info := &grpc.UnaryServerInfo{
  9896  		Server:     srv,
  9897  		FullMethod: "/google.storage.v2.Storage/ListNotifications",
  9898  	}
  9899  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9900  		return srv.(StorageServer).ListNotifications(ctx, req.(*ListNotificationsRequest))
  9901  	}
  9902  	return interceptor(ctx, in, info, handler)
  9903  }
  9904  
  9905  func _Storage_ComposeObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9906  	in := new(ComposeObjectRequest)
  9907  	if err := dec(in); err != nil {
  9908  		return nil, err
  9909  	}
  9910  	if interceptor == nil {
  9911  		return srv.(StorageServer).ComposeObject(ctx, in)
  9912  	}
  9913  	info := &grpc.UnaryServerInfo{
  9914  		Server:     srv,
  9915  		FullMethod: "/google.storage.v2.Storage/ComposeObject",
  9916  	}
  9917  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9918  		return srv.(StorageServer).ComposeObject(ctx, req.(*ComposeObjectRequest))
  9919  	}
  9920  	return interceptor(ctx, in, info, handler)
  9921  }
  9922  
  9923  func _Storage_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9924  	in := new(DeleteObjectRequest)
  9925  	if err := dec(in); err != nil {
  9926  		return nil, err
  9927  	}
  9928  	if interceptor == nil {
  9929  		return srv.(StorageServer).DeleteObject(ctx, in)
  9930  	}
  9931  	info := &grpc.UnaryServerInfo{
  9932  		Server:     srv,
  9933  		FullMethod: "/google.storage.v2.Storage/DeleteObject",
  9934  	}
  9935  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9936  		return srv.(StorageServer).DeleteObject(ctx, req.(*DeleteObjectRequest))
  9937  	}
  9938  	return interceptor(ctx, in, info, handler)
  9939  }
  9940  
  9941  func _Storage_GetObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9942  	in := new(GetObjectRequest)
  9943  	if err := dec(in); err != nil {
  9944  		return nil, err
  9945  	}
  9946  	if interceptor == nil {
  9947  		return srv.(StorageServer).GetObject(ctx, in)
  9948  	}
  9949  	info := &grpc.UnaryServerInfo{
  9950  		Server:     srv,
  9951  		FullMethod: "/google.storage.v2.Storage/GetObject",
  9952  	}
  9953  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9954  		return srv.(StorageServer).GetObject(ctx, req.(*GetObjectRequest))
  9955  	}
  9956  	return interceptor(ctx, in, info, handler)
  9957  }
  9958  
  9959  func _Storage_ReadObject_Handler(srv interface{}, stream grpc.ServerStream) error {
  9960  	m := new(ReadObjectRequest)
  9961  	if err := stream.RecvMsg(m); err != nil {
  9962  		return err
  9963  	}
  9964  	return srv.(StorageServer).ReadObject(m, &storageReadObjectServer{stream})
  9965  }
  9966  
  9967  type Storage_ReadObjectServer interface {
  9968  	Send(*ReadObjectResponse) error
  9969  	grpc.ServerStream
  9970  }
  9971  
  9972  type storageReadObjectServer struct {
  9973  	grpc.ServerStream
  9974  }
  9975  
  9976  func (x *storageReadObjectServer) Send(m *ReadObjectResponse) error {
  9977  	return x.ServerStream.SendMsg(m)
  9978  }
  9979  
  9980  func _Storage_UpdateObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  9981  	in := new(UpdateObjectRequest)
  9982  	if err := dec(in); err != nil {
  9983  		return nil, err
  9984  	}
  9985  	if interceptor == nil {
  9986  		return srv.(StorageServer).UpdateObject(ctx, in)
  9987  	}
  9988  	info := &grpc.UnaryServerInfo{
  9989  		Server:     srv,
  9990  		FullMethod: "/google.storage.v2.Storage/UpdateObject",
  9991  	}
  9992  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  9993  		return srv.(StorageServer).UpdateObject(ctx, req.(*UpdateObjectRequest))
  9994  	}
  9995  	return interceptor(ctx, in, info, handler)
  9996  }
  9997  
  9998  func _Storage_WriteObject_Handler(srv interface{}, stream grpc.ServerStream) error {
  9999  	return srv.(StorageServer).WriteObject(&storageWriteObjectServer{stream})
 10000  }
 10001  
 10002  type Storage_WriteObjectServer interface {
 10003  	SendAndClose(*WriteObjectResponse) error
 10004  	Recv() (*WriteObjectRequest, error)
 10005  	grpc.ServerStream
 10006  }
 10007  
 10008  type storageWriteObjectServer struct {
 10009  	grpc.ServerStream
 10010  }
 10011  
 10012  func (x *storageWriteObjectServer) SendAndClose(m *WriteObjectResponse) error {
 10013  	return x.ServerStream.SendMsg(m)
 10014  }
 10015  
 10016  func (x *storageWriteObjectServer) Recv() (*WriteObjectRequest, error) {
 10017  	m := new(WriteObjectRequest)
 10018  	if err := x.ServerStream.RecvMsg(m); err != nil {
 10019  		return nil, err
 10020  	}
 10021  	return m, nil
 10022  }
 10023  
 10024  func _Storage_ListObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10025  	in := new(ListObjectsRequest)
 10026  	if err := dec(in); err != nil {
 10027  		return nil, err
 10028  	}
 10029  	if interceptor == nil {
 10030  		return srv.(StorageServer).ListObjects(ctx, in)
 10031  	}
 10032  	info := &grpc.UnaryServerInfo{
 10033  		Server:     srv,
 10034  		FullMethod: "/google.storage.v2.Storage/ListObjects",
 10035  	}
 10036  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10037  		return srv.(StorageServer).ListObjects(ctx, req.(*ListObjectsRequest))
 10038  	}
 10039  	return interceptor(ctx, in, info, handler)
 10040  }
 10041  
 10042  func _Storage_RewriteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10043  	in := new(RewriteObjectRequest)
 10044  	if err := dec(in); err != nil {
 10045  		return nil, err
 10046  	}
 10047  	if interceptor == nil {
 10048  		return srv.(StorageServer).RewriteObject(ctx, in)
 10049  	}
 10050  	info := &grpc.UnaryServerInfo{
 10051  		Server:     srv,
 10052  		FullMethod: "/google.storage.v2.Storage/RewriteObject",
 10053  	}
 10054  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10055  		return srv.(StorageServer).RewriteObject(ctx, req.(*RewriteObjectRequest))
 10056  	}
 10057  	return interceptor(ctx, in, info, handler)
 10058  }
 10059  
 10060  func _Storage_StartResumableWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10061  	in := new(StartResumableWriteRequest)
 10062  	if err := dec(in); err != nil {
 10063  		return nil, err
 10064  	}
 10065  	if interceptor == nil {
 10066  		return srv.(StorageServer).StartResumableWrite(ctx, in)
 10067  	}
 10068  	info := &grpc.UnaryServerInfo{
 10069  		Server:     srv,
 10070  		FullMethod: "/google.storage.v2.Storage/StartResumableWrite",
 10071  	}
 10072  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10073  		return srv.(StorageServer).StartResumableWrite(ctx, req.(*StartResumableWriteRequest))
 10074  	}
 10075  	return interceptor(ctx, in, info, handler)
 10076  }
 10077  
 10078  func _Storage_QueryWriteStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10079  	in := new(QueryWriteStatusRequest)
 10080  	if err := dec(in); err != nil {
 10081  		return nil, err
 10082  	}
 10083  	if interceptor == nil {
 10084  		return srv.(StorageServer).QueryWriteStatus(ctx, in)
 10085  	}
 10086  	info := &grpc.UnaryServerInfo{
 10087  		Server:     srv,
 10088  		FullMethod: "/google.storage.v2.Storage/QueryWriteStatus",
 10089  	}
 10090  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10091  		return srv.(StorageServer).QueryWriteStatus(ctx, req.(*QueryWriteStatusRequest))
 10092  	}
 10093  	return interceptor(ctx, in, info, handler)
 10094  }
 10095  
 10096  func _Storage_GetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10097  	in := new(GetServiceAccountRequest)
 10098  	if err := dec(in); err != nil {
 10099  		return nil, err
 10100  	}
 10101  	if interceptor == nil {
 10102  		return srv.(StorageServer).GetServiceAccount(ctx, in)
 10103  	}
 10104  	info := &grpc.UnaryServerInfo{
 10105  		Server:     srv,
 10106  		FullMethod: "/google.storage.v2.Storage/GetServiceAccount",
 10107  	}
 10108  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10109  		return srv.(StorageServer).GetServiceAccount(ctx, req.(*GetServiceAccountRequest))
 10110  	}
 10111  	return interceptor(ctx, in, info, handler)
 10112  }
 10113  
 10114  func _Storage_CreateHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10115  	in := new(CreateHmacKeyRequest)
 10116  	if err := dec(in); err != nil {
 10117  		return nil, err
 10118  	}
 10119  	if interceptor == nil {
 10120  		return srv.(StorageServer).CreateHmacKey(ctx, in)
 10121  	}
 10122  	info := &grpc.UnaryServerInfo{
 10123  		Server:     srv,
 10124  		FullMethod: "/google.storage.v2.Storage/CreateHmacKey",
 10125  	}
 10126  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10127  		return srv.(StorageServer).CreateHmacKey(ctx, req.(*CreateHmacKeyRequest))
 10128  	}
 10129  	return interceptor(ctx, in, info, handler)
 10130  }
 10131  
 10132  func _Storage_DeleteHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10133  	in := new(DeleteHmacKeyRequest)
 10134  	if err := dec(in); err != nil {
 10135  		return nil, err
 10136  	}
 10137  	if interceptor == nil {
 10138  		return srv.(StorageServer).DeleteHmacKey(ctx, in)
 10139  	}
 10140  	info := &grpc.UnaryServerInfo{
 10141  		Server:     srv,
 10142  		FullMethod: "/google.storage.v2.Storage/DeleteHmacKey",
 10143  	}
 10144  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10145  		return srv.(StorageServer).DeleteHmacKey(ctx, req.(*DeleteHmacKeyRequest))
 10146  	}
 10147  	return interceptor(ctx, in, info, handler)
 10148  }
 10149  
 10150  func _Storage_GetHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10151  	in := new(GetHmacKeyRequest)
 10152  	if err := dec(in); err != nil {
 10153  		return nil, err
 10154  	}
 10155  	if interceptor == nil {
 10156  		return srv.(StorageServer).GetHmacKey(ctx, in)
 10157  	}
 10158  	info := &grpc.UnaryServerInfo{
 10159  		Server:     srv,
 10160  		FullMethod: "/google.storage.v2.Storage/GetHmacKey",
 10161  	}
 10162  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10163  		return srv.(StorageServer).GetHmacKey(ctx, req.(*GetHmacKeyRequest))
 10164  	}
 10165  	return interceptor(ctx, in, info, handler)
 10166  }
 10167  
 10168  func _Storage_ListHmacKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10169  	in := new(ListHmacKeysRequest)
 10170  	if err := dec(in); err != nil {
 10171  		return nil, err
 10172  	}
 10173  	if interceptor == nil {
 10174  		return srv.(StorageServer).ListHmacKeys(ctx, in)
 10175  	}
 10176  	info := &grpc.UnaryServerInfo{
 10177  		Server:     srv,
 10178  		FullMethod: "/google.storage.v2.Storage/ListHmacKeys",
 10179  	}
 10180  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10181  		return srv.(StorageServer).ListHmacKeys(ctx, req.(*ListHmacKeysRequest))
 10182  	}
 10183  	return interceptor(ctx, in, info, handler)
 10184  }
 10185  
 10186  func _Storage_UpdateHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 10187  	in := new(UpdateHmacKeyRequest)
 10188  	if err := dec(in); err != nil {
 10189  		return nil, err
 10190  	}
 10191  	if interceptor == nil {
 10192  		return srv.(StorageServer).UpdateHmacKey(ctx, in)
 10193  	}
 10194  	info := &grpc.UnaryServerInfo{
 10195  		Server:     srv,
 10196  		FullMethod: "/google.storage.v2.Storage/UpdateHmacKey",
 10197  	}
 10198  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 10199  		return srv.(StorageServer).UpdateHmacKey(ctx, req.(*UpdateHmacKeyRequest))
 10200  	}
 10201  	return interceptor(ctx, in, info, handler)
 10202  }
 10203  
 10204  var _Storage_serviceDesc = grpc.ServiceDesc{
 10205  	ServiceName: "google.storage.v2.Storage",
 10206  	HandlerType: (*StorageServer)(nil),
 10207  	Methods: []grpc.MethodDesc{
 10208  		{
 10209  			MethodName: "DeleteBucket",
 10210  			Handler:    _Storage_DeleteBucket_Handler,
 10211  		},
 10212  		{
 10213  			MethodName: "GetBucket",
 10214  			Handler:    _Storage_GetBucket_Handler,
 10215  		},
 10216  		{
 10217  			MethodName: "CreateBucket",
 10218  			Handler:    _Storage_CreateBucket_Handler,
 10219  		},
 10220  		{
 10221  			MethodName: "ListBuckets",
 10222  			Handler:    _Storage_ListBuckets_Handler,
 10223  		},
 10224  		{
 10225  			MethodName: "LockBucketRetentionPolicy",
 10226  			Handler:    _Storage_LockBucketRetentionPolicy_Handler,
 10227  		},
 10228  		{
 10229  			MethodName: "GetIamPolicy",
 10230  			Handler:    _Storage_GetIamPolicy_Handler,
 10231  		},
 10232  		{
 10233  			MethodName: "SetIamPolicy",
 10234  			Handler:    _Storage_SetIamPolicy_Handler,
 10235  		},
 10236  		{
 10237  			MethodName: "TestIamPermissions",
 10238  			Handler:    _Storage_TestIamPermissions_Handler,
 10239  		},
 10240  		{
 10241  			MethodName: "UpdateBucket",
 10242  			Handler:    _Storage_UpdateBucket_Handler,
 10243  		},
 10244  		{
 10245  			MethodName: "DeleteNotification",
 10246  			Handler:    _Storage_DeleteNotification_Handler,
 10247  		},
 10248  		{
 10249  			MethodName: "GetNotification",
 10250  			Handler:    _Storage_GetNotification_Handler,
 10251  		},
 10252  		{
 10253  			MethodName: "CreateNotification",
 10254  			Handler:    _Storage_CreateNotification_Handler,
 10255  		},
 10256  		{
 10257  			MethodName: "ListNotifications",
 10258  			Handler:    _Storage_ListNotifications_Handler,
 10259  		},
 10260  		{
 10261  			MethodName: "ComposeObject",
 10262  			Handler:    _Storage_ComposeObject_Handler,
 10263  		},
 10264  		{
 10265  			MethodName: "DeleteObject",
 10266  			Handler:    _Storage_DeleteObject_Handler,
 10267  		},
 10268  		{
 10269  			MethodName: "GetObject",
 10270  			Handler:    _Storage_GetObject_Handler,
 10271  		},
 10272  		{
 10273  			MethodName: "UpdateObject",
 10274  			Handler:    _Storage_UpdateObject_Handler,
 10275  		},
 10276  		{
 10277  			MethodName: "ListObjects",
 10278  			Handler:    _Storage_ListObjects_Handler,
 10279  		},
 10280  		{
 10281  			MethodName: "RewriteObject",
 10282  			Handler:    _Storage_RewriteObject_Handler,
 10283  		},
 10284  		{
 10285  			MethodName: "StartResumableWrite",
 10286  			Handler:    _Storage_StartResumableWrite_Handler,
 10287  		},
 10288  		{
 10289  			MethodName: "QueryWriteStatus",
 10290  			Handler:    _Storage_QueryWriteStatus_Handler,
 10291  		},
 10292  		{
 10293  			MethodName: "GetServiceAccount",
 10294  			Handler:    _Storage_GetServiceAccount_Handler,
 10295  		},
 10296  		{
 10297  			MethodName: "CreateHmacKey",
 10298  			Handler:    _Storage_CreateHmacKey_Handler,
 10299  		},
 10300  		{
 10301  			MethodName: "DeleteHmacKey",
 10302  			Handler:    _Storage_DeleteHmacKey_Handler,
 10303  		},
 10304  		{
 10305  			MethodName: "GetHmacKey",
 10306  			Handler:    _Storage_GetHmacKey_Handler,
 10307  		},
 10308  		{
 10309  			MethodName: "ListHmacKeys",
 10310  			Handler:    _Storage_ListHmacKeys_Handler,
 10311  		},
 10312  		{
 10313  			MethodName: "UpdateHmacKey",
 10314  			Handler:    _Storage_UpdateHmacKey_Handler,
 10315  		},
 10316  	},
 10317  	Streams: []grpc.StreamDesc{
 10318  		{
 10319  			StreamName:    "ReadObject",
 10320  			Handler:       _Storage_ReadObject_Handler,
 10321  			ServerStreams: true,
 10322  		},
 10323  		{
 10324  			StreamName:    "WriteObject",
 10325  			Handler:       _Storage_WriteObject_Handler,
 10326  			ClientStreams: true,
 10327  		},
 10328  	},
 10329  	Metadata: "google/storage/v2/storage.proto",
 10330  }
 10331  

View as plain text