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