// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.22.0
// 	protoc        v3.12.2
// source: google/ads/googleads/v1/errors/ad_error.proto

package errors

import (
	reflect "reflect"
	sync "sync"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// Enum describing possible ad errors.
type AdErrorEnum_AdError int32

const (
	// Enum unspecified.
	AdErrorEnum_UNSPECIFIED AdErrorEnum_AdError = 0
	// The received error code is not known in this version.
	AdErrorEnum_UNKNOWN AdErrorEnum_AdError = 1
	// Ad customizers are not supported for ad type.
	AdErrorEnum_AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE AdErrorEnum_AdError = 2
	// Estimating character sizes the string is too long.
	AdErrorEnum_APPROXIMATELY_TOO_LONG AdErrorEnum_AdError = 3
	// Estimating character sizes the string is too short.
	AdErrorEnum_APPROXIMATELY_TOO_SHORT AdErrorEnum_AdError = 4
	// There is a problem with the snippet.
	AdErrorEnum_BAD_SNIPPET AdErrorEnum_AdError = 5
	// Cannot modify an ad.
	AdErrorEnum_CANNOT_MODIFY_AD AdErrorEnum_AdError = 6
	// business name and url cannot be set at the same time
	AdErrorEnum_CANNOT_SET_BUSINESS_NAME_IF_URL_SET AdErrorEnum_AdError = 7
	// The specified field is incompatible with this ad's type or settings.
	AdErrorEnum_CANNOT_SET_FIELD AdErrorEnum_AdError = 8
	// Cannot set field when originAdId is set.
	AdErrorEnum_CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET AdErrorEnum_AdError = 9
	// Cannot set field when an existing ad id is set for sharing.
	AdErrorEnum_CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING AdErrorEnum_AdError = 10
	// Cannot set allowFlexibleColor false if no color is provided by user.
	AdErrorEnum_CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE AdErrorEnum_AdError = 11
	// When user select native, no color control is allowed because we will
	// always respect publisher color for native format serving.
	AdErrorEnum_CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING AdErrorEnum_AdError = 12
	// Cannot specify a url for the ad type
	AdErrorEnum_CANNOT_SET_URL AdErrorEnum_AdError = 13
	// Cannot specify a tracking or mobile url without also setting final urls
	AdErrorEnum_CANNOT_SET_WITHOUT_FINAL_URLS AdErrorEnum_AdError = 14
	// Cannot specify a legacy url and a final url simultaneously
	AdErrorEnum_CANNOT_SET_WITH_FINAL_URLS AdErrorEnum_AdError = 15
	// Cannot specify a urls in UrlData and in template fields simultaneously.
	AdErrorEnum_CANNOT_SET_WITH_URL_DATA AdErrorEnum_AdError = 17
	// This operator cannot be used with a subclass of Ad.
	AdErrorEnum_CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR AdErrorEnum_AdError = 18
	// Customer is not approved for mobile ads.
	AdErrorEnum_CUSTOMER_NOT_APPROVED_MOBILEADS AdErrorEnum_AdError = 19
	// Customer is not approved for 3PAS richmedia ads.
	AdErrorEnum_CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS AdErrorEnum_AdError = 20
	// Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads.
	AdErrorEnum_CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS AdErrorEnum_AdError = 21
	// Not an eligible customer
	AdErrorEnum_CUSTOMER_NOT_ELIGIBLE AdErrorEnum_AdError = 22
	// Customer is not eligible for updating beacon url
	AdErrorEnum_CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL AdErrorEnum_AdError = 23
	// There already exists an ad with the same dimensions in the union.
	AdErrorEnum_DIMENSION_ALREADY_IN_UNION AdErrorEnum_AdError = 24
	// Ad's dimension must be set before setting union dimension.
	AdErrorEnum_DIMENSION_MUST_BE_SET AdErrorEnum_AdError = 25
	// Ad's dimension must be included in the union dimensions.
	AdErrorEnum_DIMENSION_NOT_IN_UNION AdErrorEnum_AdError = 26
	// Display Url cannot be specified (applies to Ad Exchange Ads)
	AdErrorEnum_DISPLAY_URL_CANNOT_BE_SPECIFIED AdErrorEnum_AdError = 27
	// Telephone number contains invalid characters or invalid format. Please
	// re-enter your number using digits (0-9), dashes (-), and parentheses
	// only.
	AdErrorEnum_DOMESTIC_PHONE_NUMBER_FORMAT AdErrorEnum_AdError = 28
	// Emergency telephone numbers are not allowed. Please enter a valid
	// domestic phone number to connect customers to your business.
	AdErrorEnum_EMERGENCY_PHONE_NUMBER AdErrorEnum_AdError = 29
	// A required field was not specified or is an empty string.
	AdErrorEnum_EMPTY_FIELD AdErrorEnum_AdError = 30
	// A feed attribute referenced in an ad customizer tag is not in the ad
	// customizer mapping for the feed.
	AdErrorEnum_FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID AdErrorEnum_AdError = 31
	// The ad customizer field mapping for the feed attribute does not match the
	// expected field type.
	AdErrorEnum_FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH AdErrorEnum_AdError = 32
	// The use of ad customizer tags in the ad text is disallowed. Details in
	// trigger.
	AdErrorEnum_ILLEGAL_AD_CUSTOMIZER_TAG_USE AdErrorEnum_AdError = 33
	// Tags of the form {PH_x}, where x is a number, are disallowed in ad text.
	AdErrorEnum_ILLEGAL_TAG_USE AdErrorEnum_AdError = 34
	// The dimensions of the ad are specified or derived in multiple ways and
	// are not consistent.
	AdErrorEnum_INCONSISTENT_DIMENSIONS AdErrorEnum_AdError = 35
	// The status cannot differ among template ads of the same union.
	AdErrorEnum_INCONSISTENT_STATUS_IN_TEMPLATE_UNION AdErrorEnum_AdError = 36
	// The length of the string is not valid.
	AdErrorEnum_INCORRECT_LENGTH AdErrorEnum_AdError = 37
	// The ad is ineligible for upgrade.
	AdErrorEnum_INELIGIBLE_FOR_UPGRADE AdErrorEnum_AdError = 38
	// User cannot create mobile ad for countries targeted in specified
	// campaign.
	AdErrorEnum_INVALID_AD_ADDRESS_CAMPAIGN_TARGET AdErrorEnum_AdError = 39
	// Invalid Ad type. A specific type of Ad is required.
	AdErrorEnum_INVALID_AD_TYPE AdErrorEnum_AdError = 40
	// Headline, description or phone cannot be present when creating mobile
	// image ad.
	AdErrorEnum_INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE AdErrorEnum_AdError = 41
	// Image cannot be present when creating mobile text ad.
	AdErrorEnum_INVALID_ATTRIBUTES_FOR_MOBILE_TEXT AdErrorEnum_AdError = 42
	// Invalid call to action text.
	AdErrorEnum_INVALID_CALL_TO_ACTION_TEXT AdErrorEnum_AdError = 43
	// Invalid character in URL.
	AdErrorEnum_INVALID_CHARACTER_FOR_URL AdErrorEnum_AdError = 44
	// Creative's country code is not valid.
	AdErrorEnum_INVALID_COUNTRY_CODE AdErrorEnum_AdError = 45
	// Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.)
	AdErrorEnum_INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG AdErrorEnum_AdError = 47
	// An input error whose real reason was not properly mapped (should not
	// happen).
	AdErrorEnum_INVALID_INPUT AdErrorEnum_AdError = 48
	// An invalid markup language was entered.
	AdErrorEnum_INVALID_MARKUP_LANGUAGE AdErrorEnum_AdError = 49
	// An invalid mobile carrier was entered.
	AdErrorEnum_INVALID_MOBILE_CARRIER AdErrorEnum_AdError = 50
	// Specified mobile carriers target a country not targeted by the campaign.
	AdErrorEnum_INVALID_MOBILE_CARRIER_TARGET AdErrorEnum_AdError = 51
	// Wrong number of elements for given element type
	AdErrorEnum_INVALID_NUMBER_OF_ELEMENTS AdErrorEnum_AdError = 52
	// The format of the telephone number is incorrect. Please re-enter the
	// number using the correct format.
	AdErrorEnum_INVALID_PHONE_NUMBER_FORMAT AdErrorEnum_AdError = 53
	// The certified vendor format id is incorrect.
	AdErrorEnum_INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID AdErrorEnum_AdError = 54
	// The template ad data contains validation errors.
	AdErrorEnum_INVALID_TEMPLATE_DATA AdErrorEnum_AdError = 55
	// The template field doesn't have have the correct type.
	AdErrorEnum_INVALID_TEMPLATE_ELEMENT_FIELD_TYPE AdErrorEnum_AdError = 56
	// Invalid template id.
	AdErrorEnum_INVALID_TEMPLATE_ID AdErrorEnum_AdError = 57
	// After substituting replacement strings, the line is too wide.
	AdErrorEnum_LINE_TOO_WIDE AdErrorEnum_AdError = 58
	// The feed referenced must have ad customizer mapping to be used in a
	// customizer tag.
	AdErrorEnum_MISSING_AD_CUSTOMIZER_MAPPING AdErrorEnum_AdError = 59
	// Missing address component in template element address field.
	AdErrorEnum_MISSING_ADDRESS_COMPONENT AdErrorEnum_AdError = 60
	// An ad name must be entered.
	AdErrorEnum_MISSING_ADVERTISEMENT_NAME AdErrorEnum_AdError = 61
	// Business name must be entered.
	AdErrorEnum_MISSING_BUSINESS_NAME AdErrorEnum_AdError = 62
	// Description (line 2) must be entered.
	AdErrorEnum_MISSING_DESCRIPTION1 AdErrorEnum_AdError = 63
	// Description (line 3) must be entered.
	AdErrorEnum_MISSING_DESCRIPTION2 AdErrorEnum_AdError = 64
	// The destination url must contain at least one tag (e.g. {lpurl})
	AdErrorEnum_MISSING_DESTINATION_URL_TAG AdErrorEnum_AdError = 65
	// The tracking url template of ExpandedDynamicSearchAd must contain at
	// least one tag. (e.g. {lpurl})
	AdErrorEnum_MISSING_LANDING_PAGE_URL_TAG AdErrorEnum_AdError = 66
	// A valid dimension must be specified for this ad.
	AdErrorEnum_MISSING_DIMENSION AdErrorEnum_AdError = 67
	// A display URL must be entered.
	AdErrorEnum_MISSING_DISPLAY_URL AdErrorEnum_AdError = 68
	// Headline must be entered.
	AdErrorEnum_MISSING_HEADLINE AdErrorEnum_AdError = 69
	// A height must be entered.
	AdErrorEnum_MISSING_HEIGHT AdErrorEnum_AdError = 70
	// An image must be entered.
	AdErrorEnum_MISSING_IMAGE AdErrorEnum_AdError = 71
	// Marketing image or product videos are required.
	AdErrorEnum_MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS AdErrorEnum_AdError = 72
	// The markup language in which your site is written must be entered.
	AdErrorEnum_MISSING_MARKUP_LANGUAGES AdErrorEnum_AdError = 73
	// A mobile carrier must be entered.
	AdErrorEnum_MISSING_MOBILE_CARRIER AdErrorEnum_AdError = 74
	// Phone number must be entered.
	AdErrorEnum_MISSING_PHONE AdErrorEnum_AdError = 75
	// Missing required template fields
	AdErrorEnum_MISSING_REQUIRED_TEMPLATE_FIELDS AdErrorEnum_AdError = 76
	// Missing a required field value
	AdErrorEnum_MISSING_TEMPLATE_FIELD_VALUE AdErrorEnum_AdError = 77
	// The ad must have text.
	AdErrorEnum_MISSING_TEXT AdErrorEnum_AdError = 78
	// A visible URL must be entered.
	AdErrorEnum_MISSING_VISIBLE_URL AdErrorEnum_AdError = 79
	// A width must be entered.
	AdErrorEnum_MISSING_WIDTH AdErrorEnum_AdError = 80
	// Only 1 feed can be used as the source of ad customizer substitutions in a
	// single ad.
	AdErrorEnum_MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED AdErrorEnum_AdError = 81
	// TempAdUnionId must be use when adding template ads.
	AdErrorEnum_MUST_USE_TEMP_AD_UNION_ID_ON_ADD AdErrorEnum_AdError = 82
	// The string has too many characters.
	AdErrorEnum_TOO_LONG AdErrorEnum_AdError = 83
	// The string has too few characters.
	AdErrorEnum_TOO_SHORT AdErrorEnum_AdError = 84
	// Ad union dimensions cannot change for saved ads.
	AdErrorEnum_UNION_DIMENSIONS_CANNOT_CHANGE AdErrorEnum_AdError = 85
	// Address component is not {country, lat, lng}.
	AdErrorEnum_UNKNOWN_ADDRESS_COMPONENT AdErrorEnum_AdError = 86
	// Unknown unique field name
	AdErrorEnum_UNKNOWN_FIELD_NAME AdErrorEnum_AdError = 87
	// Unknown unique name (template element type specifier)
	AdErrorEnum_UNKNOWN_UNIQUE_NAME AdErrorEnum_AdError = 88
	// Unsupported ad dimension
	AdErrorEnum_UNSUPPORTED_DIMENSIONS AdErrorEnum_AdError = 89
	// URL starts with an invalid scheme.
	AdErrorEnum_URL_INVALID_SCHEME AdErrorEnum_AdError = 90
	// URL ends with an invalid top-level domain name.
	AdErrorEnum_URL_INVALID_TOP_LEVEL_DOMAIN AdErrorEnum_AdError = 91
	// URL contains illegal characters.
	AdErrorEnum_URL_MALFORMED AdErrorEnum_AdError = 92
	// URL must contain a host name.
	AdErrorEnum_URL_NO_HOST AdErrorEnum_AdError = 93
	// URL not equivalent during upgrade.
	AdErrorEnum_URL_NOT_EQUIVALENT AdErrorEnum_AdError = 94
	// URL host name too long to be stored as visible URL (applies to Ad
	// Exchange ads)
	AdErrorEnum_URL_HOST_NAME_TOO_LONG AdErrorEnum_AdError = 95
	// URL must start with a scheme.
	AdErrorEnum_URL_NO_SCHEME AdErrorEnum_AdError = 96
	// URL should end in a valid domain extension, such as .com or .net.
	AdErrorEnum_URL_NO_TOP_LEVEL_DOMAIN AdErrorEnum_AdError = 97
	// URL must not end with a path.
	AdErrorEnum_URL_PATH_NOT_ALLOWED AdErrorEnum_AdError = 98
	// URL must not specify a port.
	AdErrorEnum_URL_PORT_NOT_ALLOWED AdErrorEnum_AdError = 99
	// URL must not contain a query.
	AdErrorEnum_URL_QUERY_NOT_ALLOWED AdErrorEnum_AdError = 100
	// A url scheme is not allowed in front of tag in tracking url template
	// (e.g. http://{lpurl})
	AdErrorEnum_URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG AdErrorEnum_AdError = 102
	// The user does not have permissions to create a template ad for the given
	// template.
	AdErrorEnum_USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE AdErrorEnum_AdError = 103
	// Expandable setting is inconsistent/wrong. For example, an AdX ad is
	// invalid if it has a expandable vendor format but no expanding directions
	// specified, or expanding directions is specified, but the vendor format is
	// not expandable.
	AdErrorEnum_INCONSISTENT_EXPANDABLE_SETTINGS AdErrorEnum_AdError = 104
	// Format is invalid
	AdErrorEnum_INVALID_FORMAT AdErrorEnum_AdError = 105
	// The text of this field did not match a pattern of allowed values.
	AdErrorEnum_INVALID_FIELD_TEXT AdErrorEnum_AdError = 106
	// Template element is mising
	AdErrorEnum_ELEMENT_NOT_PRESENT AdErrorEnum_AdError = 107
	// Error occurred during image processing
	AdErrorEnum_IMAGE_ERROR AdErrorEnum_AdError = 108
	// The value is not within the valid range
	AdErrorEnum_VALUE_NOT_IN_RANGE AdErrorEnum_AdError = 109
	// Template element field is not present
	AdErrorEnum_FIELD_NOT_PRESENT AdErrorEnum_AdError = 110
	// Address is incomplete
	AdErrorEnum_ADDRESS_NOT_COMPLETE AdErrorEnum_AdError = 111
	// Invalid address
	AdErrorEnum_ADDRESS_INVALID AdErrorEnum_AdError = 112
	// Error retrieving specified video
	AdErrorEnum_VIDEO_RETRIEVAL_ERROR AdErrorEnum_AdError = 113
	// Error processing audio
	AdErrorEnum_AUDIO_ERROR AdErrorEnum_AdError = 114
	// Display URL is incorrect for YouTube PYV ads
	AdErrorEnum_INVALID_YOUTUBE_DISPLAY_URL AdErrorEnum_AdError = 115
	// Too many product Images in GmailAd
	AdErrorEnum_TOO_MANY_PRODUCT_IMAGES AdErrorEnum_AdError = 116
	// Too many product Videos in GmailAd
	AdErrorEnum_TOO_MANY_PRODUCT_VIDEOS AdErrorEnum_AdError = 117
	// The device preference is not compatible with the ad type
	AdErrorEnum_INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE AdErrorEnum_AdError = 118
	// Call tracking is not supported for specified country.
	AdErrorEnum_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY AdErrorEnum_AdError = 119
	// Carrier specific short number is not allowed.
	AdErrorEnum_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED AdErrorEnum_AdError = 120
	// Specified phone number type is disallowed.
	AdErrorEnum_DISALLOWED_NUMBER_TYPE AdErrorEnum_AdError = 121
	// Phone number not supported for country.
	AdErrorEnum_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY AdErrorEnum_AdError = 122
	// Phone number not supported with call tracking enabled for country.
	AdErrorEnum_PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY AdErrorEnum_AdError = 123
	// Premium rate phone number is not allowed.
	AdErrorEnum_PREMIUM_RATE_NUMBER_NOT_ALLOWED AdErrorEnum_AdError = 124
	// Vanity phone number is not allowed.
	AdErrorEnum_VANITY_PHONE_NUMBER_NOT_ALLOWED AdErrorEnum_AdError = 125
	// Invalid call conversion type id.
	AdErrorEnum_INVALID_CALL_CONVERSION_TYPE_ID AdErrorEnum_AdError = 126
	// Cannot disable call conversion and set conversion type id.
	AdErrorEnum_CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID AdErrorEnum_AdError = 127
	// Cannot set path2 without path1.
	AdErrorEnum_CANNOT_SET_PATH2_WITHOUT_PATH1 AdErrorEnum_AdError = 128
	// Missing domain name in campaign setting when adding expanded dynamic
	// search ad.
	AdErrorEnum_MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME AdErrorEnum_AdError = 129
	// The associated ad is not compatible with restriction type.
	AdErrorEnum_INCOMPATIBLE_WITH_RESTRICTION_TYPE AdErrorEnum_AdError = 130
	// Consent for call recording is required for creating/updating call only
	// ads. Please see https://support.google.com/google-ads/answer/7412639.
	AdErrorEnum_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED AdErrorEnum_AdError = 131
	// Either an image or a media bundle is required in a display upload ad.
	AdErrorEnum_MISSING_IMAGE_OR_MEDIA_BUNDLE AdErrorEnum_AdError = 132
	// The display upload product type is not supported in this campaign.
	AdErrorEnum_PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN AdErrorEnum_AdError = 133
)

// Enum value maps for AdErrorEnum_AdError.
var (
	AdErrorEnum_AdError_name = map[int32]string{
		0:   "UNSPECIFIED",
		1:   "UNKNOWN",
		2:   "AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE",
		3:   "APPROXIMATELY_TOO_LONG",
		4:   "APPROXIMATELY_TOO_SHORT",
		5:   "BAD_SNIPPET",
		6:   "CANNOT_MODIFY_AD",
		7:   "CANNOT_SET_BUSINESS_NAME_IF_URL_SET",
		8:   "CANNOT_SET_FIELD",
		9:   "CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET",
		10:  "CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING",
		11:  "CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE",
		12:  "CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING",
		13:  "CANNOT_SET_URL",
		14:  "CANNOT_SET_WITHOUT_FINAL_URLS",
		15:  "CANNOT_SET_WITH_FINAL_URLS",
		17:  "CANNOT_SET_WITH_URL_DATA",
		18:  "CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR",
		19:  "CUSTOMER_NOT_APPROVED_MOBILEADS",
		20:  "CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS",
		21:  "CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS",
		22:  "CUSTOMER_NOT_ELIGIBLE",
		23:  "CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL",
		24:  "DIMENSION_ALREADY_IN_UNION",
		25:  "DIMENSION_MUST_BE_SET",
		26:  "DIMENSION_NOT_IN_UNION",
		27:  "DISPLAY_URL_CANNOT_BE_SPECIFIED",
		28:  "DOMESTIC_PHONE_NUMBER_FORMAT",
		29:  "EMERGENCY_PHONE_NUMBER",
		30:  "EMPTY_FIELD",
		31:  "FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID",
		32:  "FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH",
		33:  "ILLEGAL_AD_CUSTOMIZER_TAG_USE",
		34:  "ILLEGAL_TAG_USE",
		35:  "INCONSISTENT_DIMENSIONS",
		36:  "INCONSISTENT_STATUS_IN_TEMPLATE_UNION",
		37:  "INCORRECT_LENGTH",
		38:  "INELIGIBLE_FOR_UPGRADE",
		39:  "INVALID_AD_ADDRESS_CAMPAIGN_TARGET",
		40:  "INVALID_AD_TYPE",
		41:  "INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE",
		42:  "INVALID_ATTRIBUTES_FOR_MOBILE_TEXT",
		43:  "INVALID_CALL_TO_ACTION_TEXT",
		44:  "INVALID_CHARACTER_FOR_URL",
		45:  "INVALID_COUNTRY_CODE",
		47:  "INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG",
		48:  "INVALID_INPUT",
		49:  "INVALID_MARKUP_LANGUAGE",
		50:  "INVALID_MOBILE_CARRIER",
		51:  "INVALID_MOBILE_CARRIER_TARGET",
		52:  "INVALID_NUMBER_OF_ELEMENTS",
		53:  "INVALID_PHONE_NUMBER_FORMAT",
		54:  "INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID",
		55:  "INVALID_TEMPLATE_DATA",
		56:  "INVALID_TEMPLATE_ELEMENT_FIELD_TYPE",
		57:  "INVALID_TEMPLATE_ID",
		58:  "LINE_TOO_WIDE",
		59:  "MISSING_AD_CUSTOMIZER_MAPPING",
		60:  "MISSING_ADDRESS_COMPONENT",
		61:  "MISSING_ADVERTISEMENT_NAME",
		62:  "MISSING_BUSINESS_NAME",
		63:  "MISSING_DESCRIPTION1",
		64:  "MISSING_DESCRIPTION2",
		65:  "MISSING_DESTINATION_URL_TAG",
		66:  "MISSING_LANDING_PAGE_URL_TAG",
		67:  "MISSING_DIMENSION",
		68:  "MISSING_DISPLAY_URL",
		69:  "MISSING_HEADLINE",
		70:  "MISSING_HEIGHT",
		71:  "MISSING_IMAGE",
		72:  "MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS",
		73:  "MISSING_MARKUP_LANGUAGES",
		74:  "MISSING_MOBILE_CARRIER",
		75:  "MISSING_PHONE",
		76:  "MISSING_REQUIRED_TEMPLATE_FIELDS",
		77:  "MISSING_TEMPLATE_FIELD_VALUE",
		78:  "MISSING_TEXT",
		79:  "MISSING_VISIBLE_URL",
		80:  "MISSING_WIDTH",
		81:  "MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED",
		82:  "MUST_USE_TEMP_AD_UNION_ID_ON_ADD",
		83:  "TOO_LONG",
		84:  "TOO_SHORT",
		85:  "UNION_DIMENSIONS_CANNOT_CHANGE",
		86:  "UNKNOWN_ADDRESS_COMPONENT",
		87:  "UNKNOWN_FIELD_NAME",
		88:  "UNKNOWN_UNIQUE_NAME",
		89:  "UNSUPPORTED_DIMENSIONS",
		90:  "URL_INVALID_SCHEME",
		91:  "URL_INVALID_TOP_LEVEL_DOMAIN",
		92:  "URL_MALFORMED",
		93:  "URL_NO_HOST",
		94:  "URL_NOT_EQUIVALENT",
		95:  "URL_HOST_NAME_TOO_LONG",
		96:  "URL_NO_SCHEME",
		97:  "URL_NO_TOP_LEVEL_DOMAIN",
		98:  "URL_PATH_NOT_ALLOWED",
		99:  "URL_PORT_NOT_ALLOWED",
		100: "URL_QUERY_NOT_ALLOWED",
		102: "URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG",
		103: "USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE",
		104: "INCONSISTENT_EXPANDABLE_SETTINGS",
		105: "INVALID_FORMAT",
		106: "INVALID_FIELD_TEXT",
		107: "ELEMENT_NOT_PRESENT",
		108: "IMAGE_ERROR",
		109: "VALUE_NOT_IN_RANGE",
		110: "FIELD_NOT_PRESENT",
		111: "ADDRESS_NOT_COMPLETE",
		112: "ADDRESS_INVALID",
		113: "VIDEO_RETRIEVAL_ERROR",
		114: "AUDIO_ERROR",
		115: "INVALID_YOUTUBE_DISPLAY_URL",
		116: "TOO_MANY_PRODUCT_IMAGES",
		117: "TOO_MANY_PRODUCT_VIDEOS",
		118: "INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE",
		119: "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY",
		120: "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED",
		121: "DISALLOWED_NUMBER_TYPE",
		122: "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY",
		123: "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY",
		124: "PREMIUM_RATE_NUMBER_NOT_ALLOWED",
		125: "VANITY_PHONE_NUMBER_NOT_ALLOWED",
		126: "INVALID_CALL_CONVERSION_TYPE_ID",
		127: "CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID",
		128: "CANNOT_SET_PATH2_WITHOUT_PATH1",
		129: "MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME",
		130: "INCOMPATIBLE_WITH_RESTRICTION_TYPE",
		131: "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED",
		132: "MISSING_IMAGE_OR_MEDIA_BUNDLE",
		133: "PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN",
	}
	AdErrorEnum_AdError_value = map[string]int32{
		"UNSPECIFIED": 0,
		"UNKNOWN":     1,
		"AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE":                  2,
		"APPROXIMATELY_TOO_LONG":                                    3,
		"APPROXIMATELY_TOO_SHORT":                                   4,
		"BAD_SNIPPET":                                               5,
		"CANNOT_MODIFY_AD":                                          6,
		"CANNOT_SET_BUSINESS_NAME_IF_URL_SET":                       7,
		"CANNOT_SET_FIELD":                                          8,
		"CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET":                    9,
		"CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING":               10,
		"CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE":                     11,
		"CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING":       12,
		"CANNOT_SET_URL":                                            13,
		"CANNOT_SET_WITHOUT_FINAL_URLS":                             14,
		"CANNOT_SET_WITH_FINAL_URLS":                                15,
		"CANNOT_SET_WITH_URL_DATA":                                  17,
		"CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR":                       18,
		"CUSTOMER_NOT_APPROVED_MOBILEADS":                           19,
		"CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS":                      20,
		"CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS":             21,
		"CUSTOMER_NOT_ELIGIBLE":                                     22,
		"CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL":             23,
		"DIMENSION_ALREADY_IN_UNION":                                24,
		"DIMENSION_MUST_BE_SET":                                     25,
		"DIMENSION_NOT_IN_UNION":                                    26,
		"DISPLAY_URL_CANNOT_BE_SPECIFIED":                           27,
		"DOMESTIC_PHONE_NUMBER_FORMAT":                              28,
		"EMERGENCY_PHONE_NUMBER":                                    29,
		"EMPTY_FIELD":                                               30,
		"FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID":              31,
		"FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH":                      32,
		"ILLEGAL_AD_CUSTOMIZER_TAG_USE":                             33,
		"ILLEGAL_TAG_USE":                                           34,
		"INCONSISTENT_DIMENSIONS":                                   35,
		"INCONSISTENT_STATUS_IN_TEMPLATE_UNION":                     36,
		"INCORRECT_LENGTH":                                          37,
		"INELIGIBLE_FOR_UPGRADE":                                    38,
		"INVALID_AD_ADDRESS_CAMPAIGN_TARGET":                        39,
		"INVALID_AD_TYPE":                                           40,
		"INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE":                       41,
		"INVALID_ATTRIBUTES_FOR_MOBILE_TEXT":                        42,
		"INVALID_CALL_TO_ACTION_TEXT":                               43,
		"INVALID_CHARACTER_FOR_URL":                                 44,
		"INVALID_COUNTRY_CODE":                                      45,
		"INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG":                    47,
		"INVALID_INPUT":                                             48,
		"INVALID_MARKUP_LANGUAGE":                                   49,
		"INVALID_MOBILE_CARRIER":                                    50,
		"INVALID_MOBILE_CARRIER_TARGET":                             51,
		"INVALID_NUMBER_OF_ELEMENTS":                                52,
		"INVALID_PHONE_NUMBER_FORMAT":                               53,
		"INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID":             54,
		"INVALID_TEMPLATE_DATA":                                     55,
		"INVALID_TEMPLATE_ELEMENT_FIELD_TYPE":                       56,
		"INVALID_TEMPLATE_ID":                                       57,
		"LINE_TOO_WIDE":                                             58,
		"MISSING_AD_CUSTOMIZER_MAPPING":                             59,
		"MISSING_ADDRESS_COMPONENT":                                 60,
		"MISSING_ADVERTISEMENT_NAME":                                61,
		"MISSING_BUSINESS_NAME":                                     62,
		"MISSING_DESCRIPTION1":                                      63,
		"MISSING_DESCRIPTION2":                                      64,
		"MISSING_DESTINATION_URL_TAG":                               65,
		"MISSING_LANDING_PAGE_URL_TAG":                              66,
		"MISSING_DIMENSION":                                         67,
		"MISSING_DISPLAY_URL":                                       68,
		"MISSING_HEADLINE":                                          69,
		"MISSING_HEIGHT":                                            70,
		"MISSING_IMAGE":                                             71,
		"MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS":                 72,
		"MISSING_MARKUP_LANGUAGES":                                  73,
		"MISSING_MOBILE_CARRIER":                                    74,
		"MISSING_PHONE":                                             75,
		"MISSING_REQUIRED_TEMPLATE_FIELDS":                          76,
		"MISSING_TEMPLATE_FIELD_VALUE":                              77,
		"MISSING_TEXT":                                              78,
		"MISSING_VISIBLE_URL":                                       79,
		"MISSING_WIDTH":                                             80,
		"MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED":                       81,
		"MUST_USE_TEMP_AD_UNION_ID_ON_ADD":                          82,
		"TOO_LONG":                                                  83,
		"TOO_SHORT":                                                 84,
		"UNION_DIMENSIONS_CANNOT_CHANGE":                            85,
		"UNKNOWN_ADDRESS_COMPONENT":                                 86,
		"UNKNOWN_FIELD_NAME":                                        87,
		"UNKNOWN_UNIQUE_NAME":                                       88,
		"UNSUPPORTED_DIMENSIONS":                                    89,
		"URL_INVALID_SCHEME":                                        90,
		"URL_INVALID_TOP_LEVEL_DOMAIN":                              91,
		"URL_MALFORMED":                                             92,
		"URL_NO_HOST":                                               93,
		"URL_NOT_EQUIVALENT":                                        94,
		"URL_HOST_NAME_TOO_LONG":                                    95,
		"URL_NO_SCHEME":                                             96,
		"URL_NO_TOP_LEVEL_DOMAIN":                                   97,
		"URL_PATH_NOT_ALLOWED":                                      98,
		"URL_PORT_NOT_ALLOWED":                                      99,
		"URL_QUERY_NOT_ALLOWED":                                     100,
		"URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG":          102,
		"USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE":                     103,
		"INCONSISTENT_EXPANDABLE_SETTINGS":                          104,
		"INVALID_FORMAT":                                            105,
		"INVALID_FIELD_TEXT":                                        106,
		"ELEMENT_NOT_PRESENT":                                       107,
		"IMAGE_ERROR":                                               108,
		"VALUE_NOT_IN_RANGE":                                        109,
		"FIELD_NOT_PRESENT":                                         110,
		"ADDRESS_NOT_COMPLETE":                                      111,
		"ADDRESS_INVALID":                                           112,
		"VIDEO_RETRIEVAL_ERROR":                                     113,
		"AUDIO_ERROR":                                               114,
		"INVALID_YOUTUBE_DISPLAY_URL":                               115,
		"TOO_MANY_PRODUCT_IMAGES":                                   116,
		"TOO_MANY_PRODUCT_VIDEOS":                                   117,
		"INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE":                118,
		"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":                    119,
		"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":                 120,
		"DISALLOWED_NUMBER_TYPE":                                    121,
		"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":                    122,
		"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY":  123,
		"PREMIUM_RATE_NUMBER_NOT_ALLOWED":                           124,
		"VANITY_PHONE_NUMBER_NOT_ALLOWED":                           125,
		"INVALID_CALL_CONVERSION_TYPE_ID":                           126,
		"CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID": 127,
		"CANNOT_SET_PATH2_WITHOUT_PATH1":                            128,
		"MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME":            129,
		"INCOMPATIBLE_WITH_RESTRICTION_TYPE":                        130,
		"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":              131,
		"MISSING_IMAGE_OR_MEDIA_BUNDLE":                             132,
		"PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN":               133,
	}
)

func (x AdErrorEnum_AdError) Enum() *AdErrorEnum_AdError {
	p := new(AdErrorEnum_AdError)
	*p = x
	return p
}

func (x AdErrorEnum_AdError) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AdErrorEnum_AdError) Descriptor() protoreflect.EnumDescriptor {
	return file_google_ads_googleads_v1_errors_ad_error_proto_enumTypes[0].Descriptor()
}

func (AdErrorEnum_AdError) Type() protoreflect.EnumType {
	return &file_google_ads_googleads_v1_errors_ad_error_proto_enumTypes[0]
}

func (x AdErrorEnum_AdError) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AdErrorEnum_AdError.Descriptor instead.
func (AdErrorEnum_AdError) EnumDescriptor() ([]byte, []int) {
	return file_google_ads_googleads_v1_errors_ad_error_proto_rawDescGZIP(), []int{0, 0}
}

// Container for enum describing possible ad errors.
type AdErrorEnum struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *AdErrorEnum) Reset() {
	*x = AdErrorEnum{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_ads_googleads_v1_errors_ad_error_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AdErrorEnum) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdErrorEnum) ProtoMessage() {}

func (x *AdErrorEnum) ProtoReflect() protoreflect.Message {
	mi := &file_google_ads_googleads_v1_errors_ad_error_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdErrorEnum.ProtoReflect.Descriptor instead.
func (*AdErrorEnum) Descriptor() ([]byte, []int) {
	return file_google_ads_googleads_v1_errors_ad_error_proto_rawDescGZIP(), []int{0}
}

var File_google_ads_googleads_v1_errors_ad_error_proto protoreflect.FileDescriptor

var file_google_ads_googleads_v1_errors_ad_error_proto_rawDesc = []byte{
	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73,
	0x2f, 0x61, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a,
	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x20,
	0x0a, 0x0b, 0x41, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0xe0, 0x20,
	0x0a, 0x07, 0x41, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x41, 0x44, 0x5f, 0x43, 0x55,
	0x53, 0x54, 0x4f, 0x4d, 0x49, 0x5a, 0x45, 0x52, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55,
	0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x58, 0x49,
	0x4d, 0x41, 0x54, 0x45, 0x4c, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10,
	0x03, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x4d, 0x41, 0x54, 0x45,
	0x4c, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x10, 0x04, 0x12, 0x0f,
	0x0a, 0x0b, 0x42, 0x41, 0x44, 0x5f, 0x53, 0x4e, 0x49, 0x50, 0x50, 0x45, 0x54, 0x10, 0x05, 0x12,
	0x14, 0x0a, 0x10, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59,
	0x5f, 0x41, 0x44, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f,
	0x53, 0x45, 0x54, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x41, 0x4d,
	0x45, 0x5f, 0x49, 0x46, 0x5f, 0x55, 0x52, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x07, 0x12, 0x14,
	0x0a, 0x10, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x49, 0x45,
	0x4c, 0x44, 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53,
	0x45, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4f, 0x52,
	0x49, 0x47, 0x49, 0x4e, 0x5f, 0x41, 0x44, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x09,
	0x12, 0x2f, 0x0a, 0x2b, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46,
	0x49, 0x45, 0x4c, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x41, 0x44, 0x5f, 0x49, 0x44, 0x5f,
	0x53, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x10,
	0x0a, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f,
	0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x46, 0x4c, 0x45, 0x58, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x43,
	0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x0b, 0x12, 0x37, 0x0a, 0x33,
	0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
	0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x57, 0x48, 0x45, 0x4e, 0x5f, 0x4e, 0x41,
	0x54, 0x49, 0x56, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x54,
	0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f,
	0x53, 0x45, 0x54, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4e,
	0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f,
	0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x55, 0x52, 0x4c, 0x53, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a,
	0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
	0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x55, 0x52, 0x4c, 0x53, 0x10, 0x0f, 0x12, 0x1c, 0x0a, 0x18,
	0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
	0x55, 0x52, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x11, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x41,
	0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x41, 0x44, 0x5f, 0x53, 0x55, 0x42, 0x43,
	0x4c, 0x41, 0x53, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f,
	0x52, 0x10, 0x12, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f,
	0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x42,
	0x49, 0x4c, 0x45, 0x41, 0x44, 0x53, 0x10, 0x13, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x55, 0x53, 0x54,
	0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45,
	0x44, 0x5f, 0x54, 0x48, 0x49, 0x52, 0x44, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x41, 0x44, 0x53,
	0x10, 0x14, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4e,
	0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x48, 0x49, 0x52,
	0x44, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f,
	0x41, 0x44, 0x53, 0x10, 0x15, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45,
	0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x16,
	0x12, 0x31, 0x0a, 0x2d, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
	0x5f, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x55, 0x50,
	0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x55, 0x52,
	0x4c, 0x10, 0x17, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e,
	0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x4f,
	0x4e, 0x10, 0x18, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e,
	0x5f, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x19, 0x12, 0x1a,
	0x0a, 0x16, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
	0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x1a, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x49,
	0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x55, 0x52, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54,
	0x5f, 0x42, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x1b, 0x12,
	0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x4d, 0x45, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x48, 0x4f, 0x4e,
	0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10,
	0x1c, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x50,
	0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x1d, 0x12, 0x0f, 0x0a,
	0x0b, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x1e, 0x12, 0x30,
	0x0a, 0x2c, 0x46, 0x45, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45,
	0x5f, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49,
	0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x1f,
	0x12, 0x28, 0x0a, 0x24, 0x46, 0x45, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55,
	0x54, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x20, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4c,
	0x4c, 0x45, 0x47, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x49,
	0x5a, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x21, 0x12, 0x13, 0x0a,
	0x0f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x55, 0x53, 0x45,
	0x10, 0x22, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45,
	0x4e, 0x54, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x23, 0x12,
	0x29, 0x0a, 0x25, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41,
	0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e,
	0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x25,
	0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x46,
	0x4f, 0x52, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x26, 0x12, 0x26, 0x0a, 0x22,
	0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45,
	0x53, 0x53, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x41, 0x49, 0x47, 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47,
	0x45, 0x54, 0x10, 0x27, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
	0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x28, 0x12, 0x27, 0x0a, 0x23, 0x49, 0x4e, 0x56,
	0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x5f,
	0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45,
	0x10, 0x29, 0x12, 0x26, 0x0a, 0x22, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54,
	0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x4f, 0x42,
	0x49, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x2a, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e,
	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43,
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x2b, 0x12, 0x1d, 0x0a, 0x19, 0x49,
	0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52,
	0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x2c, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e,
	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x4f,
	0x44, 0x45, 0x10, 0x2d, 0x12, 0x2a, 0x0a, 0x26, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
	0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43,
	0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x41, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x2f,
	0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x55,
	0x54, 0x10, 0x30, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d,
	0x41, 0x52, 0x4b, 0x55, 0x50, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0x31,
	0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x4f, 0x42, 0x49,
	0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x52, 0x49, 0x45, 0x52, 0x10, 0x32, 0x12, 0x21, 0x0a, 0x1d,
	0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x5f, 0x43,
	0x41, 0x52, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x33, 0x12,
	0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45,
	0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x34, 0x12,
	0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45,
	0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0x35,
	0x12, 0x31, 0x0a, 0x2d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x49, 0x43, 0x48,
	0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x5f, 0x56, 0x45, 0x4e, 0x44, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49,
	0x44, 0x10, 0x36, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54,
	0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x37, 0x12, 0x27,
	0x0a, 0x23, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41,
	0x54, 0x45, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x38, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x56, 0x41, 0x4c,
	0x49, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x39,
	0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x57, 0x49, 0x44,
	0x45, 0x10, 0x3a, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x41,
	0x44, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x49, 0x5a, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50,
	0x50, 0x49, 0x4e, 0x47, 0x10, 0x3b, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e,
	0x47, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e,
	0x45, 0x4e, 0x54, 0x10, 0x3c, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47,
	0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4e,
	0x41, 0x4d, 0x45, 0x10, 0x3d, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47,
	0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x3e,
	0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x53, 0x43,
	0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x31, 0x10, 0x3f, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49,
	0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f,
	0x4e, 0x32, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f,
	0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x52, 0x4c, 0x5f,
	0x54, 0x41, 0x47, 0x10, 0x41, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47,
	0x5f, 0x4c, 0x41, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x52,
	0x4c, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x42, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x49, 0x53, 0x53, 0x49,
	0x4e, 0x47, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x43, 0x12, 0x17,
	0x0a, 0x13, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41,
	0x59, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x49, 0x53, 0x53, 0x49,
	0x4e, 0x47, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x45, 0x12, 0x12, 0x0a,
	0x0e, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10,
	0x46, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4d, 0x41,
	0x47, 0x45, 0x10, 0x47, 0x12, 0x2d, 0x0a, 0x29, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f,
	0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f,
	0x4f, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f,
	0x53, 0x10, 0x48, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4d,
	0x41, 0x52, 0x4b, 0x55, 0x50, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x53, 0x10,
	0x49, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x42,
	0x49, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x52, 0x49, 0x45, 0x52, 0x10, 0x4a, 0x12, 0x11, 0x0a,
	0x0d, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x4b,
	0x12, 0x24, 0x0a, 0x20, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x51, 0x55,
	0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49,
	0x45, 0x4c, 0x44, 0x53, 0x10, 0x4c, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e,
	0x47, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44,
	0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x4d, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x53, 0x53,
	0x49, 0x4e, 0x47, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x4e, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x49,
	0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x52,
	0x4c, 0x10, 0x4f, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x57,
	0x49, 0x44, 0x54, 0x48, 0x10, 0x50, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50,
	0x4c, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44,
	0x53, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x51, 0x12,
	0x24, 0x0a, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x54, 0x45, 0x4d, 0x50,
	0x5f, 0x41, 0x44, 0x5f, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x5f,
	0x41, 0x44, 0x44, 0x10, 0x52, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e,
	0x47, 0x10, 0x53, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54,
	0x10, 0x54, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x4d, 0x45,
	0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48,
	0x41, 0x4e, 0x47, 0x45, 0x10, 0x55, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
	0x4e, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e,
	0x45, 0x4e, 0x54, 0x10, 0x56, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
	0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x57, 0x12, 0x17, 0x0a,
	0x13, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f,
	0x4e, 0x41, 0x4d, 0x45, 0x10, 0x58, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50,
	0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x53,
	0x10, 0x59, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x52, 0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
	0x44, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0x5a, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x52,
	0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x45,
	0x56, 0x45, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x5b, 0x12, 0x11, 0x0a, 0x0d,
	0x55, 0x52, 0x4c, 0x5f, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x5c, 0x12,
	0x0f, 0x0a, 0x0b, 0x55, 0x52, 0x4c, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x5d,
	0x12, 0x16, 0x0a, 0x12, 0x55, 0x52, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x49,
	0x56, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x5e, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x52, 0x4c, 0x5f,
	0x48, 0x4f, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f,
	0x4e, 0x47, 0x10, 0x5f, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x52, 0x4c, 0x5f, 0x4e, 0x4f, 0x5f, 0x53,
	0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0x60, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x52, 0x4c, 0x5f, 0x4e,
	0x4f, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x41,
	0x49, 0x4e, 0x10, 0x61, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x52, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48,
	0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x62, 0x12, 0x18,
	0x0a, 0x14, 0x55, 0x52, 0x4c, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41,
	0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x63, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x52, 0x4c, 0x5f,
	0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45,
	0x44, 0x10, 0x64, 0x12, 0x34, 0x0a, 0x30, 0x55, 0x52, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d,
	0x45, 0x5f, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45,
	0x44, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48,
	0x5f, 0x41, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x66, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x53, 0x45,
	0x52, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f,
	0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41,
	0x54, 0x45, 0x10, 0x67, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53,
	0x54, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x41, 0x42, 0x4c, 0x45, 0x5f,
	0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x68, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e,
	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0x69, 0x12, 0x16,
	0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f,
	0x54, 0x45, 0x58, 0x54, 0x10, 0x6a, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e,
	0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x6b, 0x12,
	0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x6c,
	0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e,
	0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x6d, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x49, 0x45, 0x4c,
	0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x6e, 0x12,
	0x18, 0x0a, 0x14, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43,
	0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x6f, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x44, 0x44,
	0x52, 0x45, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x70, 0x12, 0x19,
	0x0a, 0x15, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41,
	0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x71, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x55, 0x44,
	0x49, 0x4f, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e,
	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x5f, 0x44, 0x49,
	0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x54,
	0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f,
	0x49, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x4f, 0x4f, 0x5f,
	0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x56, 0x49, 0x44,
	0x45, 0x4f, 0x53, 0x10, 0x75, 0x12, 0x2e, 0x0a, 0x2a, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41,
	0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e,
	0x44, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45,
	0x4e, 0x43, 0x45, 0x10, 0x76, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x41, 0x4c, 0x4c, 0x54, 0x52, 0x41,
	0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52,
	0x54, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x10,
	0x77, 0x12, 0x2d, 0x0a, 0x29, 0x43, 0x41, 0x52, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x53, 0x50, 0x45,
	0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x5f, 0x4e, 0x55, 0x4d, 0x42,
	0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x78,
	0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x53, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x4e,
	0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x79, 0x12, 0x2a, 0x0a, 0x26,
	0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
	0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x43,
	0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x7a, 0x12, 0x3c, 0x0a, 0x38, 0x50, 0x48, 0x4f, 0x4e,
	0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50,
	0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4c, 0x4c,
	0x54, 0x52, 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x55,
	0x4e, 0x54, 0x52, 0x59, 0x10, 0x7b, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55,
	0x4d, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4e, 0x4f,
	0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x7c, 0x12, 0x23, 0x0a, 0x1f, 0x56,
	0x41, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42,
	0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x7d,
	0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c,
	0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x49, 0x44, 0x10, 0x7e, 0x12, 0x3d, 0x0a, 0x39, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f,
	0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e,
	0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x5f,
	0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x49, 0x44, 0x10, 0x7f, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53,
	0x45, 0x54, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x32, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54,
	0x5f, 0x50, 0x41, 0x54, 0x48, 0x31, 0x10, 0x80, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x49, 0x53,
	0x53, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x53, 0x45, 0x41,
	0x52, 0x43, 0x48, 0x5f, 0x41, 0x44, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f,
	0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x81, 0x01, 0x12, 0x27,
	0x0a, 0x22, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x57,
	0x49, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x10, 0x82, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x43, 0x55, 0x53, 0x54, 0x4f,
	0x4d, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f,
	0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52,
	0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x83, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x4d, 0x49,
	0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x4d,
	0x45, 0x44, 0x49, 0x41, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x84, 0x01, 0x12, 0x30,
	0x0a, 0x2b, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e,
	0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x5f,
	0x54, 0x48, 0x49, 0x53, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x41, 0x49, 0x47, 0x4e, 0x10, 0x85, 0x01,
	0x42, 0xe7, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31,
	0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x41, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61,
	0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x3b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0xa2, 0x02, 0x03,
	0x47, 0x41, 0x41, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73,
	0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x73, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64,
	0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x73, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a,
	0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a,
	0x56, 0x31, 0x3a, 0x3a, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
}

var (
	file_google_ads_googleads_v1_errors_ad_error_proto_rawDescOnce sync.Once
	file_google_ads_googleads_v1_errors_ad_error_proto_rawDescData = file_google_ads_googleads_v1_errors_ad_error_proto_rawDesc
)

func file_google_ads_googleads_v1_errors_ad_error_proto_rawDescGZIP() []byte {
	file_google_ads_googleads_v1_errors_ad_error_proto_rawDescOnce.Do(func() {
		file_google_ads_googleads_v1_errors_ad_error_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v1_errors_ad_error_proto_rawDescData)
	})
	return file_google_ads_googleads_v1_errors_ad_error_proto_rawDescData
}

var file_google_ads_googleads_v1_errors_ad_error_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_ads_googleads_v1_errors_ad_error_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_google_ads_googleads_v1_errors_ad_error_proto_goTypes = []interface{}{
	(AdErrorEnum_AdError)(0), // 0: google.ads.googleads.v1.errors.AdErrorEnum.AdError
	(*AdErrorEnum)(nil),      // 1: google.ads.googleads.v1.errors.AdErrorEnum
}
var file_google_ads_googleads_v1_errors_ad_error_proto_depIdxs = []int32{
	0, // [0:0] is the sub-list for method output_type
	0, // [0:0] is the sub-list for method input_type
	0, // [0:0] is the sub-list for extension type_name
	0, // [0:0] is the sub-list for extension extendee
	0, // [0:0] is the sub-list for field type_name
}

func init() { file_google_ads_googleads_v1_errors_ad_error_proto_init() }
func file_google_ads_googleads_v1_errors_ad_error_proto_init() {
	if File_google_ads_googleads_v1_errors_ad_error_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_google_ads_googleads_v1_errors_ad_error_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AdErrorEnum); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_ads_googleads_v1_errors_ad_error_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   1,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_ads_googleads_v1_errors_ad_error_proto_goTypes,
		DependencyIndexes: file_google_ads_googleads_v1_errors_ad_error_proto_depIdxs,
		EnumInfos:         file_google_ads_googleads_v1_errors_ad_error_proto_enumTypes,
		MessageInfos:      file_google_ads_googleads_v1_errors_ad_error_proto_msgTypes,
	}.Build()
	File_google_ads_googleads_v1_errors_ad_error_proto = out.File
	file_google_ads_googleads_v1_errors_ad_error_proto_rawDesc = nil
	file_google_ads_googleads_v1_errors_ad_error_proto_goTypes = nil
	file_google_ads_googleads_v1_errors_ad_error_proto_depIdxs = nil
}
