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/v5/common/ad_type_infos.proto
20
21package common
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	enums "google.golang.org/genproto/googleapis/ads/googleads/v5/enums"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
31	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
32)
33
34const (
35	// Verify that this generated code is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
37	// Verify that runtime/protoimpl is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
39)
40
41// This is a compile-time assertion that a sufficiently up-to-date version
42// of the legacy proto package is being used.
43const _ = proto.ProtoPackageIsVersion4
44
45// A text ad.
46type TextAdInfo struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// The headline of the ad.
52	Headline *string `protobuf:"bytes,4,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
53	// The first line of the ad's description.
54	Description1 *string `protobuf:"bytes,5,opt,name=description1,proto3,oneof" json:"description1,omitempty"`
55	// The second line of the ad's description.
56	Description2 *string `protobuf:"bytes,6,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
57}
58
59func (x *TextAdInfo) Reset() {
60	*x = TextAdInfo{}
61	if protoimpl.UnsafeEnabled {
62		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[0]
63		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
64		ms.StoreMessageInfo(mi)
65	}
66}
67
68func (x *TextAdInfo) String() string {
69	return protoimpl.X.MessageStringOf(x)
70}
71
72func (*TextAdInfo) ProtoMessage() {}
73
74func (x *TextAdInfo) ProtoReflect() protoreflect.Message {
75	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[0]
76	if protoimpl.UnsafeEnabled && x != nil {
77		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
78		if ms.LoadMessageInfo() == nil {
79			ms.StoreMessageInfo(mi)
80		}
81		return ms
82	}
83	return mi.MessageOf(x)
84}
85
86// Deprecated: Use TextAdInfo.ProtoReflect.Descriptor instead.
87func (*TextAdInfo) Descriptor() ([]byte, []int) {
88	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{0}
89}
90
91func (x *TextAdInfo) GetHeadline() string {
92	if x != nil && x.Headline != nil {
93		return *x.Headline
94	}
95	return ""
96}
97
98func (x *TextAdInfo) GetDescription1() string {
99	if x != nil && x.Description1 != nil {
100		return *x.Description1
101	}
102	return ""
103}
104
105func (x *TextAdInfo) GetDescription2() string {
106	if x != nil && x.Description2 != nil {
107		return *x.Description2
108	}
109	return ""
110}
111
112// An expanded text ad.
113type ExpandedTextAdInfo struct {
114	state         protoimpl.MessageState
115	sizeCache     protoimpl.SizeCache
116	unknownFields protoimpl.UnknownFields
117
118	// The first part of the ad's headline.
119	HeadlinePart1 *string `protobuf:"bytes,8,opt,name=headline_part1,json=headlinePart1,proto3,oneof" json:"headline_part1,omitempty"`
120	// The second part of the ad's headline.
121	HeadlinePart2 *string `protobuf:"bytes,9,opt,name=headline_part2,json=headlinePart2,proto3,oneof" json:"headline_part2,omitempty"`
122	// The third part of the ad's headline.
123	HeadlinePart3 *string `protobuf:"bytes,10,opt,name=headline_part3,json=headlinePart3,proto3,oneof" json:"headline_part3,omitempty"`
124	// The description of the ad.
125	Description *string `protobuf:"bytes,11,opt,name=description,proto3,oneof" json:"description,omitempty"`
126	// The second description of the ad.
127	Description2 *string `protobuf:"bytes,12,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
128	// The text that can appear alongside the ad's displayed URL.
129	Path1 *string `protobuf:"bytes,13,opt,name=path1,proto3,oneof" json:"path1,omitempty"`
130	// Additional text that can appear alongside the ad's displayed URL.
131	Path2 *string `protobuf:"bytes,14,opt,name=path2,proto3,oneof" json:"path2,omitempty"`
132}
133
134func (x *ExpandedTextAdInfo) Reset() {
135	*x = ExpandedTextAdInfo{}
136	if protoimpl.UnsafeEnabled {
137		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[1]
138		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
139		ms.StoreMessageInfo(mi)
140	}
141}
142
143func (x *ExpandedTextAdInfo) String() string {
144	return protoimpl.X.MessageStringOf(x)
145}
146
147func (*ExpandedTextAdInfo) ProtoMessage() {}
148
149func (x *ExpandedTextAdInfo) ProtoReflect() protoreflect.Message {
150	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[1]
151	if protoimpl.UnsafeEnabled && x != nil {
152		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
153		if ms.LoadMessageInfo() == nil {
154			ms.StoreMessageInfo(mi)
155		}
156		return ms
157	}
158	return mi.MessageOf(x)
159}
160
161// Deprecated: Use ExpandedTextAdInfo.ProtoReflect.Descriptor instead.
162func (*ExpandedTextAdInfo) Descriptor() ([]byte, []int) {
163	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{1}
164}
165
166func (x *ExpandedTextAdInfo) GetHeadlinePart1() string {
167	if x != nil && x.HeadlinePart1 != nil {
168		return *x.HeadlinePart1
169	}
170	return ""
171}
172
173func (x *ExpandedTextAdInfo) GetHeadlinePart2() string {
174	if x != nil && x.HeadlinePart2 != nil {
175		return *x.HeadlinePart2
176	}
177	return ""
178}
179
180func (x *ExpandedTextAdInfo) GetHeadlinePart3() string {
181	if x != nil && x.HeadlinePart3 != nil {
182		return *x.HeadlinePart3
183	}
184	return ""
185}
186
187func (x *ExpandedTextAdInfo) GetDescription() string {
188	if x != nil && x.Description != nil {
189		return *x.Description
190	}
191	return ""
192}
193
194func (x *ExpandedTextAdInfo) GetDescription2() string {
195	if x != nil && x.Description2 != nil {
196		return *x.Description2
197	}
198	return ""
199}
200
201func (x *ExpandedTextAdInfo) GetPath1() string {
202	if x != nil && x.Path1 != nil {
203		return *x.Path1
204	}
205	return ""
206}
207
208func (x *ExpandedTextAdInfo) GetPath2() string {
209	if x != nil && x.Path2 != nil {
210		return *x.Path2
211	}
212	return ""
213}
214
215// A call-only ad.
216type CallOnlyAdInfo struct {
217	state         protoimpl.MessageState
218	sizeCache     protoimpl.SizeCache
219	unknownFields protoimpl.UnknownFields
220
221	// The country code in the ad.
222	CountryCode *string `protobuf:"bytes,13,opt,name=country_code,json=countryCode,proto3,oneof" json:"country_code,omitempty"`
223	// The phone number in the ad.
224	PhoneNumber *string `protobuf:"bytes,14,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"`
225	// The business name in the ad.
226	BusinessName *string `protobuf:"bytes,15,opt,name=business_name,json=businessName,proto3,oneof" json:"business_name,omitempty"`
227	// First headline in the ad.
228	Headline1 *string `protobuf:"bytes,16,opt,name=headline1,proto3,oneof" json:"headline1,omitempty"`
229	// Second headline in the ad.
230	Headline2 *string `protobuf:"bytes,17,opt,name=headline2,proto3,oneof" json:"headline2,omitempty"`
231	// The first line of the ad's description.
232	Description1 *string `protobuf:"bytes,18,opt,name=description1,proto3,oneof" json:"description1,omitempty"`
233	// The second line of the ad's description.
234	Description2 *string `protobuf:"bytes,19,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
235	// Whether to enable call tracking for the creative. Enabling call
236	// tracking also enables call conversions.
237	CallTracked *bool `protobuf:"varint,20,opt,name=call_tracked,json=callTracked,proto3,oneof" json:"call_tracked,omitempty"`
238	// Whether to disable call conversion for the creative.
239	// If set to `true`, disables call conversions even when `call_tracked` is
240	// `true`.
241	// If `call_tracked` is `false`, this field is ignored.
242	DisableCallConversion *bool `protobuf:"varint,21,opt,name=disable_call_conversion,json=disableCallConversion,proto3,oneof" json:"disable_call_conversion,omitempty"`
243	// The URL to be used for phone number verification.
244	PhoneNumberVerificationUrl *string `protobuf:"bytes,22,opt,name=phone_number_verification_url,json=phoneNumberVerificationUrl,proto3,oneof" json:"phone_number_verification_url,omitempty"`
245	// The conversion action to attribute a call conversion to. If not set a
246	// default conversion action is used. This field only has effect if
247	// call_tracked is set to true. Otherwise this field is ignored.
248	ConversionAction *string `protobuf:"bytes,23,opt,name=conversion_action,json=conversionAction,proto3,oneof" json:"conversion_action,omitempty"`
249	// The call conversion behavior of this call only ad. It can use its own call
250	// conversion setting, inherit the account level setting, or be disabled.
251	ConversionReportingState enums.CallConversionReportingStateEnum_CallConversionReportingState `protobuf:"varint,10,opt,name=conversion_reporting_state,json=conversionReportingState,proto3,enum=google.ads.googleads.v5.enums.CallConversionReportingStateEnum_CallConversionReportingState" json:"conversion_reporting_state,omitempty"`
252}
253
254func (x *CallOnlyAdInfo) Reset() {
255	*x = CallOnlyAdInfo{}
256	if protoimpl.UnsafeEnabled {
257		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[2]
258		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
259		ms.StoreMessageInfo(mi)
260	}
261}
262
263func (x *CallOnlyAdInfo) String() string {
264	return protoimpl.X.MessageStringOf(x)
265}
266
267func (*CallOnlyAdInfo) ProtoMessage() {}
268
269func (x *CallOnlyAdInfo) ProtoReflect() protoreflect.Message {
270	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[2]
271	if protoimpl.UnsafeEnabled && x != nil {
272		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
273		if ms.LoadMessageInfo() == nil {
274			ms.StoreMessageInfo(mi)
275		}
276		return ms
277	}
278	return mi.MessageOf(x)
279}
280
281// Deprecated: Use CallOnlyAdInfo.ProtoReflect.Descriptor instead.
282func (*CallOnlyAdInfo) Descriptor() ([]byte, []int) {
283	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{2}
284}
285
286func (x *CallOnlyAdInfo) GetCountryCode() string {
287	if x != nil && x.CountryCode != nil {
288		return *x.CountryCode
289	}
290	return ""
291}
292
293func (x *CallOnlyAdInfo) GetPhoneNumber() string {
294	if x != nil && x.PhoneNumber != nil {
295		return *x.PhoneNumber
296	}
297	return ""
298}
299
300func (x *CallOnlyAdInfo) GetBusinessName() string {
301	if x != nil && x.BusinessName != nil {
302		return *x.BusinessName
303	}
304	return ""
305}
306
307func (x *CallOnlyAdInfo) GetHeadline1() string {
308	if x != nil && x.Headline1 != nil {
309		return *x.Headline1
310	}
311	return ""
312}
313
314func (x *CallOnlyAdInfo) GetHeadline2() string {
315	if x != nil && x.Headline2 != nil {
316		return *x.Headline2
317	}
318	return ""
319}
320
321func (x *CallOnlyAdInfo) GetDescription1() string {
322	if x != nil && x.Description1 != nil {
323		return *x.Description1
324	}
325	return ""
326}
327
328func (x *CallOnlyAdInfo) GetDescription2() string {
329	if x != nil && x.Description2 != nil {
330		return *x.Description2
331	}
332	return ""
333}
334
335func (x *CallOnlyAdInfo) GetCallTracked() bool {
336	if x != nil && x.CallTracked != nil {
337		return *x.CallTracked
338	}
339	return false
340}
341
342func (x *CallOnlyAdInfo) GetDisableCallConversion() bool {
343	if x != nil && x.DisableCallConversion != nil {
344		return *x.DisableCallConversion
345	}
346	return false
347}
348
349func (x *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() string {
350	if x != nil && x.PhoneNumberVerificationUrl != nil {
351		return *x.PhoneNumberVerificationUrl
352	}
353	return ""
354}
355
356func (x *CallOnlyAdInfo) GetConversionAction() string {
357	if x != nil && x.ConversionAction != nil {
358		return *x.ConversionAction
359	}
360	return ""
361}
362
363func (x *CallOnlyAdInfo) GetConversionReportingState() enums.CallConversionReportingStateEnum_CallConversionReportingState {
364	if x != nil {
365		return x.ConversionReportingState
366	}
367	return enums.CallConversionReportingStateEnum_UNSPECIFIED
368}
369
370// An expanded dynamic search ad.
371type ExpandedDynamicSearchAdInfo struct {
372	state         protoimpl.MessageState
373	sizeCache     protoimpl.SizeCache
374	unknownFields protoimpl.UnknownFields
375
376	// The description of the ad.
377	Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"`
378	// The second description of the ad.
379	Description2 *string `protobuf:"bytes,4,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
380}
381
382func (x *ExpandedDynamicSearchAdInfo) Reset() {
383	*x = ExpandedDynamicSearchAdInfo{}
384	if protoimpl.UnsafeEnabled {
385		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[3]
386		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
387		ms.StoreMessageInfo(mi)
388	}
389}
390
391func (x *ExpandedDynamicSearchAdInfo) String() string {
392	return protoimpl.X.MessageStringOf(x)
393}
394
395func (*ExpandedDynamicSearchAdInfo) ProtoMessage() {}
396
397func (x *ExpandedDynamicSearchAdInfo) ProtoReflect() protoreflect.Message {
398	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[3]
399	if protoimpl.UnsafeEnabled && x != nil {
400		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
401		if ms.LoadMessageInfo() == nil {
402			ms.StoreMessageInfo(mi)
403		}
404		return ms
405	}
406	return mi.MessageOf(x)
407}
408
409// Deprecated: Use ExpandedDynamicSearchAdInfo.ProtoReflect.Descriptor instead.
410func (*ExpandedDynamicSearchAdInfo) Descriptor() ([]byte, []int) {
411	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{3}
412}
413
414func (x *ExpandedDynamicSearchAdInfo) GetDescription() string {
415	if x != nil && x.Description != nil {
416		return *x.Description
417	}
418	return ""
419}
420
421func (x *ExpandedDynamicSearchAdInfo) GetDescription2() string {
422	if x != nil && x.Description2 != nil {
423		return *x.Description2
424	}
425	return ""
426}
427
428// A hotel ad.
429type HotelAdInfo struct {
430	state         protoimpl.MessageState
431	sizeCache     protoimpl.SizeCache
432	unknownFields protoimpl.UnknownFields
433}
434
435func (x *HotelAdInfo) Reset() {
436	*x = HotelAdInfo{}
437	if protoimpl.UnsafeEnabled {
438		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[4]
439		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
440		ms.StoreMessageInfo(mi)
441	}
442}
443
444func (x *HotelAdInfo) String() string {
445	return protoimpl.X.MessageStringOf(x)
446}
447
448func (*HotelAdInfo) ProtoMessage() {}
449
450func (x *HotelAdInfo) ProtoReflect() protoreflect.Message {
451	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[4]
452	if protoimpl.UnsafeEnabled && x != nil {
453		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
454		if ms.LoadMessageInfo() == nil {
455			ms.StoreMessageInfo(mi)
456		}
457		return ms
458	}
459	return mi.MessageOf(x)
460}
461
462// Deprecated: Use HotelAdInfo.ProtoReflect.Descriptor instead.
463func (*HotelAdInfo) Descriptor() ([]byte, []int) {
464	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{4}
465}
466
467// A Smart Shopping ad.
468type ShoppingSmartAdInfo struct {
469	state         protoimpl.MessageState
470	sizeCache     protoimpl.SizeCache
471	unknownFields protoimpl.UnknownFields
472}
473
474func (x *ShoppingSmartAdInfo) Reset() {
475	*x = ShoppingSmartAdInfo{}
476	if protoimpl.UnsafeEnabled {
477		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[5]
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		ms.StoreMessageInfo(mi)
480	}
481}
482
483func (x *ShoppingSmartAdInfo) String() string {
484	return protoimpl.X.MessageStringOf(x)
485}
486
487func (*ShoppingSmartAdInfo) ProtoMessage() {}
488
489func (x *ShoppingSmartAdInfo) ProtoReflect() protoreflect.Message {
490	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[5]
491	if protoimpl.UnsafeEnabled && x != nil {
492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493		if ms.LoadMessageInfo() == nil {
494			ms.StoreMessageInfo(mi)
495		}
496		return ms
497	}
498	return mi.MessageOf(x)
499}
500
501// Deprecated: Use ShoppingSmartAdInfo.ProtoReflect.Descriptor instead.
502func (*ShoppingSmartAdInfo) Descriptor() ([]byte, []int) {
503	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{5}
504}
505
506// A standard Shopping ad.
507type ShoppingProductAdInfo struct {
508	state         protoimpl.MessageState
509	sizeCache     protoimpl.SizeCache
510	unknownFields protoimpl.UnknownFields
511}
512
513func (x *ShoppingProductAdInfo) Reset() {
514	*x = ShoppingProductAdInfo{}
515	if protoimpl.UnsafeEnabled {
516		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[6]
517		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
518		ms.StoreMessageInfo(mi)
519	}
520}
521
522func (x *ShoppingProductAdInfo) String() string {
523	return protoimpl.X.MessageStringOf(x)
524}
525
526func (*ShoppingProductAdInfo) ProtoMessage() {}
527
528func (x *ShoppingProductAdInfo) ProtoReflect() protoreflect.Message {
529	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[6]
530	if protoimpl.UnsafeEnabled && x != nil {
531		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
532		if ms.LoadMessageInfo() == nil {
533			ms.StoreMessageInfo(mi)
534		}
535		return ms
536	}
537	return mi.MessageOf(x)
538}
539
540// Deprecated: Use ShoppingProductAdInfo.ProtoReflect.Descriptor instead.
541func (*ShoppingProductAdInfo) Descriptor() ([]byte, []int) {
542	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{6}
543}
544
545// A Shopping Comparison Listing ad.
546type ShoppingComparisonListingAdInfo struct {
547	state         protoimpl.MessageState
548	sizeCache     protoimpl.SizeCache
549	unknownFields protoimpl.UnknownFields
550
551	// Headline of the ad. This field is required. Allowed length is between 25
552	// and 45 characters.
553	Headline *string `protobuf:"bytes,2,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
554}
555
556func (x *ShoppingComparisonListingAdInfo) Reset() {
557	*x = ShoppingComparisonListingAdInfo{}
558	if protoimpl.UnsafeEnabled {
559		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[7]
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		ms.StoreMessageInfo(mi)
562	}
563}
564
565func (x *ShoppingComparisonListingAdInfo) String() string {
566	return protoimpl.X.MessageStringOf(x)
567}
568
569func (*ShoppingComparisonListingAdInfo) ProtoMessage() {}
570
571func (x *ShoppingComparisonListingAdInfo) ProtoReflect() protoreflect.Message {
572	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[7]
573	if protoimpl.UnsafeEnabled && x != nil {
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		if ms.LoadMessageInfo() == nil {
576			ms.StoreMessageInfo(mi)
577		}
578		return ms
579	}
580	return mi.MessageOf(x)
581}
582
583// Deprecated: Use ShoppingComparisonListingAdInfo.ProtoReflect.Descriptor instead.
584func (*ShoppingComparisonListingAdInfo) Descriptor() ([]byte, []int) {
585	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{7}
586}
587
588func (x *ShoppingComparisonListingAdInfo) GetHeadline() string {
589	if x != nil && x.Headline != nil {
590		return *x.Headline
591	}
592	return ""
593}
594
595// A Gmail ad.
596type GmailAdInfo struct {
597	state         protoimpl.MessageState
598	sizeCache     protoimpl.SizeCache
599	unknownFields protoimpl.UnknownFields
600
601	// The Gmail teaser.
602	Teaser *GmailTeaser `protobuf:"bytes,1,opt,name=teaser,proto3" json:"teaser,omitempty"`
603	// The MediaFile resource name of the header image. Valid image types are GIF,
604	// JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
605	// be between 3:1 and 5:1 (+-1%).
606	HeaderImage *string `protobuf:"bytes,10,opt,name=header_image,json=headerImage,proto3,oneof" json:"header_image,omitempty"`
607	// The MediaFile resource name of the marketing image. Valid image types are
608	// GIF, JPEG and PNG. The image must either be landscape with a minimum size
609	// of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
610	// minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
611	MarketingImage *string `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3,oneof" json:"marketing_image,omitempty"`
612	// Headline of the marketing image.
613	MarketingImageHeadline *string `protobuf:"bytes,12,opt,name=marketing_image_headline,json=marketingImageHeadline,proto3,oneof" json:"marketing_image_headline,omitempty"`
614	// Description of the marketing image.
615	MarketingImageDescription *string `protobuf:"bytes,13,opt,name=marketing_image_description,json=marketingImageDescription,proto3,oneof" json:"marketing_image_description,omitempty"`
616	// Display-call-to-action of the marketing image.
617	MarketingImageDisplayCallToAction *DisplayCallToAction `protobuf:"bytes,6,opt,name=marketing_image_display_call_to_action,json=marketingImageDisplayCallToAction,proto3" json:"marketing_image_display_call_to_action,omitempty"`
618	// Product images. Up to 15 images are supported.
619	ProductImages []*ProductImage `protobuf:"bytes,7,rep,name=product_images,json=productImages,proto3" json:"product_images,omitempty"`
620	// Product videos. Up to 7 videos are supported. At least one product video
621	// or a marketing image must be specified.
622	ProductVideos []*ProductVideo `protobuf:"bytes,8,rep,name=product_videos,json=productVideos,proto3" json:"product_videos,omitempty"`
623}
624
625func (x *GmailAdInfo) Reset() {
626	*x = GmailAdInfo{}
627	if protoimpl.UnsafeEnabled {
628		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[8]
629		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
630		ms.StoreMessageInfo(mi)
631	}
632}
633
634func (x *GmailAdInfo) String() string {
635	return protoimpl.X.MessageStringOf(x)
636}
637
638func (*GmailAdInfo) ProtoMessage() {}
639
640func (x *GmailAdInfo) ProtoReflect() protoreflect.Message {
641	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[8]
642	if protoimpl.UnsafeEnabled && x != nil {
643		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
644		if ms.LoadMessageInfo() == nil {
645			ms.StoreMessageInfo(mi)
646		}
647		return ms
648	}
649	return mi.MessageOf(x)
650}
651
652// Deprecated: Use GmailAdInfo.ProtoReflect.Descriptor instead.
653func (*GmailAdInfo) Descriptor() ([]byte, []int) {
654	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{8}
655}
656
657func (x *GmailAdInfo) GetTeaser() *GmailTeaser {
658	if x != nil {
659		return x.Teaser
660	}
661	return nil
662}
663
664func (x *GmailAdInfo) GetHeaderImage() string {
665	if x != nil && x.HeaderImage != nil {
666		return *x.HeaderImage
667	}
668	return ""
669}
670
671func (x *GmailAdInfo) GetMarketingImage() string {
672	if x != nil && x.MarketingImage != nil {
673		return *x.MarketingImage
674	}
675	return ""
676}
677
678func (x *GmailAdInfo) GetMarketingImageHeadline() string {
679	if x != nil && x.MarketingImageHeadline != nil {
680		return *x.MarketingImageHeadline
681	}
682	return ""
683}
684
685func (x *GmailAdInfo) GetMarketingImageDescription() string {
686	if x != nil && x.MarketingImageDescription != nil {
687		return *x.MarketingImageDescription
688	}
689	return ""
690}
691
692func (x *GmailAdInfo) GetMarketingImageDisplayCallToAction() *DisplayCallToAction {
693	if x != nil {
694		return x.MarketingImageDisplayCallToAction
695	}
696	return nil
697}
698
699func (x *GmailAdInfo) GetProductImages() []*ProductImage {
700	if x != nil {
701		return x.ProductImages
702	}
703	return nil
704}
705
706func (x *GmailAdInfo) GetProductVideos() []*ProductVideo {
707	if x != nil {
708		return x.ProductVideos
709	}
710	return nil
711}
712
713// Gmail teaser data. The teaser is a small header that acts as an invitation
714// to view the rest of the ad (the body).
715type GmailTeaser struct {
716	state         protoimpl.MessageState
717	sizeCache     protoimpl.SizeCache
718	unknownFields protoimpl.UnknownFields
719
720	// Headline of the teaser.
721	Headline *string `protobuf:"bytes,5,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
722	// Description of the teaser.
723	Description *string `protobuf:"bytes,6,opt,name=description,proto3,oneof" json:"description,omitempty"`
724	// Business name of the advertiser.
725	BusinessName *string `protobuf:"bytes,7,opt,name=business_name,json=businessName,proto3,oneof" json:"business_name,omitempty"`
726	// The MediaFile resource name of the logo image. Valid image types are GIF,
727	// JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
728	// be 1:1 (+-1%).
729	LogoImage *string `protobuf:"bytes,8,opt,name=logo_image,json=logoImage,proto3,oneof" json:"logo_image,omitempty"`
730}
731
732func (x *GmailTeaser) Reset() {
733	*x = GmailTeaser{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[9]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *GmailTeaser) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*GmailTeaser) ProtoMessage() {}
746
747func (x *GmailTeaser) ProtoReflect() protoreflect.Message {
748	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[9]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use GmailTeaser.ProtoReflect.Descriptor instead.
760func (*GmailTeaser) Descriptor() ([]byte, []int) {
761	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{9}
762}
763
764func (x *GmailTeaser) GetHeadline() string {
765	if x != nil && x.Headline != nil {
766		return *x.Headline
767	}
768	return ""
769}
770
771func (x *GmailTeaser) GetDescription() string {
772	if x != nil && x.Description != nil {
773		return *x.Description
774	}
775	return ""
776}
777
778func (x *GmailTeaser) GetBusinessName() string {
779	if x != nil && x.BusinessName != nil {
780		return *x.BusinessName
781	}
782	return ""
783}
784
785func (x *GmailTeaser) GetLogoImage() string {
786	if x != nil && x.LogoImage != nil {
787		return *x.LogoImage
788	}
789	return ""
790}
791
792// Data for display call to action. The call to action is a piece of the ad
793// that prompts the user to do something. Like clicking a link or making a phone
794// call.
795type DisplayCallToAction struct {
796	state         protoimpl.MessageState
797	sizeCache     protoimpl.SizeCache
798	unknownFields protoimpl.UnknownFields
799
800	// Text for the display-call-to-action.
801	Text *string `protobuf:"bytes,5,opt,name=text,proto3,oneof" json:"text,omitempty"`
802	// Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
803	// white.
804	TextColor *string `protobuf:"bytes,6,opt,name=text_color,json=textColor,proto3,oneof" json:"text_color,omitempty"`
805	// Identifies the url collection in the ad.url_collections field. If not set
806	// the url defaults to final_url.
807	UrlCollectionId *string `protobuf:"bytes,7,opt,name=url_collection_id,json=urlCollectionId,proto3,oneof" json:"url_collection_id,omitempty"`
808}
809
810func (x *DisplayCallToAction) Reset() {
811	*x = DisplayCallToAction{}
812	if protoimpl.UnsafeEnabled {
813		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[10]
814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
815		ms.StoreMessageInfo(mi)
816	}
817}
818
819func (x *DisplayCallToAction) String() string {
820	return protoimpl.X.MessageStringOf(x)
821}
822
823func (*DisplayCallToAction) ProtoMessage() {}
824
825func (x *DisplayCallToAction) ProtoReflect() protoreflect.Message {
826	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[10]
827	if protoimpl.UnsafeEnabled && x != nil {
828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
829		if ms.LoadMessageInfo() == nil {
830			ms.StoreMessageInfo(mi)
831		}
832		return ms
833	}
834	return mi.MessageOf(x)
835}
836
837// Deprecated: Use DisplayCallToAction.ProtoReflect.Descriptor instead.
838func (*DisplayCallToAction) Descriptor() ([]byte, []int) {
839	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{10}
840}
841
842func (x *DisplayCallToAction) GetText() string {
843	if x != nil && x.Text != nil {
844		return *x.Text
845	}
846	return ""
847}
848
849func (x *DisplayCallToAction) GetTextColor() string {
850	if x != nil && x.TextColor != nil {
851		return *x.TextColor
852	}
853	return ""
854}
855
856func (x *DisplayCallToAction) GetUrlCollectionId() string {
857	if x != nil && x.UrlCollectionId != nil {
858		return *x.UrlCollectionId
859	}
860	return ""
861}
862
863// Product image specific data.
864type ProductImage struct {
865	state         protoimpl.MessageState
866	sizeCache     protoimpl.SizeCache
867	unknownFields protoimpl.UnknownFields
868
869	// The MediaFile resource name of the product image. Valid image types are
870	// GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
871	// must be 1:1 (+-1%).
872	ProductImage *string `protobuf:"bytes,4,opt,name=product_image,json=productImage,proto3,oneof" json:"product_image,omitempty"`
873	// Description of the product.
874	Description *string `protobuf:"bytes,5,opt,name=description,proto3,oneof" json:"description,omitempty"`
875	// Display-call-to-action of the product image.
876	DisplayCallToAction *DisplayCallToAction `protobuf:"bytes,3,opt,name=display_call_to_action,json=displayCallToAction,proto3" json:"display_call_to_action,omitempty"`
877}
878
879func (x *ProductImage) Reset() {
880	*x = ProductImage{}
881	if protoimpl.UnsafeEnabled {
882		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[11]
883		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
884		ms.StoreMessageInfo(mi)
885	}
886}
887
888func (x *ProductImage) String() string {
889	return protoimpl.X.MessageStringOf(x)
890}
891
892func (*ProductImage) ProtoMessage() {}
893
894func (x *ProductImage) ProtoReflect() protoreflect.Message {
895	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[11]
896	if protoimpl.UnsafeEnabled && x != nil {
897		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
898		if ms.LoadMessageInfo() == nil {
899			ms.StoreMessageInfo(mi)
900		}
901		return ms
902	}
903	return mi.MessageOf(x)
904}
905
906// Deprecated: Use ProductImage.ProtoReflect.Descriptor instead.
907func (*ProductImage) Descriptor() ([]byte, []int) {
908	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{11}
909}
910
911func (x *ProductImage) GetProductImage() string {
912	if x != nil && x.ProductImage != nil {
913		return *x.ProductImage
914	}
915	return ""
916}
917
918func (x *ProductImage) GetDescription() string {
919	if x != nil && x.Description != nil {
920		return *x.Description
921	}
922	return ""
923}
924
925func (x *ProductImage) GetDisplayCallToAction() *DisplayCallToAction {
926	if x != nil {
927		return x.DisplayCallToAction
928	}
929	return nil
930}
931
932// Product video specific data.
933type ProductVideo struct {
934	state         protoimpl.MessageState
935	sizeCache     protoimpl.SizeCache
936	unknownFields protoimpl.UnknownFields
937
938	// The MediaFile resource name of a video which must be hosted on YouTube.
939	ProductVideo *string `protobuf:"bytes,2,opt,name=product_video,json=productVideo,proto3,oneof" json:"product_video,omitempty"`
940}
941
942func (x *ProductVideo) Reset() {
943	*x = ProductVideo{}
944	if protoimpl.UnsafeEnabled {
945		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[12]
946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
947		ms.StoreMessageInfo(mi)
948	}
949}
950
951func (x *ProductVideo) String() string {
952	return protoimpl.X.MessageStringOf(x)
953}
954
955func (*ProductVideo) ProtoMessage() {}
956
957func (x *ProductVideo) ProtoReflect() protoreflect.Message {
958	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[12]
959	if protoimpl.UnsafeEnabled && x != nil {
960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
961		if ms.LoadMessageInfo() == nil {
962			ms.StoreMessageInfo(mi)
963		}
964		return ms
965	}
966	return mi.MessageOf(x)
967}
968
969// Deprecated: Use ProductVideo.ProtoReflect.Descriptor instead.
970func (*ProductVideo) Descriptor() ([]byte, []int) {
971	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{12}
972}
973
974func (x *ProductVideo) GetProductVideo() string {
975	if x != nil && x.ProductVideo != nil {
976		return *x.ProductVideo
977	}
978	return ""
979}
980
981// An image ad.
982type ImageAdInfo struct {
983	state         protoimpl.MessageState
984	sizeCache     protoimpl.SizeCache
985	unknownFields protoimpl.UnknownFields
986
987	// Width in pixels of the full size image.
988	PixelWidth *int64 `protobuf:"varint,15,opt,name=pixel_width,json=pixelWidth,proto3,oneof" json:"pixel_width,omitempty"`
989	// Height in pixels of the full size image.
990	PixelHeight *int64 `protobuf:"varint,16,opt,name=pixel_height,json=pixelHeight,proto3,oneof" json:"pixel_height,omitempty"`
991	// URL of the full size image.
992	ImageUrl *string `protobuf:"bytes,17,opt,name=image_url,json=imageUrl,proto3,oneof" json:"image_url,omitempty"`
993	// Width in pixels of the preview size image.
994	PreviewPixelWidth *int64 `protobuf:"varint,18,opt,name=preview_pixel_width,json=previewPixelWidth,proto3,oneof" json:"preview_pixel_width,omitempty"`
995	// Height in pixels of the preview size image.
996	PreviewPixelHeight *int64 `protobuf:"varint,19,opt,name=preview_pixel_height,json=previewPixelHeight,proto3,oneof" json:"preview_pixel_height,omitempty"`
997	// URL of the preview size image.
998	PreviewImageUrl *string `protobuf:"bytes,20,opt,name=preview_image_url,json=previewImageUrl,proto3,oneof" json:"preview_image_url,omitempty"`
999	// The mime type of the image.
1000	MimeType enums.MimeTypeEnum_MimeType `protobuf:"varint,10,opt,name=mime_type,json=mimeType,proto3,enum=google.ads.googleads.v5.enums.MimeTypeEnum_MimeType" json:"mime_type,omitempty"`
1001	// The name of the image. If the image was created from a MediaFile, this is
1002	// the MediaFile's name. If the image was created from bytes, this is empty.
1003	Name *string `protobuf:"bytes,21,opt,name=name,proto3,oneof" json:"name,omitempty"`
1004	// The image to create the ImageAd from. This can be specified in one of
1005	// two ways.
1006	// 1. An existing MediaFile resource.
1007	// 2. The raw image data as bytes.
1008	//
1009	// Types that are assignable to Image:
1010	//	*ImageAdInfo_MediaFile
1011	//	*ImageAdInfo_Data
1012	//	*ImageAdInfo_AdIdToCopyImageFrom
1013	Image isImageAdInfo_Image `protobuf_oneof:"image"`
1014}
1015
1016func (x *ImageAdInfo) Reset() {
1017	*x = ImageAdInfo{}
1018	if protoimpl.UnsafeEnabled {
1019		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[13]
1020		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1021		ms.StoreMessageInfo(mi)
1022	}
1023}
1024
1025func (x *ImageAdInfo) String() string {
1026	return protoimpl.X.MessageStringOf(x)
1027}
1028
1029func (*ImageAdInfo) ProtoMessage() {}
1030
1031func (x *ImageAdInfo) ProtoReflect() protoreflect.Message {
1032	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[13]
1033	if protoimpl.UnsafeEnabled && x != nil {
1034		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1035		if ms.LoadMessageInfo() == nil {
1036			ms.StoreMessageInfo(mi)
1037		}
1038		return ms
1039	}
1040	return mi.MessageOf(x)
1041}
1042
1043// Deprecated: Use ImageAdInfo.ProtoReflect.Descriptor instead.
1044func (*ImageAdInfo) Descriptor() ([]byte, []int) {
1045	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{13}
1046}
1047
1048func (x *ImageAdInfo) GetPixelWidth() int64 {
1049	if x != nil && x.PixelWidth != nil {
1050		return *x.PixelWidth
1051	}
1052	return 0
1053}
1054
1055func (x *ImageAdInfo) GetPixelHeight() int64 {
1056	if x != nil && x.PixelHeight != nil {
1057		return *x.PixelHeight
1058	}
1059	return 0
1060}
1061
1062func (x *ImageAdInfo) GetImageUrl() string {
1063	if x != nil && x.ImageUrl != nil {
1064		return *x.ImageUrl
1065	}
1066	return ""
1067}
1068
1069func (x *ImageAdInfo) GetPreviewPixelWidth() int64 {
1070	if x != nil && x.PreviewPixelWidth != nil {
1071		return *x.PreviewPixelWidth
1072	}
1073	return 0
1074}
1075
1076func (x *ImageAdInfo) GetPreviewPixelHeight() int64 {
1077	if x != nil && x.PreviewPixelHeight != nil {
1078		return *x.PreviewPixelHeight
1079	}
1080	return 0
1081}
1082
1083func (x *ImageAdInfo) GetPreviewImageUrl() string {
1084	if x != nil && x.PreviewImageUrl != nil {
1085		return *x.PreviewImageUrl
1086	}
1087	return ""
1088}
1089
1090func (x *ImageAdInfo) GetMimeType() enums.MimeTypeEnum_MimeType {
1091	if x != nil {
1092		return x.MimeType
1093	}
1094	return enums.MimeTypeEnum_UNSPECIFIED
1095}
1096
1097func (x *ImageAdInfo) GetName() string {
1098	if x != nil && x.Name != nil {
1099		return *x.Name
1100	}
1101	return ""
1102}
1103
1104func (m *ImageAdInfo) GetImage() isImageAdInfo_Image {
1105	if m != nil {
1106		return m.Image
1107	}
1108	return nil
1109}
1110
1111func (x *ImageAdInfo) GetMediaFile() string {
1112	if x, ok := x.GetImage().(*ImageAdInfo_MediaFile); ok {
1113		return x.MediaFile
1114	}
1115	return ""
1116}
1117
1118func (x *ImageAdInfo) GetData() []byte {
1119	if x, ok := x.GetImage().(*ImageAdInfo_Data); ok {
1120		return x.Data
1121	}
1122	return nil
1123}
1124
1125func (x *ImageAdInfo) GetAdIdToCopyImageFrom() int64 {
1126	if x, ok := x.GetImage().(*ImageAdInfo_AdIdToCopyImageFrom); ok {
1127		return x.AdIdToCopyImageFrom
1128	}
1129	return 0
1130}
1131
1132type isImageAdInfo_Image interface {
1133	isImageAdInfo_Image()
1134}
1135
1136type ImageAdInfo_MediaFile struct {
1137	// The MediaFile resource to use for the image.
1138	MediaFile string `protobuf:"bytes,12,opt,name=media_file,json=mediaFile,proto3,oneof"`
1139}
1140
1141type ImageAdInfo_Data struct {
1142	// Raw image data as bytes.
1143	Data []byte `protobuf:"bytes,13,opt,name=data,proto3,oneof"`
1144}
1145
1146type ImageAdInfo_AdIdToCopyImageFrom struct {
1147	// An ad ID to copy the image from.
1148	AdIdToCopyImageFrom int64 `protobuf:"varint,14,opt,name=ad_id_to_copy_image_from,json=adIdToCopyImageFrom,proto3,oneof"`
1149}
1150
1151func (*ImageAdInfo_MediaFile) isImageAdInfo_Image() {}
1152
1153func (*ImageAdInfo_Data) isImageAdInfo_Image() {}
1154
1155func (*ImageAdInfo_AdIdToCopyImageFrom) isImageAdInfo_Image() {}
1156
1157// Representation of video bumper in-stream ad format (very short in-stream
1158// non-skippable video ad).
1159type VideoBumperInStreamAdInfo struct {
1160	state         protoimpl.MessageState
1161	sizeCache     protoimpl.SizeCache
1162	unknownFields protoimpl.UnknownFields
1163
1164	// The MediaFile resource name of the companion banner used with the ad.
1165	CompanionBanner *string `protobuf:"bytes,2,opt,name=companion_banner,json=companionBanner,proto3,oneof" json:"companion_banner,omitempty"`
1166}
1167
1168func (x *VideoBumperInStreamAdInfo) Reset() {
1169	*x = VideoBumperInStreamAdInfo{}
1170	if protoimpl.UnsafeEnabled {
1171		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[14]
1172		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1173		ms.StoreMessageInfo(mi)
1174	}
1175}
1176
1177func (x *VideoBumperInStreamAdInfo) String() string {
1178	return protoimpl.X.MessageStringOf(x)
1179}
1180
1181func (*VideoBumperInStreamAdInfo) ProtoMessage() {}
1182
1183func (x *VideoBumperInStreamAdInfo) ProtoReflect() protoreflect.Message {
1184	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[14]
1185	if protoimpl.UnsafeEnabled && x != nil {
1186		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1187		if ms.LoadMessageInfo() == nil {
1188			ms.StoreMessageInfo(mi)
1189		}
1190		return ms
1191	}
1192	return mi.MessageOf(x)
1193}
1194
1195// Deprecated: Use VideoBumperInStreamAdInfo.ProtoReflect.Descriptor instead.
1196func (*VideoBumperInStreamAdInfo) Descriptor() ([]byte, []int) {
1197	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{14}
1198}
1199
1200func (x *VideoBumperInStreamAdInfo) GetCompanionBanner() string {
1201	if x != nil && x.CompanionBanner != nil {
1202		return *x.CompanionBanner
1203	}
1204	return ""
1205}
1206
1207// Representation of video non-skippable in-stream ad format (15 second
1208// in-stream non-skippable video ad).
1209type VideoNonSkippableInStreamAdInfo struct {
1210	state         protoimpl.MessageState
1211	sizeCache     protoimpl.SizeCache
1212	unknownFields protoimpl.UnknownFields
1213
1214	// The MediaFile resource name of the companion banner used with the ad.
1215	CompanionBanner *string `protobuf:"bytes,2,opt,name=companion_banner,json=companionBanner,proto3,oneof" json:"companion_banner,omitempty"`
1216}
1217
1218func (x *VideoNonSkippableInStreamAdInfo) Reset() {
1219	*x = VideoNonSkippableInStreamAdInfo{}
1220	if protoimpl.UnsafeEnabled {
1221		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[15]
1222		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1223		ms.StoreMessageInfo(mi)
1224	}
1225}
1226
1227func (x *VideoNonSkippableInStreamAdInfo) String() string {
1228	return protoimpl.X.MessageStringOf(x)
1229}
1230
1231func (*VideoNonSkippableInStreamAdInfo) ProtoMessage() {}
1232
1233func (x *VideoNonSkippableInStreamAdInfo) ProtoReflect() protoreflect.Message {
1234	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[15]
1235	if protoimpl.UnsafeEnabled && x != nil {
1236		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1237		if ms.LoadMessageInfo() == nil {
1238			ms.StoreMessageInfo(mi)
1239		}
1240		return ms
1241	}
1242	return mi.MessageOf(x)
1243}
1244
1245// Deprecated: Use VideoNonSkippableInStreamAdInfo.ProtoReflect.Descriptor instead.
1246func (*VideoNonSkippableInStreamAdInfo) Descriptor() ([]byte, []int) {
1247	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{15}
1248}
1249
1250func (x *VideoNonSkippableInStreamAdInfo) GetCompanionBanner() string {
1251	if x != nil && x.CompanionBanner != nil {
1252		return *x.CompanionBanner
1253	}
1254	return ""
1255}
1256
1257// Representation of video TrueView in-stream ad format (ad shown during video
1258// playback, often at beginning, which displays a skip button a few seconds into
1259// the video).
1260type VideoTrueViewInStreamAdInfo struct {
1261	state         protoimpl.MessageState
1262	sizeCache     protoimpl.SizeCache
1263	unknownFields protoimpl.UnknownFields
1264
1265	// Label on the CTA (call-to-action) button taking the user to the video ad's
1266	// final URL.
1267	// Required for TrueView for action campaigns, optional otherwise.
1268	ActionButtonLabel *string `protobuf:"bytes,4,opt,name=action_button_label,json=actionButtonLabel,proto3,oneof" json:"action_button_label,omitempty"`
1269	// Additional text displayed with the CTA (call-to-action) button to give
1270	// context and encourage clicking on the button.
1271	ActionHeadline *string `protobuf:"bytes,5,opt,name=action_headline,json=actionHeadline,proto3,oneof" json:"action_headline,omitempty"`
1272	// The MediaFile resource name of the companion banner used with the ad.
1273	CompanionBanner *string `protobuf:"bytes,6,opt,name=companion_banner,json=companionBanner,proto3,oneof" json:"companion_banner,omitempty"`
1274}
1275
1276func (x *VideoTrueViewInStreamAdInfo) Reset() {
1277	*x = VideoTrueViewInStreamAdInfo{}
1278	if protoimpl.UnsafeEnabled {
1279		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[16]
1280		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1281		ms.StoreMessageInfo(mi)
1282	}
1283}
1284
1285func (x *VideoTrueViewInStreamAdInfo) String() string {
1286	return protoimpl.X.MessageStringOf(x)
1287}
1288
1289func (*VideoTrueViewInStreamAdInfo) ProtoMessage() {}
1290
1291func (x *VideoTrueViewInStreamAdInfo) ProtoReflect() protoreflect.Message {
1292	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[16]
1293	if protoimpl.UnsafeEnabled && x != nil {
1294		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1295		if ms.LoadMessageInfo() == nil {
1296			ms.StoreMessageInfo(mi)
1297		}
1298		return ms
1299	}
1300	return mi.MessageOf(x)
1301}
1302
1303// Deprecated: Use VideoTrueViewInStreamAdInfo.ProtoReflect.Descriptor instead.
1304func (*VideoTrueViewInStreamAdInfo) Descriptor() ([]byte, []int) {
1305	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{16}
1306}
1307
1308func (x *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() string {
1309	if x != nil && x.ActionButtonLabel != nil {
1310		return *x.ActionButtonLabel
1311	}
1312	return ""
1313}
1314
1315func (x *VideoTrueViewInStreamAdInfo) GetActionHeadline() string {
1316	if x != nil && x.ActionHeadline != nil {
1317		return *x.ActionHeadline
1318	}
1319	return ""
1320}
1321
1322func (x *VideoTrueViewInStreamAdInfo) GetCompanionBanner() string {
1323	if x != nil && x.CompanionBanner != nil {
1324		return *x.CompanionBanner
1325	}
1326	return ""
1327}
1328
1329// Representation of video out-stream ad format (ad shown alongside a feed
1330// with automatic playback, without sound).
1331type VideoOutstreamAdInfo struct {
1332	state         protoimpl.MessageState
1333	sizeCache     protoimpl.SizeCache
1334	unknownFields protoimpl.UnknownFields
1335
1336	// The headline of the ad.
1337	Headline *string `protobuf:"bytes,3,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
1338	// The description line.
1339	Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"`
1340}
1341
1342func (x *VideoOutstreamAdInfo) Reset() {
1343	*x = VideoOutstreamAdInfo{}
1344	if protoimpl.UnsafeEnabled {
1345		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[17]
1346		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1347		ms.StoreMessageInfo(mi)
1348	}
1349}
1350
1351func (x *VideoOutstreamAdInfo) String() string {
1352	return protoimpl.X.MessageStringOf(x)
1353}
1354
1355func (*VideoOutstreamAdInfo) ProtoMessage() {}
1356
1357func (x *VideoOutstreamAdInfo) ProtoReflect() protoreflect.Message {
1358	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[17]
1359	if protoimpl.UnsafeEnabled && x != nil {
1360		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1361		if ms.LoadMessageInfo() == nil {
1362			ms.StoreMessageInfo(mi)
1363		}
1364		return ms
1365	}
1366	return mi.MessageOf(x)
1367}
1368
1369// Deprecated: Use VideoOutstreamAdInfo.ProtoReflect.Descriptor instead.
1370func (*VideoOutstreamAdInfo) Descriptor() ([]byte, []int) {
1371	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{17}
1372}
1373
1374func (x *VideoOutstreamAdInfo) GetHeadline() string {
1375	if x != nil && x.Headline != nil {
1376		return *x.Headline
1377	}
1378	return ""
1379}
1380
1381func (x *VideoOutstreamAdInfo) GetDescription() string {
1382	if x != nil && x.Description != nil {
1383		return *x.Description
1384	}
1385	return ""
1386}
1387
1388// Representation of video TrueView discovery ad format.
1389type VideoTrueViewDiscoveryAdInfo struct {
1390	state         protoimpl.MessageState
1391	sizeCache     protoimpl.SizeCache
1392	unknownFields protoimpl.UnknownFields
1393
1394	// The headline of the ad.
1395	Headline *string `protobuf:"bytes,4,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
1396	// First text line for a TrueView video discovery ad.
1397	Description1 *string `protobuf:"bytes,5,opt,name=description1,proto3,oneof" json:"description1,omitempty"`
1398	// Second text line for a TrueView video discovery ad.
1399	Description2 *string `protobuf:"bytes,6,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
1400}
1401
1402func (x *VideoTrueViewDiscoveryAdInfo) Reset() {
1403	*x = VideoTrueViewDiscoveryAdInfo{}
1404	if protoimpl.UnsafeEnabled {
1405		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[18]
1406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407		ms.StoreMessageInfo(mi)
1408	}
1409}
1410
1411func (x *VideoTrueViewDiscoveryAdInfo) String() string {
1412	return protoimpl.X.MessageStringOf(x)
1413}
1414
1415func (*VideoTrueViewDiscoveryAdInfo) ProtoMessage() {}
1416
1417func (x *VideoTrueViewDiscoveryAdInfo) ProtoReflect() protoreflect.Message {
1418	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[18]
1419	if protoimpl.UnsafeEnabled && x != nil {
1420		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1421		if ms.LoadMessageInfo() == nil {
1422			ms.StoreMessageInfo(mi)
1423		}
1424		return ms
1425	}
1426	return mi.MessageOf(x)
1427}
1428
1429// Deprecated: Use VideoTrueViewDiscoveryAdInfo.ProtoReflect.Descriptor instead.
1430func (*VideoTrueViewDiscoveryAdInfo) Descriptor() ([]byte, []int) {
1431	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{18}
1432}
1433
1434func (x *VideoTrueViewDiscoveryAdInfo) GetHeadline() string {
1435	if x != nil && x.Headline != nil {
1436		return *x.Headline
1437	}
1438	return ""
1439}
1440
1441func (x *VideoTrueViewDiscoveryAdInfo) GetDescription1() string {
1442	if x != nil && x.Description1 != nil {
1443		return *x.Description1
1444	}
1445	return ""
1446}
1447
1448func (x *VideoTrueViewDiscoveryAdInfo) GetDescription2() string {
1449	if x != nil && x.Description2 != nil {
1450		return *x.Description2
1451	}
1452	return ""
1453}
1454
1455// A video ad.
1456type VideoAdInfo struct {
1457	state         protoimpl.MessageState
1458	sizeCache     protoimpl.SizeCache
1459	unknownFields protoimpl.UnknownFields
1460
1461	// The MediaFile resource to use for the video.
1462	MediaFile *string `protobuf:"bytes,7,opt,name=media_file,json=mediaFile,proto3,oneof" json:"media_file,omitempty"`
1463	// Format-specific schema for the different video formats.
1464	//
1465	// Types that are assignable to Format:
1466	//	*VideoAdInfo_InStream
1467	//	*VideoAdInfo_Bumper
1468	//	*VideoAdInfo_OutStream
1469	//	*VideoAdInfo_NonSkippable
1470	//	*VideoAdInfo_Discovery
1471	Format isVideoAdInfo_Format `protobuf_oneof:"format"`
1472}
1473
1474func (x *VideoAdInfo) Reset() {
1475	*x = VideoAdInfo{}
1476	if protoimpl.UnsafeEnabled {
1477		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[19]
1478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1479		ms.StoreMessageInfo(mi)
1480	}
1481}
1482
1483func (x *VideoAdInfo) String() string {
1484	return protoimpl.X.MessageStringOf(x)
1485}
1486
1487func (*VideoAdInfo) ProtoMessage() {}
1488
1489func (x *VideoAdInfo) ProtoReflect() protoreflect.Message {
1490	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[19]
1491	if protoimpl.UnsafeEnabled && x != nil {
1492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1493		if ms.LoadMessageInfo() == nil {
1494			ms.StoreMessageInfo(mi)
1495		}
1496		return ms
1497	}
1498	return mi.MessageOf(x)
1499}
1500
1501// Deprecated: Use VideoAdInfo.ProtoReflect.Descriptor instead.
1502func (*VideoAdInfo) Descriptor() ([]byte, []int) {
1503	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{19}
1504}
1505
1506func (x *VideoAdInfo) GetMediaFile() string {
1507	if x != nil && x.MediaFile != nil {
1508		return *x.MediaFile
1509	}
1510	return ""
1511}
1512
1513func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format {
1514	if m != nil {
1515		return m.Format
1516	}
1517	return nil
1518}
1519
1520func (x *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo {
1521	if x, ok := x.GetFormat().(*VideoAdInfo_InStream); ok {
1522		return x.InStream
1523	}
1524	return nil
1525}
1526
1527func (x *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo {
1528	if x, ok := x.GetFormat().(*VideoAdInfo_Bumper); ok {
1529		return x.Bumper
1530	}
1531	return nil
1532}
1533
1534func (x *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo {
1535	if x, ok := x.GetFormat().(*VideoAdInfo_OutStream); ok {
1536		return x.OutStream
1537	}
1538	return nil
1539}
1540
1541func (x *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo {
1542	if x, ok := x.GetFormat().(*VideoAdInfo_NonSkippable); ok {
1543		return x.NonSkippable
1544	}
1545	return nil
1546}
1547
1548func (x *VideoAdInfo) GetDiscovery() *VideoTrueViewDiscoveryAdInfo {
1549	if x, ok := x.GetFormat().(*VideoAdInfo_Discovery); ok {
1550		return x.Discovery
1551	}
1552	return nil
1553}
1554
1555type isVideoAdInfo_Format interface {
1556	isVideoAdInfo_Format()
1557}
1558
1559type VideoAdInfo_InStream struct {
1560	// Video TrueView in-stream ad format.
1561	InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"`
1562}
1563
1564type VideoAdInfo_Bumper struct {
1565	// Video bumper in-stream ad format.
1566	Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"`
1567}
1568
1569type VideoAdInfo_OutStream struct {
1570	// Video out-stream ad format.
1571	OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"`
1572}
1573
1574type VideoAdInfo_NonSkippable struct {
1575	// Video non-skippable in-stream ad format.
1576	NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"`
1577}
1578
1579type VideoAdInfo_Discovery struct {
1580	// Video TrueView discovery ad format.
1581	Discovery *VideoTrueViewDiscoveryAdInfo `protobuf:"bytes,6,opt,name=discovery,proto3,oneof"`
1582}
1583
1584func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {}
1585
1586func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {}
1587
1588func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {}
1589
1590func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {}
1591
1592func (*VideoAdInfo_Discovery) isVideoAdInfo_Format() {}
1593
1594// A video responsive ad.
1595type VideoResponsiveAdInfo struct {
1596	state         protoimpl.MessageState
1597	sizeCache     protoimpl.SizeCache
1598	unknownFields protoimpl.UnknownFields
1599
1600	// List of text assets used for the short headline, e.g. the "Call To Action"
1601	// banner. Currently, only a single value for the short headline is supported.
1602	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1603	// List of text assets used for the long headline.
1604	// Currently, only a single value for the long headline is supported.
1605	LongHeadlines []*AdTextAsset `protobuf:"bytes,2,rep,name=long_headlines,json=longHeadlines,proto3" json:"long_headlines,omitempty"`
1606	// List of text assets used for the description.
1607	// Currently, only a single value for the description is supported.
1608	Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1609	// List of text assets used for the button, e.g. the "Call To Action" button.
1610	// Currently, only a single value for the button is supported.
1611	CallToActions []*AdTextAsset `protobuf:"bytes,4,rep,name=call_to_actions,json=callToActions,proto3" json:"call_to_actions,omitempty"`
1612	// List of YouTube video assets used for the ad.
1613	// Currently, only a single value for the YouTube video asset is supported.
1614	Videos []*AdVideoAsset `protobuf:"bytes,5,rep,name=videos,proto3" json:"videos,omitempty"`
1615	// List of image assets used for the companion banner.
1616	// Currently, only a single value for the companion banner asset is supported.
1617	CompanionBanners []*AdImageAsset `protobuf:"bytes,6,rep,name=companion_banners,json=companionBanners,proto3" json:"companion_banners,omitempty"`
1618}
1619
1620func (x *VideoResponsiveAdInfo) Reset() {
1621	*x = VideoResponsiveAdInfo{}
1622	if protoimpl.UnsafeEnabled {
1623		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[20]
1624		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1625		ms.StoreMessageInfo(mi)
1626	}
1627}
1628
1629func (x *VideoResponsiveAdInfo) String() string {
1630	return protoimpl.X.MessageStringOf(x)
1631}
1632
1633func (*VideoResponsiveAdInfo) ProtoMessage() {}
1634
1635func (x *VideoResponsiveAdInfo) ProtoReflect() protoreflect.Message {
1636	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[20]
1637	if protoimpl.UnsafeEnabled && x != nil {
1638		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1639		if ms.LoadMessageInfo() == nil {
1640			ms.StoreMessageInfo(mi)
1641		}
1642		return ms
1643	}
1644	return mi.MessageOf(x)
1645}
1646
1647// Deprecated: Use VideoResponsiveAdInfo.ProtoReflect.Descriptor instead.
1648func (*VideoResponsiveAdInfo) Descriptor() ([]byte, []int) {
1649	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{20}
1650}
1651
1652func (x *VideoResponsiveAdInfo) GetHeadlines() []*AdTextAsset {
1653	if x != nil {
1654		return x.Headlines
1655	}
1656	return nil
1657}
1658
1659func (x *VideoResponsiveAdInfo) GetLongHeadlines() []*AdTextAsset {
1660	if x != nil {
1661		return x.LongHeadlines
1662	}
1663	return nil
1664}
1665
1666func (x *VideoResponsiveAdInfo) GetDescriptions() []*AdTextAsset {
1667	if x != nil {
1668		return x.Descriptions
1669	}
1670	return nil
1671}
1672
1673func (x *VideoResponsiveAdInfo) GetCallToActions() []*AdTextAsset {
1674	if x != nil {
1675		return x.CallToActions
1676	}
1677	return nil
1678}
1679
1680func (x *VideoResponsiveAdInfo) GetVideos() []*AdVideoAsset {
1681	if x != nil {
1682		return x.Videos
1683	}
1684	return nil
1685}
1686
1687func (x *VideoResponsiveAdInfo) GetCompanionBanners() []*AdImageAsset {
1688	if x != nil {
1689		return x.CompanionBanners
1690	}
1691	return nil
1692}
1693
1694// A responsive search ad.
1695//
1696// Responsive search ads let you create an ad that adapts to show more text, and
1697// more relevant messages, to your customers. Enter multiple headlines and
1698// descriptions when creating a responsive search ad, and over time, Google Ads
1699// will automatically test different combinations and learn which combinations
1700// perform best. By adapting your ad's content to more closely match potential
1701// customers' search terms, responsive search ads may improve your campaign's
1702// performance.
1703//
1704// More information at https://support.google.com/google-ads/answer/7684791
1705type ResponsiveSearchAdInfo struct {
1706	state         protoimpl.MessageState
1707	sizeCache     protoimpl.SizeCache
1708	unknownFields protoimpl.UnknownFields
1709
1710	// List of text assets for headlines. When the ad serves the headlines will
1711	// be selected from this list.
1712	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1713	// List of text assets for descriptions. When the ad serves the descriptions
1714	// will be selected from this list.
1715	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1716	// First part of text that may appear appended to the url displayed in the ad.
1717	Path1 *string `protobuf:"bytes,5,opt,name=path1,proto3,oneof" json:"path1,omitempty"`
1718	// Second part of text that may appear appended to the url displayed in the
1719	// ad. This field can only be set when path1 is also set.
1720	Path2 *string `protobuf:"bytes,6,opt,name=path2,proto3,oneof" json:"path2,omitempty"`
1721}
1722
1723func (x *ResponsiveSearchAdInfo) Reset() {
1724	*x = ResponsiveSearchAdInfo{}
1725	if protoimpl.UnsafeEnabled {
1726		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[21]
1727		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1728		ms.StoreMessageInfo(mi)
1729	}
1730}
1731
1732func (x *ResponsiveSearchAdInfo) String() string {
1733	return protoimpl.X.MessageStringOf(x)
1734}
1735
1736func (*ResponsiveSearchAdInfo) ProtoMessage() {}
1737
1738func (x *ResponsiveSearchAdInfo) ProtoReflect() protoreflect.Message {
1739	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[21]
1740	if protoimpl.UnsafeEnabled && x != nil {
1741		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1742		if ms.LoadMessageInfo() == nil {
1743			ms.StoreMessageInfo(mi)
1744		}
1745		return ms
1746	}
1747	return mi.MessageOf(x)
1748}
1749
1750// Deprecated: Use ResponsiveSearchAdInfo.ProtoReflect.Descriptor instead.
1751func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) {
1752	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{21}
1753}
1754
1755func (x *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset {
1756	if x != nil {
1757		return x.Headlines
1758	}
1759	return nil
1760}
1761
1762func (x *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset {
1763	if x != nil {
1764		return x.Descriptions
1765	}
1766	return nil
1767}
1768
1769func (x *ResponsiveSearchAdInfo) GetPath1() string {
1770	if x != nil && x.Path1 != nil {
1771		return *x.Path1
1772	}
1773	return ""
1774}
1775
1776func (x *ResponsiveSearchAdInfo) GetPath2() string {
1777	if x != nil && x.Path2 != nil {
1778		return *x.Path2
1779	}
1780	return ""
1781}
1782
1783// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads'
1784// in the Google Ads UI.
1785type LegacyResponsiveDisplayAdInfo struct {
1786	state         protoimpl.MessageState
1787	sizeCache     protoimpl.SizeCache
1788	unknownFields protoimpl.UnknownFields
1789
1790	// The short version of the ad's headline.
1791	ShortHeadline *string `protobuf:"bytes,16,opt,name=short_headline,json=shortHeadline,proto3,oneof" json:"short_headline,omitempty"`
1792	// The long version of the ad's headline.
1793	LongHeadline *string `protobuf:"bytes,17,opt,name=long_headline,json=longHeadline,proto3,oneof" json:"long_headline,omitempty"`
1794	// The description of the ad.
1795	Description *string `protobuf:"bytes,18,opt,name=description,proto3,oneof" json:"description,omitempty"`
1796	// The business name in the ad.
1797	BusinessName *string `protobuf:"bytes,19,opt,name=business_name,json=businessName,proto3,oneof" json:"business_name,omitempty"`
1798	// Advertiser's consent to allow flexible color. When true, the ad may be
1799	// served with different color if necessary. When false, the ad will be served
1800	// with the specified colors or a neutral color.
1801	// The default value is true.
1802	// Must be true if main_color and accent_color are not set.
1803	AllowFlexibleColor *bool `protobuf:"varint,20,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3,oneof" json:"allow_flexible_color,omitempty"`
1804	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
1805	// If one of main_color and accent_color is set, the other is required as
1806	// well.
1807	AccentColor *string `protobuf:"bytes,21,opt,name=accent_color,json=accentColor,proto3,oneof" json:"accent_color,omitempty"`
1808	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
1809	// If one of main_color and accent_color is set, the other is required as
1810	// well.
1811	MainColor *string `protobuf:"bytes,22,opt,name=main_color,json=mainColor,proto3,oneof" json:"main_color,omitempty"`
1812	// The call-to-action text for the ad.
1813	CallToActionText *string `protobuf:"bytes,23,opt,name=call_to_action_text,json=callToActionText,proto3,oneof" json:"call_to_action_text,omitempty"`
1814	// The MediaFile resource name of the logo image used in the ad.
1815	LogoImage *string `protobuf:"bytes,24,opt,name=logo_image,json=logoImage,proto3,oneof" json:"logo_image,omitempty"`
1816	// The MediaFile resource name of the square logo image used in the ad.
1817	SquareLogoImage *string `protobuf:"bytes,25,opt,name=square_logo_image,json=squareLogoImage,proto3,oneof" json:"square_logo_image,omitempty"`
1818	// The MediaFile resource name of the marketing image used in the ad.
1819	MarketingImage *string `protobuf:"bytes,26,opt,name=marketing_image,json=marketingImage,proto3,oneof" json:"marketing_image,omitempty"`
1820	// The MediaFile resource name of the square marketing image used in the ad.
1821	SquareMarketingImage *string `protobuf:"bytes,27,opt,name=square_marketing_image,json=squareMarketingImage,proto3,oneof" json:"square_marketing_image,omitempty"`
1822	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
1823	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v5.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
1824	// Prefix before price. E.g. 'as low as'.
1825	PricePrefix *string `protobuf:"bytes,28,opt,name=price_prefix,json=pricePrefix,proto3,oneof" json:"price_prefix,omitempty"`
1826	// Promotion text used for dyanmic formats of responsive ads. For example
1827	// 'Free two-day shipping'.
1828	PromoText *string `protobuf:"bytes,29,opt,name=promo_text,json=promoText,proto3,oneof" json:"promo_text,omitempty"`
1829}
1830
1831func (x *LegacyResponsiveDisplayAdInfo) Reset() {
1832	*x = LegacyResponsiveDisplayAdInfo{}
1833	if protoimpl.UnsafeEnabled {
1834		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[22]
1835		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1836		ms.StoreMessageInfo(mi)
1837	}
1838}
1839
1840func (x *LegacyResponsiveDisplayAdInfo) String() string {
1841	return protoimpl.X.MessageStringOf(x)
1842}
1843
1844func (*LegacyResponsiveDisplayAdInfo) ProtoMessage() {}
1845
1846func (x *LegacyResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
1847	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[22]
1848	if protoimpl.UnsafeEnabled && x != nil {
1849		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1850		if ms.LoadMessageInfo() == nil {
1851			ms.StoreMessageInfo(mi)
1852		}
1853		return ms
1854	}
1855	return mi.MessageOf(x)
1856}
1857
1858// Deprecated: Use LegacyResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
1859func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
1860	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{22}
1861}
1862
1863func (x *LegacyResponsiveDisplayAdInfo) GetShortHeadline() string {
1864	if x != nil && x.ShortHeadline != nil {
1865		return *x.ShortHeadline
1866	}
1867	return ""
1868}
1869
1870func (x *LegacyResponsiveDisplayAdInfo) GetLongHeadline() string {
1871	if x != nil && x.LongHeadline != nil {
1872		return *x.LongHeadline
1873	}
1874	return ""
1875}
1876
1877func (x *LegacyResponsiveDisplayAdInfo) GetDescription() string {
1878	if x != nil && x.Description != nil {
1879		return *x.Description
1880	}
1881	return ""
1882}
1883
1884func (x *LegacyResponsiveDisplayAdInfo) GetBusinessName() string {
1885	if x != nil && x.BusinessName != nil {
1886		return *x.BusinessName
1887	}
1888	return ""
1889}
1890
1891func (x *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() bool {
1892	if x != nil && x.AllowFlexibleColor != nil {
1893		return *x.AllowFlexibleColor
1894	}
1895	return false
1896}
1897
1898func (x *LegacyResponsiveDisplayAdInfo) GetAccentColor() string {
1899	if x != nil && x.AccentColor != nil {
1900		return *x.AccentColor
1901	}
1902	return ""
1903}
1904
1905func (x *LegacyResponsiveDisplayAdInfo) GetMainColor() string {
1906	if x != nil && x.MainColor != nil {
1907		return *x.MainColor
1908	}
1909	return ""
1910}
1911
1912func (x *LegacyResponsiveDisplayAdInfo) GetCallToActionText() string {
1913	if x != nil && x.CallToActionText != nil {
1914		return *x.CallToActionText
1915	}
1916	return ""
1917}
1918
1919func (x *LegacyResponsiveDisplayAdInfo) GetLogoImage() string {
1920	if x != nil && x.LogoImage != nil {
1921		return *x.LogoImage
1922	}
1923	return ""
1924}
1925
1926func (x *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() string {
1927	if x != nil && x.SquareLogoImage != nil {
1928		return *x.SquareLogoImage
1929	}
1930	return ""
1931}
1932
1933func (x *LegacyResponsiveDisplayAdInfo) GetMarketingImage() string {
1934	if x != nil && x.MarketingImage != nil {
1935		return *x.MarketingImage
1936	}
1937	return ""
1938}
1939
1940func (x *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() string {
1941	if x != nil && x.SquareMarketingImage != nil {
1942		return *x.SquareMarketingImage
1943	}
1944	return ""
1945}
1946
1947func (x *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
1948	if x != nil {
1949		return x.FormatSetting
1950	}
1951	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
1952}
1953
1954func (x *LegacyResponsiveDisplayAdInfo) GetPricePrefix() string {
1955	if x != nil && x.PricePrefix != nil {
1956		return *x.PricePrefix
1957	}
1958	return ""
1959}
1960
1961func (x *LegacyResponsiveDisplayAdInfo) GetPromoText() string {
1962	if x != nil && x.PromoText != nil {
1963		return *x.PromoText
1964	}
1965	return ""
1966}
1967
1968// An app ad.
1969type AppAdInfo struct {
1970	state         protoimpl.MessageState
1971	sizeCache     protoimpl.SizeCache
1972	unknownFields protoimpl.UnknownFields
1973
1974	// Mandatory ad text.
1975	MandatoryAdText *AdTextAsset `protobuf:"bytes,1,opt,name=mandatory_ad_text,json=mandatoryAdText,proto3" json:"mandatory_ad_text,omitempty"`
1976	// List of text assets for headlines. When the ad serves the headlines will
1977	// be selected from this list.
1978	Headlines []*AdTextAsset `protobuf:"bytes,2,rep,name=headlines,proto3" json:"headlines,omitempty"`
1979	// List of text assets for descriptions. When the ad serves the descriptions
1980	// will be selected from this list.
1981	Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1982	// List of image assets that may be displayed with the ad.
1983	Images []*AdImageAsset `protobuf:"bytes,4,rep,name=images,proto3" json:"images,omitempty"`
1984	// List of YouTube video assets that may be displayed with the ad.
1985	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,5,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
1986	// List of media bundle assets that may be used with the ad.
1987	Html5MediaBundles []*AdMediaBundleAsset `protobuf:"bytes,6,rep,name=html5_media_bundles,json=html5MediaBundles,proto3" json:"html5_media_bundles,omitempty"`
1988}
1989
1990func (x *AppAdInfo) Reset() {
1991	*x = AppAdInfo{}
1992	if protoimpl.UnsafeEnabled {
1993		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[23]
1994		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1995		ms.StoreMessageInfo(mi)
1996	}
1997}
1998
1999func (x *AppAdInfo) String() string {
2000	return protoimpl.X.MessageStringOf(x)
2001}
2002
2003func (*AppAdInfo) ProtoMessage() {}
2004
2005func (x *AppAdInfo) ProtoReflect() protoreflect.Message {
2006	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[23]
2007	if protoimpl.UnsafeEnabled && x != nil {
2008		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2009		if ms.LoadMessageInfo() == nil {
2010			ms.StoreMessageInfo(mi)
2011		}
2012		return ms
2013	}
2014	return mi.MessageOf(x)
2015}
2016
2017// Deprecated: Use AppAdInfo.ProtoReflect.Descriptor instead.
2018func (*AppAdInfo) Descriptor() ([]byte, []int) {
2019	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{23}
2020}
2021
2022func (x *AppAdInfo) GetMandatoryAdText() *AdTextAsset {
2023	if x != nil {
2024		return x.MandatoryAdText
2025	}
2026	return nil
2027}
2028
2029func (x *AppAdInfo) GetHeadlines() []*AdTextAsset {
2030	if x != nil {
2031		return x.Headlines
2032	}
2033	return nil
2034}
2035
2036func (x *AppAdInfo) GetDescriptions() []*AdTextAsset {
2037	if x != nil {
2038		return x.Descriptions
2039	}
2040	return nil
2041}
2042
2043func (x *AppAdInfo) GetImages() []*AdImageAsset {
2044	if x != nil {
2045		return x.Images
2046	}
2047	return nil
2048}
2049
2050func (x *AppAdInfo) GetYoutubeVideos() []*AdVideoAsset {
2051	if x != nil {
2052		return x.YoutubeVideos
2053	}
2054	return nil
2055}
2056
2057func (x *AppAdInfo) GetHtml5MediaBundles() []*AdMediaBundleAsset {
2058	if x != nil {
2059		return x.Html5MediaBundles
2060	}
2061	return nil
2062}
2063
2064// App engagement ads allow you to write text encouraging a specific action in
2065// the app, like checking in, making a purchase, or booking a flight.
2066// They allow you to send users to a specific part of your app where they can
2067// find what they're looking for easier and faster.
2068type AppEngagementAdInfo struct {
2069	state         protoimpl.MessageState
2070	sizeCache     protoimpl.SizeCache
2071	unknownFields protoimpl.UnknownFields
2072
2073	// List of text assets for headlines. When the ad serves the headlines will
2074	// be selected from this list.
2075	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
2076	// List of text assets for descriptions. When the ad serves the descriptions
2077	// will be selected from this list.
2078	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
2079	// List of image assets that may be displayed with the ad.
2080	Images []*AdImageAsset `protobuf:"bytes,3,rep,name=images,proto3" json:"images,omitempty"`
2081	// List of video assets that may be displayed with the ad.
2082	Videos []*AdVideoAsset `protobuf:"bytes,4,rep,name=videos,proto3" json:"videos,omitempty"`
2083}
2084
2085func (x *AppEngagementAdInfo) Reset() {
2086	*x = AppEngagementAdInfo{}
2087	if protoimpl.UnsafeEnabled {
2088		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[24]
2089		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2090		ms.StoreMessageInfo(mi)
2091	}
2092}
2093
2094func (x *AppEngagementAdInfo) String() string {
2095	return protoimpl.X.MessageStringOf(x)
2096}
2097
2098func (*AppEngagementAdInfo) ProtoMessage() {}
2099
2100func (x *AppEngagementAdInfo) ProtoReflect() protoreflect.Message {
2101	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[24]
2102	if protoimpl.UnsafeEnabled && x != nil {
2103		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2104		if ms.LoadMessageInfo() == nil {
2105			ms.StoreMessageInfo(mi)
2106		}
2107		return ms
2108	}
2109	return mi.MessageOf(x)
2110}
2111
2112// Deprecated: Use AppEngagementAdInfo.ProtoReflect.Descriptor instead.
2113func (*AppEngagementAdInfo) Descriptor() ([]byte, []int) {
2114	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{24}
2115}
2116
2117func (x *AppEngagementAdInfo) GetHeadlines() []*AdTextAsset {
2118	if x != nil {
2119		return x.Headlines
2120	}
2121	return nil
2122}
2123
2124func (x *AppEngagementAdInfo) GetDescriptions() []*AdTextAsset {
2125	if x != nil {
2126		return x.Descriptions
2127	}
2128	return nil
2129}
2130
2131func (x *AppEngagementAdInfo) GetImages() []*AdImageAsset {
2132	if x != nil {
2133		return x.Images
2134	}
2135	return nil
2136}
2137
2138func (x *AppEngagementAdInfo) GetVideos() []*AdVideoAsset {
2139	if x != nil {
2140		return x.Videos
2141	}
2142	return nil
2143}
2144
2145// A legacy app install ad that only can be used by a few select customers.
2146type LegacyAppInstallAdInfo struct {
2147	state         protoimpl.MessageState
2148	sizeCache     protoimpl.SizeCache
2149	unknownFields protoimpl.UnknownFields
2150
2151	// The id of the mobile app.
2152	AppId *string `protobuf:"bytes,6,opt,name=app_id,json=appId,proto3,oneof" json:"app_id,omitempty"`
2153	// The app store the mobile app is available in.
2154	AppStore enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore `protobuf:"varint,2,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v5.enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore" json:"app_store,omitempty"`
2155	// The headline of the ad.
2156	Headline *string `protobuf:"bytes,7,opt,name=headline,proto3,oneof" json:"headline,omitempty"`
2157	// The first description line of the ad.
2158	Description1 *string `protobuf:"bytes,8,opt,name=description1,proto3,oneof" json:"description1,omitempty"`
2159	// The second description line of the ad.
2160	Description2 *string `protobuf:"bytes,9,opt,name=description2,proto3,oneof" json:"description2,omitempty"`
2161}
2162
2163func (x *LegacyAppInstallAdInfo) Reset() {
2164	*x = LegacyAppInstallAdInfo{}
2165	if protoimpl.UnsafeEnabled {
2166		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[25]
2167		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2168		ms.StoreMessageInfo(mi)
2169	}
2170}
2171
2172func (x *LegacyAppInstallAdInfo) String() string {
2173	return protoimpl.X.MessageStringOf(x)
2174}
2175
2176func (*LegacyAppInstallAdInfo) ProtoMessage() {}
2177
2178func (x *LegacyAppInstallAdInfo) ProtoReflect() protoreflect.Message {
2179	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[25]
2180	if protoimpl.UnsafeEnabled && x != nil {
2181		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2182		if ms.LoadMessageInfo() == nil {
2183			ms.StoreMessageInfo(mi)
2184		}
2185		return ms
2186	}
2187	return mi.MessageOf(x)
2188}
2189
2190// Deprecated: Use LegacyAppInstallAdInfo.ProtoReflect.Descriptor instead.
2191func (*LegacyAppInstallAdInfo) Descriptor() ([]byte, []int) {
2192	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{25}
2193}
2194
2195func (x *LegacyAppInstallAdInfo) GetAppId() string {
2196	if x != nil && x.AppId != nil {
2197		return *x.AppId
2198	}
2199	return ""
2200}
2201
2202func (x *LegacyAppInstallAdInfo) GetAppStore() enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore {
2203	if x != nil {
2204		return x.AppStore
2205	}
2206	return enums.LegacyAppInstallAdAppStoreEnum_UNSPECIFIED
2207}
2208
2209func (x *LegacyAppInstallAdInfo) GetHeadline() string {
2210	if x != nil && x.Headline != nil {
2211		return *x.Headline
2212	}
2213	return ""
2214}
2215
2216func (x *LegacyAppInstallAdInfo) GetDescription1() string {
2217	if x != nil && x.Description1 != nil {
2218		return *x.Description1
2219	}
2220	return ""
2221}
2222
2223func (x *LegacyAppInstallAdInfo) GetDescription2() string {
2224	if x != nil && x.Description2 != nil {
2225		return *x.Description2
2226	}
2227	return ""
2228}
2229
2230// A responsive display ad.
2231type ResponsiveDisplayAdInfo struct {
2232	state         protoimpl.MessageState
2233	sizeCache     protoimpl.SizeCache
2234	unknownFields protoimpl.UnknownFields
2235
2236	// Marketing images to be used in the ad. Valid image types are GIF,
2237	// JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
2238	// be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
2239	// square_marketing_images the maximum is 15.
2240	MarketingImages []*AdImageAsset `protobuf:"bytes,1,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"`
2241	// Square marketing images to be used in the ad. Valid image types are GIF,
2242	// JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
2243	// be 1:1 (+-1%). At least one square marketing_image is required. Combined
2244	// with marketing_images the maximum is 15.
2245	SquareMarketingImages []*AdImageAsset `protobuf:"bytes,2,rep,name=square_marketing_images,json=squareMarketingImages,proto3" json:"square_marketing_images,omitempty"`
2246	// Logo images to be used in the ad. Valid image types are GIF,
2247	// JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
2248	// be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
2249	LogoImages []*AdImageAsset `protobuf:"bytes,3,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"`
2250	// Square logo images to be used in the ad. Valid image types are GIF,
2251	// JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
2252	// be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
2253	SquareLogoImages []*AdImageAsset `protobuf:"bytes,4,rep,name=square_logo_images,json=squareLogoImages,proto3" json:"square_logo_images,omitempty"`
2254	// Short format headlines for the ad. The maximum length is 30 characters.
2255	// At least 1 and max 5 headlines can be specified.
2256	Headlines []*AdTextAsset `protobuf:"bytes,5,rep,name=headlines,proto3" json:"headlines,omitempty"`
2257	// A required long format headline. The maximum length is 90 characters.
2258	LongHeadline *AdTextAsset `protobuf:"bytes,6,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
2259	// Descriptive texts for the ad. The maximum length is 90 characters. At
2260	// least 1 and max 5 headlines can be specified.
2261	Descriptions []*AdTextAsset `protobuf:"bytes,7,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
2262	// Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
2263	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,8,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
2264	// The advertiser/brand name. Maximum display width is 25.
2265	BusinessName *string `protobuf:"bytes,17,opt,name=business_name,json=businessName,proto3,oneof" json:"business_name,omitempty"`
2266	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
2267	// If one of main_color and accent_color is set, the other is required as
2268	// well.
2269	MainColor *string `protobuf:"bytes,18,opt,name=main_color,json=mainColor,proto3,oneof" json:"main_color,omitempty"`
2270	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
2271	// If one of main_color and accent_color is set, the other is required as
2272	// well.
2273	AccentColor *string `protobuf:"bytes,19,opt,name=accent_color,json=accentColor,proto3,oneof" json:"accent_color,omitempty"`
2274	// Advertiser's consent to allow flexible color. When true, the ad may be
2275	// served with different color if necessary. When false, the ad will be served
2276	// with the specified colors or a neutral color.
2277	// The default value is true.
2278	// Must be true if main_color and accent_color are not set.
2279	AllowFlexibleColor *bool `protobuf:"varint,20,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3,oneof" json:"allow_flexible_color,omitempty"`
2280	// The call-to-action text for the ad. Maximum display width is 30.
2281	CallToActionText *string `protobuf:"bytes,21,opt,name=call_to_action_text,json=callToActionText,proto3,oneof" json:"call_to_action_text,omitempty"`
2282	// Prefix before price. E.g. 'as low as'.
2283	PricePrefix *string `protobuf:"bytes,22,opt,name=price_prefix,json=pricePrefix,proto3,oneof" json:"price_prefix,omitempty"`
2284	// Promotion text used for dyanmic formats of responsive ads. For example
2285	// 'Free two-day shipping'.
2286	PromoText *string `protobuf:"bytes,23,opt,name=promo_text,json=promoText,proto3,oneof" json:"promo_text,omitempty"`
2287	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
2288	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,16,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v5.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
2289}
2290
2291func (x *ResponsiveDisplayAdInfo) Reset() {
2292	*x = ResponsiveDisplayAdInfo{}
2293	if protoimpl.UnsafeEnabled {
2294		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[26]
2295		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2296		ms.StoreMessageInfo(mi)
2297	}
2298}
2299
2300func (x *ResponsiveDisplayAdInfo) String() string {
2301	return protoimpl.X.MessageStringOf(x)
2302}
2303
2304func (*ResponsiveDisplayAdInfo) ProtoMessage() {}
2305
2306func (x *ResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
2307	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[26]
2308	if protoimpl.UnsafeEnabled && x != nil {
2309		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2310		if ms.LoadMessageInfo() == nil {
2311			ms.StoreMessageInfo(mi)
2312		}
2313		return ms
2314	}
2315	return mi.MessageOf(x)
2316}
2317
2318// Deprecated: Use ResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
2319func (*ResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
2320	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{26}
2321}
2322
2323func (x *ResponsiveDisplayAdInfo) GetMarketingImages() []*AdImageAsset {
2324	if x != nil {
2325		return x.MarketingImages
2326	}
2327	return nil
2328}
2329
2330func (x *ResponsiveDisplayAdInfo) GetSquareMarketingImages() []*AdImageAsset {
2331	if x != nil {
2332		return x.SquareMarketingImages
2333	}
2334	return nil
2335}
2336
2337func (x *ResponsiveDisplayAdInfo) GetLogoImages() []*AdImageAsset {
2338	if x != nil {
2339		return x.LogoImages
2340	}
2341	return nil
2342}
2343
2344func (x *ResponsiveDisplayAdInfo) GetSquareLogoImages() []*AdImageAsset {
2345	if x != nil {
2346		return x.SquareLogoImages
2347	}
2348	return nil
2349}
2350
2351func (x *ResponsiveDisplayAdInfo) GetHeadlines() []*AdTextAsset {
2352	if x != nil {
2353		return x.Headlines
2354	}
2355	return nil
2356}
2357
2358func (x *ResponsiveDisplayAdInfo) GetLongHeadline() *AdTextAsset {
2359	if x != nil {
2360		return x.LongHeadline
2361	}
2362	return nil
2363}
2364
2365func (x *ResponsiveDisplayAdInfo) GetDescriptions() []*AdTextAsset {
2366	if x != nil {
2367		return x.Descriptions
2368	}
2369	return nil
2370}
2371
2372func (x *ResponsiveDisplayAdInfo) GetYoutubeVideos() []*AdVideoAsset {
2373	if x != nil {
2374		return x.YoutubeVideos
2375	}
2376	return nil
2377}
2378
2379func (x *ResponsiveDisplayAdInfo) GetBusinessName() string {
2380	if x != nil && x.BusinessName != nil {
2381		return *x.BusinessName
2382	}
2383	return ""
2384}
2385
2386func (x *ResponsiveDisplayAdInfo) GetMainColor() string {
2387	if x != nil && x.MainColor != nil {
2388		return *x.MainColor
2389	}
2390	return ""
2391}
2392
2393func (x *ResponsiveDisplayAdInfo) GetAccentColor() string {
2394	if x != nil && x.AccentColor != nil {
2395		return *x.AccentColor
2396	}
2397	return ""
2398}
2399
2400func (x *ResponsiveDisplayAdInfo) GetAllowFlexibleColor() bool {
2401	if x != nil && x.AllowFlexibleColor != nil {
2402		return *x.AllowFlexibleColor
2403	}
2404	return false
2405}
2406
2407func (x *ResponsiveDisplayAdInfo) GetCallToActionText() string {
2408	if x != nil && x.CallToActionText != nil {
2409		return *x.CallToActionText
2410	}
2411	return ""
2412}
2413
2414func (x *ResponsiveDisplayAdInfo) GetPricePrefix() string {
2415	if x != nil && x.PricePrefix != nil {
2416		return *x.PricePrefix
2417	}
2418	return ""
2419}
2420
2421func (x *ResponsiveDisplayAdInfo) GetPromoText() string {
2422	if x != nil && x.PromoText != nil {
2423		return *x.PromoText
2424	}
2425	return ""
2426}
2427
2428func (x *ResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
2429	if x != nil {
2430		return x.FormatSetting
2431	}
2432	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
2433}
2434
2435// A local ad.
2436type LocalAdInfo struct {
2437	state         protoimpl.MessageState
2438	sizeCache     protoimpl.SizeCache
2439	unknownFields protoimpl.UnknownFields
2440
2441	// List of text assets for headlines. When the ad serves the headlines will
2442	// be selected from this list. At least 1 and at most 5 headlines must be
2443	// specified.
2444	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
2445	// List of text assets for descriptions. When the ad serves the descriptions
2446	// will be selected from this list. At least 1 and at most 5 descriptions must
2447	// be specified.
2448	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
2449	// List of text assets for call-to-actions. When the ad serves the
2450	// call-to-actions will be selected from this list. Call-to-actions are
2451	// optional and at most 5 can be specified.
2452	CallToActions []*AdTextAsset `protobuf:"bytes,3,rep,name=call_to_actions,json=callToActions,proto3" json:"call_to_actions,omitempty"`
2453	// List of marketing image assets that may be displayed with the ad. The
2454	// images must be 314x600 pixels or 320x320 pixels. At least 1 and at most
2455	// 20 image assets must be specified.
2456	MarketingImages []*AdImageAsset `protobuf:"bytes,4,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"`
2457	// List of logo image assets that may be displayed with the ad. The images
2458	// must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5
2459	// image assets must be specified.
2460	LogoImages []*AdImageAsset `protobuf:"bytes,5,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"`
2461	// List of YouTube video assets that may be displayed with the ad. Videos
2462	// are optional and at most 20 can be specified.
2463	Videos []*AdVideoAsset `protobuf:"bytes,6,rep,name=videos,proto3" json:"videos,omitempty"`
2464	// First part of optional text that may appear appended to the url displayed
2465	// in the ad.
2466	Path1 *string `protobuf:"bytes,9,opt,name=path1,proto3,oneof" json:"path1,omitempty"`
2467	// Second part of optional text that may appear appended to the url displayed
2468	// in the ad. This field can only be set when path1 is also set.
2469	Path2 *string `protobuf:"bytes,10,opt,name=path2,proto3,oneof" json:"path2,omitempty"`
2470}
2471
2472func (x *LocalAdInfo) Reset() {
2473	*x = LocalAdInfo{}
2474	if protoimpl.UnsafeEnabled {
2475		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[27]
2476		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2477		ms.StoreMessageInfo(mi)
2478	}
2479}
2480
2481func (x *LocalAdInfo) String() string {
2482	return protoimpl.X.MessageStringOf(x)
2483}
2484
2485func (*LocalAdInfo) ProtoMessage() {}
2486
2487func (x *LocalAdInfo) ProtoReflect() protoreflect.Message {
2488	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[27]
2489	if protoimpl.UnsafeEnabled && x != nil {
2490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2491		if ms.LoadMessageInfo() == nil {
2492			ms.StoreMessageInfo(mi)
2493		}
2494		return ms
2495	}
2496	return mi.MessageOf(x)
2497}
2498
2499// Deprecated: Use LocalAdInfo.ProtoReflect.Descriptor instead.
2500func (*LocalAdInfo) Descriptor() ([]byte, []int) {
2501	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{27}
2502}
2503
2504func (x *LocalAdInfo) GetHeadlines() []*AdTextAsset {
2505	if x != nil {
2506		return x.Headlines
2507	}
2508	return nil
2509}
2510
2511func (x *LocalAdInfo) GetDescriptions() []*AdTextAsset {
2512	if x != nil {
2513		return x.Descriptions
2514	}
2515	return nil
2516}
2517
2518func (x *LocalAdInfo) GetCallToActions() []*AdTextAsset {
2519	if x != nil {
2520		return x.CallToActions
2521	}
2522	return nil
2523}
2524
2525func (x *LocalAdInfo) GetMarketingImages() []*AdImageAsset {
2526	if x != nil {
2527		return x.MarketingImages
2528	}
2529	return nil
2530}
2531
2532func (x *LocalAdInfo) GetLogoImages() []*AdImageAsset {
2533	if x != nil {
2534		return x.LogoImages
2535	}
2536	return nil
2537}
2538
2539func (x *LocalAdInfo) GetVideos() []*AdVideoAsset {
2540	if x != nil {
2541		return x.Videos
2542	}
2543	return nil
2544}
2545
2546func (x *LocalAdInfo) GetPath1() string {
2547	if x != nil && x.Path1 != nil {
2548		return *x.Path1
2549	}
2550	return ""
2551}
2552
2553func (x *LocalAdInfo) GetPath2() string {
2554	if x != nil && x.Path2 != nil {
2555		return *x.Path2
2556	}
2557	return ""
2558}
2559
2560// A generic type of display ad. The exact ad format is controlled by the
2561// display_upload_product_type field, which determines what kinds of data
2562// need to be included with the ad.
2563type DisplayUploadAdInfo struct {
2564	state         protoimpl.MessageState
2565	sizeCache     protoimpl.SizeCache
2566	unknownFields protoimpl.UnknownFields
2567
2568	// The product type of this ad. See comments on the enum for details.
2569	DisplayUploadProductType enums.DisplayUploadProductTypeEnum_DisplayUploadProductType `protobuf:"varint,1,opt,name=display_upload_product_type,json=displayUploadProductType,proto3,enum=google.ads.googleads.v5.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType" json:"display_upload_product_type,omitempty"`
2570	// The asset data that makes up the ad.
2571	//
2572	// Types that are assignable to MediaAsset:
2573	//	*DisplayUploadAdInfo_MediaBundle
2574	MediaAsset isDisplayUploadAdInfo_MediaAsset `protobuf_oneof:"media_asset"`
2575}
2576
2577func (x *DisplayUploadAdInfo) Reset() {
2578	*x = DisplayUploadAdInfo{}
2579	if protoimpl.UnsafeEnabled {
2580		mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[28]
2581		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2582		ms.StoreMessageInfo(mi)
2583	}
2584}
2585
2586func (x *DisplayUploadAdInfo) String() string {
2587	return protoimpl.X.MessageStringOf(x)
2588}
2589
2590func (*DisplayUploadAdInfo) ProtoMessage() {}
2591
2592func (x *DisplayUploadAdInfo) ProtoReflect() protoreflect.Message {
2593	mi := &file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[28]
2594	if protoimpl.UnsafeEnabled && x != nil {
2595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2596		if ms.LoadMessageInfo() == nil {
2597			ms.StoreMessageInfo(mi)
2598		}
2599		return ms
2600	}
2601	return mi.MessageOf(x)
2602}
2603
2604// Deprecated: Use DisplayUploadAdInfo.ProtoReflect.Descriptor instead.
2605func (*DisplayUploadAdInfo) Descriptor() ([]byte, []int) {
2606	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP(), []int{28}
2607}
2608
2609func (x *DisplayUploadAdInfo) GetDisplayUploadProductType() enums.DisplayUploadProductTypeEnum_DisplayUploadProductType {
2610	if x != nil {
2611		return x.DisplayUploadProductType
2612	}
2613	return enums.DisplayUploadProductTypeEnum_UNSPECIFIED
2614}
2615
2616func (m *DisplayUploadAdInfo) GetMediaAsset() isDisplayUploadAdInfo_MediaAsset {
2617	if m != nil {
2618		return m.MediaAsset
2619	}
2620	return nil
2621}
2622
2623func (x *DisplayUploadAdInfo) GetMediaBundle() *AdMediaBundleAsset {
2624	if x, ok := x.GetMediaAsset().(*DisplayUploadAdInfo_MediaBundle); ok {
2625		return x.MediaBundle
2626	}
2627	return nil
2628}
2629
2630type isDisplayUploadAdInfo_MediaAsset interface {
2631	isDisplayUploadAdInfo_MediaAsset()
2632}
2633
2634type DisplayUploadAdInfo_MediaBundle struct {
2635	// A media bundle asset to be used in the ad. For information about the
2636	// media bundle for HTML5_UPLOAD_AD see
2637	// https://support.google.com/google-ads/answer/1722096
2638	// Media bundles that are part of dynamic product types use a special format
2639	// that needs to be created through the Google Web Designer. See
2640	// https://support.google.com/webdesigner/answer/7543898 for more
2641	// information.
2642	MediaBundle *AdMediaBundleAsset `protobuf:"bytes,2,opt,name=media_bundle,json=mediaBundle,proto3,oneof"`
2643}
2644
2645func (*DisplayUploadAdInfo_MediaBundle) isDisplayUploadAdInfo_MediaAsset() {}
2646
2647var File_google_ads_googleads_v5_common_ad_type_infos_proto protoreflect.FileDescriptor
2648
2649var file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDesc = []byte{
2650	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
2651	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2652	0x2f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x2e, 0x70,
2653	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2654	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
2655	0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73,
2656	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x63, 0x6f,
2657	0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72,
2658	0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
2659	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x65, 0x6e, 0x75,
2660	0x6d, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
2661	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61,
2662	0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2663	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2664	0x35, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
2665	0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
2666	0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2667	0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x35,
2668	0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75,
2669	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79,
2670	0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2671	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2672	0x35, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61,
2673	0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x64, 0x5f, 0x61, 0x70,
2674	0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67,
2675	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2676	0x61, 0x64, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x69, 0x6d,
2677	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
2678	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2679	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x0a, 0x54,
2680	0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61,
2681	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68,
2682	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65,
2683	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
2684	0x48, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31,
2685	0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2686	0x6f, 0x6e, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x64, 0x65, 0x73,
2687	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09,
2688	0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65,
2689	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64,
2690	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x8c, 0x03, 0x0a, 0x12,
2691	0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e,
2692	0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70,
2693	0x61, 0x72, 0x74, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x65,
2694	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2a,
2695	0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x32,
2696	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69,
2697	0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x68, 0x65,
2698	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x33, 0x18, 0x0a, 0x20, 0x01,
2699	0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61,
2700	0x72, 0x74, 0x33, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2701	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64,
2702	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a,
2703	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x0c, 0x20,
2704	0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2705	0x6f, 0x6e, 0x32, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x18,
2706	0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x88, 0x01,
2707	0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
2708	0x48, 0x06, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f,
2709	0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x31, 0x42,
2710	0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72,
2711	0x74, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
2712	0x70, 0x61, 0x72, 0x74, 0x33, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2713	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2714	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x31,
2715	0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x32, 0x22, 0xf5, 0x06, 0x0a, 0x0e, 0x43,
2716	0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a,
2717	0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20,
2718	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f,
2719	0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e,
2720	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70,
2721	0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a,
2722	0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f,
2723	0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
2724	0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c,
2725	0x69, 0x6e, 0x65, 0x31, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x68, 0x65,
2726	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x68, 0x65,
2727	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52,
2728	0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a,
2729	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x12, 0x20,
2730	0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2731	0x6f, 0x6e, 0x31, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2732	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0c,
2733	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x88, 0x01, 0x01, 0x12,
2734	0x26, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18,
2735	0x14, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61,
2736	0x63, 0x6b, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62,
2737	0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
2738	0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61,
2739	0x62, 0x6c, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2740	0x6e, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1d, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75,
2741	0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
2742	0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x1a, 0x70,
2743	0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69,
2744	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11,
2745	0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f,
2746	0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65,
2747	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x9a,
2748	0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
2749	0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
2750	0x01, 0x28, 0x0e, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2751	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e,
2752	0x75, 0x6d, 0x73, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
2753	0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65,
2754	0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
2755	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74,
2756	0x65, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70,
2757	0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
2758	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0f, 0x0a, 0x0d,
2759	0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x10, 0x0a,
2760	0x0e, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42,
2761	0x0c, 0x0a, 0x0a, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x42, 0x0c, 0x0a,
2762	0x0a, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
2763	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x42, 0x0f, 0x0a, 0x0d,
2764	0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x42, 0x0f, 0x0a,
2765	0x0d, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x1a,
2766	0x0a, 0x18, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f,
2767	0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x70,
2768	0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x69,
2769	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x14, 0x0a, 0x12,
2770	0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69,
2771	0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44,
2772	0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x49, 0x6e,
2773	0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
2774	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2775	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2776	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48,
2777	0x01, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x88,
2778	0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2779	0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2780	0x6f, 0x6e, 0x32, 0x22, 0x0d, 0x0a, 0x0b, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x41, 0x64, 0x49, 0x6e,
2781	0x66, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x6d,
2782	0x61, 0x72, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x68, 0x6f,
2783	0x70, 0x70, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x64, 0x49, 0x6e,
2784	0x66, 0x6f, 0x22, 0x4f, 0x0a, 0x1f, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f,
2785	0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41,
2786	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
2787	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c,
2788	0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c,
2789	0x69, 0x6e, 0x65, 0x22, 0xc1, 0x05, 0x0a, 0x0b, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x49,
2790	0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20,
2791	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2792	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
2793	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x61, 0x73, 0x65, 0x72,
2794	0x52, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64,
2795	0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
2796	0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01,
2797	0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d,
2798	0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x72,
2799	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d,
2800	0x0a, 0x18, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67,
2801	0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
2802	0x48, 0x02, 0x52, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2803	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a,
2804	0x1b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
2805	0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01,
2806	0x28, 0x09, 0x48, 0x03, 0x52, 0x19, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49,
2807	0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88,
2808	0x01, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x26, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67,
2809	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63,
2810	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
2811	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2812	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
2813	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c,
2814	0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x21, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74,
2815	0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43,
2816	0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x70,
2817	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20,
2818	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2819	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
2820	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67,
2821	0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73,
2822	0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x69, 0x64, 0x65,
2823	0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2824	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
2825	0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2826	0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56,
2827	0x69, 0x64, 0x65, 0x6f, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
2828	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65,
2829	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6d,
2830	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x68,
2831	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, 0x61, 0x72, 0x6b,
2832	0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63,
2833	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x47, 0x6d, 0x61, 0x69,
2834	0x6c, 0x54, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c,
2835	0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x65, 0x61,
2836	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
2837	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52,
2838	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12,
2839	0x28, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
2840	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65,
2841	0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6c, 0x6f, 0x67,
2842	0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52,
2843	0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a,
2844	0x09, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64,
2845	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x62,
2846	0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b,
2847	0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x13,
2848	0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74,
2849	0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
2850	0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a,
2851	0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
2852	0x48, 0x01, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01,
2853	0x12, 0x2f, 0x0a, 0x11, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
2854	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x75,
2855	0x72, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01,
2856	0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74,
2857	0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x75, 0x72,
2858	0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22,
2859	0xeb, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65,
2860	0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67,
2861	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75,
2862	0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65,
2863	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48,
2864	0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
2865	0x01, 0x12, 0x68, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c,
2866	0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
2867	0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2868	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2869	0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f,
2870	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43,
2871	0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f,
2872	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0e, 0x0a,
2873	0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4a, 0x0a,
2874	0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x28, 0x0a,
2875	0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02,
2876	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56,
2877	0x69, 0x64, 0x65, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x6f, 0x64,
2878	0x75, 0x63, 0x74, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, 0xfe, 0x04, 0x0a, 0x0b, 0x49, 0x6d,
2879	0x61, 0x67, 0x65, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x69, 0x78,
2880	0x65, 0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01,
2881	0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12,
2882	0x26, 0x0a, 0x0c, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
2883	0x10, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x48, 0x65,
2884	0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65,
2885	0x5f, 0x75, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x69, 0x6d,
2886	0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x70, 0x72, 0x65,
2887	0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68,
2888	0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
2889	0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x35,
2890	0x0a, 0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f,
2891	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x12,
2892	0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x48, 0x65, 0x69, 0x67,
2893	0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
2894	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
2895	0x48, 0x06, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65,
2896	0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
2897	0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2898	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2899	0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79,
2900	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2901	0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2902	0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88,
2903	0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65,
2904	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x46,
2905	0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28,
2906	0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x5f,
2907	0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
2908	0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x61,
2909	0x64, 0x49, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72,
2910	0x6f, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
2911	0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
2912	0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0c, 0x0a, 0x0a,
2913	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x70,
2914	0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x69, 0x64,
2915	0x74, 0x68, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70,
2916	0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f,
2917	0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72,
2918	0x6c, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x19, 0x56, 0x69,
2919	0x64, 0x65, 0x6f, 0x42, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61,
2920	0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61,
2921	0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
2922	0x09, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61,
2923	0x6e, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
2924	0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x1f,
2925	0x56, 0x69, 0x64, 0x65, 0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c,
2926	0x65, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
2927	0x2e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e,
2928	0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
2929	0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42,
2930	0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61,
2931	0x6e, 0x6e, 0x65, 0x72, 0x22, 0xf1, 0x01, 0x0a, 0x1b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72,
2932	0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64,
2933	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62,
2934	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
2935	0x09, 0x48, 0x00, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f,
2936	0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x63, 0x74,
2937	0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01,
2938	0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64,
2939	0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61,
2940	0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
2941	0x09, 0x48, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61,
2942	0x6e, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x63, 0x74, 0x69,
2943	0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42,
2944	0x12, 0x0a, 0x10, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c,
2945	0x69, 0x6e, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f,
2946	0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x7b, 0x0a, 0x14, 0x56, 0x69, 0x64, 0x65,
2947	0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f,
2948	0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
2949	0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01,
2950	0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2951	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2952	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x65, 0x61,
2953	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2954	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0x0a, 0x1c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54,
2955	0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
2956	0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69,
2957	0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64,
2958	0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2959	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52,
2960	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x88, 0x01, 0x01,
2961	0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32,
2962	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2963	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x65,
2964	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
2965	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63,
2966	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x98, 0x04, 0x0a, 0x0b, 0x56, 0x69, 0x64,
2967	0x65, 0x6f, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69,
2968	0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09,
2969	0x6d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x09,
2970	0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2971	0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2972	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2973	0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x6e,
2974	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08,
2975	0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x53, 0x0a, 0x06, 0x62, 0x75, 0x6d, 0x70,
2976	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2977	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
2978	0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42,
2979	0x75, 0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49,
2980	0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a,
2981	0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28,
2982	0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2983	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2984	0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61,
2985	0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74,
2986	0x72, 0x65, 0x61, 0x6d, 0x12, 0x66, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x69, 0x70,
2987	0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f,
2988	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2989	0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64,
2990	0x65, 0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e,
2991	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c,
2992	0x6e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5c, 0x0a, 0x09,
2993	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
2994	0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2995	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2996	0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x69,
2997	0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
2998	0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x6f,
2999	0x72, 0x6d, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x66,
3000	0x69, 0x6c, 0x65, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73,
3001	0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a,
3002	0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3003	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3004	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3005	0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68,
3006	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6c, 0x6f, 0x6e, 0x67,
3007	0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
3008	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3009	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3010	0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0d, 0x6c,
3011	0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c,
3012	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03,
3013	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
3014	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d,
3015	0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
3016	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a,
3017	0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3018	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3019	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35,
3020	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73,
3021	0x73, 0x65, 0x74, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f,
3022	0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03,
3023	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
3024	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d,
3025	0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74,
3026	0x52, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70,
3027	0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20,
3028	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
3029	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
3030	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65,
3031	0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e,
3032	0x65, 0x72, 0x73, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69,
3033	0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49,
3034	0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3035	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
3036	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
3037	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09,
3038	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73,
3039	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
3040	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3041	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
3042	0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65,
3043	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61,
3044	0x74, 0x68, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74,
3045	0x68, 0x31, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x06,
3046	0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x88, 0x01, 0x01,
3047	0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x31, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70,
3048	0x61, 0x74, 0x68, 0x32, 0x22, 0x8c, 0x08, 0x0a, 0x1d, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52,
3049	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
3050	0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f,
3051	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
3052	0x52, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88,
3053	0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c,
3054	0x69, 0x6e, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x6e,
3055	0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b,
3056	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28,
3057	0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
3058	0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f,
3059	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0c, 0x62, 0x75,
3060	0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a,
3061	0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x5f,
3062	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x12, 0x61,
3063	0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f,
3064	0x72, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63,
3065	0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x61, 0x63,
3066	0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a,
3067	0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09,
3068	0x48, 0x06, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01,
3069	0x12, 0x32, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69,
3070	0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52,
3071	0x10, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78,
3072	0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61,
3073	0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f,
3074	0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x71, 0x75, 0x61,
3075	0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20,
3076	0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67,
3077	0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x61, 0x72,
3078	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01,
3079	0x28, 0x09, 0x48, 0x0a, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49,
3080	0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x71, 0x75, 0x61, 0x72,
3081	0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67,
3082	0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x14, 0x73, 0x71, 0x75, 0x61, 0x72,
3083	0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88,
3084	0x01, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74,
3085	0x74, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f,
3086	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
3087	0x73, 0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c,
3088	0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
3089	0x67, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46,
3090	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x6f,
3091	0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x70,
3092	0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1c, 0x20, 0x01, 0x28,
3093	0x09, 0x48, 0x0c, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
3094	0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65, 0x78,
3095	0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f,
3096	0x54, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x68, 0x6f, 0x72,
3097	0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c,
3098	0x6f, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c,
3099	0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e,
3100	0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x17,
3101	0x0a, 0x15, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c,
3102	0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x63, 0x63, 0x65,
3103	0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x69,
3104	0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
3105	0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42,
3106	0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x14,
3107	0x0a, 0x12, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69,
3108	0x6d, 0x61, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69,
3109	0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x71, 0x75,
3110	0x61, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d,
3111	0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72,
3112	0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74,
3113	0x65, 0x78, 0x74, 0x22, 0xff, 0x03, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x41, 0x64, 0x49, 0x6e, 0x66,
3114	0x6f, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61,
3115	0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
3116	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3117	0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64,
3118	0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x64, 0x61,
3119	0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65,
3120	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
3121	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3122	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41,
3123	0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64,
3124	0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
3125	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3126	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3127	0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54,
3128	0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
3129	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
3130	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3131	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35,
3132	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41,
3133	0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0e,
3134	0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x05,
3135	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
3136	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63,
3137	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73,
3138	0x65, 0x74, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f,
3139	0x73, 0x12, 0x62, 0x0a, 0x13, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61,
3140	0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32,
3141	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3142	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
3143	0x41, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73, 0x73,
3144	0x65, 0x74, 0x52, 0x11, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75,
3145	0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67,
3146	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a,
3147	0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3148	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3149	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3150	0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68,
3151	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63,
3152	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
3153	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3154	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
3155	0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73,
3156	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d, 0x61,
3157	0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3158	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
3159	0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61,
3160	0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12,
3161	0x44, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
3162	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3163	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
3164	0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x76,
3165	0x69, 0x64, 0x65, 0x6f, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x16, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79,
3166	0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f,
3167	0x12, 0x1a, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
3168	0x48, 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x75, 0x0a, 0x09,
3169	0x61, 0x70, 0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
3170	0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3171	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
3172	0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
3173	0x41, 0x64, 0x41, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c,
3174	0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41,
3175	0x64, 0x41, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x08, 0x61, 0x70, 0x70, 0x53, 0x74,
3176	0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18,
3177	0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
3178	0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
3179	0x69, 0x6f, 0x6e, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x64, 0x65,
3180	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a,
3181	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x09, 0x20,
3182	0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
3183	0x6f, 0x6e, 0x32, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69,
3184	0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0f,
3185	0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x42,
3186	0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32,
3187	0x22, 0xef, 0x09, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44,
3188	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x10,
3189	0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
3190	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3191	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35,
3192	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41,
3193	0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49,
3194	0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x17, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f,
3195	0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
3196	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3197	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35,
3198	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41,
3199	0x73, 0x73, 0x65, 0x74, 0x52, 0x15, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4d, 0x61, 0x72, 0x6b,
3200	0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x6c,
3201	0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
3202	0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3203	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3204	0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0a,
3205	0x6c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x71,
3206	0x75, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
3207	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3208	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35,
3209	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41,
3210	0x73, 0x73, 0x65, 0x74, 0x52, 0x10, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67, 0x6f,
3211	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69,
3212	0x6e, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3213	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
3214	0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78,
3215	0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
3216	0x73, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69,
3217	0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3218	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
3219	0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74,
3220	0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c,
3221	0x69, 0x6e, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
3222	0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3223	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
3224	0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78,
3225	0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
3226	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f,
3227	0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
3228	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3229	0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64,
3230	0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74,
3231	0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x62, 0x75, 0x73,
3232	0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
3233	0x48, 0x00, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65,
3234	0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3235	0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43,
3236	0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e,
3237	0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52,
3238	0x0b, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12,
3239	0x35, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c,
3240	0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52,
3241	0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f,
3242	0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74,
3243	0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x15, 0x20,
3244	0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74,
3245	0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x72,
3246	0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09,
3247	0x48, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88,
3248	0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x74,
3249	0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x54,
3250	0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
3251	0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50,
3252	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3253	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44,
3254	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65,
3255	0x74, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
3256	0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
3257	0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42,
3258	0x10, 0x0a, 0x0e, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d,
3259	0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
3260	0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3261	0x72, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78,
3262	0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63,
3263	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65,
3264	0x78, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65,
3265	0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65,
3266	0x78, 0x74, 0x22, 0xb6, 0x04, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x49, 0x6e,
3267	0x66, 0x6f, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18,
3268	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
3269	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e,
3270	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73,
3271	0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a,
3272	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20,
3273	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
3274	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f,
3275	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74,
3276	0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53,
3277	0x0a, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3278	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3279	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
3280	0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41,
3281	0x73, 0x73, 0x65, 0x74, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69,
3282	0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67,
3283	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
3284	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3285	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41,
3286	0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61, 0x72,
3287	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b,
3288	0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
3289	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
3290	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
3291	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
3292	0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x76,
3293	0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
3294	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3295	0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56,
3296	0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f,
3297	0x73, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
3298	0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05,
3299	0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x70,
3300	0x61, 0x74, 0x68, 0x32, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68,
3301	0x31, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x32, 0x22, 0x93, 0x02, 0x0a, 0x13,
3302	0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x64, 0x49,
3303	0x6e, 0x66, 0x6f, 0x12, 0x93, 0x01, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
3304	0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74,
3305	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3306	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
3307	0x2e, 0x76, 0x35, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
3308	0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79,
3309	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70,
3310	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
3311	0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72,
3312	0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x65, 0x64,
3313	0x69, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3314	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3315	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
3316	0x2e, 0x41, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73,
3317	0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64,
3318	0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x61, 0x73, 0x73, 0x65,
3319	0x74, 0x42, 0xeb, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3320	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
3321	0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x10, 0x41, 0x64, 0x54, 0x79, 0x70, 0x65,
3322	0x49, 0x6e, 0x66, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f,
3323	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
3324	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3325	0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
3326	0x73, 0x2f, 0x76, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d,
3327	0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
3328	0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e,
3329	0x56, 0x35, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67,
3330	0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73,
3331	0x5c, 0x56, 0x35, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f,
3332	0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3333	0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x35, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62,
3334	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3335}
3336
3337var (
3338	file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescOnce sync.Once
3339	file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescData = file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDesc
3340)
3341
3342func file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescGZIP() []byte {
3343	file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescOnce.Do(func() {
3344		file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescData)
3345	})
3346	return file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDescData
3347}
3348
3349var file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
3350var file_google_ads_googleads_v5_common_ad_type_infos_proto_goTypes = []interface{}{
3351	(*TextAdInfo)(nil),                      // 0: google.ads.googleads.v5.common.TextAdInfo
3352	(*ExpandedTextAdInfo)(nil),              // 1: google.ads.googleads.v5.common.ExpandedTextAdInfo
3353	(*CallOnlyAdInfo)(nil),                  // 2: google.ads.googleads.v5.common.CallOnlyAdInfo
3354	(*ExpandedDynamicSearchAdInfo)(nil),     // 3: google.ads.googleads.v5.common.ExpandedDynamicSearchAdInfo
3355	(*HotelAdInfo)(nil),                     // 4: google.ads.googleads.v5.common.HotelAdInfo
3356	(*ShoppingSmartAdInfo)(nil),             // 5: google.ads.googleads.v5.common.ShoppingSmartAdInfo
3357	(*ShoppingProductAdInfo)(nil),           // 6: google.ads.googleads.v5.common.ShoppingProductAdInfo
3358	(*ShoppingComparisonListingAdInfo)(nil), // 7: google.ads.googleads.v5.common.ShoppingComparisonListingAdInfo
3359	(*GmailAdInfo)(nil),                     // 8: google.ads.googleads.v5.common.GmailAdInfo
3360	(*GmailTeaser)(nil),                     // 9: google.ads.googleads.v5.common.GmailTeaser
3361	(*DisplayCallToAction)(nil),             // 10: google.ads.googleads.v5.common.DisplayCallToAction
3362	(*ProductImage)(nil),                    // 11: google.ads.googleads.v5.common.ProductImage
3363	(*ProductVideo)(nil),                    // 12: google.ads.googleads.v5.common.ProductVideo
3364	(*ImageAdInfo)(nil),                     // 13: google.ads.googleads.v5.common.ImageAdInfo
3365	(*VideoBumperInStreamAdInfo)(nil),       // 14: google.ads.googleads.v5.common.VideoBumperInStreamAdInfo
3366	(*VideoNonSkippableInStreamAdInfo)(nil), // 15: google.ads.googleads.v5.common.VideoNonSkippableInStreamAdInfo
3367	(*VideoTrueViewInStreamAdInfo)(nil),     // 16: google.ads.googleads.v5.common.VideoTrueViewInStreamAdInfo
3368	(*VideoOutstreamAdInfo)(nil),            // 17: google.ads.googleads.v5.common.VideoOutstreamAdInfo
3369	(*VideoTrueViewDiscoveryAdInfo)(nil),    // 18: google.ads.googleads.v5.common.VideoTrueViewDiscoveryAdInfo
3370	(*VideoAdInfo)(nil),                     // 19: google.ads.googleads.v5.common.VideoAdInfo
3371	(*VideoResponsiveAdInfo)(nil),           // 20: google.ads.googleads.v5.common.VideoResponsiveAdInfo
3372	(*ResponsiveSearchAdInfo)(nil),          // 21: google.ads.googleads.v5.common.ResponsiveSearchAdInfo
3373	(*LegacyResponsiveDisplayAdInfo)(nil),   // 22: google.ads.googleads.v5.common.LegacyResponsiveDisplayAdInfo
3374	(*AppAdInfo)(nil),                       // 23: google.ads.googleads.v5.common.AppAdInfo
3375	(*AppEngagementAdInfo)(nil),             // 24: google.ads.googleads.v5.common.AppEngagementAdInfo
3376	(*LegacyAppInstallAdInfo)(nil),          // 25: google.ads.googleads.v5.common.LegacyAppInstallAdInfo
3377	(*ResponsiveDisplayAdInfo)(nil),         // 26: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo
3378	(*LocalAdInfo)(nil),                     // 27: google.ads.googleads.v5.common.LocalAdInfo
3379	(*DisplayUploadAdInfo)(nil),             // 28: google.ads.googleads.v5.common.DisplayUploadAdInfo
3380	(enums.CallConversionReportingStateEnum_CallConversionReportingState)(0), // 29: google.ads.googleads.v5.enums.CallConversionReportingStateEnum.CallConversionReportingState
3381	(enums.MimeTypeEnum_MimeType)(0),                                         // 30: google.ads.googleads.v5.enums.MimeTypeEnum.MimeType
3382	(*AdTextAsset)(nil),                                                      // 31: google.ads.googleads.v5.common.AdTextAsset
3383	(*AdVideoAsset)(nil),                                                     // 32: google.ads.googleads.v5.common.AdVideoAsset
3384	(*AdImageAsset)(nil),                                                     // 33: google.ads.googleads.v5.common.AdImageAsset
3385	(enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting)(0),             // 34: google.ads.googleads.v5.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3386	(*AdMediaBundleAsset)(nil),                                               // 35: google.ads.googleads.v5.common.AdMediaBundleAsset
3387	(enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore)(0),     // 36: google.ads.googleads.v5.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3388	(enums.DisplayUploadProductTypeEnum_DisplayUploadProductType)(0),         // 37: google.ads.googleads.v5.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3389}
3390var file_google_ads_googleads_v5_common_ad_type_infos_proto_depIdxs = []int32{
3391	29, // 0: google.ads.googleads.v5.common.CallOnlyAdInfo.conversion_reporting_state:type_name -> google.ads.googleads.v5.enums.CallConversionReportingStateEnum.CallConversionReportingState
3392	9,  // 1: google.ads.googleads.v5.common.GmailAdInfo.teaser:type_name -> google.ads.googleads.v5.common.GmailTeaser
3393	10, // 2: google.ads.googleads.v5.common.GmailAdInfo.marketing_image_display_call_to_action:type_name -> google.ads.googleads.v5.common.DisplayCallToAction
3394	11, // 3: google.ads.googleads.v5.common.GmailAdInfo.product_images:type_name -> google.ads.googleads.v5.common.ProductImage
3395	12, // 4: google.ads.googleads.v5.common.GmailAdInfo.product_videos:type_name -> google.ads.googleads.v5.common.ProductVideo
3396	10, // 5: google.ads.googleads.v5.common.ProductImage.display_call_to_action:type_name -> google.ads.googleads.v5.common.DisplayCallToAction
3397	30, // 6: google.ads.googleads.v5.common.ImageAdInfo.mime_type:type_name -> google.ads.googleads.v5.enums.MimeTypeEnum.MimeType
3398	16, // 7: google.ads.googleads.v5.common.VideoAdInfo.in_stream:type_name -> google.ads.googleads.v5.common.VideoTrueViewInStreamAdInfo
3399	14, // 8: google.ads.googleads.v5.common.VideoAdInfo.bumper:type_name -> google.ads.googleads.v5.common.VideoBumperInStreamAdInfo
3400	17, // 9: google.ads.googleads.v5.common.VideoAdInfo.out_stream:type_name -> google.ads.googleads.v5.common.VideoOutstreamAdInfo
3401	15, // 10: google.ads.googleads.v5.common.VideoAdInfo.non_skippable:type_name -> google.ads.googleads.v5.common.VideoNonSkippableInStreamAdInfo
3402	18, // 11: google.ads.googleads.v5.common.VideoAdInfo.discovery:type_name -> google.ads.googleads.v5.common.VideoTrueViewDiscoveryAdInfo
3403	31, // 12: google.ads.googleads.v5.common.VideoResponsiveAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3404	31, // 13: google.ads.googleads.v5.common.VideoResponsiveAdInfo.long_headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3405	31, // 14: google.ads.googleads.v5.common.VideoResponsiveAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3406	31, // 15: google.ads.googleads.v5.common.VideoResponsiveAdInfo.call_to_actions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3407	32, // 16: google.ads.googleads.v5.common.VideoResponsiveAdInfo.videos:type_name -> google.ads.googleads.v5.common.AdVideoAsset
3408	33, // 17: google.ads.googleads.v5.common.VideoResponsiveAdInfo.companion_banners:type_name -> google.ads.googleads.v5.common.AdImageAsset
3409	31, // 18: google.ads.googleads.v5.common.ResponsiveSearchAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3410	31, // 19: google.ads.googleads.v5.common.ResponsiveSearchAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3411	34, // 20: google.ads.googleads.v5.common.LegacyResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v5.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3412	31, // 21: google.ads.googleads.v5.common.AppAdInfo.mandatory_ad_text:type_name -> google.ads.googleads.v5.common.AdTextAsset
3413	31, // 22: google.ads.googleads.v5.common.AppAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3414	31, // 23: google.ads.googleads.v5.common.AppAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3415	33, // 24: google.ads.googleads.v5.common.AppAdInfo.images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3416	32, // 25: google.ads.googleads.v5.common.AppAdInfo.youtube_videos:type_name -> google.ads.googleads.v5.common.AdVideoAsset
3417	35, // 26: google.ads.googleads.v5.common.AppAdInfo.html5_media_bundles:type_name -> google.ads.googleads.v5.common.AdMediaBundleAsset
3418	31, // 27: google.ads.googleads.v5.common.AppEngagementAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3419	31, // 28: google.ads.googleads.v5.common.AppEngagementAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3420	33, // 29: google.ads.googleads.v5.common.AppEngagementAdInfo.images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3421	32, // 30: google.ads.googleads.v5.common.AppEngagementAdInfo.videos:type_name -> google.ads.googleads.v5.common.AdVideoAsset
3422	36, // 31: google.ads.googleads.v5.common.LegacyAppInstallAdInfo.app_store:type_name -> google.ads.googleads.v5.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3423	33, // 32: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.marketing_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3424	33, // 33: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.square_marketing_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3425	33, // 34: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.logo_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3426	33, // 35: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.square_logo_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3427	31, // 36: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3428	31, // 37: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.long_headline:type_name -> google.ads.googleads.v5.common.AdTextAsset
3429	31, // 38: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3430	32, // 39: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.youtube_videos:type_name -> google.ads.googleads.v5.common.AdVideoAsset
3431	34, // 40: google.ads.googleads.v5.common.ResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v5.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3432	31, // 41: google.ads.googleads.v5.common.LocalAdInfo.headlines:type_name -> google.ads.googleads.v5.common.AdTextAsset
3433	31, // 42: google.ads.googleads.v5.common.LocalAdInfo.descriptions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3434	31, // 43: google.ads.googleads.v5.common.LocalAdInfo.call_to_actions:type_name -> google.ads.googleads.v5.common.AdTextAsset
3435	33, // 44: google.ads.googleads.v5.common.LocalAdInfo.marketing_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3436	33, // 45: google.ads.googleads.v5.common.LocalAdInfo.logo_images:type_name -> google.ads.googleads.v5.common.AdImageAsset
3437	32, // 46: google.ads.googleads.v5.common.LocalAdInfo.videos:type_name -> google.ads.googleads.v5.common.AdVideoAsset
3438	37, // 47: google.ads.googleads.v5.common.DisplayUploadAdInfo.display_upload_product_type:type_name -> google.ads.googleads.v5.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3439	35, // 48: google.ads.googleads.v5.common.DisplayUploadAdInfo.media_bundle:type_name -> google.ads.googleads.v5.common.AdMediaBundleAsset
3440	49, // [49:49] is the sub-list for method output_type
3441	49, // [49:49] is the sub-list for method input_type
3442	49, // [49:49] is the sub-list for extension type_name
3443	49, // [49:49] is the sub-list for extension extendee
3444	0,  // [0:49] is the sub-list for field type_name
3445}
3446
3447func init() { file_google_ads_googleads_v5_common_ad_type_infos_proto_init() }
3448func file_google_ads_googleads_v5_common_ad_type_infos_proto_init() {
3449	if File_google_ads_googleads_v5_common_ad_type_infos_proto != nil {
3450		return
3451	}
3452	file_google_ads_googleads_v5_common_ad_asset_proto_init()
3453	if !protoimpl.UnsafeEnabled {
3454		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3455			switch v := v.(*TextAdInfo); i {
3456			case 0:
3457				return &v.state
3458			case 1:
3459				return &v.sizeCache
3460			case 2:
3461				return &v.unknownFields
3462			default:
3463				return nil
3464			}
3465		}
3466		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3467			switch v := v.(*ExpandedTextAdInfo); i {
3468			case 0:
3469				return &v.state
3470			case 1:
3471				return &v.sizeCache
3472			case 2:
3473				return &v.unknownFields
3474			default:
3475				return nil
3476			}
3477		}
3478		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3479			switch v := v.(*CallOnlyAdInfo); i {
3480			case 0:
3481				return &v.state
3482			case 1:
3483				return &v.sizeCache
3484			case 2:
3485				return &v.unknownFields
3486			default:
3487				return nil
3488			}
3489		}
3490		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3491			switch v := v.(*ExpandedDynamicSearchAdInfo); i {
3492			case 0:
3493				return &v.state
3494			case 1:
3495				return &v.sizeCache
3496			case 2:
3497				return &v.unknownFields
3498			default:
3499				return nil
3500			}
3501		}
3502		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3503			switch v := v.(*HotelAdInfo); i {
3504			case 0:
3505				return &v.state
3506			case 1:
3507				return &v.sizeCache
3508			case 2:
3509				return &v.unknownFields
3510			default:
3511				return nil
3512			}
3513		}
3514		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3515			switch v := v.(*ShoppingSmartAdInfo); i {
3516			case 0:
3517				return &v.state
3518			case 1:
3519				return &v.sizeCache
3520			case 2:
3521				return &v.unknownFields
3522			default:
3523				return nil
3524			}
3525		}
3526		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3527			switch v := v.(*ShoppingProductAdInfo); i {
3528			case 0:
3529				return &v.state
3530			case 1:
3531				return &v.sizeCache
3532			case 2:
3533				return &v.unknownFields
3534			default:
3535				return nil
3536			}
3537		}
3538		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3539			switch v := v.(*ShoppingComparisonListingAdInfo); i {
3540			case 0:
3541				return &v.state
3542			case 1:
3543				return &v.sizeCache
3544			case 2:
3545				return &v.unknownFields
3546			default:
3547				return nil
3548			}
3549		}
3550		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3551			switch v := v.(*GmailAdInfo); i {
3552			case 0:
3553				return &v.state
3554			case 1:
3555				return &v.sizeCache
3556			case 2:
3557				return &v.unknownFields
3558			default:
3559				return nil
3560			}
3561		}
3562		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3563			switch v := v.(*GmailTeaser); i {
3564			case 0:
3565				return &v.state
3566			case 1:
3567				return &v.sizeCache
3568			case 2:
3569				return &v.unknownFields
3570			default:
3571				return nil
3572			}
3573		}
3574		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3575			switch v := v.(*DisplayCallToAction); i {
3576			case 0:
3577				return &v.state
3578			case 1:
3579				return &v.sizeCache
3580			case 2:
3581				return &v.unknownFields
3582			default:
3583				return nil
3584			}
3585		}
3586		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3587			switch v := v.(*ProductImage); i {
3588			case 0:
3589				return &v.state
3590			case 1:
3591				return &v.sizeCache
3592			case 2:
3593				return &v.unknownFields
3594			default:
3595				return nil
3596			}
3597		}
3598		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3599			switch v := v.(*ProductVideo); i {
3600			case 0:
3601				return &v.state
3602			case 1:
3603				return &v.sizeCache
3604			case 2:
3605				return &v.unknownFields
3606			default:
3607				return nil
3608			}
3609		}
3610		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3611			switch v := v.(*ImageAdInfo); i {
3612			case 0:
3613				return &v.state
3614			case 1:
3615				return &v.sizeCache
3616			case 2:
3617				return &v.unknownFields
3618			default:
3619				return nil
3620			}
3621		}
3622		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3623			switch v := v.(*VideoBumperInStreamAdInfo); i {
3624			case 0:
3625				return &v.state
3626			case 1:
3627				return &v.sizeCache
3628			case 2:
3629				return &v.unknownFields
3630			default:
3631				return nil
3632			}
3633		}
3634		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3635			switch v := v.(*VideoNonSkippableInStreamAdInfo); i {
3636			case 0:
3637				return &v.state
3638			case 1:
3639				return &v.sizeCache
3640			case 2:
3641				return &v.unknownFields
3642			default:
3643				return nil
3644			}
3645		}
3646		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3647			switch v := v.(*VideoTrueViewInStreamAdInfo); i {
3648			case 0:
3649				return &v.state
3650			case 1:
3651				return &v.sizeCache
3652			case 2:
3653				return &v.unknownFields
3654			default:
3655				return nil
3656			}
3657		}
3658		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3659			switch v := v.(*VideoOutstreamAdInfo); i {
3660			case 0:
3661				return &v.state
3662			case 1:
3663				return &v.sizeCache
3664			case 2:
3665				return &v.unknownFields
3666			default:
3667				return nil
3668			}
3669		}
3670		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3671			switch v := v.(*VideoTrueViewDiscoveryAdInfo); i {
3672			case 0:
3673				return &v.state
3674			case 1:
3675				return &v.sizeCache
3676			case 2:
3677				return &v.unknownFields
3678			default:
3679				return nil
3680			}
3681		}
3682		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3683			switch v := v.(*VideoAdInfo); i {
3684			case 0:
3685				return &v.state
3686			case 1:
3687				return &v.sizeCache
3688			case 2:
3689				return &v.unknownFields
3690			default:
3691				return nil
3692			}
3693		}
3694		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3695			switch v := v.(*VideoResponsiveAdInfo); i {
3696			case 0:
3697				return &v.state
3698			case 1:
3699				return &v.sizeCache
3700			case 2:
3701				return &v.unknownFields
3702			default:
3703				return nil
3704			}
3705		}
3706		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3707			switch v := v.(*ResponsiveSearchAdInfo); i {
3708			case 0:
3709				return &v.state
3710			case 1:
3711				return &v.sizeCache
3712			case 2:
3713				return &v.unknownFields
3714			default:
3715				return nil
3716			}
3717		}
3718		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3719			switch v := v.(*LegacyResponsiveDisplayAdInfo); i {
3720			case 0:
3721				return &v.state
3722			case 1:
3723				return &v.sizeCache
3724			case 2:
3725				return &v.unknownFields
3726			default:
3727				return nil
3728			}
3729		}
3730		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3731			switch v := v.(*AppAdInfo); i {
3732			case 0:
3733				return &v.state
3734			case 1:
3735				return &v.sizeCache
3736			case 2:
3737				return &v.unknownFields
3738			default:
3739				return nil
3740			}
3741		}
3742		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3743			switch v := v.(*AppEngagementAdInfo); i {
3744			case 0:
3745				return &v.state
3746			case 1:
3747				return &v.sizeCache
3748			case 2:
3749				return &v.unknownFields
3750			default:
3751				return nil
3752			}
3753		}
3754		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3755			switch v := v.(*LegacyAppInstallAdInfo); i {
3756			case 0:
3757				return &v.state
3758			case 1:
3759				return &v.sizeCache
3760			case 2:
3761				return &v.unknownFields
3762			default:
3763				return nil
3764			}
3765		}
3766		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3767			switch v := v.(*ResponsiveDisplayAdInfo); i {
3768			case 0:
3769				return &v.state
3770			case 1:
3771				return &v.sizeCache
3772			case 2:
3773				return &v.unknownFields
3774			default:
3775				return nil
3776			}
3777		}
3778		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
3779			switch v := v.(*LocalAdInfo); i {
3780			case 0:
3781				return &v.state
3782			case 1:
3783				return &v.sizeCache
3784			case 2:
3785				return &v.unknownFields
3786			default:
3787				return nil
3788			}
3789		}
3790		file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
3791			switch v := v.(*DisplayUploadAdInfo); i {
3792			case 0:
3793				return &v.state
3794			case 1:
3795				return &v.sizeCache
3796			case 2:
3797				return &v.unknownFields
3798			default:
3799				return nil
3800			}
3801		}
3802	}
3803	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[0].OneofWrappers = []interface{}{}
3804	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[1].OneofWrappers = []interface{}{}
3805	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[2].OneofWrappers = []interface{}{}
3806	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[3].OneofWrappers = []interface{}{}
3807	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[7].OneofWrappers = []interface{}{}
3808	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[8].OneofWrappers = []interface{}{}
3809	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[9].OneofWrappers = []interface{}{}
3810	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[10].OneofWrappers = []interface{}{}
3811	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[11].OneofWrappers = []interface{}{}
3812	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[12].OneofWrappers = []interface{}{}
3813	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[13].OneofWrappers = []interface{}{
3814		(*ImageAdInfo_MediaFile)(nil),
3815		(*ImageAdInfo_Data)(nil),
3816		(*ImageAdInfo_AdIdToCopyImageFrom)(nil),
3817	}
3818	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[14].OneofWrappers = []interface{}{}
3819	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[15].OneofWrappers = []interface{}{}
3820	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[16].OneofWrappers = []interface{}{}
3821	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[17].OneofWrappers = []interface{}{}
3822	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[18].OneofWrappers = []interface{}{}
3823	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[19].OneofWrappers = []interface{}{
3824		(*VideoAdInfo_InStream)(nil),
3825		(*VideoAdInfo_Bumper)(nil),
3826		(*VideoAdInfo_OutStream)(nil),
3827		(*VideoAdInfo_NonSkippable)(nil),
3828		(*VideoAdInfo_Discovery)(nil),
3829	}
3830	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[21].OneofWrappers = []interface{}{}
3831	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[22].OneofWrappers = []interface{}{}
3832	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[25].OneofWrappers = []interface{}{}
3833	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[26].OneofWrappers = []interface{}{}
3834	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[27].OneofWrappers = []interface{}{}
3835	file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes[28].OneofWrappers = []interface{}{
3836		(*DisplayUploadAdInfo_MediaBundle)(nil),
3837	}
3838	type x struct{}
3839	out := protoimpl.TypeBuilder{
3840		File: protoimpl.DescBuilder{
3841			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3842			RawDescriptor: file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDesc,
3843			NumEnums:      0,
3844			NumMessages:   29,
3845			NumExtensions: 0,
3846			NumServices:   0,
3847		},
3848		GoTypes:           file_google_ads_googleads_v5_common_ad_type_infos_proto_goTypes,
3849		DependencyIndexes: file_google_ads_googleads_v5_common_ad_type_infos_proto_depIdxs,
3850		MessageInfos:      file_google_ads_googleads_v5_common_ad_type_infos_proto_msgTypes,
3851	}.Build()
3852	File_google_ads_googleads_v5_common_ad_type_infos_proto = out.File
3853	file_google_ads_googleads_v5_common_ad_type_infos_proto_rawDesc = nil
3854	file_google_ads_googleads_v5_common_ad_type_infos_proto_goTypes = nil
3855	file_google_ads_googleads_v5_common_ad_type_infos_proto_depIdxs = nil
3856}
3857