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/ads/googleads/v3/resources/campaign_criterion.proto
20
21package resources
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
29	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
30	_ "google.golang.org/genproto/googleapis/api/annotations"
31	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
32	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
33	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
34)
35
36const (
37	// Verify that this generated code is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
39	// Verify that runtime/protoimpl is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
41)
42
43// This is a compile-time assertion that a sufficiently up-to-date version
44// of the legacy proto package is being used.
45const _ = proto.ProtoPackageIsVersion4
46
47// A campaign criterion.
48type CampaignCriterion struct {
49	state         protoimpl.MessageState
50	sizeCache     protoimpl.SizeCache
51	unknownFields protoimpl.UnknownFields
52
53	// Immutable. The resource name of the campaign criterion.
54	// Campaign criterion resource names have the form:
55	//
56	// `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
57	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
58	// Immutable. The campaign to which the criterion belongs.
59	Campaign *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=campaign,proto3" json:"campaign,omitempty"`
60	// Output only. The ID of the criterion.
61	//
62	// This field is ignored during mutate.
63	CriterionId *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=criterion_id,json=criterionId,proto3" json:"criterion_id,omitempty"`
64	// The modifier for the bids when the criterion matches. The modifier must be
65	// in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
66	// Use 0 to opt out of a Device type.
67	BidModifier *wrapperspb.FloatValue `protobuf:"bytes,14,opt,name=bid_modifier,json=bidModifier,proto3" json:"bid_modifier,omitempty"`
68	// Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
69	Negative *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=negative,proto3" json:"negative,omitempty"`
70	// Output only. The type of the criterion.
71	Type enums.CriterionTypeEnum_CriterionType `protobuf:"varint,6,opt,name=type,proto3,enum=google.ads.googleads.v3.enums.CriterionTypeEnum_CriterionType" json:"type,omitempty"`
72	// The status of the criterion.
73	Status enums.CampaignCriterionStatusEnum_CampaignCriterionStatus `protobuf:"varint,35,opt,name=status,proto3,enum=google.ads.googleads.v3.enums.CampaignCriterionStatusEnum_CampaignCriterionStatus" json:"status,omitempty"`
74	// The campaign criterion.
75	//
76	// Exactly one must be set.
77	//
78	// Types that are assignable to Criterion:
79	//	*CampaignCriterion_Keyword
80	//	*CampaignCriterion_Placement
81	//	*CampaignCriterion_MobileAppCategory
82	//	*CampaignCriterion_MobileApplication
83	//	*CampaignCriterion_Location
84	//	*CampaignCriterion_Device
85	//	*CampaignCriterion_AdSchedule
86	//	*CampaignCriterion_AgeRange
87	//	*CampaignCriterion_Gender
88	//	*CampaignCriterion_IncomeRange
89	//	*CampaignCriterion_ParentalStatus
90	//	*CampaignCriterion_UserList
91	//	*CampaignCriterion_YoutubeVideo
92	//	*CampaignCriterion_YoutubeChannel
93	//	*CampaignCriterion_Proximity
94	//	*CampaignCriterion_Topic
95	//	*CampaignCriterion_ListingScope
96	//	*CampaignCriterion_Language
97	//	*CampaignCriterion_IpBlock
98	//	*CampaignCriterion_ContentLabel
99	//	*CampaignCriterion_Carrier
100	//	*CampaignCriterion_UserInterest
101	//	*CampaignCriterion_Webpage
102	//	*CampaignCriterion_OperatingSystemVersion
103	//	*CampaignCriterion_MobileDevice
104	//	*CampaignCriterion_LocationGroup
105	//	*CampaignCriterion_CustomAffinity
106	Criterion isCampaignCriterion_Criterion `protobuf_oneof:"criterion"`
107}
108
109func (x *CampaignCriterion) Reset() {
110	*x = CampaignCriterion{}
111	if protoimpl.UnsafeEnabled {
112		mi := &file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes[0]
113		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
114		ms.StoreMessageInfo(mi)
115	}
116}
117
118func (x *CampaignCriterion) String() string {
119	return protoimpl.X.MessageStringOf(x)
120}
121
122func (*CampaignCriterion) ProtoMessage() {}
123
124func (x *CampaignCriterion) ProtoReflect() protoreflect.Message {
125	mi := &file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes[0]
126	if protoimpl.UnsafeEnabled && x != nil {
127		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
128		if ms.LoadMessageInfo() == nil {
129			ms.StoreMessageInfo(mi)
130		}
131		return ms
132	}
133	return mi.MessageOf(x)
134}
135
136// Deprecated: Use CampaignCriterion.ProtoReflect.Descriptor instead.
137func (*CampaignCriterion) Descriptor() ([]byte, []int) {
138	return file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescGZIP(), []int{0}
139}
140
141func (x *CampaignCriterion) GetResourceName() string {
142	if x != nil {
143		return x.ResourceName
144	}
145	return ""
146}
147
148func (x *CampaignCriterion) GetCampaign() *wrapperspb.StringValue {
149	if x != nil {
150		return x.Campaign
151	}
152	return nil
153}
154
155func (x *CampaignCriterion) GetCriterionId() *wrapperspb.Int64Value {
156	if x != nil {
157		return x.CriterionId
158	}
159	return nil
160}
161
162func (x *CampaignCriterion) GetBidModifier() *wrapperspb.FloatValue {
163	if x != nil {
164		return x.BidModifier
165	}
166	return nil
167}
168
169func (x *CampaignCriterion) GetNegative() *wrapperspb.BoolValue {
170	if x != nil {
171		return x.Negative
172	}
173	return nil
174}
175
176func (x *CampaignCriterion) GetType() enums.CriterionTypeEnum_CriterionType {
177	if x != nil {
178		return x.Type
179	}
180	return enums.CriterionTypeEnum_UNSPECIFIED
181}
182
183func (x *CampaignCriterion) GetStatus() enums.CampaignCriterionStatusEnum_CampaignCriterionStatus {
184	if x != nil {
185		return x.Status
186	}
187	return enums.CampaignCriterionStatusEnum_UNSPECIFIED
188}
189
190func (m *CampaignCriterion) GetCriterion() isCampaignCriterion_Criterion {
191	if m != nil {
192		return m.Criterion
193	}
194	return nil
195}
196
197func (x *CampaignCriterion) GetKeyword() *common.KeywordInfo {
198	if x, ok := x.GetCriterion().(*CampaignCriterion_Keyword); ok {
199		return x.Keyword
200	}
201	return nil
202}
203
204func (x *CampaignCriterion) GetPlacement() *common.PlacementInfo {
205	if x, ok := x.GetCriterion().(*CampaignCriterion_Placement); ok {
206		return x.Placement
207	}
208	return nil
209}
210
211func (x *CampaignCriterion) GetMobileAppCategory() *common.MobileAppCategoryInfo {
212	if x, ok := x.GetCriterion().(*CampaignCriterion_MobileAppCategory); ok {
213		return x.MobileAppCategory
214	}
215	return nil
216}
217
218func (x *CampaignCriterion) GetMobileApplication() *common.MobileApplicationInfo {
219	if x, ok := x.GetCriterion().(*CampaignCriterion_MobileApplication); ok {
220		return x.MobileApplication
221	}
222	return nil
223}
224
225func (x *CampaignCriterion) GetLocation() *common.LocationInfo {
226	if x, ok := x.GetCriterion().(*CampaignCriterion_Location); ok {
227		return x.Location
228	}
229	return nil
230}
231
232func (x *CampaignCriterion) GetDevice() *common.DeviceInfo {
233	if x, ok := x.GetCriterion().(*CampaignCriterion_Device); ok {
234		return x.Device
235	}
236	return nil
237}
238
239func (x *CampaignCriterion) GetAdSchedule() *common.AdScheduleInfo {
240	if x, ok := x.GetCriterion().(*CampaignCriterion_AdSchedule); ok {
241		return x.AdSchedule
242	}
243	return nil
244}
245
246func (x *CampaignCriterion) GetAgeRange() *common.AgeRangeInfo {
247	if x, ok := x.GetCriterion().(*CampaignCriterion_AgeRange); ok {
248		return x.AgeRange
249	}
250	return nil
251}
252
253func (x *CampaignCriterion) GetGender() *common.GenderInfo {
254	if x, ok := x.GetCriterion().(*CampaignCriterion_Gender); ok {
255		return x.Gender
256	}
257	return nil
258}
259
260func (x *CampaignCriterion) GetIncomeRange() *common.IncomeRangeInfo {
261	if x, ok := x.GetCriterion().(*CampaignCriterion_IncomeRange); ok {
262		return x.IncomeRange
263	}
264	return nil
265}
266
267func (x *CampaignCriterion) GetParentalStatus() *common.ParentalStatusInfo {
268	if x, ok := x.GetCriterion().(*CampaignCriterion_ParentalStatus); ok {
269		return x.ParentalStatus
270	}
271	return nil
272}
273
274func (x *CampaignCriterion) GetUserList() *common.UserListInfo {
275	if x, ok := x.GetCriterion().(*CampaignCriterion_UserList); ok {
276		return x.UserList
277	}
278	return nil
279}
280
281func (x *CampaignCriterion) GetYoutubeVideo() *common.YouTubeVideoInfo {
282	if x, ok := x.GetCriterion().(*CampaignCriterion_YoutubeVideo); ok {
283		return x.YoutubeVideo
284	}
285	return nil
286}
287
288func (x *CampaignCriterion) GetYoutubeChannel() *common.YouTubeChannelInfo {
289	if x, ok := x.GetCriterion().(*CampaignCriterion_YoutubeChannel); ok {
290		return x.YoutubeChannel
291	}
292	return nil
293}
294
295func (x *CampaignCriterion) GetProximity() *common.ProximityInfo {
296	if x, ok := x.GetCriterion().(*CampaignCriterion_Proximity); ok {
297		return x.Proximity
298	}
299	return nil
300}
301
302func (x *CampaignCriterion) GetTopic() *common.TopicInfo {
303	if x, ok := x.GetCriterion().(*CampaignCriterion_Topic); ok {
304		return x.Topic
305	}
306	return nil
307}
308
309func (x *CampaignCriterion) GetListingScope() *common.ListingScopeInfo {
310	if x, ok := x.GetCriterion().(*CampaignCriterion_ListingScope); ok {
311		return x.ListingScope
312	}
313	return nil
314}
315
316func (x *CampaignCriterion) GetLanguage() *common.LanguageInfo {
317	if x, ok := x.GetCriterion().(*CampaignCriterion_Language); ok {
318		return x.Language
319	}
320	return nil
321}
322
323func (x *CampaignCriterion) GetIpBlock() *common.IpBlockInfo {
324	if x, ok := x.GetCriterion().(*CampaignCriterion_IpBlock); ok {
325		return x.IpBlock
326	}
327	return nil
328}
329
330func (x *CampaignCriterion) GetContentLabel() *common.ContentLabelInfo {
331	if x, ok := x.GetCriterion().(*CampaignCriterion_ContentLabel); ok {
332		return x.ContentLabel
333	}
334	return nil
335}
336
337func (x *CampaignCriterion) GetCarrier() *common.CarrierInfo {
338	if x, ok := x.GetCriterion().(*CampaignCriterion_Carrier); ok {
339		return x.Carrier
340	}
341	return nil
342}
343
344func (x *CampaignCriterion) GetUserInterest() *common.UserInterestInfo {
345	if x, ok := x.GetCriterion().(*CampaignCriterion_UserInterest); ok {
346		return x.UserInterest
347	}
348	return nil
349}
350
351func (x *CampaignCriterion) GetWebpage() *common.WebpageInfo {
352	if x, ok := x.GetCriterion().(*CampaignCriterion_Webpage); ok {
353		return x.Webpage
354	}
355	return nil
356}
357
358func (x *CampaignCriterion) GetOperatingSystemVersion() *common.OperatingSystemVersionInfo {
359	if x, ok := x.GetCriterion().(*CampaignCriterion_OperatingSystemVersion); ok {
360		return x.OperatingSystemVersion
361	}
362	return nil
363}
364
365func (x *CampaignCriterion) GetMobileDevice() *common.MobileDeviceInfo {
366	if x, ok := x.GetCriterion().(*CampaignCriterion_MobileDevice); ok {
367		return x.MobileDevice
368	}
369	return nil
370}
371
372func (x *CampaignCriterion) GetLocationGroup() *common.LocationGroupInfo {
373	if x, ok := x.GetCriterion().(*CampaignCriterion_LocationGroup); ok {
374		return x.LocationGroup
375	}
376	return nil
377}
378
379func (x *CampaignCriterion) GetCustomAffinity() *common.CustomAffinityInfo {
380	if x, ok := x.GetCriterion().(*CampaignCriterion_CustomAffinity); ok {
381		return x.CustomAffinity
382	}
383	return nil
384}
385
386type isCampaignCriterion_Criterion interface {
387	isCampaignCriterion_Criterion()
388}
389
390type CampaignCriterion_Keyword struct {
391	// Immutable. Keyword.
392	Keyword *common.KeywordInfo `protobuf:"bytes,8,opt,name=keyword,proto3,oneof"`
393}
394
395type CampaignCriterion_Placement struct {
396	// Immutable. Placement.
397	Placement *common.PlacementInfo `protobuf:"bytes,9,opt,name=placement,proto3,oneof"`
398}
399
400type CampaignCriterion_MobileAppCategory struct {
401	// Immutable. Mobile app category.
402	MobileAppCategory *common.MobileAppCategoryInfo `protobuf:"bytes,10,opt,name=mobile_app_category,json=mobileAppCategory,proto3,oneof"`
403}
404
405type CampaignCriterion_MobileApplication struct {
406	// Immutable. Mobile application.
407	MobileApplication *common.MobileApplicationInfo `protobuf:"bytes,11,opt,name=mobile_application,json=mobileApplication,proto3,oneof"`
408}
409
410type CampaignCriterion_Location struct {
411	// Immutable. Location.
412	Location *common.LocationInfo `protobuf:"bytes,12,opt,name=location,proto3,oneof"`
413}
414
415type CampaignCriterion_Device struct {
416	// Immutable. Device.
417	Device *common.DeviceInfo `protobuf:"bytes,13,opt,name=device,proto3,oneof"`
418}
419
420type CampaignCriterion_AdSchedule struct {
421	// Immutable. Ad Schedule.
422	AdSchedule *common.AdScheduleInfo `protobuf:"bytes,15,opt,name=ad_schedule,json=adSchedule,proto3,oneof"`
423}
424
425type CampaignCriterion_AgeRange struct {
426	// Immutable. Age range.
427	AgeRange *common.AgeRangeInfo `protobuf:"bytes,16,opt,name=age_range,json=ageRange,proto3,oneof"`
428}
429
430type CampaignCriterion_Gender struct {
431	// Immutable. Gender.
432	Gender *common.GenderInfo `protobuf:"bytes,17,opt,name=gender,proto3,oneof"`
433}
434
435type CampaignCriterion_IncomeRange struct {
436	// Immutable. Income range.
437	IncomeRange *common.IncomeRangeInfo `protobuf:"bytes,18,opt,name=income_range,json=incomeRange,proto3,oneof"`
438}
439
440type CampaignCriterion_ParentalStatus struct {
441	// Immutable. Parental status.
442	ParentalStatus *common.ParentalStatusInfo `protobuf:"bytes,19,opt,name=parental_status,json=parentalStatus,proto3,oneof"`
443}
444
445type CampaignCriterion_UserList struct {
446	// Immutable. User List.
447	UserList *common.UserListInfo `protobuf:"bytes,22,opt,name=user_list,json=userList,proto3,oneof"`
448}
449
450type CampaignCriterion_YoutubeVideo struct {
451	// Immutable. YouTube Video.
452	YoutubeVideo *common.YouTubeVideoInfo `protobuf:"bytes,20,opt,name=youtube_video,json=youtubeVideo,proto3,oneof"`
453}
454
455type CampaignCriterion_YoutubeChannel struct {
456	// Immutable. YouTube Channel.
457	YoutubeChannel *common.YouTubeChannelInfo `protobuf:"bytes,21,opt,name=youtube_channel,json=youtubeChannel,proto3,oneof"`
458}
459
460type CampaignCriterion_Proximity struct {
461	// Immutable. Proximity.
462	Proximity *common.ProximityInfo `protobuf:"bytes,23,opt,name=proximity,proto3,oneof"`
463}
464
465type CampaignCriterion_Topic struct {
466	// Immutable. Topic.
467	Topic *common.TopicInfo `protobuf:"bytes,24,opt,name=topic,proto3,oneof"`
468}
469
470type CampaignCriterion_ListingScope struct {
471	// Immutable. Listing scope.
472	ListingScope *common.ListingScopeInfo `protobuf:"bytes,25,opt,name=listing_scope,json=listingScope,proto3,oneof"`
473}
474
475type CampaignCriterion_Language struct {
476	// Immutable. Language.
477	Language *common.LanguageInfo `protobuf:"bytes,26,opt,name=language,proto3,oneof"`
478}
479
480type CampaignCriterion_IpBlock struct {
481	// Immutable. IpBlock.
482	IpBlock *common.IpBlockInfo `protobuf:"bytes,27,opt,name=ip_block,json=ipBlock,proto3,oneof"`
483}
484
485type CampaignCriterion_ContentLabel struct {
486	// Immutable. ContentLabel.
487	ContentLabel *common.ContentLabelInfo `protobuf:"bytes,28,opt,name=content_label,json=contentLabel,proto3,oneof"`
488}
489
490type CampaignCriterion_Carrier struct {
491	// Immutable. Carrier.
492	Carrier *common.CarrierInfo `protobuf:"bytes,29,opt,name=carrier,proto3,oneof"`
493}
494
495type CampaignCriterion_UserInterest struct {
496	// Immutable. User Interest.
497	UserInterest *common.UserInterestInfo `protobuf:"bytes,30,opt,name=user_interest,json=userInterest,proto3,oneof"`
498}
499
500type CampaignCriterion_Webpage struct {
501	// Immutable. Webpage.
502	Webpage *common.WebpageInfo `protobuf:"bytes,31,opt,name=webpage,proto3,oneof"`
503}
504
505type CampaignCriterion_OperatingSystemVersion struct {
506	// Immutable. Operating system version.
507	OperatingSystemVersion *common.OperatingSystemVersionInfo `protobuf:"bytes,32,opt,name=operating_system_version,json=operatingSystemVersion,proto3,oneof"`
508}
509
510type CampaignCriterion_MobileDevice struct {
511	// Immutable. Mobile Device.
512	MobileDevice *common.MobileDeviceInfo `protobuf:"bytes,33,opt,name=mobile_device,json=mobileDevice,proto3,oneof"`
513}
514
515type CampaignCriterion_LocationGroup struct {
516	// Immutable. Location Group
517	LocationGroup *common.LocationGroupInfo `protobuf:"bytes,34,opt,name=location_group,json=locationGroup,proto3,oneof"`
518}
519
520type CampaignCriterion_CustomAffinity struct {
521	// Immutable. Custom Affinity.
522	CustomAffinity *common.CustomAffinityInfo `protobuf:"bytes,36,opt,name=custom_affinity,json=customAffinity,proto3,oneof"`
523}
524
525func (*CampaignCriterion_Keyword) isCampaignCriterion_Criterion() {}
526
527func (*CampaignCriterion_Placement) isCampaignCriterion_Criterion() {}
528
529func (*CampaignCriterion_MobileAppCategory) isCampaignCriterion_Criterion() {}
530
531func (*CampaignCriterion_MobileApplication) isCampaignCriterion_Criterion() {}
532
533func (*CampaignCriterion_Location) isCampaignCriterion_Criterion() {}
534
535func (*CampaignCriterion_Device) isCampaignCriterion_Criterion() {}
536
537func (*CampaignCriterion_AdSchedule) isCampaignCriterion_Criterion() {}
538
539func (*CampaignCriterion_AgeRange) isCampaignCriterion_Criterion() {}
540
541func (*CampaignCriterion_Gender) isCampaignCriterion_Criterion() {}
542
543func (*CampaignCriterion_IncomeRange) isCampaignCriterion_Criterion() {}
544
545func (*CampaignCriterion_ParentalStatus) isCampaignCriterion_Criterion() {}
546
547func (*CampaignCriterion_UserList) isCampaignCriterion_Criterion() {}
548
549func (*CampaignCriterion_YoutubeVideo) isCampaignCriterion_Criterion() {}
550
551func (*CampaignCriterion_YoutubeChannel) isCampaignCriterion_Criterion() {}
552
553func (*CampaignCriterion_Proximity) isCampaignCriterion_Criterion() {}
554
555func (*CampaignCriterion_Topic) isCampaignCriterion_Criterion() {}
556
557func (*CampaignCriterion_ListingScope) isCampaignCriterion_Criterion() {}
558
559func (*CampaignCriterion_Language) isCampaignCriterion_Criterion() {}
560
561func (*CampaignCriterion_IpBlock) isCampaignCriterion_Criterion() {}
562
563func (*CampaignCriterion_ContentLabel) isCampaignCriterion_Criterion() {}
564
565func (*CampaignCriterion_Carrier) isCampaignCriterion_Criterion() {}
566
567func (*CampaignCriterion_UserInterest) isCampaignCriterion_Criterion() {}
568
569func (*CampaignCriterion_Webpage) isCampaignCriterion_Criterion() {}
570
571func (*CampaignCriterion_OperatingSystemVersion) isCampaignCriterion_Criterion() {}
572
573func (*CampaignCriterion_MobileDevice) isCampaignCriterion_Criterion() {}
574
575func (*CampaignCriterion_LocationGroup) isCampaignCriterion_Criterion() {}
576
577func (*CampaignCriterion_CustomAffinity) isCampaignCriterion_Criterion() {}
578
579var File_google_ads_googleads_v3_resources_campaign_criterion_proto protoreflect.FileDescriptor
580
581var file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDesc = []byte{
582	0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
583	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
584	0x63, 0x65, 0x73, 0x2f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x72, 0x69,
585	0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f,
586	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
587	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a,
588	0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
589	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
590	0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d,
591	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
592	0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x63, 0x61,
593	0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e,
594	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67,
595	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
596	0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x63, 0x72, 0x69,
597	0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
598	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
599	0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
600	0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
601	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67,
602	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77,
603	0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
604	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
605	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x18, 0x0a, 0x11,
606	0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f,
607	0x6e, 0x12, 0x57, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61,
608	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2c,
609	0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
610	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x61,
611	0x69, 0x67, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65,
612	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x08, 0x63, 0x61,
613	0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
614	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
615	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x29, 0xe0, 0x41, 0x05, 0xfa,
616	0x41, 0x23, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
617	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6d,
618	0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12,
619	0x43, 0x0a, 0x0c, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
620	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
621	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
622	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69,
623	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69,
624	0x66, 0x69, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
625	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
626	0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x62, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x69,
627	0x66, 0x69, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65,
628	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
629	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
630	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,
631	0x65, 0x12, 0x57, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
632	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
633	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
634	0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75,
635	0x6d, 0x2e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42,
636	0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x6a, 0x0a, 0x06, 0x73, 0x74,
637	0x61, 0x74, 0x75, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f,
638	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
639	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61,
640	0x69, 0x67, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
641	0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43,
642	0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
643	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
644	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
645	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
646	0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
647	0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x07, 0x6b, 0x65, 0x79,
648	0x77, 0x6f, 0x72, 0x64, 0x12, 0x52, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e,
649	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
650	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
651	0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
652	0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x09, 0x70,
653	0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x13, 0x6d, 0x6f, 0x62, 0x69,
654	0x6c, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18,
655	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
656	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
657	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70,
658	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41,
659	0x05, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x43, 0x61,
660	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x6b, 0x0a, 0x12, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65,
661	0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01,
662	0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
663	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d,
664	0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
665	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00,
666	0x52, 0x11, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
667	0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
668	0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
669	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
670	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
671	0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
672	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0d,
673	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
674	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
675	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
676	0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12,
677	0x56, 0x0a, 0x0b, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0f,
678	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
679	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
680	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
681	0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x53,
682	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x5f, 0x72,
683	0x61, 0x6e, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
684	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
685	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x65, 0x52,
686	0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52,
687	0x08, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x67, 0x65, 0x6e,
688	0x64, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
689	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
690	0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65,
691	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65,
692	0x6e, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x72,
693	0x61, 0x6e, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
694	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
695	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x63, 0x6f,
696	0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05,
697	0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12,
698	0x62, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74,
699	0x75, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
700	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
701	0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
702	0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41,
703	0x05, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61,
704	0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74,
705	0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
706	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33,
707	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
708	0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65,
709	0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65,
710	0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
711	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
712	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x59, 0x6f,
713	0x75, 0x54, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03,
714	0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69,
715	0x64, 0x65, 0x6f, 0x12, 0x62, 0x0a, 0x0f, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x63,
716	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67,
717	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
718	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x59, 0x6f,
719	0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
720	0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65,
721	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x52, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69,
722	0x6d, 0x69, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
723	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
724	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x78,
725	0x69, 0x6d, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00,
726	0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x74,
727	0x6f, 0x70, 0x69, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
728	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
729	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x6f, 0x70, 0x69,
730	0x63, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f,
731	0x70, 0x69, 0x63, 0x12, 0x5c, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73,
732	0x63, 0x6f, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
733	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
734	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74,
735	0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41,
736	0x05, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x70,
737	0x65, 0x12, 0x4f, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x1a, 0x20,
738	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
739	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f,
740	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
741	0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
742	0x67, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x1b,
743	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
744	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
745	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66,
746	0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x07, 0x69, 0x70, 0x42, 0x6c, 0x6f, 0x63,
747	0x6b, 0x12, 0x5c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62,
748	0x65, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
749	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
750	0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
751	0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48,
752	0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12,
753	0x4c, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b,
754	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
755	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
756	0x6e, 0x2e, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0,
757	0x41, 0x05, 0x48, 0x00, 0x52, 0x07, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x5c, 0x0a,
758	0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x18, 0x1e,
759	0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
760	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
761	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65,
762	0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x75,
763	0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x77,
764	0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
765	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
766	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x65,
767	0x62, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00,
768	0x52, 0x07, 0x77, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x12, 0x7b, 0x0a, 0x18, 0x6f, 0x70, 0x65,
769	0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x65,
770	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f,
771	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
772	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65,
773	0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73,
774	0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x16,
775	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56,
776	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x0d, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65,
777	0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e,
778	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
779	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
780	0x6f, 0x62, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42,
781	0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x44, 0x65,
782	0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
783	0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67,
784	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
785	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f,
786	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x42,
787	0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
788	0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x62, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
789	0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32,
790	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
791	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
792	0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x6e,
793	0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f,
794	0x6d, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x3a, 0x6b, 0xea, 0x41, 0x68, 0x0a, 0x2a,
795	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
796	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67,
797	0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x63, 0x75, 0x73, 0x74,
798	0x6f, 0x6d, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x7d,
799	0x2f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69,
800	0x61, 0x2f, 0x7b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74,
801	0x65, 0x72, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72,
802	0x69, 0x6f, 0x6e, 0x42, 0x83, 0x02, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
803	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
804	0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x16, 0x43,
805	0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e,
806	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
807	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
808	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61,
809	0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f,
810	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
811	0x63, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67,
812	0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73,
813	0x2e, 0x56, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xca, 0x02, 0x21,
814	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
815	0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
816	0x73, 0xea, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a,
817	0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x3a, 0x3a,
818	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
819	0x33,
820}
821
822var (
823	file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescOnce sync.Once
824	file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescData = file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDesc
825)
826
827func file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescGZIP() []byte {
828	file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescOnce.Do(func() {
829		file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescData)
830	})
831	return file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDescData
832}
833
834var file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
835var file_google_ads_googleads_v3_resources_campaign_criterion_proto_goTypes = []interface{}{
836	(*CampaignCriterion)(nil),                                      // 0: google.ads.googleads.v3.resources.CampaignCriterion
837	(*wrapperspb.StringValue)(nil),                                 // 1: google.protobuf.StringValue
838	(*wrapperspb.Int64Value)(nil),                                  // 2: google.protobuf.Int64Value
839	(*wrapperspb.FloatValue)(nil),                                  // 3: google.protobuf.FloatValue
840	(*wrapperspb.BoolValue)(nil),                                   // 4: google.protobuf.BoolValue
841	(enums.CriterionTypeEnum_CriterionType)(0),                     // 5: google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType
842	(enums.CampaignCriterionStatusEnum_CampaignCriterionStatus)(0), // 6: google.ads.googleads.v3.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus
843	(*common.KeywordInfo)(nil),                                     // 7: google.ads.googleads.v3.common.KeywordInfo
844	(*common.PlacementInfo)(nil),                                   // 8: google.ads.googleads.v3.common.PlacementInfo
845	(*common.MobileAppCategoryInfo)(nil),                           // 9: google.ads.googleads.v3.common.MobileAppCategoryInfo
846	(*common.MobileApplicationInfo)(nil),                           // 10: google.ads.googleads.v3.common.MobileApplicationInfo
847	(*common.LocationInfo)(nil),                                    // 11: google.ads.googleads.v3.common.LocationInfo
848	(*common.DeviceInfo)(nil),                                      // 12: google.ads.googleads.v3.common.DeviceInfo
849	(*common.AdScheduleInfo)(nil),                                  // 13: google.ads.googleads.v3.common.AdScheduleInfo
850	(*common.AgeRangeInfo)(nil),                                    // 14: google.ads.googleads.v3.common.AgeRangeInfo
851	(*common.GenderInfo)(nil),                                      // 15: google.ads.googleads.v3.common.GenderInfo
852	(*common.IncomeRangeInfo)(nil),                                 // 16: google.ads.googleads.v3.common.IncomeRangeInfo
853	(*common.ParentalStatusInfo)(nil),                              // 17: google.ads.googleads.v3.common.ParentalStatusInfo
854	(*common.UserListInfo)(nil),                                    // 18: google.ads.googleads.v3.common.UserListInfo
855	(*common.YouTubeVideoInfo)(nil),                                // 19: google.ads.googleads.v3.common.YouTubeVideoInfo
856	(*common.YouTubeChannelInfo)(nil),                              // 20: google.ads.googleads.v3.common.YouTubeChannelInfo
857	(*common.ProximityInfo)(nil),                                   // 21: google.ads.googleads.v3.common.ProximityInfo
858	(*common.TopicInfo)(nil),                                       // 22: google.ads.googleads.v3.common.TopicInfo
859	(*common.ListingScopeInfo)(nil),                                // 23: google.ads.googleads.v3.common.ListingScopeInfo
860	(*common.LanguageInfo)(nil),                                    // 24: google.ads.googleads.v3.common.LanguageInfo
861	(*common.IpBlockInfo)(nil),                                     // 25: google.ads.googleads.v3.common.IpBlockInfo
862	(*common.ContentLabelInfo)(nil),                                // 26: google.ads.googleads.v3.common.ContentLabelInfo
863	(*common.CarrierInfo)(nil),                                     // 27: google.ads.googleads.v3.common.CarrierInfo
864	(*common.UserInterestInfo)(nil),                                // 28: google.ads.googleads.v3.common.UserInterestInfo
865	(*common.WebpageInfo)(nil),                                     // 29: google.ads.googleads.v3.common.WebpageInfo
866	(*common.OperatingSystemVersionInfo)(nil),                      // 30: google.ads.googleads.v3.common.OperatingSystemVersionInfo
867	(*common.MobileDeviceInfo)(nil),                                // 31: google.ads.googleads.v3.common.MobileDeviceInfo
868	(*common.LocationGroupInfo)(nil),                               // 32: google.ads.googleads.v3.common.LocationGroupInfo
869	(*common.CustomAffinityInfo)(nil),                              // 33: google.ads.googleads.v3.common.CustomAffinityInfo
870}
871var file_google_ads_googleads_v3_resources_campaign_criterion_proto_depIdxs = []int32{
872	1,  // 0: google.ads.googleads.v3.resources.CampaignCriterion.campaign:type_name -> google.protobuf.StringValue
873	2,  // 1: google.ads.googleads.v3.resources.CampaignCriterion.criterion_id:type_name -> google.protobuf.Int64Value
874	3,  // 2: google.ads.googleads.v3.resources.CampaignCriterion.bid_modifier:type_name -> google.protobuf.FloatValue
875	4,  // 3: google.ads.googleads.v3.resources.CampaignCriterion.negative:type_name -> google.protobuf.BoolValue
876	5,  // 4: google.ads.googleads.v3.resources.CampaignCriterion.type:type_name -> google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType
877	6,  // 5: google.ads.googleads.v3.resources.CampaignCriterion.status:type_name -> google.ads.googleads.v3.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus
878	7,  // 6: google.ads.googleads.v3.resources.CampaignCriterion.keyword:type_name -> google.ads.googleads.v3.common.KeywordInfo
879	8,  // 7: google.ads.googleads.v3.resources.CampaignCriterion.placement:type_name -> google.ads.googleads.v3.common.PlacementInfo
880	9,  // 8: google.ads.googleads.v3.resources.CampaignCriterion.mobile_app_category:type_name -> google.ads.googleads.v3.common.MobileAppCategoryInfo
881	10, // 9: google.ads.googleads.v3.resources.CampaignCriterion.mobile_application:type_name -> google.ads.googleads.v3.common.MobileApplicationInfo
882	11, // 10: google.ads.googleads.v3.resources.CampaignCriterion.location:type_name -> google.ads.googleads.v3.common.LocationInfo
883	12, // 11: google.ads.googleads.v3.resources.CampaignCriterion.device:type_name -> google.ads.googleads.v3.common.DeviceInfo
884	13, // 12: google.ads.googleads.v3.resources.CampaignCriterion.ad_schedule:type_name -> google.ads.googleads.v3.common.AdScheduleInfo
885	14, // 13: google.ads.googleads.v3.resources.CampaignCriterion.age_range:type_name -> google.ads.googleads.v3.common.AgeRangeInfo
886	15, // 14: google.ads.googleads.v3.resources.CampaignCriterion.gender:type_name -> google.ads.googleads.v3.common.GenderInfo
887	16, // 15: google.ads.googleads.v3.resources.CampaignCriterion.income_range:type_name -> google.ads.googleads.v3.common.IncomeRangeInfo
888	17, // 16: google.ads.googleads.v3.resources.CampaignCriterion.parental_status:type_name -> google.ads.googleads.v3.common.ParentalStatusInfo
889	18, // 17: google.ads.googleads.v3.resources.CampaignCriterion.user_list:type_name -> google.ads.googleads.v3.common.UserListInfo
890	19, // 18: google.ads.googleads.v3.resources.CampaignCriterion.youtube_video:type_name -> google.ads.googleads.v3.common.YouTubeVideoInfo
891	20, // 19: google.ads.googleads.v3.resources.CampaignCriterion.youtube_channel:type_name -> google.ads.googleads.v3.common.YouTubeChannelInfo
892	21, // 20: google.ads.googleads.v3.resources.CampaignCriterion.proximity:type_name -> google.ads.googleads.v3.common.ProximityInfo
893	22, // 21: google.ads.googleads.v3.resources.CampaignCriterion.topic:type_name -> google.ads.googleads.v3.common.TopicInfo
894	23, // 22: google.ads.googleads.v3.resources.CampaignCriterion.listing_scope:type_name -> google.ads.googleads.v3.common.ListingScopeInfo
895	24, // 23: google.ads.googleads.v3.resources.CampaignCriterion.language:type_name -> google.ads.googleads.v3.common.LanguageInfo
896	25, // 24: google.ads.googleads.v3.resources.CampaignCriterion.ip_block:type_name -> google.ads.googleads.v3.common.IpBlockInfo
897	26, // 25: google.ads.googleads.v3.resources.CampaignCriterion.content_label:type_name -> google.ads.googleads.v3.common.ContentLabelInfo
898	27, // 26: google.ads.googleads.v3.resources.CampaignCriterion.carrier:type_name -> google.ads.googleads.v3.common.CarrierInfo
899	28, // 27: google.ads.googleads.v3.resources.CampaignCriterion.user_interest:type_name -> google.ads.googleads.v3.common.UserInterestInfo
900	29, // 28: google.ads.googleads.v3.resources.CampaignCriterion.webpage:type_name -> google.ads.googleads.v3.common.WebpageInfo
901	30, // 29: google.ads.googleads.v3.resources.CampaignCriterion.operating_system_version:type_name -> google.ads.googleads.v3.common.OperatingSystemVersionInfo
902	31, // 30: google.ads.googleads.v3.resources.CampaignCriterion.mobile_device:type_name -> google.ads.googleads.v3.common.MobileDeviceInfo
903	32, // 31: google.ads.googleads.v3.resources.CampaignCriterion.location_group:type_name -> google.ads.googleads.v3.common.LocationGroupInfo
904	33, // 32: google.ads.googleads.v3.resources.CampaignCriterion.custom_affinity:type_name -> google.ads.googleads.v3.common.CustomAffinityInfo
905	33, // [33:33] is the sub-list for method output_type
906	33, // [33:33] is the sub-list for method input_type
907	33, // [33:33] is the sub-list for extension type_name
908	33, // [33:33] is the sub-list for extension extendee
909	0,  // [0:33] is the sub-list for field type_name
910}
911
912func init() { file_google_ads_googleads_v3_resources_campaign_criterion_proto_init() }
913func file_google_ads_googleads_v3_resources_campaign_criterion_proto_init() {
914	if File_google_ads_googleads_v3_resources_campaign_criterion_proto != nil {
915		return
916	}
917	if !protoimpl.UnsafeEnabled {
918		file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
919			switch v := v.(*CampaignCriterion); i {
920			case 0:
921				return &v.state
922			case 1:
923				return &v.sizeCache
924			case 2:
925				return &v.unknownFields
926			default:
927				return nil
928			}
929		}
930	}
931	file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes[0].OneofWrappers = []interface{}{
932		(*CampaignCriterion_Keyword)(nil),
933		(*CampaignCriterion_Placement)(nil),
934		(*CampaignCriterion_MobileAppCategory)(nil),
935		(*CampaignCriterion_MobileApplication)(nil),
936		(*CampaignCriterion_Location)(nil),
937		(*CampaignCriterion_Device)(nil),
938		(*CampaignCriterion_AdSchedule)(nil),
939		(*CampaignCriterion_AgeRange)(nil),
940		(*CampaignCriterion_Gender)(nil),
941		(*CampaignCriterion_IncomeRange)(nil),
942		(*CampaignCriterion_ParentalStatus)(nil),
943		(*CampaignCriterion_UserList)(nil),
944		(*CampaignCriterion_YoutubeVideo)(nil),
945		(*CampaignCriterion_YoutubeChannel)(nil),
946		(*CampaignCriterion_Proximity)(nil),
947		(*CampaignCriterion_Topic)(nil),
948		(*CampaignCriterion_ListingScope)(nil),
949		(*CampaignCriterion_Language)(nil),
950		(*CampaignCriterion_IpBlock)(nil),
951		(*CampaignCriterion_ContentLabel)(nil),
952		(*CampaignCriterion_Carrier)(nil),
953		(*CampaignCriterion_UserInterest)(nil),
954		(*CampaignCriterion_Webpage)(nil),
955		(*CampaignCriterion_OperatingSystemVersion)(nil),
956		(*CampaignCriterion_MobileDevice)(nil),
957		(*CampaignCriterion_LocationGroup)(nil),
958		(*CampaignCriterion_CustomAffinity)(nil),
959	}
960	type x struct{}
961	out := protoimpl.TypeBuilder{
962		File: protoimpl.DescBuilder{
963			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
964			RawDescriptor: file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDesc,
965			NumEnums:      0,
966			NumMessages:   1,
967			NumExtensions: 0,
968			NumServices:   0,
969		},
970		GoTypes:           file_google_ads_googleads_v3_resources_campaign_criterion_proto_goTypes,
971		DependencyIndexes: file_google_ads_googleads_v3_resources_campaign_criterion_proto_depIdxs,
972		MessageInfos:      file_google_ads_googleads_v3_resources_campaign_criterion_proto_msgTypes,
973	}.Build()
974	File_google_ads_googleads_v3_resources_campaign_criterion_proto = out.File
975	file_google_ads_googleads_v3_resources_campaign_criterion_proto_rawDesc = nil
976	file_google_ads_googleads_v3_resources_campaign_criterion_proto_goTypes = nil
977	file_google_ads_googleads_v3_resources_campaign_criterion_proto_depIdxs = nil
978}
979