1// Copyright 2020 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/talent/v4beta1/job_service.proto
20
21package talent
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	status "google.golang.org/genproto/googleapis/rpc/status"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status1 "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	_ "google.golang.org/protobuf/types/known/anypb"
37	durationpb "google.golang.org/protobuf/types/known/durationpb"
38	emptypb "google.golang.org/protobuf/types/known/emptypb"
39	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// An enum that specifies the job attributes that are returned in the
50// [MatchingJob.job][google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.job] or
51// [ListJobsResponse.jobs][google.cloud.talent.v4beta1.ListJobsResponse.jobs] fields.
52type JobView int32
53
54const (
55	// Default value.
56	JobView_JOB_VIEW_UNSPECIFIED JobView = 0
57	// A ID only view of job, with following attributes:
58	// [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
59	JobView_JOB_VIEW_ID_ONLY JobView = 1
60	// A minimal view of the job, with the following attributes:
61	// [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title],
62	// [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
63	JobView_JOB_VIEW_MINIMAL JobView = 2
64	// A small view of the job, with the following attributes in the search
65	// results: [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title],
66	// [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.visibility][google.cloud.talent.v4beta1.Job.visibility],
67	// [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], [Job.description][google.cloud.talent.v4beta1.Job.description].
68	JobView_JOB_VIEW_SMALL JobView = 3
69	// All available attributes are included in the search results.
70	JobView_JOB_VIEW_FULL JobView = 4
71)
72
73// Enum value maps for JobView.
74var (
75	JobView_name = map[int32]string{
76		0: "JOB_VIEW_UNSPECIFIED",
77		1: "JOB_VIEW_ID_ONLY",
78		2: "JOB_VIEW_MINIMAL",
79		3: "JOB_VIEW_SMALL",
80		4: "JOB_VIEW_FULL",
81	}
82	JobView_value = map[string]int32{
83		"JOB_VIEW_UNSPECIFIED": 0,
84		"JOB_VIEW_ID_ONLY":     1,
85		"JOB_VIEW_MINIMAL":     2,
86		"JOB_VIEW_SMALL":       3,
87		"JOB_VIEW_FULL":        4,
88	}
89)
90
91func (x JobView) Enum() *JobView {
92	p := new(JobView)
93	*p = x
94	return p
95}
96
97func (x JobView) String() string {
98	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
99}
100
101func (JobView) Descriptor() protoreflect.EnumDescriptor {
102	return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[0].Descriptor()
103}
104
105func (JobView) Type() protoreflect.EnumType {
106	return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[0]
107}
108
109func (x JobView) Number() protoreflect.EnumNumber {
110	return protoreflect.EnumNumber(x)
111}
112
113// Deprecated: Use JobView.Descriptor instead.
114func (JobView) EnumDescriptor() ([]byte, []int) {
115	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{0}
116}
117
118// A string-represented enumeration of the job search mode. The service
119// operate differently for different modes of service.
120type SearchJobsRequest_SearchMode int32
121
122const (
123	// The mode of the search method isn't specified. The default search
124	// behavior is identical to JOB_SEARCH search behavior.
125	SearchJobsRequest_SEARCH_MODE_UNSPECIFIED SearchJobsRequest_SearchMode = 0
126	// The job search matches against all jobs, and featured jobs
127	// (jobs with promotionValue > 0) are not specially handled.
128	SearchJobsRequest_JOB_SEARCH SearchJobsRequest_SearchMode = 1
129	// The job search matches only against featured jobs (jobs with a
130	// promotionValue > 0). This method doesn't return any jobs having a
131	// promotionValue <= 0. The search results order is determined by the
132	// promotionValue (jobs with a higher promotionValue are returned higher up
133	// in the search results), with relevance being used as a tiebreaker.
134	SearchJobsRequest_FEATURED_JOB_SEARCH SearchJobsRequest_SearchMode = 2
135)
136
137// Enum value maps for SearchJobsRequest_SearchMode.
138var (
139	SearchJobsRequest_SearchMode_name = map[int32]string{
140		0: "SEARCH_MODE_UNSPECIFIED",
141		1: "JOB_SEARCH",
142		2: "FEATURED_JOB_SEARCH",
143	}
144	SearchJobsRequest_SearchMode_value = map[string]int32{
145		"SEARCH_MODE_UNSPECIFIED": 0,
146		"JOB_SEARCH":              1,
147		"FEATURED_JOB_SEARCH":     2,
148	}
149)
150
151func (x SearchJobsRequest_SearchMode) Enum() *SearchJobsRequest_SearchMode {
152	p := new(SearchJobsRequest_SearchMode)
153	*p = x
154	return p
155}
156
157func (x SearchJobsRequest_SearchMode) String() string {
158	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
159}
160
161func (SearchJobsRequest_SearchMode) Descriptor() protoreflect.EnumDescriptor {
162	return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[1].Descriptor()
163}
164
165func (SearchJobsRequest_SearchMode) Type() protoreflect.EnumType {
166	return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[1]
167}
168
169func (x SearchJobsRequest_SearchMode) Number() protoreflect.EnumNumber {
170	return protoreflect.EnumNumber(x)
171}
172
173// Deprecated: Use SearchJobsRequest_SearchMode.Descriptor instead.
174func (SearchJobsRequest_SearchMode) EnumDescriptor() ([]byte, []int) {
175	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0}
176}
177
178// Controls whether highly similar jobs are returned next to each other in
179// the search results. Jobs are identified as highly similar based on
180// their titles, job categories, and locations. Highly similar results are
181// clustered so that only one representative job of the cluster is
182// displayed to the job seeker higher up in the results, with the other jobs
183// being displayed lower down in the results.
184type SearchJobsRequest_DiversificationLevel int32
185
186const (
187	// The diversification level isn't specified.
188	SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED SearchJobsRequest_DiversificationLevel = 0
189	// Disables diversification. Jobs that would normally be pushed to the last
190	// page would not have their positions altered. This may result in highly
191	// similar jobs appearing in sequence in the search results.
192	SearchJobsRequest_DISABLED SearchJobsRequest_DiversificationLevel = 1
193	// Default diversifying behavior. The result list is ordered so that
194	// highly similar results are pushed to the end of the last page of search
195	// results. If you are using pageToken to page through the result set,
196	// latency might be lower but we can't guarantee that all results are
197	// returned. If you are using page offset, latency might be higher but all
198	// results are returned.
199	SearchJobsRequest_SIMPLE SearchJobsRequest_DiversificationLevel = 2
200)
201
202// Enum value maps for SearchJobsRequest_DiversificationLevel.
203var (
204	SearchJobsRequest_DiversificationLevel_name = map[int32]string{
205		0: "DIVERSIFICATION_LEVEL_UNSPECIFIED",
206		1: "DISABLED",
207		2: "SIMPLE",
208	}
209	SearchJobsRequest_DiversificationLevel_value = map[string]int32{
210		"DIVERSIFICATION_LEVEL_UNSPECIFIED": 0,
211		"DISABLED":                          1,
212		"SIMPLE":                            2,
213	}
214)
215
216func (x SearchJobsRequest_DiversificationLevel) Enum() *SearchJobsRequest_DiversificationLevel {
217	p := new(SearchJobsRequest_DiversificationLevel)
218	*p = x
219	return p
220}
221
222func (x SearchJobsRequest_DiversificationLevel) String() string {
223	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
224}
225
226func (SearchJobsRequest_DiversificationLevel) Descriptor() protoreflect.EnumDescriptor {
227	return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[2].Descriptor()
228}
229
230func (SearchJobsRequest_DiversificationLevel) Type() protoreflect.EnumType {
231	return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[2]
232}
233
234func (x SearchJobsRequest_DiversificationLevel) Number() protoreflect.EnumNumber {
235	return protoreflect.EnumNumber(x)
236}
237
238// Deprecated: Use SearchJobsRequest_DiversificationLevel.Descriptor instead.
239func (SearchJobsRequest_DiversificationLevel) EnumDescriptor() ([]byte, []int) {
240	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 1}
241}
242
243// The importance level for [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression].
244type SearchJobsRequest_CustomRankingInfo_ImportanceLevel int32
245
246const (
247	// Default value if the importance level isn't specified.
248	SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 0
249	// The given ranking expression is of None importance, existing relevance
250	// score (determined by API algorithm) dominates job's final ranking
251	// position.
252	SearchJobsRequest_CustomRankingInfo_NONE SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 1
253	// The given ranking expression is of Low importance in terms of job's
254	// final ranking position compared to existing relevance
255	// score (determined by API algorithm).
256	SearchJobsRequest_CustomRankingInfo_LOW SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 2
257	// The given ranking expression is of Mild importance in terms of job's
258	// final ranking position compared to existing relevance
259	// score (determined by API algorithm).
260	SearchJobsRequest_CustomRankingInfo_MILD SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 3
261	// The given ranking expression is of Medium importance in terms of job's
262	// final ranking position compared to existing relevance
263	// score (determined by API algorithm).
264	SearchJobsRequest_CustomRankingInfo_MEDIUM SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 4
265	// The given ranking expression is of High importance in terms of job's
266	// final ranking position compared to existing relevance
267	// score (determined by API algorithm).
268	SearchJobsRequest_CustomRankingInfo_HIGH SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 5
269	// The given ranking expression is of Extreme importance, and dominates
270	// job's final ranking position with existing relevance
271	// score (determined by API algorithm) ignored.
272	SearchJobsRequest_CustomRankingInfo_EXTREME SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 6
273)
274
275// Enum value maps for SearchJobsRequest_CustomRankingInfo_ImportanceLevel.
276var (
277	SearchJobsRequest_CustomRankingInfo_ImportanceLevel_name = map[int32]string{
278		0: "IMPORTANCE_LEVEL_UNSPECIFIED",
279		1: "NONE",
280		2: "LOW",
281		3: "MILD",
282		4: "MEDIUM",
283		5: "HIGH",
284		6: "EXTREME",
285	}
286	SearchJobsRequest_CustomRankingInfo_ImportanceLevel_value = map[string]int32{
287		"IMPORTANCE_LEVEL_UNSPECIFIED": 0,
288		"NONE":                         1,
289		"LOW":                          2,
290		"MILD":                         3,
291		"MEDIUM":                       4,
292		"HIGH":                         5,
293		"EXTREME":                      6,
294	}
295)
296
297func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Enum() *SearchJobsRequest_CustomRankingInfo_ImportanceLevel {
298	p := new(SearchJobsRequest_CustomRankingInfo_ImportanceLevel)
299	*p = x
300	return p
301}
302
303func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) String() string {
304	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
305}
306
307func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Descriptor() protoreflect.EnumDescriptor {
308	return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[3].Descriptor()
309}
310
311func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Type() protoreflect.EnumType {
312	return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[3]
313}
314
315func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Number() protoreflect.EnumNumber {
316	return protoreflect.EnumNumber(x)
317}
318
319// Deprecated: Use SearchJobsRequest_CustomRankingInfo_ImportanceLevel.Descriptor instead.
320func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) EnumDescriptor() ([]byte, []int) {
321	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0, 0}
322}
323
324// Create job request.
325type CreateJobRequest struct {
326	state         protoimpl.MessageState
327	sizeCache     protoimpl.SizeCache
328	unknownFields protoimpl.UnknownFields
329
330	// Required. The resource name of the tenant under which the job is created.
331	//
332	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
333	// "projects/foo/tenant/bar". If tenant id is unspecified a default tenant
334	// is created. For example, "projects/foo".
335	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
336	// Required. The Job to be created.
337	Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
338}
339
340func (x *CreateJobRequest) Reset() {
341	*x = CreateJobRequest{}
342	if protoimpl.UnsafeEnabled {
343		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0]
344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
345		ms.StoreMessageInfo(mi)
346	}
347}
348
349func (x *CreateJobRequest) String() string {
350	return protoimpl.X.MessageStringOf(x)
351}
352
353func (*CreateJobRequest) ProtoMessage() {}
354
355func (x *CreateJobRequest) ProtoReflect() protoreflect.Message {
356	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0]
357	if protoimpl.UnsafeEnabled && x != nil {
358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
359		if ms.LoadMessageInfo() == nil {
360			ms.StoreMessageInfo(mi)
361		}
362		return ms
363	}
364	return mi.MessageOf(x)
365}
366
367// Deprecated: Use CreateJobRequest.ProtoReflect.Descriptor instead.
368func (*CreateJobRequest) Descriptor() ([]byte, []int) {
369	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{0}
370}
371
372func (x *CreateJobRequest) GetParent() string {
373	if x != nil {
374		return x.Parent
375	}
376	return ""
377}
378
379func (x *CreateJobRequest) GetJob() *Job {
380	if x != nil {
381		return x.Job
382	}
383	return nil
384}
385
386// Get job request.
387type GetJobRequest struct {
388	state         protoimpl.MessageState
389	sizeCache     protoimpl.SizeCache
390	unknownFields protoimpl.UnknownFields
391
392	// Required. The resource name of the job to retrieve.
393	//
394	// The format is
395	// "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
396	// example, "projects/foo/tenants/bar/jobs/baz".
397	//
398	// If tenant id is unspecified, the default tenant is used. For
399	// example, "projects/foo/jobs/bar".
400	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
401}
402
403func (x *GetJobRequest) Reset() {
404	*x = GetJobRequest{}
405	if protoimpl.UnsafeEnabled {
406		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1]
407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
408		ms.StoreMessageInfo(mi)
409	}
410}
411
412func (x *GetJobRequest) String() string {
413	return protoimpl.X.MessageStringOf(x)
414}
415
416func (*GetJobRequest) ProtoMessage() {}
417
418func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
419	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1]
420	if protoimpl.UnsafeEnabled && x != nil {
421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422		if ms.LoadMessageInfo() == nil {
423			ms.StoreMessageInfo(mi)
424		}
425		return ms
426	}
427	return mi.MessageOf(x)
428}
429
430// Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
431func (*GetJobRequest) Descriptor() ([]byte, []int) {
432	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{1}
433}
434
435func (x *GetJobRequest) GetName() string {
436	if x != nil {
437		return x.Name
438	}
439	return ""
440}
441
442// Update job request.
443type UpdateJobRequest struct {
444	state         protoimpl.MessageState
445	sizeCache     protoimpl.SizeCache
446	unknownFields protoimpl.UnknownFields
447
448	// Required. The Job to be updated.
449	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
450	// Strongly recommended for the best service experience.
451	//
452	// If [update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask] is provided, only the specified fields in
453	// [job][google.cloud.talent.v4beta1.UpdateJobRequest.job] are updated. Otherwise all the fields are updated.
454	//
455	// A field mask to restrict the fields that are updated. Only
456	// top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported.
457	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
458}
459
460func (x *UpdateJobRequest) Reset() {
461	*x = UpdateJobRequest{}
462	if protoimpl.UnsafeEnabled {
463		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2]
464		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465		ms.StoreMessageInfo(mi)
466	}
467}
468
469func (x *UpdateJobRequest) String() string {
470	return protoimpl.X.MessageStringOf(x)
471}
472
473func (*UpdateJobRequest) ProtoMessage() {}
474
475func (x *UpdateJobRequest) ProtoReflect() protoreflect.Message {
476	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2]
477	if protoimpl.UnsafeEnabled && x != nil {
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		if ms.LoadMessageInfo() == nil {
480			ms.StoreMessageInfo(mi)
481		}
482		return ms
483	}
484	return mi.MessageOf(x)
485}
486
487// Deprecated: Use UpdateJobRequest.ProtoReflect.Descriptor instead.
488func (*UpdateJobRequest) Descriptor() ([]byte, []int) {
489	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{2}
490}
491
492func (x *UpdateJobRequest) GetJob() *Job {
493	if x != nil {
494		return x.Job
495	}
496	return nil
497}
498
499func (x *UpdateJobRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
500	if x != nil {
501		return x.UpdateMask
502	}
503	return nil
504}
505
506// Delete job request.
507type DeleteJobRequest struct {
508	state         protoimpl.MessageState
509	sizeCache     protoimpl.SizeCache
510	unknownFields protoimpl.UnknownFields
511
512	// Required. The resource name of the job to be deleted.
513	//
514	// The format is
515	// "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
516	// example, "projects/foo/tenants/bar/jobs/baz".
517	//
518	// If tenant id is unspecified, the default tenant is used. For
519	// example, "projects/foo/jobs/bar".
520	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
521}
522
523func (x *DeleteJobRequest) Reset() {
524	*x = DeleteJobRequest{}
525	if protoimpl.UnsafeEnabled {
526		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3]
527		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
528		ms.StoreMessageInfo(mi)
529	}
530}
531
532func (x *DeleteJobRequest) String() string {
533	return protoimpl.X.MessageStringOf(x)
534}
535
536func (*DeleteJobRequest) ProtoMessage() {}
537
538func (x *DeleteJobRequest) ProtoReflect() protoreflect.Message {
539	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3]
540	if protoimpl.UnsafeEnabled && x != nil {
541		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
542		if ms.LoadMessageInfo() == nil {
543			ms.StoreMessageInfo(mi)
544		}
545		return ms
546	}
547	return mi.MessageOf(x)
548}
549
550// Deprecated: Use DeleteJobRequest.ProtoReflect.Descriptor instead.
551func (*DeleteJobRequest) Descriptor() ([]byte, []int) {
552	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{3}
553}
554
555func (x *DeleteJobRequest) GetName() string {
556	if x != nil {
557		return x.Name
558	}
559	return ""
560}
561
562// Batch delete jobs request.
563type BatchDeleteJobsRequest struct {
564	state         protoimpl.MessageState
565	sizeCache     protoimpl.SizeCache
566	unknownFields protoimpl.UnknownFields
567
568	// Required. The resource name of the tenant under which the job is created.
569	//
570	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
571	// "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
572	// is created. For example, "projects/foo".
573	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
574	// Required. The filter string specifies the jobs to be deleted.
575	//
576	// Supported operator: =, AND
577	//
578	// The fields eligible for filtering are:
579	//
580	// * `companyName` (Required)
581	// * `requisitionId` (Required)
582	//
583	// Sample Query: companyName = "projects/foo/companies/bar" AND
584	// requisitionId = "req-1"
585	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
586}
587
588func (x *BatchDeleteJobsRequest) Reset() {
589	*x = BatchDeleteJobsRequest{}
590	if protoimpl.UnsafeEnabled {
591		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4]
592		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
593		ms.StoreMessageInfo(mi)
594	}
595}
596
597func (x *BatchDeleteJobsRequest) String() string {
598	return protoimpl.X.MessageStringOf(x)
599}
600
601func (*BatchDeleteJobsRequest) ProtoMessage() {}
602
603func (x *BatchDeleteJobsRequest) ProtoReflect() protoreflect.Message {
604	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4]
605	if protoimpl.UnsafeEnabled && x != nil {
606		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
607		if ms.LoadMessageInfo() == nil {
608			ms.StoreMessageInfo(mi)
609		}
610		return ms
611	}
612	return mi.MessageOf(x)
613}
614
615// Deprecated: Use BatchDeleteJobsRequest.ProtoReflect.Descriptor instead.
616func (*BatchDeleteJobsRequest) Descriptor() ([]byte, []int) {
617	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{4}
618}
619
620func (x *BatchDeleteJobsRequest) GetParent() string {
621	if x != nil {
622		return x.Parent
623	}
624	return ""
625}
626
627func (x *BatchDeleteJobsRequest) GetFilter() string {
628	if x != nil {
629		return x.Filter
630	}
631	return ""
632}
633
634// List jobs request.
635type ListJobsRequest struct {
636	state         protoimpl.MessageState
637	sizeCache     protoimpl.SizeCache
638	unknownFields protoimpl.UnknownFields
639
640	// Required. The resource name of the tenant under which the job is created.
641	//
642	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
643	// "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
644	// is created. For example, "projects/foo".
645	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
646	// Required. The filter string specifies the jobs to be enumerated.
647	//
648	// Supported operator: =, AND
649	//
650	// The fields eligible for filtering are:
651	//
652	// * `companyName` (Required)
653	// * `requisitionId`
654	// * `status` Available values: OPEN, EXPIRED, ALL. Defaults to
655	// OPEN if no value is specified.
656	//
657	// Sample Query:
658	//
659	// * companyName = "projects/foo/tenants/bar/companies/baz"
660	// * companyName = "projects/foo/tenants/bar/companies/baz" AND
661	// requisitionId = "req-1"
662	// * companyName = "projects/foo/tenants/bar/companies/baz" AND
663	// status = "EXPIRED"
664	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
665	// The starting point of a query result.
666	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
667	// The maximum number of jobs to be returned per page of results.
668	//
669	// If [job_view][google.cloud.talent.v4beta1.ListJobsRequest.job_view] is set to [JobView.JOB_VIEW_ID_ONLY][google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY], the maximum allowed
670	// page size is 1000. Otherwise, the maximum allowed page size is 100.
671	//
672	// Default is 100 if empty or a number < 1 is specified.
673	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
674	// The desired job attributes returned for jobs in the
675	// search response. Defaults to [JobView.JOB_VIEW_FULL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL] if no value is
676	// specified.
677	JobView JobView `protobuf:"varint,5,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"`
678}
679
680func (x *ListJobsRequest) Reset() {
681	*x = ListJobsRequest{}
682	if protoimpl.UnsafeEnabled {
683		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5]
684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
685		ms.StoreMessageInfo(mi)
686	}
687}
688
689func (x *ListJobsRequest) String() string {
690	return protoimpl.X.MessageStringOf(x)
691}
692
693func (*ListJobsRequest) ProtoMessage() {}
694
695func (x *ListJobsRequest) ProtoReflect() protoreflect.Message {
696	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5]
697	if protoimpl.UnsafeEnabled && x != nil {
698		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
699		if ms.LoadMessageInfo() == nil {
700			ms.StoreMessageInfo(mi)
701		}
702		return ms
703	}
704	return mi.MessageOf(x)
705}
706
707// Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead.
708func (*ListJobsRequest) Descriptor() ([]byte, []int) {
709	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{5}
710}
711
712func (x *ListJobsRequest) GetParent() string {
713	if x != nil {
714		return x.Parent
715	}
716	return ""
717}
718
719func (x *ListJobsRequest) GetFilter() string {
720	if x != nil {
721		return x.Filter
722	}
723	return ""
724}
725
726func (x *ListJobsRequest) GetPageToken() string {
727	if x != nil {
728		return x.PageToken
729	}
730	return ""
731}
732
733func (x *ListJobsRequest) GetPageSize() int32 {
734	if x != nil {
735		return x.PageSize
736	}
737	return 0
738}
739
740func (x *ListJobsRequest) GetJobView() JobView {
741	if x != nil {
742		return x.JobView
743	}
744	return JobView_JOB_VIEW_UNSPECIFIED
745}
746
747// List jobs response.
748type ListJobsResponse struct {
749	state         protoimpl.MessageState
750	sizeCache     protoimpl.SizeCache
751	unknownFields protoimpl.UnknownFields
752
753	// The Jobs for a given company.
754	//
755	// The maximum number of items returned is based on the limit field
756	// provided in the request.
757	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
758	// A token to retrieve the next page of results.
759	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
760	// Additional information for the API invocation, such as the request
761	// tracking id.
762	Metadata *ResponseMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
763}
764
765func (x *ListJobsResponse) Reset() {
766	*x = ListJobsResponse{}
767	if protoimpl.UnsafeEnabled {
768		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6]
769		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
770		ms.StoreMessageInfo(mi)
771	}
772}
773
774func (x *ListJobsResponse) String() string {
775	return protoimpl.X.MessageStringOf(x)
776}
777
778func (*ListJobsResponse) ProtoMessage() {}
779
780func (x *ListJobsResponse) ProtoReflect() protoreflect.Message {
781	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6]
782	if protoimpl.UnsafeEnabled && x != nil {
783		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
784		if ms.LoadMessageInfo() == nil {
785			ms.StoreMessageInfo(mi)
786		}
787		return ms
788	}
789	return mi.MessageOf(x)
790}
791
792// Deprecated: Use ListJobsResponse.ProtoReflect.Descriptor instead.
793func (*ListJobsResponse) Descriptor() ([]byte, []int) {
794	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{6}
795}
796
797func (x *ListJobsResponse) GetJobs() []*Job {
798	if x != nil {
799		return x.Jobs
800	}
801	return nil
802}
803
804func (x *ListJobsResponse) GetNextPageToken() string {
805	if x != nil {
806		return x.NextPageToken
807	}
808	return ""
809}
810
811func (x *ListJobsResponse) GetMetadata() *ResponseMetadata {
812	if x != nil {
813		return x.Metadata
814	}
815	return nil
816}
817
818// The Request body of the `SearchJobs` call.
819type SearchJobsRequest struct {
820	state         protoimpl.MessageState
821	sizeCache     protoimpl.SizeCache
822	unknownFields protoimpl.UnknownFields
823
824	// Required. The resource name of the tenant to search within.
825	//
826	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
827	// "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
828	// is created. For example, "projects/foo".
829	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
830	// Mode of a search.
831	//
832	// Defaults to [SearchMode.JOB_SEARCH][google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH].
833	SearchMode SearchJobsRequest_SearchMode `protobuf:"varint,2,opt,name=search_mode,json=searchMode,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_SearchMode" json:"search_mode,omitempty"`
834	// Required. The meta information collected about the job searcher, used to improve the
835	// search quality of the service. The identifiers (such as `user_id`) are
836	// provided by users, and must be unique and consistent.
837	RequestMetadata *RequestMetadata `protobuf:"bytes,3,opt,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty"`
838	// Query used to search against jobs, such as keyword, location filters, etc.
839	JobQuery *JobQuery `protobuf:"bytes,4,opt,name=job_query,json=jobQuery,proto3" json:"job_query,omitempty"`
840	// Controls whether to broaden the search when it produces sparse results.
841	// Broadened queries append results to the end of the matching results
842	// list.
843	//
844	// Defaults to false.
845	EnableBroadening bool `protobuf:"varint,5,opt,name=enable_broadening,json=enableBroadening,proto3" json:"enable_broadening,omitempty"`
846	// Controls if the search job request requires the return of a precise
847	// count of the first 300 results. Setting this to `true` ensures
848	// consistency in the number of results per page. Best practice is to set this
849	// value to true if a client allows users to jump directly to a
850	// non-sequential search results page.
851	//
852	// Enabling this flag may adversely impact performance.
853	//
854	// Defaults to false.
855	RequirePreciseResultSize bool `protobuf:"varint,6,opt,name=require_precise_result_size,json=requirePreciseResultSize,proto3" json:"require_precise_result_size,omitempty"`
856	// An expression specifies a histogram request against matching jobs.
857	//
858	// Expression syntax is an aggregation function call with histogram facets and
859	// other options.
860	//
861	// Available aggregation function calls are:
862	// * `count(string_histogram_facet)`: Count the number of matching entities,
863	// for each distinct attribute value.
864	// * `count(numeric_histogram_facet, list of buckets)`: Count the number of
865	// matching entities within each bucket.
866	//
867	// Data types:
868	//
869	// * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
870	// * String: string like "any string with backslash escape for quote(\")."
871	// * Number: whole number and floating point number like 10, -1 and -0.01.
872	// * List: list of elements with comma(,) separator surrounded by square
873	// brackets, for example, [1, 2, 3] and ["one", "two", "three"].
874	//
875	// Built-in constants:
876	//
877	// * MIN (minimum number similar to java Double.MIN_VALUE)
878	// * MAX (maximum number similar to java Double.MAX_VALUE)
879	//
880	// Built-in functions:
881	//
882	// * bucket(start, end[, label]): bucket built-in function creates a bucket
883	// with range of [start, end). Note that the end is exclusive, for example,
884	// bucket(1, MAX, "positive number") or bucket(1, 10).
885	//
886	// Job histogram facets:
887	//
888	// * company_display_name: histogram by [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name].
889	// * employment_type: histogram by [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types], for example,
890	//   "FULL_TIME", "PART_TIME".
891	// * company_size: histogram by [CompanySize][google.cloud.talent.v4beta1.CompanySize], for example, "SMALL",
892	// "MEDIUM", "BIG".
893	// * publish_time_in_month: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
894	//   in months.
895	//   Must specify list of numeric buckets in spec.
896	// * publish_time_in_year: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
897	//   in years.
898	//   Must specify list of numeric buckets in spec.
899	// * degree_types: histogram by the [Job.degree_types][google.cloud.talent.v4beta1.Job.degree_types], for example,
900	//   "Bachelors", "Masters".
901	// * job_level: histogram by the [Job.job_level][google.cloud.talent.v4beta1.Job.job_level], for example, "Entry
902	//   Level".
903	// * country: histogram by the country code of jobs, for example, "US", "FR".
904	// * admin1: histogram by the admin1 code of jobs, which is a global
905	//   placeholder referring to the state, province, or the particular term a
906	//   country uses to define the geographic structure below the country level,
907	//   for example, "CA", "IL".
908	// * city: histogram by a combination of the "city name, admin1 code". For
909	//   example,  "Mountain View, CA", "New York, NY".
910	// * admin1_country: histogram by a combination of the "admin1 code, country",
911	//   for example, "CA, US", "IL, US".
912	// * city_coordinate: histogram by the city center's GPS coordinates (latitude
913	//   and longitude), for example, 37.4038522,-122.0987765. Since the
914	//   coordinates of a city center can change, customers may need to refresh
915	//   them periodically.
916	// * locale: histogram by the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], for example, "en-US",
917	//   "fr-FR".
918	// * language: histogram by the language subtag of the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code],
919	//   for example, "en", "fr".
920	// * category: histogram by the [JobCategory][google.cloud.talent.v4beta1.JobCategory], for example,
921	//   "COMPUTER_AND_IT", "HEALTHCARE".
922	// * base_compensation_unit: histogram by the
923	//   [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] of base
924	//   salary, for example, "WEEKLY", "MONTHLY".
925	// * base_compensation: histogram by the base salary. Must specify list of
926	//   numeric buckets to group results by.
927	// * annualized_base_compensation: histogram by the base annualized salary.
928	//   Must specify list of numeric buckets to group results by.
929	// * annualized_total_compensation: histogram by the total annualized salary.
930	//   Must specify list of numeric buckets to group results by.
931	// * string_custom_attribute: histogram by string [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
932	//   Values can be accessed via square bracket notations like
933	//   string_custom_attribute["key1"].
934	// * numeric_custom_attribute: histogram by numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
935	//   Values can be accessed via square bracket notations like
936	//   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
937	//   group results by.
938	//
939	// Example expressions:
940	//
941	// * `count(admin1)`
942	// * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
943	// bucket(100000, MAX)])`
944	// * `count(string_custom_attribute["some-string-custom-attribute"])`
945	// * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
946	//   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])`
947	HistogramQueries []*HistogramQuery `protobuf:"bytes,7,rep,name=histogram_queries,json=histogramQueries,proto3" json:"histogram_queries,omitempty"`
948	// The desired job attributes returned for jobs in the search response.
949	// Defaults to [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_SMALL] if no value is specified.
950	JobView JobView `protobuf:"varint,8,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"`
951	// An integer that specifies the current offset (that is, starting result
952	// location, amongst the jobs deemed by the API as relevant) in search
953	// results. This field is only considered if [page_token][google.cloud.talent.v4beta1.SearchJobsRequest.page_token] is unset.
954	//
955	// The maximum allowed value is 5000. Otherwise an error is thrown.
956	//
957	// For example, 0 means to  return results starting from the first matching
958	// job, and 10 means to return from the 11th job. This can be used for
959	// pagination, (for example, pageSize = 10 and offset = 10 means to return
960	// from the second page).
961	Offset int32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"`
962	// A limit on the number of jobs returned in the search results.
963	// Increasing this value above the default value of 10 can increase search
964	// response time. The value can be between 1 and 100.
965	PageSize int32 `protobuf:"varint,10,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
966	// The token specifying the current offset within
967	// search results. See [SearchJobsResponse.next_page_token][google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token] for
968	// an explanation of how to obtain the next set of query results.
969	PageToken string `protobuf:"bytes,11,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
970	// The criteria determining how search results are sorted. Default is
971	// `"relevance desc"`.
972	//
973	// Supported options are:
974	//
975	// * `"relevance desc"`: By relevance descending, as determined by the API
976	//   algorithms. Relevance thresholding of query results is only available
977	//   with this ordering.
978	// * `"posting_publish_time desc"`: By [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
979	//   descending.
980	// * `"posting_update_time desc"`: By [Job.posting_update_time][google.cloud.talent.v4beta1.Job.posting_update_time]
981	//   descending.
982	// * `"title"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] ascending.
983	// * `"title desc"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] descending.
984	// * `"annualized_base_compensation"`: By job's
985	//   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] ascending. Jobs
986	//   whose annualized base compensation is unspecified are put at the end of
987	//   search results.
988	// * `"annualized_base_compensation desc"`: By job's
989	//   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] descending. Jobs
990	//   whose annualized base compensation is unspecified are put at the end of
991	//   search results.
992	// * `"annualized_total_compensation"`: By job's
993	//   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] ascending. Jobs
994	//   whose annualized base compensation is unspecified are put at the end of
995	//   search results.
996	// * `"annualized_total_compensation desc"`: By job's
997	//   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] descending. Jobs
998	//   whose annualized base compensation is unspecified are put at the end of
999	//   search results.
1000	// * `"custom_ranking desc"`: By the relevance score adjusted to the
1001	//   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] with weight
1002	//   factor assigned by
1003	//   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level] in descending
1004	//   order.
1005	// * Location sorting: Use the special syntax to order jobs by distance:<br>
1006	//   `"distance_from('Hawaii')"`: Order by distance from Hawaii.<br>
1007	//   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.<br>
1008	//   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
1009	//   multiple locations. See details below.<br>
1010	//   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
1011	//   multiple locations. See details below.<br>
1012	//   The string can have a maximum of 256 characters. When multiple distance
1013	//   centers are provided, a job that is close to any of the distance centers
1014	//   would have a high rank. When a job has multiple locations, the job
1015	//   location closest to one of the distance centers will be used. Jobs that
1016	//   don't have locations will be ranked at the bottom. Distance is calculated
1017	//   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
1018	//   still applied unless explicitly disabled in
1019	//   [diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level].
1020	OrderBy string `protobuf:"bytes,12,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
1021	// Controls whether highly similar jobs are returned next to each other in
1022	// the search results. Jobs are identified as highly similar based on
1023	// their titles, job categories, and locations. Highly similar results are
1024	// clustered so that only one representative job of the cluster is
1025	// displayed to the job seeker higher up in the results, with the other jobs
1026	// being displayed lower down in the results.
1027	//
1028	// Defaults to [DiversificationLevel.SIMPLE][google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE] if no value
1029	// is specified.
1030	DiversificationLevel SearchJobsRequest_DiversificationLevel `protobuf:"varint,13,opt,name=diversification_level,json=diversificationLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_DiversificationLevel" json:"diversification_level,omitempty"`
1031	// Controls over how job documents get ranked on top of existing relevance
1032	// score (determined by API algorithm).
1033	CustomRankingInfo *SearchJobsRequest_CustomRankingInfo `protobuf:"bytes,14,opt,name=custom_ranking_info,json=customRankingInfo,proto3" json:"custom_ranking_info,omitempty"`
1034	// Controls whether to disable exact keyword match on [Job.title][google.cloud.talent.v4beta1.Job.title],
1035	// [Job.description][google.cloud.talent.v4beta1.Job.description], [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name], [Job.addresses][google.cloud.talent.v4beta1.Job.addresses],
1036	// [Job.qualifications][google.cloud.talent.v4beta1.Job.qualifications]. When disable keyword match is turned off, a
1037	// keyword match returns jobs that do not match given category filters when
1038	// there are matching keywords. For example, for the query "program manager,"
1039	// a result is returned even if the job posting has the title "software
1040	// developer," which doesn't fall into "program manager" ontology, but does
1041	// have "program manager" appearing in its description.
1042	//
1043	// For queries like "cloud" that don't contain title or
1044	// location specific ontology, jobs with "cloud" keyword matches are returned
1045	// regardless of this flag's value.
1046	//
1047	// Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes] if
1048	// company-specific globally matched custom field/attribute string values are
1049	// needed. Enabling keyword match improves recall of subsequent search
1050	// requests.
1051	//
1052	// Defaults to false.
1053	DisableKeywordMatch bool `protobuf:"varint,16,opt,name=disable_keyword_match,json=disableKeywordMatch,proto3" json:"disable_keyword_match,omitempty"`
1054}
1055
1056func (x *SearchJobsRequest) Reset() {
1057	*x = SearchJobsRequest{}
1058	if protoimpl.UnsafeEnabled {
1059		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7]
1060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061		ms.StoreMessageInfo(mi)
1062	}
1063}
1064
1065func (x *SearchJobsRequest) String() string {
1066	return protoimpl.X.MessageStringOf(x)
1067}
1068
1069func (*SearchJobsRequest) ProtoMessage() {}
1070
1071func (x *SearchJobsRequest) ProtoReflect() protoreflect.Message {
1072	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7]
1073	if protoimpl.UnsafeEnabled && x != nil {
1074		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1075		if ms.LoadMessageInfo() == nil {
1076			ms.StoreMessageInfo(mi)
1077		}
1078		return ms
1079	}
1080	return mi.MessageOf(x)
1081}
1082
1083// Deprecated: Use SearchJobsRequest.ProtoReflect.Descriptor instead.
1084func (*SearchJobsRequest) Descriptor() ([]byte, []int) {
1085	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7}
1086}
1087
1088func (x *SearchJobsRequest) GetParent() string {
1089	if x != nil {
1090		return x.Parent
1091	}
1092	return ""
1093}
1094
1095func (x *SearchJobsRequest) GetSearchMode() SearchJobsRequest_SearchMode {
1096	if x != nil {
1097		return x.SearchMode
1098	}
1099	return SearchJobsRequest_SEARCH_MODE_UNSPECIFIED
1100}
1101
1102func (x *SearchJobsRequest) GetRequestMetadata() *RequestMetadata {
1103	if x != nil {
1104		return x.RequestMetadata
1105	}
1106	return nil
1107}
1108
1109func (x *SearchJobsRequest) GetJobQuery() *JobQuery {
1110	if x != nil {
1111		return x.JobQuery
1112	}
1113	return nil
1114}
1115
1116func (x *SearchJobsRequest) GetEnableBroadening() bool {
1117	if x != nil {
1118		return x.EnableBroadening
1119	}
1120	return false
1121}
1122
1123func (x *SearchJobsRequest) GetRequirePreciseResultSize() bool {
1124	if x != nil {
1125		return x.RequirePreciseResultSize
1126	}
1127	return false
1128}
1129
1130func (x *SearchJobsRequest) GetHistogramQueries() []*HistogramQuery {
1131	if x != nil {
1132		return x.HistogramQueries
1133	}
1134	return nil
1135}
1136
1137func (x *SearchJobsRequest) GetJobView() JobView {
1138	if x != nil {
1139		return x.JobView
1140	}
1141	return JobView_JOB_VIEW_UNSPECIFIED
1142}
1143
1144func (x *SearchJobsRequest) GetOffset() int32 {
1145	if x != nil {
1146		return x.Offset
1147	}
1148	return 0
1149}
1150
1151func (x *SearchJobsRequest) GetPageSize() int32 {
1152	if x != nil {
1153		return x.PageSize
1154	}
1155	return 0
1156}
1157
1158func (x *SearchJobsRequest) GetPageToken() string {
1159	if x != nil {
1160		return x.PageToken
1161	}
1162	return ""
1163}
1164
1165func (x *SearchJobsRequest) GetOrderBy() string {
1166	if x != nil {
1167		return x.OrderBy
1168	}
1169	return ""
1170}
1171
1172func (x *SearchJobsRequest) GetDiversificationLevel() SearchJobsRequest_DiversificationLevel {
1173	if x != nil {
1174		return x.DiversificationLevel
1175	}
1176	return SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED
1177}
1178
1179func (x *SearchJobsRequest) GetCustomRankingInfo() *SearchJobsRequest_CustomRankingInfo {
1180	if x != nil {
1181		return x.CustomRankingInfo
1182	}
1183	return nil
1184}
1185
1186func (x *SearchJobsRequest) GetDisableKeywordMatch() bool {
1187	if x != nil {
1188		return x.DisableKeywordMatch
1189	}
1190	return false
1191}
1192
1193// Response for SearchJob method.
1194type SearchJobsResponse struct {
1195	state         protoimpl.MessageState
1196	sizeCache     protoimpl.SizeCache
1197	unknownFields protoimpl.UnknownFields
1198
1199	// The Job entities that match the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1200	MatchingJobs []*SearchJobsResponse_MatchingJob `protobuf:"bytes,1,rep,name=matching_jobs,json=matchingJobs,proto3" json:"matching_jobs,omitempty"`
1201	// The histogram results that match with specified
1202	// [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries].
1203	HistogramQueryResults []*HistogramQueryResult `protobuf:"bytes,2,rep,name=histogram_query_results,json=histogramQueryResults,proto3" json:"histogram_query_results,omitempty"`
1204	// The token that specifies the starting position of the next page of results.
1205	// This field is empty if there are no more results.
1206	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1207	// The location filters that the service applied to the specified query. If
1208	// any filters are lat-lng based, the [Location.location_type][google.cloud.talent.v4beta1.Location.location_type] is
1209	// [Location.LocationType.LOCATION_TYPE_UNSPECIFIED][google.cloud.talent.v4beta1.Location.LocationType.LOCATION_TYPE_UNSPECIFIED].
1210	LocationFilters []*Location `protobuf:"bytes,4,rep,name=location_filters,json=locationFilters,proto3" json:"location_filters,omitempty"`
1211	// An estimation of the number of jobs that match the specified query.
1212	//
1213	// This number isn't guaranteed to be accurate. For accurate results,
1214	// see [SearchJobsRequest.require_precise_result_size][google.cloud.talent.v4beta1.SearchJobsRequest.require_precise_result_size].
1215	EstimatedTotalSize int32 `protobuf:"varint,5,opt,name=estimated_total_size,json=estimatedTotalSize,proto3" json:"estimated_total_size,omitempty"`
1216	// The precise result count, which is available only if the client set
1217	// [SearchJobsRequest.require_precise_result_size][google.cloud.talent.v4beta1.SearchJobsRequest.require_precise_result_size] to `true`, or if the
1218	// response is the last page of results. Otherwise, the value is `-1`.
1219	TotalSize int32 `protobuf:"varint,6,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
1220	// Additional information for the API invocation, such as the request
1221	// tracking id.
1222	Metadata *ResponseMetadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
1223	// If query broadening is enabled, we may append additional results from the
1224	// broadened query. This number indicates how many of the jobs returned in the
1225	// jobs field are from the broadened query. These results are always at the
1226	// end of the jobs list. In particular, a value of 0, or if the field isn't
1227	// set, all the jobs in the jobs list are from the original
1228	// (without broadening) query. If this field is non-zero, subsequent requests
1229	// with offset after this result set should contain all broadened results.
1230	BroadenedQueryJobsCount int32 `protobuf:"varint,8,opt,name=broadened_query_jobs_count,json=broadenedQueryJobsCount,proto3" json:"broadened_query_jobs_count,omitempty"`
1231	// The spell checking result, and correction.
1232	SpellCorrection *SpellingCorrection `protobuf:"bytes,9,opt,name=spell_correction,json=spellCorrection,proto3" json:"spell_correction,omitempty"`
1233}
1234
1235func (x *SearchJobsResponse) Reset() {
1236	*x = SearchJobsResponse{}
1237	if protoimpl.UnsafeEnabled {
1238		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8]
1239		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1240		ms.StoreMessageInfo(mi)
1241	}
1242}
1243
1244func (x *SearchJobsResponse) String() string {
1245	return protoimpl.X.MessageStringOf(x)
1246}
1247
1248func (*SearchJobsResponse) ProtoMessage() {}
1249
1250func (x *SearchJobsResponse) ProtoReflect() protoreflect.Message {
1251	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8]
1252	if protoimpl.UnsafeEnabled && x != nil {
1253		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1254		if ms.LoadMessageInfo() == nil {
1255			ms.StoreMessageInfo(mi)
1256		}
1257		return ms
1258	}
1259	return mi.MessageOf(x)
1260}
1261
1262// Deprecated: Use SearchJobsResponse.ProtoReflect.Descriptor instead.
1263func (*SearchJobsResponse) Descriptor() ([]byte, []int) {
1264	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8}
1265}
1266
1267func (x *SearchJobsResponse) GetMatchingJobs() []*SearchJobsResponse_MatchingJob {
1268	if x != nil {
1269		return x.MatchingJobs
1270	}
1271	return nil
1272}
1273
1274func (x *SearchJobsResponse) GetHistogramQueryResults() []*HistogramQueryResult {
1275	if x != nil {
1276		return x.HistogramQueryResults
1277	}
1278	return nil
1279}
1280
1281func (x *SearchJobsResponse) GetNextPageToken() string {
1282	if x != nil {
1283		return x.NextPageToken
1284	}
1285	return ""
1286}
1287
1288func (x *SearchJobsResponse) GetLocationFilters() []*Location {
1289	if x != nil {
1290		return x.LocationFilters
1291	}
1292	return nil
1293}
1294
1295func (x *SearchJobsResponse) GetEstimatedTotalSize() int32 {
1296	if x != nil {
1297		return x.EstimatedTotalSize
1298	}
1299	return 0
1300}
1301
1302func (x *SearchJobsResponse) GetTotalSize() int32 {
1303	if x != nil {
1304		return x.TotalSize
1305	}
1306	return 0
1307}
1308
1309func (x *SearchJobsResponse) GetMetadata() *ResponseMetadata {
1310	if x != nil {
1311		return x.Metadata
1312	}
1313	return nil
1314}
1315
1316func (x *SearchJobsResponse) GetBroadenedQueryJobsCount() int32 {
1317	if x != nil {
1318		return x.BroadenedQueryJobsCount
1319	}
1320	return 0
1321}
1322
1323func (x *SearchJobsResponse) GetSpellCorrection() *SpellingCorrection {
1324	if x != nil {
1325		return x.SpellCorrection
1326	}
1327	return nil
1328}
1329
1330// Request to create a batch of jobs.
1331type BatchCreateJobsRequest struct {
1332	state         protoimpl.MessageState
1333	sizeCache     protoimpl.SizeCache
1334	unknownFields protoimpl.UnknownFields
1335
1336	// Required. The resource name of the tenant under which the job is created.
1337	//
1338	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
1339	// "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
1340	// is created. For example, "projects/foo".
1341	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1342	// Required. The jobs to be created.
1343	Jobs []*Job `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"`
1344}
1345
1346func (x *BatchCreateJobsRequest) Reset() {
1347	*x = BatchCreateJobsRequest{}
1348	if protoimpl.UnsafeEnabled {
1349		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9]
1350		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1351		ms.StoreMessageInfo(mi)
1352	}
1353}
1354
1355func (x *BatchCreateJobsRequest) String() string {
1356	return protoimpl.X.MessageStringOf(x)
1357}
1358
1359func (*BatchCreateJobsRequest) ProtoMessage() {}
1360
1361func (x *BatchCreateJobsRequest) ProtoReflect() protoreflect.Message {
1362	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9]
1363	if protoimpl.UnsafeEnabled && x != nil {
1364		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1365		if ms.LoadMessageInfo() == nil {
1366			ms.StoreMessageInfo(mi)
1367		}
1368		return ms
1369	}
1370	return mi.MessageOf(x)
1371}
1372
1373// Deprecated: Use BatchCreateJobsRequest.ProtoReflect.Descriptor instead.
1374func (*BatchCreateJobsRequest) Descriptor() ([]byte, []int) {
1375	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{9}
1376}
1377
1378func (x *BatchCreateJobsRequest) GetParent() string {
1379	if x != nil {
1380		return x.Parent
1381	}
1382	return ""
1383}
1384
1385func (x *BatchCreateJobsRequest) GetJobs() []*Job {
1386	if x != nil {
1387		return x.Jobs
1388	}
1389	return nil
1390}
1391
1392// Request to update a batch of jobs.
1393type BatchUpdateJobsRequest struct {
1394	state         protoimpl.MessageState
1395	sizeCache     protoimpl.SizeCache
1396	unknownFields protoimpl.UnknownFields
1397
1398	// Required. The resource name of the tenant under which the job is created.
1399	//
1400	// The format is "projects/{project_id}/tenants/{tenant_id}". For example,
1401	// "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
1402	// is created. For example, "projects/foo".
1403	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1404	// Required. The jobs to be updated.
1405	Jobs []*Job `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"`
1406	// Strongly recommended for the best service experience. Be aware that it will
1407	// also increase latency when checking the status of a batch operation.
1408	//
1409	// If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, only the specified fields in
1410	// [Job][google.cloud.talent.v4beta1.Job] are updated. Otherwise all the fields are updated.
1411	//
1412	// A field mask to restrict the fields that are updated. Only
1413	// top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported.
1414	//
1415	// If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, The [Job][google.cloud.talent.v4beta1.Job] inside
1416	// [JobResult][google.cloud.talent.v4beta1.JobOperationResult.JobResult]
1417	// will only contains fields that is updated, plus the Id of the Job.
1418	// Otherwise,  [Job][google.cloud.talent.v4beta1.Job] will include all fields, which can yield a very
1419	// large response.
1420	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1421}
1422
1423func (x *BatchUpdateJobsRequest) Reset() {
1424	*x = BatchUpdateJobsRequest{}
1425	if protoimpl.UnsafeEnabled {
1426		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10]
1427		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1428		ms.StoreMessageInfo(mi)
1429	}
1430}
1431
1432func (x *BatchUpdateJobsRequest) String() string {
1433	return protoimpl.X.MessageStringOf(x)
1434}
1435
1436func (*BatchUpdateJobsRequest) ProtoMessage() {}
1437
1438func (x *BatchUpdateJobsRequest) ProtoReflect() protoreflect.Message {
1439	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10]
1440	if protoimpl.UnsafeEnabled && x != nil {
1441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1442		if ms.LoadMessageInfo() == nil {
1443			ms.StoreMessageInfo(mi)
1444		}
1445		return ms
1446	}
1447	return mi.MessageOf(x)
1448}
1449
1450// Deprecated: Use BatchUpdateJobsRequest.ProtoReflect.Descriptor instead.
1451func (*BatchUpdateJobsRequest) Descriptor() ([]byte, []int) {
1452	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{10}
1453}
1454
1455func (x *BatchUpdateJobsRequest) GetParent() string {
1456	if x != nil {
1457		return x.Parent
1458	}
1459	return ""
1460}
1461
1462func (x *BatchUpdateJobsRequest) GetJobs() []*Job {
1463	if x != nil {
1464		return x.Jobs
1465	}
1466	return nil
1467}
1468
1469func (x *BatchUpdateJobsRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1470	if x != nil {
1471		return x.UpdateMask
1472	}
1473	return nil
1474}
1475
1476// The result of [JobService.BatchCreateJobs][google.cloud.talent.v4beta1.JobService.BatchCreateJobs] or
1477// [JobService.BatchUpdateJobs][google.cloud.talent.v4beta1.JobService.BatchUpdateJobs] APIs. It's used to
1478// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success.
1479type JobOperationResult struct {
1480	state         protoimpl.MessageState
1481	sizeCache     protoimpl.SizeCache
1482	unknownFields protoimpl.UnknownFields
1483
1484	// List of job mutation results from a batch mutate operation. It can change
1485	// until operation status is FINISHED, FAILED or CANCELLED.
1486	JobResults []*JobOperationResult_JobResult `protobuf:"bytes,1,rep,name=job_results,json=jobResults,proto3" json:"job_results,omitempty"`
1487}
1488
1489func (x *JobOperationResult) Reset() {
1490	*x = JobOperationResult{}
1491	if protoimpl.UnsafeEnabled {
1492		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11]
1493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1494		ms.StoreMessageInfo(mi)
1495	}
1496}
1497
1498func (x *JobOperationResult) String() string {
1499	return protoimpl.X.MessageStringOf(x)
1500}
1501
1502func (*JobOperationResult) ProtoMessage() {}
1503
1504func (x *JobOperationResult) ProtoReflect() protoreflect.Message {
1505	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11]
1506	if protoimpl.UnsafeEnabled && x != nil {
1507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1508		if ms.LoadMessageInfo() == nil {
1509			ms.StoreMessageInfo(mi)
1510		}
1511		return ms
1512	}
1513	return mi.MessageOf(x)
1514}
1515
1516// Deprecated: Use JobOperationResult.ProtoReflect.Descriptor instead.
1517func (*JobOperationResult) Descriptor() ([]byte, []int) {
1518	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{11}
1519}
1520
1521func (x *JobOperationResult) GetJobResults() []*JobOperationResult_JobResult {
1522	if x != nil {
1523		return x.JobResults
1524	}
1525	return nil
1526}
1527
1528// Custom ranking information for [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1529type SearchJobsRequest_CustomRankingInfo struct {
1530	state         protoimpl.MessageState
1531	sizeCache     protoimpl.SizeCache
1532	unknownFields protoimpl.UnknownFields
1533
1534	// Required. Controls over how important the score of
1535	// [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] gets applied to job's final
1536	// ranking position.
1537	//
1538	// An error is thrown if not specified.
1539	ImportanceLevel SearchJobsRequest_CustomRankingInfo_ImportanceLevel `protobuf:"varint,1,opt,name=importance_level,json=importanceLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_CustomRankingInfo_ImportanceLevel" json:"importance_level,omitempty"`
1540	// Required. Controls over how job documents get ranked on top of existing relevance
1541	// score (determined by API algorithm). A combination of the ranking
1542	// expression and relevance score is used to determine job's final ranking
1543	// position.
1544	//
1545	// The syntax for this expression is a subset of Google SQL syntax.
1546	//
1547	// Supported operators are: +, -, *, /, where the left and right side of
1548	// the operator is either a numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] key,
1549	// integer/double value or an expression that can be evaluated to a number.
1550	//
1551	// Parenthesis are supported to adjust calculation precedence. The
1552	// expression must be < 100 characters in length.
1553	//
1554	// The expression is considered invalid for a job if the expression
1555	// references custom attributes that are not populated on the job or if the
1556	// expression results in a divide by zero. If an expression is invalid for a
1557	// job, that job is demoted to the end of the results.
1558	//
1559	// Sample ranking expression
1560	// (year + 25) * 0.25 - (freshness / 0.5)
1561	RankingExpression string `protobuf:"bytes,2,opt,name=ranking_expression,json=rankingExpression,proto3" json:"ranking_expression,omitempty"`
1562}
1563
1564func (x *SearchJobsRequest_CustomRankingInfo) Reset() {
1565	*x = SearchJobsRequest_CustomRankingInfo{}
1566	if protoimpl.UnsafeEnabled {
1567		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12]
1568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1569		ms.StoreMessageInfo(mi)
1570	}
1571}
1572
1573func (x *SearchJobsRequest_CustomRankingInfo) String() string {
1574	return protoimpl.X.MessageStringOf(x)
1575}
1576
1577func (*SearchJobsRequest_CustomRankingInfo) ProtoMessage() {}
1578
1579func (x *SearchJobsRequest_CustomRankingInfo) ProtoReflect() protoreflect.Message {
1580	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12]
1581	if protoimpl.UnsafeEnabled && x != nil {
1582		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1583		if ms.LoadMessageInfo() == nil {
1584			ms.StoreMessageInfo(mi)
1585		}
1586		return ms
1587	}
1588	return mi.MessageOf(x)
1589}
1590
1591// Deprecated: Use SearchJobsRequest_CustomRankingInfo.ProtoReflect.Descriptor instead.
1592func (*SearchJobsRequest_CustomRankingInfo) Descriptor() ([]byte, []int) {
1593	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0}
1594}
1595
1596func (x *SearchJobsRequest_CustomRankingInfo) GetImportanceLevel() SearchJobsRequest_CustomRankingInfo_ImportanceLevel {
1597	if x != nil {
1598		return x.ImportanceLevel
1599	}
1600	return SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED
1601}
1602
1603func (x *SearchJobsRequest_CustomRankingInfo) GetRankingExpression() string {
1604	if x != nil {
1605		return x.RankingExpression
1606	}
1607	return ""
1608}
1609
1610// Job entry with metadata inside [SearchJobsResponse][google.cloud.talent.v4beta1.SearchJobsResponse].
1611type SearchJobsResponse_MatchingJob struct {
1612	state         protoimpl.MessageState
1613	sizeCache     protoimpl.SizeCache
1614	unknownFields protoimpl.UnknownFields
1615
1616	// Job resource that matches the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1617	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1618	// A summary of the job with core information that's displayed on the search
1619	// results listing page.
1620	JobSummary string `protobuf:"bytes,2,opt,name=job_summary,json=jobSummary,proto3" json:"job_summary,omitempty"`
1621	// Contains snippets of text from the [Job.title][google.cloud.talent.v4beta1.Job.title] field most
1622	// closely matching a search query's keywords, if available. The matching
1623	// query keywords are enclosed in HTML bold tags.
1624	JobTitleSnippet string `protobuf:"bytes,3,opt,name=job_title_snippet,json=jobTitleSnippet,proto3" json:"job_title_snippet,omitempty"`
1625	// Contains snippets of text from the [Job.description][google.cloud.talent.v4beta1.Job.description] and similar
1626	// fields that most closely match a search query's keywords, if available.
1627	// All HTML tags in the original fields are stripped when returned in this
1628	// field, and matching query keywords are enclosed in HTML bold tags.
1629	SearchTextSnippet string `protobuf:"bytes,4,opt,name=search_text_snippet,json=searchTextSnippet,proto3" json:"search_text_snippet,omitempty"`
1630	// Commute information which is generated based on specified
1631	//  [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter].
1632	CommuteInfo *SearchJobsResponse_CommuteInfo `protobuf:"bytes,5,opt,name=commute_info,json=commuteInfo,proto3" json:"commute_info,omitempty"`
1633}
1634
1635func (x *SearchJobsResponse_MatchingJob) Reset() {
1636	*x = SearchJobsResponse_MatchingJob{}
1637	if protoimpl.UnsafeEnabled {
1638		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13]
1639		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1640		ms.StoreMessageInfo(mi)
1641	}
1642}
1643
1644func (x *SearchJobsResponse_MatchingJob) String() string {
1645	return protoimpl.X.MessageStringOf(x)
1646}
1647
1648func (*SearchJobsResponse_MatchingJob) ProtoMessage() {}
1649
1650func (x *SearchJobsResponse_MatchingJob) ProtoReflect() protoreflect.Message {
1651	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13]
1652	if protoimpl.UnsafeEnabled && x != nil {
1653		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1654		if ms.LoadMessageInfo() == nil {
1655			ms.StoreMessageInfo(mi)
1656		}
1657		return ms
1658	}
1659	return mi.MessageOf(x)
1660}
1661
1662// Deprecated: Use SearchJobsResponse_MatchingJob.ProtoReflect.Descriptor instead.
1663func (*SearchJobsResponse_MatchingJob) Descriptor() ([]byte, []int) {
1664	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8, 0}
1665}
1666
1667func (x *SearchJobsResponse_MatchingJob) GetJob() *Job {
1668	if x != nil {
1669		return x.Job
1670	}
1671	return nil
1672}
1673
1674func (x *SearchJobsResponse_MatchingJob) GetJobSummary() string {
1675	if x != nil {
1676		return x.JobSummary
1677	}
1678	return ""
1679}
1680
1681func (x *SearchJobsResponse_MatchingJob) GetJobTitleSnippet() string {
1682	if x != nil {
1683		return x.JobTitleSnippet
1684	}
1685	return ""
1686}
1687
1688func (x *SearchJobsResponse_MatchingJob) GetSearchTextSnippet() string {
1689	if x != nil {
1690		return x.SearchTextSnippet
1691	}
1692	return ""
1693}
1694
1695func (x *SearchJobsResponse_MatchingJob) GetCommuteInfo() *SearchJobsResponse_CommuteInfo {
1696	if x != nil {
1697		return x.CommuteInfo
1698	}
1699	return nil
1700}
1701
1702// Commute details related to this job.
1703type SearchJobsResponse_CommuteInfo struct {
1704	state         protoimpl.MessageState
1705	sizeCache     protoimpl.SizeCache
1706	unknownFields protoimpl.UnknownFields
1707
1708	// Location used as the destination in the commute calculation.
1709	JobLocation *Location `protobuf:"bytes,1,opt,name=job_location,json=jobLocation,proto3" json:"job_location,omitempty"`
1710	// The number of seconds required to travel to the job location from the
1711	// query location. A duration of 0 seconds indicates that the job isn't
1712	// reachable within the requested duration, but was returned as part of an
1713	// expanded query.
1714	TravelDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=travel_duration,json=travelDuration,proto3" json:"travel_duration,omitempty"`
1715}
1716
1717func (x *SearchJobsResponse_CommuteInfo) Reset() {
1718	*x = SearchJobsResponse_CommuteInfo{}
1719	if protoimpl.UnsafeEnabled {
1720		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14]
1721		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1722		ms.StoreMessageInfo(mi)
1723	}
1724}
1725
1726func (x *SearchJobsResponse_CommuteInfo) String() string {
1727	return protoimpl.X.MessageStringOf(x)
1728}
1729
1730func (*SearchJobsResponse_CommuteInfo) ProtoMessage() {}
1731
1732func (x *SearchJobsResponse_CommuteInfo) ProtoReflect() protoreflect.Message {
1733	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14]
1734	if protoimpl.UnsafeEnabled && x != nil {
1735		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1736		if ms.LoadMessageInfo() == nil {
1737			ms.StoreMessageInfo(mi)
1738		}
1739		return ms
1740	}
1741	return mi.MessageOf(x)
1742}
1743
1744// Deprecated: Use SearchJobsResponse_CommuteInfo.ProtoReflect.Descriptor instead.
1745func (*SearchJobsResponse_CommuteInfo) Descriptor() ([]byte, []int) {
1746	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8, 1}
1747}
1748
1749func (x *SearchJobsResponse_CommuteInfo) GetJobLocation() *Location {
1750	if x != nil {
1751		return x.JobLocation
1752	}
1753	return nil
1754}
1755
1756func (x *SearchJobsResponse_CommuteInfo) GetTravelDuration() *durationpb.Duration {
1757	if x != nil {
1758		return x.TravelDuration
1759	}
1760	return nil
1761}
1762
1763// Mutation result of a job.
1764type JobOperationResult_JobResult struct {
1765	state         protoimpl.MessageState
1766	sizeCache     protoimpl.SizeCache
1767	unknownFields protoimpl.UnknownFields
1768
1769	// Here [Job][google.cloud.talent.v4beta1.Job] only contains basic information including [name][google.cloud.talent.v4beta1.Job.name],
1770	// [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code]
1771	// and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], use getJob method to retrieve
1772	// detailed information of the created/updated job.
1773	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1774	// The status of the job processed. This field is populated if the
1775	// processing of the [job][google.cloud.talent.v4beta1.JobOperationResult.JobResult.job] fails.
1776	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
1777}
1778
1779func (x *JobOperationResult_JobResult) Reset() {
1780	*x = JobOperationResult_JobResult{}
1781	if protoimpl.UnsafeEnabled {
1782		mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15]
1783		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1784		ms.StoreMessageInfo(mi)
1785	}
1786}
1787
1788func (x *JobOperationResult_JobResult) String() string {
1789	return protoimpl.X.MessageStringOf(x)
1790}
1791
1792func (*JobOperationResult_JobResult) ProtoMessage() {}
1793
1794func (x *JobOperationResult_JobResult) ProtoReflect() protoreflect.Message {
1795	mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15]
1796	if protoimpl.UnsafeEnabled && x != nil {
1797		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1798		if ms.LoadMessageInfo() == nil {
1799			ms.StoreMessageInfo(mi)
1800		}
1801		return ms
1802	}
1803	return mi.MessageOf(x)
1804}
1805
1806// Deprecated: Use JobOperationResult_JobResult.ProtoReflect.Descriptor instead.
1807func (*JobOperationResult_JobResult) Descriptor() ([]byte, []int) {
1808	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{11, 0}
1809}
1810
1811func (x *JobOperationResult_JobResult) GetJob() *Job {
1812	if x != nil {
1813		return x.Job
1814	}
1815	return nil
1816}
1817
1818func (x *JobOperationResult_JobResult) GetStatus() *status.Status {
1819	if x != nil {
1820		return x.Status
1821	}
1822	return nil
1823}
1824
1825var File_google_cloud_talent_v4beta1_job_service_proto protoreflect.FileDescriptor
1826
1827var file_google_cloud_talent_v4beta1_job_service_proto_rawDesc = []byte{
1828	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
1829	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f,
1830	0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1831	0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61,
1832	0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
1833	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
1834	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,
1835	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
1836	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
1837	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
1838	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
1839	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1840	0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61,
1841	0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d,
1842	0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1843	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76,
1844	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70,
1845	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
1846	0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
1847	0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1848	0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
1849	0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a,
1850	0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1851	0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65,
1852	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
1853	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61,
1854	0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1855	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
1856	0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1857	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
1858	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
1859	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
1860	0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1861	0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1862	0x22, 0x84, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65,
1863	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
1864	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a,
1865	0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
1866	0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37,
1867	0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f,
1868	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
1869	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0,
1870	0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x44, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f,
1871	0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1872	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x0a, 0x17,
1873	0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
1874	0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x01,
1875	0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
1876	0x73, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
1877	0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
1878	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f,
1879	0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x3b, 0x0a, 0x0b, 0x75,
1880	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
1881	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1882	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70,
1883	0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x47, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65,
1884	0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04,
1885	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa,
1886	0x41, 0x19, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1887	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d,
1888	0x65, 0x22, 0x6e, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
1889	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70,
1890	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02,
1891	0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1892	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61,
1893	0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02,
1894	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
1895	0x72, 0x22, 0xe4, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65,
1896	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
1897	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a,
1898	0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
1899	0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b,
1900	0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
1901	0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
1902	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
1903	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
1904	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
1905	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x76,
1906	0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1907	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
1908	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x52,
1909	0x07, 0x6a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x22, 0xbb, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73,
1910	0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a,
1911	0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f,
1912	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
1913	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a,
1914	0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
1915	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
1916	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x08, 0x6d,
1917	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
1918	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
1919	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70,
1920	0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
1921	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x0b, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63,
1922	0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06,
1923	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41,
1924	0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1925	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70,
1926	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f,
1927	0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f,
1928	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
1929	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a,
1930	0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63,
1931	0x68, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64,
1932	0x65, 0x12, 0x5c, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74,
1933	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
1934	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
1935	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
1936	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f,
1937	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
1938	0x42, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
1939	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1940	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
1941	0x2e, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x51, 0x75,
1942	0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x72,
1943	0x6f, 0x61, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
1944	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x67,
1945	0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63,
1946	0x69, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
1947	0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x50, 0x72,
1948	0x65, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12,
1949	0x58, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x71, 0x75, 0x65,
1950	0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
1951	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
1952	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
1953	0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
1954	0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x6a, 0x6f, 0x62,
1955	0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f,
1956	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
1957	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65,
1958	0x77, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
1959	0x66, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
1960	0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
1961	0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
1962	0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20,
1963	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19,
1964	0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
1965	0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x78, 0x0a, 0x15, 0x64, 0x69, 0x76,
1966	0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76,
1967	0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1968	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
1969	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62,
1970	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69,
1971	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x64,
1972	0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
1973	0x76, 0x65, 0x6c, 0x12, 0x70, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x61,
1974	0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
1975	0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1976	0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
1977	0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
1978	0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e,
1979	0x66, 0x6f, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e,
1980	0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
1981	0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x10,
1982	0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79,
1983	0x77, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xbf, 0x02, 0x0a, 0x11, 0x43, 0x75,
1984	0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12,
1985	0x80, 0x01, 0x0a, 0x10, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
1986	0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f,
1987	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
1988	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a,
1989	0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f,
1990	0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x6d, 0x70,
1991	0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41,
1992	0x02, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76,
1993	0x65, 0x6c, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78,
1994	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
1995	0xe0, 0x41, 0x02, 0x52, 0x11, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72,
1996	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
1997	0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4d, 0x50,
1998	0x4f, 0x52, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e,
1999	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e,
2000	0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x08,
2001	0x0a, 0x04, 0x4d, 0x49, 0x4c, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49,
2002	0x55, 0x4d, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x05, 0x12, 0x0b,
2003	0x0a, 0x07, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x45, 0x10, 0x06, 0x22, 0x52, 0x0a, 0x0a, 0x53,
2004	0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41,
2005	0x52, 0x43, 0x48, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
2006	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x45,
2007	0x41, 0x52, 0x43, 0x48, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52,
2008	0x45, 0x44, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, 0x22,
2009	0x57, 0x0a, 0x14, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
2010	0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x56, 0x45, 0x52,
2011	0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
2012	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c,
2013	0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
2014	0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x02, 0x22, 0xcf, 0x08, 0x0a, 0x12, 0x53, 0x65, 0x61,
2015	0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
2016	0x60, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73,
2017	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2018	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2019	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52,
2020	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
2021	0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62,
2022	0x73, 0x12, 0x69, 0x0a, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x71,
2023	0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
2024	0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2025	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2026	0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
2027	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x15, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d,
2028	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f,
2029	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
2030	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
2031	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2032	0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
2033	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61,
2034	0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63,
2035	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
2036	0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61,
2037	0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05,
2038	0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x54,
2039	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61,
2040	0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f,
2041	0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
2042	0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2043	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2044	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2045	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
2046	0x74, 0x61, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x65, 0x64, 0x5f,
2047	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
2048	0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x65,
2049	0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
2050	0x5a, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74,
2051	0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2052	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2053	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
2054	0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x6c,
2055	0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, 0x02, 0x0a, 0x0b,
2056	0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, 0x03, 0x6a,
2057	0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2058	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
2059	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12,
2060	0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02,
2061	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
2062	0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6e,
2063	0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, 0x62,
2064	0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13,
2065	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6e, 0x69, 0x70,
2066	0x70, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63,
2067	0x68, 0x54, 0x65, 0x78, 0x74, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x0c,
2068	0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01,
2069	0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2070	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2071	0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
2072	0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
2073	0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x9b, 0x01, 0x0a,
2074	0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0c,
2075	0x6a, 0x6f, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
2076	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2077	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2078	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x4c, 0x6f,
2079	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c,
2080	0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2081	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2082	0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x76,
2083	0x65, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x42,
2084	0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65,
2085	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
2086	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a,
2087	0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2088	0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39,
2089	0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
2090	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2091	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03,
2092	0xe0, 0x41, 0x02, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x42, 0x61,
2093	0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71,
2094	0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
2095	0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f,
2096	0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2097	0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a,
2098	0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f,
2099	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
2100	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0,
2101	0x41, 0x02, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
2102	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2103	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2104	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
2105	0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdd, 0x01, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65,
2106	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, 0x0a, 0x0b,
2107	0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2108	0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2109	0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2110	0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
2111	0x6c, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x6a, 0x6f,
2112	0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x52,
2113	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01,
2114	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2115	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2116	0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61,
2117	0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2118	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
2119	0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x76, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77,
2120	0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53,
2121	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f,
2122	0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01,
2123	0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x49, 0x4e,
2124	0x49, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49,
2125	0x45, 0x57, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x4f,
2126	0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x32, 0xce, 0x12,
2127	0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc9, 0x01, 0x0a,
2128	0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
2129	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2130	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a,
2131	0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2132	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2133	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x6b, 0x82, 0xd3, 0xe4,
2134	0x93, 0x02, 0x58, 0x22, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
2135	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
2136	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73,
2137	0x3a, 0x01, 0x2a, 0x5a, 0x26, 0x22, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2138	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2139	0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0a, 0x70, 0x61,
2140	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x02, 0x0a, 0x0f, 0x42, 0x61, 0x74,
2141	0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x33, 0x2e, 0x67,
2142	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2143	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
2144	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2145	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
2146	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2147	0x22, 0xb3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x22, 0x37, 0x2f, 0x76, 0x34, 0x62, 0x65,
2148	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2149	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
2150	0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61,
2151	0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x32, 0x22, 0x2d, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2152	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2153	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68,
2154	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x70, 0x61, 0x72, 0x65,
2155	0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x73, 0xca, 0x41, 0x2c, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x4f,
2156	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16,
2157	0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
2158	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb7, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f,
2159	0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2160	0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2161	0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
2162	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2163	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22,
2164	0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2165	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2166	0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62,
2167	0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2168	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2169	0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2170	0x12, 0xca, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d,
2171	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61,
2172	0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,
2173	0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
2174	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2175	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22,
2176	0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x32, 0x2f, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2177	0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2178	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
2179	0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x2a, 0x32, 0x25, 0x2f,
2180	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x2e, 0x6e, 0x61, 0x6d,
2181	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62,
2182	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x02,
2183	0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62,
2184	0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2185	0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2186	0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52,
2187	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2188	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
2189	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x22, 0x37,
2190	0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
2191	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61,
2192	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63,
2193	0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x32, 0x22, 0x2d, 0x2f, 0x76,
2194	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
2195	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a,
2196	0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41,
2197	0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x73, 0xca, 0x41, 0x2c, 0x0a,
2198	0x12, 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
2199	0x75, 0x6c, 0x74, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
2200	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x01, 0x0a, 0x09,
2201	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2202	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2203	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f,
2204	0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2205	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
2206	0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74,
2207	0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2208	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f,
2209	0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2210	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2211	0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
2212	0x65, 0x12, 0xe4, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74,
2213	0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2214	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2215	0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a,
2216	0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
2217	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
2218	0x74, 0x79, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x22, 0x37, 0x2f, 0x76, 0x34,
2219	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
2220	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
2221	0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65,
2222	0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x2f, 0x22, 0x2d, 0x2f, 0x76, 0x34, 0x62, 0x65,
2223	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2224	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74,
2225	0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e,
2226	0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xd1, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73,
2227	0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2228	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2229	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
2230	0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2231	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2232	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2233	0x73, 0x65, 0x22, 0x68, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x2b, 0x2f, 0x76, 0x34, 0x62,
2234	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
2235	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
2236	0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65,
2237	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2238	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x0d, 0x70,
2239	0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xdb, 0x01, 0x0a,
2240	0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f,
2241	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
2242	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
2243	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f,
2244	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
2245	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
2246	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3,
2247	0xe4, 0x93, 0x02, 0x66, 0x22, 0x32, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
2248	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2249	0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62,
2250	0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x2d, 0x22, 0x28, 0x2f,
2251	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
2252	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73,
2253	0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0xf3, 0x01, 0x0a, 0x12, 0x53,
2254	0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x65, 0x72,
2255	0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2256	0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2257	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2258	0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2259	0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2260	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2261	0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x22, 0x3a, 0x2f, 0x76, 0x34, 0x62,
2262	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
2263	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
2264	0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f,
2265	0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x34,
2266	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
2267	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x73,
2268	0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a,
2269	0x1a, 0x6c, 0xca, 0x41, 0x13, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2270	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x53, 0x68, 0x74, 0x74, 0x70, 0x73,
2271	0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
2272	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2273	0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
2274	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2275	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x42, 0x7d,
2276	0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2277	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2278	0x31, 0x42, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
2279	0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
2280	0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2281	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
2282	0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2283	0x3b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43, 0x54, 0x53, 0x62, 0x06, 0x70,
2284	0x72, 0x6f, 0x74, 0x6f, 0x33,
2285}
2286
2287var (
2288	file_google_cloud_talent_v4beta1_job_service_proto_rawDescOnce sync.Once
2289	file_google_cloud_talent_v4beta1_job_service_proto_rawDescData = file_google_cloud_talent_v4beta1_job_service_proto_rawDesc
2290)
2291
2292func file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP() []byte {
2293	file_google_cloud_talent_v4beta1_job_service_proto_rawDescOnce.Do(func() {
2294		file_google_cloud_talent_v4beta1_job_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_talent_v4beta1_job_service_proto_rawDescData)
2295	})
2296	return file_google_cloud_talent_v4beta1_job_service_proto_rawDescData
2297}
2298
2299var file_google_cloud_talent_v4beta1_job_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2300var file_google_cloud_talent_v4beta1_job_service_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
2301var file_google_cloud_talent_v4beta1_job_service_proto_goTypes = []interface{}{
2302	(JobView)(0),                                             // 0: google.cloud.talent.v4beta1.JobView
2303	(SearchJobsRequest_SearchMode)(0),                        // 1: google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode
2304	(SearchJobsRequest_DiversificationLevel)(0),              // 2: google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel
2305	(SearchJobsRequest_CustomRankingInfo_ImportanceLevel)(0), // 3: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
2306	(*CreateJobRequest)(nil),                                 // 4: google.cloud.talent.v4beta1.CreateJobRequest
2307	(*GetJobRequest)(nil),                                    // 5: google.cloud.talent.v4beta1.GetJobRequest
2308	(*UpdateJobRequest)(nil),                                 // 6: google.cloud.talent.v4beta1.UpdateJobRequest
2309	(*DeleteJobRequest)(nil),                                 // 7: google.cloud.talent.v4beta1.DeleteJobRequest
2310	(*BatchDeleteJobsRequest)(nil),                           // 8: google.cloud.talent.v4beta1.BatchDeleteJobsRequest
2311	(*ListJobsRequest)(nil),                                  // 9: google.cloud.talent.v4beta1.ListJobsRequest
2312	(*ListJobsResponse)(nil),                                 // 10: google.cloud.talent.v4beta1.ListJobsResponse
2313	(*SearchJobsRequest)(nil),                                // 11: google.cloud.talent.v4beta1.SearchJobsRequest
2314	(*SearchJobsResponse)(nil),                               // 12: google.cloud.talent.v4beta1.SearchJobsResponse
2315	(*BatchCreateJobsRequest)(nil),                           // 13: google.cloud.talent.v4beta1.BatchCreateJobsRequest
2316	(*BatchUpdateJobsRequest)(nil),                           // 14: google.cloud.talent.v4beta1.BatchUpdateJobsRequest
2317	(*JobOperationResult)(nil),                               // 15: google.cloud.talent.v4beta1.JobOperationResult
2318	(*SearchJobsRequest_CustomRankingInfo)(nil),              // 16: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo
2319	(*SearchJobsResponse_MatchingJob)(nil),                   // 17: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob
2320	(*SearchJobsResponse_CommuteInfo)(nil),                   // 18: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo
2321	(*JobOperationResult_JobResult)(nil),                     // 19: google.cloud.talent.v4beta1.JobOperationResult.JobResult
2322	(*Job)(nil),                                              // 20: google.cloud.talent.v4beta1.Job
2323	(*fieldmaskpb.FieldMask)(nil),                            // 21: google.protobuf.FieldMask
2324	(*ResponseMetadata)(nil),                                 // 22: google.cloud.talent.v4beta1.ResponseMetadata
2325	(*RequestMetadata)(nil),                                  // 23: google.cloud.talent.v4beta1.RequestMetadata
2326	(*JobQuery)(nil),                                         // 24: google.cloud.talent.v4beta1.JobQuery
2327	(*HistogramQuery)(nil),                                   // 25: google.cloud.talent.v4beta1.HistogramQuery
2328	(*HistogramQueryResult)(nil),                             // 26: google.cloud.talent.v4beta1.HistogramQueryResult
2329	(*Location)(nil),                                         // 27: google.cloud.talent.v4beta1.Location
2330	(*SpellingCorrection)(nil),                               // 28: google.cloud.talent.v4beta1.SpellingCorrection
2331	(*durationpb.Duration)(nil),                              // 29: google.protobuf.Duration
2332	(*status.Status)(nil),                                    // 30: google.rpc.Status
2333	(*longrunning.Operation)(nil),                            // 31: google.longrunning.Operation
2334	(*emptypb.Empty)(nil),                                    // 32: google.protobuf.Empty
2335}
2336var file_google_cloud_talent_v4beta1_job_service_proto_depIdxs = []int32{
2337	20, // 0: google.cloud.talent.v4beta1.CreateJobRequest.job:type_name -> google.cloud.talent.v4beta1.Job
2338	20, // 1: google.cloud.talent.v4beta1.UpdateJobRequest.job:type_name -> google.cloud.talent.v4beta1.Job
2339	21, // 2: google.cloud.talent.v4beta1.UpdateJobRequest.update_mask:type_name -> google.protobuf.FieldMask
2340	0,  // 3: google.cloud.talent.v4beta1.ListJobsRequest.job_view:type_name -> google.cloud.talent.v4beta1.JobView
2341	20, // 4: google.cloud.talent.v4beta1.ListJobsResponse.jobs:type_name -> google.cloud.talent.v4beta1.Job
2342	22, // 5: google.cloud.talent.v4beta1.ListJobsResponse.metadata:type_name -> google.cloud.talent.v4beta1.ResponseMetadata
2343	1,  // 6: google.cloud.talent.v4beta1.SearchJobsRequest.search_mode:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode
2344	23, // 7: google.cloud.talent.v4beta1.SearchJobsRequest.request_metadata:type_name -> google.cloud.talent.v4beta1.RequestMetadata
2345	24, // 8: google.cloud.talent.v4beta1.SearchJobsRequest.job_query:type_name -> google.cloud.talent.v4beta1.JobQuery
2346	25, // 9: google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries:type_name -> google.cloud.talent.v4beta1.HistogramQuery
2347	0,  // 10: google.cloud.talent.v4beta1.SearchJobsRequest.job_view:type_name -> google.cloud.talent.v4beta1.JobView
2348	2,  // 11: google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel
2349	16, // 12: google.cloud.talent.v4beta1.SearchJobsRequest.custom_ranking_info:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo
2350	17, // 13: google.cloud.talent.v4beta1.SearchJobsResponse.matching_jobs:type_name -> google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob
2351	26, // 14: google.cloud.talent.v4beta1.SearchJobsResponse.histogram_query_results:type_name -> google.cloud.talent.v4beta1.HistogramQueryResult
2352	27, // 15: google.cloud.talent.v4beta1.SearchJobsResponse.location_filters:type_name -> google.cloud.talent.v4beta1.Location
2353	22, // 16: google.cloud.talent.v4beta1.SearchJobsResponse.metadata:type_name -> google.cloud.talent.v4beta1.ResponseMetadata
2354	28, // 17: google.cloud.talent.v4beta1.SearchJobsResponse.spell_correction:type_name -> google.cloud.talent.v4beta1.SpellingCorrection
2355	20, // 18: google.cloud.talent.v4beta1.BatchCreateJobsRequest.jobs:type_name -> google.cloud.talent.v4beta1.Job
2356	20, // 19: google.cloud.talent.v4beta1.BatchUpdateJobsRequest.jobs:type_name -> google.cloud.talent.v4beta1.Job
2357	21, // 20: google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask:type_name -> google.protobuf.FieldMask
2358	19, // 21: google.cloud.talent.v4beta1.JobOperationResult.job_results:type_name -> google.cloud.talent.v4beta1.JobOperationResult.JobResult
2359	3,  // 22: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
2360	20, // 23: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.job:type_name -> google.cloud.talent.v4beta1.Job
2361	18, // 24: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.commute_info:type_name -> google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo
2362	27, // 25: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.job_location:type_name -> google.cloud.talent.v4beta1.Location
2363	29, // 26: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.travel_duration:type_name -> google.protobuf.Duration
2364	20, // 27: google.cloud.talent.v4beta1.JobOperationResult.JobResult.job:type_name -> google.cloud.talent.v4beta1.Job
2365	30, // 28: google.cloud.talent.v4beta1.JobOperationResult.JobResult.status:type_name -> google.rpc.Status
2366	4,  // 29: google.cloud.talent.v4beta1.JobService.CreateJob:input_type -> google.cloud.talent.v4beta1.CreateJobRequest
2367	13, // 30: google.cloud.talent.v4beta1.JobService.BatchCreateJobs:input_type -> google.cloud.talent.v4beta1.BatchCreateJobsRequest
2368	5,  // 31: google.cloud.talent.v4beta1.JobService.GetJob:input_type -> google.cloud.talent.v4beta1.GetJobRequest
2369	6,  // 32: google.cloud.talent.v4beta1.JobService.UpdateJob:input_type -> google.cloud.talent.v4beta1.UpdateJobRequest
2370	14, // 33: google.cloud.talent.v4beta1.JobService.BatchUpdateJobs:input_type -> google.cloud.talent.v4beta1.BatchUpdateJobsRequest
2371	7,  // 34: google.cloud.talent.v4beta1.JobService.DeleteJob:input_type -> google.cloud.talent.v4beta1.DeleteJobRequest
2372	8,  // 35: google.cloud.talent.v4beta1.JobService.BatchDeleteJobs:input_type -> google.cloud.talent.v4beta1.BatchDeleteJobsRequest
2373	9,  // 36: google.cloud.talent.v4beta1.JobService.ListJobs:input_type -> google.cloud.talent.v4beta1.ListJobsRequest
2374	11, // 37: google.cloud.talent.v4beta1.JobService.SearchJobs:input_type -> google.cloud.talent.v4beta1.SearchJobsRequest
2375	11, // 38: google.cloud.talent.v4beta1.JobService.SearchJobsForAlert:input_type -> google.cloud.talent.v4beta1.SearchJobsRequest
2376	20, // 39: google.cloud.talent.v4beta1.JobService.CreateJob:output_type -> google.cloud.talent.v4beta1.Job
2377	31, // 40: google.cloud.talent.v4beta1.JobService.BatchCreateJobs:output_type -> google.longrunning.Operation
2378	20, // 41: google.cloud.talent.v4beta1.JobService.GetJob:output_type -> google.cloud.talent.v4beta1.Job
2379	20, // 42: google.cloud.talent.v4beta1.JobService.UpdateJob:output_type -> google.cloud.talent.v4beta1.Job
2380	31, // 43: google.cloud.talent.v4beta1.JobService.BatchUpdateJobs:output_type -> google.longrunning.Operation
2381	32, // 44: google.cloud.talent.v4beta1.JobService.DeleteJob:output_type -> google.protobuf.Empty
2382	32, // 45: google.cloud.talent.v4beta1.JobService.BatchDeleteJobs:output_type -> google.protobuf.Empty
2383	10, // 46: google.cloud.talent.v4beta1.JobService.ListJobs:output_type -> google.cloud.talent.v4beta1.ListJobsResponse
2384	12, // 47: google.cloud.talent.v4beta1.JobService.SearchJobs:output_type -> google.cloud.talent.v4beta1.SearchJobsResponse
2385	12, // 48: google.cloud.talent.v4beta1.JobService.SearchJobsForAlert:output_type -> google.cloud.talent.v4beta1.SearchJobsResponse
2386	39, // [39:49] is the sub-list for method output_type
2387	29, // [29:39] is the sub-list for method input_type
2388	29, // [29:29] is the sub-list for extension type_name
2389	29, // [29:29] is the sub-list for extension extendee
2390	0,  // [0:29] is the sub-list for field type_name
2391}
2392
2393func init() { file_google_cloud_talent_v4beta1_job_service_proto_init() }
2394func file_google_cloud_talent_v4beta1_job_service_proto_init() {
2395	if File_google_cloud_talent_v4beta1_job_service_proto != nil {
2396		return
2397	}
2398	file_google_cloud_talent_v4beta1_common_proto_init()
2399	file_google_cloud_talent_v4beta1_filters_proto_init()
2400	file_google_cloud_talent_v4beta1_histogram_proto_init()
2401	file_google_cloud_talent_v4beta1_job_proto_init()
2402	if !protoimpl.UnsafeEnabled {
2403		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2404			switch v := v.(*CreateJobRequest); i {
2405			case 0:
2406				return &v.state
2407			case 1:
2408				return &v.sizeCache
2409			case 2:
2410				return &v.unknownFields
2411			default:
2412				return nil
2413			}
2414		}
2415		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2416			switch v := v.(*GetJobRequest); i {
2417			case 0:
2418				return &v.state
2419			case 1:
2420				return &v.sizeCache
2421			case 2:
2422				return &v.unknownFields
2423			default:
2424				return nil
2425			}
2426		}
2427		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2428			switch v := v.(*UpdateJobRequest); i {
2429			case 0:
2430				return &v.state
2431			case 1:
2432				return &v.sizeCache
2433			case 2:
2434				return &v.unknownFields
2435			default:
2436				return nil
2437			}
2438		}
2439		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2440			switch v := v.(*DeleteJobRequest); i {
2441			case 0:
2442				return &v.state
2443			case 1:
2444				return &v.sizeCache
2445			case 2:
2446				return &v.unknownFields
2447			default:
2448				return nil
2449			}
2450		}
2451		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2452			switch v := v.(*BatchDeleteJobsRequest); i {
2453			case 0:
2454				return &v.state
2455			case 1:
2456				return &v.sizeCache
2457			case 2:
2458				return &v.unknownFields
2459			default:
2460				return nil
2461			}
2462		}
2463		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2464			switch v := v.(*ListJobsRequest); i {
2465			case 0:
2466				return &v.state
2467			case 1:
2468				return &v.sizeCache
2469			case 2:
2470				return &v.unknownFields
2471			default:
2472				return nil
2473			}
2474		}
2475		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2476			switch v := v.(*ListJobsResponse); i {
2477			case 0:
2478				return &v.state
2479			case 1:
2480				return &v.sizeCache
2481			case 2:
2482				return &v.unknownFields
2483			default:
2484				return nil
2485			}
2486		}
2487		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2488			switch v := v.(*SearchJobsRequest); i {
2489			case 0:
2490				return &v.state
2491			case 1:
2492				return &v.sizeCache
2493			case 2:
2494				return &v.unknownFields
2495			default:
2496				return nil
2497			}
2498		}
2499		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2500			switch v := v.(*SearchJobsResponse); i {
2501			case 0:
2502				return &v.state
2503			case 1:
2504				return &v.sizeCache
2505			case 2:
2506				return &v.unknownFields
2507			default:
2508				return nil
2509			}
2510		}
2511		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2512			switch v := v.(*BatchCreateJobsRequest); i {
2513			case 0:
2514				return &v.state
2515			case 1:
2516				return &v.sizeCache
2517			case 2:
2518				return &v.unknownFields
2519			default:
2520				return nil
2521			}
2522		}
2523		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2524			switch v := v.(*BatchUpdateJobsRequest); i {
2525			case 0:
2526				return &v.state
2527			case 1:
2528				return &v.sizeCache
2529			case 2:
2530				return &v.unknownFields
2531			default:
2532				return nil
2533			}
2534		}
2535		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2536			switch v := v.(*JobOperationResult); i {
2537			case 0:
2538				return &v.state
2539			case 1:
2540				return &v.sizeCache
2541			case 2:
2542				return &v.unknownFields
2543			default:
2544				return nil
2545			}
2546		}
2547		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2548			switch v := v.(*SearchJobsRequest_CustomRankingInfo); i {
2549			case 0:
2550				return &v.state
2551			case 1:
2552				return &v.sizeCache
2553			case 2:
2554				return &v.unknownFields
2555			default:
2556				return nil
2557			}
2558		}
2559		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2560			switch v := v.(*SearchJobsResponse_MatchingJob); i {
2561			case 0:
2562				return &v.state
2563			case 1:
2564				return &v.sizeCache
2565			case 2:
2566				return &v.unknownFields
2567			default:
2568				return nil
2569			}
2570		}
2571		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2572			switch v := v.(*SearchJobsResponse_CommuteInfo); i {
2573			case 0:
2574				return &v.state
2575			case 1:
2576				return &v.sizeCache
2577			case 2:
2578				return &v.unknownFields
2579			default:
2580				return nil
2581			}
2582		}
2583		file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2584			switch v := v.(*JobOperationResult_JobResult); i {
2585			case 0:
2586				return &v.state
2587			case 1:
2588				return &v.sizeCache
2589			case 2:
2590				return &v.unknownFields
2591			default:
2592				return nil
2593			}
2594		}
2595	}
2596	type x struct{}
2597	out := protoimpl.TypeBuilder{
2598		File: protoimpl.DescBuilder{
2599			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2600			RawDescriptor: file_google_cloud_talent_v4beta1_job_service_proto_rawDesc,
2601			NumEnums:      4,
2602			NumMessages:   16,
2603			NumExtensions: 0,
2604			NumServices:   1,
2605		},
2606		GoTypes:           file_google_cloud_talent_v4beta1_job_service_proto_goTypes,
2607		DependencyIndexes: file_google_cloud_talent_v4beta1_job_service_proto_depIdxs,
2608		EnumInfos:         file_google_cloud_talent_v4beta1_job_service_proto_enumTypes,
2609		MessageInfos:      file_google_cloud_talent_v4beta1_job_service_proto_msgTypes,
2610	}.Build()
2611	File_google_cloud_talent_v4beta1_job_service_proto = out.File
2612	file_google_cloud_talent_v4beta1_job_service_proto_rawDesc = nil
2613	file_google_cloud_talent_v4beta1_job_service_proto_goTypes = nil
2614	file_google_cloud_talent_v4beta1_job_service_proto_depIdxs = nil
2615}
2616
2617// Reference imports to suppress errors if they are not otherwise used.
2618var _ context.Context
2619var _ grpc.ClientConnInterface
2620
2621// This is a compile-time assertion to ensure that this generated file
2622// is compatible with the grpc package it is being compiled against.
2623const _ = grpc.SupportPackageIsVersion6
2624
2625// JobServiceClient is the client API for JobService service.
2626//
2627// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2628type JobServiceClient interface {
2629	// Creates a new job.
2630	//
2631	// Typically, the job becomes searchable within 10 seconds, but it may take
2632	// up to 5 minutes.
2633	CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
2634	// Begins executing a batch create jobs operation.
2635	BatchCreateJobs(ctx context.Context, in *BatchCreateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2636	// Retrieves the specified job, whose status is OPEN or recently EXPIRED
2637	// within the last 90 days.
2638	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
2639	// Updates specified job.
2640	//
2641	// Typically, updated contents become visible in search results within 10
2642	// seconds, but it may take up to 5 minutes.
2643	UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error)
2644	// Begins executing a batch update jobs operation.
2645	BatchUpdateJobs(ctx context.Context, in *BatchUpdateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2646	// Deletes the specified job.
2647	//
2648	// Typically, the job becomes unsearchable within 10 seconds, but it may take
2649	// up to 5 minutes.
2650	DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
2651	// Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter.
2652	BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
2653	// Lists jobs by filter.
2654	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
2655	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
2656	//
2657	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
2658	// present in the database, and only returns jobs that the caller has
2659	// permission to search against.
2660	SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error)
2661	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
2662	//
2663	// This API call is intended for the use case of targeting passive job
2664	// seekers (for example, job seekers who have signed up to receive email
2665	// alerts about potential job opportunities), and has different algorithmic
2666	// adjustments that are targeted to passive job seekers.
2667	//
2668	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
2669	// present in the database, and only returns jobs the caller has
2670	// permission to search against.
2671	SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error)
2672}
2673
2674type jobServiceClient struct {
2675	cc grpc.ClientConnInterface
2676}
2677
2678func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient {
2679	return &jobServiceClient{cc}
2680}
2681
2682func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
2683	out := new(Job)
2684	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/CreateJob", in, out, opts...)
2685	if err != nil {
2686		return nil, err
2687	}
2688	return out, nil
2689}
2690
2691func (c *jobServiceClient) BatchCreateJobs(ctx context.Context, in *BatchCreateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2692	out := new(longrunning.Operation)
2693	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchCreateJobs", in, out, opts...)
2694	if err != nil {
2695		return nil, err
2696	}
2697	return out, nil
2698}
2699
2700func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
2701	out := new(Job)
2702	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/GetJob", in, out, opts...)
2703	if err != nil {
2704		return nil, err
2705	}
2706	return out, nil
2707}
2708
2709func (c *jobServiceClient) UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error) {
2710	out := new(Job)
2711	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/UpdateJob", in, out, opts...)
2712	if err != nil {
2713		return nil, err
2714	}
2715	return out, nil
2716}
2717
2718func (c *jobServiceClient) BatchUpdateJobs(ctx context.Context, in *BatchUpdateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2719	out := new(longrunning.Operation)
2720	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchUpdateJobs", in, out, opts...)
2721	if err != nil {
2722		return nil, err
2723	}
2724	return out, nil
2725}
2726
2727func (c *jobServiceClient) DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
2728	out := new(emptypb.Empty)
2729	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/DeleteJob", in, out, opts...)
2730	if err != nil {
2731		return nil, err
2732	}
2733	return out, nil
2734}
2735
2736func (c *jobServiceClient) BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
2737	out := new(emptypb.Empty)
2738	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs", in, out, opts...)
2739	if err != nil {
2740		return nil, err
2741	}
2742	return out, nil
2743}
2744
2745func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
2746	out := new(ListJobsResponse)
2747	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/ListJobs", in, out, opts...)
2748	if err != nil {
2749		return nil, err
2750	}
2751	return out, nil
2752}
2753
2754func (c *jobServiceClient) SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) {
2755	out := new(SearchJobsResponse)
2756	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobs", in, out, opts...)
2757	if err != nil {
2758		return nil, err
2759	}
2760	return out, nil
2761}
2762
2763func (c *jobServiceClient) SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) {
2764	out := new(SearchJobsResponse)
2765	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert", in, out, opts...)
2766	if err != nil {
2767		return nil, err
2768	}
2769	return out, nil
2770}
2771
2772// JobServiceServer is the server API for JobService service.
2773type JobServiceServer interface {
2774	// Creates a new job.
2775	//
2776	// Typically, the job becomes searchable within 10 seconds, but it may take
2777	// up to 5 minutes.
2778	CreateJob(context.Context, *CreateJobRequest) (*Job, error)
2779	// Begins executing a batch create jobs operation.
2780	BatchCreateJobs(context.Context, *BatchCreateJobsRequest) (*longrunning.Operation, error)
2781	// Retrieves the specified job, whose status is OPEN or recently EXPIRED
2782	// within the last 90 days.
2783	GetJob(context.Context, *GetJobRequest) (*Job, error)
2784	// Updates specified job.
2785	//
2786	// Typically, updated contents become visible in search results within 10
2787	// seconds, but it may take up to 5 minutes.
2788	UpdateJob(context.Context, *UpdateJobRequest) (*Job, error)
2789	// Begins executing a batch update jobs operation.
2790	BatchUpdateJobs(context.Context, *BatchUpdateJobsRequest) (*longrunning.Operation, error)
2791	// Deletes the specified job.
2792	//
2793	// Typically, the job becomes unsearchable within 10 seconds, but it may take
2794	// up to 5 minutes.
2795	DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error)
2796	// Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter.
2797	BatchDeleteJobs(context.Context, *BatchDeleteJobsRequest) (*emptypb.Empty, error)
2798	// Lists jobs by filter.
2799	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
2800	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
2801	//
2802	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
2803	// present in the database, and only returns jobs that the caller has
2804	// permission to search against.
2805	SearchJobs(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error)
2806	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
2807	//
2808	// This API call is intended for the use case of targeting passive job
2809	// seekers (for example, job seekers who have signed up to receive email
2810	// alerts about potential job opportunities), and has different algorithmic
2811	// adjustments that are targeted to passive job seekers.
2812	//
2813	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
2814	// present in the database, and only returns jobs the caller has
2815	// permission to search against.
2816	SearchJobsForAlert(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error)
2817}
2818
2819// UnimplementedJobServiceServer can be embedded to have forward compatible implementations.
2820type UnimplementedJobServiceServer struct {
2821}
2822
2823func (*UnimplementedJobServiceServer) CreateJob(context.Context, *CreateJobRequest) (*Job, error) {
2824	return nil, status1.Errorf(codes.Unimplemented, "method CreateJob not implemented")
2825}
2826func (*UnimplementedJobServiceServer) BatchCreateJobs(context.Context, *BatchCreateJobsRequest) (*longrunning.Operation, error) {
2827	return nil, status1.Errorf(codes.Unimplemented, "method BatchCreateJobs not implemented")
2828}
2829func (*UnimplementedJobServiceServer) GetJob(context.Context, *GetJobRequest) (*Job, error) {
2830	return nil, status1.Errorf(codes.Unimplemented, "method GetJob not implemented")
2831}
2832func (*UnimplementedJobServiceServer) UpdateJob(context.Context, *UpdateJobRequest) (*Job, error) {
2833	return nil, status1.Errorf(codes.Unimplemented, "method UpdateJob not implemented")
2834}
2835func (*UnimplementedJobServiceServer) BatchUpdateJobs(context.Context, *BatchUpdateJobsRequest) (*longrunning.Operation, error) {
2836	return nil, status1.Errorf(codes.Unimplemented, "method BatchUpdateJobs not implemented")
2837}
2838func (*UnimplementedJobServiceServer) DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error) {
2839	return nil, status1.Errorf(codes.Unimplemented, "method DeleteJob not implemented")
2840}
2841func (*UnimplementedJobServiceServer) BatchDeleteJobs(context.Context, *BatchDeleteJobsRequest) (*emptypb.Empty, error) {
2842	return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteJobs not implemented")
2843}
2844func (*UnimplementedJobServiceServer) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) {
2845	return nil, status1.Errorf(codes.Unimplemented, "method ListJobs not implemented")
2846}
2847func (*UnimplementedJobServiceServer) SearchJobs(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) {
2848	return nil, status1.Errorf(codes.Unimplemented, "method SearchJobs not implemented")
2849}
2850func (*UnimplementedJobServiceServer) SearchJobsForAlert(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) {
2851	return nil, status1.Errorf(codes.Unimplemented, "method SearchJobsForAlert not implemented")
2852}
2853
2854func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
2855	s.RegisterService(&_JobService_serviceDesc, srv)
2856}
2857
2858func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2859	in := new(CreateJobRequest)
2860	if err := dec(in); err != nil {
2861		return nil, err
2862	}
2863	if interceptor == nil {
2864		return srv.(JobServiceServer).CreateJob(ctx, in)
2865	}
2866	info := &grpc.UnaryServerInfo{
2867		Server:     srv,
2868		FullMethod: "/google.cloud.talent.v4beta1.JobService/CreateJob",
2869	}
2870	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2871		return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest))
2872	}
2873	return interceptor(ctx, in, info, handler)
2874}
2875
2876func _JobService_BatchCreateJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2877	in := new(BatchCreateJobsRequest)
2878	if err := dec(in); err != nil {
2879		return nil, err
2880	}
2881	if interceptor == nil {
2882		return srv.(JobServiceServer).BatchCreateJobs(ctx, in)
2883	}
2884	info := &grpc.UnaryServerInfo{
2885		Server:     srv,
2886		FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchCreateJobs",
2887	}
2888	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2889		return srv.(JobServiceServer).BatchCreateJobs(ctx, req.(*BatchCreateJobsRequest))
2890	}
2891	return interceptor(ctx, in, info, handler)
2892}
2893
2894func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2895	in := new(GetJobRequest)
2896	if err := dec(in); err != nil {
2897		return nil, err
2898	}
2899	if interceptor == nil {
2900		return srv.(JobServiceServer).GetJob(ctx, in)
2901	}
2902	info := &grpc.UnaryServerInfo{
2903		Server:     srv,
2904		FullMethod: "/google.cloud.talent.v4beta1.JobService/GetJob",
2905	}
2906	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2907		return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
2908	}
2909	return interceptor(ctx, in, info, handler)
2910}
2911
2912func _JobService_UpdateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2913	in := new(UpdateJobRequest)
2914	if err := dec(in); err != nil {
2915		return nil, err
2916	}
2917	if interceptor == nil {
2918		return srv.(JobServiceServer).UpdateJob(ctx, in)
2919	}
2920	info := &grpc.UnaryServerInfo{
2921		Server:     srv,
2922		FullMethod: "/google.cloud.talent.v4beta1.JobService/UpdateJob",
2923	}
2924	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2925		return srv.(JobServiceServer).UpdateJob(ctx, req.(*UpdateJobRequest))
2926	}
2927	return interceptor(ctx, in, info, handler)
2928}
2929
2930func _JobService_BatchUpdateJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2931	in := new(BatchUpdateJobsRequest)
2932	if err := dec(in); err != nil {
2933		return nil, err
2934	}
2935	if interceptor == nil {
2936		return srv.(JobServiceServer).BatchUpdateJobs(ctx, in)
2937	}
2938	info := &grpc.UnaryServerInfo{
2939		Server:     srv,
2940		FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchUpdateJobs",
2941	}
2942	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2943		return srv.(JobServiceServer).BatchUpdateJobs(ctx, req.(*BatchUpdateJobsRequest))
2944	}
2945	return interceptor(ctx, in, info, handler)
2946}
2947
2948func _JobService_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2949	in := new(DeleteJobRequest)
2950	if err := dec(in); err != nil {
2951		return nil, err
2952	}
2953	if interceptor == nil {
2954		return srv.(JobServiceServer).DeleteJob(ctx, in)
2955	}
2956	info := &grpc.UnaryServerInfo{
2957		Server:     srv,
2958		FullMethod: "/google.cloud.talent.v4beta1.JobService/DeleteJob",
2959	}
2960	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2961		return srv.(JobServiceServer).DeleteJob(ctx, req.(*DeleteJobRequest))
2962	}
2963	return interceptor(ctx, in, info, handler)
2964}
2965
2966func _JobService_BatchDeleteJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2967	in := new(BatchDeleteJobsRequest)
2968	if err := dec(in); err != nil {
2969		return nil, err
2970	}
2971	if interceptor == nil {
2972		return srv.(JobServiceServer).BatchDeleteJobs(ctx, in)
2973	}
2974	info := &grpc.UnaryServerInfo{
2975		Server:     srv,
2976		FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs",
2977	}
2978	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2979		return srv.(JobServiceServer).BatchDeleteJobs(ctx, req.(*BatchDeleteJobsRequest))
2980	}
2981	return interceptor(ctx, in, info, handler)
2982}
2983
2984func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2985	in := new(ListJobsRequest)
2986	if err := dec(in); err != nil {
2987		return nil, err
2988	}
2989	if interceptor == nil {
2990		return srv.(JobServiceServer).ListJobs(ctx, in)
2991	}
2992	info := &grpc.UnaryServerInfo{
2993		Server:     srv,
2994		FullMethod: "/google.cloud.talent.v4beta1.JobService/ListJobs",
2995	}
2996	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2997		return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
2998	}
2999	return interceptor(ctx, in, info, handler)
3000}
3001
3002func _JobService_SearchJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3003	in := new(SearchJobsRequest)
3004	if err := dec(in); err != nil {
3005		return nil, err
3006	}
3007	if interceptor == nil {
3008		return srv.(JobServiceServer).SearchJobs(ctx, in)
3009	}
3010	info := &grpc.UnaryServerInfo{
3011		Server:     srv,
3012		FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobs",
3013	}
3014	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3015		return srv.(JobServiceServer).SearchJobs(ctx, req.(*SearchJobsRequest))
3016	}
3017	return interceptor(ctx, in, info, handler)
3018}
3019
3020func _JobService_SearchJobsForAlert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3021	in := new(SearchJobsRequest)
3022	if err := dec(in); err != nil {
3023		return nil, err
3024	}
3025	if interceptor == nil {
3026		return srv.(JobServiceServer).SearchJobsForAlert(ctx, in)
3027	}
3028	info := &grpc.UnaryServerInfo{
3029		Server:     srv,
3030		FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert",
3031	}
3032	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3033		return srv.(JobServiceServer).SearchJobsForAlert(ctx, req.(*SearchJobsRequest))
3034	}
3035	return interceptor(ctx, in, info, handler)
3036}
3037
3038var _JobService_serviceDesc = grpc.ServiceDesc{
3039	ServiceName: "google.cloud.talent.v4beta1.JobService",
3040	HandlerType: (*JobServiceServer)(nil),
3041	Methods: []grpc.MethodDesc{
3042		{
3043			MethodName: "CreateJob",
3044			Handler:    _JobService_CreateJob_Handler,
3045		},
3046		{
3047			MethodName: "BatchCreateJobs",
3048			Handler:    _JobService_BatchCreateJobs_Handler,
3049		},
3050		{
3051			MethodName: "GetJob",
3052			Handler:    _JobService_GetJob_Handler,
3053		},
3054		{
3055			MethodName: "UpdateJob",
3056			Handler:    _JobService_UpdateJob_Handler,
3057		},
3058		{
3059			MethodName: "BatchUpdateJobs",
3060			Handler:    _JobService_BatchUpdateJobs_Handler,
3061		},
3062		{
3063			MethodName: "DeleteJob",
3064			Handler:    _JobService_DeleteJob_Handler,
3065		},
3066		{
3067			MethodName: "BatchDeleteJobs",
3068			Handler:    _JobService_BatchDeleteJobs_Handler,
3069		},
3070		{
3071			MethodName: "ListJobs",
3072			Handler:    _JobService_ListJobs_Handler,
3073		},
3074		{
3075			MethodName: "SearchJobs",
3076			Handler:    _JobService_SearchJobs_Handler,
3077		},
3078		{
3079			MethodName: "SearchJobsForAlert",
3080			Handler:    _JobService_SearchJobsForAlert_Handler,
3081		},
3082	},
3083	Streams:  []grpc.StreamDesc{},
3084	Metadata: "google/cloud/talent/v4beta1/job_service.proto",
3085}
3086