You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1193 lines
49 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/ads/googleads/v1/resources/ad_group_criterion.proto
  3. package resources // import "google.golang.org/genproto/googleapis/ads/googleads/v1/resources"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import wrappers "github.com/golang/protobuf/ptypes/wrappers"
  8. import common "google.golang.org/genproto/googleapis/ads/googleads/v1/common"
  9. import enums "google.golang.org/genproto/googleapis/ads/googleads/v1/enums"
  10. import _ "google.golang.org/genproto/googleapis/api/annotations"
  11. // Reference imports to suppress errors if they are not otherwise used.
  12. var _ = proto.Marshal
  13. var _ = fmt.Errorf
  14. var _ = math.Inf
  15. // This is a compile-time assertion to ensure that this generated file
  16. // is compatible with the proto package it is being compiled against.
  17. // A compilation error at this line likely means your copy of the
  18. // proto package needs to be updated.
  19. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  20. // An ad group criterion.
  21. type AdGroupCriterion struct {
  22. // The resource name of the ad group criterion.
  23. // Ad group criterion resource names have the form:
  24. //
  25. // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
  26. ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
  27. // The ID of the criterion.
  28. //
  29. // This field is ignored for mutates.
  30. CriterionId *wrappers.Int64Value `protobuf:"bytes,26,opt,name=criterion_id,json=criterionId,proto3" json:"criterion_id,omitempty"`
  31. // The status of the criterion.
  32. Status enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=google.ads.googleads.v1.enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus" json:"status,omitempty"`
  33. // Information regarding the quality of the criterion.
  34. QualityInfo *AdGroupCriterion_QualityInfo `protobuf:"bytes,4,opt,name=quality_info,json=qualityInfo,proto3" json:"quality_info,omitempty"`
  35. // The ad group to which the criterion belongs.
  36. AdGroup *wrappers.StringValue `protobuf:"bytes,5,opt,name=ad_group,json=adGroup,proto3" json:"ad_group,omitempty"`
  37. // The type of the criterion.
  38. Type enums.CriterionTypeEnum_CriterionType `protobuf:"varint,25,opt,name=type,proto3,enum=google.ads.googleads.v1.enums.CriterionTypeEnum_CriterionType" json:"type,omitempty"`
  39. // Whether to target (`false`) or exclude (`true`) the criterion.
  40. //
  41. // This field is immutable. To switch a criterion from positive to negative,
  42. // remove then re-add it.
  43. Negative *wrappers.BoolValue `protobuf:"bytes,31,opt,name=negative,proto3" json:"negative,omitempty"`
  44. // Serving status of the criterion.
  45. SystemServingStatus enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus `protobuf:"varint,52,opt,name=system_serving_status,json=systemServingStatus,proto3,enum=google.ads.googleads.v1.enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus" json:"system_serving_status,omitempty"`
  46. // The modifier for the bid when the criterion matches. The modifier must be
  47. // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
  48. BidModifier *wrappers.DoubleValue `protobuf:"bytes,44,opt,name=bid_modifier,json=bidModifier,proto3" json:"bid_modifier,omitempty"`
  49. // The CPC (cost-per-click) bid.
  50. CpcBidMicros *wrappers.Int64Value `protobuf:"bytes,16,opt,name=cpc_bid_micros,json=cpcBidMicros,proto3" json:"cpc_bid_micros,omitempty"`
  51. // The CPM (cost-per-thousand viewable impressions) bid.
  52. CpmBidMicros *wrappers.Int64Value `protobuf:"bytes,17,opt,name=cpm_bid_micros,json=cpmBidMicros,proto3" json:"cpm_bid_micros,omitempty"`
  53. // The CPV (cost-per-view) bid.
  54. CpvBidMicros *wrappers.Int64Value `protobuf:"bytes,24,opt,name=cpv_bid_micros,json=cpvBidMicros,proto3" json:"cpv_bid_micros,omitempty"`
  55. // The CPC bid amount, expressed as a fraction of the advertised price
  56. // for some good or service. The valid range for the fraction is [0,1) and the
  57. // value stored here is 1,000,000 * [fraction].
  58. PercentCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,33,opt,name=percent_cpc_bid_micros,json=percentCpcBidMicros,proto3" json:"percent_cpc_bid_micros,omitempty"`
  59. // The effective CPC (cost-per-click) bid.
  60. EffectiveCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,18,opt,name=effective_cpc_bid_micros,json=effectiveCpcBidMicros,proto3" json:"effective_cpc_bid_micros,omitempty"`
  61. // The effective CPM (cost-per-thousand viewable impressions) bid.
  62. EffectiveCpmBidMicros *wrappers.Int64Value `protobuf:"bytes,19,opt,name=effective_cpm_bid_micros,json=effectiveCpmBidMicros,proto3" json:"effective_cpm_bid_micros,omitempty"`
  63. // The effective CPV (cost-per-view) bid.
  64. EffectiveCpvBidMicros *wrappers.Int64Value `protobuf:"bytes,20,opt,name=effective_cpv_bid_micros,json=effectiveCpvBidMicros,proto3" json:"effective_cpv_bid_micros,omitempty"`
  65. // The effective Percent CPC bid amount.
  66. EffectivePercentCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,34,opt,name=effective_percent_cpc_bid_micros,json=effectivePercentCpcBidMicros,proto3" json:"effective_percent_cpc_bid_micros,omitempty"`
  67. // Source of the effective CPC bid.
  68. EffectiveCpcBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,21,opt,name=effective_cpc_bid_source,json=effectiveCpcBidSource,proto3,enum=google.ads.googleads.v1.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpc_bid_source,omitempty"`
  69. // Source of the effective CPM bid.
  70. EffectiveCpmBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,22,opt,name=effective_cpm_bid_source,json=effectiveCpmBidSource,proto3,enum=google.ads.googleads.v1.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpm_bid_source,omitempty"`
  71. // Source of the effective CPV bid.
  72. EffectiveCpvBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,23,opt,name=effective_cpv_bid_source,json=effectiveCpvBidSource,proto3,enum=google.ads.googleads.v1.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpv_bid_source,omitempty"`
  73. // Source of the effective Percent CPC bid.
  74. EffectivePercentCpcBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,35,opt,name=effective_percent_cpc_bid_source,json=effectivePercentCpcBidSource,proto3,enum=google.ads.googleads.v1.enums.BiddingSourceEnum_BiddingSource" json:"effective_percent_cpc_bid_source,omitempty"`
  75. // Estimates for criterion bids at various positions.
  76. PositionEstimates *AdGroupCriterion_PositionEstimates `protobuf:"bytes,10,opt,name=position_estimates,json=positionEstimates,proto3" json:"position_estimates,omitempty"`
  77. // The list of possible final URLs after all cross-domain redirects for the
  78. // ad.
  79. FinalUrls []*wrappers.StringValue `protobuf:"bytes,11,rep,name=final_urls,json=finalUrls,proto3" json:"final_urls,omitempty"`
  80. // The list of possible final mobile URLs after all cross-domain redirects.
  81. FinalMobileUrls []*wrappers.StringValue `protobuf:"bytes,51,rep,name=final_mobile_urls,json=finalMobileUrls,proto3" json:"final_mobile_urls,omitempty"`
  82. // URL template for appending params to final URL.
  83. FinalUrlSuffix *wrappers.StringValue `protobuf:"bytes,50,opt,name=final_url_suffix,json=finalUrlSuffix,proto3" json:"final_url_suffix,omitempty"`
  84. // The URL template for constructing a tracking URL.
  85. TrackingUrlTemplate *wrappers.StringValue `protobuf:"bytes,13,opt,name=tracking_url_template,json=trackingUrlTemplate,proto3" json:"tracking_url_template,omitempty"`
  86. // The list of mappings used to substitute custom parameter tags in a
  87. // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
  88. UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,14,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"`
  89. // The ad group criterion.
  90. //
  91. // Exactly one must be set.
  92. //
  93. // Types that are valid to be assigned to Criterion:
  94. // *AdGroupCriterion_Keyword
  95. // *AdGroupCriterion_Placement
  96. // *AdGroupCriterion_MobileAppCategory
  97. // *AdGroupCriterion_ListingGroup
  98. // *AdGroupCriterion_AgeRange
  99. // *AdGroupCriterion_Gender
  100. // *AdGroupCriterion_IncomeRange
  101. // *AdGroupCriterion_ParentalStatus
  102. // *AdGroupCriterion_UserList
  103. // *AdGroupCriterion_YoutubeVideo
  104. // *AdGroupCriterion_YoutubeChannel
  105. // *AdGroupCriterion_Topic
  106. // *AdGroupCriterion_UserInterest
  107. // *AdGroupCriterion_Webpage
  108. // *AdGroupCriterion_AppPaymentModel
  109. // *AdGroupCriterion_CustomAffinity
  110. // *AdGroupCriterion_CustomIntent
  111. Criterion isAdGroupCriterion_Criterion `protobuf_oneof:"criterion"`
  112. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  113. XXX_unrecognized []byte `json:"-"`
  114. XXX_sizecache int32 `json:"-"`
  115. }
  116. func (m *AdGroupCriterion) Reset() { *m = AdGroupCriterion{} }
  117. func (m *AdGroupCriterion) String() string { return proto.CompactTextString(m) }
  118. func (*AdGroupCriterion) ProtoMessage() {}
  119. func (*AdGroupCriterion) Descriptor() ([]byte, []int) {
  120. return fileDescriptor_ad_group_criterion_14b0f5d2be23ccba, []int{0}
  121. }
  122. func (m *AdGroupCriterion) XXX_Unmarshal(b []byte) error {
  123. return xxx_messageInfo_AdGroupCriterion.Unmarshal(m, b)
  124. }
  125. func (m *AdGroupCriterion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  126. return xxx_messageInfo_AdGroupCriterion.Marshal(b, m, deterministic)
  127. }
  128. func (dst *AdGroupCriterion) XXX_Merge(src proto.Message) {
  129. xxx_messageInfo_AdGroupCriterion.Merge(dst, src)
  130. }
  131. func (m *AdGroupCriterion) XXX_Size() int {
  132. return xxx_messageInfo_AdGroupCriterion.Size(m)
  133. }
  134. func (m *AdGroupCriterion) XXX_DiscardUnknown() {
  135. xxx_messageInfo_AdGroupCriterion.DiscardUnknown(m)
  136. }
  137. var xxx_messageInfo_AdGroupCriterion proto.InternalMessageInfo
  138. func (m *AdGroupCriterion) GetResourceName() string {
  139. if m != nil {
  140. return m.ResourceName
  141. }
  142. return ""
  143. }
  144. func (m *AdGroupCriterion) GetCriterionId() *wrappers.Int64Value {
  145. if m != nil {
  146. return m.CriterionId
  147. }
  148. return nil
  149. }
  150. func (m *AdGroupCriterion) GetStatus() enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus {
  151. if m != nil {
  152. return m.Status
  153. }
  154. return enums.AdGroupCriterionStatusEnum_UNSPECIFIED
  155. }
  156. func (m *AdGroupCriterion) GetQualityInfo() *AdGroupCriterion_QualityInfo {
  157. if m != nil {
  158. return m.QualityInfo
  159. }
  160. return nil
  161. }
  162. func (m *AdGroupCriterion) GetAdGroup() *wrappers.StringValue {
  163. if m != nil {
  164. return m.AdGroup
  165. }
  166. return nil
  167. }
  168. func (m *AdGroupCriterion) GetType() enums.CriterionTypeEnum_CriterionType {
  169. if m != nil {
  170. return m.Type
  171. }
  172. return enums.CriterionTypeEnum_UNSPECIFIED
  173. }
  174. func (m *AdGroupCriterion) GetNegative() *wrappers.BoolValue {
  175. if m != nil {
  176. return m.Negative
  177. }
  178. return nil
  179. }
  180. func (m *AdGroupCriterion) GetSystemServingStatus() enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus {
  181. if m != nil {
  182. return m.SystemServingStatus
  183. }
  184. return enums.CriterionSystemServingStatusEnum_UNSPECIFIED
  185. }
  186. func (m *AdGroupCriterion) GetBidModifier() *wrappers.DoubleValue {
  187. if m != nil {
  188. return m.BidModifier
  189. }
  190. return nil
  191. }
  192. func (m *AdGroupCriterion) GetCpcBidMicros() *wrappers.Int64Value {
  193. if m != nil {
  194. return m.CpcBidMicros
  195. }
  196. return nil
  197. }
  198. func (m *AdGroupCriterion) GetCpmBidMicros() *wrappers.Int64Value {
  199. if m != nil {
  200. return m.CpmBidMicros
  201. }
  202. return nil
  203. }
  204. func (m *AdGroupCriterion) GetCpvBidMicros() *wrappers.Int64Value {
  205. if m != nil {
  206. return m.CpvBidMicros
  207. }
  208. return nil
  209. }
  210. func (m *AdGroupCriterion) GetPercentCpcBidMicros() *wrappers.Int64Value {
  211. if m != nil {
  212. return m.PercentCpcBidMicros
  213. }
  214. return nil
  215. }
  216. func (m *AdGroupCriterion) GetEffectiveCpcBidMicros() *wrappers.Int64Value {
  217. if m != nil {
  218. return m.EffectiveCpcBidMicros
  219. }
  220. return nil
  221. }
  222. func (m *AdGroupCriterion) GetEffectiveCpmBidMicros() *wrappers.Int64Value {
  223. if m != nil {
  224. return m.EffectiveCpmBidMicros
  225. }
  226. return nil
  227. }
  228. func (m *AdGroupCriterion) GetEffectiveCpvBidMicros() *wrappers.Int64Value {
  229. if m != nil {
  230. return m.EffectiveCpvBidMicros
  231. }
  232. return nil
  233. }
  234. func (m *AdGroupCriterion) GetEffectivePercentCpcBidMicros() *wrappers.Int64Value {
  235. if m != nil {
  236. return m.EffectivePercentCpcBidMicros
  237. }
  238. return nil
  239. }
  240. func (m *AdGroupCriterion) GetEffectiveCpcBidSource() enums.BiddingSourceEnum_BiddingSource {
  241. if m != nil {
  242. return m.EffectiveCpcBidSource
  243. }
  244. return enums.BiddingSourceEnum_UNSPECIFIED
  245. }
  246. func (m *AdGroupCriterion) GetEffectiveCpmBidSource() enums.BiddingSourceEnum_BiddingSource {
  247. if m != nil {
  248. return m.EffectiveCpmBidSource
  249. }
  250. return enums.BiddingSourceEnum_UNSPECIFIED
  251. }
  252. func (m *AdGroupCriterion) GetEffectiveCpvBidSource() enums.BiddingSourceEnum_BiddingSource {
  253. if m != nil {
  254. return m.EffectiveCpvBidSource
  255. }
  256. return enums.BiddingSourceEnum_UNSPECIFIED
  257. }
  258. func (m *AdGroupCriterion) GetEffectivePercentCpcBidSource() enums.BiddingSourceEnum_BiddingSource {
  259. if m != nil {
  260. return m.EffectivePercentCpcBidSource
  261. }
  262. return enums.BiddingSourceEnum_UNSPECIFIED
  263. }
  264. func (m *AdGroupCriterion) GetPositionEstimates() *AdGroupCriterion_PositionEstimates {
  265. if m != nil {
  266. return m.PositionEstimates
  267. }
  268. return nil
  269. }
  270. func (m *AdGroupCriterion) GetFinalUrls() []*wrappers.StringValue {
  271. if m != nil {
  272. return m.FinalUrls
  273. }
  274. return nil
  275. }
  276. func (m *AdGroupCriterion) GetFinalMobileUrls() []*wrappers.StringValue {
  277. if m != nil {
  278. return m.FinalMobileUrls
  279. }
  280. return nil
  281. }
  282. func (m *AdGroupCriterion) GetFinalUrlSuffix() *wrappers.StringValue {
  283. if m != nil {
  284. return m.FinalUrlSuffix
  285. }
  286. return nil
  287. }
  288. func (m *AdGroupCriterion) GetTrackingUrlTemplate() *wrappers.StringValue {
  289. if m != nil {
  290. return m.TrackingUrlTemplate
  291. }
  292. return nil
  293. }
  294. func (m *AdGroupCriterion) GetUrlCustomParameters() []*common.CustomParameter {
  295. if m != nil {
  296. return m.UrlCustomParameters
  297. }
  298. return nil
  299. }
  300. type isAdGroupCriterion_Criterion interface {
  301. isAdGroupCriterion_Criterion()
  302. }
  303. type AdGroupCriterion_Keyword struct {
  304. Keyword *common.KeywordInfo `protobuf:"bytes,27,opt,name=keyword,proto3,oneof"`
  305. }
  306. type AdGroupCriterion_Placement struct {
  307. Placement *common.PlacementInfo `protobuf:"bytes,28,opt,name=placement,proto3,oneof"`
  308. }
  309. type AdGroupCriterion_MobileAppCategory struct {
  310. MobileAppCategory *common.MobileAppCategoryInfo `protobuf:"bytes,29,opt,name=mobile_app_category,json=mobileAppCategory,proto3,oneof"`
  311. }
  312. type AdGroupCriterion_ListingGroup struct {
  313. ListingGroup *common.ListingGroupInfo `protobuf:"bytes,32,opt,name=listing_group,json=listingGroup,proto3,oneof"`
  314. }
  315. type AdGroupCriterion_AgeRange struct {
  316. AgeRange *common.AgeRangeInfo `protobuf:"bytes,36,opt,name=age_range,json=ageRange,proto3,oneof"`
  317. }
  318. type AdGroupCriterion_Gender struct {
  319. Gender *common.GenderInfo `protobuf:"bytes,37,opt,name=gender,proto3,oneof"`
  320. }
  321. type AdGroupCriterion_IncomeRange struct {
  322. IncomeRange *common.IncomeRangeInfo `protobuf:"bytes,38,opt,name=income_range,json=incomeRange,proto3,oneof"`
  323. }
  324. type AdGroupCriterion_ParentalStatus struct {
  325. ParentalStatus *common.ParentalStatusInfo `protobuf:"bytes,39,opt,name=parental_status,json=parentalStatus,proto3,oneof"`
  326. }
  327. type AdGroupCriterion_UserList struct {
  328. UserList *common.UserListInfo `protobuf:"bytes,42,opt,name=user_list,json=userList,proto3,oneof"`
  329. }
  330. type AdGroupCriterion_YoutubeVideo struct {
  331. YoutubeVideo *common.YouTubeVideoInfo `protobuf:"bytes,40,opt,name=youtube_video,json=youtubeVideo,proto3,oneof"`
  332. }
  333. type AdGroupCriterion_YoutubeChannel struct {
  334. YoutubeChannel *common.YouTubeChannelInfo `protobuf:"bytes,41,opt,name=youtube_channel,json=youtubeChannel,proto3,oneof"`
  335. }
  336. type AdGroupCriterion_Topic struct {
  337. Topic *common.TopicInfo `protobuf:"bytes,43,opt,name=topic,proto3,oneof"`
  338. }
  339. type AdGroupCriterion_UserInterest struct {
  340. UserInterest *common.UserInterestInfo `protobuf:"bytes,45,opt,name=user_interest,json=userInterest,proto3,oneof"`
  341. }
  342. type AdGroupCriterion_Webpage struct {
  343. Webpage *common.WebpageInfo `protobuf:"bytes,46,opt,name=webpage,proto3,oneof"`
  344. }
  345. type AdGroupCriterion_AppPaymentModel struct {
  346. AppPaymentModel *common.AppPaymentModelInfo `protobuf:"bytes,47,opt,name=app_payment_model,json=appPaymentModel,proto3,oneof"`
  347. }
  348. type AdGroupCriterion_CustomAffinity struct {
  349. CustomAffinity *common.CustomAffinityInfo `protobuf:"bytes,48,opt,name=custom_affinity,json=customAffinity,proto3,oneof"`
  350. }
  351. type AdGroupCriterion_CustomIntent struct {
  352. CustomIntent *common.CustomIntentInfo `protobuf:"bytes,49,opt,name=custom_intent,json=customIntent,proto3,oneof"`
  353. }
  354. func (*AdGroupCriterion_Keyword) isAdGroupCriterion_Criterion() {}
  355. func (*AdGroupCriterion_Placement) isAdGroupCriterion_Criterion() {}
  356. func (*AdGroupCriterion_MobileAppCategory) isAdGroupCriterion_Criterion() {}
  357. func (*AdGroupCriterion_ListingGroup) isAdGroupCriterion_Criterion() {}
  358. func (*AdGroupCriterion_AgeRange) isAdGroupCriterion_Criterion() {}
  359. func (*AdGroupCriterion_Gender) isAdGroupCriterion_Criterion() {}
  360. func (*AdGroupCriterion_IncomeRange) isAdGroupCriterion_Criterion() {}
  361. func (*AdGroupCriterion_ParentalStatus) isAdGroupCriterion_Criterion() {}
  362. func (*AdGroupCriterion_UserList) isAdGroupCriterion_Criterion() {}
  363. func (*AdGroupCriterion_YoutubeVideo) isAdGroupCriterion_Criterion() {}
  364. func (*AdGroupCriterion_YoutubeChannel) isAdGroupCriterion_Criterion() {}
  365. func (*AdGroupCriterion_Topic) isAdGroupCriterion_Criterion() {}
  366. func (*AdGroupCriterion_UserInterest) isAdGroupCriterion_Criterion() {}
  367. func (*AdGroupCriterion_Webpage) isAdGroupCriterion_Criterion() {}
  368. func (*AdGroupCriterion_AppPaymentModel) isAdGroupCriterion_Criterion() {}
  369. func (*AdGroupCriterion_CustomAffinity) isAdGroupCriterion_Criterion() {}
  370. func (*AdGroupCriterion_CustomIntent) isAdGroupCriterion_Criterion() {}
  371. func (m *AdGroupCriterion) GetCriterion() isAdGroupCriterion_Criterion {
  372. if m != nil {
  373. return m.Criterion
  374. }
  375. return nil
  376. }
  377. func (m *AdGroupCriterion) GetKeyword() *common.KeywordInfo {
  378. if x, ok := m.GetCriterion().(*AdGroupCriterion_Keyword); ok {
  379. return x.Keyword
  380. }
  381. return nil
  382. }
  383. func (m *AdGroupCriterion) GetPlacement() *common.PlacementInfo {
  384. if x, ok := m.GetCriterion().(*AdGroupCriterion_Placement); ok {
  385. return x.Placement
  386. }
  387. return nil
  388. }
  389. func (m *AdGroupCriterion) GetMobileAppCategory() *common.MobileAppCategoryInfo {
  390. if x, ok := m.GetCriterion().(*AdGroupCriterion_MobileAppCategory); ok {
  391. return x.MobileAppCategory
  392. }
  393. return nil
  394. }
  395. func (m *AdGroupCriterion) GetListingGroup() *common.ListingGroupInfo {
  396. if x, ok := m.GetCriterion().(*AdGroupCriterion_ListingGroup); ok {
  397. return x.ListingGroup
  398. }
  399. return nil
  400. }
  401. func (m *AdGroupCriterion) GetAgeRange() *common.AgeRangeInfo {
  402. if x, ok := m.GetCriterion().(*AdGroupCriterion_AgeRange); ok {
  403. return x.AgeRange
  404. }
  405. return nil
  406. }
  407. func (m *AdGroupCriterion) GetGender() *common.GenderInfo {
  408. if x, ok := m.GetCriterion().(*AdGroupCriterion_Gender); ok {
  409. return x.Gender
  410. }
  411. return nil
  412. }
  413. func (m *AdGroupCriterion) GetIncomeRange() *common.IncomeRangeInfo {
  414. if x, ok := m.GetCriterion().(*AdGroupCriterion_IncomeRange); ok {
  415. return x.IncomeRange
  416. }
  417. return nil
  418. }
  419. func (m *AdGroupCriterion) GetParentalStatus() *common.ParentalStatusInfo {
  420. if x, ok := m.GetCriterion().(*AdGroupCriterion_ParentalStatus); ok {
  421. return x.ParentalStatus
  422. }
  423. return nil
  424. }
  425. func (m *AdGroupCriterion) GetUserList() *common.UserListInfo {
  426. if x, ok := m.GetCriterion().(*AdGroupCriterion_UserList); ok {
  427. return x.UserList
  428. }
  429. return nil
  430. }
  431. func (m *AdGroupCriterion) GetYoutubeVideo() *common.YouTubeVideoInfo {
  432. if x, ok := m.GetCriterion().(*AdGroupCriterion_YoutubeVideo); ok {
  433. return x.YoutubeVideo
  434. }
  435. return nil
  436. }
  437. func (m *AdGroupCriterion) GetYoutubeChannel() *common.YouTubeChannelInfo {
  438. if x, ok := m.GetCriterion().(*AdGroupCriterion_YoutubeChannel); ok {
  439. return x.YoutubeChannel
  440. }
  441. return nil
  442. }
  443. func (m *AdGroupCriterion) GetTopic() *common.TopicInfo {
  444. if x, ok := m.GetCriterion().(*AdGroupCriterion_Topic); ok {
  445. return x.Topic
  446. }
  447. return nil
  448. }
  449. func (m *AdGroupCriterion) GetUserInterest() *common.UserInterestInfo {
  450. if x, ok := m.GetCriterion().(*AdGroupCriterion_UserInterest); ok {
  451. return x.UserInterest
  452. }
  453. return nil
  454. }
  455. func (m *AdGroupCriterion) GetWebpage() *common.WebpageInfo {
  456. if x, ok := m.GetCriterion().(*AdGroupCriterion_Webpage); ok {
  457. return x.Webpage
  458. }
  459. return nil
  460. }
  461. func (m *AdGroupCriterion) GetAppPaymentModel() *common.AppPaymentModelInfo {
  462. if x, ok := m.GetCriterion().(*AdGroupCriterion_AppPaymentModel); ok {
  463. return x.AppPaymentModel
  464. }
  465. return nil
  466. }
  467. func (m *AdGroupCriterion) GetCustomAffinity() *common.CustomAffinityInfo {
  468. if x, ok := m.GetCriterion().(*AdGroupCriterion_CustomAffinity); ok {
  469. return x.CustomAffinity
  470. }
  471. return nil
  472. }
  473. func (m *AdGroupCriterion) GetCustomIntent() *common.CustomIntentInfo {
  474. if x, ok := m.GetCriterion().(*AdGroupCriterion_CustomIntent); ok {
  475. return x.CustomIntent
  476. }
  477. return nil
  478. }
  479. // XXX_OneofFuncs is for the internal use of the proto package.
  480. func (*AdGroupCriterion) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  481. return _AdGroupCriterion_OneofMarshaler, _AdGroupCriterion_OneofUnmarshaler, _AdGroupCriterion_OneofSizer, []interface{}{
  482. (*AdGroupCriterion_Keyword)(nil),
  483. (*AdGroupCriterion_Placement)(nil),
  484. (*AdGroupCriterion_MobileAppCategory)(nil),
  485. (*AdGroupCriterion_ListingGroup)(nil),
  486. (*AdGroupCriterion_AgeRange)(nil),
  487. (*AdGroupCriterion_Gender)(nil),
  488. (*AdGroupCriterion_IncomeRange)(nil),
  489. (*AdGroupCriterion_ParentalStatus)(nil),
  490. (*AdGroupCriterion_UserList)(nil),
  491. (*AdGroupCriterion_YoutubeVideo)(nil),
  492. (*AdGroupCriterion_YoutubeChannel)(nil),
  493. (*AdGroupCriterion_Topic)(nil),
  494. (*AdGroupCriterion_UserInterest)(nil),
  495. (*AdGroupCriterion_Webpage)(nil),
  496. (*AdGroupCriterion_AppPaymentModel)(nil),
  497. (*AdGroupCriterion_CustomAffinity)(nil),
  498. (*AdGroupCriterion_CustomIntent)(nil),
  499. }
  500. }
  501. func _AdGroupCriterion_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  502. m := msg.(*AdGroupCriterion)
  503. // criterion
  504. switch x := m.Criterion.(type) {
  505. case *AdGroupCriterion_Keyword:
  506. b.EncodeVarint(27<<3 | proto.WireBytes)
  507. if err := b.EncodeMessage(x.Keyword); err != nil {
  508. return err
  509. }
  510. case *AdGroupCriterion_Placement:
  511. b.EncodeVarint(28<<3 | proto.WireBytes)
  512. if err := b.EncodeMessage(x.Placement); err != nil {
  513. return err
  514. }
  515. case *AdGroupCriterion_MobileAppCategory:
  516. b.EncodeVarint(29<<3 | proto.WireBytes)
  517. if err := b.EncodeMessage(x.MobileAppCategory); err != nil {
  518. return err
  519. }
  520. case *AdGroupCriterion_ListingGroup:
  521. b.EncodeVarint(32<<3 | proto.WireBytes)
  522. if err := b.EncodeMessage(x.ListingGroup); err != nil {
  523. return err
  524. }
  525. case *AdGroupCriterion_AgeRange:
  526. b.EncodeVarint(36<<3 | proto.WireBytes)
  527. if err := b.EncodeMessage(x.AgeRange); err != nil {
  528. return err
  529. }
  530. case *AdGroupCriterion_Gender:
  531. b.EncodeVarint(37<<3 | proto.WireBytes)
  532. if err := b.EncodeMessage(x.Gender); err != nil {
  533. return err
  534. }
  535. case *AdGroupCriterion_IncomeRange:
  536. b.EncodeVarint(38<<3 | proto.WireBytes)
  537. if err := b.EncodeMessage(x.IncomeRange); err != nil {
  538. return err
  539. }
  540. case *AdGroupCriterion_ParentalStatus:
  541. b.EncodeVarint(39<<3 | proto.WireBytes)
  542. if err := b.EncodeMessage(x.ParentalStatus); err != nil {
  543. return err
  544. }
  545. case *AdGroupCriterion_UserList:
  546. b.EncodeVarint(42<<3 | proto.WireBytes)
  547. if err := b.EncodeMessage(x.UserList); err != nil {
  548. return err
  549. }
  550. case *AdGroupCriterion_YoutubeVideo:
  551. b.EncodeVarint(40<<3 | proto.WireBytes)
  552. if err := b.EncodeMessage(x.YoutubeVideo); err != nil {
  553. return err
  554. }
  555. case *AdGroupCriterion_YoutubeChannel:
  556. b.EncodeVarint(41<<3 | proto.WireBytes)
  557. if err := b.EncodeMessage(x.YoutubeChannel); err != nil {
  558. return err
  559. }
  560. case *AdGroupCriterion_Topic:
  561. b.EncodeVarint(43<<3 | proto.WireBytes)
  562. if err := b.EncodeMessage(x.Topic); err != nil {
  563. return err
  564. }
  565. case *AdGroupCriterion_UserInterest:
  566. b.EncodeVarint(45<<3 | proto.WireBytes)
  567. if err := b.EncodeMessage(x.UserInterest); err != nil {
  568. return err
  569. }
  570. case *AdGroupCriterion_Webpage:
  571. b.EncodeVarint(46<<3 | proto.WireBytes)
  572. if err := b.EncodeMessage(x.Webpage); err != nil {
  573. return err
  574. }
  575. case *AdGroupCriterion_AppPaymentModel:
  576. b.EncodeVarint(47<<3 | proto.WireBytes)
  577. if err := b.EncodeMessage(x.AppPaymentModel); err != nil {
  578. return err
  579. }
  580. case *AdGroupCriterion_CustomAffinity:
  581. b.EncodeVarint(48<<3 | proto.WireBytes)
  582. if err := b.EncodeMessage(x.CustomAffinity); err != nil {
  583. return err
  584. }
  585. case *AdGroupCriterion_CustomIntent:
  586. b.EncodeVarint(49<<3 | proto.WireBytes)
  587. if err := b.EncodeMessage(x.CustomIntent); err != nil {
  588. return err
  589. }
  590. case nil:
  591. default:
  592. return fmt.Errorf("AdGroupCriterion.Criterion has unexpected type %T", x)
  593. }
  594. return nil
  595. }
  596. func _AdGroupCriterion_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  597. m := msg.(*AdGroupCriterion)
  598. switch tag {
  599. case 27: // criterion.keyword
  600. if wire != proto.WireBytes {
  601. return true, proto.ErrInternalBadWireType
  602. }
  603. msg := new(common.KeywordInfo)
  604. err := b.DecodeMessage(msg)
  605. m.Criterion = &AdGroupCriterion_Keyword{msg}
  606. return true, err
  607. case 28: // criterion.placement
  608. if wire != proto.WireBytes {
  609. return true, proto.ErrInternalBadWireType
  610. }
  611. msg := new(common.PlacementInfo)
  612. err := b.DecodeMessage(msg)
  613. m.Criterion = &AdGroupCriterion_Placement{msg}
  614. return true, err
  615. case 29: // criterion.mobile_app_category
  616. if wire != proto.WireBytes {
  617. return true, proto.ErrInternalBadWireType
  618. }
  619. msg := new(common.MobileAppCategoryInfo)
  620. err := b.DecodeMessage(msg)
  621. m.Criterion = &AdGroupCriterion_MobileAppCategory{msg}
  622. return true, err
  623. case 32: // criterion.listing_group
  624. if wire != proto.WireBytes {
  625. return true, proto.ErrInternalBadWireType
  626. }
  627. msg := new(common.ListingGroupInfo)
  628. err := b.DecodeMessage(msg)
  629. m.Criterion = &AdGroupCriterion_ListingGroup{msg}
  630. return true, err
  631. case 36: // criterion.age_range
  632. if wire != proto.WireBytes {
  633. return true, proto.ErrInternalBadWireType
  634. }
  635. msg := new(common.AgeRangeInfo)
  636. err := b.DecodeMessage(msg)
  637. m.Criterion = &AdGroupCriterion_AgeRange{msg}
  638. return true, err
  639. case 37: // criterion.gender
  640. if wire != proto.WireBytes {
  641. return true, proto.ErrInternalBadWireType
  642. }
  643. msg := new(common.GenderInfo)
  644. err := b.DecodeMessage(msg)
  645. m.Criterion = &AdGroupCriterion_Gender{msg}
  646. return true, err
  647. case 38: // criterion.income_range
  648. if wire != proto.WireBytes {
  649. return true, proto.ErrInternalBadWireType
  650. }
  651. msg := new(common.IncomeRangeInfo)
  652. err := b.DecodeMessage(msg)
  653. m.Criterion = &AdGroupCriterion_IncomeRange{msg}
  654. return true, err
  655. case 39: // criterion.parental_status
  656. if wire != proto.WireBytes {
  657. return true, proto.ErrInternalBadWireType
  658. }
  659. msg := new(common.ParentalStatusInfo)
  660. err := b.DecodeMessage(msg)
  661. m.Criterion = &AdGroupCriterion_ParentalStatus{msg}
  662. return true, err
  663. case 42: // criterion.user_list
  664. if wire != proto.WireBytes {
  665. return true, proto.ErrInternalBadWireType
  666. }
  667. msg := new(common.UserListInfo)
  668. err := b.DecodeMessage(msg)
  669. m.Criterion = &AdGroupCriterion_UserList{msg}
  670. return true, err
  671. case 40: // criterion.youtube_video
  672. if wire != proto.WireBytes {
  673. return true, proto.ErrInternalBadWireType
  674. }
  675. msg := new(common.YouTubeVideoInfo)
  676. err := b.DecodeMessage(msg)
  677. m.Criterion = &AdGroupCriterion_YoutubeVideo{msg}
  678. return true, err
  679. case 41: // criterion.youtube_channel
  680. if wire != proto.WireBytes {
  681. return true, proto.ErrInternalBadWireType
  682. }
  683. msg := new(common.YouTubeChannelInfo)
  684. err := b.DecodeMessage(msg)
  685. m.Criterion = &AdGroupCriterion_YoutubeChannel{msg}
  686. return true, err
  687. case 43: // criterion.topic
  688. if wire != proto.WireBytes {
  689. return true, proto.ErrInternalBadWireType
  690. }
  691. msg := new(common.TopicInfo)
  692. err := b.DecodeMessage(msg)
  693. m.Criterion = &AdGroupCriterion_Topic{msg}
  694. return true, err
  695. case 45: // criterion.user_interest
  696. if wire != proto.WireBytes {
  697. return true, proto.ErrInternalBadWireType
  698. }
  699. msg := new(common.UserInterestInfo)
  700. err := b.DecodeMessage(msg)
  701. m.Criterion = &AdGroupCriterion_UserInterest{msg}
  702. return true, err
  703. case 46: // criterion.webpage
  704. if wire != proto.WireBytes {
  705. return true, proto.ErrInternalBadWireType
  706. }
  707. msg := new(common.WebpageInfo)
  708. err := b.DecodeMessage(msg)
  709. m.Criterion = &AdGroupCriterion_Webpage{msg}
  710. return true, err
  711. case 47: // criterion.app_payment_model
  712. if wire != proto.WireBytes {
  713. return true, proto.ErrInternalBadWireType
  714. }
  715. msg := new(common.AppPaymentModelInfo)
  716. err := b.DecodeMessage(msg)
  717. m.Criterion = &AdGroupCriterion_AppPaymentModel{msg}
  718. return true, err
  719. case 48: // criterion.custom_affinity
  720. if wire != proto.WireBytes {
  721. return true, proto.ErrInternalBadWireType
  722. }
  723. msg := new(common.CustomAffinityInfo)
  724. err := b.DecodeMessage(msg)
  725. m.Criterion = &AdGroupCriterion_CustomAffinity{msg}
  726. return true, err
  727. case 49: // criterion.custom_intent
  728. if wire != proto.WireBytes {
  729. return true, proto.ErrInternalBadWireType
  730. }
  731. msg := new(common.CustomIntentInfo)
  732. err := b.DecodeMessage(msg)
  733. m.Criterion = &AdGroupCriterion_CustomIntent{msg}
  734. return true, err
  735. default:
  736. return false, nil
  737. }
  738. }
  739. func _AdGroupCriterion_OneofSizer(msg proto.Message) (n int) {
  740. m := msg.(*AdGroupCriterion)
  741. // criterion
  742. switch x := m.Criterion.(type) {
  743. case *AdGroupCriterion_Keyword:
  744. s := proto.Size(x.Keyword)
  745. n += 2 // tag and wire
  746. n += proto.SizeVarint(uint64(s))
  747. n += s
  748. case *AdGroupCriterion_Placement:
  749. s := proto.Size(x.Placement)
  750. n += 2 // tag and wire
  751. n += proto.SizeVarint(uint64(s))
  752. n += s
  753. case *AdGroupCriterion_MobileAppCategory:
  754. s := proto.Size(x.MobileAppCategory)
  755. n += 2 // tag and wire
  756. n += proto.SizeVarint(uint64(s))
  757. n += s
  758. case *AdGroupCriterion_ListingGroup:
  759. s := proto.Size(x.ListingGroup)
  760. n += 2 // tag and wire
  761. n += proto.SizeVarint(uint64(s))
  762. n += s
  763. case *AdGroupCriterion_AgeRange:
  764. s := proto.Size(x.AgeRange)
  765. n += 2 // tag and wire
  766. n += proto.SizeVarint(uint64(s))
  767. n += s
  768. case *AdGroupCriterion_Gender:
  769. s := proto.Size(x.Gender)
  770. n += 2 // tag and wire
  771. n += proto.SizeVarint(uint64(s))
  772. n += s
  773. case *AdGroupCriterion_IncomeRange:
  774. s := proto.Size(x.IncomeRange)
  775. n += 2 // tag and wire
  776. n += proto.SizeVarint(uint64(s))
  777. n += s
  778. case *AdGroupCriterion_ParentalStatus:
  779. s := proto.Size(x.ParentalStatus)
  780. n += 2 // tag and wire
  781. n += proto.SizeVarint(uint64(s))
  782. n += s
  783. case *AdGroupCriterion_UserList:
  784. s := proto.Size(x.UserList)
  785. n += 2 // tag and wire
  786. n += proto.SizeVarint(uint64(s))
  787. n += s
  788. case *AdGroupCriterion_YoutubeVideo:
  789. s := proto.Size(x.YoutubeVideo)
  790. n += 2 // tag and wire
  791. n += proto.SizeVarint(uint64(s))
  792. n += s
  793. case *AdGroupCriterion_YoutubeChannel:
  794. s := proto.Size(x.YoutubeChannel)
  795. n += 2 // tag and wire
  796. n += proto.SizeVarint(uint64(s))
  797. n += s
  798. case *AdGroupCriterion_Topic:
  799. s := proto.Size(x.Topic)
  800. n += 2 // tag and wire
  801. n += proto.SizeVarint(uint64(s))
  802. n += s
  803. case *AdGroupCriterion_UserInterest:
  804. s := proto.Size(x.UserInterest)
  805. n += 2 // tag and wire
  806. n += proto.SizeVarint(uint64(s))
  807. n += s
  808. case *AdGroupCriterion_Webpage:
  809. s := proto.Size(x.Webpage)
  810. n += 2 // tag and wire
  811. n += proto.SizeVarint(uint64(s))
  812. n += s
  813. case *AdGroupCriterion_AppPaymentModel:
  814. s := proto.Size(x.AppPaymentModel)
  815. n += 2 // tag and wire
  816. n += proto.SizeVarint(uint64(s))
  817. n += s
  818. case *AdGroupCriterion_CustomAffinity:
  819. s := proto.Size(x.CustomAffinity)
  820. n += 2 // tag and wire
  821. n += proto.SizeVarint(uint64(s))
  822. n += s
  823. case *AdGroupCriterion_CustomIntent:
  824. s := proto.Size(x.CustomIntent)
  825. n += 2 // tag and wire
  826. n += proto.SizeVarint(uint64(s))
  827. n += s
  828. case nil:
  829. default:
  830. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  831. }
  832. return n
  833. }
  834. // A container for ad group criterion quality information.
  835. type AdGroupCriterion_QualityInfo struct {
  836. // The quality score.
  837. //
  838. // This field may not be populated if Google does not have enough
  839. // information to determine a value.
  840. QualityScore *wrappers.Int32Value `protobuf:"bytes,1,opt,name=quality_score,json=qualityScore,proto3" json:"quality_score,omitempty"`
  841. // The performance of the ad compared to other advertisers.
  842. CreativeQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,2,opt,name=creative_quality_score,json=creativeQualityScore,proto3,enum=google.ads.googleads.v1.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"creative_quality_score,omitempty"`
  843. // The quality score of the landing page.
  844. PostClickQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,3,opt,name=post_click_quality_score,json=postClickQualityScore,proto3,enum=google.ads.googleads.v1.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"post_click_quality_score,omitempty"`
  845. // The click-through rate compared to that of other advertisers.
  846. SearchPredictedCtr enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,4,opt,name=search_predicted_ctr,json=searchPredictedCtr,proto3,enum=google.ads.googleads.v1.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"search_predicted_ctr,omitempty"`
  847. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  848. XXX_unrecognized []byte `json:"-"`
  849. XXX_sizecache int32 `json:"-"`
  850. }
  851. func (m *AdGroupCriterion_QualityInfo) Reset() { *m = AdGroupCriterion_QualityInfo{} }
  852. func (m *AdGroupCriterion_QualityInfo) String() string { return proto.CompactTextString(m) }
  853. func (*AdGroupCriterion_QualityInfo) ProtoMessage() {}
  854. func (*AdGroupCriterion_QualityInfo) Descriptor() ([]byte, []int) {
  855. return fileDescriptor_ad_group_criterion_14b0f5d2be23ccba, []int{0, 0}
  856. }
  857. func (m *AdGroupCriterion_QualityInfo) XXX_Unmarshal(b []byte) error {
  858. return xxx_messageInfo_AdGroupCriterion_QualityInfo.Unmarshal(m, b)
  859. }
  860. func (m *AdGroupCriterion_QualityInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  861. return xxx_messageInfo_AdGroupCriterion_QualityInfo.Marshal(b, m, deterministic)
  862. }
  863. func (dst *AdGroupCriterion_QualityInfo) XXX_Merge(src proto.Message) {
  864. xxx_messageInfo_AdGroupCriterion_QualityInfo.Merge(dst, src)
  865. }
  866. func (m *AdGroupCriterion_QualityInfo) XXX_Size() int {
  867. return xxx_messageInfo_AdGroupCriterion_QualityInfo.Size(m)
  868. }
  869. func (m *AdGroupCriterion_QualityInfo) XXX_DiscardUnknown() {
  870. xxx_messageInfo_AdGroupCriterion_QualityInfo.DiscardUnknown(m)
  871. }
  872. var xxx_messageInfo_AdGroupCriterion_QualityInfo proto.InternalMessageInfo
  873. func (m *AdGroupCriterion_QualityInfo) GetQualityScore() *wrappers.Int32Value {
  874. if m != nil {
  875. return m.QualityScore
  876. }
  877. return nil
  878. }
  879. func (m *AdGroupCriterion_QualityInfo) GetCreativeQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket {
  880. if m != nil {
  881. return m.CreativeQualityScore
  882. }
  883. return enums.QualityScoreBucketEnum_UNSPECIFIED
  884. }
  885. func (m *AdGroupCriterion_QualityInfo) GetPostClickQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket {
  886. if m != nil {
  887. return m.PostClickQualityScore
  888. }
  889. return enums.QualityScoreBucketEnum_UNSPECIFIED
  890. }
  891. func (m *AdGroupCriterion_QualityInfo) GetSearchPredictedCtr() enums.QualityScoreBucketEnum_QualityScoreBucket {
  892. if m != nil {
  893. return m.SearchPredictedCtr
  894. }
  895. return enums.QualityScoreBucketEnum_UNSPECIFIED
  896. }
  897. // Estimates for criterion bids at various positions.
  898. type AdGroupCriterion_PositionEstimates struct {
  899. // The estimate of the CPC bid required for ad to be shown on first
  900. // page of search results.
  901. FirstPageCpcMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=first_page_cpc_micros,json=firstPageCpcMicros,proto3" json:"first_page_cpc_micros,omitempty"`
  902. // The estimate of the CPC bid required for ad to be displayed in first
  903. // position, at the top of the first page of search results.
  904. FirstPositionCpcMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=first_position_cpc_micros,json=firstPositionCpcMicros,proto3" json:"first_position_cpc_micros,omitempty"`
  905. // The estimate of the CPC bid required for ad to be displayed at the top
  906. // of the first page of search results.
  907. TopOfPageCpcMicros *wrappers.Int64Value `protobuf:"bytes,3,opt,name=top_of_page_cpc_micros,json=topOfPageCpcMicros,proto3" json:"top_of_page_cpc_micros,omitempty"`
  908. // Estimate of how many clicks per week you might get by changing your
  909. // keyword bid to the value in first_position_cpc_micros.
  910. EstimatedAddClicksAtFirstPositionCpc *wrappers.Int64Value `protobuf:"bytes,4,opt,name=estimated_add_clicks_at_first_position_cpc,json=estimatedAddClicksAtFirstPositionCpc,proto3" json:"estimated_add_clicks_at_first_position_cpc,omitempty"`
  911. // Estimate of how your cost per week might change when changing your
  912. // keyword bid to the value in first_position_cpc_micros.
  913. EstimatedAddCostAtFirstPositionCpc *wrappers.Int64Value `protobuf:"bytes,5,opt,name=estimated_add_cost_at_first_position_cpc,json=estimatedAddCostAtFirstPositionCpc,proto3" json:"estimated_add_cost_at_first_position_cpc,omitempty"`
  914. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  915. XXX_unrecognized []byte `json:"-"`
  916. XXX_sizecache int32 `json:"-"`
  917. }
  918. func (m *AdGroupCriterion_PositionEstimates) Reset() { *m = AdGroupCriterion_PositionEstimates{} }
  919. func (m *AdGroupCriterion_PositionEstimates) String() string { return proto.CompactTextString(m) }
  920. func (*AdGroupCriterion_PositionEstimates) ProtoMessage() {}
  921. func (*AdGroupCriterion_PositionEstimates) Descriptor() ([]byte, []int) {
  922. return fileDescriptor_ad_group_criterion_14b0f5d2be23ccba, []int{0, 1}
  923. }
  924. func (m *AdGroupCriterion_PositionEstimates) XXX_Unmarshal(b []byte) error {
  925. return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Unmarshal(m, b)
  926. }
  927. func (m *AdGroupCriterion_PositionEstimates) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  928. return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Marshal(b, m, deterministic)
  929. }
  930. func (dst *AdGroupCriterion_PositionEstimates) XXX_Merge(src proto.Message) {
  931. xxx_messageInfo_AdGroupCriterion_PositionEstimates.Merge(dst, src)
  932. }
  933. func (m *AdGroupCriterion_PositionEstimates) XXX_Size() int {
  934. return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Size(m)
  935. }
  936. func (m *AdGroupCriterion_PositionEstimates) XXX_DiscardUnknown() {
  937. xxx_messageInfo_AdGroupCriterion_PositionEstimates.DiscardUnknown(m)
  938. }
  939. var xxx_messageInfo_AdGroupCriterion_PositionEstimates proto.InternalMessageInfo
  940. func (m *AdGroupCriterion_PositionEstimates) GetFirstPageCpcMicros() *wrappers.Int64Value {
  941. if m != nil {
  942. return m.FirstPageCpcMicros
  943. }
  944. return nil
  945. }
  946. func (m *AdGroupCriterion_PositionEstimates) GetFirstPositionCpcMicros() *wrappers.Int64Value {
  947. if m != nil {
  948. return m.FirstPositionCpcMicros
  949. }
  950. return nil
  951. }
  952. func (m *AdGroupCriterion_PositionEstimates) GetTopOfPageCpcMicros() *wrappers.Int64Value {
  953. if m != nil {
  954. return m.TopOfPageCpcMicros
  955. }
  956. return nil
  957. }
  958. func (m *AdGroupCriterion_PositionEstimates) GetEstimatedAddClicksAtFirstPositionCpc() *wrappers.Int64Value {
  959. if m != nil {
  960. return m.EstimatedAddClicksAtFirstPositionCpc
  961. }
  962. return nil
  963. }
  964. func (m *AdGroupCriterion_PositionEstimates) GetEstimatedAddCostAtFirstPositionCpc() *wrappers.Int64Value {
  965. if m != nil {
  966. return m.EstimatedAddCostAtFirstPositionCpc
  967. }
  968. return nil
  969. }
  970. func init() {
  971. proto.RegisterType((*AdGroupCriterion)(nil), "google.ads.googleads.v1.resources.AdGroupCriterion")
  972. proto.RegisterType((*AdGroupCriterion_QualityInfo)(nil), "google.ads.googleads.v1.resources.AdGroupCriterion.QualityInfo")
  973. proto.RegisterType((*AdGroupCriterion_PositionEstimates)(nil), "google.ads.googleads.v1.resources.AdGroupCriterion.PositionEstimates")
  974. }
  975. func init() {
  976. proto.RegisterFile("google/ads/googleads/v1/resources/ad_group_criterion.proto", fileDescriptor_ad_group_criterion_14b0f5d2be23ccba)
  977. }
  978. var fileDescriptor_ad_group_criterion_14b0f5d2be23ccba = []byte{
  979. // 1642 bytes of a gzipped FileDescriptorProto
  980. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x98, 0xdd, 0x72, 0xdb, 0xc6,
  981. 0x15, 0xc7, 0x4b, 0x29, 0x76, 0xac, 0xd5, 0x87, 0xad, 0x95, 0xa9, 0x6e, 0x14, 0xb5, 0x95, 0x9d,
  982. 0xa8, 0x55, 0x9c, 0x18, 0x8c, 0xa4, 0x24, 0xed, 0x30, 0xd3, 0xa4, 0x14, 0xe3, 0xc8, 0x6a, 0xaa,
  983. 0x84, 0xa1, 0x64, 0x65, 0xda, 0x51, 0x07, 0xb3, 0x04, 0x96, 0xf0, 0x8e, 0x00, 0x2c, 0xbc, 0xbb,
  984. 0xa0, 0xca, 0x5e, 0x74, 0xa6, 0xbd, 0xe8, 0x75, 0x9f, 0xa1, 0x97, 0x7d, 0x94, 0xde, 0xf8, 0x3d,
  985. 0xfa, 0x00, 0xbd, 0xee, 0xec, 0x17, 0x09, 0x92, 0x22, 0x41, 0x77, 0x74, 0x07, 0x1c, 0x9c, 0xff,
  986. 0xef, 0x9c, 0x3d, 0x67, 0x01, 0x1c, 0x00, 0xd4, 0x23, 0xc6, 0xa2, 0x98, 0xd4, 0x70, 0x28, 0x6a,
  987. 0xe6, 0x50, 0x1d, 0xf5, 0xf6, 0x6b, 0x9c, 0x08, 0x96, 0xf3, 0x80, 0x88, 0x1a, 0x0e, 0xfd, 0x88,
  988. 0xb3, 0x3c, 0xf3, 0x03, 0x4e, 0x25, 0xe1, 0x94, 0xa5, 0x5e, 0xc6, 0x99, 0x64, 0xf0, 0x91, 0x11,
  989. 0x78, 0x38, 0x14, 0xde, 0x40, 0xeb, 0xf5, 0xf6, 0xbd, 0x81, 0x76, 0xeb, 0xe9, 0x34, 0x7c, 0xc0,
  990. 0x92, 0x84, 0xa5, 0x35, 0x8b, 0xc4, 0x86, 0xb8, 0xf5, 0x69, 0x99, 0x7b, 0x2e, 0x24, 0x4b, 0xfc,
  991. 0x0c, 0x73, 0x9c, 0x10, 0x49, 0xb8, 0x95, 0xfd, 0x7a, 0x9a, 0x8c, 0xa4, 0x79, 0x72, 0xd3, 0x02,
  992. 0x7c, 0x21, 0xb1, 0xcc, 0x85, 0x95, 0x1f, 0xcc, 0x96, 0x77, 0x68, 0x18, 0xd2, 0x34, 0xf2, 0xcd,
  993. 0x9a, 0xac, 0xa6, 0x39, 0x5b, 0x53, 0x88, 0xd4, 0x17, 0x92, 0x24, 0xbe, 0x20, 0xbc, 0xa7, 0x21,
  994. 0x6f, 0x10, 0x78, 0x08, 0x91, 0xfd, 0xcc, 0x05, 0xfe, 0xd5, 0x6c, 0xcd, 0xab, 0x1c, 0xc7, 0x54,
  995. 0xf6, 0x7d, 0x11, 0x30, 0x4e, 0xfc, 0x4e, 0x1e, 0x5c, 0x11, 0x69, 0x95, 0x3f, 0xb5, 0x4a, 0x7d,
  996. 0xd6, 0xc9, 0xbb, 0xb5, 0x6b, 0x8e, 0xb3, 0x8c, 0x70, 0x97, 0xcd, 0xb6, 0x23, 0x67, 0xb4, 0x86,
  997. 0xd3, 0x94, 0x49, 0x2c, 0x29, 0x4b, 0xed, 0xd5, 0xc7, 0xaf, 0x77, 0xc1, 0x83, 0x46, 0x78, 0xac,
  998. 0xea, 0xd8, 0x74, 0x79, 0xc1, 0xf7, 0xc0, 0xaa, 0xeb, 0xb5, 0x9f, 0xe2, 0x84, 0xa0, 0xca, 0x4e,
  999. 0x65, 0x6f, 0xa9, 0xbd, 0xe2, 0x8c, 0xdf, 0xe2, 0x84, 0xc0, 0x2f, 0xc0, 0xca, 0x70, 0x25, 0x34,
  1000. 0x44, 0x5b, 0x3b, 0x95, 0xbd, 0xe5, 0x83, 0x77, 0xed, 0x96, 0xf1, 0x5c, 0x3a, 0xde, 0x49, 0x2a,
  1001. 0x3f, 0xfb, 0xe4, 0x02, 0xc7, 0x39, 0x69, 0x2f, 0x0f, 0x04, 0x27, 0x21, 0x7c, 0x09, 0xee, 0x9a,
  1002. 0xaa, 0xa1, 0xc5, 0x9d, 0xca, 0xde, 0xda, 0x41, 0xcb, 0x9b, 0xb6, 0xef, 0x74, 0x09, 0xbc, 0xf1,
  1003. 0x2c, 0xcf, 0xb4, 0xf8, 0x59, 0x9a, 0x27, 0x53, 0x2e, 0xb5, 0x2d, 0x1f, 0x76, 0xc0, 0x8a, 0xab,
  1004. 0x1f, 0x4d, 0xbb, 0x0c, 0xbd, 0xa5, 0x33, 0xfd, 0xd2, 0x2b, 0xdd, 0xe7, 0x13, 0x60, 0xef, 0x7b,
  1005. 0xc3, 0x39, 0x49, 0xbb, 0xac, 0xbd, 0xfc, 0x6a, 0x78, 0x02, 0x7f, 0x09, 0xee, 0xb9, 0xfd, 0x88,
  1006. 0xee, 0x68, 0xfe, 0xf6, 0x44, 0x25, 0xce, 0x24, 0xa7, 0x69, 0x64, 0x4a, 0xf1, 0x36, 0x36, 0x68,
  1007. 0xd8, 0x06, 0x6f, 0xa9, 0x6d, 0x80, 0xde, 0xd1, 0x45, 0xf8, 0xa2, 0xa4, 0x08, 0x83, 0x4c, 0xce,
  1008. 0xfb, 0x19, 0xd1, 0x6b, 0x1f, 0xb1, 0xb4, 0x35, 0x0b, 0x7e, 0x06, 0xee, 0xa5, 0x24, 0xc2, 0x92,
  1009. 0xf6, 0x08, 0xfa, 0x99, 0x4e, 0x66, 0x6b, 0x22, 0x99, 0x23, 0xc6, 0x62, 0x93, 0xca, 0xc0, 0x17,
  1010. 0xfe, 0xa3, 0x02, 0xaa, 0x37, 0x6e, 0x6c, 0xf4, 0x89, 0xce, 0xee, 0x72, 0xde, 0xec, 0xce, 0x34,
  1011. 0xe4, 0xcc, 0x30, 0x0a, 0x8d, 0x9a, 0xe5, 0xd0, 0xde, 0x10, 0x93, 0x46, 0xf8, 0x25, 0x58, 0xe9,
  1012. 0xd0, 0xd0, 0x4f, 0x58, 0x48, 0xbb, 0x94, 0x70, 0xf4, 0xd1, 0x94, 0xda, 0x7e, 0xc5, 0xf2, 0x4e,
  1013. 0x4c, 0xec, 0x36, 0xeb, 0xd0, 0xf0, 0xd4, 0x0a, 0x60, 0x03, 0xac, 0x05, 0x59, 0xe0, 0x6b, 0x08,
  1014. 0x0d, 0x38, 0x13, 0xe8, 0x41, 0xf9, 0x46, 0x5d, 0x09, 0xb2, 0xe0, 0x88, 0x86, 0xa7, 0x5a, 0x60,
  1015. 0x10, 0x49, 0x11, 0xb1, 0x3e, 0x17, 0x22, 0x19, 0x43, 0xf4, 0x8a, 0x08, 0x34, 0x17, 0xa2, 0x37,
  1016. 0x44, 0xb4, 0xc0, 0x66, 0x46, 0x78, 0x40, 0x52, 0xe9, 0x8f, 0x2d, 0xe8, 0x51, 0x39, 0x6a, 0xc3,
  1017. 0x4a, 0x9b, 0xc5, 0x75, 0x9d, 0x03, 0x44, 0xba, 0x5d, 0x12, 0xa8, 0xde, 0x8f, 0x33, 0x61, 0x39,
  1018. 0xb3, 0x3a, 0x10, 0xcf, 0xa2, 0x8e, 0xd4, 0x6d, 0xe3, 0xcd, 0xa8, 0xc9, 0x54, 0xea, 0x48, 0x29,
  1019. 0x1f, 0xbe, 0x19, 0xb5, 0x50, 0xd3, 0x00, 0xec, 0x0c, 0xa9, 0x53, 0xaa, 0xfb, 0xb8, 0x9c, 0xbe,
  1020. 0x3d, 0x80, 0xb4, 0x6e, 0x28, 0xf3, 0xf5, 0x4d, 0x65, 0x36, 0x4f, 0x18, 0x54, 0x9d, 0xeb, 0xae,
  1021. 0x3f, 0x32, 0xaf, 0xaa, 0x33, 0xad, 0xd1, 0x37, 0xd2, 0x88, 0x65, 0xa2, 0x13, 0xc6, 0x3c, 0x1e,
  1022. 0x38, 0x29, 0x06, 0xde, 0xbc, 0xf5, 0xc0, 0xc9, 0xd4, 0xc0, 0xbd, 0x62, 0xe0, 0x1f, 0xdf, 0x7a,
  1023. 0xe0, 0xde, 0x30, 0xf0, 0xdf, 0x2b, 0xb3, 0x1a, 0x6a, 0x33, 0x78, 0xef, 0x56, 0x32, 0x98, 0xd2,
  1024. 0x73, 0x9b, 0x88, 0x04, 0x30, 0x63, 0x82, 0xaa, 0x37, 0xad, 0x4f, 0x84, 0xa4, 0x09, 0x96, 0x44,
  1025. 0x20, 0xa0, 0xb7, 0xd2, 0xb3, 0xff, 0xe7, 0xc5, 0xd3, 0xb2, 0xb4, 0x67, 0x0e, 0xd6, 0x5e, 0xcf,
  1026. 0xc6, 0x4d, 0xf0, 0x73, 0x00, 0xba, 0x34, 0xc5, 0xb1, 0x9f, 0xf3, 0x58, 0xa0, 0xe5, 0x9d, 0xc5,
  1027. 0xd2, 0xd7, 0xd0, 0x92, 0xf6, 0x7f, 0xc1, 0x63, 0x01, 0x9f, 0x83, 0x75, 0x23, 0x4e, 0x58, 0x87,
  1028. 0xc6, 0xc4, 0x30, 0x0e, 0xe7, 0x60, 0xdc, 0xd7, 0xb2, 0x53, 0xad, 0xd2, 0xa4, 0xaf, 0xc1, 0x83,
  1029. 0x41, 0x1a, 0xbe, 0xc8, 0xbb, 0x5d, 0xfa, 0x27, 0x74, 0x30, 0xc7, 0x3b, 0x71, 0xcd, 0x25, 0x73,
  1030. 0xa6, 0x35, 0xb0, 0x05, 0xaa, 0x92, 0xe3, 0xe0, 0x4a, 0xbd, 0x87, 0x14, 0x4a, 0x92, 0x24, 0x8b,
  1031. 0xb1, 0x24, 0x68, 0x75, 0x0e, 0xd8, 0x86, 0x93, 0xbe, 0xe0, 0xf1, 0xb9, 0x15, 0xc2, 0x00, 0x54,
  1032. 0x15, 0x68, 0x7c, 0xde, 0x14, 0x68, 0x4d, 0xaf, 0xb3, 0x36, 0xb5, 0x33, 0x66, 0x50, 0xf5, 0x9a,
  1033. 0x5a, 0xd8, 0x72, 0xba, 0xf6, 0x46, 0xce, 0xe3, 0x31, 0x9b, 0x80, 0xc7, 0xe0, 0xed, 0x2b, 0xd2,
  1034. 0xbf, 0x66, 0x3c, 0x44, 0xef, 0xea, 0x44, 0x3f, 0x2c, 0xc3, 0x7e, 0x63, 0xdc, 0xd5, 0x20, 0xf1,
  1035. 0xfc, 0x47, 0x6d, 0xa7, 0x86, 0xa7, 0x60, 0x29, 0x8b, 0x71, 0x40, 0x12, 0x92, 0x4a, 0xb4, 0xad,
  1036. 0x51, 0x4f, 0xcb, 0x50, 0x2d, 0x27, 0xb0, 0xb0, 0x21, 0x01, 0x46, 0x60, 0xc3, 0xb6, 0x16, 0x67,
  1037. 0x99, 0x1f, 0x60, 0x49, 0x22, 0xc6, 0xfb, 0xe8, 0x27, 0x1a, 0xfc, 0x69, 0x19, 0xd8, 0xf4, 0xb7,
  1038. 0x91, 0x65, 0x4d, 0x2b, 0xb4, 0x01, 0xd6, 0x93, 0xf1, 0x0b, 0xf0, 0x07, 0xb0, 0x1a, 0x53, 0x21,
  1039. 0x55, 0xdb, 0xcc, 0x40, 0xb4, 0xa3, 0x43, 0x7c, 0x5c, 0x16, 0xe2, 0x77, 0x46, 0xa4, 0x77, 0xbe,
  1040. 0xa5, 0xaf, 0xc4, 0x05, 0x1b, 0xfc, 0x06, 0x2c, 0xe1, 0x88, 0xf8, 0x1c, 0xa7, 0x11, 0x41, 0xef,
  1041. 0x6b, 0xe8, 0x47, 0x65, 0xd0, 0x46, 0x44, 0xda, 0xca, 0xdf, 0x02, 0xef, 0x61, 0x7b, 0x0e, 0xbf,
  1042. 0x02, 0x77, 0x23, 0x92, 0x86, 0x84, 0xa3, 0x5d, 0x4d, 0x7a, 0x52, 0x46, 0x3a, 0xd6, 0xde, 0x96,
  1043. 0x63, 0xb5, 0xf0, 0x1c, 0xac, 0xd0, 0x34, 0x60, 0x89, 0xcb, 0xea, 0xe7, 0x9a, 0x55, 0xba, 0x91,
  1044. 0x4e, 0xb4, 0xa6, 0x98, 0xd8, 0x32, 0x1d, 0x9a, 0xe0, 0x1f, 0xc1, 0xfd, 0x0c, 0x73, 0x92, 0x4a,
  1045. 0x1c, 0xbb, 0x09, 0xec, 0x17, 0x1a, 0x7c, 0x50, 0xda, 0x7f, 0x2b, 0x33, 0xe3, 0x93, 0x65, 0xaf,
  1046. 0x65, 0x23, 0x56, 0x55, 0xc7, 0x5c, 0x10, 0xee, 0xab, 0xe2, 0xa2, 0x27, 0xf3, 0xd5, 0xf1, 0x85,
  1047. 0x20, 0x5c, 0x35, 0xc8, 0xd5, 0x31, 0xb7, 0xe7, 0xaa, 0xdb, 0x7d, 0x96, 0xcb, 0xbc, 0x43, 0xfc,
  1048. 0x1e, 0x0d, 0x09, 0x43, 0x7b, 0xf3, 0x75, 0xfb, 0xf7, 0x2c, 0x3f, 0xcf, 0x3b, 0xe4, 0x42, 0x69,
  1049. 0x5c, 0xb7, 0x2d, 0x48, 0xdb, 0x54, 0x11, 0x1c, 0x38, 0x78, 0x89, 0xd3, 0x94, 0xc4, 0xe8, 0x83,
  1050. 0xf9, 0x8a, 0x60, 0xd1, 0x4d, 0xa3, 0x72, 0x45, 0xb0, 0x30, 0x6b, 0x85, 0x0d, 0x70, 0x47, 0xb2,
  1051. 0x8c, 0x06, 0xe8, 0x43, 0x0d, 0xfd, 0xa0, 0x0c, 0x7a, 0xae, 0x9c, 0x2d, 0xcb, 0x28, 0xd5, 0xd2,
  1052. 0x75, 0x1d, 0x69, 0x2a, 0x09, 0x27, 0x42, 0xa2, 0xa7, 0xf3, 0x2d, 0x5d, 0xd5, 0xf2, 0xc4, 0x6a,
  1053. 0xdc, 0xd2, 0xf3, 0x82, 0x4d, 0x3d, 0x42, 0xae, 0x49, 0x27, 0xc3, 0x11, 0x41, 0xde, 0x7c, 0x8f,
  1054. 0x90, 0x1f, 0x8c, 0xbb, 0x7b, 0x84, 0x58, 0x35, 0xc4, 0x60, 0x5d, 0xdd, 0xec, 0x19, 0xee, 0xab,
  1055. 0x47, 0x80, 0x1a, 0xa3, 0x49, 0x8c, 0x6a, 0x1a, 0x79, 0x58, 0x7a, 0xe7, 0x64, 0x59, 0xcb, 0xe8,
  1056. 0x4e, 0x95, 0xcc, 0xa2, 0xef, 0xe3, 0x51, 0xb3, 0x6a, 0x93, 0x7d, 0x9e, 0xe2, 0x6e, 0x97, 0xa6,
  1057. 0x54, 0xf6, 0xd1, 0xc7, 0xf3, 0xb5, 0xc9, 0x3c, 0x39, 0x1b, 0x56, 0xe5, 0xda, 0x14, 0x8c, 0x58,
  1058. 0x55, 0x8d, 0x2d, 0x5e, 0x55, 0x39, 0x95, 0x68, 0x7f, 0xbe, 0x1a, 0x1b, 0xf8, 0x89, 0xd6, 0xb8,
  1059. 0x1a, 0x07, 0x05, 0xdb, 0xd6, 0xeb, 0x45, 0xb0, 0x5c, 0xf8, 0x9c, 0x83, 0xbf, 0x01, 0xab, 0x23,
  1060. 0x5f, 0xd9, 0xfa, 0xa3, 0x77, 0xca, 0xe0, 0x77, 0x78, 0x60, 0x27, 0x74, 0xab, 0x38, 0x53, 0x02,
  1061. 0xf8, 0x17, 0xb0, 0x19, 0x70, 0xa2, 0x3f, 0xa5, 0xfc, 0x51, 0xd4, 0x82, 0x1e, 0x39, 0x9e, 0x97,
  1062. 0x8c, 0x1c, 0xdf, 0x17, 0x60, 0x47, 0xfa, 0x13, 0x5f, 0xcf, 0x1d, 0x93, 0xe6, 0xf6, 0x43, 0x17,
  1063. 0xa7, 0x78, 0x0d, 0xfe, 0xb5, 0x02, 0x50, 0xc6, 0x84, 0xf4, 0x83, 0x98, 0x06, 0x57, 0x63, 0x29,
  1064. 0x2c, 0xde, 0x72, 0x0a, 0x55, 0x15, 0xa9, 0xa9, 0x02, 0x8d, 0xe4, 0xf0, 0x67, 0xf0, 0x50, 0x10,
  1065. 0xcc, 0x83, 0x97, 0x7e, 0xc6, 0x49, 0x48, 0x03, 0x49, 0x42, 0x3f, 0x90, 0x5c, 0x7f, 0x73, 0xdf,
  1066. 0x66, 0x78, 0x68, 0xa2, 0xb4, 0x5c, 0x90, 0xa6, 0xe4, 0x5b, 0xff, 0x5d, 0x04, 0xeb, 0x13, 0x73,
  1067. 0x12, 0xfc, 0x16, 0x54, 0xbb, 0x94, 0x0b, 0xe9, 0xab, 0x1b, 0x42, 0xcf, 0x82, 0x76, 0xb0, 0xaf,
  1068. 0x94, 0x0f, 0xf6, 0x50, 0x2b, 0x5b, 0x38, 0x52, 0x83, 0xb5, 0x1d, 0xe7, 0x2f, 0xc0, 0x3b, 0x96,
  1069. 0xe7, 0x06, 0xbc, 0x02, 0x73, 0xa1, 0x9c, 0xb9, 0x69, 0x98, 0x56, 0x3c, 0xe4, 0x7e, 0x07, 0x36,
  1070. 0x25, 0xcb, 0x7c, 0xd6, 0x9d, 0x48, 0x74, 0x71, 0x8e, 0x44, 0x25, 0xcb, 0xbe, 0xeb, 0x8e, 0x26,
  1071. 0x9a, 0x83, 0x27, 0x6e, 0xf4, 0x0c, 0x7d, 0x1c, 0x86, 0x66, 0x5b, 0x08, 0x1f, 0x4b, 0x7f, 0x72,
  1072. 0x01, 0xf6, 0xa7, 0xc8, 0xcc, 0x20, 0xef, 0x0f, 0x70, 0x8d, 0x30, 0xd4, 0xad, 0x17, 0x0d, 0xf9,
  1073. 0xf5, 0xd8, 0x6a, 0xe0, 0x2b, 0xb0, 0x37, 0x16, 0x56, 0x6d, 0xc9, 0x9b, 0x83, 0xde, 0x29, 0x0f,
  1074. 0xfa, 0x78, 0x24, 0x28, 0x13, 0x72, 0x32, 0xe4, 0xd1, 0x32, 0x58, 0x1a, 0xfc, 0x59, 0x3a, 0xfa,
  1075. 0xdb, 0x02, 0xd8, 0x0d, 0x58, 0x52, 0x3e, 0x64, 0x1f, 0x55, 0xc7, 0xa7, 0xec, 0x96, 0x8a, 0xdf,
  1076. 0xaa, 0xfc, 0xe1, 0xb7, 0x56, 0x1b, 0xb1, 0x18, 0xa7, 0x91, 0xc7, 0x78, 0x54, 0x8b, 0x48, 0xaa,
  1077. 0xb3, 0x73, 0x3f, 0xe7, 0x32, 0x2a, 0x66, 0xfc, 0x5c, 0xfd, 0x7c, 0x70, 0xf4, 0xcf, 0x85, 0xc5,
  1078. 0xe3, 0x46, 0xe3, 0x5f, 0x0b, 0x8f, 0x8e, 0x0d, 0xb2, 0x11, 0x0a, 0xcf, 0x1c, 0xaa, 0xa3, 0x8b,
  1079. 0x7d, 0xaf, 0xed, 0x3c, 0xff, 0xed, 0x7c, 0x2e, 0x1b, 0xa1, 0xb8, 0x1c, 0xf8, 0x5c, 0x5e, 0xec,
  1080. 0x5f, 0x0e, 0x7c, 0xfe, 0xb3, 0xb0, 0x6b, 0x2e, 0xd4, 0xeb, 0x8d, 0x50, 0xd4, 0xeb, 0x03, 0xaf,
  1081. 0x7a, 0xfd, 0x62, 0xbf, 0x5e, 0x1f, 0xf8, 0x75, 0xee, 0xea, 0x64, 0x0f, 0xff, 0x17, 0x00, 0x00,
  1082. 0xff, 0xff, 0x83, 0x08, 0xff, 0xdc, 0x08, 0x16, 0x00, 0x00,
  1083. }