1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/ads/googleads/v2/common/bidding.proto
3
4package common
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27// Commission is an automatic bidding strategy in which the advertiser pays a
28// certain portion of the conversion value.
29type Commission struct {
30	// Commission rate defines the portion of the conversion value that the
31	// advertiser will be billed. A commission rate of x should be passed into
32	// this field as (x * 1,000,000). For example, 106,000 represents a commission
33	// rate of 0.106 (10.6%).
34	CommissionRateMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=commission_rate_micros,json=commissionRateMicros,proto3" json:"commission_rate_micros,omitempty"`
35	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
36	XXX_unrecognized     []byte               `json:"-"`
37	XXX_sizecache        int32                `json:"-"`
38}
39
40func (m *Commission) Reset()         { *m = Commission{} }
41func (m *Commission) String() string { return proto.CompactTextString(m) }
42func (*Commission) ProtoMessage()    {}
43func (*Commission) Descriptor() ([]byte, []int) {
44	return fileDescriptor_4aa9bf865024275f, []int{0}
45}
46
47func (m *Commission) XXX_Unmarshal(b []byte) error {
48	return xxx_messageInfo_Commission.Unmarshal(m, b)
49}
50func (m *Commission) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
51	return xxx_messageInfo_Commission.Marshal(b, m, deterministic)
52}
53func (m *Commission) XXX_Merge(src proto.Message) {
54	xxx_messageInfo_Commission.Merge(m, src)
55}
56func (m *Commission) XXX_Size() int {
57	return xxx_messageInfo_Commission.Size(m)
58}
59func (m *Commission) XXX_DiscardUnknown() {
60	xxx_messageInfo_Commission.DiscardUnknown(m)
61}
62
63var xxx_messageInfo_Commission proto.InternalMessageInfo
64
65func (m *Commission) GetCommissionRateMicros() *wrappers.Int64Value {
66	if m != nil {
67		return m.CommissionRateMicros
68	}
69	return nil
70}
71
72// An automated bidding strategy that raises bids for clicks
73// that seem more likely to lead to a conversion and lowers
74// them for clicks where they seem less likely.
75type EnhancedCpc struct {
76	XXX_NoUnkeyedLiteral struct{} `json:"-"`
77	XXX_unrecognized     []byte   `json:"-"`
78	XXX_sizecache        int32    `json:"-"`
79}
80
81func (m *EnhancedCpc) Reset()         { *m = EnhancedCpc{} }
82func (m *EnhancedCpc) String() string { return proto.CompactTextString(m) }
83func (*EnhancedCpc) ProtoMessage()    {}
84func (*EnhancedCpc) Descriptor() ([]byte, []int) {
85	return fileDescriptor_4aa9bf865024275f, []int{1}
86}
87
88func (m *EnhancedCpc) XXX_Unmarshal(b []byte) error {
89	return xxx_messageInfo_EnhancedCpc.Unmarshal(m, b)
90}
91func (m *EnhancedCpc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
92	return xxx_messageInfo_EnhancedCpc.Marshal(b, m, deterministic)
93}
94func (m *EnhancedCpc) XXX_Merge(src proto.Message) {
95	xxx_messageInfo_EnhancedCpc.Merge(m, src)
96}
97func (m *EnhancedCpc) XXX_Size() int {
98	return xxx_messageInfo_EnhancedCpc.Size(m)
99}
100func (m *EnhancedCpc) XXX_DiscardUnknown() {
101	xxx_messageInfo_EnhancedCpc.DiscardUnknown(m)
102}
103
104var xxx_messageInfo_EnhancedCpc proto.InternalMessageInfo
105
106// Manual click-based bidding where user pays per click.
107type ManualCpc struct {
108	// Whether bids are to be enhanced based on conversion optimizer data.
109	EnhancedCpcEnabled   *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enhanced_cpc_enabled,json=enhancedCpcEnabled,proto3" json:"enhanced_cpc_enabled,omitempty"`
110	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
111	XXX_unrecognized     []byte              `json:"-"`
112	XXX_sizecache        int32               `json:"-"`
113}
114
115func (m *ManualCpc) Reset()         { *m = ManualCpc{} }
116func (m *ManualCpc) String() string { return proto.CompactTextString(m) }
117func (*ManualCpc) ProtoMessage()    {}
118func (*ManualCpc) Descriptor() ([]byte, []int) {
119	return fileDescriptor_4aa9bf865024275f, []int{2}
120}
121
122func (m *ManualCpc) XXX_Unmarshal(b []byte) error {
123	return xxx_messageInfo_ManualCpc.Unmarshal(m, b)
124}
125func (m *ManualCpc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
126	return xxx_messageInfo_ManualCpc.Marshal(b, m, deterministic)
127}
128func (m *ManualCpc) XXX_Merge(src proto.Message) {
129	xxx_messageInfo_ManualCpc.Merge(m, src)
130}
131func (m *ManualCpc) XXX_Size() int {
132	return xxx_messageInfo_ManualCpc.Size(m)
133}
134func (m *ManualCpc) XXX_DiscardUnknown() {
135	xxx_messageInfo_ManualCpc.DiscardUnknown(m)
136}
137
138var xxx_messageInfo_ManualCpc proto.InternalMessageInfo
139
140func (m *ManualCpc) GetEnhancedCpcEnabled() *wrappers.BoolValue {
141	if m != nil {
142		return m.EnhancedCpcEnabled
143	}
144	return nil
145}
146
147// Manual impression-based bidding where user pays per thousand impressions.
148type ManualCpm struct {
149	XXX_NoUnkeyedLiteral struct{} `json:"-"`
150	XXX_unrecognized     []byte   `json:"-"`
151	XXX_sizecache        int32    `json:"-"`
152}
153
154func (m *ManualCpm) Reset()         { *m = ManualCpm{} }
155func (m *ManualCpm) String() string { return proto.CompactTextString(m) }
156func (*ManualCpm) ProtoMessage()    {}
157func (*ManualCpm) Descriptor() ([]byte, []int) {
158	return fileDescriptor_4aa9bf865024275f, []int{3}
159}
160
161func (m *ManualCpm) XXX_Unmarshal(b []byte) error {
162	return xxx_messageInfo_ManualCpm.Unmarshal(m, b)
163}
164func (m *ManualCpm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
165	return xxx_messageInfo_ManualCpm.Marshal(b, m, deterministic)
166}
167func (m *ManualCpm) XXX_Merge(src proto.Message) {
168	xxx_messageInfo_ManualCpm.Merge(m, src)
169}
170func (m *ManualCpm) XXX_Size() int {
171	return xxx_messageInfo_ManualCpm.Size(m)
172}
173func (m *ManualCpm) XXX_DiscardUnknown() {
174	xxx_messageInfo_ManualCpm.DiscardUnknown(m)
175}
176
177var xxx_messageInfo_ManualCpm proto.InternalMessageInfo
178
179// View based bidding where user pays per video view.
180type ManualCpv struct {
181	XXX_NoUnkeyedLiteral struct{} `json:"-"`
182	XXX_unrecognized     []byte   `json:"-"`
183	XXX_sizecache        int32    `json:"-"`
184}
185
186func (m *ManualCpv) Reset()         { *m = ManualCpv{} }
187func (m *ManualCpv) String() string { return proto.CompactTextString(m) }
188func (*ManualCpv) ProtoMessage()    {}
189func (*ManualCpv) Descriptor() ([]byte, []int) {
190	return fileDescriptor_4aa9bf865024275f, []int{4}
191}
192
193func (m *ManualCpv) XXX_Unmarshal(b []byte) error {
194	return xxx_messageInfo_ManualCpv.Unmarshal(m, b)
195}
196func (m *ManualCpv) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
197	return xxx_messageInfo_ManualCpv.Marshal(b, m, deterministic)
198}
199func (m *ManualCpv) XXX_Merge(src proto.Message) {
200	xxx_messageInfo_ManualCpv.Merge(m, src)
201}
202func (m *ManualCpv) XXX_Size() int {
203	return xxx_messageInfo_ManualCpv.Size(m)
204}
205func (m *ManualCpv) XXX_DiscardUnknown() {
206	xxx_messageInfo_ManualCpv.DiscardUnknown(m)
207}
208
209var xxx_messageInfo_ManualCpv proto.InternalMessageInfo
210
211// An automated bidding strategy that sets bids to help get the most conversions
212// for your campaign while spending your budget.
213type MaximizeConversions struct {
214	XXX_NoUnkeyedLiteral struct{} `json:"-"`
215	XXX_unrecognized     []byte   `json:"-"`
216	XXX_sizecache        int32    `json:"-"`
217}
218
219func (m *MaximizeConversions) Reset()         { *m = MaximizeConversions{} }
220func (m *MaximizeConversions) String() string { return proto.CompactTextString(m) }
221func (*MaximizeConversions) ProtoMessage()    {}
222func (*MaximizeConversions) Descriptor() ([]byte, []int) {
223	return fileDescriptor_4aa9bf865024275f, []int{5}
224}
225
226func (m *MaximizeConversions) XXX_Unmarshal(b []byte) error {
227	return xxx_messageInfo_MaximizeConversions.Unmarshal(m, b)
228}
229func (m *MaximizeConversions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
230	return xxx_messageInfo_MaximizeConversions.Marshal(b, m, deterministic)
231}
232func (m *MaximizeConversions) XXX_Merge(src proto.Message) {
233	xxx_messageInfo_MaximizeConversions.Merge(m, src)
234}
235func (m *MaximizeConversions) XXX_Size() int {
236	return xxx_messageInfo_MaximizeConversions.Size(m)
237}
238func (m *MaximizeConversions) XXX_DiscardUnknown() {
239	xxx_messageInfo_MaximizeConversions.DiscardUnknown(m)
240}
241
242var xxx_messageInfo_MaximizeConversions proto.InternalMessageInfo
243
244// An automated bidding strategy which tries to maximize conversion value
245// given a daily budget.
246type MaximizeConversionValue struct {
247	// The target return on ad spend (ROAS) option. If set, the bid strategy will
248	// maximize revenue while averaging the target return on ad spend. If the
249	// target ROAS is high, the bid strategy may not be able to spend the full
250	// budget. If the target ROAS is not set, the bid strategy will aim to
251	// achieve the highest possible ROAS for the budget.
252	TargetRoas           *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=target_roas,json=targetRoas,proto3" json:"target_roas,omitempty"`
253	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
254	XXX_unrecognized     []byte                `json:"-"`
255	XXX_sizecache        int32                 `json:"-"`
256}
257
258func (m *MaximizeConversionValue) Reset()         { *m = MaximizeConversionValue{} }
259func (m *MaximizeConversionValue) String() string { return proto.CompactTextString(m) }
260func (*MaximizeConversionValue) ProtoMessage()    {}
261func (*MaximizeConversionValue) Descriptor() ([]byte, []int) {
262	return fileDescriptor_4aa9bf865024275f, []int{6}
263}
264
265func (m *MaximizeConversionValue) XXX_Unmarshal(b []byte) error {
266	return xxx_messageInfo_MaximizeConversionValue.Unmarshal(m, b)
267}
268func (m *MaximizeConversionValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
269	return xxx_messageInfo_MaximizeConversionValue.Marshal(b, m, deterministic)
270}
271func (m *MaximizeConversionValue) XXX_Merge(src proto.Message) {
272	xxx_messageInfo_MaximizeConversionValue.Merge(m, src)
273}
274func (m *MaximizeConversionValue) XXX_Size() int {
275	return xxx_messageInfo_MaximizeConversionValue.Size(m)
276}
277func (m *MaximizeConversionValue) XXX_DiscardUnknown() {
278	xxx_messageInfo_MaximizeConversionValue.DiscardUnknown(m)
279}
280
281var xxx_messageInfo_MaximizeConversionValue proto.InternalMessageInfo
282
283func (m *MaximizeConversionValue) GetTargetRoas() *wrappers.DoubleValue {
284	if m != nil {
285		return m.TargetRoas
286	}
287	return nil
288}
289
290// An automated bidding strategy which sets CPC bids to target impressions on
291// page one, or page one promoted slots on google.com.
292// This strategy is deprecated.
293type PageOnePromoted struct {
294	// The strategy goal of where impressions are desired to be shown on
295	// search result pages.
296	StrategyGoal enums.PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal `protobuf:"varint,1,opt,name=strategy_goal,json=strategyGoal,proto3,enum=google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal" json:"strategy_goal,omitempty"`
297	// Maximum bid limit that can be set by the bid strategy.
298	// The limit applies to all keywords managed by the strategy.
299	CpcBidCeilingMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
300	// Bid multiplier to be applied to the relevant bid estimate (depending on
301	// the `strategy_goal`) in determining a keyword's new CPC bid.
302	BidModifier *wrappers.DoubleValue `protobuf:"bytes,3,opt,name=bid_modifier,json=bidModifier,proto3" json:"bid_modifier,omitempty"`
303	// Whether the strategy should always follow bid estimate changes, or only
304	// increase.
305	// If false, always sets a keyword's new bid to the current bid estimate.
306	// If true, only updates a keyword's bid if the current bid estimate is
307	// greater than the current bid.
308	OnlyRaiseCpcBids *wrappers.BoolValue `protobuf:"bytes,4,opt,name=only_raise_cpc_bids,json=onlyRaiseCpcBids,proto3" json:"only_raise_cpc_bids,omitempty"`
309	// Whether the strategy is allowed to raise bids when the throttling
310	// rate of the budget it is serving out of rises above a threshold.
311	RaiseCpcBidWhenBudgetConstrained *wrappers.BoolValue `protobuf:"bytes,5,opt,name=raise_cpc_bid_when_budget_constrained,json=raiseCpcBidWhenBudgetConstrained,proto3" json:"raise_cpc_bid_when_budget_constrained,omitempty"`
312	// Whether the strategy is allowed to raise bids on keywords with
313	// lower-range quality scores.
314	RaiseCpcBidWhenQualityScoreIsLow *wrappers.BoolValue `protobuf:"bytes,6,opt,name=raise_cpc_bid_when_quality_score_is_low,json=raiseCpcBidWhenQualityScoreIsLow,proto3" json:"raise_cpc_bid_when_quality_score_is_low,omitempty"`
315	XXX_NoUnkeyedLiteral             struct{}            `json:"-"`
316	XXX_unrecognized                 []byte              `json:"-"`
317	XXX_sizecache                    int32               `json:"-"`
318}
319
320func (m *PageOnePromoted) Reset()         { *m = PageOnePromoted{} }
321func (m *PageOnePromoted) String() string { return proto.CompactTextString(m) }
322func (*PageOnePromoted) ProtoMessage()    {}
323func (*PageOnePromoted) Descriptor() ([]byte, []int) {
324	return fileDescriptor_4aa9bf865024275f, []int{7}
325}
326
327func (m *PageOnePromoted) XXX_Unmarshal(b []byte) error {
328	return xxx_messageInfo_PageOnePromoted.Unmarshal(m, b)
329}
330func (m *PageOnePromoted) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
331	return xxx_messageInfo_PageOnePromoted.Marshal(b, m, deterministic)
332}
333func (m *PageOnePromoted) XXX_Merge(src proto.Message) {
334	xxx_messageInfo_PageOnePromoted.Merge(m, src)
335}
336func (m *PageOnePromoted) XXX_Size() int {
337	return xxx_messageInfo_PageOnePromoted.Size(m)
338}
339func (m *PageOnePromoted) XXX_DiscardUnknown() {
340	xxx_messageInfo_PageOnePromoted.DiscardUnknown(m)
341}
342
343var xxx_messageInfo_PageOnePromoted proto.InternalMessageInfo
344
345func (m *PageOnePromoted) GetStrategyGoal() enums.PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal {
346	if m != nil {
347		return m.StrategyGoal
348	}
349	return enums.PageOnePromotedStrategyGoalEnum_UNSPECIFIED
350}
351
352func (m *PageOnePromoted) GetCpcBidCeilingMicros() *wrappers.Int64Value {
353	if m != nil {
354		return m.CpcBidCeilingMicros
355	}
356	return nil
357}
358
359func (m *PageOnePromoted) GetBidModifier() *wrappers.DoubleValue {
360	if m != nil {
361		return m.BidModifier
362	}
363	return nil
364}
365
366func (m *PageOnePromoted) GetOnlyRaiseCpcBids() *wrappers.BoolValue {
367	if m != nil {
368		return m.OnlyRaiseCpcBids
369	}
370	return nil
371}
372
373func (m *PageOnePromoted) GetRaiseCpcBidWhenBudgetConstrained() *wrappers.BoolValue {
374	if m != nil {
375		return m.RaiseCpcBidWhenBudgetConstrained
376	}
377	return nil
378}
379
380func (m *PageOnePromoted) GetRaiseCpcBidWhenQualityScoreIsLow() *wrappers.BoolValue {
381	if m != nil {
382		return m.RaiseCpcBidWhenQualityScoreIsLow
383	}
384	return nil
385}
386
387// An automated bid strategy that sets bids to help get as many conversions as
388// possible at the target cost-per-acquisition (CPA) you set.
389type TargetCpa struct {
390	// Average CPA target.
391	// This target should be greater than or equal to minimum billable unit based
392	// on the currency for the account.
393	TargetCpaMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=target_cpa_micros,json=targetCpaMicros,proto3" json:"target_cpa_micros,omitempty"`
394	// Maximum bid limit that can be set by the bid strategy.
395	// The limit applies to all keywords managed by the strategy.
396	CpcBidCeilingMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
397	// Minimum bid limit that can be set by the bid strategy.
398	// The limit applies to all keywords managed by the strategy.
399	CpcBidFloorMicros    *wrappers.Int64Value `protobuf:"bytes,3,opt,name=cpc_bid_floor_micros,json=cpcBidFloorMicros,proto3" json:"cpc_bid_floor_micros,omitempty"`
400	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
401	XXX_unrecognized     []byte               `json:"-"`
402	XXX_sizecache        int32                `json:"-"`
403}
404
405func (m *TargetCpa) Reset()         { *m = TargetCpa{} }
406func (m *TargetCpa) String() string { return proto.CompactTextString(m) }
407func (*TargetCpa) ProtoMessage()    {}
408func (*TargetCpa) Descriptor() ([]byte, []int) {
409	return fileDescriptor_4aa9bf865024275f, []int{8}
410}
411
412func (m *TargetCpa) XXX_Unmarshal(b []byte) error {
413	return xxx_messageInfo_TargetCpa.Unmarshal(m, b)
414}
415func (m *TargetCpa) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
416	return xxx_messageInfo_TargetCpa.Marshal(b, m, deterministic)
417}
418func (m *TargetCpa) XXX_Merge(src proto.Message) {
419	xxx_messageInfo_TargetCpa.Merge(m, src)
420}
421func (m *TargetCpa) XXX_Size() int {
422	return xxx_messageInfo_TargetCpa.Size(m)
423}
424func (m *TargetCpa) XXX_DiscardUnknown() {
425	xxx_messageInfo_TargetCpa.DiscardUnknown(m)
426}
427
428var xxx_messageInfo_TargetCpa proto.InternalMessageInfo
429
430func (m *TargetCpa) GetTargetCpaMicros() *wrappers.Int64Value {
431	if m != nil {
432		return m.TargetCpaMicros
433	}
434	return nil
435}
436
437func (m *TargetCpa) GetCpcBidCeilingMicros() *wrappers.Int64Value {
438	if m != nil {
439		return m.CpcBidCeilingMicros
440	}
441	return nil
442}
443
444func (m *TargetCpa) GetCpcBidFloorMicros() *wrappers.Int64Value {
445	if m != nil {
446		return m.CpcBidFloorMicros
447	}
448	return nil
449}
450
451// Target CPM (cost per thousand impressions) is an automated bidding strategy
452// that sets bids to optimize performance given the target CPM you set.
453type TargetCpm struct {
454	XXX_NoUnkeyedLiteral struct{} `json:"-"`
455	XXX_unrecognized     []byte   `json:"-"`
456	XXX_sizecache        int32    `json:"-"`
457}
458
459func (m *TargetCpm) Reset()         { *m = TargetCpm{} }
460func (m *TargetCpm) String() string { return proto.CompactTextString(m) }
461func (*TargetCpm) ProtoMessage()    {}
462func (*TargetCpm) Descriptor() ([]byte, []int) {
463	return fileDescriptor_4aa9bf865024275f, []int{9}
464}
465
466func (m *TargetCpm) XXX_Unmarshal(b []byte) error {
467	return xxx_messageInfo_TargetCpm.Unmarshal(m, b)
468}
469func (m *TargetCpm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
470	return xxx_messageInfo_TargetCpm.Marshal(b, m, deterministic)
471}
472func (m *TargetCpm) XXX_Merge(src proto.Message) {
473	xxx_messageInfo_TargetCpm.Merge(m, src)
474}
475func (m *TargetCpm) XXX_Size() int {
476	return xxx_messageInfo_TargetCpm.Size(m)
477}
478func (m *TargetCpm) XXX_DiscardUnknown() {
479	xxx_messageInfo_TargetCpm.DiscardUnknown(m)
480}
481
482var xxx_messageInfo_TargetCpm proto.InternalMessageInfo
483
484// An automated bidding strategy that sets bids so that a certain percentage of
485// search ads are shown at the top of the first page (or other targeted
486// location).
487// Next Id = 4
488type TargetImpressionShare struct {
489	// The targeted location on the search results page.
490	Location enums.TargetImpressionShareLocationEnum_TargetImpressionShareLocation `protobuf:"varint,1,opt,name=location,proto3,enum=google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum_TargetImpressionShareLocation" json:"location,omitempty"`
491	// The desired fraction of ads to be shown in the targeted location in micros.
492	// E.g. 1% equals 10,000.
493	LocationFractionMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=location_fraction_micros,json=locationFractionMicros,proto3" json:"location_fraction_micros,omitempty"`
494	// The highest CPC bid the automated bidding system is permitted to specify.
495	// This is a required field entered by the advertiser that sets the ceiling
496	// and specified in local micros.
497	CpcBidCeilingMicros  *wrappers.Int64Value `protobuf:"bytes,3,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
498	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
499	XXX_unrecognized     []byte               `json:"-"`
500	XXX_sizecache        int32                `json:"-"`
501}
502
503func (m *TargetImpressionShare) Reset()         { *m = TargetImpressionShare{} }
504func (m *TargetImpressionShare) String() string { return proto.CompactTextString(m) }
505func (*TargetImpressionShare) ProtoMessage()    {}
506func (*TargetImpressionShare) Descriptor() ([]byte, []int) {
507	return fileDescriptor_4aa9bf865024275f, []int{10}
508}
509
510func (m *TargetImpressionShare) XXX_Unmarshal(b []byte) error {
511	return xxx_messageInfo_TargetImpressionShare.Unmarshal(m, b)
512}
513func (m *TargetImpressionShare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
514	return xxx_messageInfo_TargetImpressionShare.Marshal(b, m, deterministic)
515}
516func (m *TargetImpressionShare) XXX_Merge(src proto.Message) {
517	xxx_messageInfo_TargetImpressionShare.Merge(m, src)
518}
519func (m *TargetImpressionShare) XXX_Size() int {
520	return xxx_messageInfo_TargetImpressionShare.Size(m)
521}
522func (m *TargetImpressionShare) XXX_DiscardUnknown() {
523	xxx_messageInfo_TargetImpressionShare.DiscardUnknown(m)
524}
525
526var xxx_messageInfo_TargetImpressionShare proto.InternalMessageInfo
527
528func (m *TargetImpressionShare) GetLocation() enums.TargetImpressionShareLocationEnum_TargetImpressionShareLocation {
529	if m != nil {
530		return m.Location
531	}
532	return enums.TargetImpressionShareLocationEnum_UNSPECIFIED
533}
534
535func (m *TargetImpressionShare) GetLocationFractionMicros() *wrappers.Int64Value {
536	if m != nil {
537		return m.LocationFractionMicros
538	}
539	return nil
540}
541
542func (m *TargetImpressionShare) GetCpcBidCeilingMicros() *wrappers.Int64Value {
543	if m != nil {
544		return m.CpcBidCeilingMicros
545	}
546	return nil
547}
548
549// An automated bidding strategy that sets bids based on the target fraction of
550// auctions where the advertiser should outrank a specific competitor.
551// This strategy is deprecated.
552type TargetOutrankShare struct {
553	// The target fraction of auctions where the advertiser should outrank the
554	// competitor.
555	// The advertiser outranks the competitor in an auction if either the
556	// advertiser appears above the competitor in the search results, or appears
557	// in the search results when the competitor does not.
558	// Value must be between 1 and 1000000, inclusive.
559	TargetOutrankShareMicros *wrappers.Int32Value `protobuf:"bytes,1,opt,name=target_outrank_share_micros,json=targetOutrankShareMicros,proto3" json:"target_outrank_share_micros,omitempty"`
560	// Competitor's visible domain URL.
561	CompetitorDomain *wrappers.StringValue `protobuf:"bytes,2,opt,name=competitor_domain,json=competitorDomain,proto3" json:"competitor_domain,omitempty"`
562	// Maximum bid limit that can be set by the bid strategy.
563	// The limit applies to all keywords managed by the strategy.
564	CpcBidCeilingMicros *wrappers.Int64Value `protobuf:"bytes,3,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
565	// Whether the strategy should always follow bid estimate changes,
566	// or only increase.
567	// If false, always set a keyword's new bid to the current bid estimate.
568	// If true, only updates a keyword's bid if the current bid estimate is
569	// greater than the current bid.
570	OnlyRaiseCpcBids *wrappers.BoolValue `protobuf:"bytes,4,opt,name=only_raise_cpc_bids,json=onlyRaiseCpcBids,proto3" json:"only_raise_cpc_bids,omitempty"`
571	// Whether the strategy is allowed to raise bids on keywords with
572	// lower-range quality scores.
573	RaiseCpcBidWhenQualityScoreIsLow *wrappers.BoolValue `protobuf:"bytes,5,opt,name=raise_cpc_bid_when_quality_score_is_low,json=raiseCpcBidWhenQualityScoreIsLow,proto3" json:"raise_cpc_bid_when_quality_score_is_low,omitempty"`
574	XXX_NoUnkeyedLiteral             struct{}            `json:"-"`
575	XXX_unrecognized                 []byte              `json:"-"`
576	XXX_sizecache                    int32               `json:"-"`
577}
578
579func (m *TargetOutrankShare) Reset()         { *m = TargetOutrankShare{} }
580func (m *TargetOutrankShare) String() string { return proto.CompactTextString(m) }
581func (*TargetOutrankShare) ProtoMessage()    {}
582func (*TargetOutrankShare) Descriptor() ([]byte, []int) {
583	return fileDescriptor_4aa9bf865024275f, []int{11}
584}
585
586func (m *TargetOutrankShare) XXX_Unmarshal(b []byte) error {
587	return xxx_messageInfo_TargetOutrankShare.Unmarshal(m, b)
588}
589func (m *TargetOutrankShare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
590	return xxx_messageInfo_TargetOutrankShare.Marshal(b, m, deterministic)
591}
592func (m *TargetOutrankShare) XXX_Merge(src proto.Message) {
593	xxx_messageInfo_TargetOutrankShare.Merge(m, src)
594}
595func (m *TargetOutrankShare) XXX_Size() int {
596	return xxx_messageInfo_TargetOutrankShare.Size(m)
597}
598func (m *TargetOutrankShare) XXX_DiscardUnknown() {
599	xxx_messageInfo_TargetOutrankShare.DiscardUnknown(m)
600}
601
602var xxx_messageInfo_TargetOutrankShare proto.InternalMessageInfo
603
604func (m *TargetOutrankShare) GetTargetOutrankShareMicros() *wrappers.Int32Value {
605	if m != nil {
606		return m.TargetOutrankShareMicros
607	}
608	return nil
609}
610
611func (m *TargetOutrankShare) GetCompetitorDomain() *wrappers.StringValue {
612	if m != nil {
613		return m.CompetitorDomain
614	}
615	return nil
616}
617
618func (m *TargetOutrankShare) GetCpcBidCeilingMicros() *wrappers.Int64Value {
619	if m != nil {
620		return m.CpcBidCeilingMicros
621	}
622	return nil
623}
624
625func (m *TargetOutrankShare) GetOnlyRaiseCpcBids() *wrappers.BoolValue {
626	if m != nil {
627		return m.OnlyRaiseCpcBids
628	}
629	return nil
630}
631
632func (m *TargetOutrankShare) GetRaiseCpcBidWhenQualityScoreIsLow() *wrappers.BoolValue {
633	if m != nil {
634		return m.RaiseCpcBidWhenQualityScoreIsLow
635	}
636	return nil
637}
638
639// An automated bidding strategy that helps you maximize revenue while
640// averaging a specific target return on ad spend (ROAS).
641type TargetRoas struct {
642	// Required. The desired revenue (based on conversion data) per unit of spend.
643	// Value must be between 0.01 and 1000.0, inclusive.
644	TargetRoas *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=target_roas,json=targetRoas,proto3" json:"target_roas,omitempty"`
645	// Maximum bid limit that can be set by the bid strategy.
646	// The limit applies to all keywords managed by the strategy.
647	CpcBidCeilingMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
648	// Minimum bid limit that can be set by the bid strategy.
649	// The limit applies to all keywords managed by the strategy.
650	CpcBidFloorMicros    *wrappers.Int64Value `protobuf:"bytes,3,opt,name=cpc_bid_floor_micros,json=cpcBidFloorMicros,proto3" json:"cpc_bid_floor_micros,omitempty"`
651	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
652	XXX_unrecognized     []byte               `json:"-"`
653	XXX_sizecache        int32                `json:"-"`
654}
655
656func (m *TargetRoas) Reset()         { *m = TargetRoas{} }
657func (m *TargetRoas) String() string { return proto.CompactTextString(m) }
658func (*TargetRoas) ProtoMessage()    {}
659func (*TargetRoas) Descriptor() ([]byte, []int) {
660	return fileDescriptor_4aa9bf865024275f, []int{12}
661}
662
663func (m *TargetRoas) XXX_Unmarshal(b []byte) error {
664	return xxx_messageInfo_TargetRoas.Unmarshal(m, b)
665}
666func (m *TargetRoas) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
667	return xxx_messageInfo_TargetRoas.Marshal(b, m, deterministic)
668}
669func (m *TargetRoas) XXX_Merge(src proto.Message) {
670	xxx_messageInfo_TargetRoas.Merge(m, src)
671}
672func (m *TargetRoas) XXX_Size() int {
673	return xxx_messageInfo_TargetRoas.Size(m)
674}
675func (m *TargetRoas) XXX_DiscardUnknown() {
676	xxx_messageInfo_TargetRoas.DiscardUnknown(m)
677}
678
679var xxx_messageInfo_TargetRoas proto.InternalMessageInfo
680
681func (m *TargetRoas) GetTargetRoas() *wrappers.DoubleValue {
682	if m != nil {
683		return m.TargetRoas
684	}
685	return nil
686}
687
688func (m *TargetRoas) GetCpcBidCeilingMicros() *wrappers.Int64Value {
689	if m != nil {
690		return m.CpcBidCeilingMicros
691	}
692	return nil
693}
694
695func (m *TargetRoas) GetCpcBidFloorMicros() *wrappers.Int64Value {
696	if m != nil {
697		return m.CpcBidFloorMicros
698	}
699	return nil
700}
701
702// An automated bid strategy that sets your bids to help get as many clicks
703// as possible within your budget.
704type TargetSpend struct {
705	// The spend target under which to maximize clicks.
706	// A TargetSpend bidder will attempt to spend the smaller of this value
707	// or the natural throttling spend amount.
708	// If not specified, the budget is used as the spend target.
709	TargetSpendMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=target_spend_micros,json=targetSpendMicros,proto3" json:"target_spend_micros,omitempty"`
710	// Maximum bid limit that can be set by the bid strategy.
711	// The limit applies to all keywords managed by the strategy.
712	CpcBidCeilingMicros  *wrappers.Int64Value `protobuf:"bytes,2,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
713	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
714	XXX_unrecognized     []byte               `json:"-"`
715	XXX_sizecache        int32                `json:"-"`
716}
717
718func (m *TargetSpend) Reset()         { *m = TargetSpend{} }
719func (m *TargetSpend) String() string { return proto.CompactTextString(m) }
720func (*TargetSpend) ProtoMessage()    {}
721func (*TargetSpend) Descriptor() ([]byte, []int) {
722	return fileDescriptor_4aa9bf865024275f, []int{13}
723}
724
725func (m *TargetSpend) XXX_Unmarshal(b []byte) error {
726	return xxx_messageInfo_TargetSpend.Unmarshal(m, b)
727}
728func (m *TargetSpend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
729	return xxx_messageInfo_TargetSpend.Marshal(b, m, deterministic)
730}
731func (m *TargetSpend) XXX_Merge(src proto.Message) {
732	xxx_messageInfo_TargetSpend.Merge(m, src)
733}
734func (m *TargetSpend) XXX_Size() int {
735	return xxx_messageInfo_TargetSpend.Size(m)
736}
737func (m *TargetSpend) XXX_DiscardUnknown() {
738	xxx_messageInfo_TargetSpend.DiscardUnknown(m)
739}
740
741var xxx_messageInfo_TargetSpend proto.InternalMessageInfo
742
743func (m *TargetSpend) GetTargetSpendMicros() *wrappers.Int64Value {
744	if m != nil {
745		return m.TargetSpendMicros
746	}
747	return nil
748}
749
750func (m *TargetSpend) GetCpcBidCeilingMicros() *wrappers.Int64Value {
751	if m != nil {
752		return m.CpcBidCeilingMicros
753	}
754	return nil
755}
756
757// A bidding strategy where bids are a fraction of the advertised price for
758// some good or service.
759type PercentCpc struct {
760	// Maximum bid limit that can be set by the bid strategy. This is
761	// an optional field entered by the advertiser and specified in local micros.
762	// Note: A zero value is interpreted in the same way as having bid_ceiling
763	// undefined.
764	CpcBidCeilingMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=cpc_bid_ceiling_micros,json=cpcBidCeilingMicros,proto3" json:"cpc_bid_ceiling_micros,omitempty"`
765	// Adjusts the bid for each auction upward or downward, depending on the
766	// likelihood of a conversion. Individual bids may exceed
767	// cpc_bid_ceiling_micros, but the average bid amount for a campaign should
768	// not.
769	EnhancedCpcEnabled   *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enhanced_cpc_enabled,json=enhancedCpcEnabled,proto3" json:"enhanced_cpc_enabled,omitempty"`
770	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
771	XXX_unrecognized     []byte              `json:"-"`
772	XXX_sizecache        int32               `json:"-"`
773}
774
775func (m *PercentCpc) Reset()         { *m = PercentCpc{} }
776func (m *PercentCpc) String() string { return proto.CompactTextString(m) }
777func (*PercentCpc) ProtoMessage()    {}
778func (*PercentCpc) Descriptor() ([]byte, []int) {
779	return fileDescriptor_4aa9bf865024275f, []int{14}
780}
781
782func (m *PercentCpc) XXX_Unmarshal(b []byte) error {
783	return xxx_messageInfo_PercentCpc.Unmarshal(m, b)
784}
785func (m *PercentCpc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
786	return xxx_messageInfo_PercentCpc.Marshal(b, m, deterministic)
787}
788func (m *PercentCpc) XXX_Merge(src proto.Message) {
789	xxx_messageInfo_PercentCpc.Merge(m, src)
790}
791func (m *PercentCpc) XXX_Size() int {
792	return xxx_messageInfo_PercentCpc.Size(m)
793}
794func (m *PercentCpc) XXX_DiscardUnknown() {
795	xxx_messageInfo_PercentCpc.DiscardUnknown(m)
796}
797
798var xxx_messageInfo_PercentCpc proto.InternalMessageInfo
799
800func (m *PercentCpc) GetCpcBidCeilingMicros() *wrappers.Int64Value {
801	if m != nil {
802		return m.CpcBidCeilingMicros
803	}
804	return nil
805}
806
807func (m *PercentCpc) GetEnhancedCpcEnabled() *wrappers.BoolValue {
808	if m != nil {
809		return m.EnhancedCpcEnabled
810	}
811	return nil
812}
813
814func init() {
815	proto.RegisterType((*Commission)(nil), "google.ads.googleads.v2.common.Commission")
816	proto.RegisterType((*EnhancedCpc)(nil), "google.ads.googleads.v2.common.EnhancedCpc")
817	proto.RegisterType((*ManualCpc)(nil), "google.ads.googleads.v2.common.ManualCpc")
818	proto.RegisterType((*ManualCpm)(nil), "google.ads.googleads.v2.common.ManualCpm")
819	proto.RegisterType((*ManualCpv)(nil), "google.ads.googleads.v2.common.ManualCpv")
820	proto.RegisterType((*MaximizeConversions)(nil), "google.ads.googleads.v2.common.MaximizeConversions")
821	proto.RegisterType((*MaximizeConversionValue)(nil), "google.ads.googleads.v2.common.MaximizeConversionValue")
822	proto.RegisterType((*PageOnePromoted)(nil), "google.ads.googleads.v2.common.PageOnePromoted")
823	proto.RegisterType((*TargetCpa)(nil), "google.ads.googleads.v2.common.TargetCpa")
824	proto.RegisterType((*TargetCpm)(nil), "google.ads.googleads.v2.common.TargetCpm")
825	proto.RegisterType((*TargetImpressionShare)(nil), "google.ads.googleads.v2.common.TargetImpressionShare")
826	proto.RegisterType((*TargetOutrankShare)(nil), "google.ads.googleads.v2.common.TargetOutrankShare")
827	proto.RegisterType((*TargetRoas)(nil), "google.ads.googleads.v2.common.TargetRoas")
828	proto.RegisterType((*TargetSpend)(nil), "google.ads.googleads.v2.common.TargetSpend")
829	proto.RegisterType((*PercentCpc)(nil), "google.ads.googleads.v2.common.PercentCpc")
830}
831
832func init() {
833	proto.RegisterFile("google/ads/googleads/v2/common/bidding.proto", fileDescriptor_4aa9bf865024275f)
834}
835
836var fileDescriptor_4aa9bf865024275f = []byte{
837	// 951 bytes of a gzipped FileDescriptorProto
838	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x51, 0x6f, 0x1b, 0x45,
839	0x10, 0x80, 0x65, 0xa7, 0xad, 0xe8, 0x3a, 0xa5, 0xe4, 0x92, 0x06, 0x2b, 0xad, 0xaa, 0xea, 0x24,
840	0x04, 0x0f, 0xe8, 0x4e, 0x72, 0x11, 0x0f, 0x46, 0x08, 0xd9, 0x97, 0x34, 0xb2, 0x48, 0x54, 0xd7,
841	0x2e, 0x01, 0xa2, 0x88, 0xd5, 0x7a, 0x77, 0x73, 0x59, 0xf5, 0x6e, 0xe7, 0xd8, 0xdd, 0x4b, 0x48,
842	0x5f, 0xf8, 0x2f, 0x3c, 0x22, 0x7e, 0x02, 0xef, 0x48, 0x88, 0xff, 0x81, 0x04, 0xaf, 0xfc, 0x00,
843	0x74, 0xbb, 0x7b, 0x76, 0x8b, 0x93, 0xb8, 0x09, 0x41, 0xe2, 0xc9, 0xbb, 0xde, 0x99, 0x6f, 0x66,
844	0x67, 0x66, 0xe7, 0x06, 0x7d, 0x98, 0x02, 0xa4, 0x19, 0x8f, 0x09, 0xd3, 0xb1, 0x5b, 0x56, 0xab,
845	0xe3, 0x4e, 0x4c, 0x21, 0xcf, 0x41, 0xc6, 0x13, 0xc1, 0x98, 0x90, 0x69, 0x54, 0x28, 0x30, 0x10,
846	0x3c, 0x74, 0x22, 0x11, 0x61, 0x3a, 0x9a, 0x4a, 0x47, 0xc7, 0x9d, 0xc8, 0x49, 0x6f, 0x24, 0xe7,
847	0xd1, 0xb8, 0x2c, 0x73, 0x1d, 0x17, 0x24, 0xe5, 0x18, 0x24, 0xc7, 0x85, 0x82, 0x1c, 0x0c, 0x67,
848	0x58, 0x1b, 0x45, 0x0c, 0x4f, 0x4f, 0x71, 0x0a, 0x24, 0x73, 0x46, 0x36, 0x36, 0x2f, 0x86, 0x18,
849	0xa2, 0x52, 0x6e, 0xb0, 0xc8, 0x0b, 0xc5, 0xb5, 0x16, 0x20, 0xb1, 0x3e, 0x22, 0x8a, 0xe3, 0x0c,
850	0x28, 0x31, 0x02, 0xa4, 0xa7, 0x78, 0x57, 0x63, 0xbb, 0x9b, 0x94, 0x87, 0xf1, 0x89, 0x22, 0x45,
851	0xc1, 0x95, 0xf6, 0xe7, 0x0f, 0x6a, 0x2b, 0x85, 0x88, 0x89, 0x94, 0x60, 0xac, 0xb2, 0x3f, 0x0d,
852	0x31, 0x42, 0x09, 0xe4, 0xb9, 0xb0, 0x06, 0x82, 0x67, 0x68, 0x9d, 0x4e, 0x77, 0xb8, 0xf2, 0x18,
853	0xe7, 0x82, 0x2a, 0xd0, 0xed, 0xc6, 0xa3, 0xc6, 0x07, 0xad, 0xce, 0x7d, 0x1f, 0x8c, 0xa8, 0x36,
854	0x16, 0x0d, 0xa4, 0xf9, 0xf8, 0xa3, 0x3d, 0x92, 0x95, 0x7c, 0xb4, 0x36, 0x53, 0x1d, 0x11, 0xc3,
855	0x77, 0xad, 0x62, 0x78, 0x07, 0xb5, 0xb6, 0xe4, 0x11, 0x91, 0x94, 0xb3, 0xa4, 0xa0, 0xe1, 0xd7,
856	0xe8, 0xf6, 0x2e, 0x91, 0x25, 0xc9, 0x92, 0x82, 0x06, 0x3b, 0x68, 0x8d, 0xfb, 0x33, 0x4c, 0x0b,
857	0x8a, 0xb9, 0x24, 0x93, 0x8c, 0x33, 0x6f, 0x6c, 0x63, 0xce, 0x58, 0x1f, 0x20, 0x73, 0xb6, 0x02,
858	0x3e, 0x63, 0x6e, 0x39, 0xad, 0xb0, 0x35, 0x43, 0xe7, 0xaf, 0x6e, 0x8e, 0xc3, 0x7b, 0x68, 0x75,
859	0x97, 0x7c, 0x27, 0x72, 0xf1, 0x92, 0x27, 0x20, 0x8f, 0xb9, 0xaa, 0x7c, 0xd4, 0xe1, 0x57, 0xe8,
860	0xdd, 0xf9, 0xbf, 0x2d, 0x3f, 0xf8, 0x14, 0xb5, 0x7c, 0xf8, 0x15, 0x90, 0xfa, 0xf6, 0x0f, 0xe6,
861	0x1c, 0xda, 0x84, 0x72, 0x92, 0x71, 0xe7, 0x12, 0x72, 0x0a, 0x23, 0x20, 0x3a, 0xfc, 0xed, 0x06,
862	0xba, 0x3b, 0x24, 0x29, 0x7f, 0x2a, 0xf9, 0xd0, 0x57, 0x40, 0xf0, 0x3d, 0xba, 0xf3, 0x5a, 0x11,
863	0x58, 0xe8, 0xdb, 0x9d, 0xfd, 0xe8, 0xbc, 0x52, 0xb3, 0x55, 0x10, 0xfd, 0x03, 0x33, 0xf6, 0x88,
864	0x6d, 0x20, 0xd9, 0x96, 0x2c, 0xf3, 0x8b, 0xce, 0x47, 0xcb, 0xfa, 0x95, 0x5d, 0x30, 0x44, 0xeb,
865	0x55, 0x90, 0x27, 0x82, 0x61, 0xca, 0x45, 0x26, 0x64, 0x5a, 0x27, 0xb7, 0xb9, 0x38, 0xb9, 0xab,
866	0xb4, 0xa0, 0x7d, 0xc1, 0x12, 0xa7, 0xe8, 0x72, 0x1b, 0x7c, 0x86, 0x96, 0x2b, 0x5a, 0x0e, 0x4c,
867	0x1c, 0x0a, 0xae, 0xda, 0x4b, 0x6f, 0x10, 0xa6, 0xd6, 0x44, 0xb0, 0x5d, 0xaf, 0x10, 0x0c, 0xd0,
868	0x2a, 0xc8, 0xec, 0x14, 0x2b, 0x22, 0x34, 0xc7, 0xde, 0x3b, 0xdd, 0xbe, 0xb1, 0x30, 0xff, 0xef,
869	0x54, 0x6a, 0xa3, 0x4a, 0x2b, 0xb1, 0x7e, 0xe9, 0xe0, 0x05, 0x7a, 0xef, 0x35, 0x0a, 0x3e, 0x39,
870	0xe2, 0x12, 0x4f, 0x4a, 0x56, 0x25, 0x91, 0x82, 0xac, 0x42, 0x21, 0x24, 0x67, 0xed, 0x9b, 0x0b,
871	0xe1, 0x8f, 0xd4, 0x0c, 0xfc, 0xe5, 0x11, 0x97, 0x7d, 0x0b, 0x49, 0x66, 0x8c, 0x20, 0x47, 0xef,
872	0x9f, 0x61, 0xec, 0xdb, 0x92, 0x64, 0xc2, 0x9c, 0x62, 0x4d, 0x41, 0x71, 0x2c, 0x34, 0xce, 0xe0,
873	0xa4, 0x7d, 0xeb, 0xd2, 0xe6, 0x9e, 0x39, 0xcc, 0xb8, 0xa2, 0x0c, 0xf4, 0x0e, 0x9c, 0x84, 0x7f,
874	0x35, 0xd0, 0xed, 0xe7, 0xb6, 0xba, 0x92, 0x82, 0x04, 0xdb, 0x68, 0xc5, 0xd7, 0x26, 0x2d, 0xc8,
875	0x25, 0xde, 0xe7, 0x5d, 0x53, 0x23, 0x7c, 0xfa, 0xae, 0xbf, 0x20, 0x76, 0xd0, 0x5a, 0x4d, 0x3c,
876	0xcc, 0x00, 0x54, 0xcd, 0x5b, 0x5a, 0xcc, 0x5b, 0x71, 0xbc, 0x27, 0x95, 0x9a, 0x6f, 0x1d, 0xad,
877	0xd9, 0xad, 0xf3, 0xf0, 0xe7, 0x26, 0xba, 0xe7, 0x76, 0x83, 0x69, 0x43, 0x1c, 0x57, 0xfd, 0x30,
878	0x78, 0x89, 0xde, 0xaa, 0x5b, 0xa2, 0x7f, 0x53, 0xdf, 0x2c, 0x78, 0x53, 0x67, 0x72, 0x76, 0x3c,
879	0xc3, 0xbe, 0xaa, 0x0b, 0x25, 0x46, 0x53, 0x7b, 0xc1, 0x17, 0xa8, 0x5d, 0xaf, 0xf1, 0xa1, 0x22,
880	0xd4, 0x2e, 0xde, 0x3c, 0x88, 0xeb, 0xb5, 0xf2, 0x13, 0xaf, 0xbb, 0x30, 0x33, 0x4b, 0x57, 0xcb,
881	0x4c, 0xf8, 0xcb, 0x12, 0x0a, 0xdc, 0xa5, 0x9e, 0x96, 0x46, 0x11, 0xf9, 0xc2, 0xc5, 0x6e, 0x1f,
882	0xdd, 0xf7, 0xb5, 0x04, 0xee, 0x6f, 0xff, 0x8d, 0x59, 0x5c, 0x55, 0x8f, 0x3b, 0xce, 0x5a, 0xdb,
883	0xcc, 0x51, 0xfd, 0x25, 0x06, 0x68, 0x85, 0x42, 0x5e, 0x70, 0x23, 0x0c, 0x28, 0xcc, 0x20, 0x27,
884	0x42, 0xfa, 0xa0, 0xcc, 0xb7, 0x88, 0xb1, 0x51, 0x42, 0xa6, 0xfe, 0x71, 0xcf, 0xd4, 0x36, 0xad,
885	0xd6, 0xf5, 0xc7, 0xe3, 0x3a, 0x3b, 0xcf, 0x25, 0x9a, 0xc1, 0xcd, 0x6b, 0x68, 0x06, 0x7f, 0x36,
886	0x10, 0x7a, 0x3e, 0xfd, 0xd4, 0xfc, 0xcb, 0x2f, 0xd5, 0xff, 0xbe, 0x07, 0xfc, 0xd4, 0x40, 0x2d,
887	0x77, 0xdb, 0x71, 0xc1, 0x25, 0x0b, 0x3e, 0x47, 0xab, 0xfe, 0xba, 0xba, 0xda, 0x5f, 0xa2, 0xfd,
888	0xf9, 0xa6, 0x69, 0x31, 0xff, 0x55, 0x03, 0xac, 0xdc, 0x45, 0x43, 0xae, 0x28, 0x97, 0xa6, 0x1a,
889	0x70, 0xce, 0x37, 0xd0, 0xb8, 0x7a, 0x74, 0xcf, 0x1c, 0x99, 0x9a, 0x57, 0x19, 0x99, 0xfa, 0xbf,
890	0x37, 0x50, 0x48, 0x21, 0x8f, 0x2e, 0x9e, 0x76, 0xfb, 0xcb, 0x7d, 0x37, 0x1c, 0x0f, 0x2b, 0xea,
891	0xb0, 0xb1, 0xef, 0x07, 0xd7, 0x28, 0x85, 0x8c, 0xc8, 0x34, 0x02, 0x95, 0xc6, 0x29, 0x97, 0xd6,
892	0x66, 0x3d, 0xc8, 0x16, 0x42, 0x9f, 0x37, 0x6a, 0x7f, 0xe2, 0x7e, 0x7e, 0x68, 0x2e, 0x6d, 0xf7,
893	0x7a, 0x3f, 0x36, 0x1f, 0x6e, 0x3b, 0x58, 0x8f, 0xe9, 0xc8, 0x2d, 0xab, 0xd5, 0x5e, 0x27, 0x4a,
894	0xac, 0xd8, 0xaf, 0xb5, 0xc0, 0x41, 0x8f, 0xe9, 0x83, 0xa9, 0xc0, 0xc1, 0x5e, 0xe7, 0xc0, 0x09,
895	0xfc, 0xd1, 0x0c, 0xdd, 0xbf, 0xdd, 0x6e, 0x8f, 0xe9, 0x6e, 0x77, 0x2a, 0xd2, 0xed, 0xee, 0x75,
896	0xba, 0x5d, 0x27, 0x34, 0xb9, 0x65, 0xbd, 0x7b, 0xfc, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89,
897	0x97, 0x6e, 0x16, 0x07, 0x0c, 0x00, 0x00,
898}
899