1// Copyright 2021 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/cloud/kms/v1/service.proto
20
21package kms
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
35	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
36)
37
38const (
39	// Verify that this generated code is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41	// Verify that runtime/protoimpl is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43)
44
45// Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
46type ListKeyRingsRequest struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// Required. The resource name of the location associated with the
52	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
53	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
54	// Optional. Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to include in the
55	// response.  Further [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
56	// including the [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token] in a subsequent
57	// request.  If unspecified, the server will pick an appropriate default.
58	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
59	// Optional. Optional pagination token, returned earlier via
60	// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token].
61	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
62	// Optional. Only include resources that match the filter in the response. For
63	// more information, see
64	// [Sorting and filtering list
65	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
66	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
67	// Optional. Specify how the results should be sorted. If not specified, the
68	// results will be sorted in the default order.  For more information, see
69	// [Sorting and filtering list
70	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
71	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
72}
73
74func (x *ListKeyRingsRequest) Reset() {
75	*x = ListKeyRingsRequest{}
76	if protoimpl.UnsafeEnabled {
77		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		ms.StoreMessageInfo(mi)
80	}
81}
82
83func (x *ListKeyRingsRequest) String() string {
84	return protoimpl.X.MessageStringOf(x)
85}
86
87func (*ListKeyRingsRequest) ProtoMessage() {}
88
89func (x *ListKeyRingsRequest) ProtoReflect() protoreflect.Message {
90	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
91	if protoimpl.UnsafeEnabled && x != nil {
92		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
93		if ms.LoadMessageInfo() == nil {
94			ms.StoreMessageInfo(mi)
95		}
96		return ms
97	}
98	return mi.MessageOf(x)
99}
100
101// Deprecated: Use ListKeyRingsRequest.ProtoReflect.Descriptor instead.
102func (*ListKeyRingsRequest) Descriptor() ([]byte, []int) {
103	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{0}
104}
105
106func (x *ListKeyRingsRequest) GetParent() string {
107	if x != nil {
108		return x.Parent
109	}
110	return ""
111}
112
113func (x *ListKeyRingsRequest) GetPageSize() int32 {
114	if x != nil {
115		return x.PageSize
116	}
117	return 0
118}
119
120func (x *ListKeyRingsRequest) GetPageToken() string {
121	if x != nil {
122		return x.PageToken
123	}
124	return ""
125}
126
127func (x *ListKeyRingsRequest) GetFilter() string {
128	if x != nil {
129		return x.Filter
130	}
131	return ""
132}
133
134func (x *ListKeyRingsRequest) GetOrderBy() string {
135	if x != nil {
136		return x.OrderBy
137	}
138	return ""
139}
140
141// Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
142type ListCryptoKeysRequest struct {
143	state         protoimpl.MessageState
144	sizeCache     protoimpl.SizeCache
145	unknownFields protoimpl.UnknownFields
146
147	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
148	// `projects/*/locations/*/keyRings/*`.
149	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
150	// Optional. Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the
151	// response.  Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
152	// including the [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token] in a subsequent
153	// request.  If unspecified, the server will pick an appropriate default.
154	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
155	// Optional. Optional pagination token, returned earlier via
156	// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token].
157	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
158	// The fields of the primary version to include in the response.
159	VersionView CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=version_view,json=versionView,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"version_view,omitempty"`
160	// Optional. Only include resources that match the filter in the response. For
161	// more information, see
162	// [Sorting and filtering list
163	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
164	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
165	// Optional. Specify how the results should be sorted. If not specified, the
166	// results will be sorted in the default order. For more information, see
167	// [Sorting and filtering list
168	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
169	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
170}
171
172func (x *ListCryptoKeysRequest) Reset() {
173	*x = ListCryptoKeysRequest{}
174	if protoimpl.UnsafeEnabled {
175		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
177		ms.StoreMessageInfo(mi)
178	}
179}
180
181func (x *ListCryptoKeysRequest) String() string {
182	return protoimpl.X.MessageStringOf(x)
183}
184
185func (*ListCryptoKeysRequest) ProtoMessage() {}
186
187func (x *ListCryptoKeysRequest) ProtoReflect() protoreflect.Message {
188	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
189	if protoimpl.UnsafeEnabled && x != nil {
190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
191		if ms.LoadMessageInfo() == nil {
192			ms.StoreMessageInfo(mi)
193		}
194		return ms
195	}
196	return mi.MessageOf(x)
197}
198
199// Deprecated: Use ListCryptoKeysRequest.ProtoReflect.Descriptor instead.
200func (*ListCryptoKeysRequest) Descriptor() ([]byte, []int) {
201	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{1}
202}
203
204func (x *ListCryptoKeysRequest) GetParent() string {
205	if x != nil {
206		return x.Parent
207	}
208	return ""
209}
210
211func (x *ListCryptoKeysRequest) GetPageSize() int32 {
212	if x != nil {
213		return x.PageSize
214	}
215	return 0
216}
217
218func (x *ListCryptoKeysRequest) GetPageToken() string {
219	if x != nil {
220		return x.PageToken
221	}
222	return ""
223}
224
225func (x *ListCryptoKeysRequest) GetVersionView() CryptoKeyVersion_CryptoKeyVersionView {
226	if x != nil {
227		return x.VersionView
228	}
229	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
230}
231
232func (x *ListCryptoKeysRequest) GetFilter() string {
233	if x != nil {
234		return x.Filter
235	}
236	return ""
237}
238
239func (x *ListCryptoKeysRequest) GetOrderBy() string {
240	if x != nil {
241		return x.OrderBy
242	}
243	return ""
244}
245
246// Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
247type ListCryptoKeyVersionsRequest struct {
248	state         protoimpl.MessageState
249	sizeCache     protoimpl.SizeCache
250	unknownFields protoimpl.UnknownFields
251
252	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
253	// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
254	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
255	// Optional. Optional limit on the number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to
256	// include in the response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can
257	// subsequently be obtained by including the
258	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token] in a subsequent request.
259	// If unspecified, the server will pick an appropriate default.
260	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
261	// Optional. Optional pagination token, returned earlier via
262	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token].
263	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
264	// The fields to include in the response.
265	View CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"view,omitempty"`
266	// Optional. Only include resources that match the filter in the response. For
267	// more information, see
268	// [Sorting and filtering list
269	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
270	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
271	// Optional. Specify how the results should be sorted. If not specified, the
272	// results will be sorted in the default order. For more information, see
273	// [Sorting and filtering list
274	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
275	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
276}
277
278func (x *ListCryptoKeyVersionsRequest) Reset() {
279	*x = ListCryptoKeyVersionsRequest{}
280	if protoimpl.UnsafeEnabled {
281		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283		ms.StoreMessageInfo(mi)
284	}
285}
286
287func (x *ListCryptoKeyVersionsRequest) String() string {
288	return protoimpl.X.MessageStringOf(x)
289}
290
291func (*ListCryptoKeyVersionsRequest) ProtoMessage() {}
292
293func (x *ListCryptoKeyVersionsRequest) ProtoReflect() protoreflect.Message {
294	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
295	if protoimpl.UnsafeEnabled && x != nil {
296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297		if ms.LoadMessageInfo() == nil {
298			ms.StoreMessageInfo(mi)
299		}
300		return ms
301	}
302	return mi.MessageOf(x)
303}
304
305// Deprecated: Use ListCryptoKeyVersionsRequest.ProtoReflect.Descriptor instead.
306func (*ListCryptoKeyVersionsRequest) Descriptor() ([]byte, []int) {
307	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{2}
308}
309
310func (x *ListCryptoKeyVersionsRequest) GetParent() string {
311	if x != nil {
312		return x.Parent
313	}
314	return ""
315}
316
317func (x *ListCryptoKeyVersionsRequest) GetPageSize() int32 {
318	if x != nil {
319		return x.PageSize
320	}
321	return 0
322}
323
324func (x *ListCryptoKeyVersionsRequest) GetPageToken() string {
325	if x != nil {
326		return x.PageToken
327	}
328	return ""
329}
330
331func (x *ListCryptoKeyVersionsRequest) GetView() CryptoKeyVersion_CryptoKeyVersionView {
332	if x != nil {
333		return x.View
334	}
335	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
336}
337
338func (x *ListCryptoKeyVersionsRequest) GetFilter() string {
339	if x != nil {
340		return x.Filter
341	}
342	return ""
343}
344
345func (x *ListCryptoKeyVersionsRequest) GetOrderBy() string {
346	if x != nil {
347		return x.OrderBy
348	}
349	return ""
350}
351
352// Request message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
353type ListImportJobsRequest struct {
354	state         protoimpl.MessageState
355	sizeCache     protoimpl.SizeCache
356	unknownFields protoimpl.UnknownFields
357
358	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
359	// `projects/*/locations/*/keyRings/*`.
360	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
361	// Optional. Optional limit on the number of [ImportJobs][google.cloud.kms.v1.ImportJob] to include in the
362	// response. Further [ImportJobs][google.cloud.kms.v1.ImportJob] can subsequently be obtained by
363	// including the [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token] in a subsequent
364	// request. If unspecified, the server will pick an appropriate default.
365	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
366	// Optional. Optional pagination token, returned earlier via
367	// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token].
368	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
369	// Optional. Only include resources that match the filter in the response. For
370	// more information, see
371	// [Sorting and filtering list
372	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
373	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
374	// Optional. Specify how the results should be sorted. If not specified, the
375	// results will be sorted in the default order. For more information, see
376	// [Sorting and filtering list
377	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
378	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
379}
380
381func (x *ListImportJobsRequest) Reset() {
382	*x = ListImportJobsRequest{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *ListImportJobsRequest) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*ListImportJobsRequest) ProtoMessage() {}
395
396func (x *ListImportJobsRequest) ProtoReflect() protoreflect.Message {
397	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
398	if protoimpl.UnsafeEnabled && x != nil {
399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
400		if ms.LoadMessageInfo() == nil {
401			ms.StoreMessageInfo(mi)
402		}
403		return ms
404	}
405	return mi.MessageOf(x)
406}
407
408// Deprecated: Use ListImportJobsRequest.ProtoReflect.Descriptor instead.
409func (*ListImportJobsRequest) Descriptor() ([]byte, []int) {
410	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{3}
411}
412
413func (x *ListImportJobsRequest) GetParent() string {
414	if x != nil {
415		return x.Parent
416	}
417	return ""
418}
419
420func (x *ListImportJobsRequest) GetPageSize() int32 {
421	if x != nil {
422		return x.PageSize
423	}
424	return 0
425}
426
427func (x *ListImportJobsRequest) GetPageToken() string {
428	if x != nil {
429		return x.PageToken
430	}
431	return ""
432}
433
434func (x *ListImportJobsRequest) GetFilter() string {
435	if x != nil {
436		return x.Filter
437	}
438	return ""
439}
440
441func (x *ListImportJobsRequest) GetOrderBy() string {
442	if x != nil {
443		return x.OrderBy
444	}
445	return ""
446}
447
448// Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
449type ListKeyRingsResponse struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
455	KeyRings []*KeyRing `protobuf:"bytes,1,rep,name=key_rings,json=keyRings,proto3" json:"key_rings,omitempty"`
456	// A token to retrieve next page of results. Pass this value in
457	// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token] to retrieve the next page of results.
458	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
459	// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched the query.
460	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
461}
462
463func (x *ListKeyRingsResponse) Reset() {
464	*x = ListKeyRingsResponse{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *ListKeyRingsResponse) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*ListKeyRingsResponse) ProtoMessage() {}
477
478func (x *ListKeyRingsResponse) ProtoReflect() protoreflect.Message {
479	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use ListKeyRingsResponse.ProtoReflect.Descriptor instead.
491func (*ListKeyRingsResponse) Descriptor() ([]byte, []int) {
492	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{4}
493}
494
495func (x *ListKeyRingsResponse) GetKeyRings() []*KeyRing {
496	if x != nil {
497		return x.KeyRings
498	}
499	return nil
500}
501
502func (x *ListKeyRingsResponse) GetNextPageToken() string {
503	if x != nil {
504		return x.NextPageToken
505	}
506	return ""
507}
508
509func (x *ListKeyRingsResponse) GetTotalSize() int32 {
510	if x != nil {
511		return x.TotalSize
512	}
513	return 0
514}
515
516// Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
517type ListCryptoKeysResponse struct {
518	state         protoimpl.MessageState
519	sizeCache     protoimpl.SizeCache
520	unknownFields protoimpl.UnknownFields
521
522	// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
523	CryptoKeys []*CryptoKey `protobuf:"bytes,1,rep,name=crypto_keys,json=cryptoKeys,proto3" json:"crypto_keys,omitempty"`
524	// A token to retrieve next page of results. Pass this value in
525	// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token] to retrieve 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	// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that matched the query.
528	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
529}
530
531func (x *ListCryptoKeysResponse) Reset() {
532	*x = ListCryptoKeysResponse{}
533	if protoimpl.UnsafeEnabled {
534		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
536		ms.StoreMessageInfo(mi)
537	}
538}
539
540func (x *ListCryptoKeysResponse) String() string {
541	return protoimpl.X.MessageStringOf(x)
542}
543
544func (*ListCryptoKeysResponse) ProtoMessage() {}
545
546func (x *ListCryptoKeysResponse) ProtoReflect() protoreflect.Message {
547	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
548	if protoimpl.UnsafeEnabled && x != nil {
549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
550		if ms.LoadMessageInfo() == nil {
551			ms.StoreMessageInfo(mi)
552		}
553		return ms
554	}
555	return mi.MessageOf(x)
556}
557
558// Deprecated: Use ListCryptoKeysResponse.ProtoReflect.Descriptor instead.
559func (*ListCryptoKeysResponse) Descriptor() ([]byte, []int) {
560	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{5}
561}
562
563func (x *ListCryptoKeysResponse) GetCryptoKeys() []*CryptoKey {
564	if x != nil {
565		return x.CryptoKeys
566	}
567	return nil
568}
569
570func (x *ListCryptoKeysResponse) GetNextPageToken() string {
571	if x != nil {
572		return x.NextPageToken
573	}
574	return ""
575}
576
577func (x *ListCryptoKeysResponse) GetTotalSize() int32 {
578	if x != nil {
579		return x.TotalSize
580	}
581	return 0
582}
583
584// Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
585type ListCryptoKeyVersionsResponse struct {
586	state         protoimpl.MessageState
587	sizeCache     protoimpl.SizeCache
588	unknownFields protoimpl.UnknownFields
589
590	// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
591	CryptoKeyVersions []*CryptoKeyVersion `protobuf:"bytes,1,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
592	// A token to retrieve next page of results. Pass this value in
593	// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token] to retrieve the next page of
594	// results.
595	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
596	// The total number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
597	// query.
598	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
599}
600
601func (x *ListCryptoKeyVersionsResponse) Reset() {
602	*x = ListCryptoKeyVersionsResponse{}
603	if protoimpl.UnsafeEnabled {
604		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		ms.StoreMessageInfo(mi)
607	}
608}
609
610func (x *ListCryptoKeyVersionsResponse) String() string {
611	return protoimpl.X.MessageStringOf(x)
612}
613
614func (*ListCryptoKeyVersionsResponse) ProtoMessage() {}
615
616func (x *ListCryptoKeyVersionsResponse) ProtoReflect() protoreflect.Message {
617	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
618	if protoimpl.UnsafeEnabled && x != nil {
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		if ms.LoadMessageInfo() == nil {
621			ms.StoreMessageInfo(mi)
622		}
623		return ms
624	}
625	return mi.MessageOf(x)
626}
627
628// Deprecated: Use ListCryptoKeyVersionsResponse.ProtoReflect.Descriptor instead.
629func (*ListCryptoKeyVersionsResponse) Descriptor() ([]byte, []int) {
630	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{6}
631}
632
633func (x *ListCryptoKeyVersionsResponse) GetCryptoKeyVersions() []*CryptoKeyVersion {
634	if x != nil {
635		return x.CryptoKeyVersions
636	}
637	return nil
638}
639
640func (x *ListCryptoKeyVersionsResponse) GetNextPageToken() string {
641	if x != nil {
642		return x.NextPageToken
643	}
644	return ""
645}
646
647func (x *ListCryptoKeyVersionsResponse) GetTotalSize() int32 {
648	if x != nil {
649		return x.TotalSize
650	}
651	return 0
652}
653
654// Response message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
655type ListImportJobsResponse struct {
656	state         protoimpl.MessageState
657	sizeCache     protoimpl.SizeCache
658	unknownFields protoimpl.UnknownFields
659
660	// The list of [ImportJobs][google.cloud.kms.v1.ImportJob].
661	ImportJobs []*ImportJob `protobuf:"bytes,1,rep,name=import_jobs,json=importJobs,proto3" json:"import_jobs,omitempty"`
662	// A token to retrieve next page of results. Pass this value in
663	// [ListImportJobsRequest.page_token][google.cloud.kms.v1.ListImportJobsRequest.page_token] to retrieve the next page of results.
664	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
665	// The total number of [ImportJobs][google.cloud.kms.v1.ImportJob] that matched the query.
666	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
667}
668
669func (x *ListImportJobsResponse) Reset() {
670	*x = ListImportJobsResponse{}
671	if protoimpl.UnsafeEnabled {
672		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		ms.StoreMessageInfo(mi)
675	}
676}
677
678func (x *ListImportJobsResponse) String() string {
679	return protoimpl.X.MessageStringOf(x)
680}
681
682func (*ListImportJobsResponse) ProtoMessage() {}
683
684func (x *ListImportJobsResponse) ProtoReflect() protoreflect.Message {
685	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
686	if protoimpl.UnsafeEnabled && x != nil {
687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
688		if ms.LoadMessageInfo() == nil {
689			ms.StoreMessageInfo(mi)
690		}
691		return ms
692	}
693	return mi.MessageOf(x)
694}
695
696// Deprecated: Use ListImportJobsResponse.ProtoReflect.Descriptor instead.
697func (*ListImportJobsResponse) Descriptor() ([]byte, []int) {
698	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{7}
699}
700
701func (x *ListImportJobsResponse) GetImportJobs() []*ImportJob {
702	if x != nil {
703		return x.ImportJobs
704	}
705	return nil
706}
707
708func (x *ListImportJobsResponse) GetNextPageToken() string {
709	if x != nil {
710		return x.NextPageToken
711	}
712	return ""
713}
714
715func (x *ListImportJobsResponse) GetTotalSize() int32 {
716	if x != nil {
717		return x.TotalSize
718	}
719	return 0
720}
721
722// Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
723type GetKeyRingRequest struct {
724	state         protoimpl.MessageState
725	sizeCache     protoimpl.SizeCache
726	unknownFields protoimpl.UnknownFields
727
728	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] to get.
729	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
730}
731
732func (x *GetKeyRingRequest) Reset() {
733	*x = GetKeyRingRequest{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *GetKeyRingRequest) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*GetKeyRingRequest) ProtoMessage() {}
746
747func (x *GetKeyRingRequest) ProtoReflect() protoreflect.Message {
748	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use GetKeyRingRequest.ProtoReflect.Descriptor instead.
760func (*GetKeyRingRequest) Descriptor() ([]byte, []int) {
761	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{8}
762}
763
764func (x *GetKeyRingRequest) GetName() string {
765	if x != nil {
766		return x.Name
767	}
768	return ""
769}
770
771// Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
772type GetCryptoKeyRequest struct {
773	state         protoimpl.MessageState
774	sizeCache     protoimpl.SizeCache
775	unknownFields protoimpl.UnknownFields
776
777	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
778	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
779}
780
781func (x *GetCryptoKeyRequest) Reset() {
782	*x = GetCryptoKeyRequest{}
783	if protoimpl.UnsafeEnabled {
784		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
785		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
786		ms.StoreMessageInfo(mi)
787	}
788}
789
790func (x *GetCryptoKeyRequest) String() string {
791	return protoimpl.X.MessageStringOf(x)
792}
793
794func (*GetCryptoKeyRequest) ProtoMessage() {}
795
796func (x *GetCryptoKeyRequest) ProtoReflect() protoreflect.Message {
797	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
798	if protoimpl.UnsafeEnabled && x != nil {
799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800		if ms.LoadMessageInfo() == nil {
801			ms.StoreMessageInfo(mi)
802		}
803		return ms
804	}
805	return mi.MessageOf(x)
806}
807
808// Deprecated: Use GetCryptoKeyRequest.ProtoReflect.Descriptor instead.
809func (*GetCryptoKeyRequest) Descriptor() ([]byte, []int) {
810	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{9}
811}
812
813func (x *GetCryptoKeyRequest) GetName() string {
814	if x != nil {
815		return x.Name
816	}
817	return ""
818}
819
820// Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
821type GetCryptoKeyVersionRequest struct {
822	state         protoimpl.MessageState
823	sizeCache     protoimpl.SizeCache
824	unknownFields protoimpl.UnknownFields
825
826	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
827	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
828}
829
830func (x *GetCryptoKeyVersionRequest) Reset() {
831	*x = GetCryptoKeyVersionRequest{}
832	if protoimpl.UnsafeEnabled {
833		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
835		ms.StoreMessageInfo(mi)
836	}
837}
838
839func (x *GetCryptoKeyVersionRequest) String() string {
840	return protoimpl.X.MessageStringOf(x)
841}
842
843func (*GetCryptoKeyVersionRequest) ProtoMessage() {}
844
845func (x *GetCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
846	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
847	if protoimpl.UnsafeEnabled && x != nil {
848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
849		if ms.LoadMessageInfo() == nil {
850			ms.StoreMessageInfo(mi)
851		}
852		return ms
853	}
854	return mi.MessageOf(x)
855}
856
857// Deprecated: Use GetCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
858func (*GetCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
859	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{10}
860}
861
862func (x *GetCryptoKeyVersionRequest) GetName() string {
863	if x != nil {
864		return x.Name
865	}
866	return ""
867}
868
869// Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
870type GetPublicKeyRequest struct {
871	state         protoimpl.MessageState
872	sizeCache     protoimpl.SizeCache
873	unknownFields protoimpl.UnknownFields
874
875	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to
876	// get.
877	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
878}
879
880func (x *GetPublicKeyRequest) Reset() {
881	*x = GetPublicKeyRequest{}
882	if protoimpl.UnsafeEnabled {
883		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
885		ms.StoreMessageInfo(mi)
886	}
887}
888
889func (x *GetPublicKeyRequest) String() string {
890	return protoimpl.X.MessageStringOf(x)
891}
892
893func (*GetPublicKeyRequest) ProtoMessage() {}
894
895func (x *GetPublicKeyRequest) ProtoReflect() protoreflect.Message {
896	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
897	if protoimpl.UnsafeEnabled && x != nil {
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		if ms.LoadMessageInfo() == nil {
900			ms.StoreMessageInfo(mi)
901		}
902		return ms
903	}
904	return mi.MessageOf(x)
905}
906
907// Deprecated: Use GetPublicKeyRequest.ProtoReflect.Descriptor instead.
908func (*GetPublicKeyRequest) Descriptor() ([]byte, []int) {
909	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *GetPublicKeyRequest) GetName() string {
913	if x != nil {
914		return x.Name
915	}
916	return ""
917}
918
919// Request message for [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob].
920type GetImportJobRequest struct {
921	state         protoimpl.MessageState
922	sizeCache     protoimpl.SizeCache
923	unknownFields protoimpl.UnknownFields
924
925	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] to get.
926	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
927}
928
929func (x *GetImportJobRequest) Reset() {
930	*x = GetImportJobRequest{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *GetImportJobRequest) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*GetImportJobRequest) ProtoMessage() {}
943
944func (x *GetImportJobRequest) ProtoReflect() protoreflect.Message {
945	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use GetImportJobRequest.ProtoReflect.Descriptor instead.
957func (*GetImportJobRequest) Descriptor() ([]byte, []int) {
958	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{12}
959}
960
961func (x *GetImportJobRequest) GetName() string {
962	if x != nil {
963		return x.Name
964	}
965	return ""
966}
967
968// Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
969type CreateKeyRingRequest struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Required. The resource name of the location associated with the
975	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
976	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
977	// Required. It must be unique within a location and match the regular
978	// expression `[a-zA-Z0-9_-]{1,63}`
979	KeyRingId string `protobuf:"bytes,2,opt,name=key_ring_id,json=keyRingId,proto3" json:"key_ring_id,omitempty"`
980	// Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
981	KeyRing *KeyRing `protobuf:"bytes,3,opt,name=key_ring,json=keyRing,proto3" json:"key_ring,omitempty"`
982}
983
984func (x *CreateKeyRingRequest) Reset() {
985	*x = CreateKeyRingRequest{}
986	if protoimpl.UnsafeEnabled {
987		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
989		ms.StoreMessageInfo(mi)
990	}
991}
992
993func (x *CreateKeyRingRequest) String() string {
994	return protoimpl.X.MessageStringOf(x)
995}
996
997func (*CreateKeyRingRequest) ProtoMessage() {}
998
999func (x *CreateKeyRingRequest) ProtoReflect() protoreflect.Message {
1000	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
1001	if protoimpl.UnsafeEnabled && x != nil {
1002		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1003		if ms.LoadMessageInfo() == nil {
1004			ms.StoreMessageInfo(mi)
1005		}
1006		return ms
1007	}
1008	return mi.MessageOf(x)
1009}
1010
1011// Deprecated: Use CreateKeyRingRequest.ProtoReflect.Descriptor instead.
1012func (*CreateKeyRingRequest) Descriptor() ([]byte, []int) {
1013	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{13}
1014}
1015
1016func (x *CreateKeyRingRequest) GetParent() string {
1017	if x != nil {
1018		return x.Parent
1019	}
1020	return ""
1021}
1022
1023func (x *CreateKeyRingRequest) GetKeyRingId() string {
1024	if x != nil {
1025		return x.KeyRingId
1026	}
1027	return ""
1028}
1029
1030func (x *CreateKeyRingRequest) GetKeyRing() *KeyRing {
1031	if x != nil {
1032		return x.KeyRing
1033	}
1034	return nil
1035}
1036
1037// Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
1038type CreateCryptoKeyRequest struct {
1039	state         protoimpl.MessageState
1040	sizeCache     protoimpl.SizeCache
1041	unknownFields protoimpl.UnknownFields
1042
1043	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated with the
1044	// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
1045	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1046	// Required. It must be unique within a KeyRing and match the regular
1047	// expression `[a-zA-Z0-9_-]{1,63}`
1048	CryptoKeyId string `protobuf:"bytes,2,opt,name=crypto_key_id,json=cryptoKeyId,proto3" json:"crypto_key_id,omitempty"`
1049	// Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field values.
1050	CryptoKey *CryptoKey `protobuf:"bytes,3,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1051	// If set to true, the request will create a [CryptoKey][google.cloud.kms.v1.CryptoKey] without any
1052	// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. You must manually call
1053	// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
1054	// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]
1055	// before you can use this [CryptoKey][google.cloud.kms.v1.CryptoKey].
1056	SkipInitialVersionCreation bool `protobuf:"varint,5,opt,name=skip_initial_version_creation,json=skipInitialVersionCreation,proto3" json:"skip_initial_version_creation,omitempty"`
1057}
1058
1059func (x *CreateCryptoKeyRequest) Reset() {
1060	*x = CreateCryptoKeyRequest{}
1061	if protoimpl.UnsafeEnabled {
1062		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064		ms.StoreMessageInfo(mi)
1065	}
1066}
1067
1068func (x *CreateCryptoKeyRequest) String() string {
1069	return protoimpl.X.MessageStringOf(x)
1070}
1071
1072func (*CreateCryptoKeyRequest) ProtoMessage() {}
1073
1074func (x *CreateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1075	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1076	if protoimpl.UnsafeEnabled && x != nil {
1077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078		if ms.LoadMessageInfo() == nil {
1079			ms.StoreMessageInfo(mi)
1080		}
1081		return ms
1082	}
1083	return mi.MessageOf(x)
1084}
1085
1086// Deprecated: Use CreateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1087func (*CreateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1088	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{14}
1089}
1090
1091func (x *CreateCryptoKeyRequest) GetParent() string {
1092	if x != nil {
1093		return x.Parent
1094	}
1095	return ""
1096}
1097
1098func (x *CreateCryptoKeyRequest) GetCryptoKeyId() string {
1099	if x != nil {
1100		return x.CryptoKeyId
1101	}
1102	return ""
1103}
1104
1105func (x *CreateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1106	if x != nil {
1107		return x.CryptoKey
1108	}
1109	return nil
1110}
1111
1112func (x *CreateCryptoKeyRequest) GetSkipInitialVersionCreation() bool {
1113	if x != nil {
1114		return x.SkipInitialVersionCreation
1115	}
1116	return false
1117}
1118
1119// Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
1120type CreateCryptoKeyVersionRequest struct {
1121	state         protoimpl.MessageState
1122	sizeCache     protoimpl.SizeCache
1123	unknownFields protoimpl.UnknownFields
1124
1125	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with
1126	// the [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
1127	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1128	// Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial field values.
1129	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,2,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1130}
1131
1132func (x *CreateCryptoKeyVersionRequest) Reset() {
1133	*x = CreateCryptoKeyVersionRequest{}
1134	if protoimpl.UnsafeEnabled {
1135		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1137		ms.StoreMessageInfo(mi)
1138	}
1139}
1140
1141func (x *CreateCryptoKeyVersionRequest) String() string {
1142	return protoimpl.X.MessageStringOf(x)
1143}
1144
1145func (*CreateCryptoKeyVersionRequest) ProtoMessage() {}
1146
1147func (x *CreateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1148	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1149	if protoimpl.UnsafeEnabled && x != nil {
1150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1151		if ms.LoadMessageInfo() == nil {
1152			ms.StoreMessageInfo(mi)
1153		}
1154		return ms
1155	}
1156	return mi.MessageOf(x)
1157}
1158
1159// Deprecated: Use CreateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1160func (*CreateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1161	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{15}
1162}
1163
1164func (x *CreateCryptoKeyVersionRequest) GetParent() string {
1165	if x != nil {
1166		return x.Parent
1167	}
1168	return ""
1169}
1170
1171func (x *CreateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1172	if x != nil {
1173		return x.CryptoKeyVersion
1174	}
1175	return nil
1176}
1177
1178// Request message for [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
1179type ImportCryptoKeyVersionRequest struct {
1180	state         protoimpl.MessageState
1181	sizeCache     protoimpl.SizeCache
1182	unknownFields protoimpl.UnknownFields
1183
1184	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to be imported into.
1185	//
1186	// The create permission is only required on this key when creating a new
1187	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
1188	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1189	// Optional. The optional [name][google.cloud.kms.v1.CryptoKeyVersion.name] of an existing
1190	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to target for an import operation.
1191	// If this field is not present, a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] containing the
1192	// supplied key material is created.
1193	//
1194	// If this field is present, the supplied key material is imported into
1195	// the existing [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. To import into an existing
1196	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] must be a child of
1197	// [ImportCryptoKeyVersionRequest.parent][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.parent], have been previously created via
1198	// [ImportCryptoKeyVersion][], and be in
1199	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED] or
1200	// [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]
1201	// state. The key material and algorithm must match the previous
1202	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] exactly if the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] has ever contained
1203	// key material.
1204	CryptoKeyVersion string `protobuf:"bytes,6,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1205	// Required. The [algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] of
1206	// the key being imported. This does not need to match the
1207	// [version_template][google.cloud.kms.v1.CryptoKey.version_template] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] this
1208	// version imports into.
1209	Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
1210	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] that was used to
1211	// wrap this key material.
1212	ImportJob string `protobuf:"bytes,4,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1213	// Required. The incoming wrapped key material that is to be imported.
1214	//
1215	// Types that are assignable to WrappedKeyMaterial:
1216	//	*ImportCryptoKeyVersionRequest_RsaAesWrappedKey
1217	WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"`
1218}
1219
1220func (x *ImportCryptoKeyVersionRequest) Reset() {
1221	*x = ImportCryptoKeyVersionRequest{}
1222	if protoimpl.UnsafeEnabled {
1223		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1225		ms.StoreMessageInfo(mi)
1226	}
1227}
1228
1229func (x *ImportCryptoKeyVersionRequest) String() string {
1230	return protoimpl.X.MessageStringOf(x)
1231}
1232
1233func (*ImportCryptoKeyVersionRequest) ProtoMessage() {}
1234
1235func (x *ImportCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1236	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1237	if protoimpl.UnsafeEnabled && x != nil {
1238		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1239		if ms.LoadMessageInfo() == nil {
1240			ms.StoreMessageInfo(mi)
1241		}
1242		return ms
1243	}
1244	return mi.MessageOf(x)
1245}
1246
1247// Deprecated: Use ImportCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1248func (*ImportCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1249	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{16}
1250}
1251
1252func (x *ImportCryptoKeyVersionRequest) GetParent() string {
1253	if x != nil {
1254		return x.Parent
1255	}
1256	return ""
1257}
1258
1259func (x *ImportCryptoKeyVersionRequest) GetCryptoKeyVersion() string {
1260	if x != nil {
1261		return x.CryptoKeyVersion
1262	}
1263	return ""
1264}
1265
1266func (x *ImportCryptoKeyVersionRequest) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm {
1267	if x != nil {
1268		return x.Algorithm
1269	}
1270	return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
1271}
1272
1273func (x *ImportCryptoKeyVersionRequest) GetImportJob() string {
1274	if x != nil {
1275		return x.ImportJob
1276	}
1277	return ""
1278}
1279
1280func (m *ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial() isImportCryptoKeyVersionRequest_WrappedKeyMaterial {
1281	if m != nil {
1282		return m.WrappedKeyMaterial
1283	}
1284	return nil
1285}
1286
1287func (x *ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey() []byte {
1288	if x, ok := x.GetWrappedKeyMaterial().(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey); ok {
1289		return x.RsaAesWrappedKey
1290	}
1291	return nil
1292}
1293
1294type isImportCryptoKeyVersionRequest_WrappedKeyMaterial interface {
1295	isImportCryptoKeyVersionRequest_WrappedKeyMaterial()
1296}
1297
1298type ImportCryptoKeyVersionRequest_RsaAesWrappedKey struct {
1299	// Wrapped key material produced with
1300	// [RSA_OAEP_3072_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256]
1301	// or
1302	// [RSA_OAEP_4096_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA1_AES_256].
1303	//
1304	// This field contains the concatenation of two wrapped keys:
1305	// <ol>
1306	//   <li>An ephemeral AES-256 wrapping key wrapped with the
1307	//       [public_key][google.cloud.kms.v1.ImportJob.public_key] using RSAES-OAEP with SHA-1,
1308	//       MGF1 with SHA-1, and an empty label.
1309	//   </li>
1310	//   <li>The key to be imported, wrapped with the ephemeral AES-256 key
1311	//       using AES-KWP (RFC 5649).
1312	//   </li>
1313	// </ol>
1314	//
1315	// If importing symmetric key material, it is expected that the unwrapped
1316	// key contains plain bytes. If importing asymmetric key material, it is
1317	// expected that the unwrapped key is in PKCS#8-encoded DER format (the
1318	// PrivateKeyInfo structure from RFC 5208).
1319	//
1320	// This format is the same as the format produced by PKCS#11 mechanism
1321	// CKM_RSA_AES_KEY_WRAP.
1322	RsaAesWrappedKey []byte `protobuf:"bytes,5,opt,name=rsa_aes_wrapped_key,json=rsaAesWrappedKey,proto3,oneof"`
1323}
1324
1325func (*ImportCryptoKeyVersionRequest_RsaAesWrappedKey) isImportCryptoKeyVersionRequest_WrappedKeyMaterial() {
1326}
1327
1328// Request message for [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob].
1329type CreateImportJobRequest struct {
1330	state         protoimpl.MessageState
1331	sizeCache     protoimpl.SizeCache
1332	unknownFields protoimpl.UnknownFields
1333
1334	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
1335	// [ImportJobs][google.cloud.kms.v1.ImportJob].
1336	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1337	// Required. It must be unique within a KeyRing and match the regular
1338	// expression `[a-zA-Z0-9_-]{1,63}`
1339	ImportJobId string `protobuf:"bytes,2,opt,name=import_job_id,json=importJobId,proto3" json:"import_job_id,omitempty"`
1340	// Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field values.
1341	ImportJob *ImportJob `protobuf:"bytes,3,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1342}
1343
1344func (x *CreateImportJobRequest) Reset() {
1345	*x = CreateImportJobRequest{}
1346	if protoimpl.UnsafeEnabled {
1347		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1348		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1349		ms.StoreMessageInfo(mi)
1350	}
1351}
1352
1353func (x *CreateImportJobRequest) String() string {
1354	return protoimpl.X.MessageStringOf(x)
1355}
1356
1357func (*CreateImportJobRequest) ProtoMessage() {}
1358
1359func (x *CreateImportJobRequest) ProtoReflect() protoreflect.Message {
1360	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1361	if protoimpl.UnsafeEnabled && x != nil {
1362		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1363		if ms.LoadMessageInfo() == nil {
1364			ms.StoreMessageInfo(mi)
1365		}
1366		return ms
1367	}
1368	return mi.MessageOf(x)
1369}
1370
1371// Deprecated: Use CreateImportJobRequest.ProtoReflect.Descriptor instead.
1372func (*CreateImportJobRequest) Descriptor() ([]byte, []int) {
1373	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{17}
1374}
1375
1376func (x *CreateImportJobRequest) GetParent() string {
1377	if x != nil {
1378		return x.Parent
1379	}
1380	return ""
1381}
1382
1383func (x *CreateImportJobRequest) GetImportJobId() string {
1384	if x != nil {
1385		return x.ImportJobId
1386	}
1387	return ""
1388}
1389
1390func (x *CreateImportJobRequest) GetImportJob() *ImportJob {
1391	if x != nil {
1392		return x.ImportJob
1393	}
1394	return nil
1395}
1396
1397// Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
1398type UpdateCryptoKeyRequest struct {
1399	state         protoimpl.MessageState
1400	sizeCache     protoimpl.SizeCache
1401	unknownFields protoimpl.UnknownFields
1402
1403	// Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
1404	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1405	// Required. List of fields to be updated in this request.
1406	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1407}
1408
1409func (x *UpdateCryptoKeyRequest) Reset() {
1410	*x = UpdateCryptoKeyRequest{}
1411	if protoimpl.UnsafeEnabled {
1412		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1413		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1414		ms.StoreMessageInfo(mi)
1415	}
1416}
1417
1418func (x *UpdateCryptoKeyRequest) String() string {
1419	return protoimpl.X.MessageStringOf(x)
1420}
1421
1422func (*UpdateCryptoKeyRequest) ProtoMessage() {}
1423
1424func (x *UpdateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1425	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1426	if protoimpl.UnsafeEnabled && x != nil {
1427		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1428		if ms.LoadMessageInfo() == nil {
1429			ms.StoreMessageInfo(mi)
1430		}
1431		return ms
1432	}
1433	return mi.MessageOf(x)
1434}
1435
1436// Deprecated: Use UpdateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1437func (*UpdateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1438	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{18}
1439}
1440
1441func (x *UpdateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1442	if x != nil {
1443		return x.CryptoKey
1444	}
1445	return nil
1446}
1447
1448func (x *UpdateCryptoKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1449	if x != nil {
1450		return x.UpdateMask
1451	}
1452	return nil
1453}
1454
1455// Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
1456type UpdateCryptoKeyVersionRequest struct {
1457	state         protoimpl.MessageState
1458	sizeCache     protoimpl.SizeCache
1459	unknownFields protoimpl.UnknownFields
1460
1461	// Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values.
1462	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,1,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1463	// Required. List of fields to be updated in this request.
1464	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1465}
1466
1467func (x *UpdateCryptoKeyVersionRequest) Reset() {
1468	*x = UpdateCryptoKeyVersionRequest{}
1469	if protoimpl.UnsafeEnabled {
1470		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1471		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1472		ms.StoreMessageInfo(mi)
1473	}
1474}
1475
1476func (x *UpdateCryptoKeyVersionRequest) String() string {
1477	return protoimpl.X.MessageStringOf(x)
1478}
1479
1480func (*UpdateCryptoKeyVersionRequest) ProtoMessage() {}
1481
1482func (x *UpdateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1483	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1484	if protoimpl.UnsafeEnabled && x != nil {
1485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1486		if ms.LoadMessageInfo() == nil {
1487			ms.StoreMessageInfo(mi)
1488		}
1489		return ms
1490	}
1491	return mi.MessageOf(x)
1492}
1493
1494// Deprecated: Use UpdateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1495func (*UpdateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1496	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{19}
1497}
1498
1499func (x *UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1500	if x != nil {
1501		return x.CryptoKeyVersion
1502	}
1503	return nil
1504}
1505
1506func (x *UpdateCryptoKeyVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1507	if x != nil {
1508		return x.UpdateMask
1509	}
1510	return nil
1511}
1512
1513// Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
1514type UpdateCryptoKeyPrimaryVersionRequest struct {
1515	state         protoimpl.MessageState
1516	sizeCache     protoimpl.SizeCache
1517	unknownFields protoimpl.UnknownFields
1518
1519	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
1520	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1521	// Required. The id of the child [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
1522	CryptoKeyVersionId string `protobuf:"bytes,2,opt,name=crypto_key_version_id,json=cryptoKeyVersionId,proto3" json:"crypto_key_version_id,omitempty"`
1523}
1524
1525func (x *UpdateCryptoKeyPrimaryVersionRequest) Reset() {
1526	*x = UpdateCryptoKeyPrimaryVersionRequest{}
1527	if protoimpl.UnsafeEnabled {
1528		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1529		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1530		ms.StoreMessageInfo(mi)
1531	}
1532}
1533
1534func (x *UpdateCryptoKeyPrimaryVersionRequest) String() string {
1535	return protoimpl.X.MessageStringOf(x)
1536}
1537
1538func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage() {}
1539
1540func (x *UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect() protoreflect.Message {
1541	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1542	if protoimpl.UnsafeEnabled && x != nil {
1543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1544		if ms.LoadMessageInfo() == nil {
1545			ms.StoreMessageInfo(mi)
1546		}
1547		return ms
1548	}
1549	return mi.MessageOf(x)
1550}
1551
1552// Deprecated: Use UpdateCryptoKeyPrimaryVersionRequest.ProtoReflect.Descriptor instead.
1553func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor() ([]byte, []int) {
1554	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{20}
1555}
1556
1557func (x *UpdateCryptoKeyPrimaryVersionRequest) GetName() string {
1558	if x != nil {
1559		return x.Name
1560	}
1561	return ""
1562}
1563
1564func (x *UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId() string {
1565	if x != nil {
1566		return x.CryptoKeyVersionId
1567	}
1568	return ""
1569}
1570
1571// Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
1572type DestroyCryptoKeyVersionRequest struct {
1573	state         protoimpl.MessageState
1574	sizeCache     protoimpl.SizeCache
1575	unknownFields protoimpl.UnknownFields
1576
1577	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
1578	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1579}
1580
1581func (x *DestroyCryptoKeyVersionRequest) Reset() {
1582	*x = DestroyCryptoKeyVersionRequest{}
1583	if protoimpl.UnsafeEnabled {
1584		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		ms.StoreMessageInfo(mi)
1587	}
1588}
1589
1590func (x *DestroyCryptoKeyVersionRequest) String() string {
1591	return protoimpl.X.MessageStringOf(x)
1592}
1593
1594func (*DestroyCryptoKeyVersionRequest) ProtoMessage() {}
1595
1596func (x *DestroyCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1597	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1598	if protoimpl.UnsafeEnabled && x != nil {
1599		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1600		if ms.LoadMessageInfo() == nil {
1601			ms.StoreMessageInfo(mi)
1602		}
1603		return ms
1604	}
1605	return mi.MessageOf(x)
1606}
1607
1608// Deprecated: Use DestroyCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1609func (*DestroyCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1610	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{21}
1611}
1612
1613func (x *DestroyCryptoKeyVersionRequest) GetName() string {
1614	if x != nil {
1615		return x.Name
1616	}
1617	return ""
1618}
1619
1620// Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
1621type RestoreCryptoKeyVersionRequest struct {
1622	state         protoimpl.MessageState
1623	sizeCache     protoimpl.SizeCache
1624	unknownFields protoimpl.UnknownFields
1625
1626	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
1627	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1628}
1629
1630func (x *RestoreCryptoKeyVersionRequest) Reset() {
1631	*x = RestoreCryptoKeyVersionRequest{}
1632	if protoimpl.UnsafeEnabled {
1633		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1635		ms.StoreMessageInfo(mi)
1636	}
1637}
1638
1639func (x *RestoreCryptoKeyVersionRequest) String() string {
1640	return protoimpl.X.MessageStringOf(x)
1641}
1642
1643func (*RestoreCryptoKeyVersionRequest) ProtoMessage() {}
1644
1645func (x *RestoreCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1646	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1647	if protoimpl.UnsafeEnabled && x != nil {
1648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1649		if ms.LoadMessageInfo() == nil {
1650			ms.StoreMessageInfo(mi)
1651		}
1652		return ms
1653	}
1654	return mi.MessageOf(x)
1655}
1656
1657// Deprecated: Use RestoreCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1658func (*RestoreCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1659	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{22}
1660}
1661
1662func (x *RestoreCryptoKeyVersionRequest) GetName() string {
1663	if x != nil {
1664		return x.Name
1665	}
1666	return ""
1667}
1668
1669// Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
1670type EncryptRequest struct {
1671	state         protoimpl.MessageState
1672	sizeCache     protoimpl.SizeCache
1673	unknownFields protoimpl.UnknownFields
1674
1675	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
1676	// to use for encryption.
1677	//
1678	// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its
1679	// [primary version][google.cloud.kms.v1.CryptoKey.primary].
1680	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1681	// Required. The data to encrypt. Must be no larger than 64KiB.
1682	//
1683	// The maximum size depends on the key version's
1684	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1685	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no larger
1686	// than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1687	// plaintext and additional_authenticated_data fields must be no larger than
1688	// 8KiB.
1689	Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
1690	// Optional. Optional data that, if specified, must also be provided during decryption
1691	// through [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
1692	//
1693	// The maximum size depends on the key version's
1694	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1695	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD must be no larger than
1696	// 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1697	// plaintext and additional_authenticated_data fields must be no larger than
1698	// 8KiB.
1699	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1700	// Optional. An optional CRC32C checksum of the [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. If
1701	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1702	// received [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext] using this checksum.
1703	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1704	// fails. If you receive a checksum error, your client should verify that
1705	// CRC32C([EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]) is equal to
1706	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c], and if so, perform a limited number of
1707	// retries. A persistent mismatch may indicate an issue in your computation of
1708	// the CRC32C checksum.
1709	// Note: This field is defined as int64 for reasons of compatibility across
1710	// different languages. However, it is a non-negative integer, which will
1711	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1712	// that support this type.
1713	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
1714	// Optional. An optional CRC32C checksum of the
1715	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. If specified,
1716	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1717	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data] using this checksum.
1718	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1719	// fails. If you receive a checksum error, your client should verify that
1720	// CRC32C([EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]) is equal to
1721	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c], and if so, perform
1722	// a limited number of retries. A persistent mismatch may indicate an issue in
1723	// your computation of the CRC32C checksum.
1724	// Note: This field is defined as int64 for reasons of compatibility across
1725	// different languages. However, it is a non-negative integer, which will
1726	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1727	// that support this type.
1728	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1729}
1730
1731func (x *EncryptRequest) Reset() {
1732	*x = EncryptRequest{}
1733	if protoimpl.UnsafeEnabled {
1734		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1735		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1736		ms.StoreMessageInfo(mi)
1737	}
1738}
1739
1740func (x *EncryptRequest) String() string {
1741	return protoimpl.X.MessageStringOf(x)
1742}
1743
1744func (*EncryptRequest) ProtoMessage() {}
1745
1746func (x *EncryptRequest) ProtoReflect() protoreflect.Message {
1747	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1748	if protoimpl.UnsafeEnabled && x != nil {
1749		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1750		if ms.LoadMessageInfo() == nil {
1751			ms.StoreMessageInfo(mi)
1752		}
1753		return ms
1754	}
1755	return mi.MessageOf(x)
1756}
1757
1758// Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead.
1759func (*EncryptRequest) Descriptor() ([]byte, []int) {
1760	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{23}
1761}
1762
1763func (x *EncryptRequest) GetName() string {
1764	if x != nil {
1765		return x.Name
1766	}
1767	return ""
1768}
1769
1770func (x *EncryptRequest) GetPlaintext() []byte {
1771	if x != nil {
1772		return x.Plaintext
1773	}
1774	return nil
1775}
1776
1777func (x *EncryptRequest) GetAdditionalAuthenticatedData() []byte {
1778	if x != nil {
1779		return x.AdditionalAuthenticatedData
1780	}
1781	return nil
1782}
1783
1784func (x *EncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Value {
1785	if x != nil {
1786		return x.PlaintextCrc32C
1787	}
1788	return nil
1789}
1790
1791func (x *EncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1792	if x != nil {
1793		return x.AdditionalAuthenticatedDataCrc32C
1794	}
1795	return nil
1796}
1797
1798// Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
1799type DecryptRequest struct {
1800	state         protoimpl.MessageState
1801	sizeCache     protoimpl.SizeCache
1802	unknownFields protoimpl.UnknownFields
1803
1804	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption.
1805	// The server will choose the appropriate version.
1806	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1807	// Required. The encrypted data originally returned in
1808	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
1809	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1810	// Optional. Optional data that must match the data originally supplied in
1811	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
1812	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1813	// Optional. An optional CRC32C checksum of the [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]. If
1814	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1815	// received [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext] using this checksum.
1816	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1817	// fails. If you receive a checksum error, your client should verify that
1818	// CRC32C([DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]) is equal to
1819	// [DecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c], and if so, perform a limited number
1820	// of retries. A persistent mismatch may indicate an issue in your computation
1821	// of the CRC32C checksum.
1822	// Note: This field is defined as int64 for reasons of compatibility across
1823	// different languages. However, it is a non-negative integer, which will
1824	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1825	// that support this type.
1826	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1827	// Optional. An optional CRC32C checksum of the
1828	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]. If specified,
1829	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1830	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data] using this checksum.
1831	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1832	// fails. If you receive a checksum error, your client should verify that
1833	// CRC32C([DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]) is equal to
1834	// [DecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c], and if so, perform
1835	// a limited number of retries. A persistent mismatch may indicate an issue in
1836	// your computation of the CRC32C checksum.
1837	// Note: This field is defined as int64 for reasons of compatibility across
1838	// different languages. However, it is a non-negative integer, which will
1839	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1840	// that support this type.
1841	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1842}
1843
1844func (x *DecryptRequest) Reset() {
1845	*x = DecryptRequest{}
1846	if protoimpl.UnsafeEnabled {
1847		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1849		ms.StoreMessageInfo(mi)
1850	}
1851}
1852
1853func (x *DecryptRequest) String() string {
1854	return protoimpl.X.MessageStringOf(x)
1855}
1856
1857func (*DecryptRequest) ProtoMessage() {}
1858
1859func (x *DecryptRequest) ProtoReflect() protoreflect.Message {
1860	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1861	if protoimpl.UnsafeEnabled && x != nil {
1862		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1863		if ms.LoadMessageInfo() == nil {
1864			ms.StoreMessageInfo(mi)
1865		}
1866		return ms
1867	}
1868	return mi.MessageOf(x)
1869}
1870
1871// Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead.
1872func (*DecryptRequest) Descriptor() ([]byte, []int) {
1873	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{24}
1874}
1875
1876func (x *DecryptRequest) GetName() string {
1877	if x != nil {
1878		return x.Name
1879	}
1880	return ""
1881}
1882
1883func (x *DecryptRequest) GetCiphertext() []byte {
1884	if x != nil {
1885		return x.Ciphertext
1886	}
1887	return nil
1888}
1889
1890func (x *DecryptRequest) GetAdditionalAuthenticatedData() []byte {
1891	if x != nil {
1892		return x.AdditionalAuthenticatedData
1893	}
1894	return nil
1895}
1896
1897func (x *DecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
1898	if x != nil {
1899		return x.CiphertextCrc32C
1900	}
1901	return nil
1902}
1903
1904func (x *DecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1905	if x != nil {
1906		return x.AdditionalAuthenticatedDataCrc32C
1907	}
1908	return nil
1909}
1910
1911// Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
1912type AsymmetricSignRequest struct {
1913	state         protoimpl.MessageState
1914	sizeCache     protoimpl.SizeCache
1915	unknownFields protoimpl.UnknownFields
1916
1917	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
1918	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1919	// Optional. The digest of the data to sign. The digest must be produced with
1920	// the same digest algorithm as specified by the key version's
1921	// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
1922	Digest *Digest `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
1923	// Optional. An optional CRC32C checksum of the [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. If
1924	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1925	// received [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest] using this checksum.
1926	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1927	// fails. If you receive a checksum error, your client should verify that
1928	// CRC32C([AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]) is equal to
1929	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c], and if so, perform a limited
1930	// number of retries. A persistent mismatch may indicate an issue in your
1931	// computation of the CRC32C checksum.
1932	// Note: This field is defined as int64 for reasons of compatibility across
1933	// different languages. However, it is a non-negative integer, which will
1934	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1935	// that support this type.
1936	DigestCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=digest_crc32c,json=digestCrc32c,proto3" json:"digest_crc32c,omitempty"`
1937	// Optional. This field will only be honored for RAW_PKCS1 keys.
1938	// The data to sign. A digest is computed over the data that will be signed,
1939	// PKCS #1 padding is applied to the digest directly and then encrypted.
1940	Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
1941	// Optional. An optional CRC32C checksum of the [AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data]. If
1942	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1943	// received [AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data] using this checksum.
1944	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1945	// fails. If you receive a checksum error, your client should verify that
1946	// CRC32C([AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data]) is equal to
1947	// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c], and if so, perform a limited
1948	// number of retries. A persistent mismatch may indicate an issue in your
1949	// computation of the CRC32C checksum.
1950	// Note: This field is defined as int64 for reasons of compatibility across
1951	// different languages. However, it is a non-negative integer, which will
1952	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1953	// that support this type.
1954	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
1955}
1956
1957func (x *AsymmetricSignRequest) Reset() {
1958	*x = AsymmetricSignRequest{}
1959	if protoimpl.UnsafeEnabled {
1960		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1962		ms.StoreMessageInfo(mi)
1963	}
1964}
1965
1966func (x *AsymmetricSignRequest) String() string {
1967	return protoimpl.X.MessageStringOf(x)
1968}
1969
1970func (*AsymmetricSignRequest) ProtoMessage() {}
1971
1972func (x *AsymmetricSignRequest) ProtoReflect() protoreflect.Message {
1973	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1974	if protoimpl.UnsafeEnabled && x != nil {
1975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1976		if ms.LoadMessageInfo() == nil {
1977			ms.StoreMessageInfo(mi)
1978		}
1979		return ms
1980	}
1981	return mi.MessageOf(x)
1982}
1983
1984// Deprecated: Use AsymmetricSignRequest.ProtoReflect.Descriptor instead.
1985func (*AsymmetricSignRequest) Descriptor() ([]byte, []int) {
1986	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{25}
1987}
1988
1989func (x *AsymmetricSignRequest) GetName() string {
1990	if x != nil {
1991		return x.Name
1992	}
1993	return ""
1994}
1995
1996func (x *AsymmetricSignRequest) GetDigest() *Digest {
1997	if x != nil {
1998		return x.Digest
1999	}
2000	return nil
2001}
2002
2003func (x *AsymmetricSignRequest) GetDigestCrc32C() *wrapperspb.Int64Value {
2004	if x != nil {
2005		return x.DigestCrc32C
2006	}
2007	return nil
2008}
2009
2010func (x *AsymmetricSignRequest) GetData() []byte {
2011	if x != nil {
2012		return x.Data
2013	}
2014	return nil
2015}
2016
2017func (x *AsymmetricSignRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2018	if x != nil {
2019		return x.DataCrc32C
2020	}
2021	return nil
2022}
2023
2024// Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
2025type AsymmetricDecryptRequest struct {
2026	state         protoimpl.MessageState
2027	sizeCache     protoimpl.SizeCache
2028	unknownFields protoimpl.UnknownFields
2029
2030	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
2031	// decryption.
2032	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2033	// Required. The data encrypted with the named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public
2034	// key using OAEP.
2035	Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
2036	// Optional. An optional CRC32C checksum of the [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext].
2037	// If specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2038	// received [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext] using this checksum.
2039	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2040	// fails. If you receive a checksum error, your client should verify that
2041	// CRC32C([AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]) is equal to
2042	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c], and if so, perform a
2043	// limited number of retries. A persistent mismatch may indicate an issue in
2044	// your computation of the CRC32C checksum.
2045	// Note: This field is defined as int64 for reasons of compatibility across
2046	// different languages. However, it is a non-negative integer, which will
2047	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2048	// that support this type.
2049	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2050}
2051
2052func (x *AsymmetricDecryptRequest) Reset() {
2053	*x = AsymmetricDecryptRequest{}
2054	if protoimpl.UnsafeEnabled {
2055		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2056		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2057		ms.StoreMessageInfo(mi)
2058	}
2059}
2060
2061func (x *AsymmetricDecryptRequest) String() string {
2062	return protoimpl.X.MessageStringOf(x)
2063}
2064
2065func (*AsymmetricDecryptRequest) ProtoMessage() {}
2066
2067func (x *AsymmetricDecryptRequest) ProtoReflect() protoreflect.Message {
2068	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2069	if protoimpl.UnsafeEnabled && x != nil {
2070		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2071		if ms.LoadMessageInfo() == nil {
2072			ms.StoreMessageInfo(mi)
2073		}
2074		return ms
2075	}
2076	return mi.MessageOf(x)
2077}
2078
2079// Deprecated: Use AsymmetricDecryptRequest.ProtoReflect.Descriptor instead.
2080func (*AsymmetricDecryptRequest) Descriptor() ([]byte, []int) {
2081	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{26}
2082}
2083
2084func (x *AsymmetricDecryptRequest) GetName() string {
2085	if x != nil {
2086		return x.Name
2087	}
2088	return ""
2089}
2090
2091func (x *AsymmetricDecryptRequest) GetCiphertext() []byte {
2092	if x != nil {
2093		return x.Ciphertext
2094	}
2095	return nil
2096}
2097
2098func (x *AsymmetricDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2099	if x != nil {
2100		return x.CiphertextCrc32C
2101	}
2102	return nil
2103}
2104
2105// Request message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2106type MacSignRequest struct {
2107	state         protoimpl.MessageState
2108	sizeCache     protoimpl.SizeCache
2109	unknownFields protoimpl.UnknownFields
2110
2111	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
2112	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2113	// Required. The data to sign. The MAC tag is computed over this data field based on
2114	// the specific algorithm.
2115	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2116	// Optional. An optional CRC32C checksum of the [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]. If
2117	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2118	// received [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] using this checksum.
2119	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2120	// fails. If you receive a checksum error, your client should verify that
2121	// CRC32C([MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]) is equal to
2122	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c], and if so, perform a limited
2123	// number of retries. A persistent mismatch may indicate an issue in your
2124	// computation of the CRC32C checksum.
2125	// Note: This field is defined as int64 for reasons of compatibility across
2126	// different languages. However, it is a non-negative integer, which will
2127	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2128	// that support this type.
2129	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2130}
2131
2132func (x *MacSignRequest) Reset() {
2133	*x = MacSignRequest{}
2134	if protoimpl.UnsafeEnabled {
2135		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2137		ms.StoreMessageInfo(mi)
2138	}
2139}
2140
2141func (x *MacSignRequest) String() string {
2142	return protoimpl.X.MessageStringOf(x)
2143}
2144
2145func (*MacSignRequest) ProtoMessage() {}
2146
2147func (x *MacSignRequest) ProtoReflect() protoreflect.Message {
2148	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2149	if protoimpl.UnsafeEnabled && x != nil {
2150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2151		if ms.LoadMessageInfo() == nil {
2152			ms.StoreMessageInfo(mi)
2153		}
2154		return ms
2155	}
2156	return mi.MessageOf(x)
2157}
2158
2159// Deprecated: Use MacSignRequest.ProtoReflect.Descriptor instead.
2160func (*MacSignRequest) Descriptor() ([]byte, []int) {
2161	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{27}
2162}
2163
2164func (x *MacSignRequest) GetName() string {
2165	if x != nil {
2166		return x.Name
2167	}
2168	return ""
2169}
2170
2171func (x *MacSignRequest) GetData() []byte {
2172	if x != nil {
2173		return x.Data
2174	}
2175	return nil
2176}
2177
2178func (x *MacSignRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2179	if x != nil {
2180		return x.DataCrc32C
2181	}
2182	return nil
2183}
2184
2185// Request message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2186type MacVerifyRequest struct {
2187	state         protoimpl.MessageState
2188	sizeCache     protoimpl.SizeCache
2189	unknownFields protoimpl.UnknownFields
2190
2191	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for verification.
2192	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2193	// Required. The data used previously as a [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] to generate the MAC
2194	// tag.
2195	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2196	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]. If
2197	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2198	// received [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] using this checksum.
2199	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2200	// fails. If you receive a checksum error, your client should verify that
2201	// CRC32C([MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]) is equal to
2202	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c], and if so, perform a limited
2203	// number of retries. A persistent mismatch may indicate an issue in your
2204	// computation of the CRC32C checksum.
2205	// Note: This field is defined as int64 for reasons of compatibility across
2206	// different languages. However, it is a non-negative integer, which will
2207	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2208	// that support this type.
2209	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2210	// Required. The signature to verify.
2211	Mac []byte `protobuf:"bytes,4,opt,name=mac,proto3" json:"mac,omitempty"`
2212	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac]. If
2213	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2214	// received [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] using this checksum.
2215	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2216	// fails. If you receive a checksum error, your client should verify that
2217	// CRC32C([MacVerifyRequest.tag][]) is equal to
2218	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c], and if so, perform a limited
2219	// number of retries. A persistent mismatch may indicate an issue in your
2220	// computation of the CRC32C checksum.
2221	// Note: This field is defined as int64 for reasons of compatibility across
2222	// different languages. However, it is a non-negative integer, which will
2223	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2224	// that support this type.
2225	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2226}
2227
2228func (x *MacVerifyRequest) Reset() {
2229	*x = MacVerifyRequest{}
2230	if protoimpl.UnsafeEnabled {
2231		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2232		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2233		ms.StoreMessageInfo(mi)
2234	}
2235}
2236
2237func (x *MacVerifyRequest) String() string {
2238	return protoimpl.X.MessageStringOf(x)
2239}
2240
2241func (*MacVerifyRequest) ProtoMessage() {}
2242
2243func (x *MacVerifyRequest) ProtoReflect() protoreflect.Message {
2244	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2245	if protoimpl.UnsafeEnabled && x != nil {
2246		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2247		if ms.LoadMessageInfo() == nil {
2248			ms.StoreMessageInfo(mi)
2249		}
2250		return ms
2251	}
2252	return mi.MessageOf(x)
2253}
2254
2255// Deprecated: Use MacVerifyRequest.ProtoReflect.Descriptor instead.
2256func (*MacVerifyRequest) Descriptor() ([]byte, []int) {
2257	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{28}
2258}
2259
2260func (x *MacVerifyRequest) GetName() string {
2261	if x != nil {
2262		return x.Name
2263	}
2264	return ""
2265}
2266
2267func (x *MacVerifyRequest) GetData() []byte {
2268	if x != nil {
2269		return x.Data
2270	}
2271	return nil
2272}
2273
2274func (x *MacVerifyRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2275	if x != nil {
2276		return x.DataCrc32C
2277	}
2278	return nil
2279}
2280
2281func (x *MacVerifyRequest) GetMac() []byte {
2282	if x != nil {
2283		return x.Mac
2284	}
2285	return nil
2286}
2287
2288func (x *MacVerifyRequest) GetMacCrc32C() *wrapperspb.Int64Value {
2289	if x != nil {
2290		return x.MacCrc32C
2291	}
2292	return nil
2293}
2294
2295// Request message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
2296type GenerateRandomBytesRequest struct {
2297	state         protoimpl.MessageState
2298	sizeCache     protoimpl.SizeCache
2299	unknownFields protoimpl.UnknownFields
2300
2301	// The project-specific location in which to generate random bytes.
2302	// For example, "projects/my-project/locations/us-central1".
2303	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
2304	// The length in bytes of the amount of randomness to retrieve.  Minimum 8
2305	// bytes, maximum 1024 bytes.
2306	LengthBytes int32 `protobuf:"varint,2,opt,name=length_bytes,json=lengthBytes,proto3" json:"length_bytes,omitempty"`
2307	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when generating the random data. Defaults to
2308	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
2309	ProtectionLevel ProtectionLevel `protobuf:"varint,3,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2310}
2311
2312func (x *GenerateRandomBytesRequest) Reset() {
2313	*x = GenerateRandomBytesRequest{}
2314	if protoimpl.UnsafeEnabled {
2315		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2316		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2317		ms.StoreMessageInfo(mi)
2318	}
2319}
2320
2321func (x *GenerateRandomBytesRequest) String() string {
2322	return protoimpl.X.MessageStringOf(x)
2323}
2324
2325func (*GenerateRandomBytesRequest) ProtoMessage() {}
2326
2327func (x *GenerateRandomBytesRequest) ProtoReflect() protoreflect.Message {
2328	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2329	if protoimpl.UnsafeEnabled && x != nil {
2330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2331		if ms.LoadMessageInfo() == nil {
2332			ms.StoreMessageInfo(mi)
2333		}
2334		return ms
2335	}
2336	return mi.MessageOf(x)
2337}
2338
2339// Deprecated: Use GenerateRandomBytesRequest.ProtoReflect.Descriptor instead.
2340func (*GenerateRandomBytesRequest) Descriptor() ([]byte, []int) {
2341	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{29}
2342}
2343
2344func (x *GenerateRandomBytesRequest) GetLocation() string {
2345	if x != nil {
2346		return x.Location
2347	}
2348	return ""
2349}
2350
2351func (x *GenerateRandomBytesRequest) GetLengthBytes() int32 {
2352	if x != nil {
2353		return x.LengthBytes
2354	}
2355	return 0
2356}
2357
2358func (x *GenerateRandomBytesRequest) GetProtectionLevel() ProtectionLevel {
2359	if x != nil {
2360		return x.ProtectionLevel
2361	}
2362	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2363}
2364
2365// Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
2366type EncryptResponse struct {
2367	state         protoimpl.MessageState
2368	sizeCache     protoimpl.SizeCache
2369	unknownFields protoimpl.UnknownFields
2370
2371	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption. Check
2372	// this field to verify that the intended resource was used for encryption.
2373	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2374	// The encrypted data.
2375	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
2376	// Integrity verification field. A CRC32C checksum of the returned
2377	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]. An integrity check of
2378	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] can be performed by computing the CRC32C
2379	// checksum of [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] and comparing your results to
2380	// this field. Discard the response in case of non-matching checksum values,
2381	// and perform a limited number of retries. A persistent mismatch may indicate
2382	// an issue in your computation of the CRC32C checksum.
2383	// Note: This field is defined as int64 for reasons of compatibility across
2384	// different languages. However, it is a non-negative integer, which will
2385	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2386	// that support this type.
2387	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2388	// Integrity verification field. A flag indicating whether
2389	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was received by
2390	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2391	// [plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. A false value of this field
2392	// indicates either that [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was left unset or
2393	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2394	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] but this field is still false, discard
2395	// the response and perform a limited number of retries.
2396	VerifiedPlaintextCrc32C bool `protobuf:"varint,5,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
2397	// Integrity verification field. A flag indicating whether
2398	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was received by
2399	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2400	// [AAD][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. A false value of this
2401	// field indicates either that
2402	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was left unset or
2403	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2404	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] but this field is
2405	// still false, discard the response and perform a limited number of retries.
2406	VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,6,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
2407	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption.
2408	ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2409}
2410
2411func (x *EncryptResponse) Reset() {
2412	*x = EncryptResponse{}
2413	if protoimpl.UnsafeEnabled {
2414		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2415		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2416		ms.StoreMessageInfo(mi)
2417	}
2418}
2419
2420func (x *EncryptResponse) String() string {
2421	return protoimpl.X.MessageStringOf(x)
2422}
2423
2424func (*EncryptResponse) ProtoMessage() {}
2425
2426func (x *EncryptResponse) ProtoReflect() protoreflect.Message {
2427	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2428	if protoimpl.UnsafeEnabled && x != nil {
2429		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2430		if ms.LoadMessageInfo() == nil {
2431			ms.StoreMessageInfo(mi)
2432		}
2433		return ms
2434	}
2435	return mi.MessageOf(x)
2436}
2437
2438// Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead.
2439func (*EncryptResponse) Descriptor() ([]byte, []int) {
2440	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{30}
2441}
2442
2443func (x *EncryptResponse) GetName() string {
2444	if x != nil {
2445		return x.Name
2446	}
2447	return ""
2448}
2449
2450func (x *EncryptResponse) GetCiphertext() []byte {
2451	if x != nil {
2452		return x.Ciphertext
2453	}
2454	return nil
2455}
2456
2457func (x *EncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2458	if x != nil {
2459		return x.CiphertextCrc32C
2460	}
2461	return nil
2462}
2463
2464func (x *EncryptResponse) GetVerifiedPlaintextCrc32C() bool {
2465	if x != nil {
2466		return x.VerifiedPlaintextCrc32C
2467	}
2468	return false
2469}
2470
2471func (x *EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() bool {
2472	if x != nil {
2473		return x.VerifiedAdditionalAuthenticatedDataCrc32C
2474	}
2475	return false
2476}
2477
2478func (x *EncryptResponse) GetProtectionLevel() ProtectionLevel {
2479	if x != nil {
2480		return x.ProtectionLevel
2481	}
2482	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2483}
2484
2485// Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
2486type DecryptResponse struct {
2487	state         protoimpl.MessageState
2488	sizeCache     protoimpl.SizeCache
2489	unknownFields protoimpl.UnknownFields
2490
2491	// The decrypted data originally supplied in [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
2492	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2493	// Integrity verification field. A CRC32C checksum of the returned
2494	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]. An integrity check of
2495	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] can be performed by computing the CRC32C
2496	// checksum of [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] and comparing your results to
2497	// this field. Discard the response in case of non-matching checksum values,
2498	// and perform a limited number of retries. A persistent mismatch may indicate
2499	// an issue in your computation of the CRC32C checksum. Note: receiving this
2500	// response message indicates that [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
2501	// successfully decrypt the [ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext].
2502	// Note: This field is defined as int64 for reasons of compatibility across
2503	// different languages. However, it is a non-negative integer, which will
2504	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2505	// that support this type.
2506	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2507	// Whether the Decryption was performed using the primary key version.
2508	UsedPrimary bool `protobuf:"varint,3,opt,name=used_primary,json=usedPrimary,proto3" json:"used_primary,omitempty"`
2509	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2510	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2511}
2512
2513func (x *DecryptResponse) Reset() {
2514	*x = DecryptResponse{}
2515	if protoimpl.UnsafeEnabled {
2516		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2517		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2518		ms.StoreMessageInfo(mi)
2519	}
2520}
2521
2522func (x *DecryptResponse) String() string {
2523	return protoimpl.X.MessageStringOf(x)
2524}
2525
2526func (*DecryptResponse) ProtoMessage() {}
2527
2528func (x *DecryptResponse) ProtoReflect() protoreflect.Message {
2529	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2530	if protoimpl.UnsafeEnabled && x != nil {
2531		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2532		if ms.LoadMessageInfo() == nil {
2533			ms.StoreMessageInfo(mi)
2534		}
2535		return ms
2536	}
2537	return mi.MessageOf(x)
2538}
2539
2540// Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead.
2541func (*DecryptResponse) Descriptor() ([]byte, []int) {
2542	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{31}
2543}
2544
2545func (x *DecryptResponse) GetPlaintext() []byte {
2546	if x != nil {
2547		return x.Plaintext
2548	}
2549	return nil
2550}
2551
2552func (x *DecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2553	if x != nil {
2554		return x.PlaintextCrc32C
2555	}
2556	return nil
2557}
2558
2559func (x *DecryptResponse) GetUsedPrimary() bool {
2560	if x != nil {
2561		return x.UsedPrimary
2562	}
2563	return false
2564}
2565
2566func (x *DecryptResponse) GetProtectionLevel() ProtectionLevel {
2567	if x != nil {
2568		return x.ProtectionLevel
2569	}
2570	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2571}
2572
2573// Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
2574type AsymmetricSignResponse struct {
2575	state         protoimpl.MessageState
2576	sizeCache     protoimpl.SizeCache
2577	unknownFields protoimpl.UnknownFields
2578
2579	// The created signature.
2580	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
2581	// Integrity verification field. A CRC32C checksum of the returned
2582	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]. An integrity check of
2583	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] can be performed by computing the
2584	// CRC32C checksum of [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] and comparing your
2585	// results to this field. Discard the response in case of non-matching
2586	// checksum values, and perform a limited number of retries. A persistent
2587	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2588	// Note: This field is defined as int64 for reasons of compatibility across
2589	// different languages. However, it is a non-negative integer, which will
2590	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2591	// that support this type.
2592	SignatureCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=signature_crc32c,json=signatureCrc32c,proto3" json:"signature_crc32c,omitempty"`
2593	// Integrity verification field. A flag indicating whether
2594	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was received by
2595	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2596	// [digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. A false value of this field
2597	// indicates either that [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was left
2598	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2599	// set [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] but this field is still false,
2600	// discard the response and perform a limited number of retries.
2601	VerifiedDigestCrc32C bool `protobuf:"varint,3,opt,name=verified_digest_crc32c,json=verifiedDigestCrc32c,proto3" json:"verified_digest_crc32c,omitempty"`
2602	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2603	// this field to verify that the intended resource was used for signing.
2604	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
2605	// Integrity verification field. A flag indicating whether
2606	// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c] was received by
2607	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2608	// [data][google.cloud.kms.v1.AsymmetricSignRequest.data]. A false value of this field
2609	// indicates either that [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c] was left
2610	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2611	// set [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c] but this field is still false,
2612	// discard the response and perform a limited number of retries.
2613	VerifiedDataCrc32C bool `protobuf:"varint,5,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2614	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2615	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2616}
2617
2618func (x *AsymmetricSignResponse) Reset() {
2619	*x = AsymmetricSignResponse{}
2620	if protoimpl.UnsafeEnabled {
2621		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2623		ms.StoreMessageInfo(mi)
2624	}
2625}
2626
2627func (x *AsymmetricSignResponse) String() string {
2628	return protoimpl.X.MessageStringOf(x)
2629}
2630
2631func (*AsymmetricSignResponse) ProtoMessage() {}
2632
2633func (x *AsymmetricSignResponse) ProtoReflect() protoreflect.Message {
2634	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2635	if protoimpl.UnsafeEnabled && x != nil {
2636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2637		if ms.LoadMessageInfo() == nil {
2638			ms.StoreMessageInfo(mi)
2639		}
2640		return ms
2641	}
2642	return mi.MessageOf(x)
2643}
2644
2645// Deprecated: Use AsymmetricSignResponse.ProtoReflect.Descriptor instead.
2646func (*AsymmetricSignResponse) Descriptor() ([]byte, []int) {
2647	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{32}
2648}
2649
2650func (x *AsymmetricSignResponse) GetSignature() []byte {
2651	if x != nil {
2652		return x.Signature
2653	}
2654	return nil
2655}
2656
2657func (x *AsymmetricSignResponse) GetSignatureCrc32C() *wrapperspb.Int64Value {
2658	if x != nil {
2659		return x.SignatureCrc32C
2660	}
2661	return nil
2662}
2663
2664func (x *AsymmetricSignResponse) GetVerifiedDigestCrc32C() bool {
2665	if x != nil {
2666		return x.VerifiedDigestCrc32C
2667	}
2668	return false
2669}
2670
2671func (x *AsymmetricSignResponse) GetName() string {
2672	if x != nil {
2673		return x.Name
2674	}
2675	return ""
2676}
2677
2678func (x *AsymmetricSignResponse) GetVerifiedDataCrc32C() bool {
2679	if x != nil {
2680		return x.VerifiedDataCrc32C
2681	}
2682	return false
2683}
2684
2685func (x *AsymmetricSignResponse) GetProtectionLevel() ProtectionLevel {
2686	if x != nil {
2687		return x.ProtectionLevel
2688	}
2689	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2690}
2691
2692// Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
2693type AsymmetricDecryptResponse struct {
2694	state         protoimpl.MessageState
2695	sizeCache     protoimpl.SizeCache
2696	unknownFields protoimpl.UnknownFields
2697
2698	// The decrypted data originally encrypted with the matching public key.
2699	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2700	// Integrity verification field. A CRC32C checksum of the returned
2701	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]. An integrity check of
2702	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] can be performed by computing the
2703	// CRC32C checksum of [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] and comparing
2704	// your results to this field. Discard the response in case of non-matching
2705	// checksum values, and perform a limited number of retries. A persistent
2706	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2707	// Note: This field is defined as int64 for reasons of compatibility across
2708	// different languages. However, it is a non-negative integer, which will
2709	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2710	// that support this type.
2711	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2712	// Integrity verification field. A flag indicating whether
2713	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] was received by
2714	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2715	// [ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]. A false value of this
2716	// field indicates either that [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
2717	// was left unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If
2718	// you've set [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] but this field is
2719	// still false, discard the response and perform a limited number of retries.
2720	VerifiedCiphertextCrc32C bool `protobuf:"varint,3,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
2721	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2722	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2723}
2724
2725func (x *AsymmetricDecryptResponse) Reset() {
2726	*x = AsymmetricDecryptResponse{}
2727	if protoimpl.UnsafeEnabled {
2728		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2729		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2730		ms.StoreMessageInfo(mi)
2731	}
2732}
2733
2734func (x *AsymmetricDecryptResponse) String() string {
2735	return protoimpl.X.MessageStringOf(x)
2736}
2737
2738func (*AsymmetricDecryptResponse) ProtoMessage() {}
2739
2740func (x *AsymmetricDecryptResponse) ProtoReflect() protoreflect.Message {
2741	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2742	if protoimpl.UnsafeEnabled && x != nil {
2743		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2744		if ms.LoadMessageInfo() == nil {
2745			ms.StoreMessageInfo(mi)
2746		}
2747		return ms
2748	}
2749	return mi.MessageOf(x)
2750}
2751
2752// Deprecated: Use AsymmetricDecryptResponse.ProtoReflect.Descriptor instead.
2753func (*AsymmetricDecryptResponse) Descriptor() ([]byte, []int) {
2754	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{33}
2755}
2756
2757func (x *AsymmetricDecryptResponse) GetPlaintext() []byte {
2758	if x != nil {
2759		return x.Plaintext
2760	}
2761	return nil
2762}
2763
2764func (x *AsymmetricDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2765	if x != nil {
2766		return x.PlaintextCrc32C
2767	}
2768	return nil
2769}
2770
2771func (x *AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C() bool {
2772	if x != nil {
2773		return x.VerifiedCiphertextCrc32C
2774	}
2775	return false
2776}
2777
2778func (x *AsymmetricDecryptResponse) GetProtectionLevel() ProtectionLevel {
2779	if x != nil {
2780		return x.ProtectionLevel
2781	}
2782	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2783}
2784
2785// Response message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2786type MacSignResponse struct {
2787	state         protoimpl.MessageState
2788	sizeCache     protoimpl.SizeCache
2789	unknownFields protoimpl.UnknownFields
2790
2791	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2792	// this field to verify that the intended resource was used for signing.
2793	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2794	// The created signature.
2795	Mac []byte `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
2796	// Integrity verification field. A CRC32C checksum of the returned
2797	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac]. An integrity check of
2798	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] can be performed by computing the
2799	// CRC32C checksum of [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] and comparing your
2800	// results to this field. Discard the response in case of non-matching
2801	// checksum values, and perform a limited number of retries. A persistent
2802	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2803	// Note: This field is defined as int64 for reasons of compatibility across
2804	// different languages. However, it is a non-negative integer, which will
2805	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2806	// that support this type.
2807	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2808	// Integrity verification field. A flag indicating whether
2809	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was received by
2810	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2811	// [data][google.cloud.kms.v1.MacSignRequest.data]. A false value of this field
2812	// indicates either that [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was left
2813	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2814	// set [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] but this field is still false,
2815	// discard the response and perform a limited number of retries.
2816	VerifiedDataCrc32C bool `protobuf:"varint,4,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2817	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2818	ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2819}
2820
2821func (x *MacSignResponse) Reset() {
2822	*x = MacSignResponse{}
2823	if protoimpl.UnsafeEnabled {
2824		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2825		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2826		ms.StoreMessageInfo(mi)
2827	}
2828}
2829
2830func (x *MacSignResponse) String() string {
2831	return protoimpl.X.MessageStringOf(x)
2832}
2833
2834func (*MacSignResponse) ProtoMessage() {}
2835
2836func (x *MacSignResponse) ProtoReflect() protoreflect.Message {
2837	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2838	if protoimpl.UnsafeEnabled && x != nil {
2839		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2840		if ms.LoadMessageInfo() == nil {
2841			ms.StoreMessageInfo(mi)
2842		}
2843		return ms
2844	}
2845	return mi.MessageOf(x)
2846}
2847
2848// Deprecated: Use MacSignResponse.ProtoReflect.Descriptor instead.
2849func (*MacSignResponse) Descriptor() ([]byte, []int) {
2850	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{34}
2851}
2852
2853func (x *MacSignResponse) GetName() string {
2854	if x != nil {
2855		return x.Name
2856	}
2857	return ""
2858}
2859
2860func (x *MacSignResponse) GetMac() []byte {
2861	if x != nil {
2862		return x.Mac
2863	}
2864	return nil
2865}
2866
2867func (x *MacSignResponse) GetMacCrc32C() *wrapperspb.Int64Value {
2868	if x != nil {
2869		return x.MacCrc32C
2870	}
2871	return nil
2872}
2873
2874func (x *MacSignResponse) GetVerifiedDataCrc32C() bool {
2875	if x != nil {
2876		return x.VerifiedDataCrc32C
2877	}
2878	return false
2879}
2880
2881func (x *MacSignResponse) GetProtectionLevel() ProtectionLevel {
2882	if x != nil {
2883		return x.ProtectionLevel
2884	}
2885	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2886}
2887
2888// Response message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2889type MacVerifyResponse struct {
2890	state         protoimpl.MessageState
2891	sizeCache     protoimpl.SizeCache
2892	unknownFields protoimpl.UnknownFields
2893
2894	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2895	// Check this field to verify that the intended resource was used for
2896	// verification.
2897	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2898	// This field indicates whether or not the verification operation for
2899	// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] over [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] was successful.
2900	Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
2901	// Integrity verification field. A flag indicating whether
2902	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was received by
2903	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2904	// [data][google.cloud.kms.v1.MacVerifyRequest.data]. A false value of this field
2905	// indicates either that [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was left
2906	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2907	// set [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] but this field is still false,
2908	// discard the response and perform a limited number of retries.
2909	VerifiedDataCrc32C bool `protobuf:"varint,3,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2910	// Integrity verification field. A flag indicating whether
2911	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was received by
2912	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2913	// [data][google.cloud.kms.v1.MacVerifyRequest.mac]. A false value of this field
2914	// indicates either that [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was left
2915	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2916	// set [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] but this field is still false,
2917	// discard the response and perform a limited number of retries.
2918	VerifiedMacCrc32C bool `protobuf:"varint,4,opt,name=verified_mac_crc32c,json=verifiedMacCrc32c,proto3" json:"verified_mac_crc32c,omitempty"`
2919	// Integrity verification field. This value is used for the integrity
2920	// verification of [MacVerifyResponse.success]. If the value of this field
2921	// contradicts the value of [MacVerifyResponse.success], discard the response
2922	// and perform a limited number of retries.
2923	VerifiedSuccessIntegrity bool `protobuf:"varint,5,opt,name=verified_success_integrity,json=verifiedSuccessIntegrity,proto3" json:"verified_success_integrity,omitempty"`
2924	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2925	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2926}
2927
2928func (x *MacVerifyResponse) Reset() {
2929	*x = MacVerifyResponse{}
2930	if protoimpl.UnsafeEnabled {
2931		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2932		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2933		ms.StoreMessageInfo(mi)
2934	}
2935}
2936
2937func (x *MacVerifyResponse) String() string {
2938	return protoimpl.X.MessageStringOf(x)
2939}
2940
2941func (*MacVerifyResponse) ProtoMessage() {}
2942
2943func (x *MacVerifyResponse) ProtoReflect() protoreflect.Message {
2944	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2945	if protoimpl.UnsafeEnabled && x != nil {
2946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2947		if ms.LoadMessageInfo() == nil {
2948			ms.StoreMessageInfo(mi)
2949		}
2950		return ms
2951	}
2952	return mi.MessageOf(x)
2953}
2954
2955// Deprecated: Use MacVerifyResponse.ProtoReflect.Descriptor instead.
2956func (*MacVerifyResponse) Descriptor() ([]byte, []int) {
2957	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{35}
2958}
2959
2960func (x *MacVerifyResponse) GetName() string {
2961	if x != nil {
2962		return x.Name
2963	}
2964	return ""
2965}
2966
2967func (x *MacVerifyResponse) GetSuccess() bool {
2968	if x != nil {
2969		return x.Success
2970	}
2971	return false
2972}
2973
2974func (x *MacVerifyResponse) GetVerifiedDataCrc32C() bool {
2975	if x != nil {
2976		return x.VerifiedDataCrc32C
2977	}
2978	return false
2979}
2980
2981func (x *MacVerifyResponse) GetVerifiedMacCrc32C() bool {
2982	if x != nil {
2983		return x.VerifiedMacCrc32C
2984	}
2985	return false
2986}
2987
2988func (x *MacVerifyResponse) GetVerifiedSuccessIntegrity() bool {
2989	if x != nil {
2990		return x.VerifiedSuccessIntegrity
2991	}
2992	return false
2993}
2994
2995func (x *MacVerifyResponse) GetProtectionLevel() ProtectionLevel {
2996	if x != nil {
2997		return x.ProtectionLevel
2998	}
2999	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
3000}
3001
3002// Response message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
3003type GenerateRandomBytesResponse struct {
3004	state         protoimpl.MessageState
3005	sizeCache     protoimpl.SizeCache
3006	unknownFields protoimpl.UnknownFields
3007
3008	// The generated data.
3009	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
3010	// Integrity verification field. A CRC32C checksum of the returned
3011	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data]. An integrity check of
3012	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] can be performed by computing the
3013	// CRC32C checksum of [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] and comparing your
3014	// results to this field. Discard the response in case of non-matching
3015	// checksum values, and perform a limited number of retries. A persistent
3016	// mismatch may indicate an issue in your computation of the CRC32C checksum.
3017	// Note: This field is defined as int64 for reasons of compatibility across
3018	// different languages. However, it is a non-negative integer, which will
3019	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
3020	// that support this type.
3021	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
3022}
3023
3024func (x *GenerateRandomBytesResponse) Reset() {
3025	*x = GenerateRandomBytesResponse{}
3026	if protoimpl.UnsafeEnabled {
3027		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
3028		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3029		ms.StoreMessageInfo(mi)
3030	}
3031}
3032
3033func (x *GenerateRandomBytesResponse) String() string {
3034	return protoimpl.X.MessageStringOf(x)
3035}
3036
3037func (*GenerateRandomBytesResponse) ProtoMessage() {}
3038
3039func (x *GenerateRandomBytesResponse) ProtoReflect() protoreflect.Message {
3040	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
3041	if protoimpl.UnsafeEnabled && x != nil {
3042		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3043		if ms.LoadMessageInfo() == nil {
3044			ms.StoreMessageInfo(mi)
3045		}
3046		return ms
3047	}
3048	return mi.MessageOf(x)
3049}
3050
3051// Deprecated: Use GenerateRandomBytesResponse.ProtoReflect.Descriptor instead.
3052func (*GenerateRandomBytesResponse) Descriptor() ([]byte, []int) {
3053	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{36}
3054}
3055
3056func (x *GenerateRandomBytesResponse) GetData() []byte {
3057	if x != nil {
3058		return x.Data
3059	}
3060	return nil
3061}
3062
3063func (x *GenerateRandomBytesResponse) GetDataCrc32C() *wrapperspb.Int64Value {
3064	if x != nil {
3065		return x.DataCrc32C
3066	}
3067	return nil
3068}
3069
3070// A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message digest.
3071type Digest struct {
3072	state         protoimpl.MessageState
3073	sizeCache     protoimpl.SizeCache
3074	unknownFields protoimpl.UnknownFields
3075
3076	// Required. The message digest.
3077	//
3078	// Types that are assignable to Digest:
3079	//	*Digest_Sha256
3080	//	*Digest_Sha384
3081	//	*Digest_Sha512
3082	Digest isDigest_Digest `protobuf_oneof:"digest"`
3083}
3084
3085func (x *Digest) Reset() {
3086	*x = Digest{}
3087	if protoimpl.UnsafeEnabled {
3088		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3089		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3090		ms.StoreMessageInfo(mi)
3091	}
3092}
3093
3094func (x *Digest) String() string {
3095	return protoimpl.X.MessageStringOf(x)
3096}
3097
3098func (*Digest) ProtoMessage() {}
3099
3100func (x *Digest) ProtoReflect() protoreflect.Message {
3101	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3102	if protoimpl.UnsafeEnabled && x != nil {
3103		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3104		if ms.LoadMessageInfo() == nil {
3105			ms.StoreMessageInfo(mi)
3106		}
3107		return ms
3108	}
3109	return mi.MessageOf(x)
3110}
3111
3112// Deprecated: Use Digest.ProtoReflect.Descriptor instead.
3113func (*Digest) Descriptor() ([]byte, []int) {
3114	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{37}
3115}
3116
3117func (m *Digest) GetDigest() isDigest_Digest {
3118	if m != nil {
3119		return m.Digest
3120	}
3121	return nil
3122}
3123
3124func (x *Digest) GetSha256() []byte {
3125	if x, ok := x.GetDigest().(*Digest_Sha256); ok {
3126		return x.Sha256
3127	}
3128	return nil
3129}
3130
3131func (x *Digest) GetSha384() []byte {
3132	if x, ok := x.GetDigest().(*Digest_Sha384); ok {
3133		return x.Sha384
3134	}
3135	return nil
3136}
3137
3138func (x *Digest) GetSha512() []byte {
3139	if x, ok := x.GetDigest().(*Digest_Sha512); ok {
3140		return x.Sha512
3141	}
3142	return nil
3143}
3144
3145type isDigest_Digest interface {
3146	isDigest_Digest()
3147}
3148
3149type Digest_Sha256 struct {
3150	// A message digest produced with the SHA-256 algorithm.
3151	Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
3152}
3153
3154type Digest_Sha384 struct {
3155	// A message digest produced with the SHA-384 algorithm.
3156	Sha384 []byte `protobuf:"bytes,2,opt,name=sha384,proto3,oneof"`
3157}
3158
3159type Digest_Sha512 struct {
3160	// A message digest produced with the SHA-512 algorithm.
3161	Sha512 []byte `protobuf:"bytes,3,opt,name=sha512,proto3,oneof"`
3162}
3163
3164func (*Digest_Sha256) isDigest_Digest() {}
3165
3166func (*Digest_Sha384) isDigest_Digest() {}
3167
3168func (*Digest_Sha512) isDigest_Digest() {}
3169
3170// Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
3171type LocationMetadata struct {
3172	state         protoimpl.MessageState
3173	sizeCache     protoimpl.SizeCache
3174	unknownFields protoimpl.UnknownFields
3175
3176	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3177	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3178	// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location.
3179	HsmAvailable bool `protobuf:"varint,1,opt,name=hsm_available,json=hsmAvailable,proto3" json:"hsm_available,omitempty"`
3180	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3181	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3182	// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in this location.
3183	EkmAvailable bool `protobuf:"varint,2,opt,name=ekm_available,json=ekmAvailable,proto3" json:"ekm_available,omitempty"`
3184}
3185
3186func (x *LocationMetadata) Reset() {
3187	*x = LocationMetadata{}
3188	if protoimpl.UnsafeEnabled {
3189		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3191		ms.StoreMessageInfo(mi)
3192	}
3193}
3194
3195func (x *LocationMetadata) String() string {
3196	return protoimpl.X.MessageStringOf(x)
3197}
3198
3199func (*LocationMetadata) ProtoMessage() {}
3200
3201func (x *LocationMetadata) ProtoReflect() protoreflect.Message {
3202	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3203	if protoimpl.UnsafeEnabled && x != nil {
3204		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3205		if ms.LoadMessageInfo() == nil {
3206			ms.StoreMessageInfo(mi)
3207		}
3208		return ms
3209	}
3210	return mi.MessageOf(x)
3211}
3212
3213// Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
3214func (*LocationMetadata) Descriptor() ([]byte, []int) {
3215	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{38}
3216}
3217
3218func (x *LocationMetadata) GetHsmAvailable() bool {
3219	if x != nil {
3220		return x.HsmAvailable
3221	}
3222	return false
3223}
3224
3225func (x *LocationMetadata) GetEkmAvailable() bool {
3226	if x != nil {
3227		return x.EkmAvailable
3228	}
3229	return false
3230}
3231
3232var File_google_cloud_kms_v1_service_proto protoreflect.FileDescriptor
3233
3234var file_google_cloud_kms_v1_service_proto_rawDesc = []byte{
3235	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
3236	0x6d, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
3237	0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3238	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3239	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3240	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3241	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3242	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3243	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3244	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
3245	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f,
3246	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31,
3247	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3248	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3249	0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
3250	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3251	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3252	0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3253	0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
3254	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3255	0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
3256	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
3257	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a,
3258	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3259	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
3260	0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
3261	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
3262	0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
3263	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
3264	0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01,
3265	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
3266	0x22, 0xba, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3267	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61,
3268	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa,
3269	0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3270	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52,
3271	0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
3272	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
3273	0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
3274	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
3275	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3276	0x6e, 0x12, 0x5d, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65,
3277	0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3278	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3279	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
3280	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56,
3281	0x69, 0x65, 0x77, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77,
3282	0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
3283	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a,
3284	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
3285	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb4, 0x02,
3286	0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3287	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3288	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3289	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3290	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3291	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3292	0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
3293	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
3294	0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3295	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61,
3296	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
3297	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3298	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70,
3299	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79,
3300	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65,
3301	0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
3302	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69,
3303	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79,
3304	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64,
3305	0x65, 0x72, 0x42, 0x79, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70,
3306	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
3307	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,
3308	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3309	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3310	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3311	0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
3312	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
3313	0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3314	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
3315	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
3316	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
3317	0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05,
3318	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
3319	0x42, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3320	0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6b,
3321	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
3322	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3323	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6b, 0x65,
3324	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3325	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3326	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d,
3327	0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
3328	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01,
3329	0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73,
3330	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x72, 0x79, 0x70,
3331	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
3332	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3333	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x63,
3334	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3335	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3336	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3337	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3338	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3339	0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3340	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3341	0x73, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3342	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3343	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3344	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3345	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3346	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3347	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3348	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3349	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3350	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3351	0x22, 0xa0, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3352	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x69,
3353	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3354	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3355	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3356	0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f,
3357	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3358	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
3359	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
3360	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
3361	0x69, 0x7a, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3362	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3363	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f,
3364	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3365	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52,
3366	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70,
3367	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
3368	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3369	0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3370	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3371	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x47,
3372	0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3373	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3374	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a,
3375	0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3376	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3377	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
3378	0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52,
3379	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3380	0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c,
3381	0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3382	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3383	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13,
3384	0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
3385	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3386	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3387	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3388	0x6f, 0x6d, 0x2f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61,
3389	0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
3390	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
3391	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
3392	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
3393	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
3394	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23,
3395	0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
3396	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3397	0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x18,
3398	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3399	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52,
3400	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3401	0x67, 0x22, 0x89, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
3402	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06,
3403	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
3404	0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67,
3405	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65,
3406	0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a,
3407	0x0d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
3408	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x79, 0x70, 0x74,
3409	0x6f, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3410	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3411	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3412	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3413	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x6b,
3414	0x69, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
3415	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
3416	0x08, 0x52, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x65,
3417	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01,
3418	0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3419	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3420	0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3421	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
3422	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3423	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
3424	0x6e, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3425	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
3426	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3427	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3428	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70,
3429	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x03, 0x0a,
3430	0x1d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3431	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3432	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3433	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3434	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3435	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3436	0x74, 0x12, 0x5e, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3437	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0,
3438	0x41, 0x01, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
3439	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43,
3440	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
3441	0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3442	0x6e, 0x12, 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02,
3443	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3444	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
3445	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70,
3446	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
3447	0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f,
3448	0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
3449	0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
3450	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x73, 0x61,
3451	0x5f, 0x61, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79,
3452	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x72, 0x73, 0x61, 0x41, 0x65, 0x73,
3453	0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x77, 0x72,
3454	0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
3455	0x61, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70,
3456	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
3457	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0,
3458	0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
3459	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b,
3460	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27,
3461	0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
3462	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f,
3463	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72,
3464	0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
3465	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3466	0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02,
3467	0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x9e, 0x01, 0x0a, 0x16,
3468	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
3469	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3470	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3471	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3472	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3473	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
3474	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3475	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3476	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02,
3477	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbb, 0x01, 0x0a,
3478	0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3479	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
3480	0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72,
3481	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
3482	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3483	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3484	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3485	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
3486	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
3487	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3488	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
3489	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9d, 0x01, 0x0a, 0x24, 0x55,
3490	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72,
3491	0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
3492	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3493	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3494	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3495	0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61,
3496	0x6d, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3497	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3498	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3499	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1e, 0x44, 0x65,
3500	0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3501	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04,
3502	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
3503	0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3504	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3505	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61,
3506	0x6d, 0x65, 0x22, 0x66, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79,
3507	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
3508	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3509	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3510	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3511	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3512	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x45,
3513	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
3514	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02,
3515	0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09,
3516	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
3517	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
3518	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3519	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3520	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3521	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3522	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
3523	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x07, 0x20, 0x01,
3524	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3525	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
3526	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43,
3527	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3528	0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
3529	0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x08, 0x20,
3530	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3531	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3532	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
3533	0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61,
3534	0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xff, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x63,
3535	0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
3536	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
3537	0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3538	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74,
3539	0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x69,
3540	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
3541	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3542	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3543	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3544	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3545	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3546	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68,
3547	0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20,
3548	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3549	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3550	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3551	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74,
3552	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
3553	0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3554	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3555	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
3556	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3557	0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
3558	0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xba, 0x02, 0x0a, 0x15, 0x41,
3559	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71,
3560	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3561	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3562	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3563	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3564	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x64, 0x69,
3565	0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
3566	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3567	0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x64, 0x69,
3568	0x67, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63,
3569	0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
3570	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
3571	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64,
3572	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x64,
3573	0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04,
3574	0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3575	0x33, 0x32, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3576	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3577	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74,
3578	0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xd4, 0x01, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6d,
3579	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71,
3580	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3581	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3582	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3583	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3584	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x69,
3585	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
3586	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3587	0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72,
3588	0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
3589	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
3590	0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x69,
3591	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xb2,
3592	0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3593	0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3594	0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
3595	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3596	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3597	0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
3598	0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
3599	0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3600	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3601	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
3602	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63,
3603	0x33, 0x32, 0x63, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66,
3604	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3605	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
3606	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3607	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3608	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17,
3609	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41,
3610	0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f,
3611	0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
3612	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
3613	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a,
3614	0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61,
3615	0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6d, 0x61,
3616	0x63, 0x12, 0x3f, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3617	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3618	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
3619	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33,
3620	0x32, 0x63, 0x22, 0xac, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52,
3621	0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3622	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
3623	0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a,
3624	0x0c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20,
3625	0x01, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73,
3626	0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c,
3627	0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3628	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3629	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3630	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
3631	0x6c, 0x22, 0xfe, 0x02, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73,
3632	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3633	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x70,
3634	0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63,
3635	0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x69, 0x70,
3636	0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04,
3637	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3638	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
3639	0x65, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63,
3640	0x33, 0x32, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
3641	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
3642	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3643	0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12,
3644	0x60, 0x0a, 0x2d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x69,
3645	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3646	0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
3647	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x29, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3648	0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
3649	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32,
3650	0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3651	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f,
3652	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3653	0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
3654	0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76,
3655	0x65, 0x6c, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65,
3656	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74,
3657	0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e,
3658	0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78,
3659	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
3660	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3661	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61,
3662	0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x21, 0x0a, 0x0c,
3663	0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
3664	0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12,
3665	0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65,
3666	0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3667	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3668	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
3669	0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3670	0x22, 0xcb, 0x02, 0x0a, 0x16, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
3671	0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73,
3672	0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
3673	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x69, 0x67,
3674	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20,
3675	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3676	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3677	0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x72, 0x63, 0x33, 0x32,
3678	0x63, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x69,
3679	0x67, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
3680	0x08, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x69, 0x67, 0x65, 0x73,
3681	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3682	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x76,
3683	0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3684	0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66,
3685	0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a,
3686	0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65,
3687	0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3688	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72,
3689	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70,
3690	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x90,
3691	0x02, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63,
3692	0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
3693	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
3694	0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c,
3695	0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02,
3696	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3697	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
3698	0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
3699	0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63,
3700	0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
3701	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3702	0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3703	0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c,
3704	0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3705	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3706	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3707	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
3708	0x6c, 0x22, 0xf6, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73,
3709	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3710	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63,
3711	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x3a, 0x0a, 0x0a, 0x6d,
3712	0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
3713	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3714	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61,
3715	0x63, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66,
3716	0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3717	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44,
3718	0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f,
3719	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20,
3720	0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3721	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
3722	0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65,
3723	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xb2, 0x02, 0x0a, 0x11, 0x4d,
3724	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3725	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
3726	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
3727	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x30,
3728	0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
3729	0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x76, 0x65,
3730	0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3731	0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63,
3732	0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x76,
3733	0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3734	0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x63,
3735	0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05,
3736	0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x75,
3737	0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4f,
3738	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76,
3739	0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3740	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50,
3741	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f,
3742	0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22,
3743	0x6f, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f,
3744	0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
3745	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
3746	0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32,
3747	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3748	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
3749	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3750	0x22, 0x60, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68,
3751	0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68,
3752	0x61, 0x32, 0x35, 0x36, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x18, 0x02,
3753	0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x12, 0x18,
3754	0x0a, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00,
3755	0x52, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65,
3756	0x73, 0x74, 0x22, 0x5c, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
3757	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x73, 0x6d, 0x5f, 0x61, 0x76,
3758	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68,
3759	0x73, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
3760	0x6b, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
3761	0x28, 0x08, 0x52, 0x0c, 0x65, 0x6b, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
3762	0x32, 0x86, 0x2b, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65,
3763	0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x4c, 0x69,
3764	0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3765	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3766	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71,
3767	0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3768	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b,
3769	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
3770	0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
3771	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3772	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79,
3773	0x52, 0x69, 0x6e, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5,
3774	0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3775	0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3776	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70,
3777	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e,
3778	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3779	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3780	0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93,
3781	0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
3782	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3783	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3784	0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0xda, 0x41, 0x06,
3785	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43,
3786	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
3787	0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3788	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74,
3789	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
3790	0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3791	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72,
3792	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
3793	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12,
3794	0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
3795	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3796	0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
3797	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79,
3798	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41,
3799	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74,
3800	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
3801	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3802	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52,
3803	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3804	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
3805	0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
3806	0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31,
3807	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3808	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3809	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x70, 0x6f,
3810	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3811	0x8f, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x12, 0x26,
3812	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3813	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52,
3814	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3815	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79,
3816	0x52, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76,
3817	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3818	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3819	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
3820	0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3821	0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3822	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70,
3823	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67,
3824	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3825	0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x48, 0x82, 0xd3,
3826	0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3827	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3828	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3829	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
3830	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72,
3831	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f,
3832	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3833	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3834	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3835	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3836	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3837	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d,
3838	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3839	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3840	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70,
3841	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3842	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04,
3843	0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c,
3844	0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3845	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
3846	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3847	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3848	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22,
3849	0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
3850	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3851	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3852	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f,
3853	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3854	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
3855	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49,
3856	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3857	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
3858	0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
3859	0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3860	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3861	0x6f, 0x62, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f,
3862	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3863	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79,
3864	0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f,
3865	0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb6, 0x01, 0x0a,
3866	0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x12, 0x29,
3867	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3868	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x69,
3869	0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3870	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3871	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x22,
3872	0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
3873	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3874	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x08, 0x6b,
3875	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3876	0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79,
3877	0x5f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xcf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
3878	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3879	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3880	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
3881	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3882	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79,
3883	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39,
3884	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3885	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3886	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63,
3887	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x3a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74,
3888	0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63,
3889	0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x2c, 0x63, 0x72, 0x79,
3890	0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0xfb, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61,
3891	0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3892	0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3893	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
3894	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
3895	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3896	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79,
3897	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01,
3898	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
3899	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3900	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69,
3901	0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73,
3902	0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3903	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
3904	0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65,
3905	0x6e, 0x74, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65,
3906	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xd4, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3907	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3908	0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3909	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79,
3910	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
3911	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3912	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
3913	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x82, 0xd3, 0xe4,
3914	0x93, 0x02, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3915	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
3916	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73,
3917	0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d,
3918	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3919	0x6e, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xcf, 0x01, 0x0a,
3920	0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3921	0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3922	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70,
3923	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
3924	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3925	0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x6f, 0x82,
3926	0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3927	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3928	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3929	0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73,
3930	0x3a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x1f, 0x70,
3931	0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62,
3932	0x5f, 0x69, 0x64, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xd1,
3933	0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3934	0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3935	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
3936	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3937	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3938	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22,
3939	0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x72,
3940	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
3941	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3942	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f,
3943	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, 0x63,
3944	0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x16, 0x63, 0x72, 0x79, 0x70,
3945	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
3946	0x73, 0x6b, 0x12, 0x93, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79,
3947	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e,
3948	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3949	0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3950	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3951	0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3952	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3953	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3954	0x76, 0x32, 0x60, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b,
3955	0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3956	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3957	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3958	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
3959	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
3960	0x2f, 0x2a, 0x7d, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3961	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3962	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64,
3963	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64,
3964	0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x69, 0x6d,
3965	0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f,
3966	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3967	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3968	0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
3969	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3970	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70,
3971	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x4e, 0x2f,
3972	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3973	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3974	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3975	0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
3976	0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a,
3977	0xda, 0x41, 0x1a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b,
3978	0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0xde, 0x01,
3979	0x0a, 0x17, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3980	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3981	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3982	0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3983	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
3984	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3985	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3986	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f,
3987	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3988	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3989	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3990	0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3991	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x73,
3992	0x74, 0x72, 0x6f, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xde,
3993	0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3994	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
3995	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3996	0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3997	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3998	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3999	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
4000	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55,
4001	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4002	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4003	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70,
4004	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
4005	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65,
4006	0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
4007	0xb4, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f,
4008	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
4009	0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4010	0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4011	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65,
4012	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42,
4013	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4014	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4015	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70,
4016	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x63, 0x72, 0x79,
4017	0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x6c, 0x61,
4018	0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x72, 0x79,
4019	0x70, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4020	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74,
4021	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4022	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
4023	0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82,
4024	0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
4025	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
4026	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73,
4027	0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d,
4028	0x3a, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61,
4029	0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0xe0, 0x01,
4030	0x0a, 0x0e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e,
4031	0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4032	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69,
4033	0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67,
4034	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
4035	0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67,
4036	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02,
4037	0x61, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
4038	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4039	0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
4040	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70,
4041	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
4042	0x3a, 0x61, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x3a,
4043	0x01, 0x2a, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74,
4044	0x12, 0xf0, 0x01, 0x0a, 0x11, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44,
4045	0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4046	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79,
4047	0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65,
4048	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4049	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d,
4050	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73,
4051	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x5f, 0x2f,
4052	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
4053	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
4054	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
4055	0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
4056	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x73, 0x79,
4057	0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a, 0x01,
4058	0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74,
4059	0x65, 0x78, 0x74, 0x12, 0xc2, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x12,
4060	0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
4061	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71,
4062	0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4063	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x53, 0x69,
4064	0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93,
4065	0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
4066	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
4067	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f,
4068	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
4069	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4070	0x7d, 0x3a, 0x6d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x09, 0x6e,
4071	0x61, 0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x12, 0xce, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x63,
4072	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4073	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63,
4074	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
4075	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
4076	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73,
4077	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22, 0x57, 0x2f,
4078	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
4079	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
4080	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
4081	0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
4082	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x63,
4083	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0d, 0x6e, 0x61, 0x6d, 0x65,
4084	0x2c, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6d, 0x61, 0x63, 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x47, 0x65,
4085	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65,
4086	0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4087	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
4088	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
4089	0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4090	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
4091	0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
4092	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39, 0x2f, 0x76,
4093	0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
4094	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4095	0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64,
4096	0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x26, 0x6c, 0x6f, 0x63,
4097	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74,
4098	0x65, 0x73, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65,
4099	0x76, 0x65, 0x6c, 0x1a, 0x74, 0xca, 0x41, 0x17, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
4100	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2,
4101	0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
4102	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
4103	0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
4104	0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
4105	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
4106	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x42, 0x8c, 0x01, 0x0a, 0x17, 0x63, 0x6f,
4107	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
4108	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
4109	0x01, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
4110	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
4111	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
4112	0x6d, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x6d, 0x73, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47,
4113	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4b, 0x6d, 0x73, 0x2e,
4114	0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
4115	0x64, 0x5c, 0x4b, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4116}
4117
4118var (
4119	file_google_cloud_kms_v1_service_proto_rawDescOnce sync.Once
4120	file_google_cloud_kms_v1_service_proto_rawDescData = file_google_cloud_kms_v1_service_proto_rawDesc
4121)
4122
4123func file_google_cloud_kms_v1_service_proto_rawDescGZIP() []byte {
4124	file_google_cloud_kms_v1_service_proto_rawDescOnce.Do(func() {
4125		file_google_cloud_kms_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_v1_service_proto_rawDescData)
4126	})
4127	return file_google_cloud_kms_v1_service_proto_rawDescData
4128}
4129
4130var file_google_cloud_kms_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
4131var file_google_cloud_kms_v1_service_proto_goTypes = []interface{}{
4132	(*ListKeyRingsRequest)(nil),                     // 0: google.cloud.kms.v1.ListKeyRingsRequest
4133	(*ListCryptoKeysRequest)(nil),                   // 1: google.cloud.kms.v1.ListCryptoKeysRequest
4134	(*ListCryptoKeyVersionsRequest)(nil),            // 2: google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4135	(*ListImportJobsRequest)(nil),                   // 3: google.cloud.kms.v1.ListImportJobsRequest
4136	(*ListKeyRingsResponse)(nil),                    // 4: google.cloud.kms.v1.ListKeyRingsResponse
4137	(*ListCryptoKeysResponse)(nil),                  // 5: google.cloud.kms.v1.ListCryptoKeysResponse
4138	(*ListCryptoKeyVersionsResponse)(nil),           // 6: google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4139	(*ListImportJobsResponse)(nil),                  // 7: google.cloud.kms.v1.ListImportJobsResponse
4140	(*GetKeyRingRequest)(nil),                       // 8: google.cloud.kms.v1.GetKeyRingRequest
4141	(*GetCryptoKeyRequest)(nil),                     // 9: google.cloud.kms.v1.GetCryptoKeyRequest
4142	(*GetCryptoKeyVersionRequest)(nil),              // 10: google.cloud.kms.v1.GetCryptoKeyVersionRequest
4143	(*GetPublicKeyRequest)(nil),                     // 11: google.cloud.kms.v1.GetPublicKeyRequest
4144	(*GetImportJobRequest)(nil),                     // 12: google.cloud.kms.v1.GetImportJobRequest
4145	(*CreateKeyRingRequest)(nil),                    // 13: google.cloud.kms.v1.CreateKeyRingRequest
4146	(*CreateCryptoKeyRequest)(nil),                  // 14: google.cloud.kms.v1.CreateCryptoKeyRequest
4147	(*CreateCryptoKeyVersionRequest)(nil),           // 15: google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4148	(*ImportCryptoKeyVersionRequest)(nil),           // 16: google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4149	(*CreateImportJobRequest)(nil),                  // 17: google.cloud.kms.v1.CreateImportJobRequest
4150	(*UpdateCryptoKeyRequest)(nil),                  // 18: google.cloud.kms.v1.UpdateCryptoKeyRequest
4151	(*UpdateCryptoKeyVersionRequest)(nil),           // 19: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4152	(*UpdateCryptoKeyPrimaryVersionRequest)(nil),    // 20: google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4153	(*DestroyCryptoKeyVersionRequest)(nil),          // 21: google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4154	(*RestoreCryptoKeyVersionRequest)(nil),          // 22: google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4155	(*EncryptRequest)(nil),                          // 23: google.cloud.kms.v1.EncryptRequest
4156	(*DecryptRequest)(nil),                          // 24: google.cloud.kms.v1.DecryptRequest
4157	(*AsymmetricSignRequest)(nil),                   // 25: google.cloud.kms.v1.AsymmetricSignRequest
4158	(*AsymmetricDecryptRequest)(nil),                // 26: google.cloud.kms.v1.AsymmetricDecryptRequest
4159	(*MacSignRequest)(nil),                          // 27: google.cloud.kms.v1.MacSignRequest
4160	(*MacVerifyRequest)(nil),                        // 28: google.cloud.kms.v1.MacVerifyRequest
4161	(*GenerateRandomBytesRequest)(nil),              // 29: google.cloud.kms.v1.GenerateRandomBytesRequest
4162	(*EncryptResponse)(nil),                         // 30: google.cloud.kms.v1.EncryptResponse
4163	(*DecryptResponse)(nil),                         // 31: google.cloud.kms.v1.DecryptResponse
4164	(*AsymmetricSignResponse)(nil),                  // 32: google.cloud.kms.v1.AsymmetricSignResponse
4165	(*AsymmetricDecryptResponse)(nil),               // 33: google.cloud.kms.v1.AsymmetricDecryptResponse
4166	(*MacSignResponse)(nil),                         // 34: google.cloud.kms.v1.MacSignResponse
4167	(*MacVerifyResponse)(nil),                       // 35: google.cloud.kms.v1.MacVerifyResponse
4168	(*GenerateRandomBytesResponse)(nil),             // 36: google.cloud.kms.v1.GenerateRandomBytesResponse
4169	(*Digest)(nil),                                  // 37: google.cloud.kms.v1.Digest
4170	(*LocationMetadata)(nil),                        // 38: google.cloud.kms.v1.LocationMetadata
4171	(CryptoKeyVersion_CryptoKeyVersionView)(0),      // 39: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4172	(*KeyRing)(nil),                                 // 40: google.cloud.kms.v1.KeyRing
4173	(*CryptoKey)(nil),                               // 41: google.cloud.kms.v1.CryptoKey
4174	(*CryptoKeyVersion)(nil),                        // 42: google.cloud.kms.v1.CryptoKeyVersion
4175	(*ImportJob)(nil),                               // 43: google.cloud.kms.v1.ImportJob
4176	(CryptoKeyVersion_CryptoKeyVersionAlgorithm)(0), // 44: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4177	(*fieldmaskpb.FieldMask)(nil),                   // 45: google.protobuf.FieldMask
4178	(*wrapperspb.Int64Value)(nil),                   // 46: google.protobuf.Int64Value
4179	(ProtectionLevel)(0),                            // 47: google.cloud.kms.v1.ProtectionLevel
4180	(*PublicKey)(nil),                               // 48: google.cloud.kms.v1.PublicKey
4181}
4182var file_google_cloud_kms_v1_service_proto_depIdxs = []int32{
4183	39, // 0: google.cloud.kms.v1.ListCryptoKeysRequest.version_view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4184	39, // 1: google.cloud.kms.v1.ListCryptoKeyVersionsRequest.view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4185	40, // 2: google.cloud.kms.v1.ListKeyRingsResponse.key_rings:type_name -> google.cloud.kms.v1.KeyRing
4186	41, // 3: google.cloud.kms.v1.ListCryptoKeysResponse.crypto_keys:type_name -> google.cloud.kms.v1.CryptoKey
4187	42, // 4: google.cloud.kms.v1.ListCryptoKeyVersionsResponse.crypto_key_versions:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4188	43, // 5: google.cloud.kms.v1.ListImportJobsResponse.import_jobs:type_name -> google.cloud.kms.v1.ImportJob
4189	40, // 6: google.cloud.kms.v1.CreateKeyRingRequest.key_ring:type_name -> google.cloud.kms.v1.KeyRing
4190	41, // 7: google.cloud.kms.v1.CreateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4191	42, // 8: google.cloud.kms.v1.CreateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4192	44, // 9: google.cloud.kms.v1.ImportCryptoKeyVersionRequest.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4193	43, // 10: google.cloud.kms.v1.CreateImportJobRequest.import_job:type_name -> google.cloud.kms.v1.ImportJob
4194	41, // 11: google.cloud.kms.v1.UpdateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4195	45, // 12: google.cloud.kms.v1.UpdateCryptoKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
4196	42, // 13: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4197	45, // 14: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.update_mask:type_name -> google.protobuf.FieldMask
4198	46, // 15: google.cloud.kms.v1.EncryptRequest.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4199	46, // 16: google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4200	46, // 17: google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4201	46, // 18: google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4202	37, // 19: google.cloud.kms.v1.AsymmetricSignRequest.digest:type_name -> google.cloud.kms.v1.Digest
4203	46, // 20: google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c:type_name -> google.protobuf.Int64Value
4204	46, // 21: google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4205	46, // 22: google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4206	46, // 23: google.cloud.kms.v1.MacSignRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4207	46, // 24: google.cloud.kms.v1.MacVerifyRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4208	46, // 25: google.cloud.kms.v1.MacVerifyRequest.mac_crc32c:type_name -> google.protobuf.Int64Value
4209	47, // 26: google.cloud.kms.v1.GenerateRandomBytesRequest.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4210	46, // 27: google.cloud.kms.v1.EncryptResponse.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4211	47, // 28: google.cloud.kms.v1.EncryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4212	46, // 29: google.cloud.kms.v1.DecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4213	47, // 30: google.cloud.kms.v1.DecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4214	46, // 31: google.cloud.kms.v1.AsymmetricSignResponse.signature_crc32c:type_name -> google.protobuf.Int64Value
4215	47, // 32: google.cloud.kms.v1.AsymmetricSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4216	46, // 33: google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4217	47, // 34: google.cloud.kms.v1.AsymmetricDecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4218	46, // 35: google.cloud.kms.v1.MacSignResponse.mac_crc32c:type_name -> google.protobuf.Int64Value
4219	47, // 36: google.cloud.kms.v1.MacSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4220	47, // 37: google.cloud.kms.v1.MacVerifyResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4221	46, // 38: google.cloud.kms.v1.GenerateRandomBytesResponse.data_crc32c:type_name -> google.protobuf.Int64Value
4222	0,  // 39: google.cloud.kms.v1.KeyManagementService.ListKeyRings:input_type -> google.cloud.kms.v1.ListKeyRingsRequest
4223	1,  // 40: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:input_type -> google.cloud.kms.v1.ListCryptoKeysRequest
4224	2,  // 41: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:input_type -> google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4225	3,  // 42: google.cloud.kms.v1.KeyManagementService.ListImportJobs:input_type -> google.cloud.kms.v1.ListImportJobsRequest
4226	8,  // 43: google.cloud.kms.v1.KeyManagementService.GetKeyRing:input_type -> google.cloud.kms.v1.GetKeyRingRequest
4227	9,  // 44: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:input_type -> google.cloud.kms.v1.GetCryptoKeyRequest
4228	10, // 45: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:input_type -> google.cloud.kms.v1.GetCryptoKeyVersionRequest
4229	11, // 46: google.cloud.kms.v1.KeyManagementService.GetPublicKey:input_type -> google.cloud.kms.v1.GetPublicKeyRequest
4230	12, // 47: google.cloud.kms.v1.KeyManagementService.GetImportJob:input_type -> google.cloud.kms.v1.GetImportJobRequest
4231	13, // 48: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:input_type -> google.cloud.kms.v1.CreateKeyRingRequest
4232	14, // 49: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:input_type -> google.cloud.kms.v1.CreateCryptoKeyRequest
4233	15, // 50: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:input_type -> google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4234	16, // 51: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:input_type -> google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4235	17, // 52: google.cloud.kms.v1.KeyManagementService.CreateImportJob:input_type -> google.cloud.kms.v1.CreateImportJobRequest
4236	18, // 53: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:input_type -> google.cloud.kms.v1.UpdateCryptoKeyRequest
4237	19, // 54: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4238	20, // 55: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4239	21, // 56: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:input_type -> google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4240	22, // 57: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:input_type -> google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4241	23, // 58: google.cloud.kms.v1.KeyManagementService.Encrypt:input_type -> google.cloud.kms.v1.EncryptRequest
4242	24, // 59: google.cloud.kms.v1.KeyManagementService.Decrypt:input_type -> google.cloud.kms.v1.DecryptRequest
4243	25, // 60: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:input_type -> google.cloud.kms.v1.AsymmetricSignRequest
4244	26, // 61: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:input_type -> google.cloud.kms.v1.AsymmetricDecryptRequest
4245	27, // 62: google.cloud.kms.v1.KeyManagementService.MacSign:input_type -> google.cloud.kms.v1.MacSignRequest
4246	28, // 63: google.cloud.kms.v1.KeyManagementService.MacVerify:input_type -> google.cloud.kms.v1.MacVerifyRequest
4247	29, // 64: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:input_type -> google.cloud.kms.v1.GenerateRandomBytesRequest
4248	4,  // 65: google.cloud.kms.v1.KeyManagementService.ListKeyRings:output_type -> google.cloud.kms.v1.ListKeyRingsResponse
4249	5,  // 66: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:output_type -> google.cloud.kms.v1.ListCryptoKeysResponse
4250	6,  // 67: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:output_type -> google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4251	7,  // 68: google.cloud.kms.v1.KeyManagementService.ListImportJobs:output_type -> google.cloud.kms.v1.ListImportJobsResponse
4252	40, // 69: google.cloud.kms.v1.KeyManagementService.GetKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4253	41, // 70: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4254	42, // 71: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4255	48, // 72: google.cloud.kms.v1.KeyManagementService.GetPublicKey:output_type -> google.cloud.kms.v1.PublicKey
4256	43, // 73: google.cloud.kms.v1.KeyManagementService.GetImportJob:output_type -> google.cloud.kms.v1.ImportJob
4257	40, // 74: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4258	41, // 75: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4259	42, // 76: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4260	42, // 77: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4261	43, // 78: google.cloud.kms.v1.KeyManagementService.CreateImportJob:output_type -> google.cloud.kms.v1.ImportJob
4262	41, // 79: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4263	42, // 80: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4264	41, // 81: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:output_type -> google.cloud.kms.v1.CryptoKey
4265	42, // 82: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4266	42, // 83: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4267	30, // 84: google.cloud.kms.v1.KeyManagementService.Encrypt:output_type -> google.cloud.kms.v1.EncryptResponse
4268	31, // 85: google.cloud.kms.v1.KeyManagementService.Decrypt:output_type -> google.cloud.kms.v1.DecryptResponse
4269	32, // 86: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:output_type -> google.cloud.kms.v1.AsymmetricSignResponse
4270	33, // 87: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:output_type -> google.cloud.kms.v1.AsymmetricDecryptResponse
4271	34, // 88: google.cloud.kms.v1.KeyManagementService.MacSign:output_type -> google.cloud.kms.v1.MacSignResponse
4272	35, // 89: google.cloud.kms.v1.KeyManagementService.MacVerify:output_type -> google.cloud.kms.v1.MacVerifyResponse
4273	36, // 90: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:output_type -> google.cloud.kms.v1.GenerateRandomBytesResponse
4274	65, // [65:91] is the sub-list for method output_type
4275	39, // [39:65] is the sub-list for method input_type
4276	39, // [39:39] is the sub-list for extension type_name
4277	39, // [39:39] is the sub-list for extension extendee
4278	0,  // [0:39] is the sub-list for field type_name
4279}
4280
4281func init() { file_google_cloud_kms_v1_service_proto_init() }
4282func file_google_cloud_kms_v1_service_proto_init() {
4283	if File_google_cloud_kms_v1_service_proto != nil {
4284		return
4285	}
4286	file_google_cloud_kms_v1_resources_proto_init()
4287	if !protoimpl.UnsafeEnabled {
4288		file_google_cloud_kms_v1_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4289			switch v := v.(*ListKeyRingsRequest); i {
4290			case 0:
4291				return &v.state
4292			case 1:
4293				return &v.sizeCache
4294			case 2:
4295				return &v.unknownFields
4296			default:
4297				return nil
4298			}
4299		}
4300		file_google_cloud_kms_v1_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4301			switch v := v.(*ListCryptoKeysRequest); i {
4302			case 0:
4303				return &v.state
4304			case 1:
4305				return &v.sizeCache
4306			case 2:
4307				return &v.unknownFields
4308			default:
4309				return nil
4310			}
4311		}
4312		file_google_cloud_kms_v1_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4313			switch v := v.(*ListCryptoKeyVersionsRequest); i {
4314			case 0:
4315				return &v.state
4316			case 1:
4317				return &v.sizeCache
4318			case 2:
4319				return &v.unknownFields
4320			default:
4321				return nil
4322			}
4323		}
4324		file_google_cloud_kms_v1_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4325			switch v := v.(*ListImportJobsRequest); i {
4326			case 0:
4327				return &v.state
4328			case 1:
4329				return &v.sizeCache
4330			case 2:
4331				return &v.unknownFields
4332			default:
4333				return nil
4334			}
4335		}
4336		file_google_cloud_kms_v1_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4337			switch v := v.(*ListKeyRingsResponse); i {
4338			case 0:
4339				return &v.state
4340			case 1:
4341				return &v.sizeCache
4342			case 2:
4343				return &v.unknownFields
4344			default:
4345				return nil
4346			}
4347		}
4348		file_google_cloud_kms_v1_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4349			switch v := v.(*ListCryptoKeysResponse); i {
4350			case 0:
4351				return &v.state
4352			case 1:
4353				return &v.sizeCache
4354			case 2:
4355				return &v.unknownFields
4356			default:
4357				return nil
4358			}
4359		}
4360		file_google_cloud_kms_v1_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4361			switch v := v.(*ListCryptoKeyVersionsResponse); i {
4362			case 0:
4363				return &v.state
4364			case 1:
4365				return &v.sizeCache
4366			case 2:
4367				return &v.unknownFields
4368			default:
4369				return nil
4370			}
4371		}
4372		file_google_cloud_kms_v1_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4373			switch v := v.(*ListImportJobsResponse); i {
4374			case 0:
4375				return &v.state
4376			case 1:
4377				return &v.sizeCache
4378			case 2:
4379				return &v.unknownFields
4380			default:
4381				return nil
4382			}
4383		}
4384		file_google_cloud_kms_v1_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4385			switch v := v.(*GetKeyRingRequest); i {
4386			case 0:
4387				return &v.state
4388			case 1:
4389				return &v.sizeCache
4390			case 2:
4391				return &v.unknownFields
4392			default:
4393				return nil
4394			}
4395		}
4396		file_google_cloud_kms_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4397			switch v := v.(*GetCryptoKeyRequest); i {
4398			case 0:
4399				return &v.state
4400			case 1:
4401				return &v.sizeCache
4402			case 2:
4403				return &v.unknownFields
4404			default:
4405				return nil
4406			}
4407		}
4408		file_google_cloud_kms_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4409			switch v := v.(*GetCryptoKeyVersionRequest); i {
4410			case 0:
4411				return &v.state
4412			case 1:
4413				return &v.sizeCache
4414			case 2:
4415				return &v.unknownFields
4416			default:
4417				return nil
4418			}
4419		}
4420		file_google_cloud_kms_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4421			switch v := v.(*GetPublicKeyRequest); i {
4422			case 0:
4423				return &v.state
4424			case 1:
4425				return &v.sizeCache
4426			case 2:
4427				return &v.unknownFields
4428			default:
4429				return nil
4430			}
4431		}
4432		file_google_cloud_kms_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4433			switch v := v.(*GetImportJobRequest); i {
4434			case 0:
4435				return &v.state
4436			case 1:
4437				return &v.sizeCache
4438			case 2:
4439				return &v.unknownFields
4440			default:
4441				return nil
4442			}
4443		}
4444		file_google_cloud_kms_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4445			switch v := v.(*CreateKeyRingRequest); i {
4446			case 0:
4447				return &v.state
4448			case 1:
4449				return &v.sizeCache
4450			case 2:
4451				return &v.unknownFields
4452			default:
4453				return nil
4454			}
4455		}
4456		file_google_cloud_kms_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4457			switch v := v.(*CreateCryptoKeyRequest); i {
4458			case 0:
4459				return &v.state
4460			case 1:
4461				return &v.sizeCache
4462			case 2:
4463				return &v.unknownFields
4464			default:
4465				return nil
4466			}
4467		}
4468		file_google_cloud_kms_v1_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4469			switch v := v.(*CreateCryptoKeyVersionRequest); i {
4470			case 0:
4471				return &v.state
4472			case 1:
4473				return &v.sizeCache
4474			case 2:
4475				return &v.unknownFields
4476			default:
4477				return nil
4478			}
4479		}
4480		file_google_cloud_kms_v1_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4481			switch v := v.(*ImportCryptoKeyVersionRequest); i {
4482			case 0:
4483				return &v.state
4484			case 1:
4485				return &v.sizeCache
4486			case 2:
4487				return &v.unknownFields
4488			default:
4489				return nil
4490			}
4491		}
4492		file_google_cloud_kms_v1_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4493			switch v := v.(*CreateImportJobRequest); i {
4494			case 0:
4495				return &v.state
4496			case 1:
4497				return &v.sizeCache
4498			case 2:
4499				return &v.unknownFields
4500			default:
4501				return nil
4502			}
4503		}
4504		file_google_cloud_kms_v1_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4505			switch v := v.(*UpdateCryptoKeyRequest); i {
4506			case 0:
4507				return &v.state
4508			case 1:
4509				return &v.sizeCache
4510			case 2:
4511				return &v.unknownFields
4512			default:
4513				return nil
4514			}
4515		}
4516		file_google_cloud_kms_v1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4517			switch v := v.(*UpdateCryptoKeyVersionRequest); i {
4518			case 0:
4519				return &v.state
4520			case 1:
4521				return &v.sizeCache
4522			case 2:
4523				return &v.unknownFields
4524			default:
4525				return nil
4526			}
4527		}
4528		file_google_cloud_kms_v1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4529			switch v := v.(*UpdateCryptoKeyPrimaryVersionRequest); i {
4530			case 0:
4531				return &v.state
4532			case 1:
4533				return &v.sizeCache
4534			case 2:
4535				return &v.unknownFields
4536			default:
4537				return nil
4538			}
4539		}
4540		file_google_cloud_kms_v1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4541			switch v := v.(*DestroyCryptoKeyVersionRequest); i {
4542			case 0:
4543				return &v.state
4544			case 1:
4545				return &v.sizeCache
4546			case 2:
4547				return &v.unknownFields
4548			default:
4549				return nil
4550			}
4551		}
4552		file_google_cloud_kms_v1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4553			switch v := v.(*RestoreCryptoKeyVersionRequest); i {
4554			case 0:
4555				return &v.state
4556			case 1:
4557				return &v.sizeCache
4558			case 2:
4559				return &v.unknownFields
4560			default:
4561				return nil
4562			}
4563		}
4564		file_google_cloud_kms_v1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4565			switch v := v.(*EncryptRequest); i {
4566			case 0:
4567				return &v.state
4568			case 1:
4569				return &v.sizeCache
4570			case 2:
4571				return &v.unknownFields
4572			default:
4573				return nil
4574			}
4575		}
4576		file_google_cloud_kms_v1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4577			switch v := v.(*DecryptRequest); i {
4578			case 0:
4579				return &v.state
4580			case 1:
4581				return &v.sizeCache
4582			case 2:
4583				return &v.unknownFields
4584			default:
4585				return nil
4586			}
4587		}
4588		file_google_cloud_kms_v1_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4589			switch v := v.(*AsymmetricSignRequest); i {
4590			case 0:
4591				return &v.state
4592			case 1:
4593				return &v.sizeCache
4594			case 2:
4595				return &v.unknownFields
4596			default:
4597				return nil
4598			}
4599		}
4600		file_google_cloud_kms_v1_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4601			switch v := v.(*AsymmetricDecryptRequest); i {
4602			case 0:
4603				return &v.state
4604			case 1:
4605				return &v.sizeCache
4606			case 2:
4607				return &v.unknownFields
4608			default:
4609				return nil
4610			}
4611		}
4612		file_google_cloud_kms_v1_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4613			switch v := v.(*MacSignRequest); i {
4614			case 0:
4615				return &v.state
4616			case 1:
4617				return &v.sizeCache
4618			case 2:
4619				return &v.unknownFields
4620			default:
4621				return nil
4622			}
4623		}
4624		file_google_cloud_kms_v1_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4625			switch v := v.(*MacVerifyRequest); i {
4626			case 0:
4627				return &v.state
4628			case 1:
4629				return &v.sizeCache
4630			case 2:
4631				return &v.unknownFields
4632			default:
4633				return nil
4634			}
4635		}
4636		file_google_cloud_kms_v1_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4637			switch v := v.(*GenerateRandomBytesRequest); i {
4638			case 0:
4639				return &v.state
4640			case 1:
4641				return &v.sizeCache
4642			case 2:
4643				return &v.unknownFields
4644			default:
4645				return nil
4646			}
4647		}
4648		file_google_cloud_kms_v1_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4649			switch v := v.(*EncryptResponse); i {
4650			case 0:
4651				return &v.state
4652			case 1:
4653				return &v.sizeCache
4654			case 2:
4655				return &v.unknownFields
4656			default:
4657				return nil
4658			}
4659		}
4660		file_google_cloud_kms_v1_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4661			switch v := v.(*DecryptResponse); i {
4662			case 0:
4663				return &v.state
4664			case 1:
4665				return &v.sizeCache
4666			case 2:
4667				return &v.unknownFields
4668			default:
4669				return nil
4670			}
4671		}
4672		file_google_cloud_kms_v1_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4673			switch v := v.(*AsymmetricSignResponse); i {
4674			case 0:
4675				return &v.state
4676			case 1:
4677				return &v.sizeCache
4678			case 2:
4679				return &v.unknownFields
4680			default:
4681				return nil
4682			}
4683		}
4684		file_google_cloud_kms_v1_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4685			switch v := v.(*AsymmetricDecryptResponse); i {
4686			case 0:
4687				return &v.state
4688			case 1:
4689				return &v.sizeCache
4690			case 2:
4691				return &v.unknownFields
4692			default:
4693				return nil
4694			}
4695		}
4696		file_google_cloud_kms_v1_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4697			switch v := v.(*MacSignResponse); i {
4698			case 0:
4699				return &v.state
4700			case 1:
4701				return &v.sizeCache
4702			case 2:
4703				return &v.unknownFields
4704			default:
4705				return nil
4706			}
4707		}
4708		file_google_cloud_kms_v1_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4709			switch v := v.(*MacVerifyResponse); i {
4710			case 0:
4711				return &v.state
4712			case 1:
4713				return &v.sizeCache
4714			case 2:
4715				return &v.unknownFields
4716			default:
4717				return nil
4718			}
4719		}
4720		file_google_cloud_kms_v1_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4721			switch v := v.(*GenerateRandomBytesResponse); i {
4722			case 0:
4723				return &v.state
4724			case 1:
4725				return &v.sizeCache
4726			case 2:
4727				return &v.unknownFields
4728			default:
4729				return nil
4730			}
4731		}
4732		file_google_cloud_kms_v1_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4733			switch v := v.(*Digest); i {
4734			case 0:
4735				return &v.state
4736			case 1:
4737				return &v.sizeCache
4738			case 2:
4739				return &v.unknownFields
4740			default:
4741				return nil
4742			}
4743		}
4744		file_google_cloud_kms_v1_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4745			switch v := v.(*LocationMetadata); i {
4746			case 0:
4747				return &v.state
4748			case 1:
4749				return &v.sizeCache
4750			case 2:
4751				return &v.unknownFields
4752			default:
4753				return nil
4754			}
4755		}
4756	}
4757	file_google_cloud_kms_v1_service_proto_msgTypes[16].OneofWrappers = []interface{}{
4758		(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey)(nil),
4759	}
4760	file_google_cloud_kms_v1_service_proto_msgTypes[37].OneofWrappers = []interface{}{
4761		(*Digest_Sha256)(nil),
4762		(*Digest_Sha384)(nil),
4763		(*Digest_Sha512)(nil),
4764	}
4765	type x struct{}
4766	out := protoimpl.TypeBuilder{
4767		File: protoimpl.DescBuilder{
4768			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4769			RawDescriptor: file_google_cloud_kms_v1_service_proto_rawDesc,
4770			NumEnums:      0,
4771			NumMessages:   39,
4772			NumExtensions: 0,
4773			NumServices:   1,
4774		},
4775		GoTypes:           file_google_cloud_kms_v1_service_proto_goTypes,
4776		DependencyIndexes: file_google_cloud_kms_v1_service_proto_depIdxs,
4777		MessageInfos:      file_google_cloud_kms_v1_service_proto_msgTypes,
4778	}.Build()
4779	File_google_cloud_kms_v1_service_proto = out.File
4780	file_google_cloud_kms_v1_service_proto_rawDesc = nil
4781	file_google_cloud_kms_v1_service_proto_goTypes = nil
4782	file_google_cloud_kms_v1_service_proto_depIdxs = nil
4783}
4784
4785// Reference imports to suppress errors if they are not otherwise used.
4786var _ context.Context
4787var _ grpc.ClientConnInterface
4788
4789// This is a compile-time assertion to ensure that this generated file
4790// is compatible with the grpc package it is being compiled against.
4791const _ = grpc.SupportPackageIsVersion6
4792
4793// KeyManagementServiceClient is the client API for KeyManagementService service.
4794//
4795// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4796type KeyManagementServiceClient interface {
4797	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
4798	ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error)
4799	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
4800	ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error)
4801	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
4802	ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error)
4803	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
4804	ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error)
4805	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
4806	GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4807	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
4808	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4809	GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4810	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4811	GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4812	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
4813	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4814	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
4815	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
4816	GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error)
4817	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
4818	GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4819	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
4820	CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4821	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4822	//
4823	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
4824	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
4825	// are required.
4826	CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4827	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4828	//
4829	// The server will assign the next sequential id. If unset,
4830	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4831	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
4832	CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4833	// Import wrapped key material into a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4834	//
4835	// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is
4836	// additionally specified in the request, key material will be reimported into
4837	// that version. Otherwise, a new version will be created, and will be
4838	// assigned the next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
4839	ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4840	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4841	//
4842	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
4843	CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4844	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4845	UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4846	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
4847	//
4848	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
4849	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
4850	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
4851	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
4852	// move between other states.
4853	UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4854	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
4855	//
4856	// Returns an error if called on a key whose purpose is not
4857	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4858	UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4859	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
4860	//
4861	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4862	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
4863	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to the time
4864	// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration] in the
4865	// future. At that time, the [state][google.cloud.kms.v1.CryptoKeyVersion.state] will
4866	// automatically change to
4867	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
4868	// material will be irrevocably destroyed.
4869	//
4870	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
4871	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
4872	DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4873	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
4874	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4875	// state.
4876	//
4877	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4878	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
4879	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
4880	RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4881	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
4882	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4883	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4884	Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error)
4885	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4886	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4887	Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error)
4888	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4889	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
4890	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
4891	AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error)
4892	// Decrypts data that was encrypted with a public key retrieved from
4893	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
4894	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
4895	AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error)
4896	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4897	// MAC, producing a tag that can be verified by another source with the
4898	// same key.
4899	MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error)
4900	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4901	// MAC, and returns a response that indicates whether or not the verification
4902	// was successful.
4903	MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error)
4904	// Generate random bytes using the Cloud KMS randomness source in the provided
4905	// location.
4906	GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error)
4907}
4908
4909type keyManagementServiceClient struct {
4910	cc grpc.ClientConnInterface
4911}
4912
4913func NewKeyManagementServiceClient(cc grpc.ClientConnInterface) KeyManagementServiceClient {
4914	return &keyManagementServiceClient{cc}
4915}
4916
4917func (c *keyManagementServiceClient) ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error) {
4918	out := new(ListKeyRingsResponse)
4919	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListKeyRings", in, out, opts...)
4920	if err != nil {
4921		return nil, err
4922	}
4923	return out, nil
4924}
4925
4926func (c *keyManagementServiceClient) ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error) {
4927	out := new(ListCryptoKeysResponse)
4928	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys", in, out, opts...)
4929	if err != nil {
4930		return nil, err
4931	}
4932	return out, nil
4933}
4934
4935func (c *keyManagementServiceClient) ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error) {
4936	out := new(ListCryptoKeyVersionsResponse)
4937	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions", in, out, opts...)
4938	if err != nil {
4939		return nil, err
4940	}
4941	return out, nil
4942}
4943
4944func (c *keyManagementServiceClient) ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error) {
4945	out := new(ListImportJobsResponse)
4946	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListImportJobs", in, out, opts...)
4947	if err != nil {
4948		return nil, err
4949	}
4950	return out, nil
4951}
4952
4953func (c *keyManagementServiceClient) GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4954	out := new(KeyRing)
4955	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetKeyRing", in, out, opts...)
4956	if err != nil {
4957		return nil, err
4958	}
4959	return out, nil
4960}
4961
4962func (c *keyManagementServiceClient) GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4963	out := new(CryptoKey)
4964	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey", in, out, opts...)
4965	if err != nil {
4966		return nil, err
4967	}
4968	return out, nil
4969}
4970
4971func (c *keyManagementServiceClient) GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4972	out := new(CryptoKeyVersion)
4973	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion", in, out, opts...)
4974	if err != nil {
4975		return nil, err
4976	}
4977	return out, nil
4978}
4979
4980func (c *keyManagementServiceClient) GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error) {
4981	out := new(PublicKey)
4982	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetPublicKey", in, out, opts...)
4983	if err != nil {
4984		return nil, err
4985	}
4986	return out, nil
4987}
4988
4989func (c *keyManagementServiceClient) GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4990	out := new(ImportJob)
4991	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetImportJob", in, out, opts...)
4992	if err != nil {
4993		return nil, err
4994	}
4995	return out, nil
4996}
4997
4998func (c *keyManagementServiceClient) CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4999	out := new(KeyRing)
5000	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing", in, out, opts...)
5001	if err != nil {
5002		return nil, err
5003	}
5004	return out, nil
5005}
5006
5007func (c *keyManagementServiceClient) CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
5008	out := new(CryptoKey)
5009	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey", in, out, opts...)
5010	if err != nil {
5011		return nil, err
5012	}
5013	return out, nil
5014}
5015
5016func (c *keyManagementServiceClient) CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5017	out := new(CryptoKeyVersion)
5018	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion", in, out, opts...)
5019	if err != nil {
5020		return nil, err
5021	}
5022	return out, nil
5023}
5024
5025func (c *keyManagementServiceClient) ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5026	out := new(CryptoKeyVersion)
5027	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion", in, out, opts...)
5028	if err != nil {
5029		return nil, err
5030	}
5031	return out, nil
5032}
5033
5034func (c *keyManagementServiceClient) CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
5035	out := new(ImportJob)
5036	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateImportJob", in, out, opts...)
5037	if err != nil {
5038		return nil, err
5039	}
5040	return out, nil
5041}
5042
5043func (c *keyManagementServiceClient) UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
5044	out := new(CryptoKey)
5045	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey", in, out, opts...)
5046	if err != nil {
5047		return nil, err
5048	}
5049	return out, nil
5050}
5051
5052func (c *keyManagementServiceClient) UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5053	out := new(CryptoKeyVersion)
5054	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion", in, out, opts...)
5055	if err != nil {
5056		return nil, err
5057	}
5058	return out, nil
5059}
5060
5061func (c *keyManagementServiceClient) UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
5062	out := new(CryptoKey)
5063	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion", in, out, opts...)
5064	if err != nil {
5065		return nil, err
5066	}
5067	return out, nil
5068}
5069
5070func (c *keyManagementServiceClient) DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5071	out := new(CryptoKeyVersion)
5072	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion", in, out, opts...)
5073	if err != nil {
5074		return nil, err
5075	}
5076	return out, nil
5077}
5078
5079func (c *keyManagementServiceClient) RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5080	out := new(CryptoKeyVersion)
5081	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion", in, out, opts...)
5082	if err != nil {
5083		return nil, err
5084	}
5085	return out, nil
5086}
5087
5088func (c *keyManagementServiceClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) {
5089	out := new(EncryptResponse)
5090	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Encrypt", in, out, opts...)
5091	if err != nil {
5092		return nil, err
5093	}
5094	return out, nil
5095}
5096
5097func (c *keyManagementServiceClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) {
5098	out := new(DecryptResponse)
5099	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Decrypt", in, out, opts...)
5100	if err != nil {
5101		return nil, err
5102	}
5103	return out, nil
5104}
5105
5106func (c *keyManagementServiceClient) AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error) {
5107	out := new(AsymmetricSignResponse)
5108	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign", in, out, opts...)
5109	if err != nil {
5110		return nil, err
5111	}
5112	return out, nil
5113}
5114
5115func (c *keyManagementServiceClient) AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error) {
5116	out := new(AsymmetricDecryptResponse)
5117	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt", in, out, opts...)
5118	if err != nil {
5119		return nil, err
5120	}
5121	return out, nil
5122}
5123
5124func (c *keyManagementServiceClient) MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error) {
5125	out := new(MacSignResponse)
5126	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacSign", in, out, opts...)
5127	if err != nil {
5128		return nil, err
5129	}
5130	return out, nil
5131}
5132
5133func (c *keyManagementServiceClient) MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error) {
5134	out := new(MacVerifyResponse)
5135	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacVerify", in, out, opts...)
5136	if err != nil {
5137		return nil, err
5138	}
5139	return out, nil
5140}
5141
5142func (c *keyManagementServiceClient) GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error) {
5143	out := new(GenerateRandomBytesResponse)
5144	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes", in, out, opts...)
5145	if err != nil {
5146		return nil, err
5147	}
5148	return out, nil
5149}
5150
5151// KeyManagementServiceServer is the server API for KeyManagementService service.
5152type KeyManagementServiceServer interface {
5153	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
5154	ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)
5155	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
5156	ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)
5157	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
5158	ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)
5159	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
5160	ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)
5161	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
5162	GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)
5163	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
5164	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5165	GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)
5166	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5167	GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5168	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
5169	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5170	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
5171	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
5172	GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)
5173	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
5174	GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)
5175	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
5176	CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)
5177	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5178	//
5179	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
5180	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
5181	// are required.
5182	CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)
5183	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5184	//
5185	// The server will assign the next sequential id. If unset,
5186	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5187	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
5188	CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5189	// Import wrapped key material into a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5190	//
5191	// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is
5192	// additionally specified in the request, key material will be reimported into
5193	// that version. Otherwise, a new version will be created, and will be
5194	// assigned the next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
5195	ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5196	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5197	//
5198	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
5199	CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)
5200	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5201	UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)
5202	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
5203	//
5204	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
5205	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
5206	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
5207	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
5208	// move between other states.
5209	UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5210	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
5211	//
5212	// Returns an error if called on a key whose purpose is not
5213	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5214	UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)
5215	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
5216	//
5217	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5218	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
5219	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to the time
5220	// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration] in the
5221	// future. At that time, the [state][google.cloud.kms.v1.CryptoKeyVersion.state] will
5222	// automatically change to
5223	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
5224	// material will be irrevocably destroyed.
5225	//
5226	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
5227	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
5228	DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5229	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
5230	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
5231	// state.
5232	//
5233	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
5234	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
5235	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
5236	RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5237	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
5238	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5239	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5240	Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)
5241	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5242	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5243	Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)
5244	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5245	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
5246	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
5247	AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)
5248	// Decrypts data that was encrypted with a public key retrieved from
5249	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
5250	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
5251	AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)
5252	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5253	// MAC, producing a tag that can be verified by another source with the
5254	// same key.
5255	MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error)
5256	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5257	// MAC, and returns a response that indicates whether or not the verification
5258	// was successful.
5259	MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error)
5260	// Generate random bytes using the Cloud KMS randomness source in the provided
5261	// location.
5262	GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error)
5263}
5264
5265// UnimplementedKeyManagementServiceServer can be embedded to have forward compatible implementations.
5266type UnimplementedKeyManagementServiceServer struct {
5267}
5268
5269func (*UnimplementedKeyManagementServiceServer) ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error) {
5270	return nil, status.Errorf(codes.Unimplemented, "method ListKeyRings not implemented")
5271}
5272func (*UnimplementedKeyManagementServiceServer) ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error) {
5273	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeys not implemented")
5274}
5275func (*UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error) {
5276	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeyVersions not implemented")
5277}
5278func (*UnimplementedKeyManagementServiceServer) ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error) {
5279	return nil, status.Errorf(codes.Unimplemented, "method ListImportJobs not implemented")
5280}
5281func (*UnimplementedKeyManagementServiceServer) GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error) {
5282	return nil, status.Errorf(codes.Unimplemented, "method GetKeyRing not implemented")
5283}
5284func (*UnimplementedKeyManagementServiceServer) GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error) {
5285	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKey not implemented")
5286}
5287func (*UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5288	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKeyVersion not implemented")
5289}
5290func (*UnimplementedKeyManagementServiceServer) GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error) {
5291	return nil, status.Errorf(codes.Unimplemented, "method GetPublicKey not implemented")
5292}
5293func (*UnimplementedKeyManagementServiceServer) GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error) {
5294	return nil, status.Errorf(codes.Unimplemented, "method GetImportJob not implemented")
5295}
5296func (*UnimplementedKeyManagementServiceServer) CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error) {
5297	return nil, status.Errorf(codes.Unimplemented, "method CreateKeyRing not implemented")
5298}
5299func (*UnimplementedKeyManagementServiceServer) CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error) {
5300	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKey not implemented")
5301}
5302func (*UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5303	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKeyVersion not implemented")
5304}
5305func (*UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5306	return nil, status.Errorf(codes.Unimplemented, "method ImportCryptoKeyVersion not implemented")
5307}
5308func (*UnimplementedKeyManagementServiceServer) CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error) {
5309	return nil, status.Errorf(codes.Unimplemented, "method CreateImportJob not implemented")
5310}
5311func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error) {
5312	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKey not implemented")
5313}
5314func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5315	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyVersion not implemented")
5316}
5317func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error) {
5318	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyPrimaryVersion not implemented")
5319}
5320func (*UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5321	return nil, status.Errorf(codes.Unimplemented, "method DestroyCryptoKeyVersion not implemented")
5322}
5323func (*UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5324	return nil, status.Errorf(codes.Unimplemented, "method RestoreCryptoKeyVersion not implemented")
5325}
5326func (*UnimplementedKeyManagementServiceServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) {
5327	return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented")
5328}
5329func (*UnimplementedKeyManagementServiceServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) {
5330	return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented")
5331}
5332func (*UnimplementedKeyManagementServiceServer) AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error) {
5333	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricSign not implemented")
5334}
5335func (*UnimplementedKeyManagementServiceServer) AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error) {
5336	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricDecrypt not implemented")
5337}
5338func (*UnimplementedKeyManagementServiceServer) MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error) {
5339	return nil, status.Errorf(codes.Unimplemented, "method MacSign not implemented")
5340}
5341func (*UnimplementedKeyManagementServiceServer) MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error) {
5342	return nil, status.Errorf(codes.Unimplemented, "method MacVerify not implemented")
5343}
5344func (*UnimplementedKeyManagementServiceServer) GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error) {
5345	return nil, status.Errorf(codes.Unimplemented, "method GenerateRandomBytes not implemented")
5346}
5347
5348func RegisterKeyManagementServiceServer(s *grpc.Server, srv KeyManagementServiceServer) {
5349	s.RegisterService(&_KeyManagementService_serviceDesc, srv)
5350}
5351
5352func _KeyManagementService_ListKeyRings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5353	in := new(ListKeyRingsRequest)
5354	if err := dec(in); err != nil {
5355		return nil, err
5356	}
5357	if interceptor == nil {
5358		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, in)
5359	}
5360	info := &grpc.UnaryServerInfo{
5361		Server:     srv,
5362		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListKeyRings",
5363	}
5364	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5365		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, req.(*ListKeyRingsRequest))
5366	}
5367	return interceptor(ctx, in, info, handler)
5368}
5369
5370func _KeyManagementService_ListCryptoKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5371	in := new(ListCryptoKeysRequest)
5372	if err := dec(in); err != nil {
5373		return nil, err
5374	}
5375	if interceptor == nil {
5376		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, in)
5377	}
5378	info := &grpc.UnaryServerInfo{
5379		Server:     srv,
5380		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys",
5381	}
5382	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5383		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, req.(*ListCryptoKeysRequest))
5384	}
5385	return interceptor(ctx, in, info, handler)
5386}
5387
5388func _KeyManagementService_ListCryptoKeyVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5389	in := new(ListCryptoKeyVersionsRequest)
5390	if err := dec(in); err != nil {
5391		return nil, err
5392	}
5393	if interceptor == nil {
5394		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, in)
5395	}
5396	info := &grpc.UnaryServerInfo{
5397		Server:     srv,
5398		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions",
5399	}
5400	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5401		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, req.(*ListCryptoKeyVersionsRequest))
5402	}
5403	return interceptor(ctx, in, info, handler)
5404}
5405
5406func _KeyManagementService_ListImportJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5407	in := new(ListImportJobsRequest)
5408	if err := dec(in); err != nil {
5409		return nil, err
5410	}
5411	if interceptor == nil {
5412		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, in)
5413	}
5414	info := &grpc.UnaryServerInfo{
5415		Server:     srv,
5416		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListImportJobs",
5417	}
5418	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5419		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, req.(*ListImportJobsRequest))
5420	}
5421	return interceptor(ctx, in, info, handler)
5422}
5423
5424func _KeyManagementService_GetKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5425	in := new(GetKeyRingRequest)
5426	if err := dec(in); err != nil {
5427		return nil, err
5428	}
5429	if interceptor == nil {
5430		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, in)
5431	}
5432	info := &grpc.UnaryServerInfo{
5433		Server:     srv,
5434		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetKeyRing",
5435	}
5436	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5437		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, req.(*GetKeyRingRequest))
5438	}
5439	return interceptor(ctx, in, info, handler)
5440}
5441
5442func _KeyManagementService_GetCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5443	in := new(GetCryptoKeyRequest)
5444	if err := dec(in); err != nil {
5445		return nil, err
5446	}
5447	if interceptor == nil {
5448		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, in)
5449	}
5450	info := &grpc.UnaryServerInfo{
5451		Server:     srv,
5452		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey",
5453	}
5454	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5455		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, req.(*GetCryptoKeyRequest))
5456	}
5457	return interceptor(ctx, in, info, handler)
5458}
5459
5460func _KeyManagementService_GetCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5461	in := new(GetCryptoKeyVersionRequest)
5462	if err := dec(in); err != nil {
5463		return nil, err
5464	}
5465	if interceptor == nil {
5466		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, in)
5467	}
5468	info := &grpc.UnaryServerInfo{
5469		Server:     srv,
5470		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion",
5471	}
5472	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5473		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, req.(*GetCryptoKeyVersionRequest))
5474	}
5475	return interceptor(ctx, in, info, handler)
5476}
5477
5478func _KeyManagementService_GetPublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5479	in := new(GetPublicKeyRequest)
5480	if err := dec(in); err != nil {
5481		return nil, err
5482	}
5483	if interceptor == nil {
5484		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, in)
5485	}
5486	info := &grpc.UnaryServerInfo{
5487		Server:     srv,
5488		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetPublicKey",
5489	}
5490	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5491		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, req.(*GetPublicKeyRequest))
5492	}
5493	return interceptor(ctx, in, info, handler)
5494}
5495
5496func _KeyManagementService_GetImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5497	in := new(GetImportJobRequest)
5498	if err := dec(in); err != nil {
5499		return nil, err
5500	}
5501	if interceptor == nil {
5502		return srv.(KeyManagementServiceServer).GetImportJob(ctx, in)
5503	}
5504	info := &grpc.UnaryServerInfo{
5505		Server:     srv,
5506		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetImportJob",
5507	}
5508	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5509		return srv.(KeyManagementServiceServer).GetImportJob(ctx, req.(*GetImportJobRequest))
5510	}
5511	return interceptor(ctx, in, info, handler)
5512}
5513
5514func _KeyManagementService_CreateKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5515	in := new(CreateKeyRingRequest)
5516	if err := dec(in); err != nil {
5517		return nil, err
5518	}
5519	if interceptor == nil {
5520		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, in)
5521	}
5522	info := &grpc.UnaryServerInfo{
5523		Server:     srv,
5524		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing",
5525	}
5526	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5527		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, req.(*CreateKeyRingRequest))
5528	}
5529	return interceptor(ctx, in, info, handler)
5530}
5531
5532func _KeyManagementService_CreateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5533	in := new(CreateCryptoKeyRequest)
5534	if err := dec(in); err != nil {
5535		return nil, err
5536	}
5537	if interceptor == nil {
5538		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, in)
5539	}
5540	info := &grpc.UnaryServerInfo{
5541		Server:     srv,
5542		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey",
5543	}
5544	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5545		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, req.(*CreateCryptoKeyRequest))
5546	}
5547	return interceptor(ctx, in, info, handler)
5548}
5549
5550func _KeyManagementService_CreateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5551	in := new(CreateCryptoKeyVersionRequest)
5552	if err := dec(in); err != nil {
5553		return nil, err
5554	}
5555	if interceptor == nil {
5556		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, in)
5557	}
5558	info := &grpc.UnaryServerInfo{
5559		Server:     srv,
5560		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion",
5561	}
5562	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5563		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, req.(*CreateCryptoKeyVersionRequest))
5564	}
5565	return interceptor(ctx, in, info, handler)
5566}
5567
5568func _KeyManagementService_ImportCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5569	in := new(ImportCryptoKeyVersionRequest)
5570	if err := dec(in); err != nil {
5571		return nil, err
5572	}
5573	if interceptor == nil {
5574		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, in)
5575	}
5576	info := &grpc.UnaryServerInfo{
5577		Server:     srv,
5578		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion",
5579	}
5580	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5581		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, req.(*ImportCryptoKeyVersionRequest))
5582	}
5583	return interceptor(ctx, in, info, handler)
5584}
5585
5586func _KeyManagementService_CreateImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5587	in := new(CreateImportJobRequest)
5588	if err := dec(in); err != nil {
5589		return nil, err
5590	}
5591	if interceptor == nil {
5592		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, in)
5593	}
5594	info := &grpc.UnaryServerInfo{
5595		Server:     srv,
5596		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateImportJob",
5597	}
5598	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5599		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, req.(*CreateImportJobRequest))
5600	}
5601	return interceptor(ctx, in, info, handler)
5602}
5603
5604func _KeyManagementService_UpdateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5605	in := new(UpdateCryptoKeyRequest)
5606	if err := dec(in); err != nil {
5607		return nil, err
5608	}
5609	if interceptor == nil {
5610		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, in)
5611	}
5612	info := &grpc.UnaryServerInfo{
5613		Server:     srv,
5614		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey",
5615	}
5616	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5617		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, req.(*UpdateCryptoKeyRequest))
5618	}
5619	return interceptor(ctx, in, info, handler)
5620}
5621
5622func _KeyManagementService_UpdateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5623	in := new(UpdateCryptoKeyVersionRequest)
5624	if err := dec(in); err != nil {
5625		return nil, err
5626	}
5627	if interceptor == nil {
5628		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, in)
5629	}
5630	info := &grpc.UnaryServerInfo{
5631		Server:     srv,
5632		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion",
5633	}
5634	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5635		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, req.(*UpdateCryptoKeyVersionRequest))
5636	}
5637	return interceptor(ctx, in, info, handler)
5638}
5639
5640func _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5641	in := new(UpdateCryptoKeyPrimaryVersionRequest)
5642	if err := dec(in); err != nil {
5643		return nil, err
5644	}
5645	if interceptor == nil {
5646		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, in)
5647	}
5648	info := &grpc.UnaryServerInfo{
5649		Server:     srv,
5650		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion",
5651	}
5652	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5653		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, req.(*UpdateCryptoKeyPrimaryVersionRequest))
5654	}
5655	return interceptor(ctx, in, info, handler)
5656}
5657
5658func _KeyManagementService_DestroyCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5659	in := new(DestroyCryptoKeyVersionRequest)
5660	if err := dec(in); err != nil {
5661		return nil, err
5662	}
5663	if interceptor == nil {
5664		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, in)
5665	}
5666	info := &grpc.UnaryServerInfo{
5667		Server:     srv,
5668		FullMethod: "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion",
5669	}
5670	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5671		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, req.(*DestroyCryptoKeyVersionRequest))
5672	}
5673	return interceptor(ctx, in, info, handler)
5674}
5675
5676func _KeyManagementService_RestoreCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5677	in := new(RestoreCryptoKeyVersionRequest)
5678	if err := dec(in); err != nil {
5679		return nil, err
5680	}
5681	if interceptor == nil {
5682		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, in)
5683	}
5684	info := &grpc.UnaryServerInfo{
5685		Server:     srv,
5686		FullMethod: "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion",
5687	}
5688	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5689		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, req.(*RestoreCryptoKeyVersionRequest))
5690	}
5691	return interceptor(ctx, in, info, handler)
5692}
5693
5694func _KeyManagementService_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5695	in := new(EncryptRequest)
5696	if err := dec(in); err != nil {
5697		return nil, err
5698	}
5699	if interceptor == nil {
5700		return srv.(KeyManagementServiceServer).Encrypt(ctx, in)
5701	}
5702	info := &grpc.UnaryServerInfo{
5703		Server:     srv,
5704		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Encrypt",
5705	}
5706	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5707		return srv.(KeyManagementServiceServer).Encrypt(ctx, req.(*EncryptRequest))
5708	}
5709	return interceptor(ctx, in, info, handler)
5710}
5711
5712func _KeyManagementService_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5713	in := new(DecryptRequest)
5714	if err := dec(in); err != nil {
5715		return nil, err
5716	}
5717	if interceptor == nil {
5718		return srv.(KeyManagementServiceServer).Decrypt(ctx, in)
5719	}
5720	info := &grpc.UnaryServerInfo{
5721		Server:     srv,
5722		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Decrypt",
5723	}
5724	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5725		return srv.(KeyManagementServiceServer).Decrypt(ctx, req.(*DecryptRequest))
5726	}
5727	return interceptor(ctx, in, info, handler)
5728}
5729
5730func _KeyManagementService_AsymmetricSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5731	in := new(AsymmetricSignRequest)
5732	if err := dec(in); err != nil {
5733		return nil, err
5734	}
5735	if interceptor == nil {
5736		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, in)
5737	}
5738	info := &grpc.UnaryServerInfo{
5739		Server:     srv,
5740		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign",
5741	}
5742	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5743		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, req.(*AsymmetricSignRequest))
5744	}
5745	return interceptor(ctx, in, info, handler)
5746}
5747
5748func _KeyManagementService_AsymmetricDecrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5749	in := new(AsymmetricDecryptRequest)
5750	if err := dec(in); err != nil {
5751		return nil, err
5752	}
5753	if interceptor == nil {
5754		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, in)
5755	}
5756	info := &grpc.UnaryServerInfo{
5757		Server:     srv,
5758		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt",
5759	}
5760	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5761		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, req.(*AsymmetricDecryptRequest))
5762	}
5763	return interceptor(ctx, in, info, handler)
5764}
5765
5766func _KeyManagementService_MacSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5767	in := new(MacSignRequest)
5768	if err := dec(in); err != nil {
5769		return nil, err
5770	}
5771	if interceptor == nil {
5772		return srv.(KeyManagementServiceServer).MacSign(ctx, in)
5773	}
5774	info := &grpc.UnaryServerInfo{
5775		Server:     srv,
5776		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacSign",
5777	}
5778	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5779		return srv.(KeyManagementServiceServer).MacSign(ctx, req.(*MacSignRequest))
5780	}
5781	return interceptor(ctx, in, info, handler)
5782}
5783
5784func _KeyManagementService_MacVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5785	in := new(MacVerifyRequest)
5786	if err := dec(in); err != nil {
5787		return nil, err
5788	}
5789	if interceptor == nil {
5790		return srv.(KeyManagementServiceServer).MacVerify(ctx, in)
5791	}
5792	info := &grpc.UnaryServerInfo{
5793		Server:     srv,
5794		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacVerify",
5795	}
5796	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5797		return srv.(KeyManagementServiceServer).MacVerify(ctx, req.(*MacVerifyRequest))
5798	}
5799	return interceptor(ctx, in, info, handler)
5800}
5801
5802func _KeyManagementService_GenerateRandomBytes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5803	in := new(GenerateRandomBytesRequest)
5804	if err := dec(in); err != nil {
5805		return nil, err
5806	}
5807	if interceptor == nil {
5808		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, in)
5809	}
5810	info := &grpc.UnaryServerInfo{
5811		Server:     srv,
5812		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes",
5813	}
5814	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5815		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, req.(*GenerateRandomBytesRequest))
5816	}
5817	return interceptor(ctx, in, info, handler)
5818}
5819
5820var _KeyManagementService_serviceDesc = grpc.ServiceDesc{
5821	ServiceName: "google.cloud.kms.v1.KeyManagementService",
5822	HandlerType: (*KeyManagementServiceServer)(nil),
5823	Methods: []grpc.MethodDesc{
5824		{
5825			MethodName: "ListKeyRings",
5826			Handler:    _KeyManagementService_ListKeyRings_Handler,
5827		},
5828		{
5829			MethodName: "ListCryptoKeys",
5830			Handler:    _KeyManagementService_ListCryptoKeys_Handler,
5831		},
5832		{
5833			MethodName: "ListCryptoKeyVersions",
5834			Handler:    _KeyManagementService_ListCryptoKeyVersions_Handler,
5835		},
5836		{
5837			MethodName: "ListImportJobs",
5838			Handler:    _KeyManagementService_ListImportJobs_Handler,
5839		},
5840		{
5841			MethodName: "GetKeyRing",
5842			Handler:    _KeyManagementService_GetKeyRing_Handler,
5843		},
5844		{
5845			MethodName: "GetCryptoKey",
5846			Handler:    _KeyManagementService_GetCryptoKey_Handler,
5847		},
5848		{
5849			MethodName: "GetCryptoKeyVersion",
5850			Handler:    _KeyManagementService_GetCryptoKeyVersion_Handler,
5851		},
5852		{
5853			MethodName: "GetPublicKey",
5854			Handler:    _KeyManagementService_GetPublicKey_Handler,
5855		},
5856		{
5857			MethodName: "GetImportJob",
5858			Handler:    _KeyManagementService_GetImportJob_Handler,
5859		},
5860		{
5861			MethodName: "CreateKeyRing",
5862			Handler:    _KeyManagementService_CreateKeyRing_Handler,
5863		},
5864		{
5865			MethodName: "CreateCryptoKey",
5866			Handler:    _KeyManagementService_CreateCryptoKey_Handler,
5867		},
5868		{
5869			MethodName: "CreateCryptoKeyVersion",
5870			Handler:    _KeyManagementService_CreateCryptoKeyVersion_Handler,
5871		},
5872		{
5873			MethodName: "ImportCryptoKeyVersion",
5874			Handler:    _KeyManagementService_ImportCryptoKeyVersion_Handler,
5875		},
5876		{
5877			MethodName: "CreateImportJob",
5878			Handler:    _KeyManagementService_CreateImportJob_Handler,
5879		},
5880		{
5881			MethodName: "UpdateCryptoKey",
5882			Handler:    _KeyManagementService_UpdateCryptoKey_Handler,
5883		},
5884		{
5885			MethodName: "UpdateCryptoKeyVersion",
5886			Handler:    _KeyManagementService_UpdateCryptoKeyVersion_Handler,
5887		},
5888		{
5889			MethodName: "UpdateCryptoKeyPrimaryVersion",
5890			Handler:    _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler,
5891		},
5892		{
5893			MethodName: "DestroyCryptoKeyVersion",
5894			Handler:    _KeyManagementService_DestroyCryptoKeyVersion_Handler,
5895		},
5896		{
5897			MethodName: "RestoreCryptoKeyVersion",
5898			Handler:    _KeyManagementService_RestoreCryptoKeyVersion_Handler,
5899		},
5900		{
5901			MethodName: "Encrypt",
5902			Handler:    _KeyManagementService_Encrypt_Handler,
5903		},
5904		{
5905			MethodName: "Decrypt",
5906			Handler:    _KeyManagementService_Decrypt_Handler,
5907		},
5908		{
5909			MethodName: "AsymmetricSign",
5910			Handler:    _KeyManagementService_AsymmetricSign_Handler,
5911		},
5912		{
5913			MethodName: "AsymmetricDecrypt",
5914			Handler:    _KeyManagementService_AsymmetricDecrypt_Handler,
5915		},
5916		{
5917			MethodName: "MacSign",
5918			Handler:    _KeyManagementService_MacSign_Handler,
5919		},
5920		{
5921			MethodName: "MacVerify",
5922			Handler:    _KeyManagementService_MacVerify_Handler,
5923		},
5924		{
5925			MethodName: "GenerateRandomBytes",
5926			Handler:    _KeyManagementService_GenerateRandomBytes_Handler,
5927		},
5928	},
5929	Streams:  []grpc.StreamDesc{},
5930	Metadata: "google/cloud/kms/v1/service.proto",
5931}
5932