auto-regenerate .pb.go files (#358)

This is an auto-generated regeneration of the .pb.go files by
cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genmgr will
update the corresponding CL at gocloud to depend on the newer version of
go-genproto, and assign reviewers. Whilst this or any regen PR is open in
go-genproto, gapicgen will not create any more regeneration PRs or CLs. If all
regen PRs are closed, gapicgen will create a new set of regeneration PRs and
CLs once per night.

If you have been assigned to review this CL, please:

- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship. That will prompt
  genmgr to assign reviewers to the gocloud CL.

Corresponding gocloud CL: https://code-review.googlesource.com/c/gocloud/+/56090
diff --git a/googleapis/ads/googleads/v3/common/bidding.pb.go b/googleapis/ads/googleads/v3/common/bidding.pb.go
index d27185b..947ac85 100644
--- a/googleapis/ads/googleads/v3/common/bidding.pb.go
+++ b/googleapis/ads/googleads/v3/common/bidding.pb.go
@@ -387,7 +387,7 @@
 // An automated bidding strategy that sets bids so that a certain percentage of
 // search ads are shown at the top of the first page (or other targeted
 // location).
-// Next Id = 4
+// next tag = 4
 type TargetImpressionShare struct {
 	// The targeted location on the search results page.
 	Location enums.TargetImpressionShareLocationEnum_TargetImpressionShareLocation `protobuf:"varint,1,opt,name=location,proto3,enum=google.ads.googleads.v3.enums.TargetImpressionShareLocationEnum_TargetImpressionShareLocation" json:"location,omitempty"`
diff --git a/googleapis/ads/googleads/v3/common/keyword_plan_common.pb.go b/googleapis/ads/googleads/v3/common/keyword_plan_common.pb.go
index e600e39..c12c374 100644
--- a/googleapis/ads/googleads/v3/common/keyword_plan_common.pb.go
+++ b/googleapis/ads/googleads/v3/common/keyword_plan_common.pb.go
@@ -24,9 +24,13 @@
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
-// Historical metrics.
+// Historical metrics specific to the targeting options selected.
+// Targeting options include geographies, network, etc.
+// Refer to https://support.google.com/google-ads/answer/3022575 for more
+// details.
 type KeywordPlanHistoricalMetrics struct {
-	// Average monthly searches for the past 12 months.
+	// Approximate number of monthly searches on this query averaged
+	// for the past 12 months.
 	AvgMonthlySearches *wrappers.Int64Value `protobuf:"bytes,1,opt,name=avg_monthly_searches,json=avgMonthlySearches,proto3" json:"avg_monthly_searches,omitempty"`
 	// The competition level for the query.
 	Competition          enums.KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel `protobuf:"varint,2,opt,name=competition,proto3,enum=google.ads.googleads.v3.enums.KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel" json:"competition,omitempty"`
diff --git a/googleapis/ads/googleads/v3/common/metrics.pb.go b/googleapis/ads/googleads/v3/common/metrics.pb.go
index c8bac59..200fb75 100644
--- a/googleapis/ads/googleads/v3/common/metrics.pb.go
+++ b/googleapis/ads/googleads/v3/common/metrics.pb.go
@@ -225,7 +225,7 @@
 	// An engagement occurs when a viewer expands your Lightbox ad. Also, in the
 	// future, other ad types may support engagement metrics.
 	Engagements *wrappers.Int64Value `protobuf:"bytes,32,opt,name=engagements,proto3" json:"engagements,omitempty"`
-	// Average lead value of hotel.
+	// Average lead value based on clicks.
 	HotelAverageLeadValueMicros *wrappers.DoubleValue `protobuf:"bytes,75,opt,name=hotel_average_lead_value_micros,json=hotelAverageLeadValueMicros,proto3" json:"hotel_average_lead_value_micros,omitempty"`
 	// The average price difference between the price offered by reporting hotel
 	// advertiser and the cheapest price offered by the competing advertiser.
diff --git a/googleapis/ads/googleads/v3/common/offline_user_data.pb.go b/googleapis/ads/googleads/v3/common/offline_user_data.pb.go
new file mode 100644
index 0000000..c0ca82e
--- /dev/null
+++ b/googleapis/ads/googleads/v3/common/offline_user_data.pb.go
@@ -0,0 +1,739 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/common/offline_user_data.proto
+
+package common
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	wrappers "github.com/golang/protobuf/ptypes/wrappers"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Address identifier of offline data.
+type OfflineUserAddressInfo struct {
+	// First name of the user, which is hashed as SHA-256 after normalized
+	// (Lowercase all characters; Remove any extra spaces before, after, and in
+	// between).
+	HashedFirstName *wrappers.StringValue `protobuf:"bytes,1,opt,name=hashed_first_name,json=hashedFirstName,proto3" json:"hashed_first_name,omitempty"`
+	// Last name of the user, which is hashed as SHA-256 after normalized (lower
+	// case only and no punctuation).
+	HashedLastName *wrappers.StringValue `protobuf:"bytes,2,opt,name=hashed_last_name,json=hashedLastName,proto3" json:"hashed_last_name,omitempty"`
+	// City of the address. Only accepted for Store Sales Direct data.
+	City *wrappers.StringValue `protobuf:"bytes,3,opt,name=city,proto3" json:"city,omitempty"`
+	// State code of the address. Only accepted for Store Sales Direct data.
+	State *wrappers.StringValue `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
+	// 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
+	CountryCode *wrappers.StringValue `protobuf:"bytes,5,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+	// Postal code of the user's address.
+	PostalCode           *wrappers.StringValue `protobuf:"bytes,6,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *OfflineUserAddressInfo) Reset()         { *m = OfflineUserAddressInfo{} }
+func (m *OfflineUserAddressInfo) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserAddressInfo) ProtoMessage()    {}
+func (*OfflineUserAddressInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{0}
+}
+
+func (m *OfflineUserAddressInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserAddressInfo.Unmarshal(m, b)
+}
+func (m *OfflineUserAddressInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserAddressInfo.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserAddressInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserAddressInfo.Merge(m, src)
+}
+func (m *OfflineUserAddressInfo) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserAddressInfo.Size(m)
+}
+func (m *OfflineUserAddressInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserAddressInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserAddressInfo proto.InternalMessageInfo
+
+func (m *OfflineUserAddressInfo) GetHashedFirstName() *wrappers.StringValue {
+	if m != nil {
+		return m.HashedFirstName
+	}
+	return nil
+}
+
+func (m *OfflineUserAddressInfo) GetHashedLastName() *wrappers.StringValue {
+	if m != nil {
+		return m.HashedLastName
+	}
+	return nil
+}
+
+func (m *OfflineUserAddressInfo) GetCity() *wrappers.StringValue {
+	if m != nil {
+		return m.City
+	}
+	return nil
+}
+
+func (m *OfflineUserAddressInfo) GetState() *wrappers.StringValue {
+	if m != nil {
+		return m.State
+	}
+	return nil
+}
+
+func (m *OfflineUserAddressInfo) GetCountryCode() *wrappers.StringValue {
+	if m != nil {
+		return m.CountryCode
+	}
+	return nil
+}
+
+func (m *OfflineUserAddressInfo) GetPostalCode() *wrappers.StringValue {
+	if m != nil {
+		return m.PostalCode
+	}
+	return nil
+}
+
+// Hashed user identifying information.
+type UserIdentifier struct {
+	// Exactly one must be specified.
+	//
+	// Types that are valid to be assigned to Identifier:
+	//	*UserIdentifier_HashedEmail
+	//	*UserIdentifier_HashedPhoneNumber
+	//	*UserIdentifier_MobileId
+	//	*UserIdentifier_ThirdPartyUserId
+	//	*UserIdentifier_AddressInfo
+	Identifier           isUserIdentifier_Identifier `protobuf_oneof:"identifier"`
+	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
+	XXX_unrecognized     []byte                      `json:"-"`
+	XXX_sizecache        int32                       `json:"-"`
+}
+
+func (m *UserIdentifier) Reset()         { *m = UserIdentifier{} }
+func (m *UserIdentifier) String() string { return proto.CompactTextString(m) }
+func (*UserIdentifier) ProtoMessage()    {}
+func (*UserIdentifier) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{1}
+}
+
+func (m *UserIdentifier) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UserIdentifier.Unmarshal(m, b)
+}
+func (m *UserIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UserIdentifier.Marshal(b, m, deterministic)
+}
+func (m *UserIdentifier) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UserIdentifier.Merge(m, src)
+}
+func (m *UserIdentifier) XXX_Size() int {
+	return xxx_messageInfo_UserIdentifier.Size(m)
+}
+func (m *UserIdentifier) XXX_DiscardUnknown() {
+	xxx_messageInfo_UserIdentifier.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UserIdentifier proto.InternalMessageInfo
+
+type isUserIdentifier_Identifier interface {
+	isUserIdentifier_Identifier()
+}
+
+type UserIdentifier_HashedEmail struct {
+	HashedEmail *wrappers.StringValue `protobuf:"bytes,1,opt,name=hashed_email,json=hashedEmail,proto3,oneof"`
+}
+
+type UserIdentifier_HashedPhoneNumber struct {
+	HashedPhoneNumber *wrappers.StringValue `protobuf:"bytes,2,opt,name=hashed_phone_number,json=hashedPhoneNumber,proto3,oneof"`
+}
+
+type UserIdentifier_MobileId struct {
+	MobileId *wrappers.StringValue `protobuf:"bytes,3,opt,name=mobile_id,json=mobileId,proto3,oneof"`
+}
+
+type UserIdentifier_ThirdPartyUserId struct {
+	ThirdPartyUserId *wrappers.StringValue `protobuf:"bytes,4,opt,name=third_party_user_id,json=thirdPartyUserId,proto3,oneof"`
+}
+
+type UserIdentifier_AddressInfo struct {
+	AddressInfo *OfflineUserAddressInfo `protobuf:"bytes,5,opt,name=address_info,json=addressInfo,proto3,oneof"`
+}
+
+func (*UserIdentifier_HashedEmail) isUserIdentifier_Identifier() {}
+
+func (*UserIdentifier_HashedPhoneNumber) isUserIdentifier_Identifier() {}
+
+func (*UserIdentifier_MobileId) isUserIdentifier_Identifier() {}
+
+func (*UserIdentifier_ThirdPartyUserId) isUserIdentifier_Identifier() {}
+
+func (*UserIdentifier_AddressInfo) isUserIdentifier_Identifier() {}
+
+func (m *UserIdentifier) GetIdentifier() isUserIdentifier_Identifier {
+	if m != nil {
+		return m.Identifier
+	}
+	return nil
+}
+
+func (m *UserIdentifier) GetHashedEmail() *wrappers.StringValue {
+	if x, ok := m.GetIdentifier().(*UserIdentifier_HashedEmail); ok {
+		return x.HashedEmail
+	}
+	return nil
+}
+
+func (m *UserIdentifier) GetHashedPhoneNumber() *wrappers.StringValue {
+	if x, ok := m.GetIdentifier().(*UserIdentifier_HashedPhoneNumber); ok {
+		return x.HashedPhoneNumber
+	}
+	return nil
+}
+
+func (m *UserIdentifier) GetMobileId() *wrappers.StringValue {
+	if x, ok := m.GetIdentifier().(*UserIdentifier_MobileId); ok {
+		return x.MobileId
+	}
+	return nil
+}
+
+func (m *UserIdentifier) GetThirdPartyUserId() *wrappers.StringValue {
+	if x, ok := m.GetIdentifier().(*UserIdentifier_ThirdPartyUserId); ok {
+		return x.ThirdPartyUserId
+	}
+	return nil
+}
+
+func (m *UserIdentifier) GetAddressInfo() *OfflineUserAddressInfo {
+	if x, ok := m.GetIdentifier().(*UserIdentifier_AddressInfo); ok {
+		return x.AddressInfo
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*UserIdentifier) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*UserIdentifier_HashedEmail)(nil),
+		(*UserIdentifier_HashedPhoneNumber)(nil),
+		(*UserIdentifier_MobileId)(nil),
+		(*UserIdentifier_ThirdPartyUserId)(nil),
+		(*UserIdentifier_AddressInfo)(nil),
+	}
+}
+
+// Attribute of the store sales transaction.
+type TransactionAttribute struct {
+	// Timestamp when transaction occurred. Required.
+	// The format is "YYYY-MM-DD HH:MM:SS".
+	// Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+	TransactionDateTime *wrappers.StringValue `protobuf:"bytes,1,opt,name=transaction_date_time,json=transactionDateTime,proto3" json:"transaction_date_time,omitempty"`
+	// Transaction amount in micros. Required.
+	TransactionAmountMicros *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=transaction_amount_micros,json=transactionAmountMicros,proto3" json:"transaction_amount_micros,omitempty"`
+	// Transaction currency code. ISO 4217 three-letter code is used. Required.
+	CurrencyCode *wrappers.StringValue `protobuf:"bytes,3,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
+	// The resource name of conversion action to report conversions to.
+	// Required.
+	ConversionAction *wrappers.StringValue `protobuf:"bytes,4,opt,name=conversion_action,json=conversionAction,proto3" json:"conversion_action,omitempty"`
+	// Transaction order id.
+	// Accessible to whitelisted customers only.
+	OrderId *wrappers.StringValue `protobuf:"bytes,5,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
+	// Store attributes of the transaction.
+	// Accessible to whitelisted customers only.
+	StoreAttribute *StoreAttribute `protobuf:"bytes,6,opt,name=store_attribute,json=storeAttribute,proto3" json:"store_attribute,omitempty"`
+	// Value of the custom variable for each transaction.
+	// Accessible to whitelisted customers only.
+	CustomValue          *wrappers.StringValue `protobuf:"bytes,7,opt,name=custom_value,json=customValue,proto3" json:"custom_value,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *TransactionAttribute) Reset()         { *m = TransactionAttribute{} }
+func (m *TransactionAttribute) String() string { return proto.CompactTextString(m) }
+func (*TransactionAttribute) ProtoMessage()    {}
+func (*TransactionAttribute) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{2}
+}
+
+func (m *TransactionAttribute) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TransactionAttribute.Unmarshal(m, b)
+}
+func (m *TransactionAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TransactionAttribute.Marshal(b, m, deterministic)
+}
+func (m *TransactionAttribute) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TransactionAttribute.Merge(m, src)
+}
+func (m *TransactionAttribute) XXX_Size() int {
+	return xxx_messageInfo_TransactionAttribute.Size(m)
+}
+func (m *TransactionAttribute) XXX_DiscardUnknown() {
+	xxx_messageInfo_TransactionAttribute.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TransactionAttribute proto.InternalMessageInfo
+
+func (m *TransactionAttribute) GetTransactionDateTime() *wrappers.StringValue {
+	if m != nil {
+		return m.TransactionDateTime
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetTransactionAmountMicros() *wrappers.DoubleValue {
+	if m != nil {
+		return m.TransactionAmountMicros
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetCurrencyCode() *wrappers.StringValue {
+	if m != nil {
+		return m.CurrencyCode
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetConversionAction() *wrappers.StringValue {
+	if m != nil {
+		return m.ConversionAction
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetOrderId() *wrappers.StringValue {
+	if m != nil {
+		return m.OrderId
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetStoreAttribute() *StoreAttribute {
+	if m != nil {
+		return m.StoreAttribute
+	}
+	return nil
+}
+
+func (m *TransactionAttribute) GetCustomValue() *wrappers.StringValue {
+	if m != nil {
+		return m.CustomValue
+	}
+	return nil
+}
+
+// Store attributes of the transaction.
+type StoreAttribute struct {
+	// Store code from
+	// https://support.google.com/business/answer/3370250#storecode
+	StoreCode            *wrappers.StringValue `protobuf:"bytes,1,opt,name=store_code,json=storeCode,proto3" json:"store_code,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *StoreAttribute) Reset()         { *m = StoreAttribute{} }
+func (m *StoreAttribute) String() string { return proto.CompactTextString(m) }
+func (*StoreAttribute) ProtoMessage()    {}
+func (*StoreAttribute) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{3}
+}
+
+func (m *StoreAttribute) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StoreAttribute.Unmarshal(m, b)
+}
+func (m *StoreAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StoreAttribute.Marshal(b, m, deterministic)
+}
+func (m *StoreAttribute) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StoreAttribute.Merge(m, src)
+}
+func (m *StoreAttribute) XXX_Size() int {
+	return xxx_messageInfo_StoreAttribute.Size(m)
+}
+func (m *StoreAttribute) XXX_DiscardUnknown() {
+	xxx_messageInfo_StoreAttribute.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StoreAttribute proto.InternalMessageInfo
+
+func (m *StoreAttribute) GetStoreCode() *wrappers.StringValue {
+	if m != nil {
+		return m.StoreCode
+	}
+	return nil
+}
+
+// User data holding user identifiers and attributes.
+type UserData struct {
+	// User identification info. Required.
+	UserIdentifiers []*UserIdentifier `protobuf:"bytes,1,rep,name=user_identifiers,json=userIdentifiers,proto3" json:"user_identifiers,omitempty"`
+	// Additional transactions/attributes associated with the user.
+	// Required when updating store sales data.
+	TransactionAttribute *TransactionAttribute `protobuf:"bytes,2,opt,name=transaction_attribute,json=transactionAttribute,proto3" json:"transaction_attribute,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UserData) Reset()         { *m = UserData{} }
+func (m *UserData) String() string { return proto.CompactTextString(m) }
+func (*UserData) ProtoMessage()    {}
+func (*UserData) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{4}
+}
+
+func (m *UserData) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UserData.Unmarshal(m, b)
+}
+func (m *UserData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UserData.Marshal(b, m, deterministic)
+}
+func (m *UserData) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UserData.Merge(m, src)
+}
+func (m *UserData) XXX_Size() int {
+	return xxx_messageInfo_UserData.Size(m)
+}
+func (m *UserData) XXX_DiscardUnknown() {
+	xxx_messageInfo_UserData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UserData proto.InternalMessageInfo
+
+func (m *UserData) GetUserIdentifiers() []*UserIdentifier {
+	if m != nil {
+		return m.UserIdentifiers
+	}
+	return nil
+}
+
+func (m *UserData) GetTransactionAttribute() *TransactionAttribute {
+	if m != nil {
+		return m.TransactionAttribute
+	}
+	return nil
+}
+
+// Metadata for customer match user list.
+type CustomerMatchUserListMetadata struct {
+	// The resource name of remarketing list to update data.
+	// Required for job of CUSTOMER_MATCH_USER_LIST type.
+	UserList             *wrappers.StringValue `protobuf:"bytes,1,opt,name=user_list,json=userList,proto3" json:"user_list,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *CustomerMatchUserListMetadata) Reset()         { *m = CustomerMatchUserListMetadata{} }
+func (m *CustomerMatchUserListMetadata) String() string { return proto.CompactTextString(m) }
+func (*CustomerMatchUserListMetadata) ProtoMessage()    {}
+func (*CustomerMatchUserListMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{5}
+}
+
+func (m *CustomerMatchUserListMetadata) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CustomerMatchUserListMetadata.Unmarshal(m, b)
+}
+func (m *CustomerMatchUserListMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CustomerMatchUserListMetadata.Marshal(b, m, deterministic)
+}
+func (m *CustomerMatchUserListMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CustomerMatchUserListMetadata.Merge(m, src)
+}
+func (m *CustomerMatchUserListMetadata) XXX_Size() int {
+	return xxx_messageInfo_CustomerMatchUserListMetadata.Size(m)
+}
+func (m *CustomerMatchUserListMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_CustomerMatchUserListMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CustomerMatchUserListMetadata proto.InternalMessageInfo
+
+func (m *CustomerMatchUserListMetadata) GetUserList() *wrappers.StringValue {
+	if m != nil {
+		return m.UserList
+	}
+	return nil
+}
+
+// Metadata for Store Sales Direct.
+type StoreSalesMetadata struct {
+	// This is the fraction of all transactions that are identifiable (i.e.,
+	// associated with any form of customer information).
+	// Required.
+	// The fraction needs to be between 0 and 1 (excluding 0).
+	LoyaltyFraction *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=loyalty_fraction,json=loyaltyFraction,proto3" json:"loyalty_fraction,omitempty"`
+	// This is the ratio of sales being uploaded compared to the overall sales
+	// that can be associated with a customer. Required.
+	// The fraction needs to be between 0 and 1 (excluding 0). For example, if you
+	// upload half the sales that you are able to associate with a customer, this
+	// would be 0.5.
+	TransactionUploadFraction *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=transaction_upload_fraction,json=transactionUploadFraction,proto3" json:"transaction_upload_fraction,omitempty"`
+	// Name of the store sales custom variable key. A predefined key that
+	// can be applied to the transaction and then later used for custom
+	// segementation in reporting.
+	// Accessible to whitelisted customers only.
+	CustomKey *wrappers.StringValue `protobuf:"bytes,4,opt,name=custom_key,json=customKey,proto3" json:"custom_key,omitempty"`
+	// Metadata for a third party Store Sales upload.
+	ThirdPartyMetadata   *StoreSalesThirdPartyMetadata `protobuf:"bytes,3,opt,name=third_party_metadata,json=thirdPartyMetadata,proto3" json:"third_party_metadata,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
+	XXX_unrecognized     []byte                        `json:"-"`
+	XXX_sizecache        int32                         `json:"-"`
+}
+
+func (m *StoreSalesMetadata) Reset()         { *m = StoreSalesMetadata{} }
+func (m *StoreSalesMetadata) String() string { return proto.CompactTextString(m) }
+func (*StoreSalesMetadata) ProtoMessage()    {}
+func (*StoreSalesMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{6}
+}
+
+func (m *StoreSalesMetadata) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StoreSalesMetadata.Unmarshal(m, b)
+}
+func (m *StoreSalesMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StoreSalesMetadata.Marshal(b, m, deterministic)
+}
+func (m *StoreSalesMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StoreSalesMetadata.Merge(m, src)
+}
+func (m *StoreSalesMetadata) XXX_Size() int {
+	return xxx_messageInfo_StoreSalesMetadata.Size(m)
+}
+func (m *StoreSalesMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_StoreSalesMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StoreSalesMetadata proto.InternalMessageInfo
+
+func (m *StoreSalesMetadata) GetLoyaltyFraction() *wrappers.DoubleValue {
+	if m != nil {
+		return m.LoyaltyFraction
+	}
+	return nil
+}
+
+func (m *StoreSalesMetadata) GetTransactionUploadFraction() *wrappers.DoubleValue {
+	if m != nil {
+		return m.TransactionUploadFraction
+	}
+	return nil
+}
+
+func (m *StoreSalesMetadata) GetCustomKey() *wrappers.StringValue {
+	if m != nil {
+		return m.CustomKey
+	}
+	return nil
+}
+
+func (m *StoreSalesMetadata) GetThirdPartyMetadata() *StoreSalesThirdPartyMetadata {
+	if m != nil {
+		return m.ThirdPartyMetadata
+	}
+	return nil
+}
+
+// Metadata for a third party Store Sales.
+// This is a whitelisted only product. Please contact your Google business
+// development representative for details on the upload configuration.
+type StoreSalesThirdPartyMetadata struct {
+	// Time the advertiser uploaded the data to the partner. Required.
+	// The format is "YYYY-MM-DD HH:MM:SS".
+	// Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+	AdvertiserUploadDateTime *wrappers.StringValue `protobuf:"bytes,1,opt,name=advertiser_upload_date_time,json=advertiserUploadDateTime,proto3" json:"advertiser_upload_date_time,omitempty"`
+	// The fraction of transactions that are valid. Invalid transactions may
+	// include invalid formats or values.
+	// Required.
+	// The fraction needs to be between 0 and 1 (excluding 0).
+	ValidTransactionFraction *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=valid_transaction_fraction,json=validTransactionFraction,proto3" json:"valid_transaction_fraction,omitempty"`
+	// The fraction of valid transactions that are matched to a third party
+	// assigned user ID on the partner side.
+	// Required.
+	// The fraction needs to be between 0 and 1 (excluding 0).
+	PartnerMatchFraction *wrappers.DoubleValue `protobuf:"bytes,3,opt,name=partner_match_fraction,json=partnerMatchFraction,proto3" json:"partner_match_fraction,omitempty"`
+	// The fraction of valid transactions that are uploaded by the partner to
+	// Google.
+	// Required.
+	// The fraction needs to be between 0 and 1 (excluding 0).
+	PartnerUploadFraction *wrappers.DoubleValue `protobuf:"bytes,4,opt,name=partner_upload_fraction,json=partnerUploadFraction,proto3" json:"partner_upload_fraction,omitempty"`
+	// Version of partner IDs to be used for uploads. Required.
+	BridgeMapVersionId *wrappers.StringValue `protobuf:"bytes,5,opt,name=bridge_map_version_id,json=bridgeMapVersionId,proto3" json:"bridge_map_version_id,omitempty"`
+	// ID of the third party partner updating the transaction feed.
+	PartnerId            *wrappers.Int64Value `protobuf:"bytes,6,opt,name=partner_id,json=partnerId,proto3" json:"partner_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *StoreSalesThirdPartyMetadata) Reset()         { *m = StoreSalesThirdPartyMetadata{} }
+func (m *StoreSalesThirdPartyMetadata) String() string { return proto.CompactTextString(m) }
+func (*StoreSalesThirdPartyMetadata) ProtoMessage()    {}
+func (*StoreSalesThirdPartyMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a5aaebd090f8ad90, []int{7}
+}
+
+func (m *StoreSalesThirdPartyMetadata) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StoreSalesThirdPartyMetadata.Unmarshal(m, b)
+}
+func (m *StoreSalesThirdPartyMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StoreSalesThirdPartyMetadata.Marshal(b, m, deterministic)
+}
+func (m *StoreSalesThirdPartyMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StoreSalesThirdPartyMetadata.Merge(m, src)
+}
+func (m *StoreSalesThirdPartyMetadata) XXX_Size() int {
+	return xxx_messageInfo_StoreSalesThirdPartyMetadata.Size(m)
+}
+func (m *StoreSalesThirdPartyMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_StoreSalesThirdPartyMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StoreSalesThirdPartyMetadata proto.InternalMessageInfo
+
+func (m *StoreSalesThirdPartyMetadata) GetAdvertiserUploadDateTime() *wrappers.StringValue {
+	if m != nil {
+		return m.AdvertiserUploadDateTime
+	}
+	return nil
+}
+
+func (m *StoreSalesThirdPartyMetadata) GetValidTransactionFraction() *wrappers.DoubleValue {
+	if m != nil {
+		return m.ValidTransactionFraction
+	}
+	return nil
+}
+
+func (m *StoreSalesThirdPartyMetadata) GetPartnerMatchFraction() *wrappers.DoubleValue {
+	if m != nil {
+		return m.PartnerMatchFraction
+	}
+	return nil
+}
+
+func (m *StoreSalesThirdPartyMetadata) GetPartnerUploadFraction() *wrappers.DoubleValue {
+	if m != nil {
+		return m.PartnerUploadFraction
+	}
+	return nil
+}
+
+func (m *StoreSalesThirdPartyMetadata) GetBridgeMapVersionId() *wrappers.StringValue {
+	if m != nil {
+		return m.BridgeMapVersionId
+	}
+	return nil
+}
+
+func (m *StoreSalesThirdPartyMetadata) GetPartnerId() *wrappers.Int64Value {
+	if m != nil {
+		return m.PartnerId
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*OfflineUserAddressInfo)(nil), "google.ads.googleads.v3.common.OfflineUserAddressInfo")
+	proto.RegisterType((*UserIdentifier)(nil), "google.ads.googleads.v3.common.UserIdentifier")
+	proto.RegisterType((*TransactionAttribute)(nil), "google.ads.googleads.v3.common.TransactionAttribute")
+	proto.RegisterType((*StoreAttribute)(nil), "google.ads.googleads.v3.common.StoreAttribute")
+	proto.RegisterType((*UserData)(nil), "google.ads.googleads.v3.common.UserData")
+	proto.RegisterType((*CustomerMatchUserListMetadata)(nil), "google.ads.googleads.v3.common.CustomerMatchUserListMetadata")
+	proto.RegisterType((*StoreSalesMetadata)(nil), "google.ads.googleads.v3.common.StoreSalesMetadata")
+	proto.RegisterType((*StoreSalesThirdPartyMetadata)(nil), "google.ads.googleads.v3.common.StoreSalesThirdPartyMetadata")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/common/offline_user_data.proto", fileDescriptor_a5aaebd090f8ad90)
+}
+
+var fileDescriptor_a5aaebd090f8ad90 = []byte{
+	// 1056 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xdf, 0x4e, 0x1b, 0x47,
+	0x14, 0xc6, 0x31, 0x26, 0x09, 0x1c, 0x28, 0x90, 0x01, 0x12, 0x17, 0x68, 0x14, 0xf9, 0xaa, 0x57,
+	0xeb, 0x2a, 0x8e, 0xa8, 0x6a, 0x5a, 0x55, 0x06, 0x0a, 0x58, 0x8d, 0x09, 0x32, 0x84, 0xb6, 0x04,
+	0x69, 0x35, 0xde, 0x19, 0x9b, 0x51, 0x77, 0x77, 0x56, 0x33, 0xb3, 0xae, 0xfc, 0x12, 0x55, 0xaf,
+	0x7b, 0xd9, 0xde, 0xf5, 0x51, 0x7a, 0xd5, 0xc7, 0xa8, 0x7a, 0xd3, 0x57, 0x88, 0xe6, 0xcf, 0xae,
+	0x4d, 0x42, 0xc2, 0xe4, 0xca, 0x3b, 0xe3, 0xf3, 0xfb, 0x66, 0xf6, 0x9c, 0xef, 0x1c, 0x1b, 0x76,
+	0x86, 0x9c, 0x0f, 0x63, 0xda, 0xc0, 0x44, 0x36, 0xec, 0xa3, 0x7e, 0x1a, 0x35, 0x1b, 0x11, 0x4f,
+	0x12, 0x9e, 0x36, 0xf8, 0x60, 0x10, 0xb3, 0x94, 0x86, 0xb9, 0xa4, 0x22, 0x24, 0x58, 0xe1, 0x20,
+	0x13, 0x5c, 0x71, 0xf4, 0xc4, 0x06, 0x07, 0x98, 0xc8, 0xa0, 0xe4, 0x82, 0x51, 0x33, 0xb0, 0xdc,
+	0xa6, 0xfb, 0xbe, 0x61, 0xa2, 0xfb, 0xf9, 0xa0, 0xf1, 0x8b, 0xc0, 0x59, 0x46, 0x85, 0xb4, 0xfc,
+	0xe6, 0x76, 0x71, 0x6e, 0xc6, 0x1a, 0x38, 0x4d, 0xb9, 0xc2, 0x8a, 0xf1, 0xd4, 0x7d, 0x5b, 0xff,
+	0xad, 0x0a, 0x8f, 0x5e, 0xda, 0x93, 0x5f, 0x49, 0x2a, 0xda, 0x84, 0x08, 0x2a, 0x65, 0x27, 0x1d,
+	0x70, 0x74, 0x0c, 0x0f, 0xaf, 0xb1, 0xbc, 0xa6, 0x24, 0x1c, 0x30, 0x21, 0x55, 0x98, 0xe2, 0x84,
+	0xd6, 0x2a, 0x4f, 0x2b, 0x9f, 0x2f, 0x3e, 0xdb, 0x76, 0x37, 0x09, 0x8a, 0x43, 0x83, 0x33, 0x25,
+	0x58, 0x3a, 0xbc, 0xc0, 0x71, 0x4e, 0x7b, 0x2b, 0x16, 0x3b, 0xd4, 0xd4, 0x09, 0x4e, 0x28, 0x3a,
+	0x84, 0x55, 0xa7, 0x14, 0xe3, 0x42, 0x68, 0xd6, 0x43, 0x68, 0xd9, 0x52, 0x2f, 0xb0, 0xd3, 0xf9,
+	0x02, 0xe6, 0x22, 0xa6, 0xc6, 0xb5, 0xaa, 0x07, 0x6b, 0x22, 0xd1, 0x33, 0xb8, 0x27, 0x15, 0x56,
+	0xb4, 0x36, 0xe7, 0x81, 0xd8, 0x50, 0xf4, 0x2d, 0x2c, 0x45, 0x3c, 0x4f, 0x95, 0x18, 0x87, 0x11,
+	0x27, 0xb4, 0x76, 0xcf, 0x03, 0x5d, 0x74, 0xc4, 0x3e, 0x27, 0x14, 0x7d, 0x03, 0x8b, 0x19, 0x97,
+	0x0a, 0xc7, 0x96, 0xbf, 0xef, 0xc1, 0x83, 0x05, 0x34, 0x5e, 0xff, 0xbd, 0x0a, 0xcb, 0xba, 0x16,
+	0x1d, 0x42, 0x53, 0xc5, 0x06, 0x8c, 0x0a, 0xd4, 0x86, 0x25, 0x97, 0x40, 0x9a, 0x60, 0x16, 0xfb,
+	0x54, 0xe1, 0x78, 0xa6, 0xb7, 0x68, 0x99, 0xef, 0x34, 0x82, 0x4e, 0x60, 0xcd, 0x49, 0x64, 0xd7,
+	0x3c, 0xa5, 0x61, 0x9a, 0x27, 0x7d, 0x2a, 0x7c, 0xca, 0x70, 0x3c, 0xd3, 0x73, 0x46, 0x38, 0xd5,
+	0xe4, 0x89, 0x01, 0xd1, 0x2e, 0x2c, 0x24, 0xbc, 0xcf, 0x62, 0x1a, 0x32, 0xe2, 0x53, 0x90, 0xe3,
+	0x99, 0xde, 0xbc, 0x05, 0x3a, 0x04, 0x75, 0x61, 0x4d, 0x5d, 0x33, 0x41, 0xc2, 0x0c, 0x0b, 0x35,
+	0xb6, 0x96, 0x67, 0xc4, 0xa7, 0x48, 0xc7, 0x33, 0xbd, 0x55, 0x83, 0x9e, 0x6a, 0xd2, 0xa6, 0x09,
+	0xbd, 0x86, 0x25, 0x6c, 0x8d, 0x1b, 0xb2, 0x74, 0xc0, 0x5d, 0xc5, 0x76, 0x82, 0x0f, 0x77, 0x4e,
+	0x70, 0xbb, 0xef, 0x75, 0xe2, 0xf0, 0x64, 0xb9, 0xb7, 0x04, 0xc0, 0xca, 0x4a, 0xd4, 0xff, 0x9c,
+	0x83, 0xf5, 0x73, 0x81, 0x53, 0x89, 0x23, 0xdd, 0x46, 0x6d, 0xa5, 0x04, 0xeb, 0xe7, 0x8a, 0xa2,
+	0x53, 0xd8, 0x50, 0x93, 0x7d, 0xdd, 0xc0, 0x34, 0x54, 0xcc, 0xb3, 0x63, 0xd6, 0xa6, 0xd0, 0x03,
+	0xac, 0xe8, 0x39, 0x4b, 0x28, 0xfa, 0x11, 0x3e, 0x9d, 0x56, 0xc4, 0x89, 0xb6, 0x58, 0x98, 0xb0,
+	0x48, 0x70, 0xf9, 0xde, 0xba, 0x1d, 0xf0, 0xbc, 0x1f, 0x53, 0xab, 0xfa, 0x78, 0x0a, 0x6f, 0x1b,
+	0xba, 0x6b, 0x60, 0xd4, 0x86, 0x4f, 0xa2, 0x5c, 0x08, 0x9a, 0x46, 0xce, 0xe2, 0x3e, 0x0d, 0xb5,
+	0x54, 0x20, 0xc6, 0xe3, 0x1d, 0x78, 0x18, 0xf1, 0x74, 0x44, 0x85, 0x34, 0x77, 0x33, 0x67, 0x78,
+	0x35, 0xd9, 0xea, 0x04, 0x6b, 0x1b, 0x0a, 0x7d, 0x09, 0xf3, 0x5c, 0x10, 0xeb, 0x00, 0x9f, 0x5e,
+	0x7b, 0x60, 0xa2, 0x3b, 0x04, 0xfd, 0x00, 0x2b, 0x52, 0x71, 0x41, 0x43, 0x5c, 0x54, 0xc1, 0xf5,
+	0x5a, 0x70, 0x57, 0xe5, 0xcf, 0x34, 0x56, 0xd6, 0xae, 0xb7, 0x2c, 0x6f, 0xac, 0xcd, 0x04, 0xc8,
+	0xa5, 0xe2, 0x49, 0x38, 0xd2, 0x27, 0xd6, 0x1e, 0x78, 0x4d, 0x00, 0x43, 0x98, 0x45, 0xbd, 0x0b,
+	0xcb, 0x37, 0x8f, 0x40, 0xbb, 0x00, 0xf6, 0xae, 0x26, 0xdf, 0x3e, 0x9e, 0x58, 0x30, 0xf1, 0x66,
+	0x22, 0xfc, 0x53, 0x81, 0x79, 0xed, 0xd2, 0x03, 0xac, 0x30, 0xfa, 0x09, 0x56, 0x5d, 0xbf, 0x14,
+	0xa6, 0x94, 0xb5, 0xca, 0xd3, 0xaa, 0xcf, 0x6b, 0xdf, 0x9c, 0x2a, 0xbd, 0x95, 0xfc, 0xc6, 0x5a,
+	0x22, 0x76, 0xd3, 0xc3, 0x93, 0xb4, 0x5a, 0xb7, 0x3d, 0xbf, 0x4b, 0xff, 0xb6, 0xc6, 0xe8, 0xad,
+	0xab, 0x5b, 0x76, 0xeb, 0x97, 0xf0, 0xd9, 0xbe, 0x49, 0x18, 0x15, 0x5d, 0xac, 0xa2, 0x6b, 0x7d,
+	0xb5, 0x17, 0x4c, 0xaa, 0x2e, 0x55, 0x58, 0xff, 0xf8, 0xa1, 0xaf, 0x60, 0xc1, 0xbc, 0x66, 0xcc,
+	0xa4, 0xf2, 0xca, 0xd7, 0x7c, 0xee, 0x24, 0xea, 0xff, 0xce, 0x02, 0x32, 0xe9, 0x3f, 0xc3, 0x31,
+	0x95, 0xa5, 0xe2, 0x11, 0xac, 0xc6, 0x7c, 0x8c, 0x63, 0x35, 0x0e, 0x07, 0xc2, 0x39, 0xb6, 0xe2,
+	0xd1, 0x46, 0x2b, 0x8e, 0x3a, 0x74, 0x10, 0xba, 0x82, 0xad, 0xe9, 0x34, 0xe5, 0x59, 0xcc, 0x31,
+	0x99, 0x68, 0xfa, 0xb4, 0xe6, 0x74, 0x67, 0xbf, 0x32, 0x7c, 0xa9, 0xbe, 0x0b, 0xe0, 0xcc, 0xf7,
+	0x33, 0x1d, 0x7b, 0xb5, 0xd4, 0x82, 0x8d, 0xff, 0x9e, 0x8e, 0x51, 0x0a, 0xeb, 0xd3, 0x83, 0x35,
+	0x71, 0xef, 0xee, 0x1a, 0xfc, 0x6b, 0xaf, 0xbe, 0x30, 0x59, 0x3b, 0x2f, 0x67, 0x6c, 0x91, 0xbf,
+	0x1e, 0x52, 0xef, 0xec, 0xd5, 0x7f, 0x9d, 0x83, 0xed, 0x0f, 0x41, 0xe8, 0x35, 0x6c, 0x61, 0x32,
+	0xa2, 0x42, 0x31, 0x5d, 0x4c, 0x97, 0xaa, 0x8f, 0x1b, 0x8e, 0xb5, 0x89, 0x80, 0x4d, 0x55, 0x39,
+	0x21, 0x2f, 0x61, 0x73, 0x84, 0x63, 0x46, 0xc2, 0xe9, 0x72, 0x7c, 0x54, 0x1d, 0x6a, 0x86, 0x9f,
+	0xf2, 0x6d, 0x59, 0x86, 0x1e, 0x3c, 0xd2, 0x39, 0x4c, 0xa9, 0x08, 0x13, 0x6d, 0xd0, 0x89, 0x6e,
+	0xd5, 0x43, 0x77, 0xdd, 0xb1, 0xc6, 0xdb, 0xa5, 0xe6, 0x39, 0x3c, 0x2e, 0x34, 0xdf, 0x36, 0xcd,
+	0x9c, 0x87, 0xe8, 0x86, 0x83, 0xdf, 0x32, 0xcc, 0x4b, 0xd8, 0xe8, 0x0b, 0x46, 0x86, 0x34, 0x4c,
+	0x70, 0x16, 0x16, 0x23, 0xd9, 0x73, 0x98, 0x22, 0x8b, 0x76, 0x71, 0x76, 0x61, 0xc1, 0x0e, 0x41,
+	0x2d, 0x80, 0xe2, 0x9a, 0x8c, 0xb8, 0x91, 0xba, 0xf5, 0x8e, 0x4a, 0x27, 0x55, 0x3b, 0xcf, 0x9d,
+	0x01, 0x5d, 0x78, 0x87, 0xec, 0xfd, 0x5f, 0x81, 0x7a, 0xc4, 0x93, 0x3b, 0x8c, 0xb6, 0xb7, 0x3e,
+	0xf5, 0xdb, 0xab, 0xa7, 0xda, 0xa9, 0x56, 0x3d, 0xad, 0x5c, 0x1e, 0x38, 0x6e, 0xc8, 0x63, 0x9c,
+	0x0e, 0x03, 0x2e, 0x86, 0x8d, 0x21, 0x4d, 0xcd, 0x99, 0xc5, 0x9f, 0xe6, 0x8c, 0xc9, 0xf7, 0xfd,
+	0x87, 0xde, 0xb5, 0x1f, 0x7f, 0xcc, 0x56, 0x8f, 0xda, 0xed, 0xbf, 0x66, 0x9f, 0x1c, 0x59, 0xb1,
+	0x36, 0x91, 0x81, 0x7d, 0xd4, 0x4f, 0x17, 0xcd, 0x60, 0xdf, 0x84, 0xfd, 0x5d, 0x04, 0x5c, 0xb5,
+	0x89, 0xbc, 0x2a, 0x03, 0xae, 0x2e, 0x9a, 0x57, 0x36, 0xe0, 0xbf, 0xd9, 0xba, 0xdd, 0x6d, 0xb5,
+	0xda, 0x44, 0xb6, 0x5a, 0x65, 0x48, 0xab, 0x75, 0xd1, 0x6c, 0xb5, 0x6c, 0x50, 0xff, 0xbe, 0xb9,
+	0x5d, 0xf3, 0x4d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, 0x9c, 0xe1, 0x96, 0xe0, 0x0b, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/enums/ad_group_type.pb.go b/googleapis/ads/googleads/v3/enums/ad_group_type.pb.go
index bb1a35b..91d71f2 100644
--- a/googleapis/ads/googleads/v3/enums/ad_group_type.pb.go
+++ b/googleapis/ads/googleads/v3/enums/ad_group_type.pb.go
@@ -58,6 +58,8 @@
 	AdGroupTypeEnum_SHOPPING_COMPARISON_LISTING_ADS AdGroupTypeEnum_AdGroupType = 14
 	// The ad group type for Promoted Hotel ad groups.
 	AdGroupTypeEnum_PROMOTED_HOTEL_ADS AdGroupTypeEnum_AdGroupType = 15
+	// Video responsive ad groups.
+	AdGroupTypeEnum_VIDEO_RESPONSIVE AdGroupTypeEnum_AdGroupType = 16
 )
 
 var AdGroupTypeEnum_AdGroupType_name = map[int32]string{
@@ -76,6 +78,7 @@
 	13: "SEARCH_DYNAMIC_ADS",
 	14: "SHOPPING_COMPARISON_LISTING_ADS",
 	15: "PROMOTED_HOTEL_ADS",
+	16: "VIDEO_RESPONSIVE",
 }
 
 var AdGroupTypeEnum_AdGroupType_value = map[string]int32{
@@ -94,6 +97,7 @@
 	"SEARCH_DYNAMIC_ADS":              13,
 	"SHOPPING_COMPARISON_LISTING_ADS": 14,
 	"PROMOTED_HOTEL_ADS":              15,
+	"VIDEO_RESPONSIVE":                16,
 }
 
 func (x AdGroupTypeEnum_AdGroupType) String() string {
@@ -148,35 +152,36 @@
 }
 
 var fileDescriptor_caa3c10e4a74e367 = []byte{
-	// 478 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4f, 0x6f, 0xd3, 0x30,
-	0x14, 0xa7, 0x2d, 0xda, 0x98, 0xbb, 0x51, 0xcb, 0x4c, 0x08, 0x26, 0x0a, 0xea, 0xb8, 0x27, 0x42,
-	0xb9, 0x85, 0x93, 0xdb, 0x98, 0xd6, 0x5a, 0x63, 0x5b, 0x71, 0x92, 0x69, 0xa8, 0x92, 0x15, 0x48,
-	0x14, 0x55, 0x5a, 0xe3, 0xa8, 0x69, 0x27, 0xed, 0x23, 0xf0, 0x35, 0x38, 0xf2, 0x51, 0xf8, 0x1e,
-	0x5c, 0xb8, 0x73, 0x47, 0x89, 0xdb, 0xac, 0x07, 0xd8, 0xc5, 0x7a, 0xfe, 0xfd, 0x79, 0xfa, 0x3d,
-	0xbd, 0x07, 0x3e, 0xe4, 0x5a, 0xe7, 0xb7, 0x99, 0x9d, 0xa4, 0x95, 0x6d, 0xca, 0xba, 0xba, 0x73,
-	0xec, 0xac, 0xd8, 0xae, 0x2a, 0x3b, 0x49, 0x55, 0xbe, 0xd6, 0xdb, 0x52, 0x6d, 0xee, 0xcb, 0xcc,
-	0x2a, 0xd7, 0x7a, 0xa3, 0xd1, 0xd0, 0xe8, 0xac, 0x24, 0xad, 0xac, 0xd6, 0x62, 0xdd, 0x39, 0x56,
-	0x63, 0xb9, 0x78, 0xb3, 0xef, 0x58, 0x2e, 0xed, 0xa4, 0x28, 0xf4, 0x26, 0xd9, 0x2c, 0x75, 0x51,
-	0x19, 0xf3, 0xe5, 0xb7, 0x1e, 0x18, 0xe0, 0x74, 0x5a, 0xf7, 0x0c, 0xef, 0xcb, 0x8c, 0x14, 0xdb,
-	0xd5, 0xe5, 0x9f, 0x2e, 0xe8, 0x1f, 0x60, 0x68, 0x00, 0xfa, 0x11, 0x93, 0x82, 0x4c, 0xe8, 0x27,
-	0x4a, 0x3c, 0xf8, 0x04, 0xf5, 0xc1, 0x71, 0xc4, 0xae, 0x18, 0xbf, 0x66, 0xb0, 0x83, 0x5e, 0x80,
-	0x81, 0x24, 0x38, 0x98, 0xcc, 0x94, 0x0c, 0x31, 0xf3, 0x70, 0xe0, 0xc1, 0x2e, 0x3a, 0x07, 0xd0,
-	0xa3, 0x52, 0xcc, 0xf1, 0xcd, 0x03, 0xda, 0x43, 0xaf, 0xc0, 0xb9, 0x9c, 0x71, 0x21, 0x28, 0x9b,
-	0x2a, 0x11, 0x70, 0x2f, 0x9a, 0x84, 0x0a, 0x7b, 0x12, 0x3e, 0x45, 0x67, 0xe0, 0x64, 0xc6, 0x43,
-	0x32, 0x6f, 0xbe, 0x47, 0xe8, 0x25, 0x40, 0xad, 0x50, 0xfa, 0x38, 0x30, 0xb2, 0x63, 0x04, 0xc1,
-	0x69, 0x4c, 0x3d, 0xc2, 0xd5, 0x38, 0xf2, 0x05, 0x09, 0xe0, 0x33, 0x34, 0x04, 0xaf, 0x0d, 0x12,
-	0x06, 0x11, 0x51, 0x31, 0x25, 0xd7, 0x8a, 0x32, 0x25, 0xc3, 0x80, 0x60, 0x1f, 0x9e, 0xa0, 0xb7,
-	0xe0, 0xe2, 0x1f, 0xf4, 0x2e, 0x1a, 0x04, 0x68, 0x04, 0x86, 0x86, 0x67, 0x9c, 0x29, 0x79, 0x45,
-	0x85, 0xc0, 0xe3, 0x39, 0x39, 0x68, 0xd1, 0xaf, 0xe7, 0x33, 0x12, 0x1e, 0x85, 0x3b, 0xf0, 0xb4,
-	0x09, 0x68, 0x86, 0xf6, 0x6e, 0x18, 0xf6, 0xe9, 0xa4, 0x09, 0x78, 0x86, 0xde, 0x83, 0x77, 0x6d,
-	0xf0, 0x09, 0xf7, 0x05, 0x0e, 0xa8, 0xe4, 0x4c, 0xcd, 0xa9, 0x0c, 0x6b, 0xa8, 0x16, 0x3d, 0xaf,
-	0xcd, 0x22, 0xe0, 0x3e, 0x0f, 0x89, 0xa7, 0x1e, 0xa6, 0x1e, 0x8c, 0x7f, 0x75, 0xc0, 0xe8, 0xab,
-	0x5e, 0x59, 0x8f, 0xee, 0x73, 0x0c, 0x0f, 0x56, 0x23, 0xea, 0x1d, 0x8a, 0xce, 0xe7, 0xf1, 0xce,
-	0x92, 0xeb, 0xdb, 0xa4, 0xc8, 0x2d, 0xbd, 0xce, 0xed, 0x3c, 0x2b, 0x9a, 0x0d, 0xef, 0xaf, 0xa8,
-	0x5c, 0x56, 0xff, 0x39, 0xaa, 0x8f, 0xcd, 0xfb, 0xbd, 0xdb, 0x9b, 0x62, 0xfc, 0xa3, 0x3b, 0x9c,
-	0x9a, 0x56, 0x38, 0xad, 0x2c, 0x53, 0xd6, 0x55, 0xec, 0x58, 0xf5, 0x69, 0x54, 0x3f, 0xf7, 0xfc,
-	0x02, 0xa7, 0xd5, 0xa2, 0xe5, 0x17, 0xb1, 0xb3, 0x68, 0xf8, 0xdf, 0xdd, 0x91, 0x01, 0x5d, 0x17,
-	0xa7, 0x95, 0xeb, 0xb6, 0x0a, 0xd7, 0x8d, 0x1d, 0xd7, 0x6d, 0x34, 0x5f, 0x8e, 0x9a, 0x60, 0xce,
-	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x33, 0x28, 0xb8, 0x91, 0xec, 0x02, 0x00, 0x00,
+	// 491 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xdd, 0x6e, 0xd3, 0x30,
+	0x14, 0xa6, 0x2d, 0xda, 0x98, 0xbb, 0x51, 0xcb, 0x4c, 0x08, 0x26, 0x0a, 0xea, 0xb8, 0x4f, 0x84,
+	0x72, 0x17, 0xae, 0xdc, 0xc6, 0xb4, 0xd6, 0x1a, 0xdb, 0x8a, 0x93, 0x4c, 0x43, 0x95, 0xac, 0x40,
+	0xaa, 0xa8, 0xd2, 0x1a, 0x47, 0x4d, 0x3b, 0x69, 0xcf, 0xc0, 0x43, 0x20, 0x71, 0xc9, 0xa3, 0xf0,
+	0x1e, 0xdc, 0xf0, 0x14, 0xc8, 0x71, 0xdb, 0xf5, 0x02, 0x76, 0x13, 0x9d, 0x7c, 0x3f, 0x27, 0xdf,
+	0xc9, 0x39, 0xe0, 0x43, 0xa1, 0x75, 0x71, 0x3b, 0x77, 0xb3, 0xbc, 0x76, 0x6d, 0x69, 0xaa, 0x3b,
+	0xcf, 0x9d, 0x97, 0x9b, 0x65, 0xed, 0x66, 0xb9, 0x2a, 0x56, 0x7a, 0x53, 0xa9, 0xf5, 0x7d, 0x35,
+	0x77, 0xaa, 0x95, 0x5e, 0x6b, 0xd4, 0xb7, 0x3a, 0x27, 0xcb, 0x6b, 0x67, 0x6f, 0x71, 0xee, 0x3c,
+	0xa7, 0xb1, 0x5c, 0xbc, 0xd9, 0x75, 0xac, 0x16, 0x6e, 0x56, 0x96, 0x7a, 0x9d, 0xad, 0x17, 0xba,
+	0xac, 0xad, 0xf9, 0xf2, 0x7b, 0x07, 0xf4, 0x70, 0x3e, 0x36, 0x3d, 0xe3, 0xfb, 0x6a, 0x4e, 0xca,
+	0xcd, 0xf2, 0xf2, 0x5b, 0x07, 0x74, 0x0f, 0x30, 0xd4, 0x03, 0xdd, 0x84, 0x49, 0x41, 0x46, 0xf4,
+	0x13, 0x25, 0x01, 0x7c, 0x82, 0xba, 0xe0, 0x38, 0x61, 0x57, 0x8c, 0x5f, 0x33, 0xd8, 0x42, 0x2f,
+	0x40, 0x4f, 0x12, 0x1c, 0x8d, 0x26, 0x4a, 0xc6, 0x98, 0x05, 0x38, 0x0a, 0x60, 0x1b, 0x9d, 0x03,
+	0x18, 0x50, 0x29, 0xa6, 0xf8, 0xe6, 0x01, 0xed, 0xa0, 0x57, 0xe0, 0x5c, 0x4e, 0xb8, 0x10, 0x94,
+	0x8d, 0x95, 0x88, 0x78, 0x90, 0x8c, 0x62, 0x85, 0x03, 0x09, 0x9f, 0xa2, 0x33, 0x70, 0x32, 0xe1,
+	0x31, 0x99, 0x36, 0xaf, 0x47, 0xe8, 0x25, 0x40, 0x7b, 0xa1, 0x0c, 0x71, 0x64, 0x65, 0xc7, 0x08,
+	0x82, 0xd3, 0x94, 0x06, 0x84, 0xab, 0x61, 0x12, 0x0a, 0x12, 0xc1, 0x67, 0xa8, 0x0f, 0x5e, 0x5b,
+	0x24, 0x8e, 0x12, 0xa2, 0x52, 0x4a, 0xae, 0x15, 0x65, 0x4a, 0xc6, 0x11, 0xc1, 0x21, 0x3c, 0x41,
+	0x6f, 0xc1, 0xc5, 0x3f, 0xe8, 0x6d, 0x34, 0x08, 0xd0, 0x00, 0xf4, 0x2d, 0xcf, 0x38, 0x53, 0xf2,
+	0x8a, 0x0a, 0x81, 0x87, 0x53, 0x72, 0xd0, 0xa2, 0x6b, 0xe6, 0xb3, 0x12, 0x9e, 0xc4, 0x5b, 0xf0,
+	0xb4, 0x09, 0x68, 0x87, 0x0e, 0x6e, 0x18, 0x0e, 0xe9, 0xa8, 0x09, 0x78, 0x86, 0xde, 0x83, 0x77,
+	0xfb, 0xe0, 0x23, 0x1e, 0x0a, 0x1c, 0x51, 0xc9, 0x99, 0x9a, 0x52, 0x19, 0x1b, 0xc8, 0x88, 0x9e,
+	0x1b, 0xb3, 0x88, 0x78, 0xc8, 0x63, 0x12, 0xa8, 0x87, 0xa9, 0x7b, 0xe6, 0xa7, 0xd9, 0x2f, 0x45,
+	0x44, 0x0a, 0xce, 0x24, 0x4d, 0x09, 0x84, 0xc3, 0xdf, 0x2d, 0x30, 0xf8, 0xaa, 0x97, 0xce, 0xa3,
+	0x5b, 0x1e, 0xc2, 0x83, 0x85, 0x09, 0xb3, 0x59, 0xd1, 0xfa, 0x3c, 0xdc, 0x5a, 0x0a, 0x7d, 0x9b,
+	0x95, 0x85, 0xa3, 0x57, 0x85, 0x5b, 0xcc, 0xcb, 0x66, 0xef, 0xbb, 0xdb, 0xaa, 0x16, 0xf5, 0x7f,
+	0x4e, 0xed, 0x63, 0xf3, 0xfc, 0xd1, 0xee, 0x8c, 0x31, 0xfe, 0xd9, 0xee, 0x8f, 0x6d, 0x2b, 0x9c,
+	0xd7, 0x8e, 0x2d, 0x4d, 0x95, 0x7a, 0x8e, 0x39, 0x98, 0xfa, 0xd7, 0x8e, 0x9f, 0xe1, 0xbc, 0x9e,
+	0xed, 0xf9, 0x59, 0xea, 0xcd, 0x1a, 0xfe, 0x4f, 0x7b, 0x60, 0x41, 0xdf, 0xc7, 0x79, 0xed, 0xfb,
+	0x7b, 0x85, 0xef, 0xa7, 0x9e, 0xef, 0x37, 0x9a, 0x2f, 0x47, 0x4d, 0x30, 0xef, 0x6f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0x2c, 0x82, 0xbd, 0xa3, 0x02, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/enums/ad_type.pb.go b/googleapis/ads/googleads/v3/enums/ad_type.pb.go
index f45dd3f..ad05263 100644
--- a/googleapis/ads/googleads/v3/enums/ad_type.pb.go
+++ b/googleapis/ads/googleads/v3/enums/ad_type.pb.go
@@ -71,6 +71,8 @@
 	AdTypeEnum_APP_ENGAGEMENT_AD AdTypeEnum_AdType = 23
 	// The ad is a Shopping Comparison Listing ad.
 	AdTypeEnum_SHOPPING_COMPARISON_LISTING_AD AdTypeEnum_AdType = 24
+	// Video responsive ad.
+	AdTypeEnum_VIDEO_RESPONSIVE_AD AdTypeEnum_AdType = 30
 )
 
 var AdTypeEnum_AdType_name = map[int32]string{
@@ -95,6 +97,7 @@
 	22: "DYNAMIC_HTML5_AD",
 	23: "APP_ENGAGEMENT_AD",
 	24: "SHOPPING_COMPARISON_LISTING_AD",
+	30: "VIDEO_RESPONSIVE_AD",
 }
 
 var AdTypeEnum_AdType_value = map[string]int32{
@@ -119,6 +122,7 @@
 	"DYNAMIC_HTML5_AD":               22,
 	"APP_ENGAGEMENT_AD":              23,
 	"SHOPPING_COMPARISON_LISTING_AD": 24,
+	"VIDEO_RESPONSIVE_AD":            30,
 }
 
 func (x AdTypeEnum_AdType) String() string {
@@ -171,38 +175,38 @@
 }
 
 var fileDescriptor_2322810cfdc14ea3 = []byte{
-	// 517 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xcd, 0x6a, 0xdb, 0x4c,
-	0x14, 0xfd, 0x62, 0x83, 0x93, 0x6f, 0xe2, 0xd6, 0xca, 0x38, 0x6e, 0xd2, 0x90, 0x84, 0xc6, 0xdb,
-	0x82, 0xb4, 0x10, 0xdd, 0xa8, 0xab, 0x6b, 0xcd, 0x54, 0x1e, 0x2a, 0x8d, 0x06, 0x4b, 0x76, 0xe3,
-	0x62, 0x10, 0x6a, 0x65, 0x84, 0x21, 0x96, 0x4c, 0xe4, 0x04, 0xf2, 0x3a, 0x5d, 0xf6, 0x45, 0x0a,
-	0x7d, 0x80, 0xae, 0xbb, 0xee, 0x53, 0x94, 0x3b, 0x8a, 0x45, 0x16, 0x6d, 0x37, 0xe2, 0x9e, 0x9f,
-	0x39, 0xcc, 0x5c, 0x1d, 0xf2, 0x3a, 0x2f, 0xcb, 0xfc, 0x66, 0x69, 0xa5, 0x59, 0x65, 0xd5, 0x23,
-	0x4e, 0xf7, 0xb6, 0xb5, 0x2c, 0xee, 0xd6, 0x95, 0x95, 0x66, 0xc9, 0xf6, 0x61, 0xb3, 0x34, 0x37,
-	0xb7, 0xe5, 0xb6, 0xa4, 0x17, 0xb5, 0xc3, 0x4c, 0xb3, 0xca, 0x6c, 0xcc, 0xe6, 0xbd, 0x6d, 0x6a,
-	0xf3, 0xd9, 0xf9, 0x2e, 0x6b, 0xb3, 0xb2, 0xd2, 0xa2, 0x28, 0xb7, 0xe9, 0x76, 0x55, 0x16, 0x55,
-	0x7d, 0x78, 0xf8, 0xa3, 0x4d, 0x08, 0x64, 0xf1, 0xc3, 0x66, 0xc9, 0x8b, 0xbb, 0xf5, 0xf0, 0x5b,
-	0x9b, 0x74, 0x6a, 0x48, 0x7b, 0xe4, 0x70, 0x2a, 0x23, 0xc5, 0x5d, 0xf1, 0x4e, 0x70, 0x66, 0xfc,
-	0x47, 0x0f, 0xc9, 0xfe, 0x54, 0xbe, 0x97, 0xe1, 0x07, 0x69, 0xec, 0x21, 0x88, 0xf9, 0x75, 0x9c,
-	0x00, 0x33, 0x5a, 0xf4, 0x98, 0x18, 0xfc, 0x5a, 0x81, 0x64, 0x9c, 0x25, 0x3b, 0xb6, 0x4d, 0x0d,
-	0xd2, 0x75, 0xc1, 0xf7, 0x93, 0x50, 0xfa, 0x73, 0x64, 0x3a, 0xf4, 0x92, 0x9c, 0x35, 0x3e, 0x36,
-	0x97, 0x10, 0x08, 0x37, 0x89, 0x38, 0x4c, 0xdc, 0x31, 0xea, 0xfb, 0xb4, 0x4b, 0x0e, 0xc6, 0x61,
-	0xcc, 0x7d, 0x44, 0x07, 0x74, 0x40, 0x8e, 0xa2, 0x71, 0xa8, 0x94, 0x90, 0x5e, 0x12, 0x05, 0x30,
-	0xd1, 0xb1, 0xff, 0xd3, 0x13, 0xd2, 0x6f, 0x68, 0x35, 0x09, 0xd9, 0xd4, 0xd5, 0x02, 0xc1, 0xd3,
-	0x33, 0xc1, 0x78, 0x88, 0xa8, 0x8b, 0xc8, 0x0b, 0x40, 0xe8, 0xac, 0x67, 0x88, 0x44, 0x00, 0x1e,
-	0x47, 0xf4, 0x9c, 0x9e, 0x92, 0xe3, 0x09, 0x8f, 0x54, 0x28, 0x23, 0x31, 0xe3, 0x4f, 0x6e, 0xd0,
-	0xa3, 0xaf, 0xc8, 0xb9, 0xcf, 0x3d, 0x70, 0xe7, 0xc9, 0x13, 0x03, 0x13, 0x91, 0xf2, 0x41, 0xbf,
-	0xc1, 0xa0, 0x84, 0x74, 0x40, 0x29, 0x9c, 0x8f, 0xe8, 0x4b, 0x32, 0x78, 0x74, 0x23, 0x25, 0x64,
-	0x14, 0xe3, 0x7b, 0x81, 0x19, 0x14, 0xa5, 0x3f, 0x27, 0xf4, 0x69, 0x9f, 0xf4, 0xc6, 0x71, 0xe0,
-	0xbf, 0x49, 0xa6, 0xca, 0x0f, 0x81, 0x21, 0x39, 0xc0, 0x15, 0xee, 0x36, 0x52, 0x8b, 0xc0, 0x8c,
-	0x17, 0xb8, 0x02, 0x4c, 0xe6, 0xd2, 0x03, 0x8f, 0x07, 0x5c, 0xea, 0x97, 0x9e, 0xd0, 0x21, 0xb9,
-	0x6c, 0x56, 0xe0, 0x86, 0x81, 0x82, 0x89, 0x88, 0x42, 0x99, 0xf8, 0x22, 0x8a, 0x91, 0x02, 0x66,
-	0x9c, 0x8e, 0x7e, 0xee, 0x91, 0xab, 0xcf, 0xe5, 0xda, 0xfc, 0x67, 0x39, 0x46, 0x87, 0xf5, 0xcf,
-	0x56, 0xd8, 0x05, 0xb5, 0xf7, 0x71, 0xf4, 0xe8, 0xce, 0xcb, 0x9b, 0xb4, 0xc8, 0xcd, 0xf2, 0x36,
-	0xb7, 0xf2, 0x65, 0xa1, 0x9b, 0xb2, 0xeb, 0xe1, 0x66, 0x55, 0xfd, 0xa5, 0x96, 0x6f, 0xf5, 0xf7,
-	0x4b, 0xab, 0xed, 0x01, 0x7c, 0x6d, 0x5d, 0x78, 0x75, 0x14, 0x64, 0x95, 0x59, 0x8f, 0x38, 0xcd,
-	0x6c, 0x13, 0x7b, 0x56, 0x7d, 0xdf, 0xe9, 0x0b, 0xc8, 0xaa, 0x45, 0xa3, 0x2f, 0x66, 0xf6, 0x42,
-	0xeb, 0xbf, 0x5a, 0x57, 0x35, 0xe9, 0x38, 0x90, 0x55, 0x8e, 0xd3, 0x38, 0x1c, 0x67, 0x66, 0x3b,
-	0x8e, 0xf6, 0x7c, 0xea, 0xe8, 0x8b, 0xd9, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8d, 0xc5, 0x68,
-	0x27, 0x2e, 0x03, 0x00, 0x00,
+	// 524 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xcd, 0x6e, 0xda, 0x4c,
+	0x14, 0xfd, 0x00, 0x89, 0xe4, 0x1b, 0x68, 0x71, 0x86, 0xd0, 0xa4, 0x51, 0x82, 0x1a, 0xb6, 0x95,
+	0xec, 0x85, 0xd5, 0x8d, 0xbb, 0xba, 0x78, 0xa6, 0x66, 0x54, 0x7b, 0x3c, 0xc2, 0x86, 0x86, 0x0a,
+	0xc9, 0x72, 0x6b, 0x64, 0x21, 0x05, 0x1b, 0xc5, 0x24, 0x52, 0x5e, 0xa7, 0xcb, 0x3e, 0x4a, 0x9f,
+	0x22, 0xeb, 0x6e, 0xfa, 0x0a, 0xd5, 0xb5, 0x83, 0xc5, 0xa2, 0xed, 0xc6, 0xba, 0xe7, 0xc7, 0x57,
+	0x73, 0x8f, 0x0e, 0x79, 0x9b, 0xe6, 0x79, 0x7a, 0xbb, 0x32, 0xe2, 0xa4, 0x30, 0xaa, 0x11, 0xa7,
+	0x07, 0xd3, 0x58, 0x65, 0xf7, 0x9b, 0xc2, 0x88, 0x93, 0x68, 0xf7, 0xb8, 0x5d, 0xe9, 0xdb, 0xbb,
+	0x7c, 0x97, 0xd3, 0xab, 0xca, 0xa1, 0xc7, 0x49, 0xa1, 0xd7, 0x66, 0xfd, 0xc1, 0xd4, 0x4b, 0xf3,
+	0xc5, 0xe5, 0x7e, 0xd7, 0x76, 0x6d, 0xc4, 0x59, 0x96, 0xef, 0xe2, 0xdd, 0x3a, 0xcf, 0x8a, 0xea,
+	0xe7, 0xd1, 0xaf, 0x16, 0x21, 0x90, 0x84, 0x8f, 0xdb, 0x15, 0xcf, 0xee, 0x37, 0xa3, 0xa7, 0x16,
+	0x69, 0x57, 0x90, 0xf6, 0x48, 0x67, 0x26, 0x03, 0xc5, 0x6d, 0xf1, 0x41, 0x70, 0xa6, 0xfd, 0x47,
+	0x3b, 0xe4, 0x68, 0x26, 0x3f, 0x4a, 0xff, 0x93, 0xd4, 0x1a, 0x08, 0x42, 0x7e, 0x13, 0x46, 0xc0,
+	0xb4, 0x26, 0x3d, 0x25, 0x1a, 0xbf, 0x51, 0x20, 0x19, 0x67, 0xd1, 0x9e, 0x6d, 0x51, 0x8d, 0x74,
+	0x6d, 0x70, 0xdd, 0xc8, 0x97, 0xee, 0x02, 0x99, 0x36, 0x1d, 0x92, 0x8b, 0xda, 0xc7, 0x16, 0x12,
+	0x3c, 0x61, 0x47, 0x01, 0x87, 0xa9, 0x3d, 0x41, 0xfd, 0x88, 0x76, 0xc9, 0xf1, 0xc4, 0x0f, 0xb9,
+	0x8b, 0xe8, 0x98, 0x0e, 0xc8, 0x49, 0x30, 0xf1, 0x95, 0x12, 0xd2, 0x89, 0x02, 0x0f, 0xa6, 0xe5,
+	0xda, 0xff, 0xe9, 0x19, 0xe9, 0xd7, 0xb4, 0x9a, 0xfa, 0x6c, 0x66, 0x97, 0x02, 0xc1, 0xbf, 0xe7,
+	0x82, 0x71, 0x1f, 0x51, 0x17, 0x91, 0xe3, 0x81, 0x28, 0x77, 0xbd, 0x40, 0x24, 0x3c, 0x70, 0x38,
+	0xa2, 0x97, 0xf4, 0x9c, 0x9c, 0x4e, 0x79, 0xa0, 0x7c, 0x19, 0x88, 0x39, 0x3f, 0x78, 0x41, 0x8f,
+	0xbe, 0x21, 0x97, 0x2e, 0x77, 0xc0, 0x5e, 0x44, 0x07, 0x06, 0x26, 0x02, 0xe5, 0x42, 0x79, 0x83,
+	0x46, 0x09, 0x69, 0x83, 0x52, 0x38, 0x9f, 0xd0, 0xd7, 0x64, 0xf0, 0xec, 0x46, 0x4a, 0xc8, 0x20,
+	0xc4, 0x7b, 0x81, 0x69, 0x14, 0xa5, 0x3f, 0x6f, 0xe8, 0xd3, 0x3e, 0xe9, 0x4d, 0x42, 0xcf, 0x7d,
+	0x17, 0xcd, 0x94, 0xeb, 0x03, 0x43, 0x72, 0x80, 0x11, 0xee, 0x13, 0xa9, 0x44, 0x60, 0xda, 0x2b,
+	0x8c, 0x00, 0x37, 0x73, 0xe9, 0x80, 0xc3, 0x3d, 0x2e, 0xcb, 0x4b, 0xcf, 0xe8, 0x88, 0x0c, 0xeb,
+	0x08, 0x6c, 0xdf, 0x53, 0x30, 0x15, 0x81, 0x2f, 0x23, 0x57, 0x04, 0x21, 0x52, 0xc0, 0xb4, 0x73,
+	0x8c, 0xa9, 0x4a, 0xe3, 0xe0, 0x19, 0xc0, 0xb4, 0xe1, 0xf8, 0xa9, 0x41, 0xae, 0xbf, 0xe6, 0x1b,
+	0xfd, 0x9f, 0xad, 0x19, 0x77, 0xaa, 0x16, 0x28, 0x2c, 0x89, 0x6a, 0x7c, 0x1e, 0x3f, 0xbb, 0xd3,
+	0xfc, 0x36, 0xce, 0x52, 0x3d, 0xbf, 0x4b, 0x8d, 0x74, 0x95, 0x95, 0x15, 0xda, 0x17, 0x74, 0xbb,
+	0x2e, 0xfe, 0xd2, 0xd7, 0xf7, 0xe5, 0xf7, 0x5b, 0xb3, 0xe5, 0x00, 0x7c, 0x6f, 0x5e, 0x39, 0xd5,
+	0x2a, 0x48, 0x0a, 0xbd, 0x1a, 0x71, 0x9a, 0x9b, 0x3a, 0x16, 0xb0, 0xf8, 0xb1, 0xd7, 0x97, 0x90,
+	0x14, 0xcb, 0x5a, 0x5f, 0xce, 0xcd, 0x65, 0xa9, 0xff, 0x6c, 0x5e, 0x57, 0xa4, 0x65, 0x41, 0x52,
+	0x58, 0x56, 0xed, 0xb0, 0xac, 0xb9, 0x69, 0x59, 0xa5, 0xe7, 0x4b, 0xbb, 0x7c, 0x98, 0xf9, 0x3b,
+	0x00, 0x00, 0xff, 0xff, 0x8c, 0x65, 0x31, 0x2c, 0x47, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/enums/conversion_action_category.pb.go b/googleapis/ads/googleads/v3/enums/conversion_action_category.pb.go
index 3d63282..25a4973 100644
--- a/googleapis/ads/googleads/v3/enums/conversion_action_category.pb.go
+++ b/googleapis/ads/googleads/v3/enums/conversion_action_category.pb.go
@@ -42,28 +42,87 @@
 	ConversionActionCategoryEnum_LEAD ConversionActionCategoryEnum_ConversionActionCategory = 6
 	// Software download action (as for an app).
 	ConversionActionCategoryEnum_DOWNLOAD ConversionActionCategoryEnum_ConversionActionCategory = 7
+	// The addition of items to a shopping cart or bag on an advertiser site.
+	ConversionActionCategoryEnum_ADD_TO_CART ConversionActionCategoryEnum_ConversionActionCategory = 8
+	// When someone enters the checkout flow on an advertiser site.
+	ConversionActionCategoryEnum_BEGIN_CHECKOUT ConversionActionCategoryEnum_ConversionActionCategory = 9
+	// The start of a paid subscription for a product or service.
+	ConversionActionCategoryEnum_SUBSCRIBE_PAID ConversionActionCategoryEnum_ConversionActionCategory = 10
+	// A call to indicate interest in an advertiser's offering.
+	ConversionActionCategoryEnum_PHONE_CALL_LEAD ConversionActionCategoryEnum_ConversionActionCategory = 11
+	// A lead conversion imported from an external source into Google Ads.
+	ConversionActionCategoryEnum_IMPORTED_LEAD ConversionActionCategoryEnum_ConversionActionCategory = 12
+	// A submission of a form on an advertiser site indicating business
+	// interest.
+	ConversionActionCategoryEnum_SUBMIT_LEAD_FORM ConversionActionCategoryEnum_ConversionActionCategory = 13
+	// A booking of an appointment with an advertiser's business.
+	ConversionActionCategoryEnum_BOOK_APPOINTMENT ConversionActionCategoryEnum_ConversionActionCategory = 14
+	// A quote or price estimate request.
+	ConversionActionCategoryEnum_REQUEST_QUOTE ConversionActionCategoryEnum_ConversionActionCategory = 15
+	// A search for an advertiser's business location with intention to visit.
+	ConversionActionCategoryEnum_GET_DIRECTIONS ConversionActionCategoryEnum_ConversionActionCategory = 16
+	// A click to an advertiser's partner's site.
+	ConversionActionCategoryEnum_OUTBOUND_CLICK ConversionActionCategoryEnum_ConversionActionCategory = 17
+	// A call, SMS, email, chat or other type of contact to an advertiser.
+	ConversionActionCategoryEnum_CONTACT ConversionActionCategoryEnum_ConversionActionCategory = 18
+	// A website engagement event such as long site time or a Google Analytics
+	// (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal
+	// imports.
+	ConversionActionCategoryEnum_ENGAGEMENT ConversionActionCategoryEnum_ConversionActionCategory = 19
+	// A visit to a physical store location.
+	ConversionActionCategoryEnum_STORE_VISIT ConversionActionCategoryEnum_ConversionActionCategory = 20
+	// A sale occurring in a physical store.
+	ConversionActionCategoryEnum_STORE_SALE ConversionActionCategoryEnum_ConversionActionCategory = 21
 )
 
 var ConversionActionCategoryEnum_ConversionActionCategory_name = map[int32]string{
-	0: "UNSPECIFIED",
-	1: "UNKNOWN",
-	2: "DEFAULT",
-	3: "PAGE_VIEW",
-	4: "PURCHASE",
-	5: "SIGNUP",
-	6: "LEAD",
-	7: "DOWNLOAD",
+	0:  "UNSPECIFIED",
+	1:  "UNKNOWN",
+	2:  "DEFAULT",
+	3:  "PAGE_VIEW",
+	4:  "PURCHASE",
+	5:  "SIGNUP",
+	6:  "LEAD",
+	7:  "DOWNLOAD",
+	8:  "ADD_TO_CART",
+	9:  "BEGIN_CHECKOUT",
+	10: "SUBSCRIBE_PAID",
+	11: "PHONE_CALL_LEAD",
+	12: "IMPORTED_LEAD",
+	13: "SUBMIT_LEAD_FORM",
+	14: "BOOK_APPOINTMENT",
+	15: "REQUEST_QUOTE",
+	16: "GET_DIRECTIONS",
+	17: "OUTBOUND_CLICK",
+	18: "CONTACT",
+	19: "ENGAGEMENT",
+	20: "STORE_VISIT",
+	21: "STORE_SALE",
 }
 
 var ConversionActionCategoryEnum_ConversionActionCategory_value = map[string]int32{
-	"UNSPECIFIED": 0,
-	"UNKNOWN":     1,
-	"DEFAULT":     2,
-	"PAGE_VIEW":   3,
-	"PURCHASE":    4,
-	"SIGNUP":      5,
-	"LEAD":        6,
-	"DOWNLOAD":    7,
+	"UNSPECIFIED":      0,
+	"UNKNOWN":          1,
+	"DEFAULT":          2,
+	"PAGE_VIEW":        3,
+	"PURCHASE":         4,
+	"SIGNUP":           5,
+	"LEAD":             6,
+	"DOWNLOAD":         7,
+	"ADD_TO_CART":      8,
+	"BEGIN_CHECKOUT":   9,
+	"SUBSCRIBE_PAID":   10,
+	"PHONE_CALL_LEAD":  11,
+	"IMPORTED_LEAD":    12,
+	"SUBMIT_LEAD_FORM": 13,
+	"BOOK_APPOINTMENT": 14,
+	"REQUEST_QUOTE":    15,
+	"GET_DIRECTIONS":   16,
+	"OUTBOUND_CLICK":   17,
+	"CONTACT":          18,
+	"ENGAGEMENT":       19,
+	"STORE_VISIT":      20,
+	"STORE_SALE":       21,
 }
 
 func (x ConversionActionCategoryEnum_ConversionActionCategory) String() string {
@@ -117,28 +176,39 @@
 }
 
 var fileDescriptor_1a66d28e731c65ca = []byte{
-	// 359 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0xc1, 0x6a, 0xea, 0x40,
-	0x14, 0x7d, 0x89, 0x3e, 0xf5, 0x8d, 0xaf, 0x74, 0xc8, 0xaa, 0x14, 0x5d, 0xe8, 0x07, 0x4c, 0x16,
-	0xd9, 0x4d, 0xa1, 0x30, 0x26, 0x63, 0x1a, 0x2a, 0x31, 0xd4, 0x26, 0x42, 0x09, 0x48, 0x9a, 0x84,
-	0x20, 0xe8, 0x8c, 0x64, 0xa2, 0xd0, 0x1f, 0xe8, 0x87, 0x74, 0x53, 0xe8, 0xa7, 0xf4, 0x53, 0xba,
-	0xec, 0x17, 0x94, 0x99, 0x68, 0x76, 0x76, 0x93, 0x9c, 0x99, 0x7b, 0xce, 0xb9, 0xf7, 0x9e, 0x01,
-	0xb7, 0x05, 0xe7, 0xc5, 0x26, 0x37, 0x93, 0x4c, 0x98, 0x35, 0x94, 0xe8, 0x60, 0x99, 0x39, 0xdb,
-	0x6f, 0x85, 0x99, 0x72, 0x76, 0xc8, 0x4b, 0xb1, 0xe6, 0x6c, 0x95, 0xa4, 0x95, 0xfc, 0xa5, 0x49,
-	0x95, 0x17, 0xbc, 0x7c, 0x41, 0xbb, 0x92, 0x57, 0xdc, 0x18, 0xd6, 0x22, 0x94, 0x64, 0x02, 0x35,
-	0x7a, 0x74, 0xb0, 0x90, 0xd2, 0x5f, 0x0f, 0x4e, 0xf6, 0xbb, 0xb5, 0x99, 0x30, 0xc6, 0xab, 0x44,
-	0x9a, 0x88, 0x5a, 0x3c, 0x7e, 0xd7, 0xc0, 0xc0, 0x6e, 0x3a, 0x10, 0xd5, 0xc0, 0x3e, 0xfa, 0x53,
-	0xb6, 0xdf, 0x8e, 0x5f, 0x35, 0x70, 0x75, 0x8e, 0x60, 0x5c, 0x82, 0x7e, 0xe8, 0x2f, 0x02, 0x6a,
-	0x7b, 0x53, 0x8f, 0x3a, 0xf0, 0x8f, 0xd1, 0x07, 0xdd, 0xd0, 0xbf, 0xf7, 0xe7, 0x4b, 0x1f, 0x6a,
-	0xf2, 0xe0, 0xd0, 0x29, 0x09, 0x67, 0x8f, 0x50, 0x37, 0x2e, 0xc0, 0xbf, 0x80, 0xb8, 0x74, 0x15,
-	0x79, 0x74, 0x09, 0x5b, 0xc6, 0x7f, 0xd0, 0x0b, 0xc2, 0x07, 0xfb, 0x8e, 0x2c, 0x28, 0x6c, 0x1b,
-	0x00, 0x74, 0x16, 0x9e, 0xeb, 0x87, 0x01, 0xfc, 0x6b, 0xf4, 0x40, 0x7b, 0x46, 0x89, 0x03, 0x3b,
-	0x92, 0xe3, 0xcc, 0x97, 0xfe, 0x6c, 0x4e, 0x1c, 0xd8, 0x9d, 0x7c, 0x6b, 0x60, 0x94, 0xf2, 0x2d,
-	0xfa, 0x75, 0xdb, 0xc9, 0xf0, 0xdc, 0xac, 0x81, 0x5c, 0x37, 0xd0, 0x9e, 0x26, 0x47, 0x7d, 0xc1,
-	0x37, 0x09, 0x2b, 0x10, 0x2f, 0x0b, 0xb3, 0xc8, 0x99, 0x0a, 0xe3, 0x94, 0xfe, 0x6e, 0x2d, 0xce,
-	0x3c, 0xc6, 0x8d, 0xfa, 0xbe, 0xe9, 0x2d, 0x97, 0x90, 0x0f, 0x7d, 0xe8, 0xd6, 0x56, 0x24, 0x13,
-	0xa8, 0x86, 0x12, 0x45, 0x16, 0x92, 0xc1, 0x89, 0xcf, 0x53, 0x3d, 0x26, 0x99, 0x88, 0x9b, 0x7a,
-	0x1c, 0x59, 0xb1, 0xaa, 0x7f, 0xe9, 0xa3, 0xfa, 0x12, 0x63, 0x92, 0x09, 0x8c, 0x1b, 0x06, 0xc6,
-	0x91, 0x85, 0xb1, 0xe2, 0x3c, 0x77, 0xd4, 0x60, 0xd6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63,
-	0xf5, 0x85, 0x43, 0x24, 0x02, 0x00, 0x00,
+	// 534 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xd1, 0x6e, 0xda, 0x3c,
+	0x18, 0xfd, 0x0b, 0xfd, 0x29, 0x35, 0x05, 0x5c, 0xb7, 0x93, 0xa6, 0xa9, 0x5c, 0xb4, 0x0f, 0x90,
+	0x5c, 0xe4, 0x2e, 0x93, 0x26, 0x39, 0x8e, 0x09, 0x16, 0xc1, 0x4e, 0x13, 0x1b, 0xa4, 0x09, 0xc9,
+	0xca, 0x00, 0x45, 0x48, 0x25, 0x41, 0x84, 0x22, 0xed, 0x1d, 0xf6, 0x14, 0xbb, 0x9c, 0xb4, 0x17,
+	0xd9, 0xa3, 0xec, 0x72, 0x4f, 0x30, 0x39, 0x29, 0xdc, 0xb1, 0x9b, 0xe4, 0xcb, 0xf9, 0xce, 0x39,
+	0x5f, 0xec, 0xef, 0x80, 0x4f, 0x59, 0x51, 0x64, 0x2f, 0x2b, 0x3b, 0x5d, 0x96, 0x76, 0x5d, 0x9a,
+	0xea, 0xe0, 0xd8, 0xab, 0xfc, 0x75, 0x53, 0xda, 0x8b, 0x22, 0x3f, 0xac, 0x76, 0xe5, 0xba, 0xc8,
+	0x75, 0xba, 0xd8, 0x9b, 0xd7, 0x22, 0xdd, 0xaf, 0xb2, 0x62, 0xf7, 0xd5, 0xda, 0xee, 0x8a, 0x7d,
+	0x81, 0x06, 0xb5, 0xc8, 0x4a, 0x97, 0xa5, 0x75, 0xd2, 0x5b, 0x07, 0xc7, 0xaa, 0xf4, 0x1f, 0x1e,
+	0x8e, 0xf6, 0xdb, 0xb5, 0x9d, 0xe6, 0x79, 0xb1, 0x4f, 0x8d, 0x49, 0x59, 0x8b, 0x9f, 0x7e, 0x36,
+	0xc1, 0x03, 0x39, 0x4d, 0xc0, 0xd5, 0x00, 0xf2, 0xe6, 0x4f, 0xf3, 0xd7, 0xcd, 0xd3, 0xb7, 0x26,
+	0x78, 0x7f, 0x8e, 0x80, 0xfa, 0xa0, 0xa3, 0x78, 0x12, 0x51, 0xc2, 0x86, 0x8c, 0xfa, 0xf0, 0x3f,
+	0xd4, 0x01, 0x57, 0x8a, 0x8f, 0xb9, 0x98, 0x71, 0x78, 0x61, 0x3e, 0x7c, 0x3a, 0xc4, 0x2a, 0x94,
+	0xb0, 0x81, 0xba, 0xe0, 0x3a, 0xc2, 0x01, 0xd5, 0x53, 0x46, 0x67, 0xb0, 0x89, 0x6e, 0x40, 0x3b,
+	0x52, 0x31, 0x19, 0xe1, 0x84, 0xc2, 0x4b, 0x04, 0x40, 0x2b, 0x61, 0x01, 0x57, 0x11, 0xfc, 0x1f,
+	0xb5, 0xc1, 0x65, 0x48, 0xb1, 0x0f, 0x5b, 0x86, 0xe3, 0x8b, 0x19, 0x0f, 0x05, 0xf6, 0xe1, 0x95,
+	0x99, 0x85, 0x7d, 0x5f, 0x4b, 0xa1, 0x09, 0x8e, 0x25, 0x6c, 0x23, 0x04, 0x7a, 0x1e, 0x0d, 0x18,
+	0xd7, 0x64, 0x44, 0xc9, 0x58, 0x28, 0x09, 0xaf, 0x0d, 0x96, 0x28, 0x2f, 0x21, 0x31, 0xf3, 0xa8,
+	0x8e, 0x30, 0xf3, 0x21, 0x40, 0x77, 0xa0, 0x1f, 0x8d, 0x04, 0xa7, 0x9a, 0xe0, 0x30, 0xd4, 0x95,
+	0x77, 0x07, 0xdd, 0x82, 0x2e, 0x9b, 0x44, 0x22, 0x96, 0xd4, 0xaf, 0xa1, 0x1b, 0x74, 0x0f, 0x60,
+	0xa2, 0xbc, 0x09, 0x93, 0x15, 0xa0, 0x87, 0x22, 0x9e, 0xc0, 0xae, 0x41, 0x3d, 0x21, 0xc6, 0x1a,
+	0x47, 0x91, 0x60, 0x5c, 0x4e, 0x28, 0x97, 0xb0, 0x67, 0xe4, 0x31, 0x7d, 0x56, 0x34, 0x91, 0xfa,
+	0x59, 0x09, 0x49, 0x61, 0xdf, 0x8c, 0x0e, 0xa8, 0xd4, 0x3e, 0x8b, 0x29, 0x91, 0x4c, 0xf0, 0x04,
+	0x42, 0x83, 0x09, 0x25, 0x3d, 0xa1, 0xb8, 0xaf, 0x49, 0xc8, 0xc8, 0x18, 0xde, 0x9a, 0x5b, 0x21,
+	0x82, 0x4b, 0x4c, 0x24, 0x44, 0xa8, 0x07, 0x00, 0xe5, 0x01, 0x0e, 0x68, 0xe5, 0x7b, 0x67, 0x0e,
+	0x99, 0x48, 0x11, 0x9b, 0x6b, 0x4a, 0x98, 0x84, 0xf7, 0x86, 0x50, 0x03, 0x09, 0x0e, 0x29, 0x7c,
+	0xe7, 0xfd, 0xb9, 0x00, 0x8f, 0x8b, 0x62, 0x63, 0xfd, 0x73, 0xe7, 0xde, 0xe0, 0xdc, 0xc6, 0x22,
+	0xb3, 0xf4, 0xe8, 0xe2, 0xb3, 0xf7, 0xa6, 0xcf, 0x8a, 0x97, 0x34, 0xcf, 0xac, 0x62, 0x97, 0xd9,
+	0xd9, 0x2a, 0xaf, 0x22, 0x71, 0xcc, 0xe0, 0x76, 0x5d, 0x9e, 0x89, 0xe4, 0xc7, 0xea, 0xf9, 0xbd,
+	0xd1, 0x0c, 0x30, 0xfe, 0xd1, 0x18, 0x04, 0xb5, 0x15, 0x5e, 0x96, 0x56, 0x5d, 0x9a, 0x6a, 0xea,
+	0x58, 0x26, 0x3e, 0xe5, 0xaf, 0x63, 0x7f, 0x8e, 0x97, 0xe5, 0xfc, 0xd4, 0x9f, 0x4f, 0x9d, 0x79,
+	0xd5, 0xff, 0xdd, 0x78, 0xac, 0x41, 0xd7, 0xc5, 0xcb, 0xd2, 0x75, 0x4f, 0x0c, 0xd7, 0x9d, 0x3a,
+	0xae, 0x5b, 0x71, 0xbe, 0xb4, 0xaa, 0x1f, 0x73, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x1a, 0xcc,
+	0x3d, 0xa9, 0x2a, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/enums/keyword_plan_competition_level.pb.go b/googleapis/ads/googleads/v3/enums/keyword_plan_competition_level.pb.go
index 1ed1d24..c6f3c86 100644
--- a/googleapis/ads/googleads/v3/enums/keyword_plan_competition_level.pb.go
+++ b/googleapis/ads/googleads/v3/enums/keyword_plan_competition_level.pb.go
@@ -30,11 +30,11 @@
 	KeywordPlanCompetitionLevelEnum_UNSPECIFIED KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel = 0
 	// The value is unknown in this version.
 	KeywordPlanCompetitionLevelEnum_UNKNOWN KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel = 1
-	// Low competition.
+	// Low competition. The Competition Index range for this is [0, 33].
 	KeywordPlanCompetitionLevelEnum_LOW KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel = 2
-	// Medium competition.
+	// Medium competition. The Competition Index range for this is [34, 66].
 	KeywordPlanCompetitionLevelEnum_MEDIUM KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel = 3
-	// High competition.
+	// High competition. The Competition Index range for this is [67, 100].
 	KeywordPlanCompetitionLevelEnum_HIGH KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel = 4
 )
 
diff --git a/googleapis/ads/googleads/v3/enums/offline_user_data_job_failure_reason.pb.go b/googleapis/ads/googleads/v3/enums/offline_user_data_job_failure_reason.pb.go
new file mode 100644
index 0000000..8ef1509
--- /dev/null
+++ b/googleapis/ads/googleads/v3/enums/offline_user_data_job_failure_reason.pb.go
@@ -0,0 +1,128 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/enums/offline_user_data_job_failure_reason.proto
+
+package enums
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The failure reason of an offline user data job.
+type OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason int32
+
+const (
+	// Not specified.
+	OfflineUserDataJobFailureReasonEnum_UNSPECIFIED OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason = 0
+	// Used for return value only. Represents value unknown in this version.
+	OfflineUserDataJobFailureReasonEnum_UNKNOWN OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason = 1
+	// The matched transactions are insufficient.
+	OfflineUserDataJobFailureReasonEnum_INSUFFICIENT_MATCHED_TRANSACTIONS OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason = 2
+	// The uploaded transactions are insufficient.
+	OfflineUserDataJobFailureReasonEnum_INSUFFICIENT_TRANSACTIONS OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason = 3
+)
+
+var OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "UNKNOWN",
+	2: "INSUFFICIENT_MATCHED_TRANSACTIONS",
+	3: "INSUFFICIENT_TRANSACTIONS",
+}
+
+var OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason_value = map[string]int32{
+	"UNSPECIFIED":                       0,
+	"UNKNOWN":                           1,
+	"INSUFFICIENT_MATCHED_TRANSACTIONS": 2,
+	"INSUFFICIENT_TRANSACTIONS":         3,
+}
+
+func (x OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason) String() string {
+	return proto.EnumName(OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason_name, int32(x))
+}
+
+func (OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e6f97b26b7a6402e, []int{0, 0}
+}
+
+// Container for enum describing reasons why an offline user data job
+// failed to be processed.
+type OfflineUserDataJobFailureReasonEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OfflineUserDataJobFailureReasonEnum) Reset()         { *m = OfflineUserDataJobFailureReasonEnum{} }
+func (m *OfflineUserDataJobFailureReasonEnum) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJobFailureReasonEnum) ProtoMessage()    {}
+func (*OfflineUserDataJobFailureReasonEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e6f97b26b7a6402e, []int{0}
+}
+
+func (m *OfflineUserDataJobFailureReasonEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJobFailureReasonEnum.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJobFailureReasonEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJobFailureReasonEnum.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJobFailureReasonEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJobFailureReasonEnum.Merge(m, src)
+}
+func (m *OfflineUserDataJobFailureReasonEnum) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJobFailureReasonEnum.Size(m)
+}
+func (m *OfflineUserDataJobFailureReasonEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJobFailureReasonEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJobFailureReasonEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.enums.OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason", OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason_name, OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason_value)
+	proto.RegisterType((*OfflineUserDataJobFailureReasonEnum)(nil), "google.ads.googleads.v3.enums.OfflineUserDataJobFailureReasonEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/enums/offline_user_data_job_failure_reason.proto", fileDescriptor_e6f97b26b7a6402e)
+}
+
+var fileDescriptor_e6f97b26b7a6402e = []byte{
+	// 354 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x51, 0xcf, 0x4a, 0xc3, 0x30,
+	0x1c, 0xb6, 0x1d, 0x28, 0x64, 0x07, 0x47, 0x6f, 0x8a, 0x43, 0x36, 0xf5, 0x9a, 0x1e, 0x7a, 0x8b,
+	0xa7, 0xac, 0x6b, 0xb7, 0x2a, 0x66, 0x63, 0x6d, 0x27, 0x48, 0xa1, 0x64, 0x36, 0x2b, 0x95, 0x2e,
+	0x19, 0x4d, 0xbb, 0x37, 0xf0, 0x45, 0x3c, 0x0a, 0xbe, 0x88, 0x8f, 0xe2, 0x1b, 0x78, 0x93, 0x36,
+	0x6e, 0xb0, 0x83, 0xee, 0x12, 0x3e, 0xf2, 0x7d, 0xbf, 0xef, 0xfb, 0xfd, 0x01, 0xe3, 0x54, 0x88,
+	0x34, 0x67, 0x26, 0x4d, 0xa4, 0xa9, 0x60, 0x8d, 0x36, 0x96, 0xc9, 0x78, 0xb5, 0x92, 0xa6, 0x58,
+	0x2e, 0xf3, 0x8c, 0xb3, 0xb8, 0x92, 0xac, 0x88, 0x13, 0x5a, 0xd2, 0xf8, 0x45, 0x2c, 0xe2, 0x25,
+	0xcd, 0xf2, 0xaa, 0x60, 0x71, 0xc1, 0xa8, 0x14, 0x1c, 0xae, 0x0b, 0x51, 0x0a, 0xa3, 0xab, 0xca,
+	0x21, 0x4d, 0x24, 0xdc, 0x39, 0xc1, 0x8d, 0x05, 0x1b, 0xa7, 0xf3, 0x8b, 0x6d, 0xd0, 0x3a, 0x33,
+	0x29, 0xe7, 0xa2, 0xa4, 0x65, 0x26, 0xb8, 0x54, 0xc5, 0xfd, 0x0f, 0x0d, 0x5c, 0x4d, 0x54, 0x56,
+	0x28, 0x59, 0x31, 0xa4, 0x25, 0xbd, 0x13, 0x0b, 0x57, 0xe5, 0xcc, 0x9a, 0x18, 0x87, 0x57, 0xab,
+	0xfe, 0xab, 0x06, 0x2e, 0x0f, 0xe8, 0x8c, 0x53, 0xd0, 0x0e, 0x89, 0x3f, 0x75, 0x6c, 0xcf, 0xf5,
+	0x9c, 0x61, 0xe7, 0xc8, 0x68, 0x83, 0x93, 0x90, 0xdc, 0x93, 0xc9, 0x23, 0xe9, 0x68, 0xc6, 0x0d,
+	0xe8, 0x79, 0xc4, 0x0f, 0x5d, 0xd7, 0xb3, 0x3d, 0x87, 0x04, 0xf1, 0x03, 0x0e, 0xec, 0xb1, 0x33,
+	0x8c, 0x83, 0x19, 0x26, 0x3e, 0xb6, 0x03, 0x6f, 0x42, 0xfc, 0x8e, 0x6e, 0x74, 0xc1, 0xd9, 0x9e,
+	0x6c, 0x8f, 0x6e, 0x0d, 0xbe, 0x35, 0xd0, 0x7b, 0x16, 0x2b, 0xf8, 0xef, 0xcc, 0x83, 0xeb, 0x03,
+	0xad, 0x4e, 0xeb, 0xd9, 0xa7, 0xda, 0xd3, 0xe0, 0xd7, 0x26, 0x15, 0x39, 0xe5, 0x29, 0x14, 0x45,
+	0x6a, 0xa6, 0x8c, 0x37, 0x9b, 0xd9, 0x1e, 0x65, 0x9d, 0xc9, 0x3f, 0x6e, 0x74, 0xdb, 0xbc, 0x6f,
+	0x7a, 0x6b, 0x84, 0xf1, 0xbb, 0xde, 0x1d, 0x29, 0x2b, 0x9c, 0x48, 0xa8, 0x60, 0x8d, 0xe6, 0x16,
+	0xac, 0xd7, 0x27, 0x3f, 0xb7, 0x7c, 0x84, 0x13, 0x19, 0xed, 0xf8, 0x68, 0x6e, 0x45, 0x0d, 0xff,
+	0xa5, 0xf7, 0xd4, 0x27, 0x42, 0x38, 0x91, 0x08, 0xed, 0x14, 0x08, 0xcd, 0x2d, 0x84, 0x1a, 0xcd,
+	0xe2, 0xb8, 0x69, 0xcc, 0xfa, 0x09, 0x00, 0x00, 0xff, 0xff, 0x6c, 0x55, 0xa8, 0x33, 0x3b, 0x02,
+	0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/enums/offline_user_data_job_status.pb.go b/googleapis/ads/googleads/v3/enums/offline_user_data_job_status.pb.go
new file mode 100644
index 0000000..f1b6c7e
--- /dev/null
+++ b/googleapis/ads/googleads/v3/enums/offline_user_data_job_status.pb.go
@@ -0,0 +1,133 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/enums/offline_user_data_job_status.proto
+
+package enums
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The status of an offline user data job.
+type OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus int32
+
+const (
+	// Not specified.
+	OfflineUserDataJobStatusEnum_UNSPECIFIED OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 0
+	// Used for return value only. Represents value unknown in this version.
+	OfflineUserDataJobStatusEnum_UNKNOWN OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 1
+	// The job has been successfully created and pending for uploading.
+	OfflineUserDataJobStatusEnum_PENDING OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 2
+	// Upload(s) have been accepted and data is being processed.
+	OfflineUserDataJobStatusEnum_RUNNING OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 3
+	// Uploaded data has been successfully processed.
+	OfflineUserDataJobStatusEnum_SUCCESS OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 4
+	// Uploaded data has failed to be processed.
+	OfflineUserDataJobStatusEnum_FAILED OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus = 5
+)
+
+var OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "UNKNOWN",
+	2: "PENDING",
+	3: "RUNNING",
+	4: "SUCCESS",
+	5: "FAILED",
+}
+
+var OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus_value = map[string]int32{
+	"UNSPECIFIED": 0,
+	"UNKNOWN":     1,
+	"PENDING":     2,
+	"RUNNING":     3,
+	"SUCCESS":     4,
+	"FAILED":      5,
+}
+
+func (x OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus) String() string {
+	return proto.EnumName(OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus_name, int32(x))
+}
+
+func (OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_3107e2d92046dae6, []int{0, 0}
+}
+
+// Container for enum describing status of an offline user data job.
+type OfflineUserDataJobStatusEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OfflineUserDataJobStatusEnum) Reset()         { *m = OfflineUserDataJobStatusEnum{} }
+func (m *OfflineUserDataJobStatusEnum) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJobStatusEnum) ProtoMessage()    {}
+func (*OfflineUserDataJobStatusEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_3107e2d92046dae6, []int{0}
+}
+
+func (m *OfflineUserDataJobStatusEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJobStatusEnum.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJobStatusEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJobStatusEnum.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJobStatusEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJobStatusEnum.Merge(m, src)
+}
+func (m *OfflineUserDataJobStatusEnum) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJobStatusEnum.Size(m)
+}
+func (m *OfflineUserDataJobStatusEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJobStatusEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJobStatusEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.enums.OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus", OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus_name, OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus_value)
+	proto.RegisterType((*OfflineUserDataJobStatusEnum)(nil), "google.ads.googleads.v3.enums.OfflineUserDataJobStatusEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/enums/offline_user_data_job_status.proto", fileDescriptor_3107e2d92046dae6)
+}
+
+var fileDescriptor_3107e2d92046dae6 = []byte{
+	// 336 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x50, 0x41, 0x4e, 0xc2, 0x40,
+	0x14, 0xb5, 0x45, 0x31, 0x19, 0x16, 0x36, 0x5d, 0x19, 0x03, 0x0b, 0x38, 0xc0, 0x74, 0xd1, 0xdd,
+	0xb8, 0xb1, 0xd0, 0x42, 0xaa, 0x66, 0x68, 0x6c, 0x8a, 0x89, 0x69, 0xd2, 0x0c, 0xb6, 0x34, 0x55,
+	0x98, 0x21, 0xfd, 0x53, 0x2e, 0xe1, 0x2d, 0x5c, 0x7a, 0x14, 0x8f, 0xe2, 0xd2, 0x13, 0x98, 0x99,
+	0x02, 0x3b, 0xdc, 0x4c, 0xde, 0x9b, 0xf7, 0xff, 0xfb, 0xff, 0x3f, 0x74, 0x57, 0x0a, 0x51, 0xae,
+	0x0b, 0x87, 0xe5, 0xe0, 0xb4, 0x50, 0xa1, 0x9d, 0xeb, 0x14, 0xbc, 0xd9, 0x80, 0x23, 0x56, 0xab,
+	0x75, 0xc5, 0x8b, 0xac, 0x81, 0xa2, 0xce, 0x72, 0x26, 0x59, 0xf6, 0x26, 0x96, 0x19, 0x48, 0x26,
+	0x1b, 0xc0, 0xdb, 0x5a, 0x48, 0x61, 0x0f, 0xda, 0x36, 0xcc, 0x72, 0xc0, 0x47, 0x07, 0xbc, 0x73,
+	0xb1, 0x76, 0xb8, 0xe9, 0x1f, 0x06, 0x6c, 0x2b, 0x87, 0x71, 0x2e, 0x24, 0x93, 0x95, 0xe0, 0xfb,
+	0xe6, 0xd1, 0x87, 0x81, 0xfa, 0xf3, 0x76, 0x46, 0x02, 0x45, 0xed, 0x33, 0xc9, 0xee, 0xc5, 0x32,
+	0xd6, 0xfe, 0x01, 0x6f, 0x36, 0xa3, 0x77, 0x74, 0x7d, 0x4a, 0xb7, 0xaf, 0x50, 0x2f, 0xa1, 0x71,
+	0x14, 0x4c, 0xc2, 0x69, 0x18, 0xf8, 0xd6, 0x99, 0xdd, 0x43, 0x97, 0x09, 0x7d, 0xa0, 0xf3, 0x67,
+	0x6a, 0x19, 0x8a, 0x44, 0x01, 0xf5, 0x43, 0x3a, 0xb3, 0x4c, 0x45, 0x9e, 0x12, 0x4a, 0x15, 0xe9,
+	0x28, 0x12, 0x27, 0x93, 0x49, 0x10, 0xc7, 0xd6, 0xb9, 0x8d, 0x50, 0x77, 0xea, 0x85, 0x8f, 0x81,
+	0x6f, 0x5d, 0x8c, 0x7f, 0x0d, 0x34, 0x7c, 0x15, 0x1b, 0xfc, 0xef, 0x45, 0xe3, 0xc1, 0xa9, 0x85,
+	0x22, 0x75, 0x52, 0x64, 0xbc, 0x8c, 0xf7, 0xfd, 0xa5, 0x58, 0x33, 0x5e, 0x62, 0x51, 0x97, 0x4e,
+	0x59, 0x70, 0x7d, 0xf0, 0x21, 0xe3, 0x6d, 0x05, 0x27, 0x22, 0xbf, 0xd5, 0xef, 0xa7, 0xd9, 0x99,
+	0x79, 0xde, 0x97, 0x39, 0x98, 0xb5, 0x56, 0x5e, 0x0e, 0xb8, 0x85, 0x0a, 0x2d, 0x5c, 0xac, 0xc2,
+	0x81, 0xef, 0x83, 0x9e, 0x7a, 0x39, 0xa4, 0x47, 0x3d, 0x5d, 0xb8, 0xa9, 0xd6, 0x7f, 0xcc, 0x61,
+	0xfb, 0x49, 0x88, 0x97, 0x03, 0x21, 0xc7, 0x0a, 0x42, 0x16, 0x2e, 0x21, 0xba, 0x66, 0xd9, 0xd5,
+	0x8b, 0xb9, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x74, 0xce, 0x2c, 0xeb, 0x0a, 0x02, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/enums/offline_user_data_job_type.pb.go b/googleapis/ads/googleads/v3/enums/offline_user_data_job_type.pb.go
new file mode 100644
index 0000000..bf6ed2a
--- /dev/null
+++ b/googleapis/ads/googleads/v3/enums/offline_user_data_job_type.pb.go
@@ -0,0 +1,132 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/enums/offline_user_data_job_type.proto
+
+package enums
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The type of an offline user data job.
+type OfflineUserDataJobTypeEnum_OfflineUserDataJobType int32
+
+const (
+	// Not specified.
+	OfflineUserDataJobTypeEnum_UNSPECIFIED OfflineUserDataJobTypeEnum_OfflineUserDataJobType = 0
+	// Used for return value only. Represents value unknown in this version.
+	OfflineUserDataJobTypeEnum_UNKNOWN OfflineUserDataJobTypeEnum_OfflineUserDataJobType = 1
+	// Store Sales Direct data for self service.
+	OfflineUserDataJobTypeEnum_STORE_SALES_UPLOAD_FIRST_PARTY OfflineUserDataJobTypeEnum_OfflineUserDataJobType = 2
+	// Store Sales Direct data for third party.
+	OfflineUserDataJobTypeEnum_STORE_SALES_UPLOAD_THIRD_PARTY OfflineUserDataJobTypeEnum_OfflineUserDataJobType = 3
+	// Customer Match user list data.
+	OfflineUserDataJobTypeEnum_CUSTOMER_MATCH_USER_LIST OfflineUserDataJobTypeEnum_OfflineUserDataJobType = 4
+)
+
+var OfflineUserDataJobTypeEnum_OfflineUserDataJobType_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "UNKNOWN",
+	2: "STORE_SALES_UPLOAD_FIRST_PARTY",
+	3: "STORE_SALES_UPLOAD_THIRD_PARTY",
+	4: "CUSTOMER_MATCH_USER_LIST",
+}
+
+var OfflineUserDataJobTypeEnum_OfflineUserDataJobType_value = map[string]int32{
+	"UNSPECIFIED":                    0,
+	"UNKNOWN":                        1,
+	"STORE_SALES_UPLOAD_FIRST_PARTY": 2,
+	"STORE_SALES_UPLOAD_THIRD_PARTY": 3,
+	"CUSTOMER_MATCH_USER_LIST":       4,
+}
+
+func (x OfflineUserDataJobTypeEnum_OfflineUserDataJobType) String() string {
+	return proto.EnumName(OfflineUserDataJobTypeEnum_OfflineUserDataJobType_name, int32(x))
+}
+
+func (OfflineUserDataJobTypeEnum_OfflineUserDataJobType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_999a9ea5dec1369f, []int{0, 0}
+}
+
+// Container for enum describing types of an offline user data job.
+type OfflineUserDataJobTypeEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OfflineUserDataJobTypeEnum) Reset()         { *m = OfflineUserDataJobTypeEnum{} }
+func (m *OfflineUserDataJobTypeEnum) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJobTypeEnum) ProtoMessage()    {}
+func (*OfflineUserDataJobTypeEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_999a9ea5dec1369f, []int{0}
+}
+
+func (m *OfflineUserDataJobTypeEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJobTypeEnum.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJobTypeEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJobTypeEnum.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJobTypeEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJobTypeEnum.Merge(m, src)
+}
+func (m *OfflineUserDataJobTypeEnum) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJobTypeEnum.Size(m)
+}
+func (m *OfflineUserDataJobTypeEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJobTypeEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJobTypeEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.enums.OfflineUserDataJobTypeEnum_OfflineUserDataJobType", OfflineUserDataJobTypeEnum_OfflineUserDataJobType_name, OfflineUserDataJobTypeEnum_OfflineUserDataJobType_value)
+	proto.RegisterType((*OfflineUserDataJobTypeEnum)(nil), "google.ads.googleads.v3.enums.OfflineUserDataJobTypeEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/enums/offline_user_data_job_type.proto", fileDescriptor_999a9ea5dec1369f)
+}
+
+var fileDescriptor_999a9ea5dec1369f = []byte{
+	// 374 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0xae, 0x93, 0x40,
+	0x18, 0x85, 0x85, 0x6b, 0x34, 0x99, 0xbb, 0x90, 0xb0, 0x30, 0xe6, 0x7a, 0x6b, 0xd2, 0x3e, 0xc0,
+	0xb0, 0x60, 0x37, 0x26, 0x26, 0xd3, 0x42, 0x5b, 0xb4, 0x05, 0xc2, 0x0c, 0x35, 0x1a, 0x92, 0xc9,
+	0x54, 0xa6, 0x04, 0xd3, 0xce, 0x10, 0x86, 0x36, 0xe9, 0xbb, 0xb8, 0x72, 0xe9, 0x2b, 0xf8, 0x06,
+	0x3e, 0x8a, 0x2b, 0x1f, 0xc1, 0x00, 0x6d, 0x57, 0xed, 0xdd, 0x90, 0x13, 0xce, 0xf9, 0xfe, 0x99,
+	0x39, 0x3f, 0xf8, 0x50, 0x28, 0x55, 0x6c, 0x85, 0xc3, 0x73, 0xed, 0xf4, 0xb2, 0x55, 0x07, 0xd7,
+	0x11, 0x72, 0xbf, 0xd3, 0x8e, 0xda, 0x6c, 0xb6, 0xa5, 0x14, 0x6c, 0xaf, 0x45, 0xcd, 0x72, 0xde,
+	0x70, 0xf6, 0x5d, 0xad, 0x59, 0x73, 0xac, 0x04, 0xac, 0x6a, 0xd5, 0x28, 0x7b, 0xd0, 0x43, 0x90,
+	0xe7, 0x1a, 0x5e, 0x78, 0x78, 0x70, 0x61, 0xc7, 0x3f, 0x3c, 0x9e, 0xc7, 0x57, 0xa5, 0xc3, 0xa5,
+	0x54, 0x0d, 0x6f, 0x4a, 0x25, 0x75, 0x0f, 0x8f, 0x7e, 0x1b, 0xe0, 0x21, 0xea, 0x4f, 0x48, 0xb5,
+	0xa8, 0x3d, 0xde, 0xf0, 0x8f, 0x6a, 0x4d, 0x8f, 0x95, 0xf0, 0xe5, 0x7e, 0x37, 0xfa, 0x61, 0x80,
+	0xd7, 0xd7, 0x6d, 0xfb, 0x15, 0xb8, 0x4f, 0x43, 0x12, 0xfb, 0x93, 0x60, 0x1a, 0xf8, 0x9e, 0xf5,
+	0xcc, 0xbe, 0x07, 0x2f, 0xd3, 0xf0, 0x53, 0x18, 0x7d, 0x0e, 0x2d, 0xc3, 0x1e, 0x81, 0x77, 0x84,
+	0x46, 0x89, 0xcf, 0x08, 0x5e, 0xf8, 0x84, 0xa5, 0xf1, 0x22, 0xc2, 0x1e, 0x9b, 0x06, 0x09, 0xa1,
+	0x2c, 0xc6, 0x09, 0xfd, 0x62, 0x99, 0x37, 0x32, 0x74, 0x1e, 0x24, 0xde, 0x29, 0x73, 0x67, 0x3f,
+	0x82, 0x37, 0x93, 0x94, 0xd0, 0x68, 0xe9, 0x27, 0x6c, 0x89, 0xe9, 0x64, 0xce, 0x52, 0xe2, 0x27,
+	0x6c, 0x11, 0x10, 0x6a, 0x3d, 0x1f, 0xff, 0x33, 0xc0, 0xf0, 0x9b, 0xda, 0xc1, 0x27, 0x1b, 0x18,
+	0xbf, 0xbd, 0xfe, 0x82, 0xb8, 0x2d, 0x20, 0x36, 0xbe, 0x8e, 0x4f, 0x74, 0xa1, 0xb6, 0x5c, 0x16,
+	0x50, 0xd5, 0x85, 0x53, 0x08, 0xd9, 0xd5, 0x73, 0xde, 0x47, 0x55, 0xea, 0x1b, 0xeb, 0x79, 0xdf,
+	0x7d, 0x7f, 0x9a, 0x77, 0x33, 0x8c, 0x7f, 0x99, 0x83, 0x59, 0x3f, 0x0a, 0xe7, 0x1a, 0xf6, 0xb2,
+	0x55, 0x2b, 0x17, 0xb6, 0x65, 0xea, 0x3f, 0x67, 0x3f, 0xc3, 0xb9, 0xce, 0x2e, 0x7e, 0xb6, 0x72,
+	0xb3, 0xce, 0xff, 0x6b, 0x0e, 0xfb, 0x9f, 0x08, 0xe1, 0x5c, 0x23, 0x74, 0x49, 0x20, 0xb4, 0x72,
+	0x11, 0xea, 0x32, 0xeb, 0x17, 0xdd, 0xc5, 0xdc, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x98, 0x15,
+	0xe3, 0xfe, 0x36, 0x02, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/enums/payment_mode.pb.go b/googleapis/ads/googleads/v3/enums/payment_mode.pb.go
index af7938d..e796d74 100644
--- a/googleapis/ads/googleads/v3/enums/payment_mode.pb.go
+++ b/googleapis/ads/googleads/v3/enums/payment_mode.pb.go
@@ -44,7 +44,7 @@
 	PaymentModeEnum_CONVERSIONS PaymentModeEnum_PaymentMode = 6
 	// Pay per guest stay value. This mode is only supported by campaigns with
 	// AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and
-	// BudgetType.HOTEL_ADS_COMMISSION.
+	// BudgetType.STANDARD.
 	PaymentModeEnum_GUEST_STAY PaymentModeEnum_PaymentMode = 7
 )
 
diff --git a/googleapis/ads/googleads/v3/errors/account_budget_proposal_error.pb.go b/googleapis/ads/googleads/v3/errors/account_budget_proposal_error.pb.go
index acaa74b..e45b445 100644
--- a/googleapis/ads/googleads/v3/errors/account_budget_proposal_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/account_budget_proposal_error.pb.go
@@ -78,6 +78,9 @@
 	AccountBudgetProposalErrorEnum_NOT_AUTHORIZED AccountBudgetProposalErrorEnum_AccountBudgetProposalError = 22
 	// Mutates are not allowed for the given billing setup.
 	AccountBudgetProposalErrorEnum_INVALID_BILLING_SETUP AccountBudgetProposalErrorEnum_AccountBudgetProposalError = 23
+	// Budget creation failed as it overlaps with an pending budget proposal
+	// or an approved budget.
+	AccountBudgetProposalErrorEnum_OVERLAPS_EXISTING_BUDGET AccountBudgetProposalErrorEnum_AccountBudgetProposalError = 24
 )
 
 var AccountBudgetProposalErrorEnum_AccountBudgetProposalError_name = map[int32]string{
@@ -105,6 +108,7 @@
 	21: "BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP",
 	22: "NOT_AUTHORIZED",
 	23: "INVALID_BILLING_SETUP",
+	24: "OVERLAPS_EXISTING_BUDGET",
 }
 
 var AccountBudgetProposalErrorEnum_AccountBudgetProposalError_value = map[string]int32{
@@ -132,6 +136,7 @@
 	"BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP": 21,
 	"NOT_AUTHORIZED":                                    22,
 	"INVALID_BILLING_SETUP":                             23,
+	"OVERLAPS_EXISTING_BUDGET":                          24,
 }
 
 func (x AccountBudgetProposalErrorEnum_AccountBudgetProposalError) String() string {
@@ -184,48 +189,49 @@
 }
 
 var fileDescriptor_82eaf8fa240a3a68 = []byte{
-	// 686 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcb, 0x6e, 0x13, 0x3d,
-	0x14, 0xfe, 0x9b, 0xfe, 0xa4, 0xe0, 0x42, 0x6b, 0xdc, 0x0b, 0x25, 0xaa, 0x52, 0x14, 0x96, 0x48,
-	0x13, 0x41, 0x04, 0x12, 0x83, 0x58, 0x38, 0x33, 0x4e, 0x62, 0x75, 0xc6, 0x36, 0xbe, 0xa4, 0x55,
-	0x15, 0xc9, 0x4a, 0x9b, 0x28, 0xaa, 0xd4, 0x66, 0xa2, 0x4c, 0xda, 0x07, 0x62, 0xc9, 0x8e, 0xd7,
-	0x60, 0xcd, 0x53, 0xf0, 0x08, 0xac, 0x90, 0x67, 0x32, 0x69, 0x52, 0x51, 0x16, 0x51, 0xce, 0xd8,
-	0xdf, 0xe5, 0x9c, 0x63, 0x1f, 0x83, 0xe6, 0x28, 0x49, 0x46, 0x57, 0xc3, 0x7a, 0x7f, 0x90, 0xd6,
-	0xf3, 0xd0, 0x45, 0xb7, 0x8d, 0xfa, 0x70, 0x3a, 0x4d, 0xa6, 0x69, 0xbd, 0x7f, 0x71, 0x91, 0xdc,
-	0x8c, 0x67, 0xf6, 0xfc, 0x66, 0x30, 0x1a, 0xce, 0xec, 0x64, 0x9a, 0x4c, 0x92, 0xb4, 0x7f, 0x65,
-	0xb3, 0x6d, 0x6f, 0x32, 0x4d, 0x66, 0x09, 0xaa, 0xe6, 0x44, 0xaf, 0x3f, 0x48, 0xbd, 0x85, 0x86,
-	0x77, 0xdb, 0xf0, 0x72, 0x8d, 0xca, 0x61, 0xe1, 0x31, 0xb9, 0xac, 0xf7, 0xc7, 0xe3, 0x64, 0xd6,
-	0x9f, 0x5d, 0x26, 0xe3, 0x34, 0x67, 0xd7, 0x7e, 0x96, 0x41, 0x15, 0xe7, 0x2e, 0xcd, 0xcc, 0x44,
-	0xcc, 0x3d, 0x88, 0x63, 0x93, 0xf1, 0xcd, 0x75, 0xed, 0x7b, 0x19, 0x54, 0x1e, 0x86, 0xa0, 0x6d,
-	0xb0, 0x69, 0x98, 0x12, 0x24, 0xa0, 0x2d, 0x4a, 0x42, 0xf8, 0x1f, 0xda, 0x04, 0x1b, 0x86, 0x1d,
-	0x33, 0x7e, 0xc2, 0xe0, 0x1a, 0xaa, 0x80, 0xfd, 0x16, 0x25, 0x51, 0x68, 0x63, 0xac, 0x8e, 0x2d,
-	0xe3, 0xda, 0xe2, 0x28, 0xe2, 0x27, 0x24, 0x84, 0x25, 0xb4, 0x03, 0xb6, 0x69, 0x1c, 0x1b, 0x8d,
-	0x9b, 0x11, 0xb1, 0x19, 0x0a, 0xae, 0x3b, 0x82, 0x24, 0x5f, 0x0c, 0x95, 0x24, 0xb4, 0x73, 0x26,
-	0x55, 0x8a, 0xb2, 0x36, 0xfc, 0x1f, 0xbd, 0x06, 0x47, 0x01, 0x66, 0x4e, 0x24, 0xc0, 0x2c, 0x20,
-	0x91, 0xc5, 0x42, 0x48, 0xde, 0x25, 0xa1, 0x15, 0x92, 0x0b, 0xae, 0x70, 0x04, 0x1f, 0x2d, 0x81,
-	0x24, 0x89, 0x79, 0x97, 0x58, 0xc3, 0x16, 0xb0, 0xa6, 0x09, 0xdb, 0x44, 0xc3, 0x32, 0x7a, 0x05,
-	0x0e, 0x57, 0x41, 0xd2, 0x30, 0x46, 0x59, 0xbb, 0x40, 0x6c, 0x2c, 0x21, 0x08, 0x0b, 0xff, 0xa2,
-	0xf1, 0x18, 0x55, 0x41, 0x65, 0x09, 0x41, 0x19, 0x0e, 0x34, 0xed, 0x92, 0x62, 0xff, 0x09, 0x3a,
-	0x00, 0xbb, 0x79, 0x6c, 0x19, 0x8e, 0x89, 0x2d, 0xaa, 0x82, 0x00, 0x1d, 0x82, 0x83, 0x39, 0xd3,
-	0x88, 0x10, 0x6b, 0x62, 0x79, 0xb4, 0xd0, 0xdd, 0x44, 0xfb, 0x00, 0xad, 0xe8, 0x5a, 0x81, 0x95,
-	0x86, 0x4f, 0x5d, 0x67, 0x8a, 0xf5, 0x53, 0xed, 0xb6, 0xdc, 0x4f, 0xd3, 0x98, 0xc0, 0x67, 0xa8,
-	0x06, 0xaa, 0xc2, 0xc8, 0xa0, 0x83, 0x15, 0xb1, 0x5c, 0x86, 0x44, 0x5a, 0x66, 0xe2, 0x26, 0x91,
-	0x77, 0xae, 0x5b, 0x19, 0x86, 0xb0, 0xd0, 0x55, 0x39, 0xb7, 0x2d, 0xba, 0x66, 0xc9, 0x29, 0x55,
-	0x5a, 0xc1, 0x6d, 0xf4, 0x19, 0x7c, 0x8c, 0x4d, 0xa4, 0xa9, 0x88, 0x8a, 0x42, 0xd4, 0xf2, 0xa1,
-	0xd9, 0x16, 0x97, 0x2b, 0xbd, 0xa0, 0x51, 0xe4, 0xf4, 0x14, 0xd1, 0x46, 0x40, 0x88, 0xea, 0xe0,
-	0xcd, 0x6a, 0x61, 0x4a, 0x63, 0xa9, 0xb3, 0x24, 0x33, 0x6a, 0xf6, 0x79, 0xd7, 0xc3, 0xe7, 0xe8,
-	0x03, 0x78, 0xa7, 0x8a, 0xa4, 0x22, 0x1a, 0x53, 0x6d, 0x9d, 0x8f, 0xb4, 0xba, 0x83, 0x99, 0xc5,
-	0x41, 0x20, 0x0d, 0x09, 0x6d, 0xc0, 0x95, 0x5e, 0xb9, 0x3a, 0xc8, 0x5d, 0x9d, 0xb9, 0x03, 0x75,
-	0x09, 0x5a, 0x2e, 0xe0, 0x8e, 0x3b, 0xf9, 0xa2, 0x25, 0x36, 0x36, 0x4a, 0xdb, 0x16, 0x77, 0x84,
-	0xa5, 0x24, 0xe0, 0x2e, 0x7a, 0x0f, 0xde, 0xce, 0x4f, 0x25, 0xa3, 0x4b, 0xcc, 0xda, 0xc4, 0x52,
-	0x16, 0xf0, 0x58, 0x60, 0x4d, 0xdd, 0x4d, 0x3c, 0xa1, 0xba, 0x73, 0xaf, 0xb2, 0x3d, 0x84, 0xc0,
-	0x56, 0x96, 0x81, 0xd1, 0x1d, 0x2e, 0xe9, 0x19, 0x09, 0xe1, 0x3e, 0x7a, 0x09, 0xf6, 0x28, 0xeb,
-	0xe2, 0x88, 0xde, 0x6f, 0xc4, 0x8b, 0xe6, 0xef, 0x35, 0x50, 0xbb, 0x48, 0xae, 0xbd, 0x7f, 0xcf,
-	0x66, 0xf3, 0xe8, 0xe1, 0xb9, 0x12, 0x6e, 0x3c, 0xc5, 0xda, 0x59, 0x38, 0x97, 0x18, 0x25, 0x57,
-	0xfd, 0xf1, 0xc8, 0x4b, 0xa6, 0xa3, 0xfa, 0x68, 0x38, 0xce, 0x86, 0xb7, 0x78, 0x32, 0x26, 0x97,
-	0xe9, 0x43, 0x2f, 0xc8, 0xa7, 0xfc, 0xef, 0x6b, 0x69, 0xbd, 0x8d, 0xf1, 0xb7, 0x52, 0xb5, 0x9d,
-	0x8b, 0xe1, 0x41, 0xea, 0xe5, 0xa1, 0x8b, 0xba, 0x0d, 0x2f, 0xb3, 0x4c, 0x7f, 0x14, 0x80, 0x1e,
-	0x1e, 0xa4, 0xbd, 0x05, 0xa0, 0xd7, 0x6d, 0xf4, 0x72, 0xc0, 0xaf, 0x52, 0x2d, 0x5f, 0xf5, 0x7d,
-	0x3c, 0x48, 0x7d, 0x7f, 0x01, 0xf1, 0xfd, 0x6e, 0xc3, 0xf7, 0x73, 0xd0, 0x79, 0x39, 0xcb, 0xae,
-	0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xfc, 0x4e, 0x26, 0xde, 0x04, 0x00, 0x00,
+	// 702 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcd, 0x6e, 0xdb, 0x38,
+	0x10, 0xde, 0x38, 0xbb, 0xce, 0x2e, 0xb3, 0x9b, 0x70, 0x99, 0x9f, 0xcd, 0x1a, 0x81, 0x53, 0xb8,
+	0xc7, 0x02, 0x32, 0x5a, 0xa3, 0x05, 0xaa, 0xa2, 0x07, 0x5a, 0xa2, 0x6d, 0x22, 0x12, 0xc9, 0xf2,
+	0x47, 0x09, 0x02, 0x03, 0x84, 0x13, 0x1b, 0x46, 0x80, 0xc4, 0x32, 0x2c, 0x27, 0x0f, 0xd4, 0x63,
+	0x1f, 0xa5, 0x97, 0xbe, 0x47, 0x8f, 0x3d, 0xf6, 0x54, 0x50, 0xb2, 0x1c, 0x3b, 0x68, 0x7a, 0x30,
+	0x3c, 0x12, 0xbf, 0x9f, 0x99, 0xe1, 0x8c, 0x40, 0x7b, 0x9c, 0xa6, 0xe3, 0x9b, 0x51, 0x73, 0x30,
+	0xcc, 0x9a, 0x45, 0xe8, 0xa2, 0xfb, 0x56, 0x73, 0x34, 0x9b, 0xa5, 0xb3, 0xac, 0x39, 0xb8, 0xba,
+	0x4a, 0xef, 0x26, 0x73, 0x7b, 0x79, 0x37, 0x1c, 0x8f, 0xe6, 0x76, 0x3a, 0x4b, 0xa7, 0x69, 0x36,
+	0xb8, 0xb1, 0xf9, 0xb1, 0x37, 0x9d, 0xa5, 0xf3, 0x14, 0xd5, 0x0b, 0xa2, 0x37, 0x18, 0x66, 0xde,
+	0x52, 0xc3, 0xbb, 0x6f, 0x79, 0x85, 0x46, 0xed, 0xb8, 0xf4, 0x98, 0x5e, 0x37, 0x07, 0x93, 0x49,
+	0x3a, 0x1f, 0xcc, 0xaf, 0xd3, 0x49, 0x56, 0xb0, 0x1b, 0xdf, 0xaa, 0xa0, 0x8e, 0x0b, 0x97, 0x76,
+	0x6e, 0x22, 0x16, 0x1e, 0xc4, 0xb1, 0xc9, 0xe4, 0xee, 0xb6, 0xf1, 0xa5, 0x0a, 0x6a, 0x4f, 0x43,
+	0xd0, 0x2e, 0xd8, 0x36, 0x4c, 0x09, 0x12, 0xd0, 0x0e, 0x25, 0x21, 0xfc, 0x0d, 0x6d, 0x83, 0x2d,
+	0xc3, 0x4e, 0x19, 0x3f, 0x63, 0x70, 0x03, 0xd5, 0xc0, 0x61, 0x87, 0x92, 0x28, 0xb4, 0x31, 0x56,
+	0xa7, 0x96, 0x71, 0x6d, 0x71, 0x14, 0xf1, 0x33, 0x12, 0xc2, 0x0a, 0xda, 0x03, 0xbb, 0x34, 0x8e,
+	0x8d, 0xc6, 0xed, 0x88, 0xd8, 0x1c, 0x05, 0x37, 0x1d, 0x41, 0x92, 0x0f, 0x86, 0x4a, 0x12, 0xda,
+	0x05, 0x93, 0x2a, 0x45, 0x59, 0x17, 0xfe, 0x8e, 0x9e, 0x83, 0x93, 0x00, 0x33, 0x27, 0x12, 0x60,
+	0x16, 0x90, 0xc8, 0x62, 0x21, 0x24, 0x4f, 0x48, 0x68, 0x85, 0xe4, 0x82, 0x2b, 0x1c, 0xc1, 0x3f,
+	0x56, 0x40, 0x92, 0xc4, 0x3c, 0x21, 0xd6, 0xb0, 0x25, 0xac, 0x6d, 0xc2, 0x2e, 0xd1, 0xb0, 0x8a,
+	0x9e, 0x81, 0xe3, 0x75, 0x90, 0x34, 0x8c, 0x51, 0xd6, 0x2d, 0x11, 0x5b, 0x2b, 0x08, 0xc2, 0xc2,
+	0x9f, 0x68, 0xfc, 0x89, 0xea, 0xa0, 0xb6, 0x82, 0xa0, 0x0c, 0x07, 0x9a, 0x26, 0xa4, 0x3c, 0xff,
+	0x0b, 0x1d, 0x81, 0xfd, 0x22, 0xb6, 0x0c, 0xc7, 0xc4, 0x96, 0x55, 0x41, 0x80, 0x8e, 0xc1, 0xd1,
+	0x82, 0x69, 0x44, 0x88, 0x35, 0xb1, 0x3c, 0x5a, 0xea, 0x6e, 0xa3, 0x43, 0x80, 0xd6, 0x74, 0xad,
+	0xc0, 0x4a, 0xc3, 0xbf, 0x5d, 0x67, 0xca, 0xf7, 0xe7, 0xda, 0x1d, 0xb9, 0x9f, 0xa6, 0x31, 0x81,
+	0xff, 0xa0, 0x06, 0xa8, 0x0b, 0x23, 0x83, 0x1e, 0x56, 0xc4, 0x72, 0x19, 0x12, 0x69, 0x99, 0x89,
+	0xdb, 0x44, 0x3e, 0xb8, 0xee, 0xe4, 0x18, 0xc2, 0x42, 0x57, 0xe5, 0xc2, 0xb6, 0xec, 0x9a, 0x25,
+	0xe7, 0x54, 0x69, 0x05, 0x77, 0xd1, 0x7b, 0xf0, 0x36, 0x36, 0x91, 0xa6, 0x22, 0x2a, 0x0b, 0x51,
+	0xab, 0x97, 0x66, 0x3b, 0x5c, 0xae, 0xf5, 0x82, 0x46, 0x91, 0xd3, 0x53, 0x44, 0x1b, 0x01, 0x21,
+	0x6a, 0x82, 0x17, 0xeb, 0x85, 0x29, 0x8d, 0xa5, 0xce, 0x93, 0xcc, 0xa9, 0xf9, 0xe3, 0x43, 0x0f,
+	0xff, 0x45, 0x6f, 0xc0, 0x2b, 0x55, 0x26, 0x15, 0xd1, 0x98, 0x6a, 0xeb, 0x7c, 0xa4, 0xd5, 0x3d,
+	0xcc, 0x2c, 0x0e, 0x02, 0x69, 0x48, 0x68, 0x03, 0xae, 0xf4, 0xda, 0xe8, 0x20, 0x37, 0x3a, 0x0b,
+	0x07, 0xea, 0x12, 0xb4, 0x5c, 0xc0, 0x3d, 0x77, 0xf3, 0x65, 0x4b, 0x6c, 0x6c, 0x94, 0xb6, 0x1d,
+	0xee, 0x08, 0x2b, 0x49, 0xc0, 0x7d, 0xf4, 0x1a, 0xbc, 0x5c, 0xdc, 0x4a, 0x4e, 0x97, 0x98, 0x75,
+	0x89, 0xa5, 0x2c, 0xe0, 0xb1, 0xc0, 0x9a, 0xba, 0x49, 0x3c, 0xa3, 0xba, 0xf7, 0xa8, 0xb2, 0x03,
+	0x84, 0xc0, 0x4e, 0x9e, 0x81, 0xd1, 0x3d, 0x2e, 0xe9, 0x05, 0x09, 0xe1, 0x21, 0xfa, 0x1f, 0x1c,
+	0x50, 0x96, 0xe0, 0x88, 0x3e, 0x6e, 0xc4, 0x7f, 0xee, 0x86, 0x79, 0x42, 0x64, 0x84, 0x85, 0x2a,
+	0x9a, 0xbb, 0x32, 0x5b, 0x47, 0xed, 0xef, 0x1b, 0xa0, 0x71, 0x95, 0xde, 0x7a, 0xbf, 0xde, 0xdc,
+	0xf6, 0xc9, 0xd3, 0x5b, 0x27, 0xdc, 0xf2, 0x8a, 0x8d, 0x8b, 0x70, 0x21, 0x31, 0x4e, 0x6f, 0x06,
+	0x93, 0xb1, 0x97, 0xce, 0xc6, 0xcd, 0xf1, 0x68, 0x92, 0xaf, 0x76, 0xf9, 0x41, 0x99, 0x5e, 0x67,
+	0x4f, 0x7d, 0x5f, 0xde, 0x15, 0x7f, 0x1f, 0x2b, 0x9b, 0x5d, 0x8c, 0x3f, 0x55, 0xea, 0xdd, 0x42,
+	0x0c, 0x0f, 0x33, 0xaf, 0x08, 0x5d, 0x94, 0xb4, 0xbc, 0xdc, 0x32, 0xfb, 0x5c, 0x02, 0xfa, 0x78,
+	0x98, 0xf5, 0x97, 0x80, 0x7e, 0xd2, 0xea, 0x17, 0x80, 0xaf, 0x95, 0x46, 0xf1, 0xd6, 0xf7, 0xf1,
+	0x30, 0xf3, 0xfd, 0x25, 0xc4, 0xf7, 0x93, 0x96, 0xef, 0x17, 0xa0, 0xcb, 0x6a, 0x9e, 0x5d, 0xeb,
+	0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x66, 0x78, 0x04, 0x38, 0xfc, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/ad_group_error.pb.go b/googleapis/ads/googleads/v3/errors/ad_group_error.pb.go
index b78a230..88c8acb 100644
--- a/googleapis/ads/googleads/v3/errors/ad_group_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/ad_group_error.pb.go
@@ -57,6 +57,8 @@
 	// Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to
 	// campaigns that have DynamicSearchAdsSetting attached.
 	AdGroupErrorEnum_CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING AdGroupErrorEnum_AdGroupError = 14
+	// Promoted hotels ad groups are only available to whitelisted customers.
+	AdGroupErrorEnum_PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER AdGroupErrorEnum_AdGroupError = 15
 )
 
 var AdGroupErrorEnum_AdGroupError_name = map[int32]string{
@@ -74,6 +76,7 @@
 	12: "AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE",
 	13: "ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY",
 	14: "CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING",
+	15: "PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER",
 }
 
 var AdGroupErrorEnum_AdGroupError_value = map[string]int32{
@@ -91,6 +94,7 @@
 	"AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE":           12,
 	"ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY":          13,
 	"CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING": 14,
+	"PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER":            15,
 }
 
 func (x AdGroupErrorEnum_AdGroupError) String() string {
@@ -143,40 +147,42 @@
 }
 
 var fileDescriptor_e609153f44ae1ab8 = []byte{
-	// 553 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6a, 0xd4, 0x40,
-	0x14, 0x86, 0xed, 0xb6, 0xb6, 0x3a, 0xad, 0x3a, 0x0e, 0x22, 0x52, 0x4a, 0xd1, 0x05, 0x45, 0x44,
-	0xb2, 0x17, 0x51, 0xd0, 0x08, 0xc2, 0x49, 0x66, 0x9a, 0x0e, 0xcd, 0xce, 0x84, 0xcc, 0x64, 0xeb,
-	0xca, 0xc2, 0xb0, 0x9a, 0x12, 0x0a, 0x6d, 0xb2, 0x24, 0x6d, 0x5f, 0xc2, 0x97, 0x10, 0x2f, 0x7d,
-	0x14, 0x1f, 0x45, 0x7c, 0x08, 0x99, 0x8c, 0xd9, 0xb6, 0x88, 0x5e, 0xe5, 0xcc, 0x99, 0xef, 0x3f,
-	0xe7, 0x4f, 0xf2, 0x23, 0xbf, 0xac, 0xeb, 0xf2, 0xe4, 0x68, 0x34, 0x2f, 0xda, 0x91, 0x2b, 0x6d,
-	0x75, 0xe1, 0x8f, 0x8e, 0x9a, 0xa6, 0x6e, 0xda, 0xd1, 0xbc, 0x30, 0x65, 0x53, 0x9f, 0x2f, 0x4c,
-	0x77, 0xf6, 0x16, 0x4d, 0x7d, 0x56, 0x93, 0x5d, 0x47, 0x7a, 0xf3, 0xa2, 0xf5, 0x96, 0x22, 0xef,
-	0xc2, 0xf7, 0x9c, 0x68, 0x7b, 0xa7, 0x1f, 0xba, 0x38, 0x1e, 0xcd, 0xab, 0xaa, 0x3e, 0x9b, 0x9f,
-	0x1d, 0xd7, 0x55, 0xeb, 0xd4, 0xc3, 0xaf, 0x6b, 0x08, 0x43, 0x11, 0xdb, 0xa9, 0xcc, 0xf2, 0xac,
-	0x3a, 0x3f, 0x1d, 0x7e, 0x59, 0x43, 0x5b, 0x57, 0x9b, 0xe4, 0x1e, 0xda, 0xcc, 0x85, 0x4a, 0x59,
-	0xc4, 0xf7, 0x38, 0xa3, 0xf8, 0x06, 0xd9, 0x44, 0x1b, 0xb9, 0x38, 0x10, 0xf2, 0x50, 0xe0, 0x15,
-	0xb2, 0x8d, 0x1e, 0xd2, 0x3c, 0x4d, 0x78, 0x04, 0x9a, 0x19, 0xa0, 0x71, 0x26, 0xf3, 0xd4, 0x08,
-	0x18, 0x33, 0x3c, 0x20, 0x8f, 0xd0, 0x03, 0x2e, 0x26, 0x90, 0x70, 0x7a, 0xfd, 0x66, 0x95, 0x3c,
-	0x45, 0x4f, 0x80, 0x4e, 0x58, 0xa6, 0xb9, 0x62, 0x99, 0x11, 0x52, 0x1b, 0x29, 0x4c, 0x24, 0x85,
-	0x66, 0x42, 0x1b, 0xc1, 0xf4, 0xa1, 0xcc, 0x0e, 0xf0, 0x4d, 0xbb, 0x3a, 0xe4, 0xd4, 0x68, 0x29,
-	0x4d, 0xc8, 0x63, 0xbc, 0x4e, 0x5e, 0xa0, 0x67, 0x5d, 0x63, 0x9a, 0x32, 0x03, 0x82, 0x9a, 0x90,
-	0x53, 0xca, 0x45, 0x6c, 0x94, 0xce, 0x40, 0xb3, 0x78, 0x6a, 0xc6, 0x5c, 0x8d, 0x41, 0x47, 0xfb,
-	0x78, 0xc3, 0x6e, 0x1f, 0x73, 0xa5, 0xec, 0xf5, 0xb5, 0xed, 0xb7, 0xc8, 0x63, 0xb4, 0xd3, 0x77,
-	0x12, 0x08, 0x59, 0x62, 0xa8, 0x64, 0xaa, 0x73, 0xc1, 0x3e, 0x70, 0xa5, 0xf1, 0xed, 0xbf, 0x09,
-	0x48, 0x32, 0x06, 0x74, 0xea, 0x00, 0x85, 0x11, 0x79, 0x89, 0x9e, 0xf7, 0xef, 0xd6, 0xfb, 0xb6,
-	0xce, 0xa2, 0x8c, 0x6b, 0x96, 0x71, 0x29, 0x9c, 0xc7, 0x6e, 0x04, 0xde, 0x24, 0x6f, 0xd0, 0x2b,
-	0xa0, 0xee, 0xe4, 0x2e, 0xec, 0x32, 0xa7, 0xde, 0x93, 0x99, 0xe9, 0xbf, 0x85, 0xf5, 0x1a, 0xed,
-	0x83, 0x10, 0x2c, 0xe9, 0x30, 0xbc, 0x45, 0xde, 0xa2, 0xd7, 0xbd, 0x93, 0xa5, 0x50, 0xe5, 0x69,
-	0x2a, 0x33, 0xcd, 0x9c, 0x38, 0x82, 0x71, 0x0a, 0x3c, 0x16, 0x46, 0x41, 0xc2, 0x94, 0x89, 0x64,
-	0x2e, 0x74, 0x36, 0xc5, 0x77, 0x48, 0x88, 0xde, 0x47, 0x20, 0xac, 0x00, 0xe8, 0xe5, 0x1f, 0x90,
-	0x7b, 0x6e, 0x10, 0x55, 0x60, 0xb4, 0xbc, 0x54, 0x1f, 0x72, 0xbd, 0x2f, 0x73, 0xdd, 0xf5, 0x15,
-	0xd3, 0x9a, 0x8b, 0x18, 0xdf, 0x0d, 0x7f, 0xad, 0xa0, 0xe1, 0xe7, 0xfa, 0xd4, 0xfb, 0x7f, 0xce,
-	0xc2, 0xfb, 0x57, 0x13, 0x93, 0xda, 0x70, 0xa5, 0x2b, 0x1f, 0xe9, 0x1f, 0x51, 0x59, 0x9f, 0xcc,
-	0xab, 0xd2, 0xab, 0x9b, 0x72, 0x54, 0x1e, 0x55, 0x5d, 0xf4, 0xfa, 0x84, 0x2f, 0x8e, 0xdb, 0x7f,
-	0x05, 0xfe, 0x9d, 0x7b, 0x7c, 0x1b, 0xac, 0xc6, 0x00, 0xdf, 0x07, 0xbb, 0xb1, 0x1b, 0x06, 0x45,
-	0xeb, 0xb9, 0xd2, 0x56, 0x13, 0xdf, 0xeb, 0x56, 0xb6, 0x3f, 0x7a, 0x60, 0x06, 0x45, 0x3b, 0x5b,
-	0x02, 0xb3, 0x89, 0x3f, 0x73, 0xc0, 0xcf, 0xc1, 0xd0, 0x75, 0x83, 0x00, 0x8a, 0x36, 0x08, 0x96,
-	0x48, 0x10, 0x4c, 0xfc, 0x20, 0x70, 0xd0, 0xa7, 0xf5, 0xce, 0x9d, 0xff, 0x3b, 0x00, 0x00, 0xff,
-	0xff, 0xf3, 0x1a, 0x86, 0xaa, 0x8d, 0x03, 0x00, 0x00,
+	// 588 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xd1, 0x6a, 0xd4, 0x4c,
+	0x14, 0xfe, 0xbb, 0xed, 0xdf, 0xea, 0xb4, 0xda, 0x31, 0x88, 0x48, 0x29, 0x45, 0x17, 0x14, 0x11,
+	0xc9, 0x5e, 0x44, 0x51, 0x23, 0x08, 0x27, 0x99, 0x69, 0x76, 0x68, 0x32, 0x13, 0x66, 0x26, 0x5b,
+	0x57, 0x16, 0x86, 0xd5, 0x94, 0x50, 0x68, 0x37, 0xcb, 0xa6, 0xed, 0x03, 0x79, 0xe9, 0x73, 0x78,
+	0xe5, 0x1b, 0xf8, 0x0a, 0xe2, 0x43, 0xc8, 0x64, 0x9a, 0x6d, 0x8b, 0xe8, 0x55, 0xce, 0x9c, 0xf3,
+	0x7d, 0xe7, 0xfb, 0xe6, 0xe4, 0x0c, 0x0a, 0xaa, 0xba, 0xae, 0x4e, 0x8e, 0x06, 0xd3, 0xb2, 0x19,
+	0xb8, 0xd0, 0x46, 0x17, 0xc1, 0xe0, 0x68, 0xb1, 0xa8, 0x17, 0xcd, 0x60, 0x5a, 0x9a, 0x6a, 0x51,
+	0x9f, 0xcf, 0x4d, 0x7b, 0xf6, 0xe7, 0x8b, 0xfa, 0xac, 0xf6, 0xf6, 0x1c, 0xd2, 0x9f, 0x96, 0x8d,
+	0xbf, 0x24, 0xf9, 0x17, 0x81, 0xef, 0x48, 0x3b, 0xbb, 0x5d, 0xd3, 0xf9, 0xf1, 0x60, 0x3a, 0x9b,
+	0xd5, 0x67, 0xd3, 0xb3, 0xe3, 0x7a, 0xd6, 0x38, 0x76, 0xff, 0xc7, 0x1a, 0xc2, 0x50, 0x26, 0xb6,
+	0x2b, 0xb5, 0x78, 0x3a, 0x3b, 0x3f, 0xed, 0x7f, 0x5b, 0x43, 0x5b, 0xd7, 0x93, 0xde, 0x36, 0xda,
+	0x2c, 0xb8, 0xca, 0x69, 0xcc, 0xf6, 0x19, 0x25, 0xf8, 0x3f, 0x6f, 0x13, 0x6d, 0x14, 0xfc, 0x80,
+	0x8b, 0x43, 0x8e, 0x57, 0xbc, 0x1d, 0xf4, 0x80, 0x14, 0x79, 0xca, 0x62, 0xd0, 0xd4, 0x00, 0x49,
+	0xa4, 0x28, 0x72, 0xc3, 0x21, 0xa3, 0xb8, 0xe7, 0x3d, 0x44, 0xf7, 0x19, 0x1f, 0x41, 0xca, 0xc8,
+	0xcd, 0xca, 0xaa, 0xf7, 0x04, 0x3d, 0x06, 0x32, 0xa2, 0x52, 0x33, 0x45, 0xa5, 0xe1, 0x42, 0x1b,
+	0xc1, 0x4d, 0x2c, 0xb8, 0xa6, 0x5c, 0x1b, 0x4e, 0xf5, 0xa1, 0x90, 0x07, 0xf8, 0x7f, 0x2b, 0x1d,
+	0x31, 0x62, 0xb4, 0x10, 0x26, 0x62, 0x09, 0x5e, 0xf7, 0x9e, 0xa3, 0xa7, 0x6d, 0x62, 0x9c, 0x53,
+	0x03, 0x9c, 0x98, 0x88, 0x11, 0xc2, 0x78, 0x62, 0x94, 0x96, 0xa0, 0x69, 0x32, 0x36, 0x19, 0x53,
+	0x19, 0xe8, 0x78, 0x88, 0x37, 0xac, 0x7a, 0xc6, 0x94, 0xb2, 0xe5, 0x1b, 0xea, 0xb7, 0xbc, 0x47,
+	0x68, 0xb7, 0xcb, 0xa4, 0x10, 0xd1, 0xd4, 0x10, 0x41, 0x55, 0xeb, 0x82, 0x7e, 0x60, 0x4a, 0xe3,
+	0xdb, 0x7f, 0x22, 0x20, 0x95, 0x14, 0xc8, 0xd8, 0x01, 0x14, 0x46, 0xde, 0x0b, 0xf4, 0xac, 0xbb,
+	0x5b, 0xe7, 0xdb, 0x3a, 0x8b, 0x25, 0xd3, 0x54, 0x32, 0xc1, 0x9d, 0xc7, 0xb6, 0x05, 0xde, 0xf4,
+	0xde, 0xa0, 0x97, 0x40, 0xdc, 0xc9, 0x15, 0xac, 0x98, 0x63, 0xef, 0x0b, 0x69, 0xba, 0x59, 0x58,
+	0xaf, 0xf1, 0x10, 0x38, 0xa7, 0x69, 0x0b, 0xc3, 0x5b, 0xde, 0x5b, 0xf4, 0xaa, 0x73, 0xb2, 0x24,
+	0xaa, 0x22, 0xcf, 0x85, 0xd4, 0xd4, 0x91, 0x63, 0xc8, 0x72, 0x60, 0x09, 0x37, 0x0a, 0x52, 0xaa,
+	0x4c, 0x2c, 0x0a, 0xae, 0xe5, 0x18, 0xdf, 0xf1, 0x22, 0xf4, 0x3e, 0x06, 0x6e, 0x09, 0x40, 0xae,
+	0xfe, 0x80, 0xd8, 0x77, 0x8d, 0x88, 0x02, 0xa3, 0xc5, 0x15, 0xfb, 0x90, 0xe9, 0xa1, 0x28, 0x74,
+	0x9b, 0x57, 0x54, 0x6b, 0xc6, 0x13, 0x7c, 0xd7, 0x7b, 0x8d, 0x82, 0x5c, 0x8a, 0x4c, 0x58, 0xb1,
+	0xa1, 0xd0, 0x76, 0x12, 0x97, 0xf7, 0x70, 0x03, 0x83, 0x11, 0xb0, 0x14, 0xa2, 0x94, 0x3a, 0x2b,
+	0x85, 0xd2, 0x22, 0xa3, 0x12, 0x6f, 0x47, 0xbf, 0x56, 0x50, 0xff, 0x73, 0x7d, 0xea, 0xff, 0x7b,
+	0x41, 0xa3, 0x7b, 0xd7, 0x57, 0x2d, 0xb7, 0x5b, 0x99, 0xaf, 0x7c, 0x24, 0x97, 0xa4, 0xaa, 0x3e,
+	0x99, 0xce, 0x2a, 0xbf, 0x5e, 0x54, 0x83, 0xea, 0x68, 0xd6, 0xee, 0x6c, 0xf7, 0x34, 0xe6, 0xc7,
+	0xcd, 0xdf, 0x5e, 0xca, 0x3b, 0xf7, 0xf9, 0xd2, 0x5b, 0x4d, 0x00, 0xbe, 0xf6, 0xf6, 0x12, 0xd7,
+	0x0c, 0xca, 0xc6, 0x77, 0xa1, 0x8d, 0x46, 0x81, 0xdf, 0x4a, 0x36, 0xdf, 0x3b, 0xc0, 0x04, 0xca,
+	0x66, 0xb2, 0x04, 0x4c, 0x46, 0xc1, 0xc4, 0x01, 0x7e, 0xf6, 0xfa, 0x2e, 0x1b, 0x86, 0x50, 0x36,
+	0x61, 0xb8, 0x84, 0x84, 0xe1, 0x28, 0x08, 0x43, 0x07, 0xfa, 0xb4, 0xde, 0xba, 0x0b, 0x7e, 0x07,
+	0x00, 0x00, 0xff, 0xff, 0xff, 0xba, 0xb1, 0xe9, 0xc6, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/asset_link_error.pb.go b/googleapis/ads/googleads/v3/errors/asset_link_error.pb.go
new file mode 100644
index 0000000..b283830
--- /dev/null
+++ b/googleapis/ads/googleads/v3/errors/asset_link_error.pb.go
@@ -0,0 +1,119 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/errors/asset_link_error.proto
+
+package errors
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Enum describing possible asset link errors.
+type AssetLinkErrorEnum_AssetLinkError int32
+
+const (
+	// Enum unspecified.
+	AssetLinkErrorEnum_UNSPECIFIED AssetLinkErrorEnum_AssetLinkError = 0
+	// The received error code is not known in this version.
+	AssetLinkErrorEnum_UNKNOWN AssetLinkErrorEnum_AssetLinkError = 1
+	// Pinning is not supported for the given asset link field.
+	AssetLinkErrorEnum_PINNING_UNSUPPORTED AssetLinkErrorEnum_AssetLinkError = 2
+)
+
+var AssetLinkErrorEnum_AssetLinkError_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "UNKNOWN",
+	2: "PINNING_UNSUPPORTED",
+}
+
+var AssetLinkErrorEnum_AssetLinkError_value = map[string]int32{
+	"UNSPECIFIED":         0,
+	"UNKNOWN":             1,
+	"PINNING_UNSUPPORTED": 2,
+}
+
+func (x AssetLinkErrorEnum_AssetLinkError) String() string {
+	return proto.EnumName(AssetLinkErrorEnum_AssetLinkError_name, int32(x))
+}
+
+func (AssetLinkErrorEnum_AssetLinkError) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_622441d6ee34c6fb, []int{0, 0}
+}
+
+// Container for enum describing possible asset link errors.
+type AssetLinkErrorEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AssetLinkErrorEnum) Reset()         { *m = AssetLinkErrorEnum{} }
+func (m *AssetLinkErrorEnum) String() string { return proto.CompactTextString(m) }
+func (*AssetLinkErrorEnum) ProtoMessage()    {}
+func (*AssetLinkErrorEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_622441d6ee34c6fb, []int{0}
+}
+
+func (m *AssetLinkErrorEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AssetLinkErrorEnum.Unmarshal(m, b)
+}
+func (m *AssetLinkErrorEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AssetLinkErrorEnum.Marshal(b, m, deterministic)
+}
+func (m *AssetLinkErrorEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AssetLinkErrorEnum.Merge(m, src)
+}
+func (m *AssetLinkErrorEnum) XXX_Size() int {
+	return xxx_messageInfo_AssetLinkErrorEnum.Size(m)
+}
+func (m *AssetLinkErrorEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_AssetLinkErrorEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AssetLinkErrorEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.errors.AssetLinkErrorEnum_AssetLinkError", AssetLinkErrorEnum_AssetLinkError_name, AssetLinkErrorEnum_AssetLinkError_value)
+	proto.RegisterType((*AssetLinkErrorEnum)(nil), "google.ads.googleads.v3.errors.AssetLinkErrorEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/errors/asset_link_error.proto", fileDescriptor_622441d6ee34c6fb)
+}
+
+var fileDescriptor_622441d6ee34c6fb = []byte{
+	// 301 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xc1, 0x4a, 0xc3, 0x30,
+	0x1c, 0xc6, 0x5d, 0x05, 0x85, 0x0c, 0x74, 0x74, 0x07, 0x41, 0x64, 0x87, 0x3e, 0x40, 0x72, 0x08,
+	0x5e, 0xe2, 0x29, 0xb3, 0xb5, 0x14, 0x25, 0x0b, 0xce, 0x56, 0x90, 0x4a, 0x89, 0xb6, 0x84, 0xb2,
+	0x2e, 0x29, 0x4d, 0xdd, 0x03, 0x79, 0xf4, 0x51, 0x7c, 0x14, 0x0f, 0x3e, 0x83, 0xb4, 0xb1, 0x85,
+	0x1d, 0xf4, 0x94, 0x8f, 0x8f, 0xdf, 0xf7, 0xe5, 0xe3, 0x0f, 0x2e, 0xa5, 0xd6, 0xb2, 0x2a, 0x90,
+	0xc8, 0x0d, 0xb2, 0xb2, 0x53, 0x3b, 0x8c, 0x8a, 0xa6, 0xd1, 0x8d, 0x41, 0xc2, 0x98, 0xa2, 0xcd,
+	0xaa, 0x52, 0x6d, 0xb2, 0xde, 0x81, 0x75, 0xa3, 0x5b, 0xed, 0x2e, 0x2c, 0x0b, 0x45, 0x6e, 0xe0,
+	0x18, 0x83, 0x3b, 0x0c, 0x6d, 0xec, 0xfc, 0x62, 0xa8, 0xad, 0x4b, 0x24, 0x94, 0xd2, 0xad, 0x68,
+	0x4b, 0xad, 0x8c, 0x4d, 0x7b, 0xcf, 0xc0, 0xa5, 0x5d, 0xef, 0x5d, 0xa9, 0x36, 0x41, 0x17, 0x08,
+	0xd4, 0xdb, 0xd6, 0x0b, 0xc1, 0xc9, 0xbe, 0xeb, 0x9e, 0x82, 0x69, 0xcc, 0xd6, 0x3c, 0xb8, 0x8e,
+	0x6e, 0xa2, 0xc0, 0x9f, 0x1d, 0xb8, 0x53, 0x70, 0x1c, 0xb3, 0x5b, 0xb6, 0x7a, 0x64, 0xb3, 0x89,
+	0x7b, 0x06, 0xe6, 0x3c, 0x62, 0x2c, 0x62, 0x61, 0x16, 0xb3, 0x75, 0xcc, 0xf9, 0xea, 0xfe, 0x21,
+	0xf0, 0x67, 0xce, 0xf2, 0x7b, 0x02, 0xbc, 0x57, 0xbd, 0x85, 0xff, 0x6f, 0x5c, 0xce, 0xf7, 0x7f,
+	0xe3, 0xdd, 0x34, 0x3e, 0x79, 0xf2, 0x7f, 0x63, 0x52, 0x57, 0x42, 0x49, 0xa8, 0x1b, 0x89, 0x64,
+	0xa1, 0xfa, 0xe1, 0xc3, 0x85, 0xea, 0xd2, 0xfc, 0x75, 0xb0, 0x2b, 0xfb, 0xbc, 0x3b, 0x87, 0x21,
+	0xa5, 0x1f, 0xce, 0x22, 0xb4, 0x65, 0x34, 0x37, 0xd0, 0xca, 0x4e, 0x25, 0x18, 0xf6, 0x5f, 0x9a,
+	0xcf, 0x01, 0x48, 0x69, 0x6e, 0xd2, 0x11, 0x48, 0x13, 0x9c, 0x5a, 0xe0, 0xcb, 0xf1, 0xac, 0x4b,
+	0x08, 0xcd, 0x0d, 0x21, 0x23, 0x42, 0x48, 0x82, 0x09, 0xb1, 0xd0, 0xcb, 0x51, 0xbf, 0x0e, 0xff,
+	0x04, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x10, 0xa6, 0x05, 0xcd, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/errors/billing_setup_error.pb.go b/googleapis/ads/googleads/v3/errors/billing_setup_error.pb.go
index 587bda6..f813492 100644
--- a/googleapis/ads/googleads/v3/errors/billing_setup_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/billing_setup_error.pb.go
@@ -71,6 +71,9 @@
 	// Billing setup creation failed because the payments profile needs internal
 	// approval.
 	BillingSetupErrorEnum_CUSTOMER_NEEDS_INTERNAL_APPROVAL BillingSetupErrorEnum_BillingSetupError = 17
+	// Payments account has different currency code than the current customer
+	// and hence cannot be used to setup billing.
+	BillingSetupErrorEnum_PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH BillingSetupErrorEnum_BillingSetupError = 19
 )
 
 var BillingSetupErrorEnum_BillingSetupError_name = map[int32]string{
@@ -92,27 +95,29 @@
 	15: "PAYMENTS_PROFILE_INELIGIBLE",
 	16: "PAYMENTS_ACCOUNT_INELIGIBLE",
 	17: "CUSTOMER_NEEDS_INTERNAL_APPROVAL",
+	19: "PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH",
 }
 
 var BillingSetupErrorEnum_BillingSetupError_value = map[string]int32{
-	"UNSPECIFIED":                                       0,
-	"UNKNOWN":                                           1,
-	"CANNOT_USE_EXISTING_AND_NEW_ACCOUNT":               2,
-	"CANNOT_REMOVE_STARTED_BILLING_SETUP":               3,
-	"CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT":    4,
-	"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS":   5,
-	"INVALID_PAYMENTS_ACCOUNT":                          6,
-	"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY": 7,
-	"INVALID_START_TIME_TYPE":                           8,
-	"THIRD_PARTY_ALREADY_HAS_BILLING":                   9,
-	"BILLING_SETUP_IN_PROGRESS":                         10,
-	"NO_SIGNUP_PERMISSION":                              11,
-	"CHANGE_OF_BILL_TO_IN_PROGRESS":                     12,
-	"PAYMENTS_PROFILE_NOT_FOUND":                        13,
-	"PAYMENTS_ACCOUNT_NOT_FOUND":                        14,
-	"PAYMENTS_PROFILE_INELIGIBLE":                       15,
-	"PAYMENTS_ACCOUNT_INELIGIBLE":                       16,
-	"CUSTOMER_NEEDS_INTERNAL_APPROVAL":                  17,
+	"UNSPECIFIED":                                        0,
+	"UNKNOWN":                                            1,
+	"CANNOT_USE_EXISTING_AND_NEW_ACCOUNT":                2,
+	"CANNOT_REMOVE_STARTED_BILLING_SETUP":                3,
+	"CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT":     4,
+	"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS":    5,
+	"INVALID_PAYMENTS_ACCOUNT":                           6,
+	"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY":  7,
+	"INVALID_START_TIME_TYPE":                            8,
+	"THIRD_PARTY_ALREADY_HAS_BILLING":                    9,
+	"BILLING_SETUP_IN_PROGRESS":                          10,
+	"NO_SIGNUP_PERMISSION":                               11,
+	"CHANGE_OF_BILL_TO_IN_PROGRESS":                      12,
+	"PAYMENTS_PROFILE_NOT_FOUND":                         13,
+	"PAYMENTS_ACCOUNT_NOT_FOUND":                         14,
+	"PAYMENTS_PROFILE_INELIGIBLE":                        15,
+	"PAYMENTS_ACCOUNT_INELIGIBLE":                        16,
+	"CUSTOMER_NEEDS_INTERNAL_APPROVAL":                   17,
+	"PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH": 19,
 }
 
 func (x BillingSetupErrorEnum_BillingSetupError) String() string {
@@ -165,42 +170,44 @@
 }
 
 var fileDescriptor_ad919e3bbb1ef52f = []byte{
-	// 590 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x5d, 0x6e, 0xd3, 0x40,
-	0x10, 0xc7, 0x69, 0x4a, 0x5b, 0xd8, 0x02, 0xdd, 0xae, 0xf8, 0x28, 0xfd, 0x84, 0x14, 0x89, 0x37,
-	0x47, 0x60, 0x21, 0x21, 0xf3, 0xb4, 0xb1, 0x27, 0xee, 0x0a, 0x67, 0xd7, 0xda, 0x5d, 0xa7, 0x04,
-	0x45, 0x5a, 0xa5, 0x24, 0xb2, 0x22, 0xa5, 0x76, 0x14, 0xa7, 0xbd, 0x02, 0xe7, 0x80, 0x47, 0x8e,
-	0xc2, 0x51, 0x78, 0xe3, 0x06, 0xc8, 0x76, 0x62, 0x25, 0x8a, 0x40, 0x3c, 0x79, 0xe4, 0xf9, 0xff,
-	0x7f, 0xb3, 0x33, 0x9a, 0x41, 0xef, 0xe3, 0x34, 0x8d, 0xc7, 0xc3, 0x46, 0x7f, 0x90, 0x35, 0xca,
-	0x30, 0x8f, 0x6e, 0xed, 0xc6, 0x70, 0x3a, 0x4d, 0xa7, 0x59, 0xe3, 0x6a, 0x34, 0x1e, 0x8f, 0x92,
-	0xd8, 0x64, 0xc3, 0xd9, 0xcd, 0xc4, 0x14, 0x3f, 0xad, 0xc9, 0x34, 0x9d, 0xa5, 0xe4, 0xb4, 0x94,
-	0x5b, 0xfd, 0x41, 0x66, 0x55, 0x4e, 0xeb, 0xd6, 0xb6, 0x4a, 0xe7, 0xe1, 0xf1, 0x82, 0x3c, 0x19,
-	0x35, 0xfa, 0x49, 0x92, 0xce, 0xfa, 0xb3, 0x51, 0x9a, 0x64, 0xa5, 0xbb, 0xfe, 0x6d, 0x0b, 0x3d,
-	0x69, 0x96, 0x6c, 0x95, 0xa3, 0x21, 0x37, 0x41, 0x72, 0x73, 0x5d, 0xff, 0xba, 0x85, 0xf6, 0xd7,
-	0x32, 0x64, 0x0f, 0xed, 0x46, 0x5c, 0x85, 0xe0, 0xb2, 0x16, 0x03, 0x0f, 0xdf, 0x21, 0xbb, 0x68,
-	0x27, 0xe2, 0x1f, 0xb9, 0xb8, 0xe4, 0x78, 0x83, 0xbc, 0x46, 0xe7, 0x2e, 0xe5, 0x5c, 0x68, 0x13,
-	0x29, 0x30, 0xf0, 0x89, 0x29, 0xcd, 0xb8, 0x6f, 0x28, 0xf7, 0x0c, 0x87, 0x4b, 0x43, 0x5d, 0x57,
-	0x44, 0x5c, 0xe3, 0xda, 0x92, 0x50, 0x42, 0x5b, 0x74, 0xc0, 0x28, 0x4d, 0xa5, 0x06, 0xcf, 0x34,
-	0x59, 0x10, 0xe4, 0x16, 0x05, 0x3a, 0x0a, 0xf1, 0x26, 0x79, 0x8b, 0xac, 0xb9, 0xd0, 0xbd, 0xa0,
-	0xdc, 0x87, 0x4a, 0xa0, 0x85, 0x51, 0xb4, 0x0d, 0x26, 0xa4, 0xdd, 0x36, 0x70, 0xad, 0x2a, 0xf8,
-	0x5d, 0x62, 0xa3, 0xc6, 0x0a, 0xc6, 0xe4, 0xf6, 0x10, 0x64, 0x9b, 0xe9, 0xbc, 0x44, 0x4b, 0x48,
-	0xe3, 0x46, 0x4a, 0x8b, 0x36, 0xc8, 0xbc, 0xae, 0x8e, 0x14, 0xde, 0x22, 0xc7, 0xe8, 0x80, 0xf1,
-	0x0e, 0x0d, 0x98, 0xb7, 0x8e, 0xdc, 0x26, 0xef, 0xd0, 0x9b, 0xff, 0x46, 0xba, 0x54, 0x83, 0x2f,
-	0x64, 0x17, 0xef, 0x90, 0x23, 0xf4, 0x6c, 0x01, 0x2d, 0x1a, 0x34, 0x9a, 0xb5, 0xc1, 0xe8, 0x6e,
-	0x08, 0xf8, 0x1e, 0x39, 0x47, 0x67, 0xfa, 0x82, 0xc9, 0xbc, 0x9e, 0xd4, 0x5d, 0x43, 0x03, 0x09,
-	0xd4, 0xeb, 0x9a, 0x0b, 0xaa, 0x16, 0x4d, 0xe2, 0xfb, 0xe4, 0x04, 0x3d, 0x5f, 0x2d, 0xcc, 0xb8,
-	0x09, 0xa5, 0xf0, 0x25, 0x28, 0x85, 0x11, 0x39, 0x40, 0x8f, 0xb9, 0x30, 0x8a, 0xf9, 0x3c, 0x0a,
-	0xcb, 0xf7, 0x28, 0xc5, 0x04, 0xc7, 0xbb, 0xe4, 0x25, 0x3a, 0x99, 0x4f, 0x4c, 0xb4, 0x0a, 0x5e,
-	0x3e, 0xb1, 0x65, 0xf3, 0x03, 0x72, 0x8a, 0x0e, 0xab, 0x56, 0x43, 0x29, 0x5a, 0x2c, 0x80, 0xa2,
-	0xaf, 0x96, 0x88, 0xb8, 0x87, 0x1f, 0xae, 0xe4, 0xe7, 0xa3, 0x58, 0xca, 0x3f, 0x22, 0x67, 0xe8,
-	0x68, 0xcd, 0xcf, 0x38, 0x04, 0xcc, 0x67, 0xcd, 0x00, 0xf0, 0xde, 0x8a, 0x60, 0x01, 0x58, 0x12,
-	0x60, 0xf2, 0x0a, 0xbd, 0xa8, 0xc6, 0xc6, 0x01, 0x3c, 0x65, 0x18, 0xd7, 0x20, 0x39, 0x0d, 0x0c,
-	0x0d, 0x43, 0x29, 0x3a, 0x34, 0xc0, 0xfb, 0xcd, 0xdf, 0x1b, 0xa8, 0xfe, 0x25, 0xbd, 0xb6, 0xfe,
-	0xbd, 0xe8, 0xcd, 0xa7, 0x6b, 0xdb, 0x1a, 0xe6, 0x2b, 0x1e, 0x6e, 0x7c, 0xf6, 0xe6, 0xce, 0x38,
-	0x1d, 0xf7, 0x93, 0xd8, 0x4a, 0xa7, 0x71, 0x23, 0x1e, 0x26, 0xc5, 0x01, 0x2c, 0x8e, 0x6d, 0x32,
-	0xca, 0xfe, 0x76, 0x7b, 0x1f, 0xca, 0xcf, 0xf7, 0xda, 0xa6, 0x4f, 0xe9, 0x8f, 0xda, 0xa9, 0x5f,
-	0xc2, 0xe8, 0x20, 0xb3, 0xca, 0x30, 0x8f, 0x3a, 0xb6, 0x55, 0x94, 0xcc, 0x7e, 0x2e, 0x04, 0x3d,
-	0x3a, 0xc8, 0x7a, 0x95, 0xa0, 0xd7, 0xb1, 0x7b, 0xa5, 0xe0, 0x57, 0xad, 0x5e, 0xfe, 0x75, 0x1c,
-	0x3a, 0xc8, 0x1c, 0xa7, 0x92, 0x38, 0x4e, 0xc7, 0x76, 0x9c, 0x52, 0x74, 0xb5, 0x5d, 0xbc, 0xce,
-	0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x55, 0x0d, 0x3c, 0x8a, 0x18, 0x04, 0x00, 0x00,
+	// 617 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6e, 0xd3, 0x4a,
+	0x14, 0xc6, 0x6f, 0xd3, 0xdb, 0xf6, 0xde, 0x29, 0xd0, 0xe9, 0xf0, 0xaf, 0xf4, 0x2f, 0xa4, 0x48,
+	0xec, 0x1c, 0xd1, 0x08, 0x84, 0xcc, 0x6a, 0x62, 0x9f, 0x38, 0x23, 0xec, 0x19, 0x6b, 0x66, 0x9c,
+	0x12, 0x14, 0x69, 0x94, 0x92, 0x28, 0x8a, 0x94, 0xda, 0x51, 0x9c, 0xf6, 0x81, 0x58, 0xf2, 0x12,
+	0xec, 0x79, 0x03, 0x5e, 0x81, 0x1d, 0x6f, 0x80, 0x6c, 0x27, 0x56, 0xa2, 0x88, 0x8a, 0x95, 0x8f,
+	0x66, 0xbe, 0xef, 0x77, 0xe6, 0x1c, 0xf9, 0x43, 0xef, 0x86, 0x49, 0x32, 0x1c, 0x0f, 0x6a, 0xbd,
+	0x7e, 0x5a, 0x2b, 0xca, 0xac, 0xba, 0xad, 0xd7, 0x06, 0xd3, 0x69, 0x32, 0x4d, 0x6b, 0x57, 0xa3,
+	0xf1, 0x78, 0x14, 0x0f, 0x4d, 0x3a, 0x98, 0xdd, 0x4c, 0x4c, 0x7e, 0x68, 0x4d, 0xa6, 0xc9, 0x2c,
+	0x21, 0xa7, 0x85, 0xdc, 0xea, 0xf5, 0x53, 0xab, 0x74, 0x5a, 0xb7, 0x75, 0xab, 0x70, 0x1e, 0x1e,
+	0x2f, 0xc8, 0x93, 0x51, 0xad, 0x17, 0xc7, 0xc9, 0xac, 0x37, 0x1b, 0x25, 0x71, 0x5a, 0xb8, 0xab,
+	0x3f, 0xb6, 0xd0, 0xe3, 0x46, 0xc1, 0x56, 0x19, 0x1a, 0x32, 0x13, 0xc4, 0x37, 0xd7, 0xd5, 0x6f,
+	0x5b, 0x68, 0x7f, 0xed, 0x86, 0xec, 0xa1, 0xdd, 0x88, 0xab, 0x10, 0x1c, 0xd6, 0x64, 0xe0, 0xe2,
+	0x7f, 0xc8, 0x2e, 0xda, 0x89, 0xf8, 0x07, 0x2e, 0x2e, 0x39, 0xde, 0x20, 0xaf, 0xd0, 0xb9, 0x43,
+	0x39, 0x17, 0xda, 0x44, 0x0a, 0x0c, 0x7c, 0x64, 0x4a, 0x33, 0xee, 0x19, 0xca, 0x5d, 0xc3, 0xe1,
+	0xd2, 0x50, 0xc7, 0x11, 0x11, 0xd7, 0xb8, 0xb2, 0x24, 0x94, 0x10, 0x88, 0x36, 0x18, 0xa5, 0xa9,
+	0xd4, 0xe0, 0x9a, 0x06, 0xf3, 0xfd, 0xcc, 0xa2, 0x40, 0x47, 0x21, 0xde, 0x24, 0x17, 0xc8, 0x9a,
+	0x0b, 0x9d, 0x16, 0xe5, 0x1e, 0x94, 0x02, 0x2d, 0x8c, 0xa2, 0x01, 0x98, 0x90, 0x76, 0x02, 0xe0,
+	0x5a, 0x95, 0xf0, 0x7f, 0x49, 0x1d, 0xd5, 0x56, 0x30, 0x26, 0xb3, 0x87, 0x20, 0x03, 0xa6, 0xb3,
+	0x16, 0x4d, 0x21, 0x8d, 0x13, 0x29, 0x2d, 0x02, 0x90, 0x59, 0x5f, 0x1d, 0x29, 0xbc, 0x45, 0x8e,
+	0xd1, 0x01, 0xe3, 0x6d, 0xea, 0x33, 0x77, 0x1d, 0xb9, 0x4d, 0xde, 0xa0, 0xd7, 0x7f, 0x8d, 0x74,
+	0xa8, 0x06, 0x4f, 0xc8, 0x0e, 0xde, 0x21, 0x47, 0xe8, 0xe9, 0x02, 0x9a, 0x0f, 0x68, 0x34, 0x0b,
+	0xc0, 0xe8, 0x4e, 0x08, 0xf8, 0x3f, 0x72, 0x8e, 0xce, 0x74, 0x8b, 0xc9, 0xac, 0x9f, 0xd4, 0x1d,
+	0x43, 0x7d, 0x09, 0xd4, 0xed, 0x98, 0x16, 0x55, 0x8b, 0x21, 0xf1, 0xff, 0xe4, 0x04, 0x3d, 0x5b,
+	0x6d, 0xcc, 0xb8, 0x09, 0xa5, 0xf0, 0x24, 0x28, 0x85, 0x11, 0x39, 0x40, 0x8f, 0xb8, 0x30, 0x8a,
+	0x79, 0x3c, 0x0a, 0x8b, 0xf7, 0x28, 0xc5, 0x04, 0xc7, 0xbb, 0xe4, 0x05, 0x3a, 0x99, 0x6f, 0x4c,
+	0x34, 0x73, 0x5e, 0xb6, 0xb1, 0x65, 0xf3, 0x3d, 0x72, 0x8a, 0x0e, 0xcb, 0x51, 0x43, 0x29, 0x9a,
+	0xcc, 0x87, 0x7c, 0xae, 0xa6, 0x88, 0xb8, 0x8b, 0xef, 0xaf, 0xdc, 0xcf, 0x57, 0xb1, 0x74, 0xff,
+	0x80, 0x9c, 0xa1, 0xa3, 0x35, 0x3f, 0xe3, 0xe0, 0x33, 0x8f, 0x35, 0x7c, 0xc0, 0x7b, 0x2b, 0x82,
+	0x05, 0x60, 0x49, 0x80, 0xc9, 0x4b, 0xf4, 0xbc, 0x5c, 0x1b, 0x07, 0x70, 0x95, 0x61, 0x5c, 0x83,
+	0xe4, 0xd4, 0x37, 0x34, 0x0c, 0xa5, 0x68, 0x53, 0x1f, 0xef, 0x93, 0xb7, 0xe8, 0xe2, 0x0e, 0x8c,
+	0x71, 0x22, 0x29, 0x81, 0x3b, 0x1d, 0xe3, 0x08, 0x17, 0x4c, 0xc0, 0x54, 0x40, 0xb5, 0xd3, 0xc2,
+	0x0f, 0x1b, 0xbf, 0x36, 0x50, 0xf5, 0x73, 0x72, 0x6d, 0xdd, 0x1d, 0x90, 0xc6, 0x93, 0xb5, 0xbf,
+	0x3c, 0xcc, 0xa2, 0x11, 0x6e, 0x7c, 0x72, 0xe7, 0xce, 0x61, 0x32, 0xee, 0xc5, 0x43, 0x2b, 0x99,
+	0x0e, 0x6b, 0xc3, 0x41, 0x9c, 0x07, 0x67, 0x11, 0xd2, 0xc9, 0x28, 0xfd, 0x53, 0x66, 0xdf, 0x17,
+	0x9f, 0x2f, 0x95, 0x4d, 0x8f, 0xd2, 0xaf, 0x95, 0x53, 0xaf, 0x80, 0xd1, 0x7e, 0x6a, 0x15, 0x65,
+	0x56, 0xb5, 0xeb, 0x56, 0xde, 0x32, 0xfd, 0xbe, 0x10, 0x74, 0x69, 0x3f, 0xed, 0x96, 0x82, 0x6e,
+	0xbb, 0xde, 0x2d, 0x04, 0x3f, 0x2b, 0xd5, 0xe2, 0xd4, 0xb6, 0x69, 0x3f, 0xb5, 0xed, 0x52, 0x62,
+	0xdb, 0xed, 0xba, 0x6d, 0x17, 0xa2, 0xab, 0xed, 0xfc, 0x75, 0xf5, 0xdf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x57, 0xfb, 0xa3, 0xfd, 0x50, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/campaign_budget_error.pb.go b/googleapis/ads/googleads/v3/errors/campaign_budget_error.pb.go
index 85c0f71..56ca1e3 100644
--- a/googleapis/ads/googleads/v3/errors/campaign_budget_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/campaign_budget_error.pb.go
@@ -65,6 +65,8 @@
 	CampaignBudgetErrorEnum_NEGATIVE_MONEY_AMOUNT CampaignBudgetErrorEnum_CampaignBudgetError = 15
 	// A money amount was not a multiple of a minimum unit.
 	CampaignBudgetErrorEnum_NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT CampaignBudgetErrorEnum_CampaignBudgetError = 16
+	// Total budget amount must be unset when BudgetPeriod is DAILY.
+	CampaignBudgetErrorEnum_TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY CampaignBudgetErrorEnum_CampaignBudgetError = 18
 )
 
 var CampaignBudgetErrorEnum_CampaignBudgetError_name = map[int32]string{
@@ -85,6 +87,7 @@
 	14: "MONEY_AMOUNT_TOO_LARGE",
 	15: "NEGATIVE_MONEY_AMOUNT",
 	16: "NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT",
+	18: "TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY",
 }
 
 var CampaignBudgetErrorEnum_CampaignBudgetError_value = map[string]int32{
@@ -99,12 +102,13 @@
 	"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME":      8,
 	"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED":                   9,
 	"CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS": 10,
-	"DUPLICATE_NAME":                              11,
-	"MONEY_AMOUNT_IN_WRONG_CURRENCY":              12,
-	"MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC": 13,
-	"MONEY_AMOUNT_TOO_LARGE":                      14,
-	"NEGATIVE_MONEY_AMOUNT":                       15,
-	"NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT":       16,
+	"DUPLICATE_NAME":                                            11,
+	"MONEY_AMOUNT_IN_WRONG_CURRENCY":                            12,
+	"MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC":               13,
+	"MONEY_AMOUNT_TOO_LARGE":                                    14,
+	"NEGATIVE_MONEY_AMOUNT":                                     15,
+	"NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT":                     16,
+	"TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY": 18,
 }
 
 func (x CampaignBudgetErrorEnum_CampaignBudgetError) String() string {
@@ -157,42 +161,44 @@
 }
 
 var fileDescriptor_2c34de9796e76d27 = []byte{
-	// 580 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xd1, 0x6a, 0xd4, 0x40,
-	0x14, 0x86, 0xed, 0xd6, 0xb6, 0x3a, 0xd5, 0x76, 0x1c, 0xd1, 0x6a, 0x95, 0x22, 0x4b, 0x05, 0x45,
-	0x48, 0xc0, 0x80, 0x48, 0x14, 0x64, 0x92, 0xcc, 0x66, 0x07, 0x93, 0x99, 0x90, 0xcc, 0xa4, 0xae,
-	0x2c, 0x0c, 0x69, 0xb3, 0x84, 0x85, 0x36, 0x59, 0x36, 0xdb, 0x3e, 0x90, 0x97, 0x3e, 0x87, 0x57,
-	0x3e, 0x85, 0xd7, 0xde, 0xfa, 0x02, 0x92, 0x64, 0x77, 0x6b, 0xd3, 0x6a, 0xbd, 0xca, 0x61, 0xce,
-	0xff, 0xfd, 0xff, 0x09, 0x33, 0x07, 0x98, 0x59, 0x51, 0x64, 0xc7, 0x23, 0x3d, 0x49, 0x4b, 0xbd,
-	0x29, 0xab, 0xea, 0xcc, 0xd0, 0x47, 0xd3, 0x69, 0x31, 0x2d, 0xf5, 0xa3, 0xe4, 0x64, 0x92, 0x8c,
-	0xb3, 0x5c, 0x1d, 0x9e, 0xa6, 0xd9, 0x68, 0xa6, 0xea, 0x63, 0x6d, 0x32, 0x2d, 0x66, 0x05, 0xda,
-	0x6b, 0x00, 0x2d, 0x49, 0x4b, 0x6d, 0xc9, 0x6a, 0x67, 0x86, 0xd6, 0xb0, 0xbb, 0x4f, 0x17, 0xde,
-	0x93, 0xb1, 0x9e, 0xe4, 0x79, 0x31, 0x4b, 0x66, 0xe3, 0x22, 0x2f, 0x1b, 0xba, 0xfb, 0x63, 0x0d,
-	0xec, 0xd8, 0x73, 0x77, 0xab, 0x36, 0x27, 0x15, 0x46, 0xf2, 0xd3, 0x93, 0xee, 0xb7, 0x35, 0x70,
-	0xff, 0x8a, 0x1e, 0xda, 0x06, 0x9b, 0x92, 0x45, 0x01, 0xb1, 0x69, 0x8f, 0x12, 0x07, 0xde, 0x40,
-	0x9b, 0x60, 0x43, 0xb2, 0x8f, 0x8c, 0x1f, 0x30, 0xb8, 0x82, 0xf6, 0xc1, 0x33, 0x1b, 0xfb, 0x01,
-	0xa6, 0x2e, 0x53, 0x96, 0x74, 0x5c, 0x22, 0x94, 0x8d, 0x19, 0xe3, 0x42, 0x59, 0x44, 0x45, 0x7d,
-	0x1c, 0x12, 0x07, 0xde, 0x43, 0x4f, 0xc0, 0x4e, 0x5b, 0x15, 0x12, 0x9f, 0xc7, 0xc4, 0x81, 0x1d,
-	0xb4, 0x0b, 0x1e, 0xb6, 0x9b, 0x94, 0x29, 0x19, 0x11, 0xb8, 0x8a, 0x5e, 0x80, 0xfd, 0x76, 0x2f,
-	0x20, 0x21, 0xe5, 0x8e, 0xaa, 0x22, 0x70, 0x8c, 0xa9, 0x87, 0x2d, 0x8f, 0xc0, 0x9b, 0xe8, 0x3d,
-	0x78, 0x3b, 0x0f, 0xf6, 0xb9, 0x43, 0x7b, 0x03, 0xd5, 0xa3, 0xc4, 0x73, 0x14, 0xef, 0x29, 0xea,
-	0x07, 0x1e, 0xb5, 0xa9, 0xf0, 0x06, 0xf3, 0x81, 0x54, 0xcb, 0x12, 0xae, 0xa3, 0x37, 0xe0, 0xf5,
-	0x9c, 0x96, 0x81, 0x83, 0x05, 0x69, 0x4b, 0x94, 0xe0, 0x97, 0x7d, 0xe0, 0x06, 0xb2, 0xc1, 0x87,
-	0x6b, 0x39, 0xf2, 0xa9, 0x9d, 0x7f, 0x40, 0x45, 0x9f, 0x4b, 0xa1, 0x18, 0xf6, 0x09, 0xbc, 0xf5,
-	0x5f, 0xe1, 0x97, 0x4c, 0xe0, 0x6d, 0xd4, 0x07, 0xce, 0x82, 0x8b, 0xc8, 0xf5, 0xbf, 0x59, 0xc7,
-	0x2a, 0x5f, 0x7a, 0x82, 0x06, 0xde, 0x79, 0x48, 0x04, 0x01, 0x42, 0x60, 0xcb, 0x91, 0x15, 0x5e,
-	0xa5, 0xd7, 0x53, 0x6d, 0xa2, 0x2e, 0xd8, 0xf3, 0x39, 0x23, 0x03, 0x85, 0x7d, 0x2e, 0x59, 0x7d,
-	0x27, 0x07, 0x21, 0x67, 0xae, 0xb2, 0x65, 0x18, 0x12, 0x66, 0x0f, 0xe0, 0x1d, 0xa4, 0x83, 0x57,
-	0x17, 0x34, 0x1e, 0x89, 0x22, 0x25, 0xfa, 0x98, 0x2d, 0x45, 0xca, 0xa7, 0x8c, 0xfa, 0xd2, 0x57,
-	0x76, 0x60, 0xc3, 0xbb, 0xd5, 0x5d, 0x5f, 0x00, 0x04, 0xe7, 0xca, 0xc3, 0xa1, 0x4b, 0xe0, 0x16,
-	0x7a, 0x0c, 0x1e, 0x30, 0xe2, 0x62, 0x41, 0x63, 0xa2, 0xfe, 0x14, 0xc1, 0x6d, 0xf4, 0x12, 0x3c,
-	0x67, 0x9c, 0x9d, 0xcf, 0xce, 0x7b, 0xe7, 0xbe, 0x8b, 0x20, 0xc9, 0xa8, 0x80, 0xd0, 0xfa, 0xb5,
-	0x02, 0xba, 0x47, 0xc5, 0x89, 0xf6, 0xef, 0x3d, 0xb1, 0x1e, 0x5d, 0xf1, 0xd4, 0x83, 0x6a, 0x47,
-	0x82, 0x95, 0xcf, 0xce, 0x9c, 0xcd, 0x8a, 0xe3, 0x24, 0xcf, 0xb4, 0x62, 0x9a, 0xe9, 0xd9, 0x28,
-	0xaf, 0x37, 0x68, 0xb1, 0xaf, 0x93, 0x71, 0xf9, 0xb7, 0xf5, 0x7d, 0xd7, 0x7c, 0xbe, 0x74, 0x56,
-	0x5d, 0x8c, 0xbf, 0x76, 0xf6, 0xdc, 0xc6, 0x0c, 0xa7, 0xa5, 0xd6, 0x94, 0x55, 0x15, 0x1b, 0x5a,
-	0x1d, 0x59, 0x7e, 0x5f, 0x08, 0x86, 0x38, 0x2d, 0x87, 0x4b, 0xc1, 0x30, 0x36, 0x86, 0x8d, 0xe0,
-	0x67, 0xa7, 0xdb, 0x9c, 0x9a, 0x26, 0x4e, 0x4b, 0xd3, 0x5c, 0x4a, 0x4c, 0x33, 0x36, 0x4c, 0xb3,
-	0x11, 0x1d, 0xae, 0xd7, 0xd3, 0x19, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x48, 0xc0, 0x9d, 0x5e,
-	0x5b, 0x04, 0x00, 0x00,
+	// 609 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x61, 0x6b, 0xd3, 0x40,
+	0x18, 0xc7, 0x5d, 0x27, 0x9d, 0xde, 0x74, 0x3b, 0x4f, 0x74, 0x3a, 0x65, 0x48, 0x99, 0xa0, 0x08,
+	0x09, 0x58, 0x10, 0x8d, 0x8a, 0x5c, 0x93, 0x6b, 0x7a, 0x98, 0xbb, 0x0b, 0xc9, 0x5d, 0x67, 0xa5,
+	0x70, 0x64, 0x6b, 0x09, 0x85, 0x2d, 0x29, 0x4d, 0xb7, 0x2f, 0xe0, 0x07, 0x11, 0x7c, 0xe9, 0x47,
+	0xf1, 0xa3, 0xf8, 0xd6, 0x2f, 0x20, 0x49, 0x9a, 0xd6, 0x65, 0xd3, 0xf9, 0x2a, 0x0f, 0x79, 0xfe,
+	0xbf, 0xff, 0xff, 0x39, 0xee, 0x1e, 0x60, 0xc5, 0x69, 0x1a, 0x1f, 0x8f, 0xcd, 0x68, 0x94, 0x99,
+	0x65, 0x99, 0x57, 0x67, 0x6d, 0x73, 0x3c, 0x9b, 0xa5, 0xb3, 0xcc, 0x3c, 0x8a, 0x4e, 0xa6, 0xd1,
+	0x24, 0x4e, 0xf4, 0xe1, 0xe9, 0x28, 0x1e, 0xcf, 0x75, 0xf1, 0xdb, 0x98, 0xce, 0xd2, 0x79, 0x8a,
+	0xf6, 0x4a, 0xc0, 0x88, 0x46, 0x99, 0xb1, 0x64, 0x8d, 0xb3, 0xb6, 0x51, 0xb2, 0xbb, 0x8f, 0x2b,
+	0xef, 0xe9, 0xc4, 0x8c, 0x92, 0x24, 0x9d, 0x47, 0xf3, 0x49, 0x9a, 0x64, 0x25, 0xdd, 0xfa, 0xda,
+	0x04, 0x3b, 0xf6, 0xc2, 0xbd, 0x53, 0x98, 0x93, 0x1c, 0x23, 0xc9, 0xe9, 0x49, 0xeb, 0x4b, 0x13,
+	0xdc, 0xbd, 0xa4, 0x87, 0xb6, 0xc1, 0xa6, 0xe2, 0xa1, 0x4f, 0x6c, 0xda, 0xa5, 0xc4, 0x81, 0xd7,
+	0xd0, 0x26, 0xd8, 0x50, 0xfc, 0x23, 0x17, 0x07, 0x1c, 0xae, 0xa1, 0x7d, 0xf0, 0xc4, 0xc6, 0xcc,
+	0xc7, 0xd4, 0xe5, 0xba, 0xa3, 0x1c, 0x97, 0x48, 0x6d, 0x63, 0xce, 0x85, 0xd4, 0x1d, 0xa2, 0xc3,
+	0x1e, 0x0e, 0x88, 0x03, 0xef, 0xa0, 0x47, 0x60, 0xa7, 0xae, 0x0a, 0x08, 0x13, 0x7d, 0xe2, 0xc0,
+	0x06, 0xda, 0x05, 0xf7, 0xeb, 0x4d, 0xca, 0xb5, 0x0a, 0x09, 0x5c, 0x47, 0xcf, 0xc0, 0x7e, 0xbd,
+	0xe7, 0x93, 0x80, 0x0a, 0x47, 0xe7, 0x11, 0xb8, 0x8f, 0xa9, 0x87, 0x3b, 0x1e, 0x81, 0xd7, 0xd1,
+	0x3b, 0xf0, 0x7a, 0x11, 0xcc, 0x84, 0x43, 0xbb, 0x03, 0xdd, 0xa5, 0xc4, 0x73, 0xb4, 0xe8, 0x6a,
+	0xca, 0x7c, 0x8f, 0xda, 0x54, 0x7a, 0x83, 0xc5, 0x40, 0xba, 0x66, 0x09, 0x9b, 0xe8, 0x15, 0x78,
+	0xb9, 0xa0, 0x95, 0xef, 0x60, 0x49, 0xea, 0x12, 0x2d, 0xc5, 0x45, 0x1f, 0xb8, 0x81, 0x6c, 0xf0,
+	0xe1, 0x4a, 0x8e, 0x7c, 0xaa, 0xe7, 0x1f, 0x50, 0xd9, 0x13, 0x4a, 0x6a, 0x8e, 0x19, 0x81, 0x37,
+	0xfe, 0x2b, 0xfc, 0x82, 0x09, 0xbc, 0x89, 0x7a, 0xc0, 0xa9, 0xb8, 0x90, 0x5c, 0x7d, 0xcc, 0x22,
+	0x56, 0x33, 0xe5, 0x49, 0xea, 0x7b, 0xab, 0x90, 0x10, 0x02, 0x84, 0xc0, 0x96, 0xa3, 0x72, 0x3c,
+	0x4f, 0x2f, 0xa6, 0xda, 0x44, 0x2d, 0xb0, 0xc7, 0x04, 0x27, 0x03, 0x8d, 0x99, 0x50, 0xbc, 0xb8,
+	0x93, 0x83, 0x40, 0x70, 0x57, 0xdb, 0x2a, 0x08, 0x08, 0xb7, 0x07, 0xf0, 0x16, 0x32, 0xc1, 0x8b,
+	0x73, 0x1a, 0x8f, 0x84, 0xa1, 0x96, 0x3d, 0xcc, 0x97, 0x22, 0xcd, 0x28, 0xa7, 0x4c, 0x31, 0x6d,
+	0xfb, 0x36, 0xbc, 0x9d, 0xdf, 0xf5, 0x39, 0x40, 0x0a, 0xa1, 0x3d, 0x1c, 0xb8, 0x04, 0x6e, 0xa1,
+	0x87, 0xe0, 0x1e, 0x27, 0x2e, 0x96, 0xb4, 0x4f, 0xf4, 0x9f, 0x22, 0xb8, 0x8d, 0x9e, 0x83, 0xa7,
+	0x5c, 0xf0, 0xd5, 0xec, 0xa2, 0xbb, 0xf2, 0xad, 0x82, 0x14, 0xa7, 0x12, 0x42, 0xf4, 0x1e, 0xbc,
+	0x91, 0x42, 0x62, 0xaf, 0x3a, 0xf4, 0x22, 0x88, 0xa9, 0xb0, 0x78, 0x92, 0x8a, 0x87, 0x44, 0xea,
+	0xae, 0x08, 0x6a, 0xcf, 0xc9, 0xc1, 0xd4, 0x1b, 0x40, 0xd4, 0xf9, 0xb5, 0x06, 0x5a, 0x47, 0xe9,
+	0x89, 0xf1, 0xef, 0x35, 0xeb, 0x3c, 0xb8, 0x64, 0x53, 0xfc, 0x7c, 0xc5, 0xfc, 0xb5, 0xcf, 0xce,
+	0x82, 0x8d, 0xd3, 0xe3, 0x28, 0x89, 0x8d, 0x74, 0x16, 0x9b, 0xf1, 0x38, 0x29, 0x16, 0xb0, 0x5a,
+	0xf7, 0xe9, 0x24, 0xfb, 0xdb, 0xf6, 0xbf, 0x2d, 0x3f, 0xdf, 0x1a, 0xeb, 0x2e, 0xc6, 0xdf, 0x1b,
+	0x7b, 0x6e, 0x69, 0x86, 0x47, 0x99, 0x51, 0x96, 0x79, 0xd5, 0x6f, 0x1b, 0x45, 0x64, 0xf6, 0xa3,
+	0x12, 0x0c, 0xf1, 0x28, 0x1b, 0x2e, 0x05, 0xc3, 0x7e, 0x7b, 0x58, 0x0a, 0x7e, 0x36, 0x5a, 0xe5,
+	0x5f, 0xcb, 0xc2, 0xa3, 0xcc, 0xb2, 0x96, 0x12, 0xcb, 0xea, 0xb7, 0x2d, 0xab, 0x14, 0x1d, 0x36,
+	0x8b, 0xe9, 0xda, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x36, 0xc1, 0x65, 0x91, 0x9a, 0x04, 0x00,
+	0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/criterion_error.pb.go b/googleapis/ads/googleads/v3/errors/criterion_error.pb.go
index d208365..35cbe9f 100644
--- a/googleapis/ads/googleads/v3/errors/criterion_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/criterion_error.pb.go
@@ -260,109 +260,127 @@
 	CriterionErrorEnum_WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP CriterionErrorEnum_CriterionError = 95
 	// Cannot add positive user list criteria in Smart Display campaigns.
 	CriterionErrorEnum_CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS CriterionErrorEnum_CriterionError = 99
+	// Listing scope contains too many dimension types.
+	CriterionErrorEnum_LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES CriterionErrorEnum_CriterionError = 100
+	// Listing scope has too many IN operators.
+	CriterionErrorEnum_LISTING_SCOPE_TOO_MANY_IN_OPERATORS CriterionErrorEnum_CriterionError = 101
+	// Listing scope contains IN operator on an unsupported dimension type.
+	CriterionErrorEnum_LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED CriterionErrorEnum_CriterionError = 102
+	// There are dimensions with duplicate dimension type.
+	CriterionErrorEnum_DUPLICATE_LISTING_DIMENSION_TYPE CriterionErrorEnum_CriterionError = 103
+	// There are dimensions with duplicate dimension value.
+	CriterionErrorEnum_DUPLICATE_LISTING_DIMENSION_VALUE CriterionErrorEnum_CriterionError = 104
+	// Listing group SUBDIVISION nodes cannot have bids.
+	CriterionErrorEnum_CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION CriterionErrorEnum_CriterionError = 105
 )
 
 var CriterionErrorEnum_CriterionError_name = map[int32]string{
-	0:  "UNSPECIFIED",
-	1:  "UNKNOWN",
-	2:  "CONCRETE_TYPE_REQUIRED",
-	3:  "INVALID_EXCLUDED_CATEGORY",
-	4:  "INVALID_KEYWORD_TEXT",
-	5:  "KEYWORD_TEXT_TOO_LONG",
-	6:  "KEYWORD_HAS_TOO_MANY_WORDS",
-	7:  "KEYWORD_HAS_INVALID_CHARS",
-	8:  "INVALID_PLACEMENT_URL",
-	9:  "INVALID_USER_LIST",
-	10: "INVALID_USER_INTEREST",
-	11: "INVALID_FORMAT_FOR_PLACEMENT_URL",
-	12: "PLACEMENT_URL_IS_TOO_LONG",
-	13: "PLACEMENT_URL_HAS_ILLEGAL_CHAR",
-	14: "PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE",
-	15: "PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION",
-	16: "INVALID_TOPIC_PATH",
-	17: "INVALID_YOUTUBE_CHANNEL_ID",
-	18: "INVALID_YOUTUBE_VIDEO_ID",
-	19: "YOUTUBE_VERTICAL_CHANNEL_DEPRECATED",
-	20: "YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED",
-	21: "YOUTUBE_URL_UNSUPPORTED",
-	22: "CANNOT_EXCLUDE_CRITERIA_TYPE",
-	23: "CANNOT_ADD_CRITERIA_TYPE",
-	24: "INVALID_PRODUCT_FILTER",
-	25: "PRODUCT_FILTER_TOO_LONG",
-	26: "CANNOT_EXCLUDE_SIMILAR_USER_LIST",
-	27: "CANNOT_ADD_CLOSED_USER_LIST",
-	28: "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS",
-	29: "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS",
-	30: "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS",
-	31: "CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS",
-	32: "CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS",
-	33: "CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE",
-	96: "INVALID_CUSTOM_AFFINITY",
-	97: "INVALID_CUSTOM_INTENT",
-	34: "INVALID_IP_ADDRESS",
-	35: "INVALID_IP_FORMAT",
-	36: "INVALID_MOBILE_APP",
-	37: "INVALID_MOBILE_APP_CATEGORY",
-	38: "INVALID_CRITERION_ID",
-	39: "CANNOT_TARGET_CRITERION",
-	40: "CANNOT_TARGET_OBSOLETE_CRITERION",
-	41: "CRITERION_ID_AND_TYPE_MISMATCH",
-	42: "INVALID_PROXIMITY_RADIUS",
-	43: "INVALID_PROXIMITY_RADIUS_UNITS",
-	44: "INVALID_STREETADDRESS_LENGTH",
-	45: "INVALID_CITYNAME_LENGTH",
-	46: "INVALID_REGIONCODE_LENGTH",
-	47: "INVALID_REGIONNAME_LENGTH",
-	48: "INVALID_POSTALCODE_LENGTH",
-	49: "INVALID_COUNTRY_CODE",
-	50: "INVALID_LATITUDE",
-	51: "INVALID_LONGITUDE",
-	52: "PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL",
-	53: "INVALID_PROXIMITY_ADDRESS",
-	54: "INVALID_USER_DOMAIN_NAME",
-	55: "CRITERION_PARAMETER_TOO_LONG",
-	56: "AD_SCHEDULE_TIME_INTERVALS_OVERLAP",
-	57: "AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS",
-	58: "AD_SCHEDULE_INVALID_TIME_INTERVAL",
-	59: "AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT",
-	60: "AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS",
-	61: "CANNOT_BID_MODIFY_CRITERION_TYPE",
-	62: "CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT",
-	63: "CANNOT_BID_MODIFY_NEGATIVE_CRITERION",
-	64: "BID_MODIFIER_ALREADY_EXISTS",
-	65: "FEED_ID_NOT_ALLOWED",
-	66: "ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE",
-	67: "CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY",
-	68: "CANNOT_EXCLUDE_CRITERION",
-	69: "CANNOT_REMOVE_CRITERION",
-	70: "PRODUCT_SCOPE_TOO_LONG",
-	71: "PRODUCT_SCOPE_TOO_MANY_DIMENSIONS",
-	72: "PRODUCT_PARTITION_TOO_LONG",
-	73: "PRODUCT_PARTITION_TOO_MANY_DIMENSIONS",
-	74: "INVALID_PRODUCT_DIMENSION",
-	75: "INVALID_PRODUCT_DIMENSION_TYPE",
-	76: "INVALID_PRODUCT_BIDDING_CATEGORY",
-	77: "MISSING_SHOPPING_SETTING",
-	78: "INVALID_MATCHING_FUNCTION",
-	79: "LOCATION_FILTER_NOT_ALLOWED",
-	98: "INVALID_FEED_FOR_LOCATION_FILTER",
-	80: "LOCATION_FILTER_INVALID",
-	81: "CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP",
-	82: "HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION",
-	83: "HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION",
-	84: "FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING",
-	85: "INVALID_WEBPAGE_CONDITION",
-	86: "INVALID_WEBPAGE_CONDITION_URL",
-	87: "WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY",
-	88: "WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL",
-	89: "WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS",
-	90: "WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING",
-	91: "WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX",
-	92: "WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX",
-	93: "WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED",
-	94: "WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION",
-	95: "WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP",
-	99: "CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS",
+	0:   "UNSPECIFIED",
+	1:   "UNKNOWN",
+	2:   "CONCRETE_TYPE_REQUIRED",
+	3:   "INVALID_EXCLUDED_CATEGORY",
+	4:   "INVALID_KEYWORD_TEXT",
+	5:   "KEYWORD_TEXT_TOO_LONG",
+	6:   "KEYWORD_HAS_TOO_MANY_WORDS",
+	7:   "KEYWORD_HAS_INVALID_CHARS",
+	8:   "INVALID_PLACEMENT_URL",
+	9:   "INVALID_USER_LIST",
+	10:  "INVALID_USER_INTEREST",
+	11:  "INVALID_FORMAT_FOR_PLACEMENT_URL",
+	12:  "PLACEMENT_URL_IS_TOO_LONG",
+	13:  "PLACEMENT_URL_HAS_ILLEGAL_CHAR",
+	14:  "PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE",
+	15:  "PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION",
+	16:  "INVALID_TOPIC_PATH",
+	17:  "INVALID_YOUTUBE_CHANNEL_ID",
+	18:  "INVALID_YOUTUBE_VIDEO_ID",
+	19:  "YOUTUBE_VERTICAL_CHANNEL_DEPRECATED",
+	20:  "YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED",
+	21:  "YOUTUBE_URL_UNSUPPORTED",
+	22:  "CANNOT_EXCLUDE_CRITERIA_TYPE",
+	23:  "CANNOT_ADD_CRITERIA_TYPE",
+	24:  "INVALID_PRODUCT_FILTER",
+	25:  "PRODUCT_FILTER_TOO_LONG",
+	26:  "CANNOT_EXCLUDE_SIMILAR_USER_LIST",
+	27:  "CANNOT_ADD_CLOSED_USER_LIST",
+	28:  "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS",
+	29:  "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS",
+	30:  "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS",
+	31:  "CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS",
+	32:  "CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS",
+	33:  "CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE",
+	96:  "INVALID_CUSTOM_AFFINITY",
+	97:  "INVALID_CUSTOM_INTENT",
+	34:  "INVALID_IP_ADDRESS",
+	35:  "INVALID_IP_FORMAT",
+	36:  "INVALID_MOBILE_APP",
+	37:  "INVALID_MOBILE_APP_CATEGORY",
+	38:  "INVALID_CRITERION_ID",
+	39:  "CANNOT_TARGET_CRITERION",
+	40:  "CANNOT_TARGET_OBSOLETE_CRITERION",
+	41:  "CRITERION_ID_AND_TYPE_MISMATCH",
+	42:  "INVALID_PROXIMITY_RADIUS",
+	43:  "INVALID_PROXIMITY_RADIUS_UNITS",
+	44:  "INVALID_STREETADDRESS_LENGTH",
+	45:  "INVALID_CITYNAME_LENGTH",
+	46:  "INVALID_REGIONCODE_LENGTH",
+	47:  "INVALID_REGIONNAME_LENGTH",
+	48:  "INVALID_POSTALCODE_LENGTH",
+	49:  "INVALID_COUNTRY_CODE",
+	50:  "INVALID_LATITUDE",
+	51:  "INVALID_LONGITUDE",
+	52:  "PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL",
+	53:  "INVALID_PROXIMITY_ADDRESS",
+	54:  "INVALID_USER_DOMAIN_NAME",
+	55:  "CRITERION_PARAMETER_TOO_LONG",
+	56:  "AD_SCHEDULE_TIME_INTERVALS_OVERLAP",
+	57:  "AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS",
+	58:  "AD_SCHEDULE_INVALID_TIME_INTERVAL",
+	59:  "AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT",
+	60:  "AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS",
+	61:  "CANNOT_BID_MODIFY_CRITERION_TYPE",
+	62:  "CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT",
+	63:  "CANNOT_BID_MODIFY_NEGATIVE_CRITERION",
+	64:  "BID_MODIFIER_ALREADY_EXISTS",
+	65:  "FEED_ID_NOT_ALLOWED",
+	66:  "ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE",
+	67:  "CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY",
+	68:  "CANNOT_EXCLUDE_CRITERION",
+	69:  "CANNOT_REMOVE_CRITERION",
+	70:  "PRODUCT_SCOPE_TOO_LONG",
+	71:  "PRODUCT_SCOPE_TOO_MANY_DIMENSIONS",
+	72:  "PRODUCT_PARTITION_TOO_LONG",
+	73:  "PRODUCT_PARTITION_TOO_MANY_DIMENSIONS",
+	74:  "INVALID_PRODUCT_DIMENSION",
+	75:  "INVALID_PRODUCT_DIMENSION_TYPE",
+	76:  "INVALID_PRODUCT_BIDDING_CATEGORY",
+	77:  "MISSING_SHOPPING_SETTING",
+	78:  "INVALID_MATCHING_FUNCTION",
+	79:  "LOCATION_FILTER_NOT_ALLOWED",
+	98:  "INVALID_FEED_FOR_LOCATION_FILTER",
+	80:  "LOCATION_FILTER_INVALID",
+	81:  "CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP",
+	82:  "HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION",
+	83:  "HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION",
+	84:  "FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING",
+	85:  "INVALID_WEBPAGE_CONDITION",
+	86:  "INVALID_WEBPAGE_CONDITION_URL",
+	87:  "WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY",
+	88:  "WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL",
+	89:  "WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS",
+	90:  "WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING",
+	91:  "WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX",
+	92:  "WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX",
+	93:  "WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED",
+	94:  "WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION",
+	95:  "WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP",
+	99:  "CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS",
+	100: "LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES",
+	101: "LISTING_SCOPE_TOO_MANY_IN_OPERATORS",
+	102: "LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED",
+	103: "DUPLICATE_LISTING_DIMENSION_TYPE",
+	104: "DUPLICATE_LISTING_DIMENSION_VALUE",
+	105: "CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION",
 }
 
 var CriterionErrorEnum_CriterionError_value = map[string]int32{
@@ -466,6 +484,12 @@
 	"WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION":          94,
 	"WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP":               95,
 	"CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS":               99,
+	"LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES":                            100,
+	"LISTING_SCOPE_TOO_MANY_IN_OPERATORS":                               101,
+	"LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED":                           102,
+	"DUPLICATE_LISTING_DIMENSION_TYPE":                                  103,
+	"DUPLICATE_LISTING_DIMENSION_VALUE":                                 104,
+	"CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION":                      105,
 }
 
 func (x CriterionErrorEnum_CriterionError) String() string {
@@ -518,113 +542,117 @@
 }
 
 var fileDescriptor_333180aa63050caa = []byte{
-	// 1713 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x57, 0xdd, 0x76, 0x1b, 0xb7,
-	0x11, 0xae, 0x9d, 0x36, 0x69, 0xe1, 0x36, 0x41, 0xe0, 0xff, 0x1f, 0x29, 0xb6, 0x62, 0x3b, 0x8e,
-	0xe3, 0x50, 0xb1, 0x15, 0x3b, 0x09, 0x93, 0xb4, 0x05, 0x17, 0x43, 0x12, 0x15, 0x16, 0x80, 0x01,
-	0x2c, 0x25, 0xa6, 0x6a, 0x51, 0xc5, 0xf2, 0xd1, 0xd1, 0x39, 0x89, 0xe8, 0x23, 0xb9, 0x79, 0xa0,
-	0x5e, 0xf6, 0x51, 0xf2, 0x16, 0xbd, 0xed, 0x45, 0x9f, 0xa1, 0x67, 0x76, 0x89, 0x25, 0x96, 0x92,
-	0xed, 0x5c, 0x91, 0x67, 0x66, 0x3e, 0x60, 0x06, 0xf3, 0xcd, 0xcf, 0x92, 0xcf, 0xf7, 0x67, 0xb3,
-	0xfd, 0x1f, 0x9e, 0xaf, 0xef, 0xee, 0x1d, 0xaf, 0x37, 0x7f, 0xf1, 0xdf, 0x4f, 0x1b, 0xeb, 0xcf,
-	0x8f, 0x8e, 0x66, 0x47, 0xc7, 0xeb, 0xcf, 0x8e, 0x0e, 0x5e, 0x3e, 0x3f, 0x3a, 0x98, 0x1d, 0xc6,
-	0x5a, 0xd0, 0x7b, 0x71, 0x34, 0x7b, 0x39, 0x63, 0xab, 0x8d, 0x69, 0x6f, 0x77, 0xef, 0xb8, 0xd7,
-	0xa2, 0x7a, 0x3f, 0x6d, 0xf4, 0x1a, 0xd4, 0xb5, 0x1b, 0xe9, 0xd4, 0x17, 0x07, 0xeb, 0xbb, 0x87,
-	0x87, 0xb3, 0x97, 0xbb, 0x2f, 0x0f, 0x66, 0x87, 0xc7, 0x0d, 0x7a, 0xed, 0x3f, 0x2b, 0x84, 0x15,
-	0xe9, 0x5c, 0x40, 0x04, 0x1c, 0xfe, 0xf3, 0xc7, 0xb5, 0x9f, 0x57, 0xc8, 0xbb, 0x5d, 0x31, 0x7b,
-	0x8f, 0x9c, 0xab, 0xb4, 0xb7, 0x50, 0xc8, 0xa1, 0x04, 0x41, 0x7f, 0xc5, 0xce, 0x91, 0x77, 0x2a,
-	0xbd, 0xa9, 0xcd, 0x96, 0xa6, 0x67, 0xd8, 0x35, 0x72, 0xa9, 0x30, 0xba, 0x70, 0x10, 0x20, 0x86,
-	0xa9, 0x85, 0xe8, 0xe0, 0x69, 0x25, 0x1d, 0x08, 0x7a, 0x96, 0xad, 0x90, 0xab, 0x52, 0x4f, 0xb8,
-	0x92, 0x22, 0xc2, 0x76, 0xa1, 0x2a, 0x01, 0x22, 0x16, 0x3c, 0xc0, 0xc8, 0xb8, 0x29, 0x7d, 0x8b,
-	0x5d, 0x21, 0x17, 0x92, 0x7a, 0x13, 0xa6, 0x5b, 0xc6, 0x89, 0x18, 0x60, 0x3b, 0xd0, 0x5f, 0xb3,
-	0xab, 0xe4, 0x62, 0x2e, 0x89, 0xc1, 0x98, 0xa8, 0x8c, 0x1e, 0xd1, 0xdf, 0xb0, 0x55, 0x72, 0x2d,
-	0xa9, 0xc6, 0xdc, 0xd7, 0x9a, 0x92, 0xeb, 0x69, 0x44, 0x89, 0xa7, 0x6f, 0xe3, 0x9d, 0xb9, 0x3e,
-	0x5d, 0x50, 0x8c, 0xb9, 0xf3, 0xf4, 0x1d, 0x3c, 0x39, 0x89, 0xac, 0xe2, 0x05, 0x94, 0xa0, 0x43,
-	0xac, 0x9c, 0xa2, 0xbf, 0x65, 0x17, 0xc9, 0xfb, 0x49, 0x55, 0x79, 0x70, 0x51, 0x49, 0x1f, 0xe8,
-	0xef, 0x72, 0x44, 0x2d, 0x96, 0x3a, 0x80, 0x03, 0x1f, 0x28, 0x61, 0xb7, 0xc9, 0xcd, 0xa4, 0x1a,
-	0x1a, 0x57, 0xf2, 0x80, 0x3f, 0x4b, 0xe7, 0x9e, 0x43, 0x8f, 0x3a, 0xa2, 0x28, 0xfd, 0x22, 0xa0,
-	0xdf, 0xb3, 0x35, 0xb2, 0xda, 0x55, 0xd7, 0x6e, 0x2b, 0x05, 0x23, 0xae, 0x6a, 0xb7, 0xe9, 0x1f,
-	0xd8, 0x03, 0x72, 0xef, 0xa4, 0x4d, 0x59, 0xa9, 0x20, 0xad, 0x82, 0xe8, 0x65, 0x00, 0x8c, 0x34,
-	0x2a, 0xa9, 0x81, 0xbe, 0xcb, 0xbe, 0x22, 0x8f, 0x17, 0xd6, 0xd2, 0x47, 0x6d, 0x42, 0xe4, 0x13,
-	0x2e, 0x15, 0x1f, 0x28, 0xa8, 0x5d, 0x0c, 0xdc, 0x8d, 0x20, 0x48, 0x3d, 0x8a, 0xc6, 0x35, 0xa9,
-	0xf1, 0xd2, 0x68, 0xfa, 0x1e, 0xbb, 0x44, 0x58, 0x8a, 0x28, 0x18, 0x2b, 0x8b, 0x68, 0x79, 0x18,
-	0x53, 0x8a, 0xaf, 0x9e, 0xe4, 0x53, 0x53, 0x85, 0x6a, 0x00, 0xe8, 0x9a, 0xd6, 0xa0, 0xa2, 0x14,
-	0xf4, 0x7d, 0x76, 0x83, 0x5c, 0x59, 0xd6, 0x4f, 0xa4, 0x00, 0x83, 0x5a, 0xc6, 0x3e, 0x22, 0x1f,
-	0xb6, 0x52, 0x70, 0x41, 0x16, 0x4d, 0x64, 0x35, 0x5c, 0x80, 0x75, 0x80, 0xa4, 0x10, 0xf4, 0x3c,
-	0xbb, 0x4f, 0xee, 0x26, 0x43, 0x01, 0xa5, 0x19, 0x39, 0x6e, 0xc7, 0xb2, 0x38, 0xcd, 0xf6, 0x02,
-	0xbb, 0x4e, 0x2e, 0x27, 0x5b, 0x7c, 0x91, 0x4a, 0xfb, 0xca, 0x5a, 0xe3, 0x50, 0x79, 0x91, 0xdd,
-	0x24, 0x37, 0x0a, 0xae, 0x31, 0xf0, 0x39, 0xf1, 0x62, 0xe1, 0x64, 0x00, 0x27, 0x79, 0x4d, 0x52,
-	0x7a, 0x09, 0x3d, 0x9e, 0x5b, 0x70, 0x21, 0x96, 0xb4, 0x97, 0x91, 0xd5, 0x2d, 0x4d, 0x9c, 0x11,
-	0x55, 0x11, 0xe2, 0x50, 0xaa, 0x00, 0x8e, 0x5e, 0xc1, 0x8b, 0xbb, 0xb2, 0x45, 0x36, 0xaf, 0x22,
-	0x25, 0x96, 0x2e, 0xf6, 0xb2, 0x94, 0x8a, 0xbb, 0x8c, 0x53, 0xd7, 0xd8, 0x07, 0xe4, 0x7a, 0x7e,
-	0xb9, 0x32, 0x1e, 0x72, 0xd2, 0x5d, 0x67, 0x7d, 0xf2, 0x24, 0x33, 0x10, 0xd2, 0x5b, 0xc5, 0xa7,
-	0xd1, 0x68, 0x35, 0xad, 0x2d, 0x90, 0x40, 0xd1, 0x03, 0x77, 0xc5, 0xb8, 0x11, 0x16, 0xbc, 0xb4,
-	0x5c, 0x8e, 0xb4, 0xa7, 0x37, 0xd8, 0x63, 0xf2, 0xf0, 0x97, 0x62, 0x17, 0xb0, 0x15, 0xf6, 0x05,
-	0xd9, 0x78, 0x33, 0x6c, 0x6c, 0xac, 0x45, 0xda, 0x2c, 0x80, 0xab, 0xec, 0x21, 0xf9, 0x34, 0x03,
-	0x76, 0x6a, 0xe4, 0xf4, 0xbb, 0x3e, 0x40, 0x86, 0xce, 0x21, 0x1e, 0x42, 0x1c, 0x48, 0xe1, 0xa3,
-	0xd1, 0x29, 0x09, 0x46, 0x37, 0x8d, 0x44, 0xea, 0x93, 0xd0, 0x9b, 0x4b, 0x6e, 0x56, 0x4e, 0xd5,
-	0x77, 0x2c, 0x41, 0x91, 0xe3, 0x09, 0xd4, 0xa4, 0xf4, 0x16, 0xa6, 0xad, 0x6d, 0x06, 0x95, 0x0f,
-	0xa6, 0x8c, 0x7c, 0x38, 0x94, 0x5a, 0x86, 0x29, 0xfd, 0x47, 0x5e, 0xe4, 0x73, 0x25, 0x86, 0xa0,
-	0x03, 0xdd, 0xcd, 0x4b, 0x42, 0x5a, 0xbc, 0xd4, 0x81, 0xf7, 0x74, 0x2d, 0x6f, 0x17, 0xd2, 0xce,
-	0xeb, 0x9f, 0x7e, 0x98, 0x9b, 0x97, 0x66, 0x20, 0x15, 0x44, 0x6e, 0x2d, 0xbd, 0x8d, 0x29, 0x3f,
-	0x29, 0x5f, 0x74, 0xc3, 0x3b, 0x79, 0x37, 0x5c, 0x44, 0x23, 0x05, 0xbd, 0x8b, 0x9e, 0xcf, 0x43,
-	0x6e, 0xea, 0x76, 0xa1, 0xa7, 0x1f, 0x65, 0x84, 0x9b, 0x2b, 0xcd, 0xc0, 0x1b, 0x85, 0xdd, 0x78,
-	0x61, 0x75, 0x0f, 0x9b, 0x4c, 0x7e, 0x68, 0xe4, 0x5a, 0x34, 0x2f, 0x55, 0x4a, 0x5f, 0xf2, 0x50,
-	0x8c, 0xe9, 0xc7, 0x79, 0x0d, 0x5b, 0x67, 0xb6, 0x65, 0x29, 0xc3, 0x34, 0x3a, 0x2e, 0x64, 0xe5,
-	0xe9, 0x7d, 0x3c, 0xe1, 0x55, 0xda, 0x58, 0x69, 0x19, 0x3c, 0xfd, 0x04, 0xab, 0x2e, 0xd9, 0xf8,
-	0xe0, 0x00, 0xc2, 0xfc, 0xb5, 0xa2, 0x02, 0x3d, 0x0a, 0x63, 0xfa, 0xa0, 0x93, 0x04, 0x19, 0xa6,
-	0x9a, 0x97, 0x90, 0x94, 0x9f, 0xe6, 0xe3, 0xc2, 0xc1, 0x48, 0x1a, 0x5d, 0x18, 0xd1, 0xaa, 0x7b,
-	0x27, 0xd5, 0x39, 0x7a, 0x3d, 0x57, 0x5b, 0xe3, 0x03, 0x57, 0x39, 0xfa, 0xb3, 0xce, 0xf3, 0x9a,
-	0x4a, 0x07, 0x37, 0x8d, 0x68, 0x40, 0x1f, 0xb2, 0x0b, 0x84, 0x26, 0x8d, 0xe2, 0x41, 0x86, 0x4a,
-	0x00, 0x7d, 0x94, 0xa7, 0x17, 0x4b, 0xbb, 0x11, 0x6f, 0xb0, 0x27, 0xe4, 0xd1, 0x22, 0xfc, 0x11,
-	0x18, 0x6b, 0xa4, 0x0e, 0xf5, 0x73, 0xa6, 0x58, 0x07, 0x26, 0x20, 0x63, 0xeb, 0x94, 0x0c, 0x20,
-	0xea, 0x4a, 0x29, 0xfa, 0x79, 0xc7, 0xbb, 0x16, 0x9f, 0xc8, 0xf4, 0x38, 0x7f, 0xfb, 0xba, 0x80,
-	0x84, 0x29, 0xb9, 0xd4, 0x11, 0x23, 0xa4, 0x4f, 0xea, 0x6e, 0xd6, 0x66, 0xcf, 0x72, 0xc7, 0x4b,
-	0xe8, 0xb4, 0x9d, 0x2f, 0xd8, 0x5d, 0xb2, 0xc6, 0x45, 0xf4, 0xc5, 0x18, 0x44, 0xa5, 0x20, 0x06,
-	0x59, 0x42, 0x53, 0x84, 0x13, 0xae, 0x7c, 0x34, 0x13, 0x70, 0x8a, 0x5b, 0xfa, 0x25, 0x7b, 0x44,
-	0x7a, 0xb9, 0x5d, 0x32, 0x49, 0xfe, 0x7a, 0xcb, 0xf5, 0x62, 0xae, 0x08, 0x3e, 0xf5, 0xf4, 0x2b,
-	0x76, 0x87, 0xdc, 0xea, 0x62, 0xe6, 0xf3, 0x21, 0xbf, 0x83, 0xf6, 0xd9, 0x67, 0xe4, 0x41, 0x6e,
-	0x06, 0xdb, 0x05, 0x00, 0x0e, 0xfc, 0x85, 0x1b, 0x16, 0x03, 0xe3, 0xd8, 0x4e, 0x4a, 0x19, 0xe8,
-	0xd7, 0x6c, 0x9d, 0x7c, 0x92, 0x23, 0x3a, 0x04, 0x4d, 0xbc, 0xc4, 0x66, 0x33, 0x94, 0xa0, 0x84,
-	0xa7, 0xdf, 0x64, 0x5c, 0x1f, 0xd4, 0x65, 0x24, 0xe4, 0x70, 0xba, 0x54, 0xfa, 0xf4, 0x5b, 0x8c,
-	0xf1, 0x75, 0x56, 0x6d, 0x5f, 0x30, 0x36, 0x80, 0x88, 0xa6, 0x0a, 0xf4, 0x8f, 0xec, 0x1e, 0xb9,
-	0x7d, 0x12, 0xa3, 0x61, 0xc4, 0x83, 0x9c, 0xe4, 0x95, 0xf4, 0x27, 0xac, 0xe3, 0xd6, 0x44, 0x82,
-	0x8b, 0x5c, 0x39, 0xe0, 0x62, 0x1a, 0x61, 0x1b, 0x9b, 0x24, 0xfd, 0x33, 0xbb, 0x4c, 0xce, 0x0f,
-	0x01, 0xe3, 0x16, 0xcd, 0xe0, 0x55, 0xca, 0x6c, 0x81, 0xa0, 0x1c, 0xef, 0xe0, 0x45, 0xcd, 0xbd,
-	0x28, 0x35, 0x28, 0x39, 0x92, 0x69, 0x1c, 0x77, 0xa7, 0xcf, 0x80, 0xf5, 0xc8, 0xfd, 0x8e, 0x28,
-	0x66, 0x5b, 0x06, 0x3a, 0x28, 0xf0, 0x55, 0x7c, 0x70, 0xd8, 0x3c, 0xa6, 0xb4, 0xc8, 0x66, 0xd9,
-	0xd2, 0xb4, 0x33, 0x9a, 0x8a, 0xac, 0x7d, 0x38, 0x28, 0x4d, 0x27, 0x1c, 0xc0, 0x41, 0x97, 0x86,
-	0x99, 0x2f, 0x8c, 0x85, 0x05, 0xa9, 0x86, 0x98, 0xf8, 0x93, 0xba, 0x7a, 0xd9, 0x12, 0xb2, 0x04,
-	0x8d, 0x2b, 0x83, 0xa7, 0x23, 0xdc, 0x0d, 0x92, 0x99, 0xe5, 0x2e, 0xc8, 0x50, 0xe7, 0x22, 0x1d,
-	0x33, 0x66, 0x1f, 0x93, 0x3b, 0xa7, 0xeb, 0x97, 0x8f, 0x92, 0x4b, 0x55, 0x52, 0x43, 0x5a, 0x3d,
-	0xfd, 0xcb, 0x52, 0x0f, 0xea, 0xaa, 0x9b, 0xb7, 0xdb, 0xcc, 0x77, 0xb2, 0x64, 0x93, 0x5e, 0xac,
-	0x6d, 0xb6, 0x0a, 0x5f, 0xac, 0x94, 0xde, 0xd7, 0xef, 0x98, 0x66, 0x9a, 0x87, 0x80, 0x2b, 0x11,
-	0x2d, 0x73, 0x37, 0x16, 0x24, 0xac, 0x74, 0x81, 0x9e, 0x53, 0x8d, 0x14, 0x50, 0xa6, 0xe0, 0x75,
-	0x1c, 0xf3, 0x0d, 0x20, 0xcf, 0xb4, 0xe9, 0xec, 0x85, 0x48, 0x05, 0x4c, 0xdb, 0x12, 0x82, 0x7e,
-	0x8f, 0x79, 0x59, 0x3e, 0x66, 0x8e, 0xa2, 0x36, 0x23, 0x31, 0x0f, 0x81, 0xe3, 0x0c, 0x4c, 0x84,
-	0xe0, 0x61, 0x41, 0xe1, 0xa6, 0xef, 0x8c, 0x9c, 0xa9, 0x2c, 0x7d, 0x8a, 0x53, 0x75, 0x6c, 0x02,
-	0xa8, 0x79, 0xd3, 0x8b, 0x66, 0x18, 0x7d, 0xc0, 0x19, 0xde, 0x94, 0xbf, 0x8f, 0x5b, 0x32, 0x8c,
-	0x1b, 0xa2, 0xd6, 0xcf, 0xd1, 0xd2, 0xc0, 0x31, 0x4e, 0xbe, 0x6d, 0xa0, 0x5c, 0x4c, 0xb8, 0x2e,
-	0x20, 0x0e, 0x8c, 0xd9, 0x44, 0xa3, 0x2d, 0xa9, 0x85, 0xd9, 0x7a, 0xf3, 0x11, 0x1e, 0x49, 0x5b,
-	0x17, 0x6a, 0x94, 0xba, 0x30, 0xa5, 0xe5, 0xa1, 0xa6, 0x77, 0x6d, 0xdf, 0x16, 0x52, 0xbb, 0x77,
-	0xd2, 0x90, 0x3f, 0xf2, 0x16, 0x0c, 0x2c, 0x1f, 0x41, 0x2c, 0x8c, 0x16, 0x35, 0x3d, 0x68, 0xc5,
-	0x6e, 0x91, 0x95, 0x57, 0xaa, 0xeb, 0xc5, 0x7a, 0x82, 0xc4, 0x3a, 0x55, 0x95, 0x75, 0x5f, 0x28,
-	0x6d, 0x98, 0xd2, 0x2d, 0x74, 0xee, 0x74, 0xd3, 0x6c, 0x6d, 0x44, 0xbe, 0x04, 0x53, 0x18, 0x45,
-	0xb7, 0x5f, 0x6d, 0xbf, 0x38, 0x3a, 0x5b, 0x06, 0xa6, 0x0c, 0x08, 0x3f, 0xdd, 0x3e, 0x35, 0x72,
-	0x13, 0x50, 0xe1, 0xa5, 0xc7, 0xad, 0xa2, 0x79, 0x95, 0x36, 0x8b, 0x89, 0x78, 0xdf, 0xe1, 0x2a,
-	0xf5, 0xa6, 0x6b, 0x6d, 0x35, 0x50, 0xb2, 0x88, 0xbe, 0x1a, 0x0e, 0xe5, 0x36, 0xfd, 0x2b, 0x36,
-	0xd1, 0xd3, 0x21, 0x6d, 0x15, 0x74, 0x00, 0x3b, 0xc8, 0x92, 0xd3, 0x01, 0x13, 0xae, 0x2a, 0x88,
-	0xc1, 0xf1, 0x62, 0x73, 0xfe, 0xbf, 0x1e, 0x09, 0xed, 0x56, 0xfd, 0x37, 0xf6, 0x0d, 0xf9, 0xb2,
-	0x85, 0xb6, 0xfd, 0x14, 0xa1, 0xf0, 0xb4, 0xc2, 0x06, 0x5f, 0x70, 0x1d, 0xc7, 0x7c, 0x02, 0xcd,
-	0xd6, 0x68, 0x74, 0x9e, 0xd1, 0xbf, 0xe3, 0xe6, 0x76, 0x12, 0xdd, 0xb9, 0x22, 0xd6, 0x02, 0x1d,
-	0x85, 0xe7, 0x91, 0x8b, 0xd8, 0xf0, 0x3a, 0x66, 0x2b, 0xdf, 0x7c, 0xc5, 0x69, 0x37, 0xe5, 0xba,
-	0xb2, 0x7c, 0xc9, 0x5d, 0x68, 0x17, 0xd6, 0xc5, 0xae, 0xf8, 0x6c, 0xf0, 0xbf, 0x33, 0x64, 0xed,
-	0xd9, 0xec, 0xc7, 0xde, 0xeb, 0x3f, 0x94, 0x07, 0xe7, 0xbb, 0x1f, 0xbc, 0x16, 0xbf, 0x8f, 0xed,
-	0x99, 0xef, 0xc4, 0x1c, 0xb6, 0x3f, 0xfb, 0x61, 0xf7, 0x70, 0xbf, 0x37, 0x3b, 0xda, 0x5f, 0xdf,
-	0x7f, 0x7e, 0x58, 0x7f, 0x3d, 0xa7, 0xaf, 0xf4, 0x17, 0x07, 0xc7, 0xaf, 0xfa, 0x68, 0xff, 0xba,
-	0xf9, 0xf9, 0xd7, 0xd9, 0xb7, 0x46, 0x9c, 0xff, 0xfb, 0xec, 0xea, 0xa8, 0x39, 0x8c, 0xef, 0x1d,
-	0xf7, 0x9a, 0xbf, 0xf8, 0x6f, 0xb2, 0xd1, 0xab, 0xaf, 0x3c, 0xfe, 0x39, 0x19, 0xec, 0xf0, 0xbd,
-	0xe3, 0x9d, 0xd6, 0x60, 0x67, 0xb2, 0xb1, 0xd3, 0x18, 0xfc, 0xf7, 0xec, 0x5a, 0x23, 0xed, 0xf7,
-	0xf9, 0xde, 0x71, 0xbf, 0xdf, 0x9a, 0xf4, 0xfb, 0x93, 0x8d, 0x7e, 0xbf, 0x31, 0xfa, 0xfe, 0xed,
-	0xda, 0xbb, 0x8d, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x23, 0x9a, 0xd9, 0x51, 0x10, 0x00,
-	0x00,
+	// 1792 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x58, 0xdb, 0x76, 0x1b, 0xb7,
+	0x15, 0xad, 0x9d, 0x36, 0x69, 0xe1, 0x36, 0x41, 0xe0, 0xfb, 0x4d, 0xb6, 0x15, 0xdf, 0x62, 0x3b,
+	0x54, 0x6c, 0xc5, 0x4e, 0xc2, 0x24, 0x6d, 0xc1, 0xc1, 0x21, 0x89, 0x0a, 0x03, 0x8c, 0x01, 0x0c,
+	0x25, 0xa6, 0x6a, 0x51, 0xc5, 0x52, 0x55, 0xad, 0x95, 0x88, 0x5e, 0xa2, 0x9a, 0x0f, 0xea, 0x63,
+	0x3f, 0xa5, 0xfd, 0x8b, 0x3e, 0xf6, 0xa1, 0xdf, 0xd0, 0x75, 0x30, 0x9c, 0x21, 0x86, 0xa2, 0xec,
+	0x3c, 0x69, 0x16, 0xce, 0xde, 0xb8, 0x9c, 0xb3, 0xcf, 0x45, 0x24, 0x9f, 0xed, 0x4f, 0x26, 0xfb,
+	0xdf, 0xef, 0xad, 0xed, 0xec, 0x4e, 0xd7, 0xaa, 0x4f, 0xfc, 0xfa, 0x71, 0x7d, 0x6d, 0xef, 0xe8,
+	0x68, 0x72, 0x34, 0x5d, 0x7b, 0x75, 0x74, 0x70, 0xbc, 0x77, 0x74, 0x30, 0x39, 0x0c, 0x71, 0xa1,
+	0xf3, 0xfa, 0x68, 0x72, 0x3c, 0x61, 0x2b, 0x15, 0xb4, 0xb3, 0xb3, 0x3b, 0xed, 0x34, 0xac, 0xce,
+	0x8f, 0xeb, 0x9d, 0x8a, 0x75, 0xed, 0x46, 0xbd, 0xeb, 0xeb, 0x83, 0xb5, 0x9d, 0xc3, 0xc3, 0xc9,
+	0xf1, 0xce, 0xf1, 0xc1, 0xe4, 0x70, 0x5a, 0xb1, 0x57, 0xff, 0x73, 0x8b, 0xb0, 0xac, 0xde, 0x17,
+	0x90, 0x01, 0x87, 0x7f, 0xff, 0x61, 0xf5, 0xdf, 0xb7, 0xc8, 0xfb, 0xed, 0x65, 0xf6, 0x01, 0x39,
+	0x57, 0x6a, 0x57, 0x40, 0x26, 0xfb, 0x12, 0x04, 0xfd, 0x19, 0x3b, 0x47, 0xde, 0x2b, 0xf5, 0x86,
+	0x36, 0x9b, 0x9a, 0x9e, 0x61, 0xd7, 0xc8, 0xa5, 0xcc, 0xe8, 0xcc, 0x82, 0x87, 0xe0, 0xc7, 0x05,
+	0x04, 0x0b, 0x2f, 0x4b, 0x69, 0x41, 0xd0, 0xb3, 0xec, 0x26, 0xb9, 0x2a, 0xf5, 0x88, 0x2b, 0x29,
+	0x02, 0x6c, 0x65, 0xaa, 0x14, 0x20, 0x42, 0xc6, 0x3d, 0x0c, 0x8c, 0x1d, 0xd3, 0x77, 0xd8, 0x15,
+	0x72, 0xa1, 0x36, 0x6f, 0xc0, 0x78, 0xd3, 0x58, 0x11, 0x3c, 0x6c, 0x79, 0xfa, 0x73, 0x76, 0x95,
+	0x5c, 0x4c, 0x57, 0x82, 0x37, 0x26, 0x28, 0xa3, 0x07, 0xf4, 0x17, 0x6c, 0x85, 0x5c, 0xab, 0x4d,
+	0x43, 0xee, 0xa2, 0x25, 0xe7, 0x7a, 0x1c, 0x70, 0xc5, 0xd1, 0x77, 0xf1, 0xcc, 0xd4, 0x5e, 0x1f,
+	0x90, 0x0d, 0xb9, 0x75, 0xf4, 0x3d, 0xdc, 0xb9, 0x5e, 0x2a, 0x14, 0xcf, 0x20, 0x07, 0xed, 0x43,
+	0x69, 0x15, 0xfd, 0x25, 0xbb, 0x48, 0x3e, 0xac, 0x4d, 0xa5, 0x03, 0x1b, 0x94, 0x74, 0x9e, 0xfe,
+	0x2a, 0x65, 0xc4, 0x65, 0xa9, 0x3d, 0x58, 0x70, 0x9e, 0x12, 0x76, 0x97, 0xdc, 0xae, 0x4d, 0x7d,
+	0x63, 0x73, 0xee, 0xf1, 0xcf, 0xc2, 0xbe, 0xe7, 0xf0, 0x46, 0xad, 0xa5, 0x20, 0xdd, 0xfc, 0x41,
+	0xbf, 0x66, 0xab, 0x64, 0xa5, 0x6d, 0x8e, 0xd7, 0x56, 0x0a, 0x06, 0x5c, 0xc5, 0x6b, 0xd3, 0xdf,
+	0xb0, 0x27, 0xe4, 0xe1, 0x49, 0x4c, 0x5e, 0x2a, 0x2f, 0x0b, 0x05, 0xc1, 0x49, 0x0f, 0xf8, 0xd2,
+	0xa0, 0xa4, 0x06, 0xfa, 0x3e, 0xfb, 0x92, 0x3c, 0x9f, 0xa3, 0xa5, 0x0b, 0xda, 0xf8, 0xc0, 0x47,
+	0x5c, 0x2a, 0xde, 0x53, 0x10, 0xaf, 0xe8, 0xb9, 0x1d, 0x80, 0x97, 0x7a, 0x10, 0x8c, 0xad, 0x42,
+	0xe3, 0xa4, 0xd1, 0xf4, 0x03, 0x76, 0x89, 0xb0, 0xfa, 0x45, 0xde, 0x14, 0x32, 0x0b, 0x05, 0xf7,
+	0x43, 0x4a, 0xd1, 0xeb, 0xf5, 0xfa, 0xd8, 0x94, 0xbe, 0xec, 0x01, 0x5e, 0x4d, 0x6b, 0x50, 0x41,
+	0x0a, 0xfa, 0x21, 0xbb, 0x41, 0xae, 0x2c, 0xda, 0x47, 0x52, 0x80, 0x41, 0x2b, 0x63, 0x0f, 0xc8,
+	0x47, 0xcd, 0x2a, 0x58, 0x2f, 0xb3, 0xea, 0x65, 0x91, 0x2e, 0xa0, 0xb0, 0x80, 0xa2, 0x10, 0xf4,
+	0x3c, 0x7b, 0x44, 0xee, 0xd7, 0x40, 0x01, 0xb9, 0x19, 0x58, 0x5e, 0x0c, 0x65, 0xb6, 0x0c, 0x7b,
+	0x81, 0x5d, 0x27, 0x97, 0x6b, 0x2c, 0x7a, 0xa4, 0xd4, 0xae, 0x2c, 0x0a, 0x63, 0xd1, 0x78, 0x91,
+	0xdd, 0x26, 0x37, 0x32, 0xae, 0xf1, 0xe1, 0x33, 0xe1, 0x85, 0xcc, 0x4a, 0x0f, 0x56, 0xf2, 0x28,
+	0x52, 0x7a, 0x09, 0x6f, 0x3c, 0x43, 0x70, 0x21, 0x16, 0xac, 0x97, 0x51, 0xd5, 0x8d, 0x4c, 0xac,
+	0x11, 0x65, 0xe6, 0x43, 0x5f, 0x2a, 0x0f, 0x96, 0x5e, 0xc1, 0x83, 0xdb, 0x6b, 0xf3, 0x68, 0x5e,
+	0x45, 0x49, 0x2c, 0x1c, 0xec, 0x64, 0x2e, 0x15, 0xb7, 0x89, 0xa6, 0xae, 0xb1, 0x5b, 0xe4, 0x7a,
+	0x7a, 0xb8, 0x32, 0x0e, 0x52, 0xd1, 0x5d, 0x67, 0x5d, 0xf2, 0x22, 0x01, 0x08, 0xe9, 0x0a, 0xc5,
+	0xc7, 0xc1, 0x68, 0x35, 0x8e, 0x08, 0x14, 0x50, 0x70, 0xc0, 0x6d, 0x36, 0xac, 0x16, 0x33, 0x9e,
+	0x17, 0x5c, 0x0e, 0xb4, 0xa3, 0x37, 0xd8, 0x73, 0xf2, 0xf4, 0xa7, 0x72, 0xe7, 0xb4, 0x9b, 0xec,
+	0x73, 0xb2, 0xfe, 0x76, 0xda, 0xd0, 0x14, 0x05, 0xca, 0x66, 0x4e, 0x5c, 0x61, 0x4f, 0xc9, 0x27,
+	0x09, 0xb1, 0x95, 0x23, 0xcb, 0xcf, 0xba, 0x85, 0x0a, 0x9d, 0x51, 0x1c, 0xf8, 0xd0, 0x93, 0xc2,
+	0x05, 0xa3, 0xeb, 0x20, 0x18, 0x5d, 0x15, 0x12, 0xa9, 0x4f, 0x52, 0x6f, 0x2f, 0x5c, 0xb3, 0xb4,
+	0x2a, 0x9e, 0xb1, 0x40, 0x45, 0x8d, 0xd7, 0xa4, 0x2a, 0xa4, 0x77, 0x30, 0x6c, 0x4d, 0x31, 0x28,
+	0x9d, 0x37, 0x79, 0xe0, 0xfd, 0xbe, 0xd4, 0xd2, 0x8f, 0xe9, 0x5f, 0xd2, 0x24, 0x9f, 0x19, 0xf1,
+	0x09, 0xda, 0xd3, 0x9d, 0x34, 0x25, 0x64, 0x81, 0x87, 0x5a, 0x70, 0x8e, 0xae, 0xa6, 0xe5, 0x42,
+	0x16, 0xb3, 0xfc, 0xa7, 0x1f, 0xa5, 0xf0, 0xdc, 0xf4, 0xa4, 0x82, 0xc0, 0x8b, 0x82, 0xde, 0xc5,
+	0x90, 0x9f, 0x5c, 0x9f, 0x57, 0xc3, 0x7b, 0x69, 0x35, 0x9c, 0xbf, 0x46, 0x0a, 0x7a, 0x1f, 0x6f,
+	0x3e, 0x7b, 0x72, 0x95, 0xb7, 0x73, 0x3b, 0x7d, 0x90, 0x08, 0x6e, 0x66, 0x34, 0x3d, 0x67, 0x14,
+	0x56, 0xe3, 0x39, 0xea, 0x21, 0x16, 0x99, 0x74, 0xd3, 0xc0, 0xb5, 0xa8, 0x3c, 0x95, 0x4b, 0x97,
+	0x73, 0x9f, 0x0d, 0xe9, 0xc7, 0x69, 0x0e, 0x17, 0xd6, 0x6c, 0xc9, 0x5c, 0xfa, 0x71, 0xb0, 0x5c,
+	0xc8, 0xd2, 0xd1, 0x47, 0xb8, 0xc3, 0x69, 0xd6, 0x50, 0x6a, 0xe9, 0x1d, 0x7d, 0x8c, 0x59, 0x57,
+	0x63, 0x9c, 0xb7, 0x00, 0x7e, 0xe6, 0xad, 0xa0, 0x40, 0x0f, 0xfc, 0x90, 0x3e, 0x69, 0x05, 0x41,
+	0xfa, 0xb1, 0xe6, 0x39, 0xd4, 0xc6, 0x4f, 0xd2, 0x76, 0x61, 0x61, 0x20, 0x8d, 0xce, 0x8c, 0x68,
+	0xcc, 0x9d, 0x93, 0xe6, 0x94, 0xbd, 0x96, 0x9a, 0x0b, 0xe3, 0x3c, 0x57, 0x29, 0xfb, 0xd3, 0x96,
+	0x7b, 0x4d, 0xa9, 0xbd, 0x1d, 0x07, 0x04, 0xd0, 0xa7, 0xec, 0x02, 0xa1, 0xb5, 0x45, 0x71, 0x2f,
+	0x7d, 0x29, 0x80, 0x3e, 0x4b, 0xc3, 0x8b, 0xa9, 0x5d, 0x2d, 0xaf, 0xb3, 0x17, 0xe4, 0xd9, 0xfc,
+	0xf9, 0x03, 0x30, 0x85, 0x91, 0xda, 0x47, 0x77, 0xd6, 0x6f, 0xed, 0x19, 0x8f, 0x8a, 0x8d, 0x21,
+	0xe9, 0x41, 0xd0, 0xa5, 0x52, 0xf4, 0xb3, 0xd6, 0xed, 0x1a, 0x7e, 0x2d, 0xa6, 0xe7, 0xa9, 0xef,
+	0x63, 0x02, 0x09, 0x93, 0x73, 0xa9, 0x03, 0xbe, 0x90, 0xbe, 0x88, 0xd5, 0xac, 0x89, 0x5e, 0xc1,
+	0x2d, 0xcf, 0xa1, 0x55, 0x76, 0x3e, 0x67, 0xf7, 0xc9, 0x2a, 0x17, 0xc1, 0x65, 0x43, 0x10, 0xa5,
+	0x82, 0xe0, 0x65, 0x0e, 0x55, 0x12, 0x8e, 0xb8, 0x72, 0xc1, 0x8c, 0xc0, 0x2a, 0x5e, 0xd0, 0x2f,
+	0xd8, 0x33, 0xd2, 0x49, 0x71, 0x35, 0xa4, 0xbe, 0xaf, 0x2b, 0xb8, 0x9e, 0xf7, 0x15, 0xc1, 0xc7,
+	0x8e, 0x7e, 0xc9, 0xee, 0x91, 0x3b, 0x6d, 0xce, 0xac, 0x3f, 0xa4, 0x67, 0xd0, 0x2e, 0xfb, 0x94,
+	0x3c, 0x49, 0x61, 0xb0, 0x95, 0x01, 0x60, 0xc3, 0x9f, 0x5f, 0xa3, 0xc0, 0x87, 0x71, 0x2c, 0x27,
+	0xb9, 0xf4, 0xf4, 0x2b, 0xb6, 0x46, 0x1e, 0xa7, 0x8c, 0x96, 0x40, 0x6b, 0x5d, 0x62, 0xb1, 0xe9,
+	0x4b, 0x50, 0xc2, 0xd1, 0xaf, 0x13, 0xad, 0xf7, 0x62, 0x1a, 0x09, 0xd9, 0x1f, 0x2f, 0xa4, 0x3e,
+	0xfd, 0x06, 0xdf, 0xf8, 0x26, 0x54, 0x53, 0x17, 0x4c, 0xe1, 0x41, 0x04, 0x53, 0x7a, 0xfa, 0x5b,
+	0xf6, 0x90, 0xdc, 0x3d, 0xc9, 0xd1, 0x30, 0xe0, 0x5e, 0x8e, 0xd2, 0x4c, 0xfa, 0x1d, 0xe6, 0x71,
+	0x03, 0x91, 0x60, 0x03, 0x57, 0x16, 0xb8, 0x18, 0x07, 0xd8, 0xc2, 0x22, 0x49, 0x7f, 0xcf, 0x2e,
+	0x93, 0xf3, 0x7d, 0xc0, 0x77, 0x8b, 0xaa, 0xf1, 0x2a, 0x65, 0x36, 0x41, 0x50, 0x8e, 0x67, 0xf0,
+	0x2c, 0x6a, 0x2f, 0x48, 0x0d, 0x4a, 0x0e, 0x64, 0xdd, 0x8e, 0xdb, 0xdd, 0xa7, 0xc7, 0x3a, 0xe4,
+	0x51, 0x6b, 0x29, 0x24, 0x53, 0x06, 0x5e, 0x50, 0xa0, 0x57, 0x9c, 0xb7, 0x58, 0x3c, 0xc6, 0x34,
+	0x4b, 0x7a, 0xd9, 0x42, 0xb7, 0x33, 0x9a, 0x8a, 0xa4, 0x7c, 0x58, 0xc8, 0x4d, 0xeb, 0x39, 0x80,
+	0x8d, 0xae, 0x6e, 0x66, 0x2e, 0x33, 0x05, 0xcc, 0x45, 0xd5, 0xc7, 0xc0, 0x9f, 0xb4, 0xc5, 0x61,
+	0x4b, 0xc8, 0x1c, 0x34, 0x8e, 0x0c, 0x8e, 0x0e, 0x70, 0x36, 0xa8, 0x61, 0x05, 0xb7, 0x5e, 0xfa,
+	0x18, 0x8b, 0x7a, 0x9b, 0x21, 0xfb, 0x98, 0xdc, 0x5b, 0x6e, 0x5f, 0xdc, 0x4a, 0x2e, 0x64, 0x49,
+	0xa4, 0x34, 0x76, 0xfa, 0x87, 0x85, 0x1a, 0xd4, 0x36, 0x57, 0xbe, 0xdb, 0x48, 0x67, 0xb2, 0x1a,
+	0x53, 0x7b, 0xac, 0x29, 0xb6, 0x0a, 0x3d, 0x96, 0x4b, 0xe7, 0xa2, 0x1f, 0xeb, 0x9e, 0xe6, 0xc0,
+	0xe3, 0x48, 0x44, 0xf3, 0xf4, 0x1a, 0x73, 0x11, 0x96, 0x3a, 0xc3, 0x9b, 0x53, 0x8d, 0x12, 0x50,
+	0x26, 0xe3, 0xf1, 0x1d, 0xb3, 0x09, 0x20, 0x8d, 0xb4, 0x69, 0xcd, 0x85, 0x28, 0x05, 0x0c, 0xdb,
+	0x02, 0x83, 0x7e, 0x87, 0x71, 0x59, 0xdc, 0x66, 0xc6, 0xa2, 0x45, 0x22, 0x62, 0xee, 0x3d, 0xc7,
+	0x1e, 0x58, 0x0b, 0x82, 0xfb, 0xb9, 0x84, 0xab, 0xba, 0x33, 0xb0, 0xa6, 0x2c, 0xe8, 0x4b, 0xec,
+	0xaa, 0x43, 0xe3, 0x41, 0xcd, 0x8a, 0x5e, 0x30, 0xfd, 0xe0, 0x3c, 0xf6, 0xf0, 0x2a, 0xfd, 0x5d,
+	0xd8, 0x94, 0x7e, 0x58, 0x09, 0x35, 0xba, 0xa3, 0x91, 0x81, 0x65, 0x9c, 0x7c, 0x53, 0x51, 0xb9,
+	0x18, 0x71, 0x9d, 0x41, 0xe8, 0x19, 0xb3, 0x81, 0xa0, 0x4d, 0xa9, 0x85, 0xd9, 0x7c, 0xfb, 0x16,
+	0x0e, 0x45, 0x1b, 0x13, 0x35, 0x48, 0x9d, 0x99, 0xbc, 0xe0, 0x3e, 0xca, 0x3b, 0xe2, 0x9b, 0x44,
+	0x6a, 0xe6, 0x4e, 0xea, 0x53, 0x27, 0x6f, 0x42, 0xaf, 0xe0, 0x03, 0x08, 0x99, 0xd1, 0x22, 0xca,
+	0x83, 0x96, 0xec, 0x0e, 0xb9, 0x79, 0xaa, 0x39, 0x0e, 0xd6, 0x23, 0x14, 0xd6, 0x52, 0x53, 0x52,
+	0x7d, 0x21, 0x2f, 0xfc, 0x98, 0x6e, 0xe2, 0xe5, 0x96, 0x43, 0x93, 0xb1, 0x11, 0xf5, 0xe2, 0x4d,
+	0x66, 0x14, 0xdd, 0x3a, 0x1d, 0x3f, 0xdf, 0x3a, 0x19, 0x06, 0xc6, 0x0c, 0x08, 0x5f, 0x8e, 0xaf,
+	0x0b, 0xb9, 0xf1, 0x68, 0x70, 0xd2, 0xe1, 0x54, 0x51, 0x79, 0xa5, 0x89, 0x62, 0x2d, 0xbc, 0x6f,
+	0x71, 0x94, 0x7a, 0xdb, 0xb1, 0x45, 0xd9, 0x53, 0x32, 0x0b, 0xae, 0xec, 0xf7, 0xe5, 0x16, 0xfd,
+	0x23, 0x16, 0xd1, 0xe5, 0x94, 0x26, 0x0b, 0x5a, 0x84, 0x6d, 0x54, 0xc9, 0x72, 0xc2, 0x88, 0xab,
+	0x12, 0x82, 0xb7, 0x3c, 0xdb, 0x98, 0x7d, 0xc7, 0x96, 0xd0, 0x4c, 0xd5, 0x7f, 0x62, 0x5f, 0x93,
+	0x2f, 0x1a, 0x6a, 0x53, 0x4f, 0x91, 0x0a, 0x2f, 0x4b, 0x2c, 0xf0, 0x19, 0xd7, 0x61, 0xc8, 0x47,
+	0x50, 0x4d, 0x8d, 0x46, 0xa7, 0x11, 0xfd, 0x33, 0x4e, 0x6e, 0x27, 0xd9, 0xad, 0x23, 0x42, 0x5c,
+	0xd0, 0x41, 0x38, 0x1e, 0xb8, 0x08, 0x95, 0xae, 0x43, 0x32, 0xf2, 0xcd, 0x46, 0x9c, 0x66, 0x52,
+	0x8e, 0x99, 0xe5, 0x72, 0x6e, 0x7d, 0x33, 0xb0, 0xce, 0x67, 0xc5, 0x57, 0xf8, 0xef, 0x84, 0x9a,
+	0x29, 0xf5, 0xb4, 0x02, 0x16, 0xcb, 0x86, 0xa3, 0xbb, 0xf8, 0x3f, 0xca, 0x29, 0x58, 0x89, 0xad,
+	0x02, 0x2c, 0xf7, 0xc6, 0x3a, 0xba, 0xc7, 0x1e, 0x93, 0x07, 0x6d, 0x60, 0x62, 0x5f, 0xf0, 0xd8,
+	0x5f, 0xb1, 0x12, 0x88, 0xb2, 0x50, 0x12, 0x4b, 0x4f, 0xa8, 0x69, 0x0b, 0x35, 0x6b, 0x1f, 0x0b,
+	0xed, 0x9b, 0x50, 0x31, 0x18, 0xf4, 0x6f, 0xd8, 0x61, 0x97, 0x4c, 0xcd, 0x35, 0x3e, 0x7a, 0x2b,
+	0xb8, 0xb2, 0x27, 0xe4, 0x48, 0xc6, 0x82, 0x79, 0xd0, 0xfb, 0xdf, 0x19, 0xb2, 0xfa, 0x6a, 0xf2,
+	0x43, 0xe7, 0xcd, 0xbf, 0x14, 0xf4, 0xce, 0xb7, 0xff, 0xe3, 0x2f, 0x8e, 0x26, 0xc7, 0x93, 0xe2,
+	0xcc, 0xb7, 0x62, 0x46, 0xdb, 0x9f, 0x7c, 0xbf, 0x73, 0xb8, 0xdf, 0x99, 0x1c, 0xed, 0xaf, 0xed,
+	0xef, 0x1d, 0xc6, 0x9f, 0x0f, 0xea, 0x9f, 0x29, 0x5e, 0x1f, 0x4c, 0x4f, 0xfb, 0xd5, 0xe2, 0xab,
+	0xea, 0xcf, 0x3f, 0xce, 0xbe, 0x33, 0xe0, 0xfc, 0x9f, 0x67, 0x57, 0x06, 0xd5, 0x66, 0x7c, 0x77,
+	0xda, 0xa9, 0x3e, 0xf1, 0x6b, 0xb4, 0xde, 0x89, 0x47, 0x4e, 0xff, 0x55, 0x03, 0xb6, 0xf9, 0xee,
+	0x74, 0xbb, 0x01, 0x6c, 0x8f, 0xd6, 0xb7, 0x2b, 0xc0, 0x7f, 0xcf, 0xae, 0x56, 0xab, 0xdd, 0x2e,
+	0xdf, 0x9d, 0x76, 0xbb, 0x0d, 0xa4, 0xdb, 0x1d, 0xad, 0x77, 0xbb, 0x15, 0xe8, 0xbb, 0x77, 0xe3,
+	0xed, 0xd6, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x64, 0x74, 0x5e, 0x22, 0x52, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/customer_client_link_error.pb.go b/googleapis/ads/googleads/v3/errors/customer_client_link_error.pb.go
index 8500092..15668de 100644
--- a/googleapis/ads/googleads/v3/errors/customer_client_link_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/customer_client_link_error.pb.go
@@ -44,6 +44,8 @@
 	CustomerClientLinkErrorEnum_CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS CustomerClientLinkErrorEnum_CustomerClientLinkError = 7
 	// Parent manager account has the maximum number of linked accounts.
 	CustomerClientLinkErrorEnum_CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER CustomerClientLinkErrorEnum_CustomerClientLinkError = 8
+	// Client has too many managers.
+	CustomerClientLinkErrorEnum_CLIENT_HAS_TOO_MANY_MANAGERS CustomerClientLinkErrorEnum_CustomerClientLinkError = 9
 )
 
 var CustomerClientLinkErrorEnum_CustomerClientLinkError_name = map[int32]string{
@@ -56,6 +58,7 @@
 	6: "CLIENT_HAS_TOO_MANY_INVITATIONS",
 	7: "CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS",
 	8: "CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER",
+	9: "CLIENT_HAS_TOO_MANY_MANAGERS",
 }
 
 var CustomerClientLinkErrorEnum_CustomerClientLinkError_value = map[string]int32{
@@ -68,6 +71,7 @@
 	"CLIENT_HAS_TOO_MANY_INVITATIONS":           6,
 	"CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS":    7,
 	"CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER": 8,
+	"CLIENT_HAS_TOO_MANY_MANAGERS":              9,
 }
 
 func (x CustomerClientLinkErrorEnum_CustomerClientLinkError) String() string {
@@ -120,34 +124,35 @@
 }
 
 var fileDescriptor_3d9c8f09dbc13801 = []byte{
-	// 452 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4f, 0x8b, 0xd3, 0x40,
-	0x14, 0xb7, 0x59, 0xdd, 0x95, 0xd9, 0x83, 0x21, 0x97, 0x05, 0x77, 0xa9, 0x90, 0x05, 0x45, 0xc1,
-	0xe4, 0x90, 0x5b, 0x3c, 0xc8, 0x74, 0x32, 0x36, 0xc3, 0x66, 0x27, 0x25, 0x7f, 0xba, 0x44, 0x0a,
-	0x8f, 0xd8, 0x84, 0x10, 0xb6, 0xcd, 0x94, 0x4c, 0x76, 0x3f, 0x90, 0x47, 0x3f, 0x8a, 0xe0, 0x17,
-	0x11, 0x3c, 0x7b, 0x95, 0x64, 0xda, 0x8a, 0x42, 0x7b, 0xca, 0x8f, 0xbc, 0xdf, 0xbf, 0xe4, 0x3d,
-	0xf4, 0xb1, 0x12, 0xa2, 0x5a, 0x95, 0x76, 0x5e, 0x48, 0x5b, 0xc1, 0x1e, 0x3d, 0x3a, 0x76, 0xd9,
-	0xb6, 0xa2, 0x95, 0xf6, 0xf2, 0x41, 0x76, 0x62, 0x5d, 0xb6, 0xb0, 0x5c, 0xd5, 0x65, 0xd3, 0xc1,
-	0xaa, 0x6e, 0xee, 0x61, 0x98, 0x59, 0x9b, 0x56, 0x74, 0xc2, 0x18, 0x2b, 0x95, 0x95, 0x17, 0xd2,
-	0xda, 0x1b, 0x58, 0x8f, 0x8e, 0xa5, 0x0c, 0x5e, 0x5e, 0xed, 0x02, 0x36, 0xb5, 0x9d, 0x37, 0x8d,
-	0xe8, 0xf2, 0xae, 0x16, 0x8d, 0x54, 0x6a, 0xf3, 0x97, 0x86, 0x2e, 0xc9, 0x36, 0x82, 0x0c, 0x09,
-	0x41, 0xdd, 0xdc, 0xd3, 0x5e, 0x4a, 0x9b, 0x87, 0xb5, 0xf9, 0x43, 0x43, 0x17, 0x07, 0xe6, 0xc6,
-	0x0b, 0x74, 0x9e, 0xf2, 0x78, 0x46, 0x09, 0xfb, 0xc4, 0xa8, 0xa7, 0x3f, 0x31, 0xce, 0xd1, 0x59,
-	0xca, 0x6f, 0x78, 0x78, 0xc7, 0xf5, 0x91, 0xf1, 0x0e, 0xbd, 0x26, 0x01, 0xa3, 0x3c, 0x01, 0x1c,
-	0x44, 0x14, 0x7b, 0x19, 0x30, 0x3e, 0x67, 0x09, 0xf5, 0x60, 0x92, 0x41, 0xe2, 0xb3, 0x18, 0x6e,
-	0x31, 0xc7, 0x53, 0x1a, 0xe9, 0x9a, 0xf1, 0x06, 0x5d, 0xff, 0xc7, 0x55, 0x33, 0x0f, 0x18, 0x07,
-	0x9f, 0xd1, 0x08, 0x47, 0xc4, 0xcf, 0xf4, 0x13, 0xe3, 0x12, 0x5d, 0x90, 0x8c, 0x04, 0x8c, 0x40,
-	0xc0, 0xf8, 0x0d, 0xf0, 0xb0, 0x57, 0x04, 0xe1, 0x1d, 0xf5, 0xf4, 0xa7, 0x86, 0x89, 0xc6, 0x24,
-	0x8d, 0x93, 0xf0, 0x96, 0x46, 0xe0, 0xe3, 0x18, 0x92, 0x30, 0xec, 0x7d, 0x32, 0xc0, 0x84, 0x84,
-	0x29, 0x4f, 0x62, 0xfd, 0x99, 0x71, 0x8d, 0x5e, 0x6d, 0x93, 0xfe, 0x61, 0x0c, 0xd5, 0x70, 0xc2,
-	0x42, 0x1e, 0xeb, 0xa7, 0x43, 0x75, 0xcc, 0x7b, 0x73, 0x9f, 0x79, 0x14, 0xc2, 0x08, 0x52, 0x3e,
-	0xa0, 0x6d, 0xe3, 0xbf, 0x86, 0x67, 0xc6, 0x7b, 0xf4, 0xf6, 0x78, 0x28, 0xe0, 0x64, 0xff, 0xa5,
-	0xcf, 0x27, 0xbf, 0x47, 0xc8, 0x5c, 0x8a, 0xb5, 0x75, 0x7c, 0x69, 0x93, 0xab, 0x03, 0xff, 0x7c,
-	0xd6, 0x2f, 0x6d, 0x36, 0xfa, 0xec, 0x6d, 0xf5, 0x95, 0x58, 0xe5, 0x4d, 0x65, 0x89, 0xb6, 0xb2,
-	0xab, 0xb2, 0x19, 0x56, 0xba, 0xbb, 0xa2, 0x4d, 0x2d, 0x0f, 0x1d, 0xd5, 0x07, 0xf5, 0xf8, 0xaa,
-	0x9d, 0x4c, 0x31, 0xfe, 0xa6, 0x8d, 0xa7, 0xca, 0x0c, 0x17, 0xd2, 0x52, 0xb0, 0x47, 0x73, 0xc7,
-	0x1a, 0x22, 0xe5, 0xf7, 0x1d, 0x61, 0x81, 0x0b, 0xb9, 0xd8, 0x13, 0x16, 0x73, 0x67, 0xa1, 0x08,
-	0x3f, 0x35, 0x53, 0xbd, 0x75, 0x5d, 0x5c, 0x48, 0xd7, 0xdd, 0x53, 0x5c, 0x77, 0xee, 0xb8, 0xae,
-	0x22, 0x7d, 0x39, 0x1d, 0xda, 0x39, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xb6, 0xb0, 0x49, 0xd9,
-	0xf1, 0x02, 0x00, 0x00,
+	// 466 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4f, 0x8b, 0xd3, 0x4e,
+	0x18, 0xfe, 0x35, 0xfd, 0xb9, 0xab, 0xb3, 0x07, 0xc3, 0x5c, 0x16, 0xdc, 0x52, 0x25, 0x0b, 0x8a,
+	0x82, 0xc9, 0x21, 0xb7, 0x78, 0x90, 0xe9, 0x64, 0x6c, 0x86, 0xcd, 0x4e, 0x4a, 0xfe, 0x74, 0x89,
+	0x14, 0x86, 0xd8, 0x84, 0x10, 0xb6, 0xcd, 0x94, 0x4c, 0x76, 0xbf, 0x86, 0xdf, 0xc1, 0xa3, 0x1f,
+	0xc5, 0x8f, 0xe2, 0xc5, 0xa3, 0x57, 0x49, 0x26, 0xad, 0x28, 0x76, 0x4f, 0x79, 0xc8, 0xfb, 0xfc,
+	0x79, 0x87, 0xe7, 0x05, 0xef, 0x4b, 0x21, 0xca, 0x4d, 0x61, 0x65, 0xb9, 0xb4, 0x14, 0xec, 0xd0,
+	0xbd, 0x6d, 0x15, 0x4d, 0x23, 0x1a, 0x69, 0xad, 0xef, 0x64, 0x2b, 0xb6, 0x45, 0xc3, 0xd7, 0x9b,
+	0xaa, 0xa8, 0x5b, 0xbe, 0xa9, 0xea, 0x5b, 0xde, 0xcf, 0xcc, 0x5d, 0x23, 0x5a, 0x01, 0xa7, 0x4a,
+	0x65, 0x66, 0xb9, 0x34, 0x0f, 0x06, 0xe6, 0xbd, 0x6d, 0x2a, 0x83, 0x67, 0x93, 0x7d, 0xc0, 0xae,
+	0xb2, 0xb2, 0xba, 0x16, 0x6d, 0xd6, 0x56, 0xa2, 0x96, 0x4a, 0x6d, 0x7c, 0x1e, 0x83, 0x0b, 0x3c,
+	0x44, 0xe0, 0x3e, 0xc1, 0xaf, 0xea, 0x5b, 0xd2, 0x49, 0x49, 0x7d, 0xb7, 0x35, 0x7e, 0x68, 0xe0,
+	0xfc, 0xc8, 0x1c, 0x3e, 0x05, 0x67, 0x09, 0x8b, 0x16, 0x04, 0xd3, 0x0f, 0x94, 0xb8, 0xfa, 0x7f,
+	0xf0, 0x0c, 0x9c, 0x26, 0xec, 0x8a, 0x05, 0x37, 0x4c, 0x1f, 0xc1, 0x37, 0xe0, 0x25, 0xf6, 0x29,
+	0x61, 0x31, 0x47, 0x7e, 0x48, 0x90, 0x9b, 0x72, 0xca, 0x96, 0x34, 0x26, 0x2e, 0x9f, 0xa5, 0x3c,
+	0xf6, 0x68, 0xc4, 0xaf, 0x11, 0x43, 0x73, 0x12, 0xea, 0x1a, 0x7c, 0x05, 0x2e, 0xff, 0xe2, 0xaa,
+	0x99, 0xcb, 0x29, 0xe3, 0x1e, 0x25, 0x21, 0x0a, 0xb1, 0x97, 0xea, 0x63, 0x78, 0x01, 0xce, 0x71,
+	0x8a, 0x7d, 0x8a, 0xb9, 0x4f, 0xd9, 0x15, 0x67, 0x41, 0xa7, 0xf0, 0x83, 0x1b, 0xe2, 0xea, 0xff,
+	0x43, 0x03, 0x4c, 0x71, 0x12, 0xc5, 0xc1, 0x35, 0x09, 0xb9, 0x87, 0x22, 0x1e, 0x07, 0x41, 0xe7,
+	0x93, 0x72, 0x84, 0x71, 0x90, 0xb0, 0x38, 0xd2, 0x1f, 0xc1, 0x4b, 0xf0, 0x7c, 0x48, 0xfa, 0x83,
+	0xd1, 0xaf, 0x86, 0x62, 0x1a, 0xb0, 0x48, 0x3f, 0xe9, 0x57, 0x47, 0xac, 0x33, 0xf7, 0xa8, 0x4b,
+	0x78, 0x10, 0xf2, 0x84, 0xf5, 0x68, 0xd8, 0xf8, 0xb7, 0xe1, 0x29, 0x7c, 0x0b, 0x5e, 0x3f, 0x1c,
+	0xca, 0x51, 0x7c, 0x78, 0xe9, 0x63, 0xf8, 0x02, 0x4c, 0xfe, 0x95, 0x3f, 0x10, 0x22, 0xfd, 0xc9,
+	0xec, 0xe7, 0x08, 0x18, 0x6b, 0xb1, 0x35, 0x1f, 0xae, 0x75, 0x36, 0x39, 0xd2, 0xca, 0xa2, 0xab,
+	0x75, 0x31, 0xfa, 0xe8, 0x0e, 0xfa, 0x52, 0x6c, 0xb2, 0xba, 0x34, 0x45, 0x53, 0x5a, 0x65, 0x51,
+	0xf7, 0xa5, 0xef, 0xef, 0x6c, 0x57, 0xc9, 0x63, 0x67, 0xf7, 0x4e, 0x7d, 0xbe, 0x68, 0xe3, 0x39,
+	0x42, 0x5f, 0xb5, 0xe9, 0x5c, 0x99, 0xa1, 0x5c, 0x9a, 0x0a, 0x76, 0x68, 0x69, 0x9b, 0x7d, 0xa4,
+	0xfc, 0xb6, 0x27, 0xac, 0x50, 0x2e, 0x57, 0x07, 0xc2, 0x6a, 0x69, 0xaf, 0x14, 0xe1, 0xbb, 0x66,
+	0xa8, 0xbf, 0x8e, 0x83, 0x72, 0xe9, 0x38, 0x07, 0x8a, 0xe3, 0x2c, 0x6d, 0xc7, 0x51, 0xa4, 0x4f,
+	0x27, 0xfd, 0x76, 0xf6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xae, 0x6d, 0x30, 0xaf, 0x13, 0x03,
+	0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/customer_error.pb.go b/googleapis/ads/googleads/v3/errors/customer_error.pb.go
index 72d0ab9..09e04f7 100644
--- a/googleapis/ads/googleads/v3/errors/customer_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/customer_error.pb.go
@@ -23,7 +23,6 @@
 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
 // Set of errors that are related to requests dealing with Customer.
-// Next id: 26
 type CustomerErrorEnum_CustomerError int32
 
 const (
diff --git a/googleapis/ads/googleads/v3/errors/errors.pb.go b/googleapis/ads/googleads/v3/errors/errors.pb.go
index d947579..b9074b6 100644
--- a/googleapis/ads/googleads/v3/errors/errors.pb.go
+++ b/googleapis/ads/googleads/v3/errors/errors.pb.go
@@ -249,6 +249,7 @@
 	//	*ErrorCode_PartialFailureError
 	//	*ErrorCode_PolicyValidationParameterError
 	//	*ErrorCode_SizeLimitError
+	//	*ErrorCode_OfflineUserDataJobError
 	//	*ErrorCode_NotWhitelistedError
 	//	*ErrorCode_ManagerLinkError
 	//	*ErrorCode_CurrencyCodeError
@@ -257,6 +258,8 @@
 	//	*ErrorCode_InvoiceError
 	//	*ErrorCode_PaymentsAccountError
 	//	*ErrorCode_TimeZoneError
+	//	*ErrorCode_AssetLinkError
+	//	*ErrorCode_UserDataError
 	ErrorCode            isErrorCode_ErrorCode `protobuf_oneof:"error_code"`
 	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
 	XXX_unrecognized     []byte                `json:"-"`
@@ -692,6 +695,10 @@
 	SizeLimitError SizeLimitErrorEnum_SizeLimitError `protobuf:"varint,118,opt,name=size_limit_error,json=sizeLimitError,proto3,enum=google.ads.googleads.v3.errors.SizeLimitErrorEnum_SizeLimitError,oneof"`
 }
 
+type ErrorCode_OfflineUserDataJobError struct {
+	OfflineUserDataJobError OfflineUserDataJobErrorEnum_OfflineUserDataJobError `protobuf:"varint,119,opt,name=offline_user_data_job_error,json=offlineUserDataJobError,proto3,enum=google.ads.googleads.v3.errors.OfflineUserDataJobErrorEnum_OfflineUserDataJobError,oneof"`
+}
+
 type ErrorCode_NotWhitelistedError struct {
 	NotWhitelistedError NotWhitelistedErrorEnum_NotWhitelistedError `protobuf:"varint,120,opt,name=not_whitelisted_error,json=notWhitelistedError,proto3,enum=google.ads.googleads.v3.errors.NotWhitelistedErrorEnum_NotWhitelistedError,oneof"`
 }
@@ -724,6 +731,14 @@
 	TimeZoneError TimeZoneErrorEnum_TimeZoneError `protobuf:"varint,128,opt,name=time_zone_error,json=timeZoneError,proto3,enum=google.ads.googleads.v3.errors.TimeZoneErrorEnum_TimeZoneError,oneof"`
 }
 
+type ErrorCode_AssetLinkError struct {
+	AssetLinkError AssetLinkErrorEnum_AssetLinkError `protobuf:"varint,129,opt,name=asset_link_error,json=assetLinkError,proto3,enum=google.ads.googleads.v3.errors.AssetLinkErrorEnum_AssetLinkError,oneof"`
+}
+
+type ErrorCode_UserDataError struct {
+	UserDataError UserDataErrorEnum_UserDataError `protobuf:"varint,130,opt,name=user_data_error,json=userDataError,proto3,enum=google.ads.googleads.v3.errors.UserDataErrorEnum_UserDataError,oneof"`
+}
+
 func (*ErrorCode_RequestError) isErrorCode_ErrorCode() {}
 
 func (*ErrorCode_BiddingStrategyError) isErrorCode_ErrorCode() {}
@@ -924,6 +939,8 @@
 
 func (*ErrorCode_SizeLimitError) isErrorCode_ErrorCode() {}
 
+func (*ErrorCode_OfflineUserDataJobError) isErrorCode_ErrorCode() {}
+
 func (*ErrorCode_NotWhitelistedError) isErrorCode_ErrorCode() {}
 
 func (*ErrorCode_ManagerLinkError) isErrorCode_ErrorCode() {}
@@ -940,6 +957,10 @@
 
 func (*ErrorCode_TimeZoneError) isErrorCode_ErrorCode() {}
 
+func (*ErrorCode_AssetLinkError) isErrorCode_ErrorCode() {}
+
+func (*ErrorCode_UserDataError) isErrorCode_ErrorCode() {}
+
 func (m *ErrorCode) GetErrorCode() isErrorCode_ErrorCode {
 	if m != nil {
 		return m.ErrorCode
@@ -1647,6 +1668,13 @@
 	return SizeLimitErrorEnum_UNSPECIFIED
 }
 
+func (m *ErrorCode) GetOfflineUserDataJobError() OfflineUserDataJobErrorEnum_OfflineUserDataJobError {
+	if x, ok := m.GetErrorCode().(*ErrorCode_OfflineUserDataJobError); ok {
+		return x.OfflineUserDataJobError
+	}
+	return OfflineUserDataJobErrorEnum_UNSPECIFIED
+}
+
 func (m *ErrorCode) GetNotWhitelistedError() NotWhitelistedErrorEnum_NotWhitelistedError {
 	if x, ok := m.GetErrorCode().(*ErrorCode_NotWhitelistedError); ok {
 		return x.NotWhitelistedError
@@ -1703,6 +1731,20 @@
 	return TimeZoneErrorEnum_UNSPECIFIED
 }
 
+func (m *ErrorCode) GetAssetLinkError() AssetLinkErrorEnum_AssetLinkError {
+	if x, ok := m.GetErrorCode().(*ErrorCode_AssetLinkError); ok {
+		return x.AssetLinkError
+	}
+	return AssetLinkErrorEnum_UNSPECIFIED
+}
+
+func (m *ErrorCode) GetUserDataError() UserDataErrorEnum_UserDataError {
+	if x, ok := m.GetErrorCode().(*ErrorCode_UserDataError); ok {
+		return x.UserDataError
+	}
+	return UserDataErrorEnum_UNSPECIFIED
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*ErrorCode) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -1806,6 +1848,7 @@
 		(*ErrorCode_PartialFailureError)(nil),
 		(*ErrorCode_PolicyValidationParameterError)(nil),
 		(*ErrorCode_SizeLimitError)(nil),
+		(*ErrorCode_OfflineUserDataJobError)(nil),
 		(*ErrorCode_NotWhitelistedError)(nil),
 		(*ErrorCode_ManagerLinkError)(nil),
 		(*ErrorCode_CurrencyCodeError)(nil),
@@ -1814,6 +1857,8 @@
 		(*ErrorCode_InvoiceError)(nil),
 		(*ErrorCode_PaymentsAccountError)(nil),
 		(*ErrorCode_TimeZoneError)(nil),
+		(*ErrorCode_AssetLinkError)(nil),
+		(*ErrorCode_UserDataError)(nil),
 	}
 }
 
@@ -2100,274 +2145,280 @@
 }
 
 var fileDescriptor_37c8858a8ef846f0 = []byte{
-	// 4302 bytes of a gzipped FileDescriptorProto
+	// 4399 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x5c, 0xcd, 0x73, 0x1c, 0x37,
-	0x76, 0x9f, 0x91, 0x63, 0x5b, 0x82, 0x24, 0x4a, 0x6a, 0xc9, 0x32, 0x2c, 0xad, 0xbd, 0x5a, 0x7a,
-	0x37, 0x51, 0x36, 0x6b, 0xd2, 0x26, 0x65, 0xc9, 0xa2, 0x6c, 0xcb, 0xc3, 0x2f, 0x0d, 0xd7, 0x94,
-	0x4c, 0x37, 0x65, 0x79, 0xd7, 0xab, 0x64, 0x8c, 0xe9, 0xc6, 0x0c, 0x61, 0xf6, 0x97, 0xfb, 0x83,
-	0x22, 0x59, 0xeb, 0x64, 0x93, 0xaa, 0xa4, 0x2a, 0xa9, 0x4a, 0xaa, 0x92, 0x54, 0xe5, 0x90, 0x43,
-	0x0e, 0x3e, 0xee, 0x21, 0x87, 0xe4, 0x90, 0x4b, 0xfe, 0x80, 0x54, 0xfe, 0x8f, 0xe4, 0x90, 0x7b,
-	0xee, 0x29, 0xa0, 0xbf, 0xf0, 0x35, 0x03, 0x74, 0x4e, 0x64, 0xff, 0x80, 0xdf, 0x7b, 0x68, 0x34,
-	0xf0, 0xf0, 0x80, 0x87, 0x37, 0xe0, 0x0f, 0xa6, 0x71, 0x3c, 0x0d, 0xf0, 0x32, 0xf2, 0xb3, 0xe5,
-	0xf2, 0x5f, 0xfa, 0xdf, 0xd1, 0xea, 0x32, 0x4e, 0xd3, 0x38, 0xcd, 0xaa, 0x3f, 0x4b, 0x49, 0x1a,
-	0xe7, 0xb1, 0xf3, 0x56, 0x59, 0x63, 0x09, 0xf9, 0xd9, 0x52, 0x53, 0x79, 0xe9, 0x68, 0x75, 0xa9,
-	0xac, 0x75, 0x63, 0xa6, 0x30, 0x2f, 0x0e, 0xc3, 0x38, 0x5a, 0x4e, 0xe2, 0x80, 0x78, 0x27, 0xa5,
-	0xb0, 0x1b, 0x3f, 0x35, 0x54, 0x3e, 0x42, 0x41, 0x81, 0xab, 0xba, 0x1f, 0x1a, 0x5a, 0x89, 0x3c,
-	0x0f, 0x67, 0xd9, 0x88, 0x44, 0x47, 0x24, 0x47, 0x39, 0x89, 0xa3, 0x11, 0x2b, 0xa8, 0xd8, 0xeb,
-	0x66, 0x76, 0x5c, 0x44, 0xf9, 0x68, 0x5c, 0xf8, 0x53, 0x9c, 0x8f, 0x92, 0x34, 0x4e, 0xe2, 0x0c,
-	0x05, 0x82, 0x8c, 0x0f, 0x4c, 0x32, 0xfc, 0x91, 0x57, 0x64, 0x79, 0x1c, 0x92, 0x53, 0x9c, 0x0a,
-	0xcc, 0x77, 0xcc, 0x4c, 0xbe, 0xfa, 0x5d, 0x73, 0xf5, 0x69, 0x1a, 0x17, 0xc9, 0x48, 0xe2, 0x7d,
-	0x62, 0xcb, 0x1b, 0x13, 0x7f, 0x14, 0xc6, 0x3e, 0x99, 0x10, 0xa9, 0xa1, 0x1f, 0xd9, 0x4a, 0xf0,
-	0x52, 0x92, 0xe3, 0x54, 0xee, 0xe5, 0x55, 0x5b, 0x7a, 0xc7, 0x6e, 0x2d, 0x49, 0x13, 0x8c, 0xc5,
-	0xf7, 0xbd, 0x67, 0x66, 0x26, 0x28, 0x45, 0x21, 0xce, 0xa5, 0xd7, 0x7c, 0xdf, 0x4c, 0xcc, 0x0e,
-	0x50, 0x4a, 0xa2, 0xa9, 0x40, 0x5b, 0x32, 0xd2, 0x8e, 0x85, 0xfa, 0xef, 0x9a, 0xea, 0x67, 0x19,
-	0xce, 0x05, 0xc6, 0x7d, 0x13, 0xa3, 0xc8, 0x0f, 0x70, 0x94, 0x13, 0x4f, 0x1d, 0xe1, 0x1f, 0x58,
-	0x50, 0xe3, 0x94, 0x9c, 0xaa, 0xcc, 0x15, 0x03, 0x73, 0x4c, 0x7c, 0x5f, 0xee, 0x8a, 0x07, 0x96,
-	0x9c, 0x2c, 0x4f, 0x51, 0x8e, 0xa7, 0x27, 0x9d, 0x9a, 0x3a, 0x26, 0x41, 0xc0, 0xc8, 0x38, 0x97,
-	0xc6, 0xca, 0x9a, 0x81, 0xe9, 0xa1, 0x30, 0x41, 0x64, 0x1a, 0xd5, 0xf3, 0xb8, 0xcb, 0xd8, 0x6e,
-	0xb8, 0xfa, 0xb1, 0x7d, 0xdf, 0x96, 0xee, 0xa7, 0x68, 0x92, 0x77, 0x9a, 0x16, 0x0d, 0x95, 0x27,
-	0x7d, 0x6c, 0x4d, 0x3a, 0x4e, 0x70, 0x4a, 0x42, 0x1c, 0xe5, 0x9d, 0x3a, 0xb9, 0xe1, 0x2b, 0xd3,
-	0xca, 0x5a, 0x33, 0x9d, 0x23, 0xd8, 0x1f, 0xc9, 0x83, 0xd8, 0xa8, 0xf9, 0x00, 0x45, 0x53, 0x3c,
-	0xca, 0x72, 0x94, 0x17, 0x59, 0xb7, 0xcf, 0x1b, 0x07, 0x01, 0xf6, 0xd8, 0x00, 0xce, 0xc8, 0x29,
-	0xee, 0x34, 0x8a, 0xbd, 0x38, 0xca, 0xf1, 0xb1, 0xd8, 0xd2, 0x0f, 0xcd, 0x9c, 0x23, 0x9c, 0x66,
-	0x54, 0x1f, 0xf2, 0x94, 0x79, 0xf3, 0xa8, 0x03, 0xdb, 0xff, 0xa6, 0xc8, 0x72, 0xf6, 0x8d, 0x8a,
-	0x24, 0x88, 0x25, 0xbb, 0xdd, 0xa1, 0x19, 0x1a, 0xf6, 0x3d, 0x23, 0xbb, 0x88, 0xf2, 0xf4, 0x64,
-	0xe4, 0xc5, 0xbe, 0xd8, 0x63, 0x77, 0x4c, 0x44, 0xed, 0x3c, 0x30, 0x7e, 0xdd, 0x22, 0x4d, 0x71,
-	0xe4, 0x69, 0xf4, 0x19, 0xbf, 0x2e, 0x5b, 0x3c, 0x47, 0x24, 0xca, 0x71, 0x8a, 0x33, 0xf1, 0x4b,
-	0x3d, 0xb4, 0xe2, 0xe2, 0x74, 0xe4, 0x05, 0x84, 0xf6, 0x72, 0x40, 0xa2, 0xc3, 0x6e, 0x73, 0xb0,
-	0x16, 0xd0, 0xed, 0x5d, 0x2b, 0x92, 0x32, 0x87, 0x3e, 0xb1, 0x65, 0x86, 0x28, 0x42, 0x53, 0x9c,
-	0x76, 0x6f, 0xb0, 0x8f, 0x72, 0x34, 0x46, 0x99, 0xd8, 0xc5, 0xcb, 0x66, 0x12, 0xee, 0xb4, 0x12,
-	0x32, 0x42, 0xca, 0xe6, 0x6b, 0xa7, 0xc6, 0x91, 0x2c, 0x27, 0x91, 0x97, 0x77, 0x6a, 0x1c, 0x8e,
-	0x8a, 0xb0, 0x93, 0x21, 0xc2, 0xc7, 0x39, 0x8e, 0xd8, 0xb4, 0x60, 0xfd, 0x4f, 0x72, 0x1c, 0x76,
-	0x9a, 0x57, 0x2d, 0x3f, 0xc3, 0x79, 0x2e, 0x2f, 0x71, 0x1b, 0x06, 0x36, 0xd3, 0x89, 0xf2, 0x3c,
-	0x25, 0xe3, 0x82, 0x76, 0x12, 0x9e, 0x60, 0x3a, 0xf0, 0xbb, 0x7d, 0x10, 0x65, 0xe0, 0xdc, 0xb1,
-	0x21, 0x28, 0x6f, 0xfa, 0xc0, 0x9a, 0x95, 0xa3, 0x54, 0x5e, 0x18, 0x1f, 0x5a, 0x93, 0x8f, 0x50,
-	0x40, 0x7c, 0xd5, 0x81, 0xb8, 0x67, 0x23, 0x20, 0x44, 0x49, 0x22, 0x77, 0xb1, 0xc9, 0x41, 0x9a,
-	0x10, 0x1c, 0xf8, 0x9d, 0xc6, 0x6b, 0xc9, 0x08, 0x51, 0xd6, 0x6d, 0x32, 0x4d, 0x8a, 0x48, 0xb5,
-	0xef, 0x0f, 0x6c, 0x49, 0x09, 0x4a, 0x33, 0xf9, 0xd5, 0x76, 0x0c, 0xe4, 0x29, 0x8e, 0xeb, 0x6f,
-	0xe1, 0xc5, 0x51, 0x96, 0xa3, 0x28, 0x1f, 0x65, 0xc5, 0x74, 0x8a, 0x33, 0xa5, 0x1d, 0xef, 0x19,
-	0x44, 0x1d, 0x60, 0xe4, 0x77, 0xdc, 0x70, 0x10, 0xbf, 0xd3, 0x77, 0x20, 0x21, 0xea, 0x68, 0x00,
-	0x98, 0x11, 0x8f, 0xa4, 0x0d, 0xd4, 0x8a, 0x91, 0x74, 0x14, 0x13, 0x69, 0x02, 0x99, 0x0c, 0xe9,
-	0x21, 0x3e, 0x79, 0x11, 0xa7, 0xfe, 0x28, 0x09, 0x10, 0x5d, 0x66, 0x35, 0xfb, 0x8b, 0x4e, 0x12,
-	0xb4, 0xae, 0xd8, 0xbd, 0x2e, 0x12, 0xba, 0x18, 0x20, 0x81, 0x48, 0x7c, 0x8c, 0x3a, 0xcd, 0x4b,
-	0x81, 0x5d, 0x3f, 0xf0, 0x02, 0x86, 0x5d, 0x04, 0x44, 0x78, 0x8a, 0x72, 0x72, 0x84, 0xb5, 0x92,
-	0x4c, 0x03, 0x24, 0x40, 0x63, 0xdc, 0x6d, 0xb3, 0x1c, 0xa0, 0x68, 0x5a, 0xd0, 0x51, 0xa5, 0xb8,
-	0x09, 0x26, 0x47, 0x3b, 0x20, 0x59, 0x3e, 0x8a, 0x13, 0x9c, 0x76, 0x37, 0x44, 0x33, 0x17, 0x5b,
-	0x23, 0x11, 0xfb, 0x04, 0x8d, 0xc6, 0x45, 0xe4, 0x07, 0xdd, 0xd6, 0xcf, 0x92, 0x38, 0x21, 0x12,
-	0xcd, 0x4e, 0x9f, 0xc6, 0xd9, 0x33, 0xea, 0x2b, 0x82, 0x9c, 0x24, 0x81, 0xbc, 0xaf, 0x7f, 0xcf,
-	0x48, 0xcb, 0xbb, 0x7a, 0x06, 0x15, 0xe5, 0x9b, 0x78, 0xdc, 0x69, 0xb6, 0x45, 0xf8, 0xc5, 0x28,
-	0xc5, 0x59, 0x5c, 0xa4, 0x1e, 0x1e, 0x79, 0x29, 0x56, 0x3f, 0xa2, 0x69, 0x05, 0x8c, 0xe2, 0x7c,
-	0x84, 0xc3, 0x24, 0x3f, 0xe9, 0xe4, 0x5c, 0x52, 0xd6, 0x8b, 0x03, 0x92, 0x63, 0x3a, 0x7c, 0xa4,
-	0x35, 0xd7, 0xb4, 0x48, 0x47, 0x45, 0x10, 0x74, 0x3a, 0x4d, 0x6a, 0x47, 0x67, 0x75, 0x2a, 0xe5,
-	0xe3, 0x88, 0x48, 0x4a, 0x57, 0xad, 0x64, 0xc4, 0x69, 0xa7, 0xb7, 0x4c, 0x50, 0x9a, 0x13, 0x14,
-	0x8c, 0x26, 0x88, 0x04, 0x45, 0x8a, 0x3b, 0x2d, 0x67, 0x09, 0x3a, 0xa1, 0x1b, 0x94, 0x6c, 0x54,
-	0x9f, 0x85, 0x75, 0x99, 0x94, 0xe5, 0xb1, 0xde, 0x68, 0x42, 0x22, 0xe5, 0xa8, 0x60, 0xdb, 0x8e,
-	0xca, 0xf9, 0x16, 0xfa, 0x43, 0x9b, 0x07, 0x96, 0x72, 0x48, 0x1c, 0xa8, 0x83, 0xca, 0x64, 0xc0,
-	0xbe, 0x2d, 0x70, 0x7a, 0xd2, 0x91, 0x11, 0xe7, 0xa8, 0x13, 0x43, 0x75, 0xa3, 0x4d, 0x73, 0x2c,
-	0xc5, 0xc8, 0x3b, 0x50, 0x97, 0x95, 0xfb, 0x46, 0x9a, 0x17, 0x87, 0x21, 0x8e, 0x34, 0xae, 0xda,
-	0x5d, 0x23, 0x75, 0x4a, 0x29, 0x8a, 0x51, 0x5e, 0x31, 0xf2, 0xbe, 0x2d, 0xe4, 0x3d, 0xdb, 0xc0,
-	0xc8, 0xa9, 0xcc, 0xc0, 0xec, 0x49, 0x32, 0xb4, 0x15, 0x51, 0x8e, 0xd8, 0x80, 0x84, 0x24, 0x1f,
-	0xe1, 0x63, 0x0f, 0x63, 0x5f, 0x92, 0x64, 0x7a, 0x01, 0xdd, 0x0e, 0xc0, 0x34, 0xe2, 0xaa, 0xf3,
-	0x0f, 0xfd, 0x3e, 0xf9, 0x7d, 0x3b, 0xb2, 0x7c, 0x78, 0x62, 0xa4, 0x91, 0x53, 0x5c, 0xbf, 0x67,
-	0x87, 0xe5, 0x36, 0xcb, 0xd9, 0x69, 0xe6, 0x24, 0x4e, 0x43, 0xf4, 0xff, 0x62, 0x06, 0x38, 0x9a,
-	0xe6, 0x07, 0x9d, 0x0c, 0x75, 0x4e, 0x42, 0x3c, 0x3a, 0x8d, 0xa3, 0x6e, 0xa7, 0x0e, 0x45, 0x1a,
-	0x8c, 0x54, 0xbf, 0xdf, 0xc8, 0xca, 0xd8, 0xb2, 0x2e, 0x8d, 0xc0, 0x2d, 0x03, 0xeb, 0x24, 0x2e,
-	0xf2, 0x62, 0x8c, 0x47, 0x47, 0xc4, 0xc7, 0xf1, 0x88, 0x8e, 0x7d, 0x76, 0x5e, 0x29, 0x7f, 0xca,
-	0x2a, 0xe6, 0xb1, 0xcc, 0x9e, 0xc6, 0xc5, 0x64, 0xf9, 0x45, 0x8a, 0x92, 0x04, 0xd7, 0x31, 0x91,
-	0x1b, 0x3f, 0xa8, 0xd5, 0x24, 0x64, 0x19, 0x45, 0x51, 0x5c, 0xc6, 0x1f, 0xaa, 0xd2, 0xc5, 0xaf,
-	0xc0, 0xe5, 0x47, 0xac, 0x7c, 0xe0, 0x67, 0xdb, 0xa5, 0x5d, 0x76, 0xb6, 0xc1, 0x2b, 0x65, 0x13,
-	0x60, 0xff, 0xd6, 0x4b, 0xb7, 0xcf, 0xaf, 0x2c, 0x2d, 0xcd, 0x0f, 0xab, 0x2c, 0x35, 0x12, 0xb6,
-	0xe8, 0xb3, 0x5b, 0xb1, 0x17, 0xff, 0xe3, 0x0c, 0x58, 0x10, 0x8b, 0x9c, 0x21, 0x00, 0xac, 0x90,
-	0xcd, 0x61, 0xd8, 0xbf, 0xd5, 0xbf, 0x7d, 0x7e, 0xe5, 0xf7, 0x4d, 0xe2, 0x19, 0x75, 0x23, 0xf6,
-	0xb1, 0x7b, 0x0e, 0xd7, 0xff, 0x3a, 0x10, 0xbc, 0x1a, 0xe2, 0x2c, 0x43, 0x53, 0x0c, 0xcf, 0xdc,
-	0xea, 0xdf, 0x3e, 0xe7, 0xd6, 0x8f, 0xce, 0x43, 0xf0, 0x6a, 0x9e, 0x92, 0xe9, 0x14, 0xa7, 0xf0,
-	0x25, 0xa6, 0xe0, 0x27, 0x33, 0x15, 0x94, 0x91, 0x9c, 0xa5, 0x67, 0x28, 0x28, 0xb0, 0x5b, 0xb3,
-	0x9c, 0x1d, 0x70, 0x36, 0x88, 0xcb, 0x43, 0x6c, 0xf8, 0x3b, 0x4c, 0xc2, 0x3b, 0x56, 0x4d, 0xdc,
-	0xad, 0x48, 0x6e, 0x43, 0x77, 0xb6, 0xc1, 0xab, 0x3e, 0xce, 0x11, 0x09, 0x32, 0xf8, 0x32, 0x93,
-	0xf4, 0x33, 0x2b, 0x49, 0x9b, 0x25, 0xc7, 0xad, 0xc9, 0x8b, 0xff, 0x7e, 0x00, 0xce, 0x35, 0xdd,
-	0xe0, 0xf8, 0xe0, 0xa2, 0x60, 0xd2, 0x58, 0x47, 0x2e, 0xac, 0x7c, 0x64, 0x92, 0xed, 0x96, 0x24,
-	0x26, 0x68, 0x2b, 0x2a, 0x42, 0x01, 0x18, 0xf6, 0xdc, 0x0b, 0x29, 0xf7, 0xec, 0xfc, 0x79, 0x1f,
-	0x5c, 0xd7, 0x9f, 0x94, 0xb3, 0x1e, 0x5f, 0x58, 0x79, 0x6c, 0xd2, 0xb7, 0x5e, 0xb2, 0xf7, 0x2b,
-	0x72, 0xab, 0x57, 0x57, 0x30, 0xec, 0xb9, 0xd7, 0xc6, 0x1a, 0xdc, 0x21, 0xe0, 0x92, 0x34, 0xed,
-	0xd8, 0x77, 0x5d, 0x58, 0x79, 0x68, 0xd2, 0xff, 0x45, 0x1a, 0x6c, 0x53, 0x56, 0xab, 0x58, 0x40,
-	0x86, 0x3d, 0xf7, 0x62, 0xc1, 0x03, 0xce, 0x77, 0xe0, 0x9a, 0xce, 0x81, 0x67, 0xa3, 0x60, 0x61,
-	0x65, 0xc7, 0xa4, 0x6f, 0x97, 0x64, 0xf9, 0x67, 0x35, 0xb5, 0x55, 0xaa, 0xc2, 0xc3, 0x9e, 0xeb,
-	0x04, 0x0a, 0xea, 0x3c, 0x07, 0xe7, 0xb9, 0xa5, 0x9e, 0x8d, 0x98, 0x85, 0x95, 0xfb, 0x26, 0xad,
-	0x9f, 0x53, 0x4a, 0xab, 0xad, 0x7d, 0x1c, 0xf6, 0x5c, 0xf0, 0x6d, 0xf3, 0xe4, 0x7c, 0x0d, 0x2e,
-	0xf0, 0x9e, 0x34, 0x7c, 0x95, 0x89, 0x7f, 0x60, 0x12, 0xff, 0x98, 0x71, 0x5a, 0xf9, 0xdc, 0xf3,
-	0xb0, 0xe7, 0x9e, 0x0f, 0xdb, 0x47, 0x27, 0x04, 0x97, 0xe5, 0x23, 0x0e, 0x78, 0x96, 0x69, 0x19,
-	0x98, 0xb4, 0xb0, 0x8f, 0xf0, 0x18, 0x65, 0x87, 0xad, 0x22, 0x11, 0x1a, 0xf6, 0xdc, 0x85, 0x89,
-	0x80, 0x38, 0xbf, 0x06, 0x57, 0x35, 0x71, 0x23, 0x78, 0xce, 0xee, 0x63, 0x0d, 0x78, 0x6a, 0xab,
-	0x55, 0x85, 0xe9, 0xc7, 0x42, 0x0a, 0xea, 0x1c, 0x80, 0x05, 0xf1, 0x1c, 0x01, 0x02, 0xbb, 0x51,
-	0xb9, 0x53, 0xb1, 0x5a, 0x9d, 0x02, 0x42, 0x47, 0x25, 0xe1, 0x81, 0x72, 0x58, 0x34, 0xfe, 0x1c,
-	0x3c, 0x6f, 0x3b, 0x2c, 0xe2, 0x1c, 0xf1, 0xc3, 0xa2, 0x7e, 0x2c, 0x87, 0x45, 0xfd, 0xe4, 0xec,
-	0x81, 0xb3, 0xf5, 0x36, 0x0e, 0x5e, 0x60, 0xa2, 0x57, 0x8d, 0x5d, 0xc7, 0xcd, 0xa8, 0x41, 0x33,
-	0x97, 0x5e, 0x45, 0xd5, 0x2c, 0xc2, 0x60, 0x41, 0x3c, 0xeb, 0x80, 0x17, 0xed, 0xec, 0xd3, 0xc0,
-	0x7f, 0x44, 0x49, 0xbc, 0xf0, 0x16, 0xa0, 0xf6, 0x09, 0x71, 0xcf, 0xce, 0x9f, 0xf6, 0xc1, 0x6b,
-	0xda, 0x90, 0x1a, 0x5c, 0x60, 0xea, 0x3e, 0x35, 0xa9, 0xdb, 0xa8, 0xc8, 0xeb, 0x8c, 0xdb, 0x6a,
-	0xd5, 0xe0, 0xc3, 0x9e, 0x7b, 0xd5, 0x53, 0x61, 0x3a, 0x08, 0xc4, 0x43, 0x19, 0x78, 0xc9, 0x6e,
-	0x10, 0xd4, 0x3a, 0x54, 0xad, 0xcd, 0x20, 0xf0, 0x78, 0xc0, 0xf9, 0x4d, 0x1f, 0x5c, 0xd3, 0x05,
-	0x58, 0xe1, 0x15, 0xbb, 0x97, 0x1d, 0x08, 0x5c, 0x71, 0xbc, 0x4b, 0x38, 0x7d, 0x59, 0xa4, 0xc2,
-	0xce, 0x5f, 0xf5, 0x01, 0x9c, 0x15, 0x63, 0x87, 0x0e, 0x6b, 0xc6, 0x67, 0x96, 0x9f, 0x78, 0xa3,
-	0x66, 0x2b, 0xdf, 0x5a, 0x2c, 0x19, 0xf6, 0xdc, 0xd7, 0x90, 0xae, 0xc0, 0x39, 0x01, 0x57, 0x35,
-	0x57, 0x1a, 0xe0, 0x55, 0xd6, 0x8c, 0x47, 0xe6, 0x66, 0x6c, 0x34, 0x4c, 0xbe, 0x09, 0x12, 0x3a,
-	0xec, 0xb9, 0x57, 0x90, 0x0c, 0x3a, 0x11, 0xb8, 0xa2, 0x5c, 0x72, 0x80, 0xaf, 0xd9, 0xd9, 0xb9,
-	0xea, 0x2d, 0xc5, 0x19, 0xc4, 0x43, 0xd4, 0xce, 0x21, 0x01, 0xa1, 0x66, 0x55, 0x8e, 0xf9, 0x43,
-	0x68, 0xab, 0x6e, 0xbf, 0xa4, 0xf1, 0xea, 0x78, 0xa8, 0x54, 0xc7, 0x23, 0xce, 0x53, 0x70, 0xae,
-	0xb9, 0x2b, 0x00, 0xdf, 0x60, 0x7a, 0xde, 0x37, 0xeb, 0x39, 0xe6, 0x35, 0x1c, 0xd7, 0xb2, 0xcf,
-	0xa2, 0xea, 0x7f, 0x6a, 0xc4, 0xb8, 0x1b, 0x05, 0xf0, 0xd0, 0xce, 0x88, 0x0d, 0x28, 0x85, 0x93,
-	0xdc, 0x3c, 0x52, 0x23, 0x86, 0x9a, 0x27, 0xea, 0x11, 0x09, 0x17, 0x01, 0xe0, 0x0d, 0x3b, 0x8b,
-	0x53, 0x39, 0x22, 0x8a, 0x67, 0xd2, 0x58, 0x9c, 0x31, 0xf7, 0xec, 0xfc, 0x75, 0x1f, 0xc0, 0x59,
-	0x81, 0x78, 0xf8, 0x26, 0xd3, 0xf8, 0xb9, 0xed, 0xc4, 0xd7, 0xcc, 0x00, 0x7d, 0xd1, 0xb0, 0xe7,
-	0x5e, 0xf7, 0xb4, 0x25, 0xa5, 0x05, 0xd4, 0x45, 0x9d, 0xe1, 0x0f, 0x2d, 0x2d, 0x60, 0x43, 0xde,
-	0x27, 0xa7, 0xdc, 0x1a, 0xaf, 0xc1, 0x99, 0x05, 0x54, 0x61, 0xa7, 0x00, 0x8e, 0x1a, 0xc3, 0x85,
-	0x21, 0xd3, 0xbf, 0x65, 0xd6, 0xcf, 0x98, 0xd4, 0xa9, 0xe5, 0x95, 0x8b, 0xe0, 0xb0, 0xe7, 0x5e,
-	0xf6, 0x24, 0xcc, 0x09, 0xc0, 0x25, 0xf9, 0x03, 0xdc, 0xb2, 0x9b, 0x12, 0xba, 0x8e, 0x97, 0x3b,
-	0x7c, 0xc1, 0x13, 0x3b, 0x9a, 0x9a, 0x79, 0x21, 0x04, 0x0b, 0xbf, 0xb2, 0x34, 0xf3, 0x15, 0x8b,
-	0xd3, 0xc5, 0x23, 0xcc, 0xcc, 0xf3, 0x80, 0xf3, 0x0b, 0x00, 0xda, 0x30, 0x28, 0xfc, 0x11, 0xd3,
-	0x72, 0xcf, 0xa4, 0x65, 0x53, 0x70, 0xd0, 0x36, 0x39, 0xf7, 0xec, 0x9c, 0xcf, 0x3b, 0x67, 0x72,
-	0xbc, 0x14, 0x2e, 0xda, 0x75, 0x19, 0x95, 0xe8, 0x52, 0x9a, 0xa8, 0xa4, 0x85, 0x68, 0x97, 0xf9,
-	0x02, 0x42, 0xbb, 0x4c, 0x8c, 0xb3, 0xc2, 0xb7, 0xed, 0xba, 0x6c, 0xb3, 0x62, 0x71, 0xba, 0x78,
-	0x84, 0x76, 0x99, 0xcf, 0x03, 0xce, 0xf7, 0x7d, 0xf0, 0xd6, 0xfc, 0x70, 0x27, 0xfc, 0x31, 0x53,
-	0xfd, 0x2b, 0xa3, 0x13, 0x8a, 0xb1, 0x3f, 0xa8, 0x85, 0xb8, 0xb5, 0x0c, 0xce, 0x23, 0x9d, 0x5d,
-	0x3e, 0xec, 0xb9, 0x37, 0x27, 0xb3, 0x8b, 0x69, 0x77, 0x88, 0x61, 0x3c, 0xf8, 0x13, 0xbb, 0xee,
-	0xd8, 0xae, 0x58, 0x5c, 0x2b, 0x78, 0x84, 0x76, 0xc7, 0x84, 0x07, 0xd8, 0xb6, 0x4d, 0x1f, 0xfc,
-	0x83, 0xbf, 0x6b, 0xb7, 0x6d, 0xab, 0x15, 0xec, 0x95, 0x64, 0x55, 0x33, 0x5f, 0x40, 0xb7, 0x6d,
-	0x13, 0x0d, 0x4e, 0xfd, 0xca, 0x3a, 0x90, 0x07, 0x7f, 0xcf, 0xce, 0xaf, 0xdc, 0xe1, 0x56, 0xc5,
-	0x9d, 0xd6, 0xaf, 0x24, 0x7e, 0xb3, 0x84, 0x70, 0xb1, 0x3e, 0x78, 0xdb, 0x6e, 0x09, 0xd9, 0xa1,
-	0x14, 0x4e, 0x6e, 0xf3, 0x48, 0x97, 0x10, 0xd2, 0x3c, 0x51, 0x87, 0x42, 0x13, 0xf6, 0x81, 0x91,
-	0x9d, 0x43, 0xb1, 0x5b, 0x51, 0x45, 0x53, 0xa6, 0xa0, 0xd4, 0xa1, 0x08, 0x64, 0x90, 0xda, 0x50,
-	0x35, 0x86, 0x03, 0x7f, 0x6a, 0x67, 0x43, 0x1f, 0x53, 0xe6, 0x3a, 0x23, 0x72, 0x9b, 0x34, 0x09,
-	0xa4, 0x36, 0x34, 0x94, 0xb0, 0x56, 0x2d, 0x1f, 0xca, 0x81, 0x79, 0x07, 0xb5, 0x5f, 0x30, 0xa2,
-	0xa4, 0x96, 0x03, 0x1b, 0xb5, 0x1c, 0x46, 0x0d, 0x91, 0x1c, 0x78, 0x82, 0xcf, 0xec, 0x0c, 0x11,
-	0x93, 0xbf, 0x4d, 0x94, 0x37, 0x6d, 0x20, 0x6a, 0x88, 0x42, 0x01, 0x71, 0x12, 0x70, 0x59, 0x8e,
-	0x3b, 0xc1, 0x9f, 0x31, 0x75, 0x1b, 0xe6, 0xad, 0x6f, 0xcd, 0xe3, 0xb7, 0xbf, 0x02, 0x36, 0xec,
-	0xb9, 0x97, 0x42, 0x11, 0x72, 0xfe, 0xa1, 0x0f, 0x6e, 0xce, 0x89, 0x24, 0xc1, 0x77, 0x98, 0xf6,
-	0x2f, 0x4c, 0xda, 0x9f, 0xe0, 0x17, 0x6e, 0x25, 0x61, 0xa3, 0x12, 0xd0, 0x36, 0x63, 0x56, 0xe1,
-	0xb0, 0xe7, 0xc2, 0x68, 0x46, 0x99, 0x43, 0xc0, 0x25, 0x29, 0x3e, 0x05, 0x97, 0xec, 0xac, 0xd0,
-	0x93, 0x38, 0xdf, 0xa2, 0x2c, 0xae, 0x01, 0x3c, 0x42, 0xad, 0x50, 0xc4, 0x03, 0x74, 0x1d, 0x6b,
-	0x03, 0x53, 0x70, 0xd9, 0x6e, 0x1d, 0x7b, 0x52, 0x04, 0xdc, 0xae, 0xb8, 0x79, 0xa2, 0xeb, 0x58,
-	0x54, 0x3f, 0x50, 0x4b, 0x2a, 0x46, 0x9f, 0xe0, 0xbb, 0x76, 0xef, 0xf0, 0x59, 0xc5, 0x6a, 0x35,
-	0x08, 0x08, 0x7d, 0x87, 0x98, 0x07, 0xa8, 0xbd, 0xe1, 0x17, 0xcb, 0xf7, 0xec, 0xec, 0x8d, 0xb4,
-	0x50, 0x0a, 0x8b, 0x24, 0x48, 0xdb, 0x05, 0x92, 0x6e, 0xe8, 0x74, 0xb1, 0x10, 0xb8, 0x66, 0xe7,
-	0xbb, 0xb9, 0x02, 0x97, 0x3f, 0xd3, 0x53, 0x70, 0xea, 0xbb, 0xa5, 0x2a, 0xec, 0x7c, 0x0b, 0xae,
-	0x28, 0x21, 0x15, 0xb8, 0x6a, 0x37, 0x37, 0x5c, 0x46, 0x14, 0xcd, 0x9d, 0x84, 0xd1, 0xb9, 0x91,
-	0x8a, 0x10, 0x75, 0xd4, 0x85, 0x60, 0x06, 0xbc, 0x63, 0xe7, 0xa8, 0xef, 0x97, 0xa4, 0x56, 0x17,
-	0x0f, 0x50, 0x47, 0x3d, 0xe3, 0x9e, 0xa9, 0x2d, 0xd7, 0xc4, 0x14, 0xe0, 0xfb, 0x76, 0xb6, 0x7c,
-	0x9f, 0x51, 0xb7, 0x19, 0x93, 0x53, 0x28, 0xa3, 0xd4, 0x96, 0x67, 0x32, 0xc8, 0xa9, 0xe6, 0x83,
-	0x12, 0xf0, 0x6e, 0x17, 0xd5, 0xbb, 0x8c, 0x29, 0xab, 0xe6, 0xd0, 0x56, 0x35, 0x07, 0x3a, 0xff,
-	0xd4, 0x07, 0x6f, 0xce, 0x0d, 0xee, 0xc2, 0x7b, 0xac, 0x15, 0xbf, 0xb4, 0x9b, 0x29, 0x24, 0x8e,
-	0x06, 0x4c, 0xc6, 0x26, 0x13, 0x21, 0x4f, 0x1b, 0x5d, 0xf1, 0xb0, 0xe7, 0xde, 0x88, 0x67, 0x96,
-	0x3a, 0xff, 0xd8, 0x07, 0x3f, 0x98, 0x17, 0x57, 0x83, 0x1f, 0xb0, 0xf6, 0x7d, 0x69, 0x1e, 0x7b,
-	0xa5, 0x0c, 0x7d, 0xf3, 0x66, 0x96, 0x0e, 0x7b, 0xee, 0x1b, 0xe9, 0xac, 0x42, 0xe7, 0x5f, 0xfb,
-	0xe0, 0x6d, 0x8b, 0x88, 0x1d, 0xbc, 0xcf, 0xda, 0xe8, 0xd9, 0xb6, 0x91, 0xed, 0x66, 0x76, 0xa9,
-	0xa0, 0xad, 0x4a, 0x8e, 0xda, 0xd2, 0x19, 0x75, 0x86, 0x3d, 0xf7, 0x87, 0xe9, 0xfc, 0x2a, 0xce,
-	0x6f, 0xfb, 0xe0, 0x96, 0x29, 0x50, 0x04, 0x0b, 0xd6, 0xe4, 0x91, 0xa9, 0xc9, 0xbf, 0x2c, 0xe5,
-	0x3c, 0xa3, 0x62, 0x5c, 0x4e, 0x4a, 0xdb, 0xe0, 0xb9, 0x35, 0x86, 0x3d, 0xf7, 0xcd, 0x93, 0x79,
-	0x15, 0x9c, 0xbf, 0xef, 0x83, 0x9b, 0x73, 0xd2, 0x3c, 0xe0, 0x03, 0xd6, 0xce, 0x7d, 0xcb, 0x33,
-	0x94, 0x75, 0xe2, 0x3f, 0xae, 0xf8, 0xca, 0x61, 0x8a, 0x5c, 0x36, 0xec, 0xb9, 0xaf, 0x23, 0x7d,
-	0x11, 0x35, 0x49, 0xc2, 0xf5, 0x6b, 0xf8, 0xa1, 0x9d, 0x49, 0xda, 0x28, 0x49, 0xfc, 0xc6, 0xb5,
-	0x05, 0xa8, 0x49, 0xf2, 0xb8, 0x67, 0xba, 0x98, 0xf0, 0x11, 0x8c, 0x8f, 0xec, 0x16, 0x13, 0x29,
-	0x7c, 0x21, 0xc4, 0x2e, 0xc0, 0xa4, 0x0d, 0x5c, 0x84, 0xe0, 0xb2, 0x1c, 0xb2, 0x85, 0x1f, 0xdb,
-	0xf9, 0x54, 0xfb, 0x8c, 0xb7, 0xcf, 0x1f, 0xb3, 0x88, 0x10, 0xf5, 0xa9, 0x32, 0x01, 0x61, 0x7b,
-	0x0c, 0x7d, 0x7c, 0x19, 0x3e, 0xb4, 0xdb, 0x63, 0x94, 0x2a, 0x34, 0x7b, 0x71, 0x5d, 0x01, 0xdd,
-	0x63, 0x64, 0x1a, 0xdc, 0xf9, 0x9b, 0x3e, 0x78, 0x63, 0xe6, 0x85, 0x7f, 0xf8, 0x49, 0xb7, 0x13,
-	0x19, 0x4d, 0x47, 0xe8, 0x8b, 0xf8, 0x13, 0x19, 0xb1, 0xc4, 0xf9, 0xcb, 0x3e, 0x78, 0x7d, 0xc6,
-	0xbd, 0x7c, 0x38, 0xb0, 0x3b, 0x21, 0xdd, 0x68, 0xe8, 0x03, 0x69, 0xe3, 0xa7, 0x2d, 0x19, 0xf6,
-	0xdc, 0xd7, 0x3c, 0x5d, 0x81, 0xf3, 0x2f, 0x7d, 0xb0, 0x68, 0xbe, 0xe5, 0x0f, 0x33, 0x3b, 0x7b,
-	0xc6, 0x29, 0x6f, 0x04, 0xc9, 0xee, 0xbf, 0xa1, 0x0e, 0xb5, 0x67, 0xde, 0xfc, 0x2a, 0x72, 0x07,
-	0x0a, 0x2d, 0x8d, 0xbb, 0x76, 0xe0, 0xec, 0xf6, 0x89, 0xad, 0xe2, 0x3a, 0x90, 0x6f, 0xcb, 0xd7,
-	0xe0, 0x02, 0x7f, 0x7b, 0x15, 0xae, 0xdb, 0x05, 0xcc, 0x86, 0x8c, 0xd3, 0x6a, 0xe5, 0x9e, 0x87,
-	0x3d, 0xf7, 0xfc, 0x41, 0xfb, 0xc8, 0x0e, 0x49, 0x84, 0x9b, 0xf2, 0x70, 0xc3, 0xf2, 0x90, 0xa4,
-	0x62, 0x09, 0x07, 0x32, 0x2d, 0xc2, 0x0e, 0x49, 0x78, 0xc0, 0xf9, 0x0e, 0x5c, 0xd3, 0xdd, 0x82,
-	0x82, 0x9b, 0x76, 0xc1, 0xb2, 0x3d, 0xc6, 0xdd, 0x2e, 0xa9, 0xad, 0x52, 0x15, 0x1e, 0xf6, 0x5c,
-	0x27, 0x51, 0x50, 0xba, 0x1d, 0x68, 0x2f, 0xd0, 0xc3, 0x6d, 0xbb, 0xed, 0x00, 0x55, 0xd1, 0xea,
-	0x6a, 0x9e, 0xe8, 0x76, 0x00, 0xd7, 0x0f, 0x74, 0x13, 0xab, 0xde, 0x70, 0x85, 0x8f, 0xec, 0x36,
-	0xb1, 0x9f, 0x96, 0xcc, 0xbd, 0x00, 0x71, 0xd3, 0x4c, 0x06, 0xe9, 0x26, 0xf6, 0x50, 0xc2, 0xd8,
-	0x1e, 0x6f, 0xce, 0xdd, 0x5c, 0x38, 0xb4, 0xdb, 0xe3, 0x71, 0xba, 0xd4, 0x88, 0xd0, 0xac, 0x42,
-	0xba, 0xc7, 0x3b, 0x9c, 0x51, 0xc6, 0xdc, 0x18, 0x8b, 0xab, 0xb3, 0x70, 0xc7, 0x6e, 0xda, 0x73,
-	0x6d, 0x78, 0x52, 0x09, 0xaa, 0x20, 0x6d, 0x3b, 0x75, 0x75, 0xe8, 0xb4, 0x3f, 0x9c, 0x5f, 0x85,
-	0x79, 0x06, 0x73, 0x2e, 0x4b, 0xc3, 0x9f, 0xdb, 0x79, 0x06, 0x5c, 0x4b, 0x94, 0x58, 0xe2, 0x8c,
-	0x32, 0xea, 0x19, 0x1c, 0xea, 0x8b, 0x9c, 0xbf, 0xeb, 0x83, 0x1b, 0xb3, 0xef, 0x31, 0xc3, 0x4f,
-	0x3b, 0x37, 0x6a, 0x5e, 0xd7, 0x49, 0x5d, 0xc6, 0x37, 0x4a, 0xe8, 0xaa, 0xbf, 0xe8, 0x83, 0xd7,
-	0x67, 0x5c, 0xcd, 0x86, 0xbb, 0x76, 0x8b, 0x2f, 0xa7, 0x75, 0xc7, 0xc7, 0x48, 0xdb, 0x9c, 0xa6,
-	0x80, 0x2e, 0xbe, 0x87, 0x1a, 0x9c, 0x6d, 0x37, 0xe6, 0x66, 0x26, 0xc3, 0xc7, 0x76, 0xdb, 0x8d,
-	0x41, 0x29, 0xa4, 0x8c, 0xab, 0xee, 0x55, 0x22, 0x38, 0x97, 0x6e, 0x66, 0x31, 0xdd, 0x6e, 0xa0,
-	0x99, 0xa5, 0xec, 0xe2, 0x88, 0x78, 0xf3, 0x0a, 0x3e, 0xb1, 0xbc, 0x38, 0x92, 0xe1, 0x74, 0x97,
-	0xf0, 0x37, 0x65, 0x04, 0x84, 0x5d, 0x1c, 0xe1, 0x01, 0xba, 0xeb, 0xd3, 0x24, 0x0e, 0xc2, 0xcf,
-	0xec, 0x76, 0x7d, 0x1b, 0x8c, 0xba, 0xcf, 0x98, 0xdc, 0x6a, 0x25, 0xa3, 0x74, 0xd7, 0xe7, 0xc9,
-	0x20, 0x35, 0xad, 0x6d, 0x9e, 0x0e, 0xdc, 0xb3, 0x33, 0xad, 0xdb, 0x98, 0xdf, 0x87, 0x34, 0x4f,
-	0xd4, 0xb4, 0x4e, 0xea, 0x07, 0xe7, 0xdf, 0xfa, 0xe0, 0xc7, 0x36, 0x99, 0x20, 0xf0, 0x73, 0xa6,
-	0x14, 0x1b, 0xaf, 0x89, 0xe1, 0xf8, 0x29, 0x13, 0xb5, 0x51, 0x49, 0xda, 0x6f, 0x04, 0xb5, 0x6d,
-	0x31, 0x55, 0x1a, 0xf6, 0xdc, 0x5b, 0x53, 0x43, 0x1d, 0xba, 0xda, 0xe9, 0x32, 0x5e, 0xa1, 0x6b,
-	0xb7, 0xda, 0xd5, 0x16, 0x75, 0x93, 0x52, 0x55, 0x6f, 0xb0, 0x85, 0xe9, 0x6a, 0xe7, 0x29, 0x28,
-	0x1d, 0x78, 0x52, 0x26, 0x14, 0xdc, 0xb7, 0x3c, 0xed, 0xc7, 0xd8, 0xdf, 0xc9, 0x71, 0x28, 0x7e,
-	0x9b, 0x06, 0x61, 0xa7, 0xfd, 0x3c, 0x40, 0xb7, 0x15, 0x5c, 0x7a, 0x03, 0x7c, 0x6a, 0xb7, 0xad,
-	0xd8, 0xa5, 0x14, 0xfe, 0x98, 0xba, 0x7e, 0xa4, 0xdb, 0x8a, 0xa0, 0x79, 0xa2, 0xc3, 0x5a, 0x93,
-	0xee, 0x0c, 0xbf, 0xb4, 0x1b, 0xd6, 0xeb, 0x25, 0x75, 0x9f, 0x32, 0xf9, 0x08, 0xab, 0x84, 0xd2,
-	0x61, 0x3d, 0x96, 0x41, 0x66, 0x7b, 0x67, 0xe7, 0x4d, 0xc2, 0x5f, 0xd8, 0xd9, 0xde, 0x3a, 0xda,
-	0xb6, 0xc1, 0x04, 0xec, 0x92, 0xe8, 0x50, 0x8d, 0xc4, 0x49, 0x65, 0xd4, 0xf6, 0x7a, 0xfa, 0x22,
-	0xb6, 0xea, 0xcf, 0x49, 0x8e, 0x84, 0xbf, 0xb2, 0x5b, 0xf5, 0x6b, 0xcd, 0x8f, 0x4b, 0x09, 0xfa,
-	0x66, 0xc9, 0x85, 0x74, 0xd5, 0xf7, 0x66, 0x94, 0x51, 0x2f, 0x48, 0xcd, 0x63, 0x83, 0xcf, 0xed,
-	0xbc, 0x20, 0x3a, 0xc4, 0x1e, 0x97, 0x44, 0x71, 0xdc, 0xf1, 0x20, 0xf5, 0x82, 0x26, 0x12, 0xc6,
-	0xcc, 0x9e, 0x9a, 0x65, 0x0a, 0xff, 0xd0, 0xd2, 0xec, 0x55, 0x54, 0xd1, 0x18, 0x29, 0x28, 0x33,
-	0x7b, 0x32, 0xe8, 0x1c, 0xb1, 0xfb, 0x1f, 0xf2, 0x6f, 0x2f, 0xc0, 0x3f, 0xb2, 0x7b, 0xe5, 0x6a,
-	0x99, 0x17, 0x35, 0xcb, 0x20, 0x7d, 0x65, 0x24, 0x61, 0xec, 0x95, 0xd5, 0xe4, 0x74, 0xf8, 0xb5,
-	0xe5, 0x2b, 0x57, 0x54, 0xe9, 0x95, 0x65, 0x94, 0xbd, 0xb2, 0x0c, 0x96, 0xe1, 0x7e, 0x5d, 0x1a,
-	0x32, 0x44, 0x96, 0xe1, 0x7e, 0x46, 0xde, 0xa9, 0xb8, 0x72, 0x97, 0x0b, 0x38, 0x0b, 0xf7, 0xab,
-	0xb0, 0xf3, 0xb7, 0xfc, 0x8e, 0x5b, 0x4e, 0xee, 0x87, 0x63, 0xcb, 0x59, 0x59, 0x7b, 0xac, 0x0d,
-	0x5f, 0x73, 0x0d, 0x4a, 0x2c, 0x63, 0xb3, 0x52, 0x5f, 0xc4, 0x4e, 0x01, 0x66, 0x66, 0xdb, 0x42,
-	0xdf, 0xee, 0x14, 0x60, 0xab, 0x16, 0xa0, 0x9a, 0x60, 0x7d, 0xd1, 0xb0, 0xe7, 0x5e, 0xc7, 0xda,
-	0x12, 0x3a, 0x1b, 0xd5, 0x5f, 0xf7, 0x80, 0xd8, 0x76, 0x68, 0xee, 0xd5, 0x44, 0x7e, 0x68, 0x8a,
-	0x60, 0x39, 0x34, 0x45, 0x8c, 0x99, 0xcc, 0xd9, 0xe9, 0xb0, 0x70, 0x62, 0xf7, 0x71, 0xea, 0x57,
-	0x79, 0xd6, 0xf0, 0xd5, 0xc5, 0x48, 0x2a, 0xa3, 0x1f, 0x67, 0xa2, 0x2f, 0x62, 0x1b, 0xfa, 0x19,
-	0xa9, 0xcc, 0x70, 0x6a, 0xb7, 0xa1, 0x6f, 0xfa, 0x5f, 0x09, 0x02, 0x68, 0x4b, 0xe8, 0x86, 0x1e,
-	0xeb, 0x0a, 0x9c, 0x3f, 0xeb, 0x83, 0xeb, 0xfa, 0x64, 0x63, 0x78, 0x60, 0x37, 0x83, 0xea, 0x0e,
-	0x28, 0xdd, 0x0f, 0xb5, 0x63, 0x38, 0x9c, 0xce, 0xa0, 0x89, 0x0a, 0xb3, 0xb3, 0x33, 0x7d, 0x36,
-	0x10, 0x24, 0x76, 0xee, 0x7b, 0xb9, 0xeb, 0x7e, 0x56, 0x93, 0xe5, 0xed, 0xb8, 0x58, 0x40, 0xdd,
-	0xf7, 0x44, 0x83, 0xb3, 0x30, 0xac, 0x94, 0x25, 0x07, 0x03, 0xcb, 0x30, 0x2c, 0xe3, 0xfd, 0x3c,
-	0x1e, 0xcb, 0xb7, 0x82, 0x6b, 0x88, 0x85, 0x61, 0x05, 0x84, 0x19, 0x2f, 0x6d, 0x02, 0x18, 0x4c,
-	0xec, 0xba, 0x7e, 0xaf, 0x24, 0x57, 0x49, 0x0a, 0xdc, 0x4b, 0xab, 0x38, 0xed, 0xfa, 0x44, 0x85,
-	0x9d, 0x7f, 0xee, 0x83, 0x1f, 0x19, 0x13, 0xba, 0x60, 0xca, 0xda, 0x83, 0x2c, 0xbf, 0x42, 0x23,
-	0x47, 0x33, 0x6b, 0xe7, 0x57, 0x19, 0xf6, 0xdc, 0xb7, 0x92, 0xb9, 0x35, 0xd8, 0xb1, 0xae, 0x94,
-	0x52, 0x03, 0x8f, 0x2c, 0x8f, 0x75, 0xc9, 0x29, 0x2e, 0xe3, 0x05, 0xed, 0xd1, 0xaa, 0x00, 0xb1,
-	0x63, 0x5d, 0x01, 0x61, 0xdf, 0x48, 0x9b, 0x8a, 0x08, 0x8f, 0xed, 0xbe, 0xd1, 0x93, 0x38, 0xff,
-	0xb2, 0xe5, 0x0a, 0xc1, 0x62, 0x19, 0xa7, 0xdf, 0x28, 0x52, 0x61, 0x76, 0x29, 0x41, 0x75, 0xac,
-	0x4e, 0x2c, 0x2f, 0x25, 0xe8, 0x1c, 0x2a, 0x8d, 0x23, 0x75, 0x39, 0x94, 0x1d, 0x28, 0xe6, 0xc9,
-	0x28, 0xbf, 0x0d, 0x02, 0x4f, 0x6d, 0x3d, 0x99, 0x92, 0x2a, 0x5d, 0x64, 0x93, 0xd1, 0xd2, 0x93,
-	0x91, 0x40, 0x66, 0x21, 0x67, 0xfc, 0x3e, 0x18, 0xfc, 0xb5, 0xe5, 0xad, 0x5a, 0x46, 0xdf, 0x69,
-	0xd8, 0xc2, 0xe6, 0x59, 0x2d, 0x61, 0xb7, 0x6a, 0x75, 0x05, 0x74, 0xc0, 0xc9, 0x69, 0x7d, 0xf0,
-	0x3b, 0xbb, 0x01, 0xe7, 0x52, 0x9e, 0x78, 0x92, 0x26, 0x42, 0x74, 0xc0, 0xa5, 0x02, 0xe2, 0xf8,
-	0xe0, 0xa2, 0x90, 0x56, 0x0f, 0xff, 0xd8, 0x2e, 0xf4, 0xb2, 0x53, 0x92, 0xf8, 0x1b, 0xf4, 0x2d,
-	0x30, 0xec, 0xb9, 0x17, 0x08, 0xf7, 0x5c, 0x5a, 0x5c, 0x6d, 0xfe, 0x28, 0xfc, 0x13, 0x4b, 0x8b,
-	0x5b, 0xb1, 0xab, 0xa3, 0x08, 0xde, 0xf8, 0xa8, 0x05, 0xcc, 0xe2, 0x6a, 0x70, 0xe7, 0x1b, 0x70,
-	0x49, 0xca, 0x3a, 0x83, 0xbf, 0xe9, 0xdb, 0xed, 0x0b, 0x9f, 0x92, 0x10, 0x7f, 0x15, 0x47, 0xdc,
-	0x1b, 0x0b, 0x08, 0xdd, 0x17, 0xe6, 0x3c, 0xb0, 0x7e, 0x81, 0x4f, 0xb4, 0x5a, 0xfc, 0xaf, 0x3e,
-	0xb8, 0x28, 0xa4, 0x28, 0x39, 0x11, 0xb8, 0x5a, 0x86, 0xa3, 0x12, 0x94, 0x1f, 0x8c, 0x70, 0x80,
-	0x59, 0x73, 0xe1, 0x19, 0x96, 0xf0, 0xf5, 0x71, 0xa7, 0x74, 0xa7, 0x32, 0x2a, 0xb5, 0x87, 0xf2,
-	0x83, 0xad, 0x52, 0x8c, 0x7b, 0x65, 0x22, 0x21, 0xd9, 0x0d, 0x1f, 0x5c, 0x96, 0xab, 0x39, 0x6f,
-	0x82, 0x32, 0x84, 0x35, 0x8a, 0x50, 0x58, 0x26, 0x83, 0x9d, 0x73, 0xcf, 0x31, 0xe4, 0x09, 0x0a,
-	0xb1, 0xf3, 0x1e, 0x78, 0x99, 0x44, 0x3e, 0x3e, 0x66, 0xd9, 0x46, 0xe7, 0x57, 0x6e, 0xd6, 0x8d,
-	0xaa, 0x13, 0xdd, 0x96, 0x76, 0xa2, 0xfc, 0xee, 0x9d, 0x32, 0x77, 0xab, 0xac, 0xb9, 0xf8, 0xfd,
-	0x19, 0x70, 0x81, 0x4f, 0xa0, 0x72, 0xee, 0x80, 0xeb, 0x45, 0x94, 0x14, 0xe3, 0x80, 0x64, 0x07,
-	0xb5, 0x31, 0x6b, 0x73, 0xcf, 0xce, 0xb9, 0xd7, 0xb8, 0xd2, 0x36, 0xbf, 0x2a, 0x01, 0x50, 0x59,
-	0xa1, 0xeb, 0x34, 0xae, 0xb2, 0x31, 0x77, 0x3b, 0xae, 0xd1, 0x75, 0x42, 0xd7, 0xf5, 0x44, 0x8b,
-	0x3b, 0xdf, 0x34, 0x3e, 0x41, 0x7d, 0x3c, 0x5f, 0xeb, 0x2b, 0x53, 0xd8, 0xee, 0x74, 0x3a, 0xa0,
-	0xaf, 0xb5, 0x5d, 0x4b, 0x34, 0xe8, 0xe2, 0xff, 0xf6, 0xc1, 0x75, 0x7d, 0xf3, 0x9c, 0x8f, 0xc1,
-	0x4d, 0xea, 0x39, 0xb1, 0x9c, 0x96, 0xaa, 0x3d, 0x3e, 0xce, 0xbc, 0x94, 0x24, 0x2c, 0x19, 0xae,
-	0x4c, 0xb4, 0x7b, 0xa3, 0xae, 0x52, 0x0a, 0xd9, 0x6c, 0x2b, 0x38, 0x9b, 0xe0, 0xa5, 0x43, 0x7c,
-	0x52, 0x25, 0xcd, 0xad, 0x98, 0xd2, 0xee, 0xa4, 0x46, 0x7c, 0x8a, 0x4f, 0x5c, 0x4a, 0x77, 0xde,
-	0x05, 0xd7, 0xe4, 0x56, 0xb0, 0x11, 0xf2, 0x32, 0x53, 0xef, 0x88, 0xea, 0xd9, 0x50, 0x79, 0x1b,
-	0x5c, 0x24, 0xd9, 0x08, 0x1f, 0xe3, 0x30, 0xc9, 0xc9, 0x38, 0xc0, 0xf0, 0x95, 0x5b, 0xfd, 0xdb,
-	0x67, 0xdd, 0x0b, 0x24, 0xdb, 0x6a, 0xb0, 0xc5, 0x53, 0x70, 0x4d, 0xd7, 0x4b, 0xce, 0xb8, 0x09,
-	0x8d, 0xe4, 0x71, 0x42, 0xbc, 0x11, 0x8e, 0xf2, 0x94, 0xe0, 0x3a, 0xf9, 0xf1, 0x5d, 0xbb, 0xb7,
-	0x78, 0x4a, 0xa9, 0x5b, 0x51, 0x9e, 0x9e, 0xd4, 0xf1, 0x8f, 0x06, 0x21, 0x38, 0x5b, 0xff, 0x6f,
-	0x16, 0x8b, 0x0b, 0x0d, 0x5f, 0x71, 0xfd, 0x3c, 0x1b, 0x83, 0xd9, 0x1e, 0x1d, 0xe1, 0x7b, 0xfd,
-	0xaf, 0x36, 0xab, 0xea, 0xd3, 0x38, 0x40, 0xd1, 0x74, 0x29, 0x4e, 0xa7, 0xcb, 0x53, 0x1c, 0xb1,
-	0xf1, 0x5f, 0x67, 0x8c, 0x26, 0x24, 0x9b, 0x95, 0x40, 0xfa, 0xa0, 0xfc, 0xf3, 0xfd, 0x99, 0x97,
-	0x1e, 0x0d, 0x06, 0xbf, 0x3d, 0xf3, 0x56, 0x99, 0x8a, 0xb9, 0x34, 0xf0, 0xb9, 0x84, 0xcd, 0xa5,
-	0x67, 0xab, 0xe5, 0x64, 0xce, 0xfe, 0xb3, 0xae, 0xf0, 0x7c, 0xe0, 0x67, 0xcf, 0x9b, 0x0a, 0xcf,
-	0x9f, 0xad, 0x3e, 0x2f, 0x2b, 0xfc, 0xcf, 0x99, 0xc5, 0x12, 0x5d, 0x5b, 0x1b, 0xf8, 0xd9, 0xda,
-	0x5a, 0x53, 0x65, 0x6d, 0xed, 0xd9, 0xea, 0xda, 0x5a, 0x59, 0x69, 0xfc, 0x0a, 0x6b, 0xdd, 0xea,
-	0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xdd, 0x1d, 0x00, 0x9a, 0xb7, 0x53, 0x00, 0x00,
+	0x76, 0x9f, 0x91, 0xb3, 0x96, 0x04, 0x49, 0x94, 0xd4, 0x92, 0x65, 0x58, 0x5a, 0x7b, 0xb5, 0xf4,
+	0x6e, 0xa2, 0x6c, 0xd6, 0xa4, 0x4d, 0xca, 0x92, 0x45, 0xd9, 0x96, 0x87, 0x5f, 0x1a, 0xae, 0x29,
+	0x89, 0x6e, 0xca, 0xf2, 0xae, 0x57, 0xc9, 0x18, 0xd3, 0x8d, 0x19, 0xc2, 0xec, 0x2f, 0xf7, 0x07,
+	0x45, 0xaa, 0xd6, 0xc9, 0xee, 0x56, 0x25, 0x55, 0x49, 0x55, 0x52, 0x95, 0xa4, 0x2a, 0x87, 0x1c,
+	0x72, 0xf0, 0x71, 0x0f, 0x7b, 0x48, 0x0e, 0xf9, 0x17, 0x52, 0xf9, 0x3f, 0x92, 0x43, 0xee, 0xb9,
+	0xa7, 0x80, 0xfe, 0xc2, 0xd7, 0x0c, 0xd0, 0x39, 0x91, 0xfd, 0x03, 0x7e, 0xef, 0xa1, 0xd1, 0xc0,
+	0xc3, 0x03, 0x1e, 0xde, 0x80, 0x3f, 0x99, 0xc6, 0xf1, 0x34, 0xc0, 0xcb, 0xc8, 0xcf, 0x96, 0xcb,
+	0x7f, 0xe9, 0x7f, 0x47, 0xab, 0xcb, 0x38, 0x4d, 0xe3, 0x34, 0xab, 0xfe, 0x2c, 0x25, 0x69, 0x9c,
+	0xc7, 0xce, 0x5b, 0x65, 0x8d, 0x25, 0xe4, 0x67, 0x4b, 0x4d, 0xe5, 0xa5, 0xa3, 0xd5, 0xa5, 0xb2,
+	0xd6, 0xf5, 0x99, 0xc2, 0xbc, 0x38, 0x0c, 0xe3, 0x68, 0x39, 0x89, 0x03, 0xe2, 0x9d, 0x94, 0xc2,
+	0xae, 0xff, 0xc4, 0x50, 0xf9, 0x08, 0x05, 0x05, 0xae, 0xea, 0x7e, 0x68, 0x68, 0x25, 0xf2, 0x3c,
+	0x9c, 0x65, 0x23, 0x12, 0x1d, 0x91, 0x1c, 0xe5, 0x24, 0x8e, 0x46, 0xac, 0xa0, 0x62, 0xaf, 0x9b,
+	0xd9, 0x71, 0x11, 0xe5, 0xa3, 0x71, 0xe1, 0x4f, 0x71, 0x3e, 0x4a, 0xd2, 0x38, 0x89, 0x33, 0x14,
+	0x08, 0x32, 0x3e, 0x30, 0xc9, 0xf0, 0x47, 0x5e, 0x91, 0xe5, 0x71, 0x48, 0x5e, 0xe2, 0x54, 0x60,
+	0xbe, 0x63, 0x66, 0xf2, 0xd5, 0xef, 0x98, 0xab, 0x4f, 0xd3, 0xb8, 0x48, 0x46, 0x12, 0xef, 0x13,
+	0x5b, 0xde, 0x98, 0xf8, 0xa3, 0x30, 0xf6, 0xc9, 0x84, 0x48, 0x0d, 0xfd, 0xc8, 0x56, 0x82, 0x97,
+	0x92, 0x1c, 0xa7, 0x72, 0x2f, 0xaf, 0xda, 0xd2, 0x3b, 0x76, 0x6b, 0x49, 0x9a, 0x60, 0x2c, 0xbe,
+	0xef, 0x5d, 0x33, 0x33, 0x41, 0x29, 0x0a, 0x71, 0x2e, 0xbd, 0xe6, 0xfb, 0x66, 0x62, 0x76, 0x80,
+	0x52, 0x12, 0x4d, 0x05, 0xda, 0x92, 0x91, 0x76, 0x2c, 0xd4, 0x7f, 0xd7, 0x54, 0x3f, 0xcb, 0x70,
+	0xde, 0xad, 0x61, 0x8c, 0x11, 0x90, 0xe8, 0x50, 0xa0, 0xdd, 0x33, 0xd1, 0x8a, 0xfc, 0x00, 0x47,
+	0x39, 0xf1, 0xd4, 0x89, 0xf1, 0x81, 0x05, 0x35, 0x4e, 0xc9, 0x4b, 0x95, 0xb9, 0x62, 0x60, 0x8e,
+	0x89, 0xef, 0xcb, 0x3d, 0x78, 0xdf, 0x92, 0x93, 0xe5, 0x29, 0xca, 0xf1, 0xf4, 0xa4, 0x53, 0x53,
+	0xc7, 0x24, 0x08, 0x18, 0x19, 0xe7, 0xd2, 0x10, 0x5b, 0x33, 0x30, 0x3d, 0x14, 0x26, 0x88, 0x4c,
+	0xa3, 0x7a, 0xfa, 0x77, 0x99, 0x12, 0x0d, 0x57, 0x3f, 0x25, 0xee, 0xd9, 0xd2, 0xfd, 0x14, 0x4d,
+	0xf2, 0x4e, 0xb3, 0xa9, 0xa1, 0xf2, 0xa4, 0x8f, 0xad, 0x49, 0xc7, 0x09, 0x4e, 0x49, 0x88, 0xa3,
+	0xbc, 0x53, 0x27, 0x37, 0x7c, 0x65, 0x36, 0x5a, 0x6b, 0xa6, 0x53, 0x0b, 0xfb, 0x23, 0x79, 0xec,
+	0x1b, 0x35, 0x1f, 0xa0, 0x68, 0x8a, 0x47, 0x59, 0x8e, 0xf2, 0x22, 0xeb, 0xf6, 0x79, 0xe3, 0x20,
+	0xc0, 0x1e, 0x1b, 0xc0, 0x19, 0x79, 0x89, 0x3b, 0x8d, 0x62, 0x2f, 0x8e, 0x72, 0x7c, 0x2c, 0xb6,
+	0xf4, 0x43, 0x33, 0xe7, 0x08, 0xa7, 0x19, 0xd5, 0x87, 0x3c, 0x65, 0xde, 0x3c, 0xec, 0xc0, 0xf6,
+	0xbf, 0x2e, 0xb2, 0x9c, 0x7d, 0xa3, 0x22, 0x09, 0x62, 0xc9, 0xdc, 0x77, 0x68, 0x86, 0x86, 0x7d,
+	0xd7, 0xc8, 0x2e, 0xa2, 0x3c, 0x3d, 0x19, 0x79, 0xb1, 0x2f, 0xf6, 0xd8, 0x6d, 0x13, 0x51, 0x3b,
+	0x0f, 0x8c, 0x5f, 0xb7, 0x48, 0x53, 0x1c, 0x79, 0x1a, 0x7d, 0xc6, 0xaf, 0xcb, 0xd6, 0xdc, 0x11,
+	0x89, 0x72, 0x9c, 0xe2, 0x4c, 0xfc, 0x52, 0x0f, 0xac, 0xb8, 0x38, 0x1d, 0x79, 0x01, 0xa1, 0xbd,
+	0xac, 0x58, 0xd6, 0x55, 0x5b, 0x01, 0xdd, 0xde, 0xb5, 0x22, 0x29, 0x73, 0xe8, 0x13, 0x5b, 0x66,
+	0x88, 0x22, 0x34, 0xc5, 0x69, 0xf7, 0x06, 0xfb, 0x28, 0x47, 0x63, 0x94, 0x89, 0x5d, 0xbc, 0x6c,
+	0x26, 0xe1, 0x4e, 0xeb, 0x14, 0x23, 0xa4, 0x6c, 0xbe, 0x76, 0x6a, 0x1c, 0xc9, 0x72, 0x12, 0x79,
+	0x79, 0xa7, 0xc6, 0xe1, 0xa8, 0x08, 0x3b, 0x19, 0x22, 0x7c, 0x9c, 0xe3, 0x88, 0x4d, 0x0b, 0xd6,
+	0xff, 0x24, 0xc7, 0x61, 0xa7, 0x79, 0xd5, 0xf2, 0x33, 0x9c, 0xe7, 0xf2, 0x12, 0xb7, 0x61, 0x60,
+	0x33, 0x9d, 0x28, 0xcf, 0x53, 0x32, 0x2e, 0x68, 0x27, 0xe1, 0x09, 0xa6, 0x03, 0xbf, 0xdb, 0x07,
+	0x51, 0x06, 0xce, 0x6d, 0x1b, 0x82, 0xf2, 0xa6, 0xf7, 0xad, 0x59, 0x39, 0x4a, 0xe5, 0x85, 0xf1,
+	0x81, 0x35, 0xf9, 0x08, 0x05, 0xc4, 0x57, 0x1d, 0x88, 0xbb, 0x36, 0x02, 0x42, 0x94, 0x24, 0x72,
+	0x17, 0x9b, 0xfc, 0xaa, 0x09, 0xc1, 0x81, 0xdf, 0x69, 0xbc, 0x96, 0x8c, 0x10, 0x65, 0xdd, 0x26,
+	0xd3, 0xa4, 0x88, 0x54, 0xfb, 0x7e, 0xdf, 0x96, 0x94, 0xa0, 0x34, 0x93, 0x5f, 0x6d, 0xc7, 0x40,
+	0x9e, 0xe2, 0xb8, 0xfe, 0x16, 0x5e, 0x1c, 0x65, 0x39, 0x8a, 0xf2, 0x51, 0x56, 0x4c, 0xa7, 0x38,
+	0x53, 0xda, 0xf1, 0x9e, 0x41, 0xd4, 0x01, 0x46, 0x7e, 0xc7, 0x7d, 0x0a, 0xf1, 0x3b, 0x7d, 0x07,
+	0x12, 0xa2, 0x8e, 0x06, 0x80, 0x19, 0xf1, 0x48, 0xda, 0x77, 0xad, 0x18, 0x49, 0x47, 0x31, 0x91,
+	0x26, 0x90, 0xc9, 0x90, 0x1e, 0xe2, 0x93, 0x17, 0x71, 0xea, 0x8f, 0x92, 0x00, 0xd1, 0x65, 0x56,
+	0xb3, 0x2d, 0xe9, 0x24, 0x41, 0xeb, 0x8a, 0xdd, 0xed, 0x22, 0xa1, 0x8b, 0x01, 0x12, 0x88, 0xc4,
+	0xc7, 0xa8, 0xd3, 0xbc, 0x14, 0xd8, 0xf5, 0x03, 0x2f, 0x60, 0xd8, 0x45, 0x40, 0x84, 0xa7, 0x28,
+	0x27, 0x47, 0x58, 0x2b, 0xc9, 0x34, 0x40, 0x02, 0x34, 0xc6, 0xdd, 0xf6, 0xd8, 0x01, 0x8a, 0xa6,
+	0x05, 0x1d, 0x55, 0x8a, 0x9b, 0x60, 0x72, 0xb4, 0x03, 0x92, 0xe5, 0xa3, 0x38, 0xc1, 0x69, 0x77,
+	0x43, 0x34, 0x73, 0xb1, 0x35, 0x12, 0xb1, 0x4f, 0xd0, 0x68, 0x5c, 0x44, 0x7e, 0xd0, 0x6d, 0xfd,
+	0x2c, 0x89, 0x13, 0x22, 0xd1, 0xec, 0xf4, 0x69, 0x9c, 0x3d, 0xa3, 0xbe, 0x22, 0xc8, 0x49, 0x12,
+	0xc8, 0xc7, 0x01, 0xef, 0x19, 0x69, 0x79, 0x57, 0xcf, 0xa0, 0xa2, 0x7c, 0x1d, 0x8f, 0x3b, 0xcd,
+	0xb6, 0x08, 0xbf, 0x18, 0xa5, 0x38, 0x8b, 0x8b, 0xd4, 0xc3, 0x23, 0x2f, 0xc5, 0xea, 0x47, 0x34,
+	0xad, 0x80, 0x51, 0x9c, 0x8f, 0x70, 0x98, 0xe4, 0x27, 0x9d, 0x9c, 0x4b, 0xca, 0x7a, 0x71, 0x40,
+	0x72, 0x4c, 0x87, 0x8f, 0xb4, 0xe6, 0x9a, 0x16, 0xe9, 0xa8, 0x08, 0x82, 0x4e, 0x2f, 0x19, 0x4f,
+	0x26, 0x01, 0x89, 0xf0, 0xa8, 0xc8, 0x70, 0x3a, 0xa2, 0x8e, 0x9a, 0xd2, 0x4d, 0xa6, 0x63, 0xac,
+	0x76, 0x7c, 0x57, 0xc7, 0x61, 0x3e, 0x8e, 0x88, 0xd4, 0xec, 0x55, 0x2b, 0x19, 0x71, 0xda, 0xa9,
+	0x9f, 0x12, 0x94, 0xe6, 0x04, 0x05, 0xa3, 0x09, 0x22, 0x41, 0x91, 0xe2, 0x4e, 0x0b, 0x62, 0x82,
+	0x4e, 0xe8, 0x16, 0x27, 0x1b, 0xd5, 0x87, 0x70, 0x5d, 0xa6, 0x75, 0x79, 0x9e, 0x38, 0x9a, 0x90,
+	0x48, 0x39, 0x6c, 0xd8, 0xb6, 0xa3, 0x72, 0xde, 0x89, 0xfe, 0xb4, 0xe8, 0xbe, 0xa5, 0x1c, 0x12,
+	0x07, 0xea, 0xb0, 0x34, 0x99, 0xc0, 0x6f, 0x0a, 0x9c, 0x9e, 0x74, 0x64, 0xc4, 0x39, 0xea, 0xc4,
+	0x50, 0x1d, 0x71, 0xd3, 0x2c, 0x4d, 0x31, 0xf2, 0x0e, 0xd4, 0x85, 0xe9, 0x9e, 0x91, 0xe6, 0xc5,
+	0x61, 0x88, 0x23, 0x8d, 0xb3, 0x77, 0xc7, 0x48, 0x9d, 0x52, 0x8a, 0x62, 0xd6, 0x57, 0x8c, 0xbc,
+	0x6f, 0x0a, 0x79, 0xd7, 0x37, 0x30, 0x72, 0x2a, 0x43, 0x32, 0x7b, 0x92, 0x0c, 0x6d, 0x45, 0x94,
+	0x23, 0x36, 0x20, 0x21, 0xc9, 0x47, 0xf8, 0xd8, 0xc3, 0xd8, 0x97, 0x24, 0x99, 0x5e, 0x40, 0xb7,
+	0x87, 0x30, 0x8d, 0xb8, 0xea, 0x04, 0x45, 0xbf, 0xd3, 0x7e, 0xdf, 0x8e, 0xdc, 0xf5, 0xe8, 0x91,
+	0x9d, 0x9c, 0x54, 0xef, 0xd9, 0x61, 0xc1, 0xce, 0x72, 0x76, 0x8c, 0x3a, 0x89, 0xd3, 0x10, 0xfd,
+	0xbf, 0x98, 0x01, 0x8e, 0xa6, 0xf9, 0x41, 0x27, 0x53, 0x9f, 0x93, 0x10, 0x8f, 0x5e, 0xc6, 0x51,
+	0xb7, 0x73, 0x8b, 0x22, 0x0d, 0x46, 0xea, 0xce, 0xc1, 0xc8, 0x6a, 0x6c, 0x75, 0x67, 0x16, 0xf3,
+	0x48, 0x78, 0xd6, 0x96, 0x81, 0x75, 0x12, 0x17, 0x79, 0x31, 0xc6, 0xa3, 0x23, 0xe2, 0xe3, 0x78,
+	0x44, 0x67, 0x0c, 0x3b, 0x27, 0x95, 0x07, 0x40, 0x15, 0xa2, 0x59, 0x66, 0x4f, 0xe3, 0x62, 0xb2,
+	0xfc, 0x22, 0x45, 0x49, 0x82, 0xeb, 0x10, 0xce, 0xf5, 0xef, 0xd7, 0x6a, 0x12, 0xb2, 0x8c, 0xa2,
+	0x28, 0x2e, 0xc3, 0x25, 0x55, 0xe9, 0xe2, 0x97, 0xe0, 0xd2, 0x43, 0x56, 0x3e, 0xf0, 0xb3, 0xed,
+	0xd2, 0x9a, 0x3b, 0xdb, 0xe0, 0xd5, 0xb2, 0x09, 0xb0, 0x7f, 0xf3, 0x95, 0x5b, 0xe7, 0x56, 0x96,
+	0x96, 0xe6, 0x47, 0x81, 0x96, 0x1a, 0x09, 0x5b, 0xf4, 0xd9, 0xad, 0xd8, 0x8b, 0xff, 0x71, 0x0a,
+	0x2c, 0x88, 0x45, 0xce, 0x10, 0x00, 0x56, 0xc8, 0x66, 0x3e, 0xec, 0xdf, 0xec, 0xdf, 0x3a, 0xb7,
+	0xf2, 0xc7, 0x26, 0xf1, 0x8c, 0xba, 0x11, 0xfb, 0xd8, 0x3d, 0x8b, 0xeb, 0x7f, 0x1d, 0x08, 0x4e,
+	0x87, 0x38, 0xcb, 0xd0, 0x14, 0xc3, 0x53, 0x37, 0xfb, 0xb7, 0xce, 0xba, 0xf5, 0xa3, 0xf3, 0x00,
+	0x9c, 0xce, 0x53, 0x32, 0x9d, 0xe2, 0x14, 0xbe, 0xc2, 0x14, 0xfc, 0x78, 0xa6, 0x82, 0x32, 0xf0,
+	0xb4, 0xf4, 0x0c, 0x05, 0x05, 0x76, 0x6b, 0x96, 0xb3, 0x03, 0xce, 0x04, 0x71, 0x79, 0x78, 0x0e,
+	0xff, 0x80, 0x49, 0x78, 0xc7, 0xaa, 0x89, 0xbb, 0x15, 0xc9, 0x6d, 0xe8, 0xce, 0x36, 0x38, 0xed,
+	0xe3, 0x1c, 0x91, 0x20, 0x83, 0xdf, 0x63, 0x92, 0x7e, 0x6a, 0x25, 0x69, 0xb3, 0xe4, 0xb8, 0x35,
+	0x79, 0xf1, 0xf7, 0x87, 0xe0, 0x6c, 0xd3, 0x0d, 0x8e, 0x0f, 0x2e, 0x08, 0x86, 0x90, 0x75, 0xe4,
+	0xc2, 0xca, 0x47, 0x26, 0xd9, 0x6e, 0x49, 0x62, 0x82, 0xb6, 0xa2, 0x22, 0x14, 0x80, 0x61, 0xcf,
+	0x3d, 0x9f, 0x72, 0xcf, 0xce, 0x5f, 0xf6, 0xc1, 0x35, 0xfd, 0x09, 0x3d, 0xeb, 0xf1, 0x85, 0x95,
+	0x47, 0x26, 0x7d, 0xeb, 0x25, 0x7b, 0xbf, 0x22, 0xb7, 0x7a, 0x75, 0x05, 0xc3, 0x9e, 0x7b, 0x75,
+	0xac, 0xc1, 0x1d, 0x02, 0x2e, 0x4a, 0x93, 0x95, 0x7d, 0xd7, 0x85, 0x95, 0x07, 0x26, 0xfd, 0x9f,
+	0xa7, 0xc1, 0x36, 0x65, 0xb5, 0x8a, 0x05, 0x64, 0xd8, 0x73, 0x2f, 0x14, 0x3c, 0xe0, 0x7c, 0x0b,
+	0xae, 0xea, 0x36, 0x0e, 0x6c, 0x14, 0x2c, 0xac, 0xec, 0x98, 0xf4, 0xed, 0x92, 0x2c, 0x7f, 0x52,
+	0x53, 0x5b, 0xa5, 0x2a, 0x3c, 0xec, 0xb9, 0x4e, 0xa0, 0xa0, 0xce, 0x73, 0x70, 0x8e, 0x73, 0x10,
+	0xd8, 0x88, 0x59, 0x58, 0xb9, 0x67, 0xd2, 0xfa, 0x19, 0xa5, 0xb4, 0xda, 0xda, 0xc7, 0x61, 0xcf,
+	0x05, 0xdf, 0x34, 0x4f, 0xce, 0x57, 0xe0, 0x3c, 0xef, 0xc1, 0xc3, 0xd3, 0x4c, 0xfc, 0x7d, 0x93,
+	0xf8, 0x47, 0x8c, 0xd3, 0xca, 0xe7, 0x9e, 0x87, 0x3d, 0xf7, 0x5c, 0xd8, 0x3e, 0x3a, 0x21, 0xb8,
+	0x24, 0x1f, 0xad, 0xc0, 0x33, 0x4c, 0xcb, 0xc0, 0xa4, 0x85, 0x7d, 0x84, 0x47, 0x28, 0x3b, 0x6c,
+	0x15, 0x89, 0xd0, 0xb0, 0xe7, 0x2e, 0x4c, 0x04, 0xc4, 0xf9, 0x15, 0xb8, 0xa2, 0x89, 0x57, 0xc1,
+	0xb3, 0x76, 0x1f, 0x6b, 0xc0, 0x53, 0x5b, 0xad, 0x2a, 0x4c, 0x3f, 0x16, 0x52, 0x50, 0xe7, 0x00,
+	0x2c, 0x88, 0xe7, 0x17, 0x10, 0xd8, 0x8d, 0xca, 0x9d, 0x8a, 0xd5, 0xea, 0x14, 0x10, 0x3a, 0x2a,
+	0x09, 0x0f, 0x94, 0xc3, 0xa2, 0xf1, 0x02, 0xe1, 0x39, 0xdb, 0x61, 0x11, 0xe7, 0x88, 0x1f, 0x16,
+	0xf5, 0x63, 0x39, 0x2c, 0xea, 0x27, 0x67, 0x0f, 0x9c, 0xa9, 0xb7, 0x8f, 0xf0, 0x3c, 0x13, 0xbd,
+	0x6a, 0xec, 0x3a, 0x6e, 0x46, 0x0d, 0x9a, 0xb9, 0x74, 0x1a, 0x55, 0xb3, 0x08, 0x83, 0x05, 0xf1,
+	0x8c, 0x05, 0x5e, 0xb0, 0xb3, 0x4f, 0x03, 0xff, 0x21, 0x25, 0xf1, 0xc2, 0x5b, 0x80, 0xda, 0x27,
+	0xc4, 0x3d, 0x3b, 0xbf, 0xe9, 0x83, 0xd7, 0xb4, 0xa1, 0x3c, 0xb8, 0xc0, 0xd4, 0x7d, 0x6a, 0x52,
+	0xb7, 0x51, 0x91, 0xd7, 0x19, 0xb7, 0xd5, 0xaa, 0xc1, 0x87, 0x3d, 0xf7, 0x8a, 0xa7, 0xc2, 0x74,
+	0x10, 0x88, 0x87, 0x41, 0xf0, 0xa2, 0xdd, 0x20, 0xa8, 0x75, 0xa8, 0x5a, 0x9b, 0x41, 0xe0, 0xf1,
+	0x80, 0xf3, 0xeb, 0x3e, 0xb8, 0xaa, 0x0b, 0xec, 0xc2, 0xcb, 0x76, 0x2f, 0x3b, 0x10, 0xb8, 0xe2,
+	0x78, 0x97, 0x70, 0xfa, 0xb2, 0x48, 0x85, 0x9d, 0xbf, 0xe9, 0x03, 0x38, 0xeb, 0x4a, 0x00, 0x74,
+	0x58, 0x33, 0x9e, 0x58, 0x7e, 0xe2, 0x8d, 0x9a, 0xad, 0x7c, 0x6b, 0xb1, 0x64, 0xd8, 0x73, 0x5f,
+	0x43, 0xba, 0x02, 0xe7, 0x04, 0x5c, 0xd1, 0xdc, 0xc0, 0x80, 0x57, 0x58, 0x33, 0x1e, 0x9a, 0x9b,
+	0xb1, 0xd1, 0x30, 0xf9, 0x26, 0x48, 0xe8, 0xb0, 0xe7, 0x5e, 0x46, 0x32, 0xe8, 0x44, 0xe0, 0xb2,
+	0x72, 0x27, 0x03, 0xbe, 0x66, 0x67, 0xe7, 0xaa, 0xb7, 0x14, 0x67, 0x10, 0x0f, 0x51, 0x3b, 0x87,
+	0x04, 0x84, 0x9a, 0x55, 0xf9, 0x8a, 0x02, 0x84, 0xb6, 0xea, 0xf6, 0x4b, 0x1a, 0xaf, 0x8e, 0x87,
+	0x4a, 0x75, 0x3c, 0xe2, 0x3c, 0x05, 0x67, 0x9b, 0xab, 0x0d, 0xf0, 0x0d, 0xa6, 0xe7, 0x7d, 0xb3,
+	0x9e, 0x63, 0x5e, 0xc3, 0x71, 0x2d, 0xfb, 0x0c, 0xaa, 0xfe, 0xa7, 0x46, 0x8c, 0xbb, 0x00, 0x01,
+	0x0f, 0xed, 0x8c, 0xd8, 0x80, 0x52, 0x38, 0xc9, 0xcd, 0x23, 0x35, 0x62, 0xa8, 0x79, 0xa2, 0x1e,
+	0x91, 0x70, 0x01, 0x01, 0x5e, 0xb7, 0xb3, 0x38, 0x95, 0x23, 0xa2, 0x78, 0x26, 0x8d, 0xc5, 0x19,
+	0x73, 0xcf, 0xce, 0xdf, 0xf6, 0x01, 0x9c, 0x75, 0x01, 0x00, 0xbe, 0xc9, 0x34, 0x7e, 0x66, 0x3b,
+	0xf1, 0x35, 0x33, 0x40, 0x5f, 0x34, 0xec, 0xb9, 0xd7, 0x3c, 0x6d, 0x49, 0x69, 0x01, 0x75, 0xd1,
+	0x6e, 0xf8, 0x03, 0x4b, 0x0b, 0xd8, 0x90, 0xf7, 0xc9, 0x4b, 0x6e, 0x8d, 0xd7, 0xe0, 0xcc, 0x02,
+	0xaa, 0xb0, 0x53, 0x00, 0x47, 0x8d, 0x1d, 0xc3, 0x90, 0xe9, 0xdf, 0x32, 0xeb, 0x67, 0x4c, 0xea,
+	0xd4, 0xf2, 0xca, 0x45, 0x70, 0xd8, 0x73, 0x2f, 0x79, 0x12, 0xe6, 0x04, 0xe0, 0xa2, 0xfc, 0x01,
+	0x6e, 0xda, 0x4d, 0x09, 0x5d, 0xc7, 0xcb, 0x1d, 0xbe, 0xe0, 0x89, 0x1d, 0x4d, 0xcd, 0xbc, 0x10,
+	0xfa, 0x85, 0x5f, 0x5a, 0x9a, 0xf9, 0x8a, 0xc5, 0xe9, 0xe2, 0x11, 0x66, 0xe6, 0x79, 0xc0, 0xf9,
+	0x39, 0x00, 0x6d, 0xf8, 0x15, 0xfe, 0x90, 0x69, 0xb9, 0x6b, 0xd2, 0xb2, 0x29, 0x38, 0x68, 0x9b,
+	0x9c, 0x7b, 0x76, 0xd6, 0xe7, 0x9d, 0x33, 0x39, 0x4e, 0x0b, 0x17, 0xed, 0xba, 0x8c, 0x4a, 0x74,
+	0x29, 0x4d, 0x54, 0xd2, 0x42, 0xb4, 0xcb, 0x7c, 0x01, 0xa1, 0x5d, 0x26, 0xc6, 0x77, 0xe1, 0xdb,
+	0x76, 0x5d, 0xb6, 0x59, 0xb1, 0x38, 0x5d, 0x3c, 0x42, 0xbb, 0xcc, 0xe7, 0x01, 0xe7, 0xbb, 0x3e,
+	0x78, 0x6b, 0x7e, 0x98, 0x15, 0xfe, 0x88, 0xa9, 0xfe, 0xa5, 0xd1, 0x09, 0xc5, 0xd8, 0x1f, 0xd4,
+	0x42, 0xdc, 0x5a, 0x06, 0xe7, 0x91, 0xce, 0x2e, 0x1f, 0xf6, 0xdc, 0x1b, 0x93, 0xd9, 0xc5, 0xb4,
+	0x3b, 0xc4, 0xf0, 0x21, 0xfc, 0xb1, 0x5d, 0x77, 0x6c, 0x57, 0x2c, 0xae, 0x15, 0x3c, 0x42, 0xbb,
+	0x63, 0xc2, 0x03, 0x6c, 0xdb, 0xa6, 0x0f, 0x3a, 0xc2, 0x3f, 0xb4, 0xdb, 0xb6, 0xd5, 0x0a, 0xf6,
+	0x4a, 0xb2, 0xaa, 0x99, 0x2f, 0xa0, 0xdb, 0xb6, 0x89, 0x06, 0xa7, 0x7e, 0x65, 0x1d, 0x40, 0x84,
+	0x7f, 0x64, 0xe7, 0x57, 0xee, 0x70, 0xab, 0xe2, 0x4e, 0xeb, 0x57, 0x12, 0xbf, 0x59, 0x42, 0xb8,
+	0x18, 0x23, 0xbc, 0x65, 0xb7, 0x84, 0xec, 0x50, 0x0a, 0x27, 0xb7, 0x79, 0xa4, 0x4b, 0x08, 0x69,
+	0x9e, 0xa8, 0x43, 0xa1, 0x09, 0x37, 0xc1, 0xc8, 0xce, 0xa1, 0xd8, 0xad, 0xa8, 0xa2, 0x29, 0x53,
+	0x50, 0xea, 0x50, 0x04, 0x32, 0x48, 0x6d, 0xa8, 0x1a, 0x3b, 0x82, 0x3f, 0xb1, 0xb3, 0xa1, 0x8f,
+	0x28, 0x73, 0x9d, 0x11, 0xb9, 0x4d, 0x9a, 0x04, 0x52, 0x1b, 0x1a, 0x4a, 0x58, 0xab, 0x96, 0x0f,
+	0x21, 0xc1, 0xbc, 0x83, 0xda, 0xcf, 0x19, 0x51, 0x52, 0xcb, 0x81, 0x8d, 0x5a, 0x0e, 0xa3, 0x86,
+	0x48, 0x0e, 0x78, 0xc1, 0x67, 0x76, 0x86, 0x88, 0xc9, 0xdf, 0x26, 0xca, 0x9b, 0x36, 0x10, 0x35,
+	0x44, 0xa1, 0x80, 0x38, 0x09, 0xb8, 0x24, 0xc7, 0xbb, 0xe0, 0x4f, 0x99, 0xba, 0x0d, 0xf3, 0xd6,
+	0xb7, 0xe6, 0xf1, 0xdb, 0x5f, 0x01, 0x1b, 0xf6, 0xdc, 0x8b, 0xa1, 0x08, 0x39, 0xff, 0xd4, 0x07,
+	0x37, 0xe6, 0x44, 0xb0, 0xe0, 0x3b, 0x4c, 0xfb, 0xe7, 0x26, 0xed, 0x8f, 0xf1, 0x0b, 0xb7, 0x92,
+	0xb0, 0x51, 0x09, 0x68, 0x9b, 0x31, 0xab, 0x70, 0xd8, 0x73, 0x61, 0x34, 0xa3, 0xcc, 0x21, 0xe0,
+	0xa2, 0x14, 0x17, 0x83, 0x4b, 0x76, 0x56, 0xe8, 0x71, 0x9c, 0x6f, 0x51, 0x16, 0xd7, 0x00, 0x1e,
+	0xa1, 0x56, 0x28, 0xe2, 0x01, 0xba, 0x8e, 0xb5, 0x01, 0x31, 0xb8, 0x6c, 0xb7, 0x8e, 0x3d, 0x2e,
+	0x02, 0x6e, 0x57, 0xdc, 0x3c, 0xd1, 0x75, 0x2c, 0xaa, 0x1f, 0xa8, 0x25, 0x15, 0x63, 0x56, 0xf0,
+	0x5d, 0xbb, 0x77, 0x78, 0x52, 0xb1, 0x5a, 0x0d, 0x02, 0x42, 0xdf, 0x21, 0xe6, 0x01, 0x6a, 0x6f,
+	0xf8, 0xc5, 0xf2, 0x3d, 0x3b, 0x7b, 0x23, 0x2d, 0x94, 0xc2, 0x22, 0x09, 0xd2, 0x76, 0x81, 0xa4,
+	0x1b, 0x3a, 0x5d, 0x04, 0x05, 0xae, 0xd9, 0xf9, 0x6e, 0xae, 0xc0, 0xe5, 0xcf, 0xf4, 0x14, 0x9c,
+	0xfa, 0x6e, 0xa9, 0x0a, 0x3b, 0xdf, 0x80, 0xcb, 0x4a, 0x20, 0x06, 0xae, 0xda, 0xcd, 0x0d, 0x97,
+	0x11, 0x45, 0x73, 0x27, 0x61, 0x74, 0x6e, 0xa4, 0x22, 0x44, 0x1d, 0x75, 0x21, 0x04, 0x02, 0x6f,
+	0xdb, 0x39, 0xea, 0xfb, 0x25, 0xa9, 0xd5, 0xc5, 0x03, 0xd4, 0x51, 0xcf, 0xb8, 0x67, 0x6a, 0xcb,
+	0x35, 0x91, 0x08, 0xf8, 0xbe, 0x9d, 0x2d, 0xdf, 0x67, 0xd4, 0x6d, 0xc6, 0xe4, 0x14, 0xca, 0x28,
+	0xb5, 0xe5, 0x99, 0x0c, 0x72, 0xaa, 0xf9, 0x50, 0x06, 0xbc, 0xd3, 0x45, 0xf5, 0x2e, 0x63, 0xca,
+	0xaa, 0x39, 0xb4, 0x55, 0xcd, 0x81, 0xce, 0xbf, 0xf4, 0xc1, 0x9b, 0x73, 0x43, 0xc2, 0xf0, 0x2e,
+	0x6b, 0xc5, 0x2f, 0xec, 0x66, 0x0a, 0x89, 0xa3, 0x01, 0x93, 0xb1, 0xc9, 0x44, 0xc8, 0xd3, 0x46,
+	0x57, 0x3c, 0xec, 0xb9, 0xd7, 0xe3, 0x99, 0xa5, 0xce, 0x3f, 0xf7, 0xc1, 0xf7, 0xe7, 0x45, 0xe3,
+	0xe0, 0x07, 0xac, 0x7d, 0x5f, 0x98, 0xc7, 0x5e, 0x29, 0x43, 0xdf, 0xbc, 0x99, 0xa5, 0xc3, 0x9e,
+	0xfb, 0x46, 0x3a, 0xab, 0xd0, 0xf9, 0xb7, 0x3e, 0x78, 0xdb, 0x22, 0xce, 0x07, 0xef, 0xb1, 0x36,
+	0x7a, 0xb6, 0x6d, 0x64, 0xbb, 0x99, 0x5d, 0x2a, 0x68, 0xab, 0x92, 0xa3, 0xb6, 0x74, 0x46, 0x9d,
+	0x61, 0xcf, 0xfd, 0x41, 0x3a, 0xbf, 0x8a, 0xf3, 0xbb, 0x3e, 0xb8, 0x69, 0x0a, 0x14, 0xc1, 0x82,
+	0x35, 0x79, 0x64, 0x6a, 0xf2, 0x2f, 0x4a, 0x39, 0xcf, 0xa8, 0x18, 0x97, 0x93, 0xd2, 0x36, 0x78,
+	0x6e, 0x8d, 0x61, 0xcf, 0x7d, 0xf3, 0x64, 0x5e, 0x05, 0xe7, 0x1f, 0xfb, 0xe0, 0xc6, 0x9c, 0xac,
+	0x14, 0x78, 0x9f, 0xb5, 0x73, 0xdf, 0xf2, 0x0c, 0x65, 0x9d, 0xf8, 0x8f, 0x2a, 0xbe, 0x72, 0x98,
+	0x22, 0x97, 0x0d, 0x7b, 0xee, 0xeb, 0x48, 0x5f, 0x44, 0x4d, 0x92, 0x70, 0xed, 0x1b, 0x7e, 0x68,
+	0x67, 0x92, 0x36, 0x4a, 0x12, 0xbf, 0x71, 0x6d, 0x01, 0x6a, 0x92, 0x3c, 0xee, 0x99, 0x2e, 0x26,
+	0x7c, 0x04, 0xe3, 0x23, 0xbb, 0xc5, 0x44, 0x0a, 0x5f, 0x08, 0xb1, 0x0b, 0x30, 0x69, 0x03, 0x17,
+	0x21, 0xb8, 0x24, 0x07, 0x7a, 0xe1, 0xc7, 0x76, 0x3e, 0xd5, 0x3e, 0xe3, 0xed, 0xf3, 0xc7, 0x2c,
+	0x22, 0x44, 0x7d, 0xaa, 0x4c, 0x40, 0xd8, 0x1e, 0x43, 0x1f, 0x95, 0x86, 0x0f, 0xec, 0xf6, 0x18,
+	0xa5, 0x0a, 0xcd, 0x5e, 0x5c, 0x57, 0x40, 0xf7, 0x18, 0x99, 0x06, 0x77, 0xfe, 0xae, 0x0f, 0xde,
+	0x98, 0x99, 0x68, 0x00, 0x3f, 0xe9, 0x76, 0x22, 0xa3, 0xe9, 0x08, 0x7d, 0x11, 0x7f, 0x22, 0x23,
+	0x96, 0x38, 0x7f, 0xdd, 0x07, 0xaf, 0xcf, 0xc8, 0x07, 0x80, 0x03, 0xbb, 0x13, 0xd2, 0x8d, 0x86,
+	0x3e, 0x90, 0x36, 0x7e, 0xda, 0x92, 0x61, 0xcf, 0x7d, 0xcd, 0xd3, 0x15, 0x38, 0xff, 0xda, 0x07,
+	0x8b, 0xe6, 0xec, 0x02, 0x98, 0xd9, 0xd9, 0x33, 0x4e, 0x79, 0x23, 0x48, 0x76, 0xff, 0x0d, 0x75,
+	0xa8, 0x3d, 0xf3, 0xe6, 0x57, 0x91, 0x3b, 0x50, 0x68, 0x69, 0xdc, 0xb5, 0x03, 0x67, 0xb7, 0x4f,
+	0x6c, 0x15, 0xd7, 0x81, 0x7c, 0x5b, 0xbe, 0x02, 0xe7, 0xf9, 0x5b, 0xb3, 0x70, 0xdd, 0x2e, 0x60,
+	0x36, 0x64, 0x9c, 0x56, 0x2b, 0xf7, 0x3c, 0xec, 0xb9, 0xe7, 0x0e, 0xda, 0x47, 0x76, 0x48, 0x22,
+	0xdc, 0xd0, 0x87, 0x1b, 0x96, 0x87, 0x24, 0x15, 0x4b, 0x38, 0x90, 0x69, 0x11, 0x76, 0x48, 0xc2,
+	0x03, 0xce, 0xb7, 0xe0, 0xaa, 0xee, 0xee, 0x14, 0xdc, 0xb4, 0x0b, 0x96, 0xed, 0x31, 0xee, 0x76,
+	0x49, 0x6d, 0x95, 0xaa, 0xf0, 0xb0, 0xe7, 0x3a, 0x89, 0x82, 0xd2, 0xed, 0x40, 0x7b, 0x71, 0x1f,
+	0x6e, 0xdb, 0x6d, 0x07, 0xa8, 0x8a, 0x56, 0x57, 0xf3, 0x44, 0xb7, 0x03, 0xb8, 0x7e, 0xa0, 0x9b,
+	0x58, 0xf5, 0x66, 0x2d, 0x7c, 0x68, 0xb7, 0x89, 0xfd, 0xb4, 0x64, 0xee, 0x05, 0x88, 0x9b, 0x66,
+	0x32, 0x48, 0x37, 0xb1, 0x87, 0x12, 0xc6, 0xf6, 0x78, 0x73, 0xee, 0x04, 0xc3, 0xa1, 0xdd, 0x1e,
+	0x8f, 0xd3, 0xa5, 0x46, 0x84, 0x66, 0x15, 0xd2, 0x3d, 0xde, 0xe1, 0x8c, 0x32, 0xe6, 0xc6, 0x58,
+	0x5c, 0xd9, 0x85, 0x3b, 0x76, 0xd3, 0x9e, 0x6b, 0xc3, 0xe3, 0x4a, 0x50, 0x05, 0x69, 0xdb, 0xa9,
+	0xab, 0x43, 0xa7, 0xfd, 0xe1, 0xfc, 0x2a, 0xcc, 0x33, 0x98, 0x73, 0x49, 0x1b, 0xfe, 0xcc, 0xce,
+	0x33, 0xe0, 0x5a, 0xa2, 0xc4, 0x12, 0x67, 0x94, 0x51, 0xcf, 0xe0, 0x50, 0x5f, 0xe4, 0xfc, 0x43,
+	0x1f, 0x5c, 0x9f, 0x7d, 0x7f, 0x1a, 0x7e, 0xda, 0xb9, 0x51, 0xf3, 0xba, 0x4e, 0xea, 0x32, 0xbe,
+	0x51, 0x42, 0x57, 0xfd, 0x55, 0x1f, 0xbc, 0x3e, 0xe3, 0x4a, 0x38, 0xdc, 0xb5, 0x5b, 0x7c, 0x39,
+	0xad, 0x3b, 0x3e, 0x46, 0xda, 0xe6, 0x34, 0x05, 0x74, 0xf1, 0x3d, 0xd4, 0xe0, 0x6c, 0xbb, 0x31,
+	0x37, 0x91, 0x1a, 0x3e, 0xb2, 0xdb, 0x6e, 0x0c, 0x4a, 0x21, 0x65, 0x5c, 0x75, 0xaf, 0x12, 0xc1,
+	0xb9, 0x74, 0x33, 0x8b, 0xe9, 0x76, 0x03, 0xcd, 0x2c, 0x65, 0x17, 0x47, 0xc4, 0x9b, 0x57, 0xf0,
+	0xb1, 0xe5, 0xc5, 0x91, 0x0c, 0xa7, 0xbb, 0x84, 0xbf, 0x29, 0x23, 0x20, 0xec, 0xe2, 0x08, 0x0f,
+	0xd0, 0x5d, 0x9f, 0x26, 0x61, 0x11, 0x3e, 0xb1, 0xdb, 0xf5, 0x6d, 0x30, 0xea, 0x3e, 0x63, 0x72,
+	0xab, 0x95, 0x8c, 0xd2, 0x5d, 0x9f, 0x27, 0x83, 0xd4, 0xb4, 0xb6, 0xf9, 0x41, 0x70, 0xcf, 0xce,
+	0xb4, 0x6e, 0x63, 0x7e, 0x1f, 0xd2, 0x3c, 0x51, 0xd3, 0x3a, 0xa9, 0x1f, 0x9c, 0x7f, 0xef, 0x83,
+	0x1f, 0xd9, 0x64, 0xa0, 0xc0, 0xcf, 0x98, 0x52, 0x6c, 0xbc, 0x26, 0x86, 0xe3, 0xa7, 0x4c, 0xd4,
+	0x46, 0x25, 0x69, 0xbf, 0x11, 0xd4, 0xb6, 0xc5, 0x54, 0x69, 0xd8, 0x73, 0x6f, 0x4e, 0x0d, 0x75,
+	0xe8, 0x6a, 0xa7, 0xcb, 0xb4, 0x85, 0xae, 0xdd, 0x6a, 0x57, 0x5b, 0xd4, 0x4d, 0x4a, 0x55, 0xbd,
+	0xc1, 0x16, 0xa6, 0xab, 0x9d, 0xa7, 0xa0, 0x74, 0xe0, 0x49, 0x19, 0x58, 0x70, 0xdf, 0xf2, 0xb4,
+	0x1f, 0x63, 0x7f, 0x27, 0xc7, 0xa1, 0xf8, 0x6d, 0x1a, 0x84, 0x9d, 0xf6, 0xf3, 0x00, 0xdd, 0x56,
+	0x70, 0x69, 0x15, 0xf0, 0xa9, 0xdd, 0xb6, 0x62, 0x97, 0x52, 0xf8, 0x63, 0xea, 0xfa, 0x91, 0x6e,
+	0x2b, 0x82, 0xe6, 0x89, 0x0e, 0x6b, 0x4d, 0x9a, 0x35, 0xfc, 0xc2, 0x6e, 0x58, 0xaf, 0x97, 0xd4,
+	0x7d, 0xca, 0xe4, 0x23, 0xac, 0x12, 0x4a, 0x87, 0xf5, 0x58, 0x06, 0x99, 0xed, 0x9d, 0x9d, 0xaf,
+	0x09, 0x7f, 0x6e, 0x67, 0x7b, 0xeb, 0x68, 0xdb, 0x06, 0x13, 0xb0, 0x4b, 0xa2, 0x43, 0x35, 0x12,
+	0x27, 0x95, 0x51, 0xdb, 0xeb, 0xe9, 0x8b, 0xd8, 0xaa, 0x3f, 0x27, 0x29, 0x13, 0xfe, 0xd2, 0x6e,
+	0xd5, 0xaf, 0x35, 0x3f, 0x2a, 0x25, 0xe8, 0x9b, 0x25, 0x17, 0xd2, 0x55, 0xdf, 0x9b, 0x51, 0x46,
+	0xbd, 0x20, 0x35, 0x7f, 0x0e, 0x3e, 0xb7, 0xf3, 0x82, 0xe8, 0x10, 0x7b, 0x54, 0x12, 0xc5, 0x71,
+	0xc7, 0x83, 0xd4, 0x0b, 0x9a, 0x48, 0x18, 0x33, 0x7b, 0x6a, 0x76, 0x2b, 0xfc, 0x53, 0x4b, 0xb3,
+	0x57, 0x51, 0x45, 0x63, 0xa4, 0xa0, 0xcc, 0xec, 0xc9, 0xa0, 0x73, 0xc4, 0xee, 0x7f, 0xc8, 0x3f,
+	0x15, 0x01, 0xff, 0xcc, 0xee, 0x95, 0xab, 0x65, 0x5e, 0xd4, 0x2c, 0x83, 0xf4, 0x95, 0x91, 0x84,
+	0xb1, 0x57, 0x56, 0x93, 0xe2, 0xe1, 0x57, 0x96, 0xaf, 0x5c, 0x51, 0xa5, 0x57, 0x96, 0x51, 0xf6,
+	0xca, 0x32, 0x58, 0x86, 0xfb, 0x75, 0xe9, 0xcf, 0x10, 0x59, 0x86, 0xfb, 0x19, 0x79, 0xa7, 0xe2,
+	0xca, 0x5d, 0x2e, 0xe0, 0x2c, 0xdc, 0xaf, 0xc2, 0xce, 0xdf, 0xf3, 0x3b, 0x6e, 0xf9, 0x47, 0x05,
+	0xe0, 0xd8, 0x72, 0x56, 0xd6, 0x1e, 0x6b, 0xc3, 0xd7, 0x5c, 0x83, 0x12, 0xcb, 0xd8, 0xac, 0xd4,
+	0x17, 0xb1, 0x53, 0x80, 0x99, 0x59, 0xbe, 0xd0, 0xb7, 0x3b, 0x05, 0xd8, 0xaa, 0x05, 0xa8, 0x26,
+	0x58, 0x5f, 0x34, 0xec, 0xb9, 0xd7, 0xb0, 0xb6, 0x84, 0xce, 0x46, 0xf5, 0xc7, 0x48, 0x20, 0xb6,
+	0x1d, 0x9a, 0x7b, 0x35, 0x91, 0x1f, 0x9a, 0x22, 0x58, 0x0e, 0x4d, 0x11, 0x63, 0x26, 0x73, 0x76,
+	0x1a, 0x2e, 0x9c, 0xd8, 0x7d, 0x9c, 0xfa, 0x55, 0x9e, 0x35, 0x7c, 0x75, 0x31, 0x92, 0xca, 0xe8,
+	0xc7, 0x99, 0xe8, 0x8b, 0xd8, 0x86, 0x7e, 0x46, 0x0a, 0x35, 0x9c, 0xda, 0x6d, 0xe8, 0x9b, 0xfe,
+	0x57, 0x82, 0x00, 0xda, 0x12, 0xba, 0xa1, 0xc7, 0xba, 0x02, 0xe7, 0xb7, 0x7d, 0x70, 0x4d, 0x9f,
+	0xe4, 0x0c, 0x0f, 0xec, 0x66, 0x50, 0xdd, 0x01, 0xa5, 0xfb, 0xa1, 0x76, 0x0c, 0x87, 0xd3, 0x19,
+	0x34, 0x51, 0x61, 0x76, 0x76, 0xa6, 0xcf, 0x21, 0x82, 0xc4, 0xce, 0x7d, 0x2f, 0x77, 0xdd, 0xcf,
+	0x6a, 0xb2, 0xbc, 0x1d, 0x17, 0x0b, 0xa8, 0xfb, 0x9e, 0x68, 0x70, 0x16, 0x86, 0x95, 0xb2, 0xf3,
+	0x60, 0x60, 0x19, 0x86, 0x65, 0xbc, 0x9f, 0xc5, 0x63, 0xf9, 0x56, 0x70, 0x0d, 0xb1, 0x30, 0xac,
+	0x80, 0x30, 0xe3, 0xa5, 0x4d, 0x1b, 0x83, 0x89, 0x5d, 0xd7, 0xef, 0x95, 0xe4, 0x2a, 0x49, 0x81,
+	0x7b, 0x69, 0x15, 0xa7, 0x5d, 0x9f, 0xa8, 0xb0, 0xf3, 0xfb, 0x3e, 0xf8, 0xa1, 0x31, 0x0d, 0x0c,
+	0xa6, 0xac, 0x3d, 0xc8, 0xf2, 0x2b, 0x34, 0x72, 0x34, 0xb3, 0x76, 0x7e, 0x95, 0x61, 0xcf, 0x7d,
+	0x2b, 0x99, 0x5b, 0x83, 0x1d, 0xeb, 0x4a, 0x89, 0x38, 0xf0, 0xc8, 0xf2, 0x58, 0x97, 0xbc, 0xc4,
+	0x65, 0xbc, 0xa0, 0x3d, 0x5a, 0x15, 0x20, 0x76, 0xac, 0x2b, 0x20, 0x6c, 0x17, 0x3e, 0x27, 0x2b,
+	0x11, 0xbe, 0xb0, 0xb3, 0x20, 0x4f, 0x4a, 0x11, 0x74, 0xcb, 0xb4, 0x89, 0x72, 0x24, 0x8c, 0x93,
+	0x19, 0x65, 0xd4, 0x82, 0xc4, 0xfa, 0x22, 0x36, 0x72, 0xb4, 0x89, 0x99, 0xf0, 0xd8, 0x6e, 0xe4,
+	0x3c, 0x8e, 0xf3, 0x2f, 0x5a, 0xae, 0x10, 0xc2, 0x96, 0x71, 0x3a, 0x72, 0x22, 0x15, 0x66, 0x57,
+	0x25, 0x54, 0x77, 0xef, 0xc4, 0xf2, 0xaa, 0x84, 0xce, 0xcd, 0xd3, 0xb8, 0x77, 0x97, 0x42, 0xd9,
+	0xad, 0x63, 0xfe, 0x95, 0xf2, 0x4b, 0x29, 0xf0, 0xa5, 0xad, 0x7f, 0x55, 0x52, 0xa5, 0xeb, 0x75,
+	0x32, 0x5a, 0xfa, 0x57, 0x12, 0xc8, 0xec, 0xf6, 0x8c, 0x1f, 0x59, 0x83, 0xbf, 0xb2, 0xbc, 0xeb,
+	0xcb, 0xe8, 0x3b, 0x0d, 0x5b, 0xd8, 0xd2, 0xab, 0x25, 0xec, 0xae, 0xaf, 0xae, 0x80, 0x4e, 0x03,
+	0x39, 0x45, 0x11, 0x7e, 0x6b, 0x37, 0x0d, 0x5c, 0xca, 0x13, 0xcf, 0xf7, 0x44, 0x88, 0x4e, 0x83,
+	0x54, 0x40, 0x1c, 0x1f, 0x5c, 0x10, 0x7e, 0x64, 0x00, 0xfe, 0xb9, 0x5d, 0x40, 0x68, 0xa7, 0x24,
+	0xf1, 0xf7, 0xfa, 0x5b, 0x60, 0xd8, 0x73, 0xcf, 0x13, 0xee, 0xb9, 0x5c, 0x07, 0xb4, 0xb9, 0xb0,
+	0xf0, 0x2f, 0x2c, 0xd7, 0x81, 0x8a, 0x5d, 0x1d, 0x90, 0xf0, 0x26, 0x51, 0x2d, 0x60, 0xeb, 0x80,
+	0x06, 0x77, 0xbe, 0x06, 0x17, 0xa5, 0x0c, 0x3a, 0xf8, 0xeb, 0xbe, 0xdd, 0x6e, 0xf5, 0x29, 0x09,
+	0xf1, 0x97, 0x71, 0xc4, 0xbd, 0xb1, 0x80, 0xd0, 0xdd, 0x6a, 0xce, 0x03, 0x4e, 0x04, 0x2e, 0xc9,
+	0xbf, 0x69, 0x06, 0x7f, 0xd3, 0xb7, 0xbc, 0xca, 0x4c, 0x89, 0xe2, 0x1c, 0x12, 0x21, 0x76, 0x95,
+	0x59, 0x40, 0xe8, 0xbb, 0x49, 0x19, 0x7b, 0xf0, 0xb7, 0x7d, 0xfb, 0x23, 0x20, 0x6a, 0x86, 0xc4,
+	0x23, 0xa0, 0x06, 0xa9, 0x8f, 0x80, 0x1a, 0x60, 0xfd, 0x3c, 0x9f, 0xda, 0xb6, 0xf8, 0x5f, 0x7d,
+	0x70, 0x41, 0x48, 0x0a, 0x73, 0x22, 0x70, 0xa5, 0x0c, 0x00, 0x26, 0x28, 0x3f, 0x18, 0xe1, 0x00,
+	0xb3, 0x4f, 0x01, 0x4f, 0xb1, 0x14, 0xbb, 0x8f, 0x3b, 0x25, 0x98, 0x95, 0x71, 0xc0, 0x3d, 0x94,
+	0x1f, 0x6c, 0x95, 0x62, 0xdc, 0xcb, 0x13, 0x09, 0xc9, 0xae, 0xfb, 0xe0, 0x92, 0x5c, 0xcd, 0x79,
+	0x13, 0x94, 0x41, 0xc3, 0x51, 0x84, 0xc2, 0x32, 0xfd, 0xee, 0xac, 0x7b, 0x96, 0x21, 0x8f, 0x51,
+	0x88, 0x9d, 0xf7, 0xc0, 0xf7, 0x48, 0xe4, 0xe3, 0x63, 0x96, 0xdf, 0x75, 0x6e, 0xe5, 0x46, 0xdd,
+	0xa8, 0x3a, 0xb5, 0x70, 0x69, 0x27, 0xca, 0xef, 0xdc, 0x2e, 0xb3, 0xe5, 0xca, 0x9a, 0x8b, 0xdf,
+	0x9d, 0x02, 0xe7, 0xf9, 0x94, 0x35, 0xe7, 0x36, 0xb8, 0x56, 0x44, 0x49, 0x31, 0x0e, 0x48, 0x76,
+	0x50, 0x1b, 0xea, 0x36, 0xdb, 0xef, 0xac, 0x7b, 0x95, 0x2b, 0x6d, 0x33, 0xda, 0x12, 0x00, 0x15,
+	0x9f, 0xa8, 0x4e, 0x9c, 0x2b, 0x1b, 0x73, 0xa7, 0xa3, 0x57, 0x54, 0xa7, 0xd0, 0x5d, 0x4b, 0xb4,
+	0xb8, 0xf3, 0x75, 0xe3, 0x85, 0xd5, 0x01, 0x91, 0x5a, 0x5f, 0x99, 0x34, 0x78, 0xbb, 0x53, 0x48,
+	0xa4, 0xd6, 0x76, 0x35, 0xd1, 0xa0, 0x8b, 0xff, 0xdb, 0x07, 0xd7, 0xf4, 0xcd, 0x73, 0x3e, 0x06,
+	0x37, 0xa8, 0xaf, 0xca, 0xb2, 0x88, 0xaa, 0xf6, 0xf8, 0x38, 0xf3, 0x52, 0x92, 0xb0, 0xf4, 0xc3,
+	0x32, 0xb5, 0xf1, 0x8d, 0xba, 0x4a, 0x29, 0x64, 0xb3, 0xad, 0xe0, 0x6c, 0x82, 0x57, 0x0e, 0xf1,
+	0x49, 0x95, 0xa6, 0xb8, 0x62, 0x4a, 0x74, 0x94, 0x1a, 0xf1, 0x29, 0x3e, 0x71, 0x29, 0xdd, 0x79,
+	0x17, 0x5c, 0x95, 0x5b, 0xc1, 0x46, 0xc8, 0xf7, 0x98, 0x7a, 0x47, 0x54, 0xcf, 0x86, 0xca, 0xdb,
+	0xe0, 0x02, 0xc9, 0x46, 0xf8, 0x18, 0x87, 0x49, 0x4e, 0xc6, 0x01, 0x86, 0xaf, 0xde, 0xec, 0xdf,
+	0x3a, 0xe3, 0x9e, 0x27, 0xd9, 0x56, 0x83, 0x2d, 0xbe, 0x04, 0x57, 0x75, 0xbd, 0xe4, 0x8c, 0x9b,
+	0x60, 0x54, 0x1e, 0x27, 0xc4, 0x1b, 0xe1, 0x28, 0x4f, 0x09, 0xae, 0xd3, 0x4d, 0xdf, 0xb5, 0x7b,
+	0x8b, 0xa7, 0x94, 0xba, 0x15, 0xe5, 0xe9, 0x49, 0x1d, 0x71, 0x6a, 0x10, 0x82, 0xb3, 0xf5, 0xff,
+	0x66, 0xd1, 0xcf, 0xd0, 0xf0, 0x15, 0xd7, 0xcf, 0xb1, 0x31, 0x98, 0xed, 0xd1, 0x11, 0xbe, 0xd7,
+	0xff, 0x72, 0xb3, 0xaa, 0x3e, 0x8d, 0x03, 0x14, 0x4d, 0x97, 0xe2, 0x74, 0xba, 0x3c, 0xc5, 0x11,
+	0x1b, 0xff, 0x75, 0x8e, 0x6e, 0x42, 0xb2, 0x59, 0x29, 0xbb, 0xf7, 0xcb, 0x3f, 0xdf, 0x9d, 0x7a,
+	0xe5, 0xe1, 0x60, 0xf0, 0xbb, 0x53, 0x6f, 0x95, 0xc9, 0xaf, 0x4b, 0x03, 0x9f, 0x4b, 0x91, 0x5d,
+	0x7a, 0xb6, 0x5a, 0x4e, 0xe6, 0xec, 0x3f, 0xeb, 0x0a, 0xcf, 0x07, 0x7e, 0xf6, 0xbc, 0xa9, 0xf0,
+	0xfc, 0xd9, 0xea, 0xf3, 0xb2, 0xc2, 0xff, 0x9c, 0x5a, 0x2c, 0xd1, 0xb5, 0xb5, 0x81, 0x9f, 0xad,
+	0xad, 0x35, 0x55, 0xd6, 0xd6, 0x9e, 0xad, 0xae, 0xad, 0x95, 0x95, 0xc6, 0xaf, 0xb2, 0xd6, 0xad,
+	0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x44, 0x2b, 0x29, 0xd8, 0x55, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/manager_link_error.pb.go b/googleapis/ads/googleads/v3/errors/manager_link_error.pb.go
index 82a7ede..2a5925d 100644
--- a/googleapis/ads/googleads/v3/errors/manager_link_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/manager_link_error.pb.go
@@ -62,6 +62,10 @@
 	// You are not allowed to move a client to a manager that is not under your
 	// current hierarchy.
 	ManagerLinkErrorEnum_CLIENT_OUTSIDE_TREE ManagerLinkErrorEnum_ManagerLinkError = 16
+	// The changed status for mutate link is invalid.
+	ManagerLinkErrorEnum_INVALID_STATUS_CHANGE ManagerLinkErrorEnum_ManagerLinkError = 17
+	// The change for mutate link is invalid.
+	ManagerLinkErrorEnum_INVALID_CHANGE ManagerLinkErrorEnum_ManagerLinkError = 18
 )
 
 var ManagerLinkErrorEnum_ManagerLinkError_name = map[int32]string{
@@ -82,6 +86,8 @@
 	14: "NON_OWNER_USER_CANNOT_MODIFY_LINK",
 	15: "SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS",
 	16: "CLIENT_OUTSIDE_TREE",
+	17: "INVALID_STATUS_CHANGE",
+	18: "INVALID_CHANGE",
 }
 
 var ManagerLinkErrorEnum_ManagerLinkError_value = map[string]int32{
@@ -102,6 +108,8 @@
 	"NON_OWNER_USER_CANNOT_MODIFY_LINK":    14,
 	"SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS": 15,
 	"CLIENT_OUTSIDE_TREE":                  16,
+	"INVALID_STATUS_CHANGE":                17,
+	"INVALID_CHANGE":                       18,
 }
 
 func (x ManagerLinkErrorEnum_ManagerLinkError) String() string {
@@ -154,40 +162,42 @@
 }
 
 var fileDescriptor_aba35d6dfea2fe63 = []byte{
-	// 556 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdf, 0x6e, 0xd3, 0x3e,
-	0x14, 0xc7, 0x7f, 0xeb, 0xf6, 0xdb, 0xc0, 0x03, 0x66, 0xcc, 0xc6, 0x3f, 0x4d, 0x03, 0x3a, 0x10,
-	0x5c, 0xa5, 0x17, 0xbd, 0x40, 0x0a, 0x57, 0xae, 0x7d, 0xda, 0x58, 0x4b, 0xec, 0x28, 0x71, 0xba,
-	0x15, 0x55, 0xb2, 0x02, 0xad, 0xa2, 0x6a, 0x5b, 0x32, 0x25, 0x63, 0x8f, 0xc2, 0x03, 0x70, 0xc9,
-	0xa3, 0xf0, 0x28, 0x5c, 0xf1, 0x02, 0x48, 0x28, 0xf1, 0x52, 0x41, 0x27, 0xb8, 0x49, 0x8e, 0xbe,
-	0xfe, 0x7c, 0x8f, 0x7d, 0x8e, 0xbe, 0xe8, 0x6d, 0x56, 0x14, 0xd9, 0xd9, 0xbc, 0x97, 0xce, 0xaa,
-	0x9e, 0x2d, 0xeb, 0xea, 0xaa, 0xdf, 0x9b, 0x97, 0x65, 0x51, 0x56, 0xbd, 0xf3, 0x34, 0x4f, 0xb3,
-	0x79, 0x69, 0xce, 0x16, 0xf9, 0xa9, 0x69, 0x34, 0xe7, 0xa2, 0x2c, 0x2e, 0x0b, 0x72, 0x60, 0x69,
-	0x27, 0x9d, 0x55, 0xce, 0xd2, 0xe8, 0x5c, 0xf5, 0x1d, 0x6b, 0x7c, 0xba, 0xdf, 0x36, 0xbe, 0x58,
-	0xf4, 0xd2, 0x3c, 0x2f, 0x2e, 0xd3, 0xcb, 0x45, 0x91, 0x57, 0xd6, 0xdd, 0xfd, 0xbc, 0x81, 0x76,
-	0x03, 0xdb, 0xda, 0x5f, 0xe4, 0xa7, 0x50, 0x7b, 0x20, 0xff, 0x74, 0xde, 0xfd, 0xb9, 0x8e, 0xf0,
-	0xea, 0x01, 0xd9, 0x41, 0xdb, 0x89, 0x8c, 0x43, 0x60, 0x62, 0x28, 0x80, 0xe3, 0xff, 0xc8, 0x36,
-	0xda, 0x4a, 0xe4, 0x91, 0x54, 0xc7, 0x12, 0xaf, 0x91, 0xd7, 0xe8, 0x90, 0x32, 0xa6, 0x12, 0xa9,
-	0x63, 0x23, 0x95, 0x36, 0x4c, 0x05, 0x21, 0xd5, 0x62, 0xe0, 0x83, 0x19, 0xaa, 0xc8, 0xf8, 0x42,
-	0x1e, 0x09, 0x39, 0xc2, 0x1d, 0xb2, 0x87, 0xee, 0x6b, 0xa5, 0x4c, 0x40, 0xe5, 0xa4, 0xfe, 0xd0,
-	0x11, 0x44, 0x31, 0x5e, 0x27, 0xbb, 0x08, 0x2f, 0x65, 0x21, 0xc7, 0x42, 0x43, 0x8c, 0x37, 0xc8,
-	0x21, 0x7a, 0x46, 0xfd, 0x08, 0x28, 0x6f, 0x45, 0x6e, 0x06, 0x13, 0xa3, 0x3d, 0x11, 0xb7, 0x5e,
-	0xfc, 0xff, 0xef, 0x90, 0x15, 0x6f, 0x42, 0x9b, 0xe4, 0x39, 0xda, 0x5f, 0x85, 0x84, 0x34, 0x9e,
-	0x80, 0x88, 0x46, 0xcc, 0x9b, 0xe0, 0x2d, 0xf2, 0x04, 0xed, 0xf1, 0x24, 0xf4, 0x05, 0xa3, 0x1a,
-	0x0c, 0xf3, 0x84, 0xcf, 0xcd, 0x50, 0x25, 0x92, 0xe3, 0x5b, 0x64, 0x1f, 0x3d, 0x66, 0xbe, 0x00,
-	0xa9, 0x8d, 0x47, 0xeb, 0xf1, 0x0c, 0xe5, 0x81, 0x90, 0x26, 0x89, 0x21, 0xc2, 0xb7, 0xc9, 0x43,
-	0x44, 0x02, 0x7a, 0x62, 0x38, 0x84, 0xda, 0x33, 0x70, 0xc2, 0x00, 0x38, 0x70, 0x8c, 0xea, 0x49,
-	0xd9, 0x84, 0xf9, 0xd0, 0xec, 0x83, 0xfa, 0xbe, 0x3a, 0x06, 0x8e, 0xb7, 0xff, 0x58, 0x40, 0xbb,
-	0x32, 0x7c, 0xa7, 0x7e, 0xe0, 0x0d, 0xd9, 0x50, 0xbd, 0x1c, 0xe1, 0x2e, 0x79, 0x85, 0x5e, 0x48,
-	0x25, 0x8d, 0x3a, 0x96, 0x10, 0x35, 0x77, 0x1b, 0x46, 0x65, 0xdd, 0x3b, 0x50, 0x5c, 0x0c, 0x27,
-	0xcd, 0x8e, 0xf1, 0x3d, 0xf2, 0x06, 0xbd, 0x8c, 0x93, 0x38, 0x04, 0xc9, 0x81, 0xb7, 0x9d, 0x5a,
-	0x92, 0x72, 0x6e, 0xec, 0x24, 0x31, 0xde, 0x21, 0x8f, 0xd0, 0x83, 0xeb, 0xb1, 0x54, 0xa2, 0x63,
-	0xc1, 0xc1, 0xe8, 0x08, 0x00, 0xe3, 0xc1, 0x8f, 0x35, 0xd4, 0xfd, 0x58, 0x9c, 0x3b, 0xff, 0x4e,
-	0xd7, 0x60, 0x6f, 0x35, 0x23, 0x61, 0x1d, 0xab, 0x70, 0xed, 0x3d, 0xbf, 0x36, 0x66, 0xc5, 0x59,
-	0x9a, 0x67, 0x4e, 0x51, 0x66, 0xbd, 0x6c, 0x9e, 0x37, 0xa1, 0x6b, 0xf3, 0x7d, 0xb1, 0xa8, 0xfe,
-	0x16, 0xf7, 0x77, 0xf6, 0xf7, 0xa5, 0xb3, 0x3e, 0xa2, 0xf4, 0x6b, 0xe7, 0x60, 0x64, 0x9b, 0xd1,
-	0x59, 0xe5, 0xd8, 0xb2, 0xae, 0xc6, 0x7d, 0xa7, 0xb9, 0xb2, 0xfa, 0xd6, 0x02, 0x53, 0x3a, 0xab,
-	0xa6, 0x4b, 0x60, 0x3a, 0xee, 0x4f, 0x2d, 0xf0, 0xbd, 0xd3, 0xb5, 0xaa, 0xeb, 0xd2, 0x59, 0xe5,
-	0xba, 0x4b, 0xc4, 0x75, 0xc7, 0x7d, 0xd7, 0xb5, 0xd0, 0x87, 0xcd, 0xe6, 0x75, 0xfd, 0x5f, 0x01,
-	0x00, 0x00, 0xff, 0xff, 0x75, 0x31, 0x98, 0x66, 0x8b, 0x03, 0x00, 0x00,
+	// 581 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xdf, 0x6e, 0xd3, 0x3e,
+	0x14, 0xc7, 0x7f, 0xeb, 0xf6, 0xdb, 0xc0, 0x83, 0xcd, 0x33, 0x1b, 0xff, 0x34, 0x0d, 0xe8, 0x40,
+	0x70, 0x95, 0x5e, 0xf4, 0x02, 0x29, 0x5c, 0xb9, 0xf6, 0x69, 0x63, 0x2d, 0xb5, 0xa3, 0xd8, 0xe9,
+	0x56, 0x54, 0xc9, 0x0a, 0xb4, 0x8a, 0xaa, 0x6d, 0xc9, 0xd4, 0x8c, 0x3d, 0x10, 0x97, 0x88, 0xd7,
+	0xe0, 0x86, 0x47, 0xe1, 0x8a, 0x47, 0x40, 0x89, 0x97, 0x0a, 0x36, 0xc1, 0x4d, 0x72, 0xf4, 0xf5,
+	0xe7, 0x7b, 0xec, 0x73, 0x74, 0x0e, 0x7a, 0x9b, 0x15, 0x45, 0x76, 0x36, 0xeb, 0xa4, 0xd3, 0xb2,
+	0xe3, 0xc2, 0x2a, 0xba, 0xea, 0x76, 0x66, 0x8b, 0x45, 0xb1, 0x28, 0x3b, 0xe7, 0x69, 0x9e, 0x66,
+	0xb3, 0x85, 0x3d, 0x9b, 0xe7, 0xa7, 0xb6, 0xd6, 0xbc, 0x8b, 0x45, 0x71, 0x59, 0x90, 0x03, 0x47,
+	0x7b, 0xe9, 0xb4, 0xf4, 0x96, 0x46, 0xef, 0xaa, 0xeb, 0x39, 0xe3, 0xd3, 0xfd, 0x26, 0xf1, 0xc5,
+	0xbc, 0x93, 0xe6, 0x79, 0x71, 0x99, 0x5e, 0xce, 0x8b, 0xbc, 0x74, 0xee, 0xf6, 0xb7, 0x35, 0xb4,
+	0x3b, 0x74, 0xa9, 0xc3, 0x79, 0x7e, 0x0a, 0x95, 0x07, 0xf2, 0x4f, 0xe7, 0xed, 0xaf, 0x6b, 0x08,
+	0xdf, 0x3c, 0x20, 0xdb, 0x68, 0x33, 0x91, 0x3a, 0x02, 0x26, 0xfa, 0x02, 0x38, 0xfe, 0x8f, 0x6c,
+	0xa2, 0x8d, 0x44, 0x1e, 0x49, 0x75, 0x2c, 0xf1, 0x0a, 0x79, 0x8d, 0x0e, 0x29, 0x63, 0x2a, 0x91,
+	0x46, 0x5b, 0xa9, 0x8c, 0x65, 0x6a, 0x18, 0x51, 0x23, 0x7a, 0x21, 0xd8, 0xbe, 0x8a, 0x6d, 0x28,
+	0xe4, 0x91, 0x90, 0x03, 0xdc, 0x22, 0x7b, 0x68, 0xc7, 0x28, 0x65, 0x87, 0x54, 0x8e, 0xab, 0x0f,
+	0x1d, 0x40, 0xac, 0xf1, 0x2a, 0xd9, 0x45, 0x78, 0x29, 0x0b, 0x39, 0x12, 0x06, 0x34, 0x5e, 0x23,
+	0x87, 0xe8, 0x19, 0x0d, 0x63, 0xa0, 0xbc, 0x11, 0xb9, 0xed, 0x8d, 0xad, 0x09, 0x84, 0x6e, 0xbc,
+	0xf8, 0xff, 0xdf, 0x21, 0x27, 0xde, 0x86, 0xd6, 0xc9, 0x73, 0xb4, 0x7f, 0x13, 0x12, 0xd2, 0x06,
+	0x02, 0x62, 0x1a, 0xb3, 0x60, 0x8c, 0x37, 0xc8, 0x13, 0xb4, 0xc7, 0x93, 0x28, 0x14, 0x8c, 0x1a,
+	0xb0, 0x2c, 0x10, 0x21, 0xb7, 0x7d, 0x95, 0x48, 0x8e, 0xef, 0x90, 0x7d, 0xf4, 0x98, 0x85, 0x02,
+	0xa4, 0xb1, 0x01, 0xad, 0xca, 0xb3, 0x94, 0x0f, 0x85, 0xb4, 0x89, 0x86, 0x18, 0xdf, 0x25, 0x0f,
+	0x11, 0x19, 0xd2, 0x13, 0xcb, 0x21, 0x32, 0x81, 0x85, 0x13, 0x06, 0xc0, 0x81, 0x63, 0x54, 0x55,
+	0xca, 0xc6, 0x2c, 0x84, 0xba, 0x1f, 0x34, 0x0c, 0xd5, 0x31, 0x70, 0xbc, 0xf9, 0x47, 0x03, 0x9a,
+	0x96, 0xe1, 0x7b, 0xd5, 0x03, 0x6f, 0xc9, 0x96, 0x9a, 0x65, 0x09, 0xf7, 0xc9, 0x2b, 0xf4, 0x42,
+	0x2a, 0x69, 0xd5, 0xb1, 0x84, 0xb8, 0xbe, 0xdb, 0x32, 0x2a, 0xab, 0xdc, 0x43, 0xc5, 0x45, 0x7f,
+	0x5c, 0xf7, 0x18, 0x6f, 0x91, 0x37, 0xe8, 0xa5, 0x4e, 0x74, 0x04, 0x92, 0x03, 0x6f, 0x32, 0x35,
+	0x24, 0xe5, 0xdc, 0xba, 0x4a, 0x34, 0xde, 0x26, 0x8f, 0xd0, 0x83, 0xeb, 0xb2, 0x54, 0x62, 0xb4,
+	0xe0, 0x60, 0x4d, 0x0c, 0x80, 0x71, 0xd5, 0x0a, 0x21, 0x47, 0x34, 0x14, 0xdc, 0x6a, 0x43, 0x4d,
+	0xa2, 0x2d, 0x0b, 0xa8, 0x1c, 0x00, 0xde, 0x21, 0x04, 0x6d, 0x35, 0x47, 0xd7, 0x1a, 0xe9, 0xfd,
+	0x5c, 0x41, 0xed, 0x8f, 0xc5, 0xb9, 0xf7, 0xef, 0x61, 0xec, 0xed, 0xdd, 0x1c, 0xa9, 0xa8, 0x9a,
+	0xc2, 0x68, 0xe5, 0x3d, 0xbf, 0x36, 0x66, 0xc5, 0x59, 0x9a, 0x67, 0x5e, 0xb1, 0xc8, 0x3a, 0xd9,
+	0x2c, 0xaf, 0x67, 0xb4, 0x59, 0x87, 0x8b, 0x79, 0xf9, 0xb7, 0xed, 0x78, 0xe7, 0x7e, 0x9f, 0x5b,
+	0xab, 0x03, 0x4a, 0xbf, 0xb4, 0x0e, 0x06, 0x2e, 0x19, 0x9d, 0x96, 0x9e, 0x0b, 0xab, 0x68, 0xd4,
+	0xf5, 0xea, 0x2b, 0xcb, 0xef, 0x0d, 0x30, 0xa1, 0xd3, 0x72, 0xb2, 0x04, 0x26, 0xa3, 0xee, 0xc4,
+	0x01, 0x3f, 0x5a, 0x6d, 0xa7, 0xfa, 0x3e, 0x9d, 0x96, 0xbe, 0xbf, 0x44, 0x7c, 0x7f, 0xd4, 0xf5,
+	0x7d, 0x07, 0x7d, 0x58, 0xaf, 0x5f, 0xd7, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x23, 0x8c,
+	0xba, 0xba, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/mutate_error.pb.go b/googleapis/ads/googleads/v3/errors/mutate_error.pb.go
index 26077b0..f2c2937 100644
--- a/googleapis/ads/googleads/v3/errors/mutate_error.pb.go
+++ b/googleapis/ads/googleads/v3/errors/mutate_error.pb.go
@@ -43,6 +43,10 @@
 	MutateErrorEnum_RESOURCE_NOT_IN_GOOGLE_ADS MutateErrorEnum_MutateError = 10
 	// The resource being created already exists.
 	MutateErrorEnum_RESOURCE_ALREADY_EXISTS MutateErrorEnum_MutateError = 11
+	// This resource cannot be used with "validate_only".
+	MutateErrorEnum_RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY MutateErrorEnum_MutateError = 12
+	// Attempt to write to read-only fields.
+	MutateErrorEnum_RESOURCE_READ_ONLY MutateErrorEnum_MutateError = 13
 )
 
 var MutateErrorEnum_MutateError_name = map[int32]string{
@@ -54,17 +58,21 @@
 	9:  "MUTATE_NOT_ALLOWED",
 	10: "RESOURCE_NOT_IN_GOOGLE_ADS",
 	11: "RESOURCE_ALREADY_EXISTS",
+	12: "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY",
+	13: "RESOURCE_READ_ONLY",
 }
 
 var MutateErrorEnum_MutateError_value = map[string]int32{
-	"UNSPECIFIED":                   0,
-	"UNKNOWN":                       1,
-	"RESOURCE_NOT_FOUND":            3,
-	"ID_EXISTS_IN_MULTIPLE_MUTATES": 7,
-	"INCONSISTENT_FIELD_VALUES":     8,
-	"MUTATE_NOT_ALLOWED":            9,
-	"RESOURCE_NOT_IN_GOOGLE_ADS":    10,
-	"RESOURCE_ALREADY_EXISTS":       11,
+	"UNSPECIFIED":                             0,
+	"UNKNOWN":                                 1,
+	"RESOURCE_NOT_FOUND":                      3,
+	"ID_EXISTS_IN_MULTIPLE_MUTATES":           7,
+	"INCONSISTENT_FIELD_VALUES":               8,
+	"MUTATE_NOT_ALLOWED":                      9,
+	"RESOURCE_NOT_IN_GOOGLE_ADS":              10,
+	"RESOURCE_ALREADY_EXISTS":                 11,
+	"RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY": 12,
+	"RESOURCE_READ_ONLY":                      13,
 }
 
 func (x MutateErrorEnum_MutateError) String() string {
@@ -117,30 +125,33 @@
 }
 
 var fileDescriptor_29e86d4daa207c30 = []byte{
-	// 399 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x41, 0x8e, 0xd3, 0x30,
-	0x18, 0x85, 0x49, 0x47, 0x62, 0xc0, 0x5d, 0x8c, 0xe5, 0x05, 0x88, 0x81, 0xa9, 0x44, 0x0f, 0xe0,
-	0x08, 0x65, 0x67, 0x56, 0x9e, 0xda, 0xad, 0x2c, 0x5c, 0xbb, 0xaa, 0x93, 0x0e, 0xa0, 0x4a, 0x56,
-	0x20, 0x51, 0x54, 0x69, 0x1a, 0x57, 0x71, 0x66, 0x0e, 0xc4, 0x92, 0xa3, 0x70, 0x04, 0x8e, 0x00,
-	0x12, 0x67, 0x40, 0x89, 0xa7, 0x51, 0x59, 0x30, 0xab, 0xbc, 0xd8, 0xdf, 0x7b, 0xfe, 0xf5, 0x7e,
-	0xf0, 0xae, 0x72, 0xae, 0xba, 0x2d, 0xe3, 0xbc, 0xf0, 0x71, 0x90, 0x9d, 0xba, 0x4f, 0xe2, 0xb2,
-	0x69, 0x5c, 0xe3, 0xe3, 0xfd, 0x5d, 0x9b, 0xb7, 0xa5, 0xed, 0xff, 0xf0, 0xa1, 0x71, 0xad, 0x43,
-	0x93, 0xc0, 0xe1, 0xbc, 0xf0, 0x78, 0xb0, 0xe0, 0xfb, 0x04, 0x07, 0xcb, 0xe5, 0x9b, 0x63, 0xe4,
-	0x61, 0x17, 0xe7, 0x75, 0xed, 0xda, 0xbc, 0xdd, 0xb9, 0xda, 0x07, 0xf7, 0xf4, 0x4f, 0x04, 0x2e,
-	0x96, 0x7d, 0x28, 0xef, 0x70, 0x5e, 0xdf, 0xed, 0xa7, 0x3f, 0x23, 0x30, 0x3e, 0x39, 0x43, 0x17,
-	0x60, 0x9c, 0x29, 0xb3, 0xe2, 0x33, 0x31, 0x17, 0x9c, 0xc1, 0x27, 0x68, 0x0c, 0xce, 0x33, 0xf5,
-	0x41, 0xe9, 0x1b, 0x05, 0x23, 0xf4, 0x02, 0xa0, 0x35, 0x37, 0x3a, 0x5b, 0xcf, 0xb8, 0x55, 0x3a,
-	0xb5, 0x73, 0x9d, 0x29, 0x06, 0xcf, 0xd0, 0x5b, 0x70, 0x25, 0x98, 0xe5, 0x1f, 0x85, 0x49, 0x8d,
-	0x15, 0xca, 0x2e, 0x33, 0x99, 0x8a, 0x95, 0xe4, 0x76, 0x99, 0xa5, 0x34, 0xe5, 0x06, 0x9e, 0xa3,
-	0x2b, 0xf0, 0x4a, 0xa8, 0x99, 0x56, 0x46, 0x98, 0x94, 0xab, 0xd4, 0xce, 0x05, 0x97, 0xcc, 0x6e,
-	0xa8, 0xcc, 0xb8, 0x81, 0xcf, 0xba, 0xe4, 0xc0, 0xf6, 0xb9, 0x54, 0x4a, 0x7d, 0xc3, 0x19, 0x7c,
-	0x8e, 0x26, 0xe0, 0xf2, 0x9f, 0x17, 0x85, 0xb2, 0x0b, 0xad, 0x17, 0x92, 0x5b, 0xca, 0x0c, 0x04,
-	0xe8, 0x35, 0x78, 0x39, 0xdc, 0x53, 0xb9, 0xe6, 0x94, 0x7d, 0x7a, 0x98, 0x03, 0x8e, 0xaf, 0x7f,
-	0x47, 0x60, 0xfa, 0xd5, 0xed, 0xf1, 0xe3, 0xad, 0x5d, 0xc3, 0x93, 0x02, 0x56, 0x5d, 0x53, 0xab,
-	0xe8, 0x33, 0x7b, 0xf0, 0x54, 0xee, 0x36, 0xaf, 0x2b, 0xec, 0x9a, 0x2a, 0xae, 0xca, 0xba, 0xef,
-	0xf1, 0xb8, 0xac, 0xc3, 0xce, 0xff, 0x6f, 0x77, 0xef, 0xc3, 0xe7, 0xdb, 0xe8, 0x6c, 0x41, 0xe9,
-	0xf7, 0xd1, 0x64, 0x11, 0xc2, 0x68, 0xe1, 0x71, 0x90, 0x9d, 0xda, 0x24, 0xb8, 0x7f, 0xd2, 0xff,
-	0x38, 0x02, 0x5b, 0x5a, 0xf8, 0xed, 0x00, 0x6c, 0x37, 0xc9, 0x36, 0x00, 0xbf, 0x46, 0xd3, 0x70,
-	0x4a, 0x08, 0x2d, 0x3c, 0x21, 0x03, 0x42, 0xc8, 0x26, 0x21, 0x24, 0x40, 0x5f, 0x9e, 0xf6, 0xd3,
-	0x25, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x09, 0x19, 0x3b, 0x84, 0x58, 0x02, 0x00, 0x00,
+	// 433 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x6e, 0xd3, 0x30,
+	0x18, 0xc7, 0x69, 0x26, 0x31, 0x70, 0x41, 0xb3, 0x7c, 0x00, 0x31, 0x58, 0x25, 0x7a, 0xe1, 0x80,
+	0xe4, 0x08, 0xe5, 0x16, 0x4e, 0x5e, 0xed, 0x56, 0x16, 0xae, 0x1d, 0xd5, 0x49, 0xc7, 0x50, 0x25,
+	0x2b, 0x90, 0x28, 0xaa, 0xb4, 0xc6, 0x55, 0x9c, 0xed, 0x75, 0x90, 0x38, 0x72, 0xe5, 0x2d, 0x78,
+	0x14, 0x78, 0x09, 0x94, 0x78, 0x8d, 0xb6, 0x03, 0x3b, 0xe5, 0xcb, 0xe7, 0xdf, 0xff, 0xff, 0x77,
+	0xbe, 0x2f, 0xe0, 0x43, 0x65, 0x6d, 0x75, 0x55, 0x86, 0x79, 0xe1, 0x42, 0x5f, 0x76, 0xd5, 0x4d,
+	0x14, 0x96, 0x4d, 0x63, 0x1b, 0x17, 0xee, 0xae, 0xdb, 0xbc, 0x2d, 0x4d, 0xff, 0x86, 0xf7, 0x8d,
+	0x6d, 0x2d, 0x9a, 0x78, 0x0e, 0xe7, 0x85, 0xc3, 0x83, 0x04, 0xdf, 0x44, 0xd8, 0x4b, 0x4e, 0xdf,
+	0x1c, 0x2c, 0xf7, 0xdb, 0x30, 0xaf, 0x6b, 0xdb, 0xe6, 0xed, 0xd6, 0xd6, 0xce, 0xab, 0xa7, 0xbf,
+	0x02, 0x70, 0xb2, 0xec, 0x4d, 0x59, 0x87, 0xb3, 0xfa, 0x7a, 0x37, 0xfd, 0x1e, 0x80, 0xf1, 0x9d,
+	0x1e, 0x3a, 0x01, 0xe3, 0x4c, 0xea, 0x84, 0xcd, 0xf8, 0x9c, 0x33, 0x0a, 0x1f, 0xa1, 0x31, 0x38,
+	0xce, 0xe4, 0x27, 0xa9, 0x2e, 0x24, 0x1c, 0xa1, 0x17, 0x00, 0xad, 0x98, 0x56, 0xd9, 0x6a, 0xc6,
+	0x8c, 0x54, 0xa9, 0x99, 0xab, 0x4c, 0x52, 0x78, 0x84, 0xde, 0x82, 0x33, 0x4e, 0x0d, 0xfb, 0xcc,
+	0x75, 0xaa, 0x0d, 0x97, 0x66, 0x99, 0x89, 0x94, 0x27, 0x82, 0x99, 0x65, 0x96, 0x92, 0x94, 0x69,
+	0x78, 0x8c, 0xce, 0xc0, 0x2b, 0x2e, 0x67, 0x4a, 0x6a, 0xae, 0x53, 0x26, 0x53, 0x33, 0xe7, 0x4c,
+	0x50, 0xb3, 0x26, 0x22, 0x63, 0x1a, 0x3e, 0xe9, 0x9c, 0x3d, 0xdb, 0xfb, 0x12, 0x21, 0xd4, 0x05,
+	0xa3, 0xf0, 0x29, 0x9a, 0x80, 0xd3, 0x7b, 0x89, 0x5c, 0x9a, 0x85, 0x52, 0x0b, 0xc1, 0x0c, 0xa1,
+	0x1a, 0x02, 0xf4, 0x1a, 0xbc, 0x1c, 0xce, 0x89, 0x58, 0x31, 0x42, 0x2f, 0x6f, 0xef, 0x01, 0xc7,
+	0xe8, 0x3d, 0x78, 0x37, 0x1c, 0x52, 0xc5, 0x74, 0xef, 0xa0, 0xb3, 0x24, 0x51, 0xab, 0xb4, 0x8b,
+	0xe6, 0xb4, 0x0b, 0x54, 0x52, 0x5c, 0xc2, 0x67, 0xf7, 0xbe, 0xad, 0xf3, 0xf1, 0xfd, 0xe7, 0xe7,
+	0x7f, 0x47, 0x60, 0xfa, 0xcd, 0xee, 0xf0, 0xc3, 0xa3, 0x3f, 0x87, 0x77, 0xa6, 0x98, 0x74, 0xe3,
+	0x4e, 0x46, 0x5f, 0xe8, 0xad, 0xa6, 0xb2, 0x57, 0x79, 0x5d, 0x61, 0xdb, 0x54, 0x61, 0x55, 0xd6,
+	0xfd, 0x32, 0x0e, 0x1b, 0xdf, 0x6f, 0xdd, 0xff, 0x7e, 0x80, 0x8f, 0xfe, 0xf1, 0x23, 0x38, 0x5a,
+	0x10, 0xf2, 0x33, 0x98, 0x2c, 0xbc, 0x19, 0x29, 0x1c, 0xf6, 0x65, 0x57, 0xad, 0x23, 0xdc, 0x47,
+	0xba, 0xdf, 0x07, 0x60, 0x43, 0x0a, 0xb7, 0x19, 0x80, 0xcd, 0x3a, 0xda, 0x78, 0xe0, 0x4f, 0x30,
+	0xf5, 0xdd, 0x38, 0x26, 0x85, 0x8b, 0xe3, 0x01, 0x89, 0xe3, 0x75, 0x14, 0xc7, 0x1e, 0xfa, 0xfa,
+	0xb8, 0xbf, 0x5d, 0xf4, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x4c, 0xdd, 0x71, 0x9d, 0x02, 0x00,
+	0x00,
 }
diff --git a/googleapis/ads/googleads/v3/errors/offline_user_data_job_error.pb.go b/googleapis/ads/googleads/v3/errors/offline_user_data_job_error.pb.go
new file mode 100644
index 0000000..3aa136e
--- /dev/null
+++ b/googleapis/ads/googleads/v3/errors/offline_user_data_job_error.pb.go
@@ -0,0 +1,232 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/errors/offline_user_data_job_error.proto
+
+package errors
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Enum describing possible request errors.
+type OfflineUserDataJobErrorEnum_OfflineUserDataJobError int32
+
+const (
+	// Enum unspecified.
+	OfflineUserDataJobErrorEnum_UNSPECIFIED OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 0
+	// The received error code is not known in this version.
+	OfflineUserDataJobErrorEnum_UNKNOWN OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 1
+	// The user list ID provided for the job is invalid.
+	OfflineUserDataJobErrorEnum_INVALID_USER_LIST_ID OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 3
+	// Type of the user list is not applicable for the job.
+	OfflineUserDataJobErrorEnum_INVALID_USER_LIST_TYPE OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 4
+	// Customer is not whitelisted for using user ID in upload data.
+	OfflineUserDataJobErrorEnum_NOT_WHITELISTED_FOR_USER_ID OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 5
+	// Upload data is not compatible with the upload key type of the associated
+	// user list.
+	OfflineUserDataJobErrorEnum_INCOMPATIBLE_UPLOAD_KEY_TYPE OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 6
+	// The user identifier is missing valid data.
+	OfflineUserDataJobErrorEnum_MISSING_USER_IDENTIFIER OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 7
+	// The mobile ID is malformed.
+	OfflineUserDataJobErrorEnum_INVALID_MOBILE_ID_FORMAT OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 8
+	// Request is exceeding the maximum number of user identifiers allowed.
+	OfflineUserDataJobErrorEnum_TOO_MANY_USER_IDENTIFIERS OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 9
+	// Customer is not whitelisted for store sales direct data.
+	OfflineUserDataJobErrorEnum_NOT_WHITELISTED_FOR_STORE_SALES_DIRECT OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 10
+	// The partner ID in store sales direct metadata is invalid.
+	OfflineUserDataJobErrorEnum_INVALID_PARTNER_ID OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 11
+	// The data in user identifier should not be encoded.
+	OfflineUserDataJobErrorEnum_INVALID_ENCODING OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 12
+	// The country code is invalid.
+	OfflineUserDataJobErrorEnum_INVALID_COUNTRY_CODE OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 13
+	// Incompatible user identifier when using third_party_user_id for store
+	// sales direct first party data or not using third_party_user_id for store
+	// sales third party data.
+	OfflineUserDataJobErrorEnum_INCOMPATIBLE_USER_IDENTIFIER OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 14
+	// A transaction time in the future is not allowed.
+	OfflineUserDataJobErrorEnum_FUTURE_TRANSACTION_TIME OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 15
+	// The conversion_action specified in transaction_attributes is used to
+	// report conversions to a conversion action configured in Google Ads. This
+	// error indicates there is no such conversion action in the account.
+	OfflineUserDataJobErrorEnum_INVALID_CONVERSION_ACTION OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 16
+	// Mobile ID is not supported for store sales direct data.
+	OfflineUserDataJobErrorEnum_MOBILE_ID_NOT_SUPPORTED OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 17
+	// When a remove-all operation is provided, it has to be the first operation
+	// of the operation list.
+	OfflineUserDataJobErrorEnum_INVALID_OPERATION_ORDER OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 18
+	// Mixing creation and removal of offline data in the same job is not
+	// allowed.
+	OfflineUserDataJobErrorEnum_CONFLICTING_OPERATION OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 19
+	// The external update ID already exists.
+	OfflineUserDataJobErrorEnum_EXTERNAL_UPDATE_ID_ALREADY_EXISTS OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 21
+	// Once the upload job is started, new operations cannot be added.
+	OfflineUserDataJobErrorEnum_JOB_ALREADY_STARTED OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 22
+	// Remove operation is not allowed for store sales direct updates.
+	OfflineUserDataJobErrorEnum_REMOVE_NOT_SUPPORTED OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 23
+	// Remove-all is not supported for store sales direct updates.
+	OfflineUserDataJobErrorEnum_REMOVE_ALL_NOT_SUPPORTED OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 24
+	// The SHA256 encoded value is malformed.
+	OfflineUserDataJobErrorEnum_INVALID_SHA256_FORMAT OfflineUserDataJobErrorEnum_OfflineUserDataJobError = 25
+)
+
+var OfflineUserDataJobErrorEnum_OfflineUserDataJobError_name = map[int32]string{
+	0:  "UNSPECIFIED",
+	1:  "UNKNOWN",
+	3:  "INVALID_USER_LIST_ID",
+	4:  "INVALID_USER_LIST_TYPE",
+	5:  "NOT_WHITELISTED_FOR_USER_ID",
+	6:  "INCOMPATIBLE_UPLOAD_KEY_TYPE",
+	7:  "MISSING_USER_IDENTIFIER",
+	8:  "INVALID_MOBILE_ID_FORMAT",
+	9:  "TOO_MANY_USER_IDENTIFIERS",
+	10: "NOT_WHITELISTED_FOR_STORE_SALES_DIRECT",
+	11: "INVALID_PARTNER_ID",
+	12: "INVALID_ENCODING",
+	13: "INVALID_COUNTRY_CODE",
+	14: "INCOMPATIBLE_USER_IDENTIFIER",
+	15: "FUTURE_TRANSACTION_TIME",
+	16: "INVALID_CONVERSION_ACTION",
+	17: "MOBILE_ID_NOT_SUPPORTED",
+	18: "INVALID_OPERATION_ORDER",
+	19: "CONFLICTING_OPERATION",
+	21: "EXTERNAL_UPDATE_ID_ALREADY_EXISTS",
+	22: "JOB_ALREADY_STARTED",
+	23: "REMOVE_NOT_SUPPORTED",
+	24: "REMOVE_ALL_NOT_SUPPORTED",
+	25: "INVALID_SHA256_FORMAT",
+}
+
+var OfflineUserDataJobErrorEnum_OfflineUserDataJobError_value = map[string]int32{
+	"UNSPECIFIED":                            0,
+	"UNKNOWN":                                1,
+	"INVALID_USER_LIST_ID":                   3,
+	"INVALID_USER_LIST_TYPE":                 4,
+	"NOT_WHITELISTED_FOR_USER_ID":            5,
+	"INCOMPATIBLE_UPLOAD_KEY_TYPE":           6,
+	"MISSING_USER_IDENTIFIER":                7,
+	"INVALID_MOBILE_ID_FORMAT":               8,
+	"TOO_MANY_USER_IDENTIFIERS":              9,
+	"NOT_WHITELISTED_FOR_STORE_SALES_DIRECT": 10,
+	"INVALID_PARTNER_ID":                     11,
+	"INVALID_ENCODING":                       12,
+	"INVALID_COUNTRY_CODE":                   13,
+	"INCOMPATIBLE_USER_IDENTIFIER":           14,
+	"FUTURE_TRANSACTION_TIME":                15,
+	"INVALID_CONVERSION_ACTION":              16,
+	"MOBILE_ID_NOT_SUPPORTED":                17,
+	"INVALID_OPERATION_ORDER":                18,
+	"CONFLICTING_OPERATION":                  19,
+	"EXTERNAL_UPDATE_ID_ALREADY_EXISTS":      21,
+	"JOB_ALREADY_STARTED":                    22,
+	"REMOVE_NOT_SUPPORTED":                   23,
+	"REMOVE_ALL_NOT_SUPPORTED":               24,
+	"INVALID_SHA256_FORMAT":                  25,
+}
+
+func (x OfflineUserDataJobErrorEnum_OfflineUserDataJobError) String() string {
+	return proto.EnumName(OfflineUserDataJobErrorEnum_OfflineUserDataJobError_name, int32(x))
+}
+
+func (OfflineUserDataJobErrorEnum_OfflineUserDataJobError) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_db791067efeb497d, []int{0, 0}
+}
+
+// Container for enum describing possible offline user data job errors.
+type OfflineUserDataJobErrorEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OfflineUserDataJobErrorEnum) Reset()         { *m = OfflineUserDataJobErrorEnum{} }
+func (m *OfflineUserDataJobErrorEnum) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJobErrorEnum) ProtoMessage()    {}
+func (*OfflineUserDataJobErrorEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_db791067efeb497d, []int{0}
+}
+
+func (m *OfflineUserDataJobErrorEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJobErrorEnum.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJobErrorEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJobErrorEnum.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJobErrorEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJobErrorEnum.Merge(m, src)
+}
+func (m *OfflineUserDataJobErrorEnum) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJobErrorEnum.Size(m)
+}
+func (m *OfflineUserDataJobErrorEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJobErrorEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJobErrorEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.errors.OfflineUserDataJobErrorEnum_OfflineUserDataJobError", OfflineUserDataJobErrorEnum_OfflineUserDataJobError_name, OfflineUserDataJobErrorEnum_OfflineUserDataJobError_value)
+	proto.RegisterType((*OfflineUserDataJobErrorEnum)(nil), "google.ads.googleads.v3.errors.OfflineUserDataJobErrorEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/errors/offline_user_data_job_error.proto", fileDescriptor_db791067efeb497d)
+}
+
+var fileDescriptor_db791067efeb497d = []byte{
+	// 651 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xcd, 0x6e, 0x13, 0x3b,
+	0x14, 0xbe, 0x6d, 0x6f, 0xdb, 0x7b, 0xdd, 0x7b, 0xa9, 0x71, 0x7f, 0xd2, 0x9f, 0x50, 0x20, 0x12,
+	0x2c, 0x58, 0x4c, 0x24, 0x22, 0x58, 0x0c, 0x1b, 0x9c, 0xb1, 0x93, 0xba, 0x9d, 0xd8, 0x23, 0xdb,
+	0x93, 0x36, 0x28, 0x92, 0x35, 0x25, 0x69, 0x14, 0xd4, 0x66, 0xaa, 0x99, 0xb4, 0x0f, 0xc4, 0x92,
+	0xe7, 0x60, 0xc5, 0x73, 0xb0, 0xe2, 0x05, 0xd8, 0x22, 0x8f, 0x3b, 0x01, 0xa5, 0x94, 0xd5, 0x1c,
+	0x9d, 0xf3, 0x9d, 0xef, 0xfb, 0xce, 0xf1, 0x1c, 0xf0, 0x76, 0x94, 0xa6, 0xa3, 0x8b, 0x61, 0x3d,
+	0x19, 0xe4, 0x75, 0x17, 0xda, 0xe8, 0xa6, 0x51, 0x1f, 0x66, 0x59, 0x9a, 0xe5, 0xf5, 0xf4, 0xfc,
+	0xfc, 0x62, 0x3c, 0x19, 0x9a, 0xeb, 0x7c, 0x98, 0x99, 0x41, 0x32, 0x4d, 0xcc, 0x87, 0xf4, 0xcc,
+	0x14, 0x45, 0xef, 0x2a, 0x4b, 0xa7, 0x29, 0x3a, 0x70, 0x6d, 0x5e, 0x32, 0xc8, 0xbd, 0x19, 0x83,
+	0x77, 0xd3, 0xf0, 0x1c, 0xc3, 0x5e, 0xb5, 0x54, 0xb8, 0x1a, 0xd7, 0x93, 0xc9, 0x24, 0x9d, 0x26,
+	0xd3, 0x71, 0x3a, 0xc9, 0x5d, 0x77, 0xed, 0xeb, 0x32, 0xd8, 0x17, 0x4e, 0x23, 0xce, 0x87, 0x19,
+	0x49, 0xa6, 0xc9, 0x51, 0x7a, 0x46, 0x6d, 0x2b, 0x9d, 0x5c, 0x5f, 0xd6, 0x3e, 0x2f, 0x83, 0xca,
+	0x3d, 0x75, 0xb4, 0x0e, 0xd6, 0x62, 0xae, 0x22, 0x1a, 0xb0, 0x16, 0xa3, 0x04, 0xfe, 0x85, 0xd6,
+	0xc0, 0x6a, 0xcc, 0x8f, 0xb9, 0x38, 0xe1, 0x70, 0x01, 0xed, 0x80, 0x4d, 0xc6, 0xbb, 0x38, 0x64,
+	0xc4, 0xc4, 0x8a, 0x4a, 0x13, 0x32, 0xa5, 0x0d, 0x23, 0x70, 0x09, 0xed, 0x81, 0xed, 0xbb, 0x15,
+	0xdd, 0x8b, 0x28, 0xfc, 0x1b, 0x3d, 0x06, 0xfb, 0x5c, 0x68, 0x73, 0x72, 0xc8, 0x34, 0xb5, 0x79,
+	0x4a, 0x4c, 0x4b, 0x48, 0x87, 0x63, 0x04, 0x2e, 0xa3, 0x27, 0xa0, 0xca, 0x78, 0x20, 0x3a, 0x11,
+	0xd6, 0xac, 0x19, 0x52, 0x13, 0x47, 0xa1, 0xc0, 0xc4, 0x1c, 0xd3, 0x9e, 0xa3, 0x58, 0x41, 0xfb,
+	0xa0, 0xd2, 0x61, 0x4a, 0x31, 0xde, 0x2e, 0xdb, 0x28, 0xd7, 0xd6, 0xa2, 0x84, 0xab, 0xa8, 0x0a,
+	0x76, 0x4a, 0xed, 0x8e, 0x68, 0xb2, 0x90, 0x1a, 0x56, 0x28, 0x74, 0xb0, 0x86, 0xff, 0xa0, 0x47,
+	0x60, 0x57, 0x0b, 0x61, 0x3a, 0x98, 0xf7, 0xe6, 0x7b, 0x15, 0xfc, 0x17, 0xbd, 0x00, 0xcf, 0x7f,
+	0x67, 0x4e, 0x69, 0x21, 0xa9, 0x51, 0x38, 0xa4, 0xca, 0x10, 0x26, 0x69, 0xa0, 0x21, 0x40, 0xdb,
+	0x00, 0x95, 0x42, 0x11, 0x96, 0x9a, 0x3b, 0xff, 0x6b, 0x68, 0x13, 0xc0, 0x32, 0x4f, 0x79, 0x20,
+	0x08, 0xe3, 0x6d, 0xf8, 0xdf, 0xaf, 0xcb, 0x0a, 0x44, 0xcc, 0xb5, 0xec, 0x99, 0x40, 0x10, 0x0a,
+	0xff, 0xbf, 0x3b, 0xef, 0xdc, 0x48, 0x0f, 0xec, 0xbc, 0xad, 0x58, 0xc7, 0x92, 0x1a, 0x2d, 0x31,
+	0x57, 0x38, 0xd0, 0x4c, 0x70, 0xa3, 0x59, 0x87, 0xc2, 0x75, 0x3b, 0xd1, 0x4f, 0x62, 0xde, 0xa5,
+	0x52, 0xd9, 0xa2, 0xc3, 0x40, 0x58, 0xec, 0x6a, 0xb6, 0x06, 0x3b, 0x9b, 0x8a, 0xa3, 0x48, 0x48,
+	0x4d, 0x09, 0x7c, 0x68, 0x8b, 0x65, 0xaf, 0x88, 0xa8, 0xc4, 0x05, 0xaf, 0x90, 0x84, 0x4a, 0x88,
+	0xd0, 0x2e, 0xd8, 0x0a, 0x04, 0x6f, 0x85, 0x2c, 0xd0, 0x76, 0xd3, 0x33, 0x00, 0xdc, 0x40, 0xcf,
+	0xc0, 0x53, 0x7a, 0xaa, 0xa9, 0xe4, 0x38, 0x34, 0x71, 0x44, 0xb0, 0x2e, 0xd8, 0x71, 0x28, 0x29,
+	0x26, 0x3d, 0x43, 0x4f, 0x99, 0xd2, 0x0a, 0x6e, 0xa1, 0x0a, 0xd8, 0x38, 0x12, 0xcd, 0x59, 0x5e,
+	0x69, 0x5c, 0xe8, 0x6e, 0xdb, 0x65, 0x48, 0xda, 0x11, 0x5d, 0x3a, 0xe7, 0xa8, 0x62, 0x5f, 0xef,
+	0xb6, 0x82, 0xc3, 0x70, 0xae, 0xba, 0x63, 0x2d, 0x95, 0x7e, 0xd5, 0x21, 0x7e, 0xf9, 0xea, 0x75,
+	0xf9, 0xb0, 0xbb, 0xcd, 0xef, 0x0b, 0xa0, 0xf6, 0x3e, 0xbd, 0xf4, 0xfe, 0x7c, 0x2b, 0xcd, 0xea,
+	0x3d, 0xbf, 0x7a, 0x64, 0x6f, 0x25, 0x5a, 0x78, 0x47, 0x6e, 0xfb, 0x47, 0xe9, 0x45, 0x32, 0x19,
+	0x79, 0x69, 0x36, 0xaa, 0x8f, 0x86, 0x93, 0xe2, 0x92, 0xca, 0xeb, 0xbd, 0x1a, 0xe7, 0xf7, 0x1d,
+	0xf3, 0x1b, 0xf7, 0xf9, 0xb8, 0xb8, 0xd4, 0xc6, 0xf8, 0xd3, 0xe2, 0x41, 0xdb, 0x91, 0xe1, 0x41,
+	0xee, 0xb9, 0xd0, 0x46, 0xdd, 0x86, 0x57, 0x48, 0xe6, 0x5f, 0x4a, 0x40, 0x1f, 0x0f, 0xf2, 0xfe,
+	0x0c, 0xd0, 0xef, 0x36, 0xfa, 0x0e, 0xf0, 0x6d, 0xb1, 0xe6, 0xb2, 0xbe, 0x8f, 0x07, 0xb9, 0xef,
+	0xcf, 0x20, 0xbe, 0xdf, 0x6d, 0xf8, 0xbe, 0x03, 0x9d, 0xad, 0x14, 0xee, 0x1a, 0x3f, 0x02, 0x00,
+	0x00, 0xff, 0xff, 0xd7, 0x8f, 0x4d, 0x7b, 0x69, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/errors/user_data_error.pb.go b/googleapis/ads/googleads/v3/errors/user_data_error.pb.go
new file mode 100644
index 0000000..5071603
--- /dev/null
+++ b/googleapis/ads/googleads/v3/errors/user_data_error.pb.go
@@ -0,0 +1,132 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/errors/user_data_error.proto
+
+package errors
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Enum describing possible request errors.
+type UserDataErrorEnum_UserDataError int32
+
+const (
+	// Enum unspecified.
+	UserDataErrorEnum_UNSPECIFIED UserDataErrorEnum_UserDataError = 0
+	// The received error code is not known in this version.
+	UserDataErrorEnum_UNKNOWN UserDataErrorEnum_UserDataError = 1
+	// Customer is not allowed to perform operations related to Customer Match.
+	UserDataErrorEnum_OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED UserDataErrorEnum_UserDataError = 2
+	// Maximum number of user identifiers allowed for each mutate is 100.
+	UserDataErrorEnum_TOO_MANY_USER_IDENTIFIERS UserDataErrorEnum_UserDataError = 3
+	// Current user list is not applicable for the given customer.
+	UserDataErrorEnum_USER_LIST_NOT_APPLICABLE UserDataErrorEnum_UserDataError = 4
+)
+
+var UserDataErrorEnum_UserDataError_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "UNKNOWN",
+	2: "OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED",
+	3: "TOO_MANY_USER_IDENTIFIERS",
+	4: "USER_LIST_NOT_APPLICABLE",
+}
+
+var UserDataErrorEnum_UserDataError_value = map[string]int32{
+	"UNSPECIFIED": 0,
+	"UNKNOWN":     1,
+	"OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED": 2,
+	"TOO_MANY_USER_IDENTIFIERS":                 3,
+	"USER_LIST_NOT_APPLICABLE":                  4,
+}
+
+func (x UserDataErrorEnum_UserDataError) String() string {
+	return proto.EnumName(UserDataErrorEnum_UserDataError_name, int32(x))
+}
+
+func (UserDataErrorEnum_UserDataError) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_42252060bde2a32f, []int{0, 0}
+}
+
+// Container for enum describing possible user data errors.
+type UserDataErrorEnum struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *UserDataErrorEnum) Reset()         { *m = UserDataErrorEnum{} }
+func (m *UserDataErrorEnum) String() string { return proto.CompactTextString(m) }
+func (*UserDataErrorEnum) ProtoMessage()    {}
+func (*UserDataErrorEnum) Descriptor() ([]byte, []int) {
+	return fileDescriptor_42252060bde2a32f, []int{0}
+}
+
+func (m *UserDataErrorEnum) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UserDataErrorEnum.Unmarshal(m, b)
+}
+func (m *UserDataErrorEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UserDataErrorEnum.Marshal(b, m, deterministic)
+}
+func (m *UserDataErrorEnum) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UserDataErrorEnum.Merge(m, src)
+}
+func (m *UserDataErrorEnum) XXX_Size() int {
+	return xxx_messageInfo_UserDataErrorEnum.Size(m)
+}
+func (m *UserDataErrorEnum) XXX_DiscardUnknown() {
+	xxx_messageInfo_UserDataErrorEnum.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UserDataErrorEnum proto.InternalMessageInfo
+
+func init() {
+	proto.RegisterEnum("google.ads.googleads.v3.errors.UserDataErrorEnum_UserDataError", UserDataErrorEnum_UserDataError_name, UserDataErrorEnum_UserDataError_value)
+	proto.RegisterType((*UserDataErrorEnum)(nil), "google.ads.googleads.v3.errors.UserDataErrorEnum")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/errors/user_data_error.proto", fileDescriptor_42252060bde2a32f)
+}
+
+var fileDescriptor_42252060bde2a32f = []byte{
+	// 371 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xcd, 0x8a, 0xdb, 0x30,
+	0x14, 0x85, 0x6b, 0xa7, 0xb4, 0xa0, 0x50, 0xea, 0x7a, 0xd5, 0x96, 0x34, 0x0b, 0xef, 0xba, 0xa8,
+	0xbc, 0x70, 0x57, 0xea, 0x4a, 0xb1, 0x95, 0xd4, 0xd4, 0x91, 0x8c, 0x7f, 0x12, 0x5a, 0x0c, 0x42,
+	0x1d, 0x1b, 0x13, 0x48, 0xac, 0x60, 0x39, 0x79, 0x97, 0xd9, 0xce, 0x72, 0x36, 0xf3, 0x1e, 0xf3,
+	0x28, 0x03, 0xf3, 0x0e, 0x83, 0xad, 0x49, 0x20, 0x8b, 0x99, 0x95, 0x0f, 0x87, 0xf3, 0x1d, 0xdf,
+	0x7b, 0x05, 0x7e, 0xd6, 0x52, 0xd6, 0xdb, 0xca, 0x15, 0xa5, 0x72, 0xb5, 0xec, 0xd5, 0xd1, 0x73,
+	0xab, 0xb6, 0x95, 0xad, 0x72, 0x0f, 0xaa, 0x6a, 0x79, 0x29, 0x3a, 0xc1, 0x07, 0x03, 0xee, 0x5b,
+	0xd9, 0x49, 0x7b, 0xaa, 0xa3, 0x50, 0x94, 0x0a, 0x9e, 0x29, 0x78, 0xf4, 0xa0, 0xa6, 0xbe, 0x4e,
+	0x4e, 0xad, 0xfb, 0x8d, 0x2b, 0x9a, 0x46, 0x76, 0xa2, 0xdb, 0xc8, 0x46, 0x69, 0xda, 0xb9, 0x33,
+	0xc0, 0xa7, 0x5c, 0x55, 0x6d, 0x20, 0x3a, 0x41, 0x7a, 0x80, 0x34, 0x87, 0x9d, 0x73, 0x6d, 0x80,
+	0x0f, 0x17, 0xae, 0xfd, 0x11, 0x8c, 0x73, 0x9a, 0xc6, 0xc4, 0x0f, 0xe7, 0x21, 0x09, 0xac, 0x37,
+	0xf6, 0x18, 0xbc, 0xcf, 0xe9, 0x1f, 0xca, 0xd6, 0xd4, 0x32, 0xec, 0x1f, 0xe0, 0x3b, 0x8b, 0x49,
+	0x82, 0xb3, 0x90, 0xd1, 0x94, 0xcf, 0x59, 0xc2, 0xfd, 0x3c, 0xcd, 0xd8, 0x92, 0x24, 0x7c, 0x89,
+	0x33, 0xff, 0x37, 0xa7, 0x2c, 0xe3, 0x38, 0x8a, 0xd8, 0x9a, 0x04, 0x96, 0x69, 0x7f, 0x03, 0x5f,
+	0x32, 0xc6, 0xf8, 0x12, 0xd3, 0xbf, 0x3c, 0x4f, 0x49, 0xc2, 0xc3, 0x80, 0xd0, 0xac, 0x6f, 0x4e,
+	0x52, 0x6b, 0x64, 0x4f, 0xc0, 0xe7, 0xc1, 0x8d, 0xc2, 0x34, 0xd3, 0x64, 0x1c, 0x47, 0xa1, 0x8f,
+	0x67, 0x11, 0xb1, 0xde, 0xce, 0x1e, 0x0d, 0xe0, 0x5c, 0xc9, 0x1d, 0x7c, 0x7d, 0xed, 0x99, 0x7d,
+	0x31, 0x7f, 0xdc, 0x2f, 0x1b, 0x1b, 0xff, 0x82, 0x67, 0xaa, 0x96, 0x5b, 0xd1, 0xd4, 0x50, 0xb6,
+	0xb5, 0x5b, 0x57, 0xcd, 0x70, 0x8a, 0xd3, 0xc9, 0xf7, 0x1b, 0xf5, 0xd2, 0x0b, 0xfc, 0xd2, 0x9f,
+	0x1b, 0x73, 0xb4, 0xc0, 0xf8, 0xd6, 0x9c, 0x2e, 0x74, 0x19, 0x2e, 0x15, 0xd4, 0xb2, 0x57, 0x2b,
+	0x0f, 0x0e, 0xbf, 0x54, 0xf7, 0xa7, 0x40, 0x81, 0x4b, 0x55, 0x9c, 0x03, 0xc5, 0xca, 0x2b, 0x74,
+	0xe0, 0xc1, 0x74, 0xb4, 0x8b, 0x10, 0x2e, 0x15, 0x42, 0xe7, 0x08, 0x42, 0x2b, 0x0f, 0x21, 0x1d,
+	0xfa, 0xff, 0x6e, 0x98, 0xce, 0x7b, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x24, 0x31, 0x19, 0xae, 0x1e,
+	0x02, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/resources/ad.pb.go b/googleapis/ads/googleads/v3/resources/ad.pb.go
index c5c0872..8adb62c 100644
--- a/googleapis/ads/googleads/v3/resources/ad.pb.go
+++ b/googleapis/ads/googleads/v3/resources/ad.pb.go
@@ -49,6 +49,7 @@
 	FinalUrlSuffix *wrappers.StringValue `protobuf:"bytes,38,opt,name=final_url_suffix,json=finalUrlSuffix,proto3" json:"final_url_suffix,omitempty"`
 	// The list of mappings that can be used to substitute custom parameter tags
 	// in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+	// For mutates, please use url custom parameter operations.
 	UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,10,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"`
 	// The URL that appears in the ad description for some ad formats.
 	DisplayUrl *wrappers.StringValue `protobuf:"bytes,4,opt,name=display_url,json=displayUrl,proto3" json:"display_url,omitempty"`
diff --git a/googleapis/ads/googleads/v3/resources/campaign.pb.go b/googleapis/ads/googleads/v3/resources/campaign.pb.go
index ba86ef7..74ac634 100644
--- a/googleapis/ads/googleads/v3/resources/campaign.pb.go
+++ b/googleapis/ads/googleads/v3/resources/campaign.pb.go
@@ -130,6 +130,17 @@
 	TrackingSetting *Campaign_TrackingSetting `protobuf:"bytes,46,opt,name=tracking_setting,json=trackingSetting,proto3" json:"tracking_setting,omitempty"`
 	// Payment mode for the campaign.
 	PaymentMode enums.PaymentModeEnum_PaymentMode `protobuf:"varint,52,opt,name=payment_mode,json=paymentMode,proto3,enum=google.ads.googleads.v3.enums.PaymentModeEnum_PaymentMode" json:"payment_mode,omitempty"`
+	// Output only. Optimization score of the campaign.
+	//
+	// Optimization score is an estimate of how well a campaign is set to perform.
+	// It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the
+	// campaign is performing at full potential.
+	//
+	// See "About optimization score" at
+	// https://support.google.com/google-ads/answer/9061546.
+	//
+	// This field is read-only.
+	OptimizationScore *wrappers.DoubleValue `protobuf:"bytes,55,opt,name=optimization_score,json=optimizationScore,proto3" json:"optimization_score,omitempty"`
 	// The bidding strategy for the campaign.
 	//
 	// Must be either portfolio (created via BiddingStrategy service) or
@@ -404,6 +415,13 @@
 	return enums.PaymentModeEnum_UNSPECIFIED
 }
 
+func (m *Campaign) GetOptimizationScore() *wrappers.DoubleValue {
+	if m != nil {
+		return m.OptimizationScore
+	}
+	return nil
+}
+
 type isCampaign_CampaignBiddingStrategy interface {
 	isCampaign_CampaignBiddingStrategy()
 }
@@ -715,6 +733,66 @@
 	return nil
 }
 
+// Campaign-level settings for App Campaigns.
+type Campaign_AppCampaignSetting struct {
+	// Represents the goal which the bidding strategy of this app campaign
+	// should optimize towards.
+	BiddingStrategyGoalType enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType `protobuf:"varint,1,opt,name=bidding_strategy_goal_type,json=biddingStrategyGoalType,proto3,enum=google.ads.googleads.v3.enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType" json:"bidding_strategy_goal_type,omitempty"`
+	// Immutable. A string that uniquely identifies a mobile application.
+	AppId *wrappers.StringValue `protobuf:"bytes,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
+	// Immutable. The application store that distributes this specific app.
+	AppStore             enums.AppCampaignAppStoreEnum_AppCampaignAppStore `protobuf:"varint,3,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v3.enums.AppCampaignAppStoreEnum_AppCampaignAppStore" json:"app_store,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                          `json:"-"`
+	XXX_unrecognized     []byte                                            `json:"-"`
+	XXX_sizecache        int32                                             `json:"-"`
+}
+
+func (m *Campaign_AppCampaignSetting) Reset()         { *m = Campaign_AppCampaignSetting{} }
+func (m *Campaign_AppCampaignSetting) String() string { return proto.CompactTextString(m) }
+func (*Campaign_AppCampaignSetting) ProtoMessage()    {}
+func (*Campaign_AppCampaignSetting) Descriptor() ([]byte, []int) {
+	return fileDescriptor_fc9f8fbba6491262, []int{0, 2}
+}
+
+func (m *Campaign_AppCampaignSetting) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Campaign_AppCampaignSetting.Unmarshal(m, b)
+}
+func (m *Campaign_AppCampaignSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Campaign_AppCampaignSetting.Marshal(b, m, deterministic)
+}
+func (m *Campaign_AppCampaignSetting) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Campaign_AppCampaignSetting.Merge(m, src)
+}
+func (m *Campaign_AppCampaignSetting) XXX_Size() int {
+	return xxx_messageInfo_Campaign_AppCampaignSetting.Size(m)
+}
+func (m *Campaign_AppCampaignSetting) XXX_DiscardUnknown() {
+	xxx_messageInfo_Campaign_AppCampaignSetting.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Campaign_AppCampaignSetting proto.InternalMessageInfo
+
+func (m *Campaign_AppCampaignSetting) GetBiddingStrategyGoalType() enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType {
+	if m != nil {
+		return m.BiddingStrategyGoalType
+	}
+	return enums.AppCampaignBiddingStrategyGoalTypeEnum_UNSPECIFIED
+}
+
+func (m *Campaign_AppCampaignSetting) GetAppId() *wrappers.StringValue {
+	if m != nil {
+		return m.AppId
+	}
+	return nil
+}
+
+func (m *Campaign_AppCampaignSetting) GetAppStore() enums.AppCampaignAppStoreEnum_AppCampaignAppStore {
+	if m != nil {
+		return m.AppStore
+	}
+	return enums.AppCampaignAppStoreEnum_UNSPECIFIED
+}
+
 // The setting for controlling Dynamic Search Ads (DSA).
 type Campaign_DynamicSearchAdsSetting struct {
 	// The Internet domain name that this setting represents, e.g., "google.com"
@@ -735,7 +813,7 @@
 func (m *Campaign_DynamicSearchAdsSetting) String() string { return proto.CompactTextString(m) }
 func (*Campaign_DynamicSearchAdsSetting) ProtoMessage()    {}
 func (*Campaign_DynamicSearchAdsSetting) Descriptor() ([]byte, []int) {
-	return fileDescriptor_fc9f8fbba6491262, []int{0, 2}
+	return fileDescriptor_fc9f8fbba6491262, []int{0, 3}
 }
 
 func (m *Campaign_DynamicSearchAdsSetting) XXX_Unmarshal(b []byte) error {
@@ -784,48 +862,6 @@
 	return nil
 }
 
-// Selective optimization setting for this campaign, which includes a set of
-// conversion actions to optimize this campaign towards.
-type Campaign_SelectiveOptimization struct {
-	// The selected set of conversion actions for optimizing this campaign.
-	ConversionActions    []*wrappers.StringValue `protobuf:"bytes,1,rep,name=conversion_actions,json=conversionActions,proto3" json:"conversion_actions,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
-	XXX_unrecognized     []byte                  `json:"-"`
-	XXX_sizecache        int32                   `json:"-"`
-}
-
-func (m *Campaign_SelectiveOptimization) Reset()         { *m = Campaign_SelectiveOptimization{} }
-func (m *Campaign_SelectiveOptimization) String() string { return proto.CompactTextString(m) }
-func (*Campaign_SelectiveOptimization) ProtoMessage()    {}
-func (*Campaign_SelectiveOptimization) Descriptor() ([]byte, []int) {
-	return fileDescriptor_fc9f8fbba6491262, []int{0, 3}
-}
-
-func (m *Campaign_SelectiveOptimization) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Campaign_SelectiveOptimization.Unmarshal(m, b)
-}
-func (m *Campaign_SelectiveOptimization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Campaign_SelectiveOptimization.Marshal(b, m, deterministic)
-}
-func (m *Campaign_SelectiveOptimization) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Campaign_SelectiveOptimization.Merge(m, src)
-}
-func (m *Campaign_SelectiveOptimization) XXX_Size() int {
-	return xxx_messageInfo_Campaign_SelectiveOptimization.Size(m)
-}
-func (m *Campaign_SelectiveOptimization) XXX_DiscardUnknown() {
-	xxx_messageInfo_Campaign_SelectiveOptimization.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Campaign_SelectiveOptimization proto.InternalMessageInfo
-
-func (m *Campaign_SelectiveOptimization) GetConversionActions() []*wrappers.StringValue {
-	if m != nil {
-		return m.ConversionActions
-	}
-	return nil
-}
-
 // The setting for Shopping campaigns. Defines the universe of products that
 // can be advertised by the campaign, and how this campaign interacts with
 // other Shopping campaigns.
@@ -1048,77 +1084,59 @@
 	return enums.NegativeGeoTargetTypeEnum_UNSPECIFIED
 }
 
-// Campaign-level settings for App Campaigns.
-type Campaign_AppCampaignSetting struct {
-	// Represents the goal which the bidding strategy of this app campaign
-	// should optimize towards.
-	BiddingStrategyGoalType enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType `protobuf:"varint,1,opt,name=bidding_strategy_goal_type,json=biddingStrategyGoalType,proto3,enum=google.ads.googleads.v3.enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType" json:"bidding_strategy_goal_type,omitempty"`
-	// Immutable. A string that uniquely identifies a mobile application.
-	AppId *wrappers.StringValue `protobuf:"bytes,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
-	// Immutable. The application store that distributes this specific app.
-	AppStore             enums.AppCampaignAppStoreEnum_AppCampaignAppStore `protobuf:"varint,3,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v3.enums.AppCampaignAppStoreEnum_AppCampaignAppStore" json:"app_store,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                          `json:"-"`
-	XXX_unrecognized     []byte                                            `json:"-"`
-	XXX_sizecache        int32                                             `json:"-"`
+// Selective optimization setting for this campaign, which includes a set of
+// conversion actions to optimize this campaign towards.
+type Campaign_SelectiveOptimization struct {
+	// The selected set of conversion actions for optimizing this campaign.
+	ConversionActions    []*wrappers.StringValue `protobuf:"bytes,1,rep,name=conversion_actions,json=conversionActions,proto3" json:"conversion_actions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
+	XXX_unrecognized     []byte                  `json:"-"`
+	XXX_sizecache        int32                   `json:"-"`
 }
 
-func (m *Campaign_AppCampaignSetting) Reset()         { *m = Campaign_AppCampaignSetting{} }
-func (m *Campaign_AppCampaignSetting) String() string { return proto.CompactTextString(m) }
-func (*Campaign_AppCampaignSetting) ProtoMessage()    {}
-func (*Campaign_AppCampaignSetting) Descriptor() ([]byte, []int) {
+func (m *Campaign_SelectiveOptimization) Reset()         { *m = Campaign_SelectiveOptimization{} }
+func (m *Campaign_SelectiveOptimization) String() string { return proto.CompactTextString(m) }
+func (*Campaign_SelectiveOptimization) ProtoMessage()    {}
+func (*Campaign_SelectiveOptimization) Descriptor() ([]byte, []int) {
 	return fileDescriptor_fc9f8fbba6491262, []int{0, 8}
 }
 
-func (m *Campaign_AppCampaignSetting) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Campaign_AppCampaignSetting.Unmarshal(m, b)
+func (m *Campaign_SelectiveOptimization) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Campaign_SelectiveOptimization.Unmarshal(m, b)
 }
-func (m *Campaign_AppCampaignSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Campaign_AppCampaignSetting.Marshal(b, m, deterministic)
+func (m *Campaign_SelectiveOptimization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Campaign_SelectiveOptimization.Marshal(b, m, deterministic)
 }
-func (m *Campaign_AppCampaignSetting) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Campaign_AppCampaignSetting.Merge(m, src)
+func (m *Campaign_SelectiveOptimization) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Campaign_SelectiveOptimization.Merge(m, src)
 }
-func (m *Campaign_AppCampaignSetting) XXX_Size() int {
-	return xxx_messageInfo_Campaign_AppCampaignSetting.Size(m)
+func (m *Campaign_SelectiveOptimization) XXX_Size() int {
+	return xxx_messageInfo_Campaign_SelectiveOptimization.Size(m)
 }
-func (m *Campaign_AppCampaignSetting) XXX_DiscardUnknown() {
-	xxx_messageInfo_Campaign_AppCampaignSetting.DiscardUnknown(m)
+func (m *Campaign_SelectiveOptimization) XXX_DiscardUnknown() {
+	xxx_messageInfo_Campaign_SelectiveOptimization.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_Campaign_AppCampaignSetting proto.InternalMessageInfo
+var xxx_messageInfo_Campaign_SelectiveOptimization proto.InternalMessageInfo
 
-func (m *Campaign_AppCampaignSetting) GetBiddingStrategyGoalType() enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType {
+func (m *Campaign_SelectiveOptimization) GetConversionActions() []*wrappers.StringValue {
 	if m != nil {
-		return m.BiddingStrategyGoalType
-	}
-	return enums.AppCampaignBiddingStrategyGoalTypeEnum_UNSPECIFIED
-}
-
-func (m *Campaign_AppCampaignSetting) GetAppId() *wrappers.StringValue {
-	if m != nil {
-		return m.AppId
+		return m.ConversionActions
 	}
 	return nil
 }
 
-func (m *Campaign_AppCampaignSetting) GetAppStore() enums.AppCampaignAppStoreEnum_AppCampaignAppStore {
-	if m != nil {
-		return m.AppStore
-	}
-	return enums.AppCampaignAppStoreEnum_UNSPECIFIED
-}
-
 func init() {
 	proto.RegisterType((*Campaign)(nil), "google.ads.googleads.v3.resources.Campaign")
 	proto.RegisterType((*Campaign_NetworkSettings)(nil), "google.ads.googleads.v3.resources.Campaign.NetworkSettings")
 	proto.RegisterType((*Campaign_HotelSettingInfo)(nil), "google.ads.googleads.v3.resources.Campaign.HotelSettingInfo")
+	proto.RegisterType((*Campaign_AppCampaignSetting)(nil), "google.ads.googleads.v3.resources.Campaign.AppCampaignSetting")
 	proto.RegisterType((*Campaign_DynamicSearchAdsSetting)(nil), "google.ads.googleads.v3.resources.Campaign.DynamicSearchAdsSetting")
-	proto.RegisterType((*Campaign_SelectiveOptimization)(nil), "google.ads.googleads.v3.resources.Campaign.SelectiveOptimization")
 	proto.RegisterType((*Campaign_ShoppingSetting)(nil), "google.ads.googleads.v3.resources.Campaign.ShoppingSetting")
 	proto.RegisterType((*Campaign_VanityPharma)(nil), "google.ads.googleads.v3.resources.Campaign.VanityPharma")
 	proto.RegisterType((*Campaign_TrackingSetting)(nil), "google.ads.googleads.v3.resources.Campaign.TrackingSetting")
 	proto.RegisterType((*Campaign_GeoTargetTypeSetting)(nil), "google.ads.googleads.v3.resources.Campaign.GeoTargetTypeSetting")
-	proto.RegisterType((*Campaign_AppCampaignSetting)(nil), "google.ads.googleads.v3.resources.Campaign.AppCampaignSetting")
+	proto.RegisterType((*Campaign_SelectiveOptimization)(nil), "google.ads.googleads.v3.resources.Campaign.SelectiveOptimization")
 }
 
 func init() {
@@ -1126,156 +1144,158 @@
 }
 
 var fileDescriptor_fc9f8fbba6491262 = []byte{
-	// 2408 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0x5b, 0x73, 0x1b, 0xb7,
-	0xf5, 0x17, 0xa9, 0xc8, 0x7f, 0x1b, 0xba, 0x1a, 0xba, 0xad, 0xe8, 0x7b, 0xfe, 0x75, 0x22, 0xd9,
-	0x0e, 0xa9, 0x48, 0xb1, 0x93, 0xca, 0x49, 0xc6, 0x14, 0x7d, 0x91, 0x5c, 0x5b, 0x66, 0x97, 0xb2,
-	0xea, 0x66, 0xec, 0xd9, 0x01, 0x77, 0x41, 0x6a, 0xc7, 0x7b, 0x41, 0x00, 0x90, 0x16, 0x93, 0x49,
-	0xa7, 0x33, 0x7d, 0xe8, 0x63, 0x5f, 0xda, 0x97, 0x4e, 0x66, 0x3a, 0xed, 0x4c, 0x5e, 0xf2, 0x45,
-	0x3a, 0xd3, 0x4f, 0xe1, 0x87, 0x3e, 0xe5, 0x23, 0xe8, 0xa9, 0x83, 0xcb, 0xae, 0x96, 0xd7, 0x5d,
-	0xbe, 0x2d, 0x0e, 0xf0, 0xfb, 0x9d, 0x83, 0x03, 0xe0, 0xe0, 0x1c, 0x90, 0x60, 0xb3, 0x19, 0x86,
-	0x4d, 0x0f, 0x97, 0x90, 0xc3, 0x4a, 0xea, 0x53, 0x7c, 0xb5, 0xb7, 0x4b, 0x14, 0xb3, 0xb0, 0x45,
-	0x6d, 0xcc, 0x4a, 0x36, 0xf2, 0x09, 0x72, 0x9b, 0x41, 0x91, 0xd0, 0x90, 0x87, 0xf0, 0x86, 0x1a,
-	0x56, 0x44, 0x0e, 0x2b, 0xc6, 0x88, 0x62, 0x7b, 0xbb, 0x18, 0x23, 0x0a, 0x77, 0x86, 0x91, 0xda,
-	0xa1, 0xef, 0x87, 0x41, 0xa9, 0xee, 0x3a, 0x8e, 0x1b, 0x34, 0x15, 0x61, 0xe1, 0x6e, 0xca, 0x68,
-	0xbb, 0xc5, 0x78, 0xe8, 0x5b, 0x04, 0x51, 0xe4, 0x63, 0x8e, 0xa9, 0x86, 0x6d, 0xa5, 0xc0, 0x1a,
-	0x14, 0x7f, 0xdb, 0xc2, 0x81, 0xdd, 0xb1, 0x6c, 0x44, 0x34, 0xe6, 0xeb, 0x14, 0x0c, 0xc5, 0xc8,
-	0xb3, 0xb8, 0xeb, 0x63, 0x4b, 0x9b, 0x68, 0x31, 0xcc, 0xf9, 0x99, 0xa9, 0xf7, 0x52, 0xf0, 0x1c,
-	0xd1, 0x26, 0xe6, 0xfd, 0xb8, 0xdd, 0x61, 0x38, 0x1c, 0xb4, 0x7c, 0x56, 0x42, 0x8e, 0xc5, 0x30,
-	0x6d, 0x0b, 0x5c, 0x48, 0xb8, 0xeb, 0xbb, 0xdf, 0x21, 0xee, 0x86, 0x81, 0xc5, 0x38, 0xe2, 0x2d,
-	0xa6, 0x39, 0x1e, 0xa4, 0x71, 0xb4, 0x31, 0xe5, 0x2e, 0x13, 0x24, 0xf6, 0x31, 0x0a, 0x02, 0xec,
-	0x59, 0xac, 0x55, 0xb7, 0x78, 0x87, 0x60, 0xcd, 0xf0, 0xe5, 0xf8, 0x0c, 0x09, 0xf4, 0x4e, 0x0a,
-	0x9a, 0x10, 0x2b, 0xda, 0x29, 0x96, 0x68, 0x30, 0x1e, 0xd2, 0x08, 0xfb, 0x9b, 0x31, 0xb0, 0xb1,
-	0xe7, 0x39, 0x45, 0x1c, 0x37, 0x3b, 0x56, 0x33, 0x44, 0x5d, 0x86, 0xfc, 0x7a, 0x34, 0x59, 0x1f,
-	0x3e, 0xbb, 0x07, 0xea, 0x14, 0x05, 0x8e, 0xc5, 0x50, 0x03, 0xf3, 0x8e, 0xc5, 0x5a, 0x2e, 0x47,
-	0x75, 0xd7, 0x73, 0x79, 0x27, 0x1b, 0x3a, 0x9e, 0x01, 0x3e, 0x21, 0x98, 0xba, 0x3e, 0x0e, 0x78,
-	0x52, 0xf7, 0xfd, 0x8c, 0xe8, 0x68, 0x27, 0x74, 0x2d, 0xfe, 0x76, 0x56, 0x70, 0x12, 0x94, 0x62,
-	0x6f, 0x80, 0x9b, 0x88, 0xbb, 0x6d, 0x6c, 0x35, 0x71, 0x68, 0xa9, 0x9d, 0x9b, 0xb4, 0x77, 0x73,
-	0x34, 0x9a, 0xa0, 0x8e, 0x9c, 0xa1, 0x1f, 0x3a, 0x19, 0xbd, 0x4b, 0x42, 0xe6, 0x8e, 0xd0, 0x97,
-	0x72, 0x46, 0xda, 0x28, 0x70, 0x79, 0xc7, 0x22, 0xc7, 0x88, 0xfa, 0xc8, 0x72, 0x5c, 0x46, 0x3c,
-	0xd4, 0xb1, 0x5a, 0xd4, 0x4b, 0x5a, 0x70, 0x6f, 0x1c, 0x0e, 0x8e, 0x4f, 0xb8, 0xc6, 0x5d, 0x8b,
-	0x70, 0xc4, 0x2d, 0x35, 0x5c, 0xec, 0x39, 0x56, 0x1d, 0x1f, 0xa3, 0xb6, 0x1b, 0x46, 0xc1, 0x66,
-	0x2d, 0x31, 0x20, 0x8a, 0x73, 0xba, 0xeb, 0xaa, 0xee, 0x92, 0xad, 0x7a, 0xab, 0x51, 0x7a, 0x47,
-	0x11, 0x21, 0x98, 0x46, 0xab, 0x70, 0x39, 0x01, 0x45, 0x41, 0x10, 0x72, 0x79, 0xb6, 0x75, 0xef,
-	0x87, 0x7f, 0xbb, 0x07, 0xce, 0x57, 0xf4, 0xea, 0xc1, 0x03, 0x30, 0x1b, 0x91, 0x5b, 0x01, 0xf2,
-	0xb1, 0x91, 0xbb, 0x9e, 0x5b, 0xbf, 0xb0, 0xbb, 0xf1, 0xbe, 0x3c, 0x75, 0x5a, 0xfe, 0x7f, 0x70,
-	0xe3, 0x2c, 0xdc, 0xea, 0x2f, 0xe2, 0xb2, 0xa2, 0x1d, 0xfa, 0xa5, 0x88, 0xc1, 0x9c, 0x89, 0xf0,
-	0x07, 0xc8, 0xc7, 0x70, 0x13, 0xe4, 0x5d, 0xc7, 0x98, 0xbc, 0x9e, 0x5b, 0x9f, 0xde, 0xba, 0xa4,
-	0x31, 0xc5, 0xc8, 0xce, 0xe2, 0x7e, 0xc0, 0xef, 0x7d, 0x76, 0x84, 0xbc, 0x16, 0xde, 0x9d, 0x7c,
-	0x5f, 0x9e, 0x34, 0xf3, 0xae, 0x03, 0x37, 0xc1, 0x07, 0x52, 0xf1, 0x07, 0x12, 0x73, 0xb9, 0x0f,
-	0x53, 0xe3, 0xd4, 0x0d, 0x9a, 0x12, 0x64, 0xca, 0x91, 0xf0, 0x15, 0x38, 0xa7, 0x36, 0x9d, 0x31,
-	0x75, 0x3d, 0xb7, 0x3e, 0xb7, 0xf5, 0xa0, 0x38, 0xec, 0x7e, 0x90, 0x6b, 0x50, 0x8c, 0x4c, 0xad,
-	0x49, 0xd0, 0xa3, 0xa0, 0xe5, 0xf7, 0x88, 0x4c, 0xcd, 0x07, 0xbf, 0x03, 0x73, 0xdd, 0x67, 0xc1,
-	0x58, 0x96, 0x1a, 0x0e, 0xb2, 0x6a, 0x50, 0xe0, 0x41, 0x8a, 0x92, 0x3d, 0x6a, 0xf2, 0xb3, 0x2c,
-	0x29, 0x83, 0xff, 0xc8, 0x81, 0xab, 0xa3, 0xa3, 0xb2, 0x71, 0x5e, 0x1a, 0xf3, 0x4d, 0x8a, 0x31,
-	0x65, 0x47, 0x2b, 0x7b, 0x91, 0xa0, 0x48, 0x98, 0x34, 0xa2, 0xdf, 0xbc, 0x84, 0x86, 0x77, 0xc2,
-	0xbf, 0xe4, 0x80, 0x31, 0x2c, 0x62, 0x1b, 0x17, 0xa4, 0x6d, 0xd5, 0x54, 0xdb, 0x62, 0x78, 0x45,
-	0xa1, 0x0f, 0x3b, 0x04, 0x6b, 0xb3, 0x06, 0x75, 0x09, 0x57, 0x4d, 0x99, 0x2b, 0x68, 0x60, 0x27,
-	0xfc, 0x31, 0x07, 0x2e, 0x8f, 0xba, 0x85, 0x0c, 0x20, 0xad, 0x3a, 0x1a, 0xdb, 0xaa, 0x5a, 0xab,
-	0x3e, 0xc2, 0x30, 0xdd, 0xab, 0x6c, 0x5b, 0x43, 0xc3, 0xfa, 0x61, 0x15, 0x2c, 0x73, 0x8a, 0xec,
-	0xb7, 0xc2, 0x34, 0x11, 0x36, 0x38, 0xf6, 0x89, 0x87, 0x38, 0x36, 0xa6, 0x33, 0xec, 0xf5, 0xc5,
-	0x08, 0xfa, 0x92, 0x7a, 0x87, 0x1a, 0x08, 0x6d, 0xb0, 0x2c, 0x88, 0x7a, 0xf3, 0x13, 0x66, 0xcc,
-	0x5c, 0x9f, 0x5c, 0x9f, 0xde, 0x2a, 0x0d, 0x9d, 0xa8, 0xca, 0x16, 0x8a, 0x15, 0x09, 0xac, 0x46,
-	0x38, 0x73, 0xb1, 0x45, 0xbd, 0x1e, 0x19, 0x83, 0xdf, 0x82, 0xb5, 0xa1, 0x59, 0x89, 0xf1, 0xb1,
-	0x34, 0xfd, 0x5e, 0x9a, 0x22, 0x13, 0x23, 0xef, 0xd0, 0xf5, 0xf1, 0xae, 0x82, 0xd7, 0x14, 0xda,
-	0x5c, 0xa1, 0x03, 0xe5, 0xb0, 0x01, 0x16, 0x02, 0xcc, 0xdf, 0x85, 0xf4, 0x6d, 0xa4, 0x88, 0x19,
-	0x73, 0x52, 0xd3, 0xfd, 0x62, 0x6a, 0xf2, 0x17, 0x1f, 0xb2, 0xe2, 0x81, 0xe2, 0xd0, 0xac, 0xcc,
-	0x9c, 0x0f, 0xba, 0x05, 0xb0, 0x01, 0x66, 0x8f, 0x43, 0x2e, 0x76, 0x88, 0x9e, 0xce, 0x75, 0xa9,
-	0xe4, 0xcb, 0x71, 0x94, 0xec, 0x09, 0x02, 0xcd, 0xb8, 0x1f, 0x34, 0x42, 0xb5, 0x0d, 0x66, 0x8e,
-	0x13, 0x62, 0xf8, 0xc7, 0x1c, 0x28, 0x38, 0x9d, 0x00, 0xf9, 0xae, 0x6d, 0x31, 0x8c, 0xa8, 0x7d,
-	0x6c, 0x21, 0x87, 0xc5, 0x5a, 0x6f, 0x48, 0xad, 0x95, 0x71, 0xb4, 0x3e, 0x54, 0x6c, 0x35, 0x49,
-	0x56, 0x76, 0x58, 0xe4, 0xd1, 0x55, 0x67, 0x70, 0x87, 0x70, 0x29, 0x3b, 0x0e, 0x09, 0x49, 0x2e,
-	0xde, 0xaf, 0xc6, 0x77, 0x69, 0x4d, 0x73, 0x44, 0xfa, 0xe6, 0x59, 0xb7, 0x00, 0xbe, 0x01, 0x17,
-	0xfb, 0x72, 0x50, 0xe3, 0xb6, 0x54, 0xb4, 0x99, 0xb6, 0x4b, 0x0e, 0x23, 0x60, 0xc4, 0xbe, 0xc0,
-	0x7b, 0x24, 0xf0, 0x1d, 0x58, 0xed, 0xb9, 0xbc, 0x63, 0x25, 0x25, 0xa9, 0xe4, 0xc1, 0x38, 0xb3,
-	0x79, 0x82, 0x43, 0xa5, 0x53, 0x9c, 0xcf, 0x48, 0xe9, 0x52, 0x73, 0x80, 0x14, 0x12, 0xb0, 0xd4,
-	0x95, 0x24, 0x46, 0x5a, 0xb7, 0xa5, 0xd6, 0xaf, 0xc7, 0xd1, 0x5a, 0x26, 0xe4, 0xec, 0x1e, 0x50,
-	0x3a, 0x21, 0xea, 0x93, 0x41, 0x07, 0x9c, 0xf3, 0x50, 0x1d, 0x7b, 0xcc, 0xb8, 0x2b, 0x4f, 0xf3,
-	0xc8, 0xf8, 0xb0, 0x5b, 0x7c, 0x5f, 0x9e, 0x3c, 0x2d, 0xaf, 0x83, 0x8f, 0x52, 0xaf, 0xe8, 0x67,
-	0x82, 0xd4, 0xd4, 0xdc, 0xf0, 0x0f, 0x60, 0xbe, 0x27, 0x5b, 0x34, 0x2e, 0x66, 0x8a, 0xdd, 0x11,
-	0xdd, 0xa3, 0x18, 0x1d, 0x87, 0xc8, 0xc1, 0x5d, 0xea, 0x9a, 0x9b, 0xc3, 0x5d, 0x42, 0xe8, 0x81,
-	0xd9, 0x3a, 0x62, 0x38, 0x76, 0xac, 0x71, 0x39, 0x3d, 0x18, 0x8a, 0x7c, 0x64, 0x32, 0x6b, 0x3e,
-	0x22, 0xd8, 0xe3, 0xfc, 0x86, 0x81, 0xf9, 0xb3, 0x34, 0xbf, 0xe5, 0x34, 0x31, 0x37, 0xce, 0x65,
-	0xd0, 0x77, 0xe7, 0xb4, 0xbc, 0x01, 0x3e, 0x4e, 0x55, 0xb6, 0x2b, 0x19, 0xcd, 0x39, 0xbb, 0xab,
-	0x0d, 0xff, 0x94, 0x03, 0xcb, 0x03, 0x6b, 0x02, 0x63, 0x45, 0x7a, 0xfa, 0x69, 0x8a, 0xa7, 0xa3,
-	0xe0, 0xa8, 0xa1, 0xb1, 0x9b, 0x07, 0xc8, 0x95, 0x8f, 0x17, 0xeb, 0xfd, 0x3d, 0xf0, 0x3e, 0x00,
-	0x8c, 0x23, 0xca, 0x2d, 0x47, 0x5c, 0x39, 0x8b, 0x19, 0xae, 0x9c, 0x0b, 0x72, 0xfc, 0x43, 0x71,
-	0xd1, 0x7c, 0x0e, 0xce, 0xe3, 0xc0, 0x51, 0xd0, 0xa5, 0x0c, 0xd0, 0xff, 0xc3, 0x81, 0x23, 0x81,
-	0x8f, 0xc1, 0x42, 0xc3, 0x0d, 0x90, 0x27, 0x2f, 0x3c, 0xd6, 0x6a, 0x34, 0xdc, 0x13, 0xe3, 0xa3,
-	0x0c, 0x04, 0x73, 0x12, 0xf5, 0x92, 0x7a, 0x35, 0x89, 0x81, 0xaf, 0xc0, 0x5c, 0x57, 0x39, 0xcd,
-	0x8c, 0x75, 0x79, 0x28, 0x3e, 0x4d, 0x8b, 0x29, 0x8f, 0x23, 0x54, 0x05, 0x91, 0x47, 0x01, 0xa7,
-	0x1d, 0x73, 0xb6, 0x91, 0x10, 0x31, 0xf8, 0xf7, 0x1c, 0xb8, 0xda, 0x76, 0x1d, 0x1c, 0x5a, 0xc3,
-	0x8a, 0x2f, 0xe3, 0x56, 0xa6, 0x03, 0xb1, 0x2b, 0xe0, 0x35, 0x89, 0xae, 0x9d, 0x81, 0xd5, 0x4a,
-	0x0d, 0xec, 0x52, 0x8b, 0x75, 0x49, 0x2a, 0x1f, 0x3c, 0x02, 0xbe, 0x01, 0xb3, 0x5d, 0x25, 0x83,
-	0x71, 0x47, 0xfa, 0xee, 0x8b, 0x71, 0xc2, 0xcd, 0x91, 0x24, 0xa8, 0x4a, 0xbc, 0x39, 0xd3, 0x4e,
-	0xb4, 0xe0, 0x09, 0x58, 0x61, 0xd8, 0xc3, 0xb6, 0x2c, 0x8a, 0x92, 0x29, 0xa6, 0xf1, 0x89, 0xd4,
-	0x53, 0x1e, 0xeb, 0x6a, 0x88, 0x98, 0x92, 0xb9, 0xa2, 0xb9, 0xcc, 0x06, 0x89, 0xe1, 0x5b, 0xb0,
-	0x10, 0xe7, 0x42, 0x51, 0x28, 0x2d, 0x8e, 0x7f, 0x1d, 0x1d, 0x6a, 0x0e, 0x1d, 0x33, 0x95, 0x47,
-	0xe7, 0x79, 0xb7, 0x14, 0xbe, 0x01, 0x33, 0xc9, 0x62, 0xd1, 0xf8, 0x4c, 0xae, 0xe7, 0x4e, 0xca,
-	0x7a, 0x56, 0x15, 0xe4, 0x79, 0xe8, 0xa8, 0xe3, 0x96, 0x68, 0x9b, 0xd3, 0xe4, 0xac, 0x01, 0x4f,
-	0xc0, 0x42, 0xef, 0xf1, 0x36, 0x56, 0x33, 0x44, 0x95, 0x4f, 0x4e, 0xcb, 0xb7, 0xc0, 0xfa, 0xd0,
-	0xa8, 0xd2, 0x73, 0xbc, 0xf7, 0x26, 0xcc, 0xf9, 0x9e, 0x73, 0x0d, 0x9f, 0x01, 0x20, 0xb6, 0xb9,
-	0xcb, 0x98, 0x58, 0xb3, 0x4f, 0xa5, 0xce, 0x5b, 0xa9, 0x49, 0x5f, 0x8c, 0xd8, 0x9b, 0x30, 0x13,
-	0x78, 0xf8, 0x14, 0x00, 0x1f, 0x05, 0x2d, 0xe4, 0x59, 0x36, 0xb1, 0x0d, 0x43, 0xb2, 0x6d, 0xa4,
-	0xb1, 0x3d, 0x97, 0x88, 0x0a, 0xb1, 0xf7, 0x26, 0xcc, 0x0b, 0x7e, 0xd4, 0xe8, 0xe2, 0xf2, 0x8d,
-	0xb5, 0xf1, 0xb8, 0xfc, 0x24, 0x97, 0x0f, 0x5f, 0x24, 0xb8, 0xda, 0xc6, 0xcd, 0xf1, 0xb8, 0xda,
-	0x72, 0x4f, 0x24, 0x09, 0xdb, 0xf0, 0x18, 0x2c, 0xf9, 0xe8, 0x44, 0x6c, 0x46, 0x6c, 0xd9, 0x61,
-	0xd0, 0xc6, 0x54, 0xcc, 0x9f, 0x19, 0x57, 0x25, 0xf5, 0x76, 0x3a, 0xb5, 0xc2, 0x56, 0xce, 0xa0,
-	0x7b, 0x13, 0xe6, 0xa2, 0xdf, 0x2f, 0x86, 0x2d, 0xb0, 0x36, 0x40, 0x93, 0xd5, 0x16, 0xeb, 0x6f,
-	0x5c, 0x93, 0xea, 0x3e, 0x1f, 0x5f, 0x9d, 0xdc, 0x3e, 0x7b, 0x13, 0xe6, 0xaa, 0x3f, 0xb8, 0x4b,
-	0x78, 0x5f, 0x67, 0x48, 0x36, 0x41, 0x46, 0x21, 0x9b, 0xc7, 0x54, 0xce, 0x53, 0x21, 0x48, 0x38,
-	0x8b, 0x47, 0x0d, 0x18, 0x82, 0x55, 0xcd, 0xe5, 0xfa, 0x84, 0x62, 0xb9, 0x55, 0x2c, 0x76, 0x8c,
-	0x28, 0x36, 0x36, 0x25, 0xf1, 0xdd, 0x6c, 0xc4, 0xfb, 0x31, 0xba, 0x26, 0xc0, 0x7b, 0x13, 0xe6,
-	0x32, 0x1f, 0xd4, 0x01, 0x9f, 0x83, 0x69, 0xad, 0x90, 0x86, 0x88, 0x19, 0x57, 0xb2, 0xed, 0x6a,
-	0xa5, 0xc4, 0x0c, 0x91, 0x58, 0x0b, 0x3d, 0x7b, 0xd1, 0x82, 0x55, 0x30, 0xa3, 0xe9, 0x18, 0xc1,
-	0x81, 0x63, 0x5c, 0x92, 0x7c, 0xb7, 0xb3, 0xf1, 0xd5, 0x04, 0x64, 0x6f, 0xc2, 0xd4, 0x16, 0xc9,
-	0xa6, 0x30, 0x90, 0x60, 0x6a, 0x8b, 0x70, 0x22, 0x0e, 0xca, 0x87, 0xd9, 0x0c, 0xac, 0x2a, 0x88,
-	0x3a, 0x29, 0x80, 0xc4, 0xad, 0xae, 0xc5, 0xf2, 0x8d, 0x8d, 0xf1, 0x16, 0xcb, 0x4f, 0x2e, 0x96,
-	0x5f, 0x78, 0x9f, 0x07, 0xf3, 0x3d, 0x55, 0x0f, 0x7c, 0x06, 0x96, 0x34, 0xbf, 0x22, 0xd2, 0x15,
-	0x88, 0x7c, 0xda, 0x99, 0xde, 0x2a, 0xf4, 0x85, 0xa8, 0xdd, 0x30, 0xf4, 0xd4, 0x25, 0x0c, 0x15,
-	0xee, 0x89, 0x1c, 0xa0, 0x2a, 0x0a, 0x78, 0x00, 0x96, 0x23, 0x77, 0xaa, 0x42, 0x46, 0xd7, 0x54,
-	0x46, 0x3e, 0x95, 0x6e, 0x51, 0x3b, 0x51, 0xe2, 0xb4, 0x95, 0xb0, 0x0a, 0x56, 0xa2, 0xd9, 0x87,
-	0x01, 0x17, 0x3e, 0x8d, 0x08, 0x27, 0x53, 0x09, 0xf5, 0xbc, 0x2a, 0x0a, 0x18, 0x31, 0xbe, 0x01,
-	0x57, 0x34, 0x23, 0x41, 0x94, 0x07, 0x98, 0xf6, 0x5a, 0xfa, 0x41, 0x2a, 0x71, 0x41, 0x11, 0x54,
-	0x15, 0xbe, 0xcb, 0xe0, 0xc2, 0x6b, 0xb0, 0xd0, 0x5b, 0xf2, 0xc1, 0x3d, 0x30, 0xaf, 0xea, 0x48,
-	0xb1, 0xa6, 0x98, 0x5a, 0xae, 0xa3, 0xbd, 0x9b, 0xf6, 0xe6, 0x35, 0x65, 0xaa, 0x02, 0xb4, 0x22,
-	0x71, 0xfb, 0x4e, 0xe1, 0xdf, 0x79, 0xb0, 0x3a, 0xa4, 0xb6, 0x83, 0x5f, 0x81, 0x69, 0x27, 0xf4,
-	0x91, 0x1b, 0x9c, 0x3d, 0xcd, 0xa5, 0xa5, 0x51, 0x40, 0x01, 0xe4, 0x5b, 0x5c, 0x19, 0xcc, 0x7a,
-	0x28, 0x68, 0xb6, 0x50, 0x53, 0xc4, 0x22, 0x07, 0xeb, 0x15, 0x1b, 0x4d, 0x30, 0x13, 0x41, 0x2a,
-	0xe2, 0xa6, 0x7b, 0x01, 0x56, 0x5a, 0x0c, 0x5b, 0xac, 0x45, 0x88, 0xe7, 0x62, 0x47, 0x24, 0x75,
-	0xcc, 0x0a, 0x03, 0xaf, 0x93, 0x61, 0xb1, 0x16, 0x5b, 0x0c, 0xd7, 0x34, 0xf0, 0x25, 0xf5, 0xd8,
-	0x8b, 0xc0, 0xeb, 0xc0, 0xdf, 0x83, 0xa9, 0x06, 0xc6, 0x0e, 0x33, 0xa6, 0x32, 0x94, 0x38, 0x37,
-	0x65, 0xd6, 0x7f, 0x0d, 0x5c, 0x19, 0x7a, 0x65, 0x3e, 0xc6, 0xd8, 0x31, 0x15, 0x63, 0xe1, 0xaf,
-	0x39, 0xb0, 0x3c, 0x30, 0x25, 0x81, 0xdf, 0x03, 0x98, 0x88, 0xc5, 0xc8, 0x96, 0xaf, 0xa1, 0x46,
-	0x2e, 0x4b, 0x91, 0x75, 0x5a, 0xbe, 0x0d, 0x36, 0x86, 0xd7, 0x01, 0x31, 0x6b, 0x59, 0x92, 0x9a,
-	0x17, 0xed, 0x1e, 0x09, 0x2b, 0xfc, 0x94, 0x07, 0xf3, 0x3d, 0x45, 0x34, 0x2c, 0x83, 0x69, 0x1f,
-	0x53, 0xfb, 0x18, 0x05, 0x7c, 0x9c, 0xad, 0x03, 0x22, 0xd0, 0xbe, 0x03, 0x1f, 0x83, 0x59, 0x86,
-	0x3c, 0xcc, 0x2c, 0x3b, 0x6c, 0x89, 0x2c, 0x37, 0xcb, 0xe2, 0xea, 0x97, 0x0a, 0x89, 0xab, 0x28,
-	0x18, 0xdc, 0x03, 0x17, 0xe3, 0x02, 0x89, 0x50, 0x37, 0xa4, 0x22, 0xff, 0x1d, 0xf1, 0x7e, 0xbb,
-	0xbd, 0xa5, 0x56, 0x77, 0x21, 0x42, 0x55, 0x35, 0x08, 0x7e, 0x05, 0x66, 0x70, 0x80, 0xea, 0x1e,
-	0xb6, 0xbc, 0xd0, 0x46, 0x5e, 0x86, 0x53, 0x37, 0xad, 0xc6, 0x3f, 0x13, 0xc3, 0x0b, 0xff, 0xcc,
-	0x83, 0x99, 0x64, 0xe6, 0x0a, 0x7f, 0x14, 0x79, 0xfa, 0xc8, 0x27, 0x78, 0xe9, 0xb8, 0xb9, 0xad,
-	0x57, 0x29, 0x79, 0x5d, 0x92, 0xf5, 0xa1, 0xa2, 0x78, 0x49, 0xbd, 0x38, 0xcd, 0x1b, 0xde, 0x6d,
-	0x16, 0xda, 0x43, 0xfb, 0x20, 0x05, 0xb0, 0xff, 0x71, 0x5f, 0xae, 0xc2, 0xdc, 0xd6, 0xc3, 0x31,
-	0x2c, 0x3a, 0xc4, 0x27, 0xbc, 0xcf, 0x0e, 0x21, 0x34, 0x17, 0xda, 0x3d, 0x92, 0xc2, 0xef, 0xc0,
-	0x7c, 0x4f, 0x02, 0x0c, 0x1f, 0x82, 0x99, 0xe4, 0x1b, 0x63, 0x96, 0x20, 0xa1, 0x92, 0xe6, 0xe9,
-	0xc4, 0xfb, 0x62, 0xe1, 0xe7, 0x3c, 0x58, 0x1a, 0xf4, 0x36, 0x02, 0xff, 0x9c, 0x03, 0xc6, 0xb0,
-	0x5f, 0x51, 0xb4, 0xfb, 0xd3, 0x1e, 0xc7, 0xab, 0x1a, 0xde, 0xc5, 0xaf, 0x12, 0xec, 0x41, 0x3d,
-	0xe6, 0x32, 0x19, 0x24, 0x96, 0x96, 0x0c, 0xfb, 0xfd, 0x48, 0xbb, 0x3d, 0xcd, 0x92, 0x03, 0x0d,
-	0xef, 0xb7, 0x64, 0x60, 0x8f, 0xb9, 0x1c, 0x0c, 0x12, 0x17, 0xfe, 0x9b, 0x07, 0xb0, 0xff, 0x49,
-	0x07, 0xfe, 0x94, 0x03, 0x85, 0xe1, 0xbf, 0x24, 0x6a, 0x67, 0x1d, 0xa7, 0x3d, 0x45, 0x9f, 0xf1,
-	0xf6, 0x94, 0x03, 0x4f, 0x42, 0x94, 0x78, 0x2c, 0x4f, 0x1d, 0x66, 0xae, 0xd6, 0x07, 0x77, 0xc0,
-	0x2f, 0xc0, 0x39, 0x44, 0x88, 0x88, 0x3b, 0x99, 0x43, 0xc6, 0x14, 0x22, 0x64, 0xdf, 0x81, 0x1e,
-	0xb8, 0x10, 0xff, 0xcc, 0x2a, 0x63, 0x44, 0xfa, 0x53, 0x46, 0xc2, 0xd0, 0x32, 0x21, 0x35, 0x81,
-	0xec, 0x9d, 0x40, 0x24, 0x57, 0xaa, 0xce, 0x23, 0xdd, 0xdc, 0xf9, 0xed, 0x2f, 0xe5, 0x83, 0x0c,
-	0x0f, 0x3e, 0x70, 0x43, 0xbd, 0x86, 0x63, 0xca, 0x4a, 0xdf, 0x47, 0x9f, 0x3f, 0xc4, 0xbf, 0x4f,
-	0x0a, 0xa1, 0xfe, 0xfc, 0x61, 0xf7, 0x12, 0x58, 0x1b, 0xfa, 0xa3, 0xef, 0xee, 0x69, 0x0e, 0xdc,
-	0xb4, 0x43, 0x3f, 0xbd, 0x1a, 0xdd, 0x9d, 0xad, 0xc4, 0xb1, 0x2f, 0xe4, 0x61, 0x35, 0xf7, 0xcd,
-	0x53, 0x8d, 0x69, 0x86, 0xe2, 0xf6, 0x2c, 0x86, 0xb4, 0x59, 0x6a, 0xe2, 0x40, 0xfa, 0xb3, 0x74,
-	0x66, 0xf6, 0x88, 0x7f, 0x3c, 0xdc, 0x8f, 0xbf, 0xfe, 0x95, 0x9f, 0x7c, 0x52, 0x2e, 0xff, 0x9c,
-	0xbf, 0xa1, 0x92, 0xb0, 0x62, 0xd9, 0x61, 0x45, 0xf5, 0x29, 0xbe, 0x8e, 0xb6, 0x8b, 0x66, 0x34,
-	0xf2, 0x3f, 0xd1, 0x98, 0xd7, 0x65, 0x87, 0xbd, 0x8e, 0xc7, 0xbc, 0x3e, 0xda, 0x7e, 0x1d, 0x8f,
-	0xf9, 0x25, 0x7f, 0x53, 0x75, 0xec, 0xec, 0x94, 0x1d, 0xb6, 0xb3, 0x13, 0x8f, 0xda, 0xd9, 0x39,
-	0xda, 0xde, 0xd9, 0x89, 0xc7, 0xd5, 0xcf, 0x49, 0x63, 0xb7, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff,
-	0xc0, 0x5f, 0x14, 0xd6, 0x9d, 0x21, 0x00, 0x00,
+	// 2436 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0x5b, 0x6f, 0x1b, 0xc7,
+	0xf5, 0x17, 0x29, 0xcb, 0x7f, 0x7b, 0x74, 0xf5, 0xe8, 0xb6, 0xa2, 0xef, 0xf9, 0xd7, 0x89, 0x64,
+	0x3b, 0xa4, 0x22, 0xc5, 0x76, 0x2a, 0x27, 0x81, 0x29, 0xca, 0xb6, 0xe4, 0xda, 0x32, 0xbb, 0x94,
+	0x55, 0x37, 0xb0, 0xb1, 0x18, 0xee, 0x0e, 0xc9, 0x85, 0xf7, 0x96, 0x99, 0x59, 0x5a, 0x4c, 0x90,
+	0xa2, 0x40, 0x1f, 0xfa, 0xd8, 0x97, 0x3e, 0x15, 0x01, 0x8a, 0x16, 0xc8, 0x4b, 0xbe, 0x48, 0x81,
+	0x7e, 0x0a, 0x3f, 0x14, 0x28, 0x90, 0x8f, 0xa0, 0xa7, 0x62, 0x2e, 0xbb, 0x5a, 0x5e, 0x77, 0xf9,
+	0xc6, 0x39, 0x33, 0xbf, 0xdf, 0x39, 0x73, 0x66, 0xe6, 0xcc, 0x39, 0xb3, 0x04, 0x9b, 0x4d, 0xdf,
+	0x6f, 0x3a, 0xb8, 0x84, 0x2c, 0x5a, 0x92, 0x3f, 0xf9, 0xaf, 0xf6, 0x76, 0x89, 0x60, 0xea, 0x87,
+	0xc4, 0xc4, 0xb4, 0x64, 0x22, 0x37, 0x40, 0x76, 0xd3, 0x2b, 0x06, 0xc4, 0x67, 0x3e, 0xbc, 0x29,
+	0x87, 0x15, 0x91, 0x45, 0x8b, 0x31, 0xa2, 0xd8, 0xde, 0x2e, 0xc6, 0x88, 0xc2, 0xdd, 0x61, 0xa4,
+	0xa6, 0xef, 0xba, 0xbe, 0x57, 0xaa, 0xdb, 0x96, 0x65, 0x7b, 0x4d, 0x49, 0x58, 0xb8, 0x97, 0x32,
+	0xda, 0x0c, 0x29, 0xf3, 0x5d, 0x23, 0x40, 0x04, 0xb9, 0x98, 0x61, 0xa2, 0x60, 0x5b, 0x29, 0xb0,
+	0x06, 0xc1, 0xdf, 0x86, 0xd8, 0x33, 0x3b, 0x86, 0x89, 0x02, 0x85, 0xf9, 0x3a, 0x05, 0x43, 0x30,
+	0x72, 0x0c, 0x66, 0xbb, 0xd8, 0x50, 0x26, 0x1a, 0x14, 0x33, 0x76, 0x66, 0xea, 0xfd, 0x14, 0x3c,
+	0x43, 0xa4, 0x89, 0x59, 0x3f, 0x6e, 0x77, 0x18, 0x0e, 0x7b, 0xa1, 0x4b, 0x4b, 0xc8, 0x32, 0x28,
+	0x26, 0x6d, 0x8e, 0xf3, 0x03, 0x66, 0xbb, 0xf6, 0x77, 0x88, 0xd9, 0xbe, 0x67, 0x50, 0x86, 0x58,
+	0x48, 0x15, 0xc7, 0xa3, 0x34, 0x8e, 0x36, 0x26, 0xcc, 0xa6, 0x9c, 0xc4, 0x6c, 0x21, 0xcf, 0xc3,
+	0x8e, 0x41, 0xc3, 0xba, 0xc1, 0x3a, 0x01, 0x56, 0x0c, 0x5f, 0x8e, 0xcf, 0x90, 0x40, 0xef, 0xa4,
+	0xa0, 0x83, 0xc0, 0x88, 0x76, 0x8a, 0xc1, 0x1b, 0x94, 0xf9, 0x24, 0xc2, 0xfe, 0x66, 0x0c, 0x6c,
+	0xec, 0x79, 0x46, 0x10, 0xc3, 0xcd, 0x8e, 0xd1, 0xf4, 0x51, 0x97, 0x21, 0xbf, 0x1e, 0x4d, 0xd6,
+	0x87, 0xcf, 0xee, 0x81, 0x3a, 0x41, 0x9e, 0x65, 0x50, 0xd4, 0xc0, 0xac, 0x63, 0xd0, 0xd0, 0x66,
+	0xa8, 0x6e, 0x3b, 0x36, 0xeb, 0x64, 0x43, 0xc7, 0x33, 0xc0, 0x27, 0x01, 0x26, 0xb6, 0x8b, 0x3d,
+	0x96, 0xd4, 0xfd, 0x30, 0x23, 0x3a, 0xda, 0x09, 0x5d, 0x8b, 0xbf, 0x9d, 0x15, 0x9c, 0x04, 0xa5,
+	0xd8, 0xeb, 0xe1, 0x26, 0x62, 0x76, 0x1b, 0x1b, 0x4d, 0xec, 0x1b, 0x72, 0xe7, 0x26, 0xed, 0xdd,
+	0x1c, 0x8d, 0x0e, 0x50, 0x47, 0xcc, 0xd0, 0xf5, 0xad, 0x8c, 0xde, 0x0d, 0x7c, 0x6a, 0x8f, 0xd0,
+	0x97, 0x72, 0x46, 0xda, 0xc8, 0xb3, 0x59, 0xc7, 0x08, 0x5a, 0x88, 0xb8, 0xc8, 0xb0, 0x6c, 0x1a,
+	0x38, 0xa8, 0x63, 0x84, 0xc4, 0x49, 0x5a, 0x70, 0x7f, 0x1c, 0x0e, 0x86, 0x4f, 0x98, 0xc2, 0x5d,
+	0x8f, 0x70, 0x81, 0x5d, 0x6a, 0xd8, 0xd8, 0xb1, 0x8c, 0x3a, 0x6e, 0xa1, 0xb6, 0xed, 0x47, 0xc1,
+	0x66, 0x2d, 0x31, 0x20, 0x8a, 0x73, 0xaa, 0xeb, 0x9a, 0xea, 0x12, 0xad, 0x7a, 0xd8, 0x28, 0xbd,
+	0x27, 0x28, 0x08, 0x30, 0x89, 0x56, 0xe1, 0x4a, 0x02, 0x8a, 0x3c, 0xcf, 0x67, 0xe2, 0x6c, 0xab,
+	0xde, 0x8f, 0xfe, 0x7b, 0x1f, 0x5c, 0xa8, 0xa8, 0xd5, 0x83, 0x87, 0x60, 0x36, 0x22, 0x37, 0x3c,
+	0xe4, 0x62, 0x2d, 0x77, 0x23, 0xb7, 0x7e, 0x71, 0x77, 0xe3, 0x43, 0x79, 0xea, 0xb4, 0xfc, 0xff,
+	0xe0, 0xe6, 0x59, 0xb8, 0x55, 0xbf, 0x02, 0x9b, 0x16, 0x4d, 0xdf, 0x2d, 0x45, 0x0c, 0xfa, 0x4c,
+	0x84, 0x3f, 0x44, 0x2e, 0x86, 0x9b, 0x20, 0x6f, 0x5b, 0xda, 0xe4, 0x8d, 0xdc, 0xfa, 0xf4, 0xd6,
+	0x65, 0x85, 0x29, 0x46, 0x76, 0x16, 0x0f, 0x3c, 0x76, 0xff, 0xf3, 0x63, 0xe4, 0x84, 0x78, 0x77,
+	0xf2, 0x43, 0x79, 0x52, 0xcf, 0xdb, 0x16, 0xdc, 0x04, 0xe7, 0x84, 0xe2, 0x73, 0x02, 0x73, 0xa5,
+	0x0f, 0x53, 0x63, 0xc4, 0xf6, 0x9a, 0x02, 0xa4, 0x8b, 0x91, 0xf0, 0x35, 0x38, 0x2f, 0x37, 0x9d,
+	0x36, 0x75, 0x23, 0xb7, 0x3e, 0xb7, 0xf5, 0xa8, 0x38, 0xec, 0x7e, 0x10, 0x6b, 0x50, 0x8c, 0x4c,
+	0xad, 0x09, 0xd0, 0x63, 0x2f, 0x74, 0x7b, 0x44, 0xba, 0xe2, 0x83, 0xdf, 0x81, 0xb9, 0xee, 0xb3,
+	0xa0, 0x2d, 0x0b, 0x0d, 0x87, 0x59, 0x35, 0x48, 0xf0, 0x20, 0x45, 0xc9, 0x1e, 0x39, 0xf9, 0x59,
+	0x9a, 0x94, 0xc1, 0xbf, 0xe7, 0xc0, 0xb5, 0xd1, 0x51, 0x59, 0xbb, 0x20, 0x8c, 0xf9, 0x26, 0xc5,
+	0x98, 0xb2, 0xa5, 0x94, 0xbd, 0x4c, 0x50, 0x24, 0x4c, 0x1a, 0xd1, 0xaf, 0x5f, 0x46, 0xc3, 0x3b,
+	0xe1, 0x5f, 0x72, 0x40, 0x1b, 0x16, 0xb1, 0xb5, 0x8b, 0xc2, 0xb6, 0x6a, 0xaa, 0x6d, 0x31, 0xbc,
+	0x22, 0xd1, 0x47, 0x9d, 0x00, 0x2b, 0xb3, 0x06, 0x75, 0x71, 0x57, 0x4d, 0xe9, 0x2b, 0x68, 0x60,
+	0x27, 0xfc, 0x31, 0x07, 0xae, 0x8c, 0xba, 0x85, 0x34, 0x20, 0xac, 0x3a, 0x1e, 0xdb, 0xaa, 0x5a,
+	0x58, 0x1f, 0x61, 0x98, 0xea, 0x95, 0xb6, 0xad, 0xa1, 0x61, 0xfd, 0xb0, 0x0a, 0x96, 0x19, 0x41,
+	0xe6, 0x3b, 0x6e, 0x1a, 0x0f, 0x1b, 0x0c, 0xbb, 0x81, 0x83, 0x18, 0xd6, 0xa6, 0x33, 0xec, 0xf5,
+	0xc5, 0x08, 0xfa, 0x8a, 0x38, 0x47, 0x0a, 0x08, 0x4d, 0xb0, 0xcc, 0x89, 0x7a, 0xf3, 0x13, 0xaa,
+	0xcd, 0xdc, 0x98, 0x5c, 0x9f, 0xde, 0x2a, 0x0d, 0x9d, 0xa8, 0xcc, 0x16, 0x8a, 0x15, 0x01, 0xac,
+	0x46, 0x38, 0x7d, 0x31, 0x24, 0x4e, 0x8f, 0x8c, 0xc2, 0x6f, 0xc1, 0xda, 0xd0, 0xac, 0x44, 0xfb,
+	0x44, 0x98, 0x7e, 0x3f, 0x4d, 0x91, 0x8e, 0x91, 0x73, 0x64, 0xbb, 0x78, 0x57, 0xc2, 0x6b, 0x12,
+	0xad, 0xaf, 0x90, 0x81, 0x72, 0xd8, 0x00, 0x0b, 0x1e, 0x66, 0xef, 0x7d, 0xf2, 0x2e, 0x52, 0x44,
+	0xb5, 0x39, 0xa1, 0xe9, 0x61, 0x31, 0x35, 0xf9, 0x8b, 0x0f, 0x59, 0xf1, 0x50, 0x72, 0x28, 0x56,
+	0xaa, 0xcf, 0x7b, 0xdd, 0x02, 0xd8, 0x00, 0xb3, 0x2d, 0x9f, 0xf1, 0x1d, 0xa2, 0xa6, 0x73, 0x43,
+	0x28, 0xf9, 0x72, 0x1c, 0x25, 0xfb, 0x9c, 0x40, 0x31, 0x1e, 0x78, 0x0d, 0x5f, 0x6e, 0x83, 0x99,
+	0x56, 0x42, 0x0c, 0xff, 0x98, 0x03, 0x05, 0xab, 0xe3, 0x21, 0xd7, 0x36, 0x0d, 0x8a, 0x11, 0x31,
+	0x5b, 0x06, 0xb2, 0x68, 0xac, 0xf5, 0xa6, 0xd0, 0x5a, 0x19, 0x47, 0xeb, 0x9e, 0x64, 0xab, 0x09,
+	0xb2, 0xb2, 0x45, 0x23, 0x8f, 0xae, 0x5a, 0x83, 0x3b, 0xb8, 0x4b, 0x69, 0xcb, 0x0f, 0x82, 0xe4,
+	0xe2, 0xfd, 0x6a, 0x7c, 0x97, 0xd6, 0x14, 0x47, 0xa4, 0x6f, 0x9e, 0x76, 0x0b, 0xe0, 0x5b, 0x70,
+	0xa9, 0x2f, 0x07, 0xd5, 0xee, 0x08, 0x45, 0x9b, 0x69, 0xbb, 0xe4, 0x28, 0x02, 0x46, 0xec, 0x0b,
+	0xac, 0x47, 0x02, 0xdf, 0x83, 0xd5, 0x9e, 0xcb, 0x3b, 0x56, 0x52, 0x12, 0x4a, 0x1e, 0x8d, 0x33,
+	0x9b, 0xa7, 0xd8, 0x97, 0x3a, 0xf9, 0xf9, 0x8c, 0x94, 0x2e, 0x35, 0x07, 0x48, 0x61, 0x00, 0x96,
+	0xba, 0x92, 0xc4, 0x48, 0xeb, 0xb6, 0xd0, 0xfa, 0xf5, 0x38, 0x5a, 0xcb, 0x41, 0x70, 0x76, 0x0f,
+	0x48, 0x9d, 0x10, 0xf5, 0xc9, 0xa0, 0x05, 0xce, 0x3b, 0xa8, 0x8e, 0x1d, 0xaa, 0xdd, 0x13, 0xa7,
+	0x79, 0x64, 0x7c, 0xd8, 0x2d, 0x7e, 0x28, 0x4f, 0x9e, 0x96, 0xd7, 0xc1, 0xc7, 0xa9, 0x57, 0xf4,
+	0x73, 0x4e, 0xaa, 0x2b, 0x6e, 0xf8, 0x07, 0x30, 0xdf, 0x93, 0x2d, 0x6a, 0x97, 0x32, 0xc5, 0xee,
+	0x88, 0xee, 0x71, 0x8c, 0x8e, 0x43, 0xe4, 0xe0, 0x2e, 0x79, 0xcd, 0xcd, 0xe1, 0x2e, 0x21, 0x74,
+	0xc0, 0x6c, 0x1d, 0x51, 0x1c, 0x3b, 0x56, 0xbb, 0x92, 0x1e, 0x0c, 0x79, 0x3e, 0x32, 0x99, 0x35,
+	0x1f, 0xe1, 0xec, 0x71, 0x7e, 0x43, 0xc1, 0xfc, 0x59, 0x9a, 0x1f, 0x5a, 0x4d, 0xcc, 0xb4, 0xf3,
+	0x19, 0xf4, 0xdd, 0x3d, 0x2d, 0x6f, 0x80, 0x4f, 0x52, 0x95, 0xed, 0x0a, 0x46, 0x7d, 0xce, 0xec,
+	0x6a, 0xc3, 0x3f, 0xe5, 0xc0, 0xf2, 0xc0, 0x9a, 0x40, 0x5b, 0x11, 0x9e, 0x7e, 0x96, 0xe2, 0xe9,
+	0x28, 0x38, 0x2a, 0x68, 0xec, 0xe6, 0x01, 0x72, 0xe9, 0xe3, 0xc5, 0x7a, 0x7f, 0x0f, 0x7c, 0x08,
+	0x00, 0x65, 0x88, 0x30, 0xc3, 0xe2, 0x57, 0xce, 0x62, 0x86, 0x2b, 0xe7, 0xa2, 0x18, 0xbf, 0xc7,
+	0x2f, 0x9a, 0x07, 0xe0, 0x02, 0xf6, 0x2c, 0x09, 0x5d, 0xca, 0x00, 0xfd, 0x3f, 0xec, 0x59, 0x02,
+	0xf8, 0x04, 0x2c, 0x34, 0x6c, 0x0f, 0x39, 0xe2, 0xc2, 0xa3, 0x61, 0xa3, 0x61, 0x9f, 0x68, 0x1f,
+	0x67, 0x20, 0x98, 0x13, 0xa8, 0x57, 0xc4, 0xa9, 0x09, 0x0c, 0x7c, 0x0d, 0xe6, 0xba, 0xca, 0x69,
+	0xaa, 0xad, 0x8b, 0x43, 0xf1, 0x59, 0x5a, 0x4c, 0x79, 0x12, 0xa1, 0x2a, 0x28, 0x78, 0xec, 0x31,
+	0xd2, 0xd1, 0x67, 0x1b, 0x09, 0x11, 0x85, 0x7f, 0xcb, 0x81, 0x6b, 0x6d, 0xdb, 0xc2, 0xbe, 0x31,
+	0xac, 0xf8, 0xd2, 0x6e, 0x67, 0x3a, 0x10, 0xbb, 0x1c, 0x5e, 0x13, 0xe8, 0xda, 0x19, 0x58, 0xae,
+	0xd4, 0xc0, 0x2e, 0xb9, 0x58, 0x97, 0x85, 0xf2, 0xc1, 0x23, 0xe0, 0x5b, 0x30, 0xdb, 0x55, 0x32,
+	0x68, 0x77, 0x85, 0xef, 0xbe, 0x18, 0x27, 0xdc, 0x1c, 0x0b, 0x82, 0xaa, 0xc0, 0xeb, 0x33, 0xed,
+	0x44, 0x0b, 0x9e, 0x80, 0x15, 0x8a, 0x1d, 0x6c, 0x8a, 0xa2, 0x28, 0x99, 0x62, 0x6a, 0x9f, 0x0a,
+	0x3d, 0xe5, 0xb1, 0xae, 0x86, 0x88, 0x29, 0x99, 0x2b, 0xea, 0xcb, 0x74, 0x90, 0x18, 0xbe, 0x03,
+	0x0b, 0x71, 0x2e, 0x14, 0x85, 0xd2, 0xe2, 0xf8, 0xd7, 0xd1, 0x91, 0xe2, 0x50, 0x31, 0x53, 0x7a,
+	0x74, 0x9e, 0x75, 0x4b, 0xe1, 0x5b, 0x30, 0x93, 0x2c, 0x16, 0xb5, 0xcf, 0xc5, 0x7a, 0xee, 0xa4,
+	0xac, 0x67, 0x55, 0x42, 0x5e, 0xf8, 0x96, 0x3c, 0x6e, 0x89, 0xb6, 0x3e, 0x1d, 0x9c, 0x35, 0x60,
+	0x15, 0xc0, 0xee, 0xf4, 0xdc, 0xf4, 0x09, 0xd6, 0x1e, 0x0c, 0xd9, 0xe5, 0x7b, 0x7e, 0x58, 0x77,
+	0x70, 0xa2, 0xea, 0xb9, 0x94, 0x04, 0xd7, 0x38, 0x16, 0x9e, 0x80, 0x85, 0xde, 0x80, 0xa1, 0xad,
+	0x66, 0x88, 0x53, 0x9f, 0x9e, 0x96, 0x6f, 0x83, 0xf5, 0xa1, 0x71, 0xaa, 0x27, 0x60, 0xec, 0x4f,
+	0xe8, 0xf3, 0x3d, 0x91, 0x02, 0x3e, 0x07, 0x80, 0x1f, 0x1c, 0x9b, 0x52, 0xbe, 0x0b, 0x3e, 0x13,
+	0x3a, 0x6f, 0xa7, 0xa6, 0x91, 0x31, 0x62, 0x7f, 0x42, 0x4f, 0xe0, 0xe1, 0x33, 0x00, 0x5c, 0xe4,
+	0x85, 0xc8, 0x31, 0xcc, 0xc0, 0xd4, 0x34, 0xc1, 0xb6, 0x91, 0xc6, 0xf6, 0x42, 0x20, 0x2a, 0x81,
+	0xb9, 0x3f, 0xa1, 0x5f, 0x74, 0xa3, 0x46, 0x17, 0x97, 0xab, 0xad, 0x8d, 0xc7, 0xe5, 0x26, 0xb9,
+	0x5c, 0xf8, 0x32, 0xc1, 0xd5, 0xd6, 0x6e, 0x8d, 0xc7, 0xd5, 0x16, 0xcb, 0x96, 0x24, 0x6c, 0xc3,
+	0x16, 0x58, 0x72, 0xd1, 0x09, 0x5f, 0x45, 0x6c, 0x98, 0xbe, 0xd7, 0xc6, 0x84, 0xcf, 0x9f, 0x6a,
+	0xd7, 0x04, 0xf5, 0x76, 0x3a, 0xb5, 0xc4, 0x56, 0xce, 0xa0, 0xfb, 0x13, 0xfa, 0xa2, 0xdb, 0x2f,
+	0x86, 0x21, 0x58, 0x1b, 0xa0, 0xc9, 0x68, 0xf3, 0xf5, 0xd7, 0xae, 0x0b, 0x75, 0x0f, 0xc6, 0x57,
+	0x27, 0xb6, 0xcf, 0xfe, 0x84, 0xbe, 0xea, 0x0e, 0xee, 0xe2, 0xde, 0x57, 0x39, 0x97, 0x19, 0x20,
+	0xad, 0x90, 0xcd, 0x63, 0x32, 0x8b, 0xaa, 0x04, 0x88, 0x3b, 0x8b, 0x45, 0x0d, 0xe8, 0x83, 0x55,
+	0xc5, 0x65, 0xbb, 0x01, 0xc1, 0x62, 0xab, 0x18, 0xb4, 0x85, 0x08, 0xd6, 0x36, 0x05, 0xf1, 0xbd,
+	0x6c, 0xc4, 0x07, 0x31, 0xba, 0xc6, 0xc1, 0xfb, 0x13, 0xfa, 0x32, 0x1b, 0xd4, 0x01, 0x5f, 0x80,
+	0x69, 0xa5, 0x90, 0xf8, 0x88, 0x6a, 0x57, 0xb3, 0xed, 0x6a, 0xa9, 0x44, 0xf7, 0x11, 0x5f, 0x0b,
+	0x35, 0x7b, 0xde, 0x82, 0x55, 0x30, 0xa3, 0xe8, 0x68, 0x80, 0x3d, 0x4b, 0xbb, 0x2c, 0xf8, 0xee,
+	0x64, 0xe3, 0xab, 0x71, 0xc8, 0xfe, 0x84, 0xae, 0x2c, 0x12, 0x4d, 0x6e, 0x60, 0x80, 0x89, 0xc9,
+	0x03, 0x14, 0x3f, 0x28, 0x1f, 0x65, 0x33, 0xb0, 0x2a, 0x21, 0xf2, 0xa4, 0x80, 0x20, 0x6e, 0x75,
+	0x2d, 0x96, 0xab, 0x6d, 0x8c, 0xb7, 0x58, 0x6e, 0x72, 0xb1, 0xdc, 0xc2, 0x87, 0x3c, 0x98, 0xef,
+	0xa9, 0xa3, 0xe0, 0x73, 0xb0, 0xa4, 0xf8, 0x25, 0x91, 0xaa, 0x69, 0xc4, 0x63, 0xd1, 0xf4, 0x56,
+	0xa1, 0x2f, 0x44, 0xed, 0xfa, 0xbe, 0x23, 0xaf, 0x75, 0x28, 0x71, 0x4f, 0xc5, 0x00, 0x59, 0xa3,
+	0xc0, 0x43, 0xb0, 0x1c, 0xb9, 0x53, 0x96, 0x46, 0xaa, 0x4a, 0xd3, 0xf2, 0xa9, 0x74, 0x8b, 0xca,
+	0x89, 0x02, 0xa7, 0xac, 0x84, 0x55, 0xb0, 0x12, 0xcd, 0xde, 0xf7, 0x18, 0xf7, 0x69, 0x44, 0x38,
+	0x99, 0x4a, 0xa8, 0xe6, 0x55, 0x91, 0xc0, 0x88, 0xf1, 0x2d, 0xb8, 0xaa, 0x18, 0x03, 0x44, 0x98,
+	0x87, 0x49, 0xaf, 0xa5, 0xe7, 0x52, 0x89, 0x0b, 0x92, 0xa0, 0x2a, 0xf1, 0x5d, 0x06, 0x17, 0xde,
+	0x80, 0x85, 0xde, 0x22, 0x12, 0xee, 0x83, 0x79, 0x59, 0x99, 0xf2, 0x35, 0xc5, 0xc4, 0xb0, 0x2d,
+	0xe5, 0xdd, 0xb4, 0x57, 0xb4, 0x29, 0x5d, 0x96, 0xb4, 0x15, 0x81, 0x3b, 0xb0, 0x0a, 0xff, 0xc9,
+	0x03, 0xd8, 0x5f, 0x71, 0xc0, 0x9f, 0x72, 0xa0, 0x30, 0xfc, 0xa1, 0x5b, 0x28, 0x9b, 0xdb, 0x6a,
+	0xa5, 0xbd, 0x94, 0x9c, 0xf1, 0xf6, 0xdc, 0x2d, 0x4f, 0x7d, 0x94, 0x78, 0xcb, 0x49, 0x1d, 0xa6,
+	0xaf, 0xd6, 0x07, 0x77, 0xc0, 0x2f, 0xc0, 0x79, 0x5e, 0x77, 0xd9, 0x96, 0xda, 0x0e, 0xa3, 0x2f,
+	0x40, 0xe1, 0x80, 0x29, 0x14, 0x04, 0x07, 0x16, 0x74, 0xc0, 0xc5, 0xf8, 0x2b, 0x80, 0x58, 0xfa,
+	0xf4, 0x4c, 0x3b, 0x61, 0x68, 0x39, 0x08, 0x6a, 0x1c, 0xd9, 0x3b, 0x81, 0x48, 0x2e, 0x55, 0x5d,
+	0x40, 0xaa, 0x59, 0xf8, 0x57, 0x1e, 0xac, 0x0e, 0x29, 0xca, 0xe1, 0x57, 0x60, 0xda, 0xf2, 0x5d,
+	0x64, 0x7b, 0x67, 0x6f, 0xaa, 0x69, 0xf9, 0x2f, 0x90, 0x00, 0xf1, 0x88, 0x5a, 0x06, 0xb3, 0x0e,
+	0xf2, 0x9a, 0x21, 0x6a, 0xf2, 0x90, 0x6f, 0xe1, 0x2c, 0x9e, 0xd0, 0x67, 0x22, 0x48, 0x85, 0xa7,
+	0x28, 0x2f, 0xc1, 0x4a, 0x48, 0xb1, 0x41, 0xc3, 0x20, 0x70, 0x6c, 0x6c, 0xf1, 0x6c, 0x9c, 0x1a,
+	0xbe, 0xe7, 0x74, 0x32, 0x9c, 0x89, 0xc5, 0x90, 0xe2, 0x9a, 0x02, 0xbe, 0x22, 0x0e, 0x7d, 0xe9,
+	0x39, 0x1d, 0xf8, 0x7b, 0x30, 0xd5, 0xc0, 0xd8, 0xa2, 0xda, 0x54, 0x86, 0xda, 0xf4, 0x96, 0x28,
+	0xd7, 0xae, 0x83, 0xab, 0x43, 0x33, 0x93, 0x27, 0x18, 0x5b, 0xba, 0x64, 0x2c, 0xfc, 0x94, 0x07,
+	0xf3, 0x3d, 0xcf, 0x0c, 0xb0, 0x0c, 0xa6, 0x5d, 0x4c, 0xcc, 0x16, 0xf2, 0xd8, 0x38, 0x47, 0x01,
+	0x44, 0xa0, 0x03, 0x0b, 0x3e, 0x01, 0xb3, 0x14, 0x39, 0x98, 0x1a, 0xa6, 0x1f, 0xf2, 0x3a, 0x20,
+	0xfb, 0x7e, 0x9a, 0x11, 0xb8, 0x8a, 0x84, 0xc1, 0x7d, 0x70, 0x29, 0x2e, 0x21, 0x03, 0x62, 0xfb,
+	0x84, 0x57, 0x08, 0x23, 0x5e, 0xb8, 0xb7, 0xb7, 0xa4, 0x1b, 0x17, 0x22, 0x54, 0x55, 0x81, 0xe0,
+	0x57, 0x60, 0x06, 0x7b, 0xa8, 0xee, 0x60, 0xc3, 0xf1, 0x4d, 0xe4, 0x64, 0x88, 0x22, 0xd3, 0x72,
+	0xfc, 0x73, 0x3e, 0xbc, 0xf0, 0x8f, 0x3c, 0x98, 0x49, 0xe6, 0xf6, 0xf0, 0x47, 0x5e, 0xc9, 0x8c,
+	0xfc, 0x48, 0xa1, 0x8e, 0xf5, 0xeb, 0x94, 0x63, 0x90, 0x64, 0xdd, 0x93, 0x14, 0xaf, 0x88, 0x13,
+	0x27, 0xc2, 0xc3, 0xbb, 0xf5, 0x42, 0x7b, 0x68, 0x1f, 0x24, 0x00, 0xf6, 0x7f, 0xfe, 0x10, 0xab,
+	0x30, 0xb7, 0xb5, 0x37, 0x86, 0x45, 0x47, 0xf8, 0x84, 0xf5, 0xd9, 0xc1, 0x85, 0xfa, 0x42, 0xbb,
+	0x47, 0x52, 0xf8, 0x1d, 0x98, 0xef, 0x29, 0x11, 0xe0, 0x1e, 0x98, 0x49, 0xbe, 0xc2, 0x66, 0x39,
+	0x8d, 0x32, 0x4f, 0x9f, 0x4e, 0xbc, 0xc0, 0x16, 0x7e, 0xce, 0x83, 0xa5, 0x41, 0xaf, 0x47, 0xf0,
+	0xcf, 0x39, 0xa0, 0x0d, 0xfb, 0xce, 0xa4, 0xdc, 0x9f, 0xf6, 0xf9, 0xa0, 0xaa, 0xe0, 0x5d, 0xfc,
+	0xb2, 0x04, 0x19, 0xd4, 0xa3, 0x2f, 0x07, 0x83, 0xc4, 0xc2, 0x92, 0x61, 0x5f, 0xd8, 0x94, 0xdb,
+	0xd3, 0x2c, 0x39, 0x54, 0xf0, 0x7e, 0x4b, 0x06, 0xf6, 0xe8, 0xcb, 0xde, 0x20, 0x71, 0xe1, 0xaf,
+	0x39, 0xb0, 0x3c, 0xb0, 0x3a, 0x84, 0xdf, 0x03, 0x98, 0x48, 0x62, 0x91, 0x29, 0x3e, 0x4c, 0x69,
+	0xb9, 0x2c, 0xef, 0x5d, 0xa7, 0xe5, 0x3b, 0x60, 0x63, 0xf8, 0x93, 0x4c, 0xcc, 0x5a, 0x16, 0xa4,
+	0xfa, 0x25, 0xb3, 0x47, 0x42, 0x77, 0x7e, 0xfb, 0x4b, 0xf9, 0x30, 0xc3, 0x13, 0x12, 0xdc, 0x90,
+	0xef, 0xeb, 0x98, 0xd0, 0xd2, 0xf7, 0xd1, 0xcf, 0x1f, 0xe2, 0x2f, 0x9e, 0x5c, 0xa8, 0x7e, 0xfe,
+	0xb0, 0x7b, 0x19, 0xac, 0x0d, 0xfd, 0x8c, 0xbc, 0x7b, 0x9a, 0x03, 0xb7, 0x4c, 0xdf, 0x4d, 0xaf,
+	0x6f, 0x77, 0x67, 0x2b, 0x71, 0xac, 0xf0, 0x99, 0x5f, 0xcd, 0x7d, 0xf3, 0x4c, 0x61, 0x9a, 0x3e,
+	0x0f, 0xeb, 0x45, 0x9f, 0x34, 0x4b, 0x4d, 0xec, 0x09, 0xc7, 0x94, 0xce, 0xcc, 0x1e, 0xf1, 0x1f,
+	0x8a, 0x87, 0xf1, 0xaf, 0x7f, 0xe6, 0x27, 0x9f, 0x96, 0xcb, 0x3f, 0xe7, 0x6f, 0xca, 0x24, 0xac,
+	0x58, 0xb6, 0x68, 0x51, 0xfe, 0xe4, 0xbf, 0x8e, 0xb7, 0x8b, 0x7a, 0x34, 0xf2, 0xdf, 0xd1, 0x98,
+	0x37, 0x65, 0x8b, 0xbe, 0x89, 0xc7, 0xbc, 0x39, 0xde, 0x7e, 0x13, 0x8f, 0xf9, 0x25, 0x7f, 0x4b,
+	0x76, 0xec, 0xec, 0x94, 0x2d, 0xba, 0xb3, 0x13, 0x8f, 0xda, 0xd9, 0x39, 0xde, 0xde, 0xd9, 0x89,
+	0xc7, 0xd5, 0xcf, 0x0b, 0x63, 0xb7, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x07, 0x06, 0x4c, 0xa7,
+	0xef, 0x21, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/resources/keyword_plan_campaign.pb.go b/googleapis/ads/googleads/v3/resources/keyword_plan_campaign.pb.go
index 2abf3a4..ce9379f 100644
--- a/googleapis/ads/googleads/v3/resources/keyword_plan_campaign.pb.go
+++ b/googleapis/ads/googleads/v3/resources/keyword_plan_campaign.pb.go
@@ -145,7 +145,6 @@
 }
 
 // A geo target.
-// Next ID: 3
 type KeywordPlanGeoTarget struct {
 	// Required. The resource name of the geo target.
 	GeoTargetConstant    *wrappers.StringValue `protobuf:"bytes,1,opt,name=geo_target_constant,json=geoTargetConstant,proto3" json:"geo_target_constant,omitempty"`
diff --git a/googleapis/ads/googleads/v3/resources/offline_user_data_job.pb.go b/googleapis/ads/googleads/v3/resources/offline_user_data_job.pb.go
new file mode 100644
index 0000000..160d5b2
--- /dev/null
+++ b/googleapis/ads/googleads/v3/resources/offline_user_data_job.pb.go
@@ -0,0 +1,223 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/resources/offline_user_data_job.proto
+
+package resources
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	wrappers "github.com/golang/protobuf/ptypes/wrappers"
+	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
+	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A job containing offline user data of store visitors, or user list members
+// that will be processed asynchronously. The uploaded data isn't readable and
+// the processing results of the job can only be read using
+// OfflineUserDataJobService.GetOfflineUserDataJob.
+type OfflineUserDataJob struct {
+	// Immutable. The resource name of the offline user data job.
+	// Offline user data job resource names have the form:
+	//
+	// `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`
+	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	// Output only. ID of this offline user data job.
+	Id *wrappers.Int64Value `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+	// Output only. User specified job ID.
+	ExternalId *wrappers.Int64Value `protobuf:"bytes,3,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
+	// Output only. Type of the job.
+	Type enums.OfflineUserDataJobTypeEnum_OfflineUserDataJobType `protobuf:"varint,4,opt,name=type,proto3,enum=google.ads.googleads.v3.enums.OfflineUserDataJobTypeEnum_OfflineUserDataJobType" json:"type,omitempty"`
+	// Output only. Status of the job.
+	Status enums.OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus `protobuf:"varint,5,opt,name=status,proto3,enum=google.ads.googleads.v3.enums.OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus" json:"status,omitempty"`
+	// Output only. Reason for the processing failure, if status is FAILED.
+	FailureReason enums.OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason `protobuf:"varint,6,opt,name=failure_reason,json=failureReason,proto3,enum=google.ads.googleads.v3.enums.OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason" json:"failure_reason,omitempty"`
+	// Metadata of the job.
+	//
+	// Types that are valid to be assigned to Metadata:
+	//	*OfflineUserDataJob_CustomerMatchUserListMetadata
+	//	*OfflineUserDataJob_StoreSalesMetadata
+	Metadata             isOfflineUserDataJob_Metadata `protobuf_oneof:"metadata"`
+	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
+	XXX_unrecognized     []byte                        `json:"-"`
+	XXX_sizecache        int32                         `json:"-"`
+}
+
+func (m *OfflineUserDataJob) Reset()         { *m = OfflineUserDataJob{} }
+func (m *OfflineUserDataJob) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJob) ProtoMessage()    {}
+func (*OfflineUserDataJob) Descriptor() ([]byte, []int) {
+	return fileDescriptor_f7a781c59cc1896d, []int{0}
+}
+
+func (m *OfflineUserDataJob) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJob.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJob.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJob) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJob.Merge(m, src)
+}
+func (m *OfflineUserDataJob) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJob.Size(m)
+}
+func (m *OfflineUserDataJob) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJob.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJob proto.InternalMessageInfo
+
+func (m *OfflineUserDataJob) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *OfflineUserDataJob) GetId() *wrappers.Int64Value {
+	if m != nil {
+		return m.Id
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJob) GetExternalId() *wrappers.Int64Value {
+	if m != nil {
+		return m.ExternalId
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJob) GetType() enums.OfflineUserDataJobTypeEnum_OfflineUserDataJobType {
+	if m != nil {
+		return m.Type
+	}
+	return enums.OfflineUserDataJobTypeEnum_UNSPECIFIED
+}
+
+func (m *OfflineUserDataJob) GetStatus() enums.OfflineUserDataJobStatusEnum_OfflineUserDataJobStatus {
+	if m != nil {
+		return m.Status
+	}
+	return enums.OfflineUserDataJobStatusEnum_UNSPECIFIED
+}
+
+func (m *OfflineUserDataJob) GetFailureReason() enums.OfflineUserDataJobFailureReasonEnum_OfflineUserDataJobFailureReason {
+	if m != nil {
+		return m.FailureReason
+	}
+	return enums.OfflineUserDataJobFailureReasonEnum_UNSPECIFIED
+}
+
+type isOfflineUserDataJob_Metadata interface {
+	isOfflineUserDataJob_Metadata()
+}
+
+type OfflineUserDataJob_CustomerMatchUserListMetadata struct {
+	CustomerMatchUserListMetadata *common.CustomerMatchUserListMetadata `protobuf:"bytes,7,opt,name=customer_match_user_list_metadata,json=customerMatchUserListMetadata,proto3,oneof"`
+}
+
+type OfflineUserDataJob_StoreSalesMetadata struct {
+	StoreSalesMetadata *common.StoreSalesMetadata `protobuf:"bytes,8,opt,name=store_sales_metadata,json=storeSalesMetadata,proto3,oneof"`
+}
+
+func (*OfflineUserDataJob_CustomerMatchUserListMetadata) isOfflineUserDataJob_Metadata() {}
+
+func (*OfflineUserDataJob_StoreSalesMetadata) isOfflineUserDataJob_Metadata() {}
+
+func (m *OfflineUserDataJob) GetMetadata() isOfflineUserDataJob_Metadata {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJob) GetCustomerMatchUserListMetadata() *common.CustomerMatchUserListMetadata {
+	if x, ok := m.GetMetadata().(*OfflineUserDataJob_CustomerMatchUserListMetadata); ok {
+		return x.CustomerMatchUserListMetadata
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJob) GetStoreSalesMetadata() *common.StoreSalesMetadata {
+	if x, ok := m.GetMetadata().(*OfflineUserDataJob_StoreSalesMetadata); ok {
+		return x.StoreSalesMetadata
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfflineUserDataJob) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*OfflineUserDataJob_CustomerMatchUserListMetadata)(nil),
+		(*OfflineUserDataJob_StoreSalesMetadata)(nil),
+	}
+}
+
+func init() {
+	proto.RegisterType((*OfflineUserDataJob)(nil), "google.ads.googleads.v3.resources.OfflineUserDataJob")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/resources/offline_user_data_job.proto", fileDescriptor_f7a781c59cc1896d)
+}
+
+var fileDescriptor_f7a781c59cc1896d = []byte{
+	// 662 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4b, 0x4f, 0xd4, 0x40,
+	0x1c, 0x77, 0x77, 0x79, 0x39, 0x08, 0x87, 0xc6, 0xc4, 0x8a, 0x2f, 0x30, 0x21, 0x21, 0x31, 0x4e,
+	0x0d, 0x35, 0x1c, 0x6a, 0x30, 0x74, 0x7d, 0xf0, 0x88, 0x28, 0x59, 0x70, 0x63, 0xcc, 0x26, 0xcd,
+	0x6c, 0x3b, 0xbb, 0x8c, 0xb6, 0x33, 0x75, 0x66, 0x8a, 0x12, 0xc2, 0xcd, 0xb3, 0x1f, 0xc2, 0xa3,
+	0x1f, 0xc5, 0x93, 0x1f, 0x81, 0x33, 0x1f, 0xc1, 0x93, 0x69, 0x67, 0xa6, 0x2c, 0xae, 0x05, 0xe1,
+	0xf6, 0xdf, 0xfd, 0xff, 0x5e, 0xf3, 0xf8, 0x4f, 0xc1, 0x72, 0x9f, 0xb1, 0x7e, 0x8c, 0x1d, 0x14,
+	0x09, 0x47, 0x95, 0x79, 0xb5, 0xe7, 0x3a, 0x1c, 0x0b, 0x96, 0xf1, 0x10, 0x0b, 0x87, 0xf5, 0x7a,
+	0x31, 0xa1, 0x38, 0xc8, 0x04, 0xe6, 0x41, 0x84, 0x24, 0x0a, 0x3e, 0xb0, 0x2e, 0x4c, 0x39, 0x93,
+	0xcc, 0x9a, 0x53, 0x1c, 0x88, 0x22, 0x01, 0x4b, 0x3a, 0xdc, 0x73, 0x61, 0x49, 0x9f, 0x59, 0xaa,
+	0x72, 0x08, 0x59, 0x92, 0x30, 0x3a, 0x2c, 0xaf, 0xa4, 0x67, 0xd6, 0xaa, 0x78, 0x98, 0x66, 0x49,
+	0x45, 0xaa, 0xa0, 0x87, 0x48, 0x9c, 0x71, 0x1c, 0x70, 0x8c, 0x04, 0xa3, 0x5a, 0x69, 0xe5, 0x32,
+	0x4a, 0x42, 0x22, 0x99, 0x09, 0xad, 0xf0, 0xf4, 0x32, 0x0a, 0x72, 0x3f, 0xc5, 0x9a, 0x7f, 0xcf,
+	0xf0, 0x53, 0xe2, 0xf4, 0x08, 0x8e, 0xa3, 0xa0, 0x8b, 0x77, 0xd1, 0x1e, 0x61, 0x5c, 0x03, 0x6e,
+	0x0e, 0x00, 0xcc, 0xd6, 0xe9, 0xd6, 0x5d, 0xdd, 0x2a, 0x7e, 0x75, 0xb3, 0x9e, 0xf3, 0x99, 0xa3,
+	0x34, 0xc5, 0xdc, 0x64, 0xbb, 0x3d, 0x40, 0x45, 0x94, 0x32, 0x89, 0x24, 0x61, 0x54, 0x77, 0xef,
+	0xff, 0x1a, 0x07, 0xd6, 0x1b, 0x15, 0xef, 0xad, 0xc0, 0xfc, 0x39, 0x92, 0x68, 0x83, 0x75, 0xad,
+	0x77, 0x60, 0xca, 0xd8, 0x04, 0x14, 0x25, 0xd8, 0xae, 0xcd, 0xd6, 0x16, 0xae, 0x36, 0xdd, 0x23,
+	0x7f, 0xf4, 0xb7, 0xff, 0x10, 0x3c, 0x38, 0x39, 0x4b, 0x5d, 0xa5, 0x44, 0xc0, 0x90, 0x25, 0xce,
+	0xb0, 0x56, 0xeb, 0x9a, 0x51, 0x7a, 0x8d, 0x12, 0x6c, 0x3d, 0x02, 0x75, 0x12, 0xd9, 0xf5, 0xd9,
+	0xda, 0xc2, 0xe4, 0xe2, 0x2d, 0xcd, 0x86, 0x26, 0x3b, 0x5c, 0xa7, 0x72, 0xe9, 0x71, 0x1b, 0xc5,
+	0x19, 0x6e, 0x36, 0x8e, 0xfc, 0x46, 0xab, 0x4e, 0x22, 0xcb, 0x07, 0x93, 0xf8, 0x8b, 0xc4, 0x9c,
+	0xa2, 0x38, 0x20, 0x91, 0xdd, 0xf8, 0x4f, 0x2a, 0x30, 0xa4, 0xf5, 0xc8, 0x22, 0x60, 0x24, 0xdf,
+	0x6d, 0x7b, 0x64, 0xb6, 0xb6, 0x30, 0xbd, 0xb8, 0x05, 0xab, 0x6e, 0x65, 0x71, 0x5c, 0x70, 0x78,
+	0x0d, 0x3b, 0xfb, 0x29, 0x7e, 0x41, 0xb3, 0xa4, 0xa2, 0xa5, 0x0c, 0x0b, 0x0b, 0xeb, 0x13, 0x18,
+	0x53, 0x57, 0xc3, 0x1e, 0x2d, 0xcc, 0x76, 0x2e, 0x6c, 0xb6, 0x5d, 0xd0, 0x2b, 0xec, 0x54, 0x53,
+	0x19, 0x6a, 0x23, 0xeb, 0x5b, 0x0d, 0x4c, 0x9f, 0xbe, 0xd8, 0xf6, 0x58, 0xe1, 0xdd, 0xbd, 0xb0,
+	0xf7, 0x4b, 0x25, 0xd3, 0x2a, 0x54, 0x2a, 0x22, 0x9c, 0xc2, 0xa8, 0x24, 0x53, 0xbd, 0xc1, 0xff,
+	0xf2, 0x40, 0x73, 0x61, 0x26, 0x24, 0x4b, 0x30, 0x0f, 0x12, 0x24, 0xc3, 0x5d, 0x75, 0xf5, 0x63,
+	0x22, 0x64, 0x90, 0x60, 0x89, 0xf2, 0x19, 0xb0, 0xc7, 0x8b, 0x83, 0x5c, 0xae, 0xcc, 0xa8, 0xe6,
+	0x1f, 0x3e, 0xd3, 0x42, 0x9b, 0xb9, 0x4e, 0x1e, 0xe3, 0x15, 0x11, 0x72, 0x53, 0x8b, 0x14, 0xf6,
+	0x6b, 0x57, 0x5a, 0x77, 0xc2, 0xb3, 0x50, 0xd6, 0x47, 0x70, 0x5d, 0x48, 0xc6, 0x71, 0x20, 0x50,
+	0x8c, 0xc5, 0x49, 0x84, 0x89, 0x22, 0xc2, 0xe2, 0x79, 0x11, 0xb6, 0x73, 0xee, 0x76, 0x4e, 0xfd,
+	0xdb, 0xd7, 0x12, 0x43, 0x2d, 0x8f, 0x1f, 0xfb, 0xec, 0x42, 0x13, 0x62, 0xad, 0x98, 0xf4, 0xc2,
+	0x39, 0x30, 0xe5, 0xa1, 0x79, 0x35, 0x06, 0x80, 0xc2, 0x39, 0xf8, 0xe7, 0x53, 0x72, 0xd8, 0x04,
+	0x60, 0xc2, 0x2c, 0xaa, 0xf9, 0xb5, 0x0e, 0xe6, 0x43, 0x96, 0xc0, 0x73, 0x9f, 0xde, 0xe6, 0x8d,
+	0xe1, 0x2c, 0x5b, 0xf9, 0x38, 0x6d, 0xd5, 0xde, 0x6f, 0x68, 0x76, 0x9f, 0xc5, 0x88, 0xf6, 0x21,
+	0xe3, 0x7d, 0xa7, 0x8f, 0x69, 0x31, 0x6c, 0xce, 0xc9, 0x82, 0xce, 0xf8, 0x2c, 0x3c, 0x29, 0xab,
+	0xef, 0xf5, 0xc6, 0xaa, 0xef, 0xff, 0xa8, 0xcf, 0xad, 0x2a, 0x49, 0x3f, 0x12, 0x50, 0x95, 0x79,
+	0xd5, 0x76, 0x61, 0xcb, 0x20, 0x7f, 0x1a, 0x4c, 0xc7, 0x8f, 0x44, 0xa7, 0xc4, 0x74, 0xda, 0x6e,
+	0xa7, 0xc4, 0x1c, 0xd7, 0xe7, 0x55, 0xc3, 0xf3, 0xfc, 0x48, 0x78, 0x5e, 0x89, 0xf2, 0xbc, 0xb6,
+	0xeb, 0x79, 0x25, 0xae, 0x3b, 0x56, 0x84, 0x75, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x81,
+	0x0c, 0x80, 0xc2, 0x06, 0x00, 0x00,
+}
diff --git a/googleapis/ads/googleads/v3/resources/payments_account.pb.go b/googleapis/ads/googleads/v3/resources/payments_account.pb.go
index 0096978..c59742a 100644
--- a/googleapis/ads/googleads/v3/resources/payments_account.pb.go
+++ b/googleapis/ads/googleads/v3/resources/payments_account.pb.go
@@ -44,9 +44,11 @@
 	// Output only. A secondary payments profile ID present in uncommon situations, e.g.
 	// when a sequential liability agreement has been arranged.
 	SecondaryPaymentsProfileId *wrappers.StringValue `protobuf:"bytes,6,opt,name=secondary_payments_profile_id,json=secondaryPaymentsProfileId,proto3" json:"secondary_payments_profile_id,omitempty"`
-	XXX_NoUnkeyedLiteral       struct{}              `json:"-"`
-	XXX_unrecognized           []byte                `json:"-"`
-	XXX_sizecache              int32                 `json:"-"`
+	// Output only. Paying manager of this payment account.
+	PayingManagerCustomer *wrappers.StringValue `protobuf:"bytes,7,opt,name=paying_manager_customer,json=payingManagerCustomer,proto3" json:"paying_manager_customer,omitempty"`
+	XXX_NoUnkeyedLiteral  struct{}              `json:"-"`
+	XXX_unrecognized      []byte                `json:"-"`
+	XXX_sizecache         int32                 `json:"-"`
 }
 
 func (m *PaymentsAccount) Reset()         { *m = PaymentsAccount{} }
@@ -116,6 +118,13 @@
 	return nil
 }
 
+func (m *PaymentsAccount) GetPayingManagerCustomer() *wrappers.StringValue {
+	if m != nil {
+		return m.PayingManagerCustomer
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*PaymentsAccount)(nil), "google.ads.googleads.v3.resources.PaymentsAccount")
 }
@@ -125,35 +134,37 @@
 }
 
 var fileDescriptor_37c21bb407f87d61 = []byte{
-	// 480 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xc1, 0x6a, 0xd4, 0x40,
-	0x1c, 0xc6, 0xd9, 0xcd, 0x5a, 0x70, 0x6c, 0x11, 0xa3, 0x87, 0x75, 0xa9, 0xda, 0x0a, 0x85, 0xc5,
-	0xc3, 0x8c, 0x18, 0x84, 0x32, 0x9e, 0x66, 0x05, 0x4b, 0x3d, 0x48, 0x5c, 0x71, 0x0f, 0xb2, 0x10,
-	0x66, 0x67, 0x66, 0x63, 0x20, 0x99, 0x7f, 0x98, 0x49, 0x56, 0x96, 0xd2, 0x83, 0xaf, 0xe2, 0xd1,
-	0x47, 0xf1, 0x19, 0x3c, 0xf4, 0xdc, 0x47, 0xf0, 0x24, 0x9b, 0x64, 0xd2, 0x36, 0x88, 0xae, 0xb7,
-	0x2f, 0xfc, 0xbf, 0xef, 0x37, 0xff, 0x2f, 0xc3, 0xa0, 0xe3, 0x18, 0x20, 0x4e, 0x15, 0xe1, 0xd2,
-	0x92, 0x5a, 0x6e, 0xd4, 0x2a, 0x20, 0x46, 0x59, 0x28, 0x8d, 0x50, 0x96, 0xe4, 0x7c, 0x9d, 0x29,
-	0x5d, 0xd8, 0x88, 0x0b, 0x01, 0xa5, 0x2e, 0x70, 0x6e, 0xa0, 0x00, 0xff, 0xb0, 0xb6, 0x63, 0x2e,
-	0x2d, 0x6e, 0x93, 0x78, 0x15, 0xe0, 0x36, 0x39, 0x7a, 0xe2, 0xe0, 0x79, 0x42, 0x96, 0x89, 0x4a,
-	0x65, 0xb4, 0x50, 0x9f, 0xf9, 0x2a, 0x01, 0x53, 0x33, 0x46, 0x0f, 0xaf, 0x19, 0x5c, 0xac, 0x19,
-	0x3d, 0x6e, 0x46, 0xd5, 0xd7, 0xa2, 0x5c, 0x92, 0x2f, 0x86, 0xe7, 0xb9, 0x32, 0xb6, 0x99, 0xef,
-	0x5f, 0x8b, 0x72, 0xad, 0xa1, 0xe0, 0x45, 0x02, 0xba, 0x99, 0x3e, 0xfd, 0x39, 0x40, 0x77, 0xc3,
-	0x66, 0x6f, 0x56, 0xaf, 0xed, 0x7f, 0x44, 0x7b, 0xee, 0x8c, 0x48, 0xf3, 0x4c, 0x0d, 0x7b, 0x07,
-	0xbd, 0xf1, 0xed, 0xc9, 0xf3, 0x0b, 0xe6, 0xfd, 0x62, 0xcf, 0xd0, 0xf8, 0xaa, 0x44, 0xa3, 0xf2,
-	0xc4, 0x62, 0x01, 0x19, 0xe9, 0x80, 0xa6, 0xbb, 0x0e, 0xf3, 0x8e, 0x67, 0xca, 0x7f, 0x8f, 0xee,
-	0x77, 0xff, 0x50, 0x94, 0xc8, 0x61, 0xff, 0xa0, 0x37, 0xbe, 0xf3, 0x62, 0xbf, 0x61, 0x61, 0x57,
-	0x03, 0x7f, 0x28, 0x4c, 0xa2, 0xe3, 0x19, 0x4f, 0x4b, 0x35, 0xf1, 0x2e, 0x98, 0x37, 0xbd, 0x97,
-	0xdf, 0xc4, 0x9f, 0x4a, 0xff, 0x25, 0x1a, 0x54, 0x0b, 0x7a, 0xdb, 0x32, 0x2a, 0xbb, 0xff, 0x06,
-	0xed, 0x89, 0xd2, 0x18, 0xa5, 0xc5, 0x3a, 0x12, 0x20, 0xd5, 0x70, 0xb0, 0x6d, 0x7e, 0xd7, 0xe5,
-	0x5e, 0x83, 0xbc, 0xd9, 0x28, 0x37, 0xb0, 0x4c, 0x52, 0xb5, 0x69, 0x74, 0xeb, 0xbf, 0x1b, 0x85,
-	0x75, 0xf8, 0x54, 0xfa, 0x12, 0x3d, 0xb2, 0x4a, 0x80, 0x96, 0xdc, 0xac, 0xa3, 0x3f, 0xc1, 0x77,
-	0xb6, 0x85, 0x8f, 0x5a, 0x4e, 0xd8, 0x3d, 0x85, 0xc6, 0x97, 0x4c, 0x6e, 0x7f, 0x8f, 0xfe, 0xb1,
-	0x28, 0x6d, 0x01, 0x99, 0x32, 0x96, 0x9c, 0x39, 0x79, 0x4e, 0x3a, 0xd7, 0x61, 0xc9, 0x59, 0xf7,
-	0x7a, 0xcf, 0x27, 0x5f, 0xfb, 0xe8, 0x48, 0x40, 0x86, 0xff, 0xf9, 0x04, 0x26, 0x0f, 0x3a, 0x87,
-	0x86, 0x9b, 0x62, 0x61, 0xef, 0xd3, 0xdb, 0x26, 0x1a, 0x43, 0xca, 0x75, 0x8c, 0xc1, 0xc4, 0x24,
-	0x56, 0xba, 0xaa, 0x4d, 0xae, 0xd6, 0xfe, 0xcb, 0xb3, 0x7c, 0xd5, 0xaa, 0x6f, 0x7d, 0xef, 0x84,
-	0xb1, 0xef, 0xfd, 0xc3, 0x93, 0x1a, 0xc9, 0xa4, 0xc5, 0xb5, 0xdc, 0xa8, 0x59, 0x80, 0xa7, 0xce,
-	0xf9, 0xc3, 0x79, 0xe6, 0x4c, 0xda, 0x79, 0xeb, 0x99, 0xcf, 0x82, 0x79, 0xeb, 0xb9, 0xec, 0x1f,
-	0xd5, 0x03, 0x4a, 0x99, 0xb4, 0x94, 0xb6, 0x2e, 0x4a, 0x67, 0x01, 0xa5, 0xad, 0x6f, 0xb1, 0x53,
-	0x2d, 0x1b, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x81, 0x7d, 0x5f, 0x52, 0x42, 0x04, 0x00, 0x00,
+	// 510 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xd1, 0x6a, 0xd4, 0x40,
+	0x18, 0x85, 0xd9, 0x4d, 0x5b, 0x71, 0x6c, 0x11, 0xa3, 0xe2, 0x5a, 0xaa, 0xb6, 0x42, 0x61, 0xf1,
+	0x62, 0x46, 0x0c, 0x42, 0x89, 0x57, 0xb3, 0x05, 0x4b, 0x05, 0x25, 0xae, 0xb8, 0xa0, 0x2c, 0x84,
+	0xd9, 0x99, 0xd9, 0x31, 0x90, 0xcc, 0x84, 0x99, 0x64, 0x65, 0x29, 0xbd, 0xf0, 0x55, 0xbc, 0xf4,
+	0x05, 0x7c, 0x07, 0x9f, 0xa2, 0xd7, 0x7d, 0x04, 0xaf, 0x64, 0x33, 0x99, 0xb4, 0x8d, 0xa2, 0xf1,
+	0xee, 0x2c, 0xff, 0x39, 0xdf, 0xff, 0x9f, 0x4d, 0x02, 0x0e, 0x84, 0x52, 0x22, 0xe5, 0x88, 0x30,
+	0x83, 0xac, 0x5c, 0xa9, 0x45, 0x80, 0x34, 0x37, 0xaa, 0xd4, 0x94, 0x1b, 0x94, 0x93, 0x65, 0xc6,
+	0x65, 0x61, 0x62, 0x42, 0xa9, 0x2a, 0x65, 0x01, 0x73, 0xad, 0x0a, 0xe5, 0xef, 0x59, 0x3b, 0x24,
+	0xcc, 0xc0, 0x26, 0x09, 0x17, 0x01, 0x6c, 0x92, 0xdb, 0x8f, 0x1c, 0x3c, 0x4f, 0xd0, 0x3c, 0xe1,
+	0x29, 0x8b, 0x67, 0xfc, 0x13, 0x59, 0x24, 0x4a, 0x5b, 0xc6, 0xf6, 0xfd, 0x4b, 0x06, 0x17, 0xab,
+	0x47, 0x0f, 0xeb, 0x51, 0xf5, 0x6b, 0x56, 0xce, 0xd1, 0x67, 0x4d, 0xf2, 0x9c, 0x6b, 0x53, 0xcf,
+	0x77, 0x2e, 0x45, 0x89, 0x94, 0xaa, 0x20, 0x45, 0xa2, 0x64, 0x3d, 0x7d, 0xfc, 0x7d, 0x1d, 0xdc,
+	0x8c, 0xea, 0xbb, 0xb1, 0x3d, 0xdb, 0x7f, 0x0f, 0xb6, 0xdc, 0x8e, 0x58, 0x92, 0x8c, 0x0f, 0x7a,
+	0xbb, 0xbd, 0xe1, 0xf5, 0xd1, 0xd3, 0x33, 0xec, 0xfd, 0xc4, 0x4f, 0xc0, 0xf0, 0xa2, 0x44, 0xad,
+	0xf2, 0xc4, 0x40, 0xaa, 0x32, 0xd4, 0x02, 0x8d, 0x37, 0x1d, 0xe6, 0x0d, 0xc9, 0xb8, 0xff, 0x16,
+	0xdc, 0x6e, 0xff, 0x43, 0x71, 0xc2, 0x06, 0xfd, 0xdd, 0xde, 0xf0, 0xc6, 0xb3, 0x9d, 0x9a, 0x05,
+	0x5d, 0x0d, 0xf8, 0xae, 0xd0, 0x89, 0x14, 0x13, 0x92, 0x96, 0x7c, 0xe4, 0x9d, 0x61, 0x6f, 0x7c,
+	0x2b, 0xbf, 0x8a, 0x3f, 0x66, 0xfe, 0x73, 0xb0, 0x56, 0x1d, 0xe8, 0x75, 0x65, 0x54, 0x76, 0xff,
+	0x25, 0xd8, 0xa2, 0xa5, 0xd6, 0x5c, 0xd2, 0x65, 0x4c, 0x15, 0xe3, 0x83, 0xb5, 0xae, 0xf9, 0x4d,
+	0x97, 0x3b, 0x54, 0xec, 0x6a, 0xa3, 0x5c, 0xab, 0x79, 0x92, 0xf2, 0x55, 0xa3, 0xf5, 0xff, 0x6e,
+	0x14, 0xd9, 0xf0, 0x31, 0xf3, 0x19, 0x78, 0x60, 0x38, 0x55, 0x92, 0x11, 0xbd, 0x8c, 0xff, 0x04,
+	0xdf, 0xe8, 0x0a, 0xdf, 0x6e, 0x38, 0xd1, 0x6f, 0x5b, 0x3e, 0x80, 0x7b, 0x39, 0x59, 0x26, 0x52,
+	0xc4, 0x19, 0x91, 0x44, 0x70, 0x1d, 0xd3, 0xd2, 0x14, 0x2a, 0xe3, 0x7a, 0x70, 0xad, 0x2b, 0xff,
+	0xae, 0x25, 0xbc, 0xb6, 0x80, 0xc3, 0x3a, 0x1f, 0x8a, 0x73, 0xcc, 0xba, 0xbf, 0x22, 0xfe, 0x81,
+	0x5b, 0x6c, 0xd0, 0x89, 0x93, 0xa7, 0xa8, 0xf5, 0xa4, 0x0d, 0x3a, 0x69, 0xbf, 0x39, 0xa7, 0xa3,
+	0x2f, 0x7d, 0xb0, 0x4f, 0x55, 0x06, 0xff, 0xf9, 0x75, 0x8d, 0xee, 0xb4, 0x96, 0x46, 0xab, 0x4e,
+	0x51, 0xef, 0xe3, 0xab, 0x3a, 0x2a, 0x54, 0x4a, 0xa4, 0x80, 0x4a, 0x0b, 0x24, 0xb8, 0xac, 0x1a,
+	0xa3, 0x8b, 0xb3, 0xff, 0xf2, 0xc5, 0xbf, 0x68, 0xd4, 0xd7, 0xbe, 0x77, 0x84, 0xf1, 0xb7, 0xfe,
+	0xde, 0x91, 0x45, 0x62, 0x66, 0xa0, 0x95, 0x2b, 0x35, 0x09, 0xe0, 0xd8, 0x39, 0x7f, 0x38, 0xcf,
+	0x14, 0x33, 0x33, 0x6d, 0x3c, 0xd3, 0x49, 0x30, 0x6d, 0x3c, 0xe7, 0xfd, 0x7d, 0x3b, 0x08, 0x43,
+	0xcc, 0x4c, 0x18, 0x36, 0xae, 0x30, 0x9c, 0x04, 0x61, 0xd8, 0xf8, 0x66, 0x1b, 0xd5, 0xb1, 0xc1,
+	0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x56, 0x9c, 0x9e, 0x15, 0x9d, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/resources/recommendation.pb.go b/googleapis/ads/googleads/v3/resources/recommendation.pb.go
index 0c5ace8..cecae93 100644
--- a/googleapis/ads/googleads/v3/resources/recommendation.pb.go
+++ b/googleapis/ads/googleads/v3/resources/recommendation.pb.go
@@ -668,42 +668,6 @@
 	return nil
 }
 
-// The Search Partners Opt-In recommendation.
-type Recommendation_SearchPartnersOptInRecommendation struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Recommendation_SearchPartnersOptInRecommendation) Reset() {
-	*m = Recommendation_SearchPartnersOptInRecommendation{}
-}
-func (m *Recommendation_SearchPartnersOptInRecommendation) String() string {
-	return proto.CompactTextString(m)
-}
-func (*Recommendation_SearchPartnersOptInRecommendation) ProtoMessage() {}
-func (*Recommendation_SearchPartnersOptInRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 4}
-}
-
-func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Unmarshal(m, b)
-}
-func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Marshal(b, m, deterministic)
-}
-func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Merge(m, src)
-}
-func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Size() int {
-	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Size(m)
-}
-func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation proto.InternalMessageInfo
-
 // The text ad recommendation.
 type Recommendation_TextAdRecommendation struct {
 	// Output only. Recommended ad.
@@ -724,7 +688,7 @@
 func (m *Recommendation_TextAdRecommendation) String() string { return proto.CompactTextString(m) }
 func (*Recommendation_TextAdRecommendation) ProtoMessage()    {}
 func (*Recommendation_TextAdRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 5}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 4}
 }
 
 func (m *Recommendation_TextAdRecommendation) XXX_Unmarshal(b []byte) error {
@@ -766,105 +730,6 @@
 	return nil
 }
 
-// The Call extension recommendation.
-type Recommendation_CallExtensionRecommendation struct {
-	// Output only. Call extensions recommended to be added.
-	RecommendedExtensions []*common.CallFeedItem `protobuf:"bytes,1,rep,name=recommended_extensions,json=recommendedExtensions,proto3" json:"recommended_extensions,omitempty"`
-	XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
-	XXX_unrecognized      []byte                 `json:"-"`
-	XXX_sizecache         int32                  `json:"-"`
-}
-
-func (m *Recommendation_CallExtensionRecommendation) Reset() {
-	*m = Recommendation_CallExtensionRecommendation{}
-}
-func (m *Recommendation_CallExtensionRecommendation) String() string {
-	return proto.CompactTextString(m)
-}
-func (*Recommendation_CallExtensionRecommendation) ProtoMessage() {}
-func (*Recommendation_CallExtensionRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 6}
-}
-
-func (m *Recommendation_CallExtensionRecommendation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Unmarshal(m, b)
-}
-func (m *Recommendation_CallExtensionRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Marshal(b, m, deterministic)
-}
-func (m *Recommendation_CallExtensionRecommendation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Recommendation_CallExtensionRecommendation.Merge(m, src)
-}
-func (m *Recommendation_CallExtensionRecommendation) XXX_Size() int {
-	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Size(m)
-}
-func (m *Recommendation_CallExtensionRecommendation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Recommendation_CallExtensionRecommendation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Recommendation_CallExtensionRecommendation proto.InternalMessageInfo
-
-func (m *Recommendation_CallExtensionRecommendation) GetRecommendedExtensions() []*common.CallFeedItem {
-	if m != nil {
-		return m.RecommendedExtensions
-	}
-	return nil
-}
-
-// The keyword match type recommendation.
-type Recommendation_KeywordMatchTypeRecommendation struct {
-	// Output only. The existing keyword where the match type should be more broad.
-	Keyword *common.KeywordInfo `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
-	// Output only. The recommended new match type.
-	RecommendedMatchType enums.KeywordMatchTypeEnum_KeywordMatchType `protobuf:"varint,2,opt,name=recommended_match_type,json=recommendedMatchType,proto3,enum=google.ads.googleads.v3.enums.KeywordMatchTypeEnum_KeywordMatchType" json:"recommended_match_type,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                    `json:"-"`
-	XXX_unrecognized     []byte                                      `json:"-"`
-	XXX_sizecache        int32                                       `json:"-"`
-}
-
-func (m *Recommendation_KeywordMatchTypeRecommendation) Reset() {
-	*m = Recommendation_KeywordMatchTypeRecommendation{}
-}
-func (m *Recommendation_KeywordMatchTypeRecommendation) String() string {
-	return proto.CompactTextString(m)
-}
-func (*Recommendation_KeywordMatchTypeRecommendation) ProtoMessage() {}
-func (*Recommendation_KeywordMatchTypeRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 7}
-}
-
-func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Unmarshal(m, b)
-}
-func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Marshal(b, m, deterministic)
-}
-func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Merge(m, src)
-}
-func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Size() int {
-	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Size(m)
-}
-func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation proto.InternalMessageInfo
-
-func (m *Recommendation_KeywordMatchTypeRecommendation) GetKeyword() *common.KeywordInfo {
-	if m != nil {
-		return m.Keyword
-	}
-	return nil
-}
-
-func (m *Recommendation_KeywordMatchTypeRecommendation) GetRecommendedMatchType() enums.KeywordMatchTypeEnum_KeywordMatchType {
-	if m != nil {
-		return m.RecommendedMatchType
-	}
-	return enums.KeywordMatchTypeEnum_UNSPECIFIED
-}
-
 // The Target CPA opt-in recommendation.
 type Recommendation_TargetCpaOptInRecommendation struct {
 	// Output only. The available goals and corresponding options for Target CPA strategy.
@@ -885,7 +750,7 @@
 }
 func (*Recommendation_TargetCpaOptInRecommendation) ProtoMessage() {}
 func (*Recommendation_TargetCpaOptInRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 8}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 5}
 }
 
 func (m *Recommendation_TargetCpaOptInRecommendation) XXX_Unmarshal(b []byte) error {
@@ -947,7 +812,7 @@
 func (*Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption) ProtoMessage() {
 }
 func (*Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 8, 0}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 5, 0}
 }
 
 func (m *Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption) XXX_Unmarshal(b []byte) error {
@@ -1013,7 +878,7 @@
 }
 func (*Recommendation_MaximizeConversionsOptInRecommendation) ProtoMessage() {}
 func (*Recommendation_MaximizeConversionsOptInRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 9}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 6}
 }
 
 func (m *Recommendation_MaximizeConversionsOptInRecommendation) XXX_Unmarshal(b []byte) error {
@@ -1041,6 +906,97 @@
 	return nil
 }
 
+// The Maximize Clicks opt-in recommendation.
+type Recommendation_MaximizeClicksOptInRecommendation struct {
+	// Output only. The recommended new budget amount.
+	// Only set if the current budget is too high.
+	RecommendedBudgetAmountMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=recommended_budget_amount_micros,json=recommendedBudgetAmountMicros,proto3" json:"recommended_budget_amount_micros,omitempty"`
+	XXX_NoUnkeyedLiteral          struct{}             `json:"-"`
+	XXX_unrecognized              []byte               `json:"-"`
+	XXX_sizecache                 int32                `json:"-"`
+}
+
+func (m *Recommendation_MaximizeClicksOptInRecommendation) Reset() {
+	*m = Recommendation_MaximizeClicksOptInRecommendation{}
+}
+func (m *Recommendation_MaximizeClicksOptInRecommendation) String() string {
+	return proto.CompactTextString(m)
+}
+func (*Recommendation_MaximizeClicksOptInRecommendation) ProtoMessage() {}
+func (*Recommendation_MaximizeClicksOptInRecommendation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 7}
+}
+
+func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Unmarshal(m, b)
+}
+func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Marshal(b, m, deterministic)
+}
+func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Merge(m, src)
+}
+func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Size() int {
+	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Size(m)
+}
+func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_DiscardUnknown() {
+	xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation proto.InternalMessageInfo
+
+func (m *Recommendation_MaximizeClicksOptInRecommendation) GetRecommendedBudgetAmountMicros() *wrappers.Int64Value {
+	if m != nil {
+		return m.RecommendedBudgetAmountMicros
+	}
+	return nil
+}
+
+// The Callout extension recommendation.
+type Recommendation_CalloutExtensionRecommendation struct {
+	// Output only. Callout extensions recommended to be added.
+	RecommendedExtensions []*common.CalloutFeedItem `protobuf:"bytes,1,rep,name=recommended_extensions,json=recommendedExtensions,proto3" json:"recommended_extensions,omitempty"`
+	XXX_NoUnkeyedLiteral  struct{}                  `json:"-"`
+	XXX_unrecognized      []byte                    `json:"-"`
+	XXX_sizecache         int32                     `json:"-"`
+}
+
+func (m *Recommendation_CalloutExtensionRecommendation) Reset() {
+	*m = Recommendation_CalloutExtensionRecommendation{}
+}
+func (m *Recommendation_CalloutExtensionRecommendation) String() string {
+	return proto.CompactTextString(m)
+}
+func (*Recommendation_CalloutExtensionRecommendation) ProtoMessage() {}
+func (*Recommendation_CalloutExtensionRecommendation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 8}
+}
+
+func (m *Recommendation_CalloutExtensionRecommendation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Unmarshal(m, b)
+}
+func (m *Recommendation_CalloutExtensionRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Marshal(b, m, deterministic)
+}
+func (m *Recommendation_CalloutExtensionRecommendation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Merge(m, src)
+}
+func (m *Recommendation_CalloutExtensionRecommendation) XXX_Size() int {
+	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Size(m)
+}
+func (m *Recommendation_CalloutExtensionRecommendation) XXX_DiscardUnknown() {
+	xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Recommendation_CalloutExtensionRecommendation proto.InternalMessageInfo
+
+func (m *Recommendation_CalloutExtensionRecommendation) GetRecommendedExtensions() []*common.CalloutFeedItem {
+	if m != nil {
+		return m.RecommendedExtensions
+	}
+	return nil
+}
+
 // The move unused budget recommendation.
 type Recommendation_MoveUnusedBudgetRecommendation struct {
 	// Output only. The excess budget's resource_name.
@@ -1060,7 +1016,7 @@
 }
 func (*Recommendation_MoveUnusedBudgetRecommendation) ProtoMessage() {}
 func (*Recommendation_MoveUnusedBudgetRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 10}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 9}
 }
 
 func (m *Recommendation_MoveUnusedBudgetRecommendation) XXX_Unmarshal(b []byte) error {
@@ -1110,7 +1066,7 @@
 }
 func (*Recommendation_EnhancedCpcOptInRecommendation) ProtoMessage() {}
 func (*Recommendation_EnhancedCpcOptInRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 11}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 10}
 }
 
 func (m *Recommendation_EnhancedCpcOptInRecommendation) XXX_Unmarshal(b []byte) error {
@@ -1131,48 +1087,137 @@
 
 var xxx_messageInfo_Recommendation_EnhancedCpcOptInRecommendation proto.InternalMessageInfo
 
-// The Maximize Clicks opt-in recommendation.
-type Recommendation_MaximizeClicksOptInRecommendation struct {
-	// Output only. The recommended new budget amount.
-	// Only set if the current budget is too high.
-	RecommendedBudgetAmountMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=recommended_budget_amount_micros,json=recommendedBudgetAmountMicros,proto3" json:"recommended_budget_amount_micros,omitempty"`
-	XXX_NoUnkeyedLiteral          struct{}             `json:"-"`
-	XXX_unrecognized              []byte               `json:"-"`
-	XXX_sizecache                 int32                `json:"-"`
+// The keyword match type recommendation.
+type Recommendation_KeywordMatchTypeRecommendation struct {
+	// Output only. The existing keyword where the match type should be more broad.
+	Keyword *common.KeywordInfo `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
+	// Output only. The recommended new match type.
+	RecommendedMatchType enums.KeywordMatchTypeEnum_KeywordMatchType `protobuf:"varint,2,opt,name=recommended_match_type,json=recommendedMatchType,proto3,enum=google.ads.googleads.v3.enums.KeywordMatchTypeEnum_KeywordMatchType" json:"recommended_match_type,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                    `json:"-"`
+	XXX_unrecognized     []byte                                      `json:"-"`
+	XXX_sizecache        int32                                       `json:"-"`
 }
 
-func (m *Recommendation_MaximizeClicksOptInRecommendation) Reset() {
-	*m = Recommendation_MaximizeClicksOptInRecommendation{}
+func (m *Recommendation_KeywordMatchTypeRecommendation) Reset() {
+	*m = Recommendation_KeywordMatchTypeRecommendation{}
 }
-func (m *Recommendation_MaximizeClicksOptInRecommendation) String() string {
+func (m *Recommendation_KeywordMatchTypeRecommendation) String() string {
 	return proto.CompactTextString(m)
 }
-func (*Recommendation_MaximizeClicksOptInRecommendation) ProtoMessage() {}
-func (*Recommendation_MaximizeClicksOptInRecommendation) Descriptor() ([]byte, []int) {
+func (*Recommendation_KeywordMatchTypeRecommendation) ProtoMessage() {}
+func (*Recommendation_KeywordMatchTypeRecommendation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 11}
+}
+
+func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Unmarshal(m, b)
+}
+func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Marshal(b, m, deterministic)
+}
+func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Merge(m, src)
+}
+func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_Size() int {
+	return xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.Size(m)
+}
+func (m *Recommendation_KeywordMatchTypeRecommendation) XXX_DiscardUnknown() {
+	xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Recommendation_KeywordMatchTypeRecommendation proto.InternalMessageInfo
+
+func (m *Recommendation_KeywordMatchTypeRecommendation) GetKeyword() *common.KeywordInfo {
+	if m != nil {
+		return m.Keyword
+	}
+	return nil
+}
+
+func (m *Recommendation_KeywordMatchTypeRecommendation) GetRecommendedMatchType() enums.KeywordMatchTypeEnum_KeywordMatchType {
+	if m != nil {
+		return m.RecommendedMatchType
+	}
+	return enums.KeywordMatchTypeEnum_UNSPECIFIED
+}
+
+// The Search Partners Opt-In recommendation.
+type Recommendation_SearchPartnersOptInRecommendation struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Recommendation_SearchPartnersOptInRecommendation) Reset() {
+	*m = Recommendation_SearchPartnersOptInRecommendation{}
+}
+func (m *Recommendation_SearchPartnersOptInRecommendation) String() string {
+	return proto.CompactTextString(m)
+}
+func (*Recommendation_SearchPartnersOptInRecommendation) ProtoMessage() {}
+func (*Recommendation_SearchPartnersOptInRecommendation) Descriptor() ([]byte, []int) {
 	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 12}
 }
 
-func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Unmarshal(m, b)
+func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Unmarshal(m, b)
 }
-func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Marshal(b, m, deterministic)
+func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Marshal(b, m, deterministic)
 }
-func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Merge(m, src)
+func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Merge(m, src)
 }
-func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_Size() int {
-	return xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.Size(m)
+func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_Size() int {
+	return xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.Size(m)
 }
-func (m *Recommendation_MaximizeClicksOptInRecommendation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation.DiscardUnknown(m)
+func (m *Recommendation_SearchPartnersOptInRecommendation) XXX_DiscardUnknown() {
+	xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_Recommendation_MaximizeClicksOptInRecommendation proto.InternalMessageInfo
+var xxx_messageInfo_Recommendation_SearchPartnersOptInRecommendation proto.InternalMessageInfo
 
-func (m *Recommendation_MaximizeClicksOptInRecommendation) GetRecommendedBudgetAmountMicros() *wrappers.Int64Value {
+// The Call extension recommendation.
+type Recommendation_CallExtensionRecommendation struct {
+	// Output only. Call extensions recommended to be added.
+	RecommendedExtensions []*common.CallFeedItem `protobuf:"bytes,1,rep,name=recommended_extensions,json=recommendedExtensions,proto3" json:"recommended_extensions,omitempty"`
+	XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
+	XXX_unrecognized      []byte                 `json:"-"`
+	XXX_sizecache         int32                  `json:"-"`
+}
+
+func (m *Recommendation_CallExtensionRecommendation) Reset() {
+	*m = Recommendation_CallExtensionRecommendation{}
+}
+func (m *Recommendation_CallExtensionRecommendation) String() string {
+	return proto.CompactTextString(m)
+}
+func (*Recommendation_CallExtensionRecommendation) ProtoMessage() {}
+func (*Recommendation_CallExtensionRecommendation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 13}
+}
+
+func (m *Recommendation_CallExtensionRecommendation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Unmarshal(m, b)
+}
+func (m *Recommendation_CallExtensionRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Marshal(b, m, deterministic)
+}
+func (m *Recommendation_CallExtensionRecommendation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Recommendation_CallExtensionRecommendation.Merge(m, src)
+}
+func (m *Recommendation_CallExtensionRecommendation) XXX_Size() int {
+	return xxx_messageInfo_Recommendation_CallExtensionRecommendation.Size(m)
+}
+func (m *Recommendation_CallExtensionRecommendation) XXX_DiscardUnknown() {
+	xxx_messageInfo_Recommendation_CallExtensionRecommendation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Recommendation_CallExtensionRecommendation proto.InternalMessageInfo
+
+func (m *Recommendation_CallExtensionRecommendation) GetRecommendedExtensions() []*common.CallFeedItem {
 	if m != nil {
-		return m.RecommendedBudgetAmountMicros
+		return m.RecommendedExtensions
 	}
 	return nil
 }
@@ -1192,7 +1237,7 @@
 }
 func (*Recommendation_OptimizeAdRotationRecommendation) ProtoMessage() {}
 func (*Recommendation_OptimizeAdRotationRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 13}
+	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 14}
 }
 
 func (m *Recommendation_OptimizeAdRotationRecommendation) XXX_Unmarshal(b []byte) error {
@@ -1213,51 +1258,6 @@
 
 var xxx_messageInfo_Recommendation_OptimizeAdRotationRecommendation proto.InternalMessageInfo
 
-// The Callout extension recommendation.
-type Recommendation_CalloutExtensionRecommendation struct {
-	// Output only. Callout extensions recommended to be added.
-	RecommendedExtensions []*common.CalloutFeedItem `protobuf:"bytes,1,rep,name=recommended_extensions,json=recommendedExtensions,proto3" json:"recommended_extensions,omitempty"`
-	XXX_NoUnkeyedLiteral  struct{}                  `json:"-"`
-	XXX_unrecognized      []byte                    `json:"-"`
-	XXX_sizecache         int32                     `json:"-"`
-}
-
-func (m *Recommendation_CalloutExtensionRecommendation) Reset() {
-	*m = Recommendation_CalloutExtensionRecommendation{}
-}
-func (m *Recommendation_CalloutExtensionRecommendation) String() string {
-	return proto.CompactTextString(m)
-}
-func (*Recommendation_CalloutExtensionRecommendation) ProtoMessage() {}
-func (*Recommendation_CalloutExtensionRecommendation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4d8d0d8505cb0b2b, []int{0, 14}
-}
-
-func (m *Recommendation_CalloutExtensionRecommendation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Unmarshal(m, b)
-}
-func (m *Recommendation_CalloutExtensionRecommendation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Marshal(b, m, deterministic)
-}
-func (m *Recommendation_CalloutExtensionRecommendation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Merge(m, src)
-}
-func (m *Recommendation_CalloutExtensionRecommendation) XXX_Size() int {
-	return xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.Size(m)
-}
-func (m *Recommendation_CalloutExtensionRecommendation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Recommendation_CalloutExtensionRecommendation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Recommendation_CalloutExtensionRecommendation proto.InternalMessageInfo
-
-func (m *Recommendation_CalloutExtensionRecommendation) GetRecommendedExtensions() []*common.CalloutFeedItem {
-	if m != nil {
-		return m.RecommendedExtensions
-	}
-	return nil
-}
-
 // The Sitelink extension recommendation.
 type Recommendation_SitelinkExtensionRecommendation struct {
 	// Output only. Sitelink extensions recommended to be added.
@@ -1310,18 +1310,18 @@
 	proto.RegisterType((*Recommendation_CampaignBudgetRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.CampaignBudgetRecommendation")
 	proto.RegisterType((*Recommendation_CampaignBudgetRecommendation_CampaignBudgetRecommendationOption)(nil), "google.ads.googleads.v3.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption")
 	proto.RegisterType((*Recommendation_KeywordRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.KeywordRecommendation")
-	proto.RegisterType((*Recommendation_SearchPartnersOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.SearchPartnersOptInRecommendation")
 	proto.RegisterType((*Recommendation_TextAdRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.TextAdRecommendation")
-	proto.RegisterType((*Recommendation_CallExtensionRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.CallExtensionRecommendation")
-	proto.RegisterType((*Recommendation_KeywordMatchTypeRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.KeywordMatchTypeRecommendation")
 	proto.RegisterType((*Recommendation_TargetCpaOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.TargetCpaOptInRecommendation")
 	proto.RegisterType((*Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption)(nil), "google.ads.googleads.v3.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption")
 	proto.RegisterType((*Recommendation_MaximizeConversionsOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.MaximizeConversionsOptInRecommendation")
+	proto.RegisterType((*Recommendation_MaximizeClicksOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.MaximizeClicksOptInRecommendation")
+	proto.RegisterType((*Recommendation_CalloutExtensionRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.CalloutExtensionRecommendation")
 	proto.RegisterType((*Recommendation_MoveUnusedBudgetRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.MoveUnusedBudgetRecommendation")
 	proto.RegisterType((*Recommendation_EnhancedCpcOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.EnhancedCpcOptInRecommendation")
-	proto.RegisterType((*Recommendation_MaximizeClicksOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.MaximizeClicksOptInRecommendation")
+	proto.RegisterType((*Recommendation_KeywordMatchTypeRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.KeywordMatchTypeRecommendation")
+	proto.RegisterType((*Recommendation_SearchPartnersOptInRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.SearchPartnersOptInRecommendation")
+	proto.RegisterType((*Recommendation_CallExtensionRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.CallExtensionRecommendation")
 	proto.RegisterType((*Recommendation_OptimizeAdRotationRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.OptimizeAdRotationRecommendation")
-	proto.RegisterType((*Recommendation_CalloutExtensionRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.CalloutExtensionRecommendation")
 	proto.RegisterType((*Recommendation_SitelinkExtensionRecommendation)(nil), "google.ads.googleads.v3.resources.Recommendation.SitelinkExtensionRecommendation")
 }
 
@@ -1330,118 +1330,118 @@
 }
 
 var fileDescriptor_4d8d0d8505cb0b2b = []byte{
-	// 1803 bytes of a gzipped FileDescriptorProto
+	// 1798 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x6f, 0x1c, 0x49,
 	0x15, 0xa7, 0x66, 0x9c, 0xaf, 0xe7, 0xd8, 0x49, 0x6a, 0xed, 0x30, 0xdb, 0xf1, 0x3a, 0x63, 0x47,
 	0x09, 0xde, 0x05, 0x66, 0x50, 0xcc, 0x2e, 0x62, 0x10, 0x87, 0x19, 0x27, 0xf1, 0x7a, 0xc1, 0x9b,
-	0x30, 0x09, 0x06, 0xa1, 0xa0, 0xa6, 0x5c, 0x5d, 0x19, 0xb7, 0x3c, 0xdd, 0xd5, 0xdb, 0x55, 0x3d,
+	0x30, 0x09, 0x06, 0xa1, 0xa0, 0xa6, 0x5c, 0x5d, 0x19, 0xb7, 0x3c, 0xdd, 0xd5, 0xdb, 0x55, 0x33,
 	0xb1, 0x59, 0x45, 0x20, 0x3e, 0x04, 0x17, 0x3e, 0x24, 0x2e, 0x48, 0x68, 0x0f, 0x2c, 0x1c, 0x10,
 	0xe2, 0xc2, 0x99, 0x1b, 0x47, 0xc4, 0xbf, 0x80, 0xb4, 0x12, 0xda, 0x4b, 0x04, 0xff, 0x00, 0x27,
-	0xd4, 0xd5, 0xd5, 0x3d, 0x3d, 0xed, 0xe9, 0x0f, 0x0f, 0x09, 0xb7, 0x9e, 0xaa, 0xf7, 0x7e, 0xbf,
-	0x5f, 0xbd, 0xfa, 0x7a, 0xf5, 0x06, 0xde, 0x1a, 0x70, 0x3e, 0x18, 0xb2, 0x36, 0xb1, 0x44, 0x3b,
-	0xfa, 0x0c, 0xbf, 0x46, 0x9b, 0x6d, 0x9f, 0x09, 0x1e, 0xf8, 0x94, 0x89, 0xb6, 0xcf, 0x28, 0x77,
-	0x1c, 0xe6, 0x5a, 0x44, 0xda, 0xdc, 0x6d, 0x79, 0x3e, 0x97, 0x1c, 0xaf, 0x45, 0xc6, 0x2d, 0x62,
-	0x89, 0x56, 0xe2, 0xd7, 0x1a, 0x6d, 0xb6, 0x12, 0x3f, 0xe3, 0xb3, 0x79, 0xd0, 0x21, 0x1c, 0x77,
-	0xdb, 0xd4, 0xb7, 0x25, 0xf3, 0x6d, 0x12, 0x21, 0x1a, 0xed, 0x12, 0x73, 0x76, 0x24, 0x99, 0x2b,
-	0x6c, 0xee, 0x0a, 0xed, 0x90, 0x2b, 0x9d, 0xb9, 0x81, 0x23, 0xda, 0x87, 0xec, 0xf8, 0x29, 0xf7,
-	0x2d, 0xd3, 0x21, 0x92, 0x1e, 0x98, 0xf2, 0xd8, 0x63, 0xda, 0xef, 0x0b, 0xc5, 0x7e, 0x93, 0xc3,
-	0x4d, 0x3b, 0xee, 0x14, 0x3b, 0x4a, 0xe2, 0x0f, 0x98, 0x34, 0xa9, 0x47, 0x4c, 0xee, 0x49, 0xd3,
-	0x76, 0xcd, 0x0c, 0xd4, 0x80, 0x93, 0xa1, 0x86, 0x7a, 0xa3, 0x3c, 0xec, 0xc4, 0xd2, 0xb6, 0xd7,
-	0x63, 0x5b, 0xcf, 0x6e, 0x3f, 0xb1, 0xd9, 0xd0, 0x32, 0xf7, 0xd9, 0x01, 0x19, 0xd9, 0xdc, 0xd7,
-	0x06, 0xaf, 0xa6, 0x0c, 0x62, 0x7f, 0xdd, 0xb5, 0xaa, 0xbb, 0xd4, 0xaf, 0xfd, 0xe0, 0x49, 0xfb,
-	0xa9, 0x4f, 0x3c, 0x8f, 0xf9, 0x71, 0x0c, 0x57, 0x52, 0xae, 0xc4, 0x75, 0xb9, 0x54, 0x4a, 0x75,
-	0xef, 0xfa, 0x9f, 0xdf, 0x84, 0xc5, 0xfe, 0xc4, 0x18, 0xf0, 0x23, 0x58, 0x88, 0x29, 0x4c, 0x97,
-	0x38, 0xac, 0x81, 0x9a, 0x68, 0xe3, 0x42, 0xaf, 0xfd, 0x51, 0xf7, 0xcc, 0x7f, 0xba, 0xaf, 0xc3,
-	0xa7, 0xc6, 0x6b, 0x41, 0x7f, 0x79, 0xb6, 0x68, 0x51, 0xee, 0xb4, 0x27, 0x71, 0xfa, 0x17, 0x63,
-	0x94, 0x77, 0x89, 0xc3, 0x30, 0x81, 0xb9, 0x30, 0xce, 0x8d, 0x5a, 0x13, 0x6d, 0x2c, 0xde, 0x7e,
-	0xbb, 0x95, 0xb7, 0xb8, 0x54, 0xa0, 0x5b, 0x93, 0x50, 0x8f, 0x8e, 0x3d, 0x76, 0xd7, 0x0d, 0x9c,
-	0x29, 0xcd, 0xbd, 0xfa, 0x47, 0xdd, 0x7a, 0x5f, 0x41, 0x63, 0x0a, 0x67, 0x6d, 0xc7, 0x23, 0x54,
-	0x36, 0xea, 0x4d, 0xb4, 0x31, 0x7f, 0xfb, 0x5e, 0xab, 0x74, 0x05, 0x67, 0x10, 0x33, 0x3f, 0x77,
-	0x14, 0x5a, 0x44, 0xa1, 0xa1, 0xf1, 0x08, 0x2e, 0x51, 0xe2, 0x78, 0xc4, 0x1e, 0xb8, 0xe6, 0x7e,
-	0x60, 0x0d, 0x98, 0x6c, 0x9c, 0x51, 0x6c, 0x2b, 0x31, 0x5b, 0x3c, 0x11, 0xad, 0x87, 0xd2, 0xb7,
-	0xdd, 0xc1, 0x1e, 0x19, 0x06, 0x2c, 0x8c, 0x5e, 0xbd, 0x38, 0x7a, 0x5b, 0x1a, 0xb5, 0xa7, 0x40,
-	0xfb, 0x8b, 0x74, 0xe2, 0x37, 0xa6, 0x70, 0x3e, 0x6e, 0x69, 0x9c, 0xad, 0x40, 0xf8, 0xba, 0x22,
-	0xbc, 0x01, 0x6b, 0xa5, 0x84, 0xfd, 0x04, 0x18, 0x13, 0x38, 0x4f, 0x2c, 0x73, 0xe0, 0xf3, 0xc0,
-	0x6b, 0x9c, 0xab, 0x40, 0xb2, 0xa1, 0x48, 0xd6, 0xa1, 0x99, 0x4b, 0xd2, 0xb5, 0xb6, 0x43, 0xb4,
-	0xfe, 0x39, 0x12, 0x7d, 0xe0, 0x2f, 0xc3, 0x05, 0xcb, 0x16, 0x8e, 0x2d, 0x04, 0xb3, 0x1a, 0x0b,
-	0x8a, 0xc3, 0x38, 0xc1, 0xd1, 0xe3, 0x7c, 0x18, 0x31, 0xa8, 0xd8, 0x8f, 0x3d, 0xf0, 0x6f, 0x10,
-	0xac, 0x66, 0xe2, 0x9f, 0xd9, 0x83, 0x8d, 0x39, 0x05, 0xfa, 0xee, 0xe9, 0x27, 0x3f, 0x33, 0x03,
-	0x13, 0x9d, 0x4a, 0xc8, 0xdb, 0x9f, 0xe8, 0xaf, 0xd0, 0x02, 0x23, 0xfc, 0x63, 0x04, 0x57, 0xe3,
-	0x43, 0x29, 0xa3, 0xea, 0xbc, 0x52, 0xb5, 0x7d, 0x7a, 0x55, 0x5f, 0x89, 0xf0, 0xa6, 0xcb, 0x59,
-	0x3e, 0x9c, 0xd6, 0x8b, 0x7f, 0x88, 0xe0, 0xaa, 0x64, 0x47, 0xd2, 0x24, 0x27, 0x74, 0x5c, 0x98,
-	0x75, 0x6b, 0x3c, 0x62, 0x47, 0xb2, 0x9b, 0x23, 0x63, 0x49, 0x4e, 0xe9, 0xc4, 0x1f, 0x20, 0x68,
-	0x96, 0x9d, 0x98, 0x0d, 0x98, 0x75, 0xb6, 0x1e, 0x29, 0xe4, 0x2d, 0x8f, 0xdc, 0xf7, 0xe4, 0x8e,
-	0x9b, 0x33, 0x5b, 0xb2, 0xc0, 0x08, 0xff, 0x05, 0xc1, 0x1b, 0x0e, 0x39, 0xb2, 0x1d, 0xfb, 0xbb,
-	0xcc, 0xa4, 0xdc, 0x1d, 0x31, 0x5f, 0x5d, 0x3e, 0x39, 0x4a, 0xe7, 0x95, 0xd2, 0x6f, 0x9e, 0x5e,
-	0xe9, 0xae, 0xe6, 0xd8, 0x1a, 0x53, 0x14, 0x68, 0xbe, 0xe5, 0x54, 0x32, 0xc7, 0xbf, 0x43, 0xb0,
-	0xce, 0xdc, 0x03, 0xe2, 0x52, 0x66, 0x99, 0xd4, 0xa3, 0x39, 0xaa, 0x2f, 0x2a, 0xd5, 0x0f, 0x4e,
-	0xaf, 0xfa, 0xae, 0xc6, 0xde, 0xf2, 0x68, 0x81, 0xda, 0x55, 0x56, 0x68, 0x86, 0xff, 0x84, 0xe0,
-	0xa6, 0x60, 0xc4, 0xa7, 0x07, 0xa6, 0x47, 0x7c, 0xe9, 0x32, 0x3f, 0x2f, 0xbc, 0x8b, 0x4a, 0xe8,
-	0xc3, 0xd3, 0x0b, 0x7d, 0xa8, 0xe0, 0x1f, 0x68, 0xf4, 0x02, 0xad, 0x6b, 0xa2, 0xcc, 0x52, 0xc9,
-	0x1d, 0x2f, 0x89, 0xa1, 0x4d, 0x0f, 0xf3, 0xe4, 0x5e, 0x9a, 0x55, 0x6e, 0xb2, 0x1a, 0x14, 0x7a,
-	0x91, 0x5c, 0xa7, 0xcc, 0x12, 0xff, 0x01, 0xc1, 0x0d, 0xee, 0xc9, 0x48, 0x6e, 0xb8, 0xd7, 0xf5,
-	0xed, 0x9e, 0x15, 0x7b, 0x59, 0x89, 0xed, 0x9f, 0x5e, 0xec, 0x7d, 0x0d, 0xde, 0xb5, 0xfa, 0x1a,
-	0x7a, 0xba, 0xd6, 0x26, 0x2f, 0x31, 0xc4, 0xbf, 0x45, 0xd0, 0xa4, 0x64, 0x38, 0xe4, 0x81, 0x34,
-	0x93, 0x3c, 0x2f, 0xab, 0xf3, 0xca, 0xac, 0x8b, 0x75, 0x2b, 0x42, 0xbe, 0x1b, 0x03, 0xe7, 0x2c,
-	0x56, 0x5a, 0x68, 0x86, 0x7f, 0x8f, 0x60, 0x4d, 0xd8, 0x92, 0x0d, 0x6d, 0xf7, 0x30, 0x5f, 0x24,
-	0x56, 0x22, 0xbf, 0x36, 0xc3, 0x42, 0xd5, 0xd0, 0x25, 0x2a, 0xaf, 0x8b, 0x62, 0x3b, 0xfc, 0x6b,
-	0x04, 0xaf, 0x85, 0x23, 0xc9, 0x97, 0xf8, 0x8a, 0x92, 0xb8, 0x3b, 0x5b, 0x1c, 0x4b, 0xe4, 0x5d,
-	0xa3, 0xf9, 0x36, 0xf8, 0x43, 0x04, 0x6b, 0x27, 0xb3, 0xf2, 0xac, 0xbc, 0xa5, 0x59, 0xa7, 0x59,
-	0xdf, 0x85, 0xbb, 0x21, 0x72, 0x98, 0xfd, 0xe5, 0x4c, 0xf3, 0x61, 0xa1, 0x99, 0x12, 0xe9, 0xf0,
-	0x11, 0x33, 0x03, 0x37, 0x10, 0xcc, 0xca, 0x49, 0x23, 0x96, 0x67, 0x15, 0xb9, 0xcb, 0x47, 0xec,
-	0xeb, 0x0a, 0xb9, 0x28, 0x91, 0x58, 0x75, 0x0a, 0xcd, 0x8c, 0x1f, 0xd4, 0x60, 0x69, 0x5a, 0x36,
-	0x8a, 0x39, 0x5c, 0xdc, 0x27, 0x82, 0x99, 0x0e, 0x93, 0xbe, 0x4d, 0x85, 0xca, 0xce, 0x67, 0x4a,
-	0x2c, 0x26, 0x7f, 0xee, 0x46, 0x70, 0x51, 0xc2, 0x35, 0x1f, 0x32, 0xe8, 0x16, 0x7c, 0x0c, 0x57,
-	0x3c, 0x2e, 0x99, 0x2b, 0x6d, 0x32, 0x4c, 0x58, 0x6b, 0x2f, 0x81, 0xf5, 0x72, 0x42, 0xa3, 0x9b,
-	0x8d, 0x7f, 0xd6, 0x60, 0x79, 0xaa, 0x03, 0xde, 0x82, 0x79, 0xdb, 0xf1, 0x7c, 0x26, 0xd4, 0xfd,
-	0xa8, 0x83, 0x70, 0x32, 0x59, 0xbd, 0xc3, 0x83, 0xfd, 0x21, 0x4b, 0xa5, 0x92, 0x69, 0x2f, 0xfc,
-	0x45, 0x38, 0x1b, 0x9d, 0xf1, 0x7a, 0x38, 0x15, 0xfc, 0xb5, 0x03, 0xee, 0xc2, 0x3c, 0xe5, 0x42,
-	0x9a, 0x8e, 0x4d, 0x7d, 0x2e, 0xf4, 0x83, 0xe3, 0xda, 0x09, 0xff, 0x1d, 0x57, 0xbe, 0xf5, 0xf9,
-	0x94, 0x3b, 0x84, 0x4e, 0xbb, 0xca, 0x27, 0x1c, 0x42, 0x2a, 0xe9, 0xd0, 0x69, 0x6b, 0x95, 0x21,
-	0xa4, 0xbc, 0x70, 0x0f, 0xe6, 0x47, 0xb6, 0xc5, 0xb8, 0x39, 0xb2, 0xd9, 0x53, 0x91, 0xfb, 0x14,
-	0x39, 0x01, 0x02, 0xca, 0x6b, 0x2f, 0x74, 0x32, 0xfe, 0x35, 0x07, 0x2b, 0x45, 0xb9, 0x2f, 0x26,
-	0xb0, 0x42, 0x03, 0xdf, 0x67, 0xae, 0x8c, 0xf7, 0x0a, 0x71, 0x78, 0xe0, 0x26, 0xa3, 0x47, 0x15,
-	0x47, 0xff, 0xaa, 0x46, 0x89, 0x48, 0xba, 0x0a, 0x43, 0x07, 0xc3, 0x86, 0x66, 0xb2, 0xff, 0xc6,
-	0x5b, 0x72, 0x92, 0xa6, 0x56, 0x91, 0xe6, 0xb5, 0x14, 0xd2, 0x14, 0xaa, 0x0f, 0x10, 0x2c, 0x6a,
-	0xfc, 0xf0, 0xd6, 0x0a, 0x63, 0x5f, 0x6f, 0xd6, 0x37, 0xe6, 0x6f, 0xbf, 0xf7, 0x62, 0x9f, 0x0c,
-	0x85, 0x9d, 0xf7, 0xbd, 0xe4, 0x30, 0xe8, 0x2f, 0x44, 0x6a, 0xa2, 0x26, 0x61, 0xfc, 0x03, 0xc1,
-	0x7a, 0xb9, 0x2b, 0xee, 0xc3, 0xd2, 0xff, 0x34, 0x19, 0x78, 0xff, 0x64, 0x68, 0xc6, 0x2f, 0xe8,
-	0xda, 0x4b, 0x7b, 0x41, 0x1b, 0x7f, 0x45, 0xb0, 0x3c, 0xf5, 0x51, 0x83, 0xdf, 0x81, 0x73, 0xfa,
-	0xe8, 0xd6, 0xa3, 0xf8, 0x74, 0x2e, 0x7f, 0x54, 0x31, 0x8a, 0x2f, 0x84, 0x1d, 0xf7, 0x09, 0x8f,
-	0x48, 0x62, 0x00, 0xfc, 0x6d, 0x30, 0xd2, 0x0b, 0x2a, 0x4c, 0x90, 0xf7, 0x6d, 0xeb, 0xb4, 0x4b,
-	0xe9, 0x93, 0x29, 0x8c, 0x2d, 0x8f, 0xf6, 0x6c, 0x2b, 0x8a, 0x94, 0x71, 0x03, 0xd6, 0x4a, 0xf3,
-	0x4e, 0xe3, 0x63, 0x04, 0x4b, 0xd3, 0x9e, 0x4d, 0xb8, 0x03, 0x35, 0x12, 0x8f, 0xf1, 0x66, 0x85,
-	0x18, 0x77, 0xad, 0x48, 0x4e, 0x8d, 0x58, 0xf8, 0x1e, 0x2c, 0x50, 0x9f, 0x45, 0x69, 0x9e, 0x45,
-	0x24, 0xcb, 0x3d, 0xbb, 0xd2, 0x0f, 0x75, 0xe5, 0x7d, 0x31, 0xf6, 0xbb, 0x43, 0x24, 0xc3, 0x3b,
-	0x70, 0x89, 0x04, 0x92, 0x9b, 0xc4, 0xf3, 0x86, 0xc7, 0x11, 0x52, 0xbd, 0x2a, 0xd2, 0x42, 0xe8,
-	0xd9, 0x0d, 0x1d, 0x43, 0x28, 0xe3, 0x27, 0x08, 0xae, 0x15, 0x64, 0x0e, 0xf8, 0x00, 0xae, 0xa6,
-	0xe7, 0x62, 0x5c, 0xe6, 0x6b, 0x20, 0xb5, 0xf1, 0x3e, 0x53, 0x36, 0xcd, 0x21, 0xf8, 0x3d, 0xc6,
-	0xac, 0x1d, 0xc9, 0x9c, 0x48, 0xc1, 0x72, 0x0a, 0x30, 0xa1, 0x15, 0xc6, 0xbf, 0x11, 0xac, 0x16,
-	0x27, 0x09, 0x2f, 0x74, 0x91, 0x7d, 0x6f, 0x72, 0x60, 0xe3, 0x8c, 0x47, 0x97, 0xb9, 0xee, 0x94,
-	0x94, 0xb9, 0xb2, 0x52, 0x55, 0x91, 0x2b, 0xdb, 0x18, 0x71, 0x2e, 0xa5, 0x88, 0x92, 0x2e, 0xe3,
-	0xe3, 0x33, 0xb0, 0x52, 0xf4, 0x10, 0xc6, 0xbf, 0x44, 0x70, 0x2e, 0x3e, 0xe5, 0xd0, 0xac, 0xa7,
-	0x5c, 0x11, 0x43, 0x61, 0x67, 0xfa, 0x94, 0x8b, 0x65, 0x60, 0x0a, 0xe9, 0x03, 0xda, 0x4c, 0x55,
-	0x08, 0x4e, 0xb9, 0x39, 0xd3, 0x1b, 0x3c, 0x51, 0xa1, 0xf7, 0xe7, 0xdf, 0xeb, 0xb0, 0x5e, 0xae,
-	0x0c, 0x3f, 0x83, 0xb9, 0x01, 0x27, 0x43, 0xb5, 0x12, 0x16, 0x6f, 0x5b, 0x25, 0xd3, 0x55, 0x04,
-	0xb8, 0xcd, 0xc9, 0x50, 0x4d, 0x5f, 0x99, 0x91, 0xae, 0x58, 0x86, 0xb4, 0xf8, 0xab, 0x70, 0x65,
-	0xf6, 0xe1, 0x5f, 0x92, 0x93, 0x63, 0xc6, 0x12, 0x6e, 0xf9, 0xec, 0xbd, 0xc0, 0xf6, 0xc3, 0xf3,
-	0x2e, 0x53, 0x23, 0x9b, 0xbc, 0x23, 0xaa, 0xa6, 0x2b, 0xeb, 0x31, 0xde, 0xe4, 0x7d, 0x94, 0x73,
-	0x67, 0xcc, 0xbd, 0xbc, 0x3b, 0xe3, 0x57, 0x08, 0x6e, 0x55, 0x2b, 0xa3, 0x54, 0xca, 0x24, 0xd0,
-	0x0b, 0xc9, 0x24, 0x8c, 0x1f, 0xd5, 0x60, 0xb5, 0x38, 0xdb, 0xc7, 0xdf, 0x80, 0xab, 0xec, 0x88,
-	0x32, 0x21, 0xb2, 0x33, 0x92, 0x9b, 0xb2, 0x9e, 0x38, 0x6c, 0x97, 0x22, 0x80, 0xc9, 0x29, 0xc0,
-	0x3f, 0x45, 0xb0, 0x3c, 0xfd, 0xe1, 0x52, 0x7b, 0x69, 0xf5, 0xcf, 0xbe, 0xce, 0x38, 0x32, 0xd7,
-	0x5c, 0x13, 0x56, 0x8b, 0x8b, 0x45, 0xc6, 0xcf, 0x11, 0xac, 0x95, 0xd6, 0x3d, 0xfe, 0x9f, 0x33,
-	0xb7, 0x0e, 0xcd, 0xb2, 0xd2, 0x86, 0xf1, 0x33, 0x04, 0xab, 0xc5, 0x75, 0x05, 0x7c, 0x58, 0x72,
-	0xb1, 0xb5, 0xab, 0x5c, 0x6c, 0x3c, 0x90, 0x95, 0xee, 0xb6, 0x5f, 0x20, 0xb8, 0x5e, 0x52, 0x42,
-	0xc0, 0xc3, 0x12, 0x41, 0x9f, 0x2b, 0x13, 0x14, 0x13, 0x54, 0x51, 0xd4, 0xa1, 0xcf, 0xbb, 0xdf,
-	0xa9, 0xfc, 0x7f, 0x10, 0x7e, 0x93, 0x06, 0x42, 0x72, 0x87, 0xf9, 0xa2, 0xfd, 0x7e, 0xfc, 0xf9,
-	0x2c, 0xf3, 0x5f, 0x9c, 0x68, 0xbf, 0x3f, 0xd9, 0xf0, 0xac, 0x77, 0x19, 0x16, 0x27, 0x9b, 0x7a,
-	0xdf, 0xaf, 0xc1, 0x4d, 0xca, 0x9d, 0xf2, 0x05, 0xde, 0x7b, 0x65, 0x52, 0xc2, 0x83, 0x70, 0xb5,
-	0x3c, 0x40, 0xdf, 0x7a, 0x47, 0x7b, 0x0e, 0xf8, 0x90, 0xb8, 0x83, 0x16, 0xf7, 0x07, 0xed, 0x01,
-	0x73, 0xd5, 0x5a, 0x6a, 0x8f, 0xc7, 0x50, 0xf0, 0xcf, 0xdd, 0x97, 0x92, 0xaf, 0x0f, 0x6b, 0xf5,
-	0xed, 0x6e, 0xf7, 0x8f, 0xb5, 0xb5, 0xed, 0x08, 0xb2, 0x6b, 0x89, 0x56, 0xf4, 0x19, 0x7e, 0xed,
-	0x6d, 0xb6, 0xfa, 0xb1, 0xe5, 0xdf, 0x62, 0x9b, 0xc7, 0x5d, 0x4b, 0x3c, 0x4e, 0x6c, 0x1e, 0xef,
-	0x6d, 0x3e, 0x4e, 0x6c, 0x9e, 0xd7, 0x6e, 0x46, 0x1d, 0x9d, 0x4e, 0xd7, 0x12, 0x9d, 0x4e, 0x62,
-	0xd5, 0xe9, 0xec, 0x6d, 0x76, 0x3a, 0x89, 0xdd, 0xfe, 0x59, 0x25, 0x76, 0xf3, 0xbf, 0x01, 0x00,
-	0x00, 0xff, 0xff, 0xaa, 0xa5, 0x21, 0x62, 0xdc, 0x1d, 0x00, 0x00,
+	0xd4, 0xd5, 0xd5, 0x3d, 0xdd, 0xed, 0xe9, 0x0f, 0x0f, 0x09, 0xb7, 0x9e, 0xaa, 0xf7, 0x7e, 0xef,
+	0x57, 0xaf, 0x5e, 0xbd, 0x7a, 0xaf, 0x06, 0xde, 0x1a, 0x70, 0x3e, 0x18, 0xb2, 0x36, 0xb1, 0x44,
+	0x3b, 0xfc, 0x0c, 0xbe, 0xc6, 0x9b, 0x6d, 0x9f, 0x09, 0x3e, 0xf2, 0x29, 0x13, 0x6d, 0x9f, 0x51,
+	0xee, 0x38, 0xcc, 0xb5, 0x88, 0xb4, 0xb9, 0xdb, 0xf2, 0x7c, 0x2e, 0x39, 0x5e, 0x0b, 0x85, 0x5b,
+	0xc4, 0x12, 0xad, 0x58, 0xaf, 0x35, 0xde, 0x6c, 0xc5, 0x7a, 0xc6, 0x67, 0xf3, 0xa0, 0x03, 0x38,
+	0xee, 0xb6, 0xa9, 0x6f, 0x4b, 0xe6, 0xdb, 0x24, 0x44, 0x34, 0xda, 0x25, 0xe2, 0xec, 0x48, 0x32,
+	0x57, 0xd8, 0xdc, 0x15, 0x5a, 0x21, 0x97, 0x3a, 0x73, 0x47, 0x8e, 0x68, 0x1f, 0xb2, 0xe3, 0xa7,
+	0xdc, 0xb7, 0x4c, 0x87, 0x48, 0x7a, 0x60, 0xca, 0x63, 0x8f, 0x69, 0xbd, 0x2f, 0x14, 0xeb, 0xa5,
+	0x97, 0x9b, 0x54, 0xdc, 0x29, 0x56, 0x94, 0xc4, 0x1f, 0x30, 0x69, 0x52, 0x8f, 0x98, 0xdc, 0x93,
+	0xa6, 0xed, 0x9a, 0x19, 0xa8, 0x01, 0x27, 0x43, 0x0d, 0xf5, 0x46, 0xb9, 0xdb, 0x89, 0xa5, 0x65,
+	0xaf, 0x47, 0xb2, 0x9e, 0xdd, 0x7e, 0x62, 0xb3, 0xa1, 0x65, 0xee, 0xb3, 0x03, 0x32, 0xb6, 0xb9,
+	0xaf, 0x05, 0x5e, 0x4d, 0x08, 0x44, 0xfa, 0x7a, 0x6a, 0x55, 0x4f, 0xa9, 0x5f, 0xfb, 0xa3, 0x27,
+	0xed, 0xa7, 0x3e, 0xf1, 0x3c, 0xe6, 0x47, 0x3e, 0x5c, 0x49, 0xa8, 0x12, 0xd7, 0xe5, 0x52, 0x31,
+	0xd5, 0xb3, 0xeb, 0x7f, 0x7e, 0x13, 0x16, 0xfb, 0xa9, 0x35, 0xe0, 0x47, 0xb0, 0x10, 0x99, 0x30,
+	0x5d, 0xe2, 0xb0, 0x06, 0x6a, 0xa2, 0x8d, 0x0b, 0xbd, 0xf6, 0x47, 0xdd, 0x33, 0xff, 0xe9, 0xbe,
+	0x0e, 0x9f, 0x9a, 0xc4, 0x82, 0xfe, 0xf2, 0x6c, 0xd1, 0xa2, 0xdc, 0x69, 0xa7, 0x71, 0xfa, 0x17,
+	0x23, 0x94, 0x77, 0x89, 0xc3, 0x30, 0x81, 0xb9, 0xc0, 0xcf, 0x8d, 0x5a, 0x13, 0x6d, 0x2c, 0xde,
+	0x7e, 0xbb, 0x95, 0x17, 0x5c, 0xca, 0xd1, 0xad, 0x34, 0xd4, 0xa3, 0x63, 0x8f, 0xdd, 0x75, 0x47,
+	0xce, 0x94, 0xe1, 0x5e, 0xfd, 0xa3, 0x6e, 0xbd, 0xaf, 0xa0, 0x31, 0x85, 0xb3, 0xb6, 0xe3, 0x11,
+	0x2a, 0x1b, 0xf5, 0x26, 0xda, 0x98, 0xbf, 0x7d, 0xaf, 0x55, 0x1a, 0xc1, 0x19, 0xc4, 0xcc, 0xcf,
+	0x1d, 0x85, 0x16, 0x9a, 0xd0, 0xd0, 0x78, 0x0c, 0x97, 0x28, 0x71, 0x3c, 0x62, 0x0f, 0x5c, 0x73,
+	0x7f, 0x64, 0x0d, 0x98, 0x6c, 0x9c, 0x51, 0xd6, 0x56, 0x22, 0x6b, 0xd1, 0x46, 0xb4, 0x1e, 0x4a,
+	0xdf, 0x76, 0x07, 0x7b, 0x64, 0x38, 0x62, 0x81, 0xf7, 0xea, 0xc5, 0xde, 0xdb, 0xd2, 0xa8, 0x3d,
+	0x05, 0xda, 0x5f, 0xa4, 0xa9, 0xdf, 0x98, 0xc2, 0xf9, 0x68, 0xa4, 0x71, 0xb6, 0x82, 0xc1, 0xd7,
+	0x95, 0xc1, 0x1b, 0xb0, 0x56, 0x6a, 0xb0, 0x1f, 0x03, 0x63, 0x02, 0xe7, 0x89, 0x65, 0x0e, 0x7c,
+	0x3e, 0xf2, 0x1a, 0xe7, 0x2a, 0x18, 0xd9, 0x50, 0x46, 0xd6, 0xa1, 0x99, 0x6b, 0xa4, 0x6b, 0x6d,
+	0x07, 0x68, 0xfd, 0x73, 0x24, 0xfc, 0xc0, 0x5f, 0x86, 0x0b, 0x96, 0x2d, 0x1c, 0x5b, 0x08, 0x66,
+	0x35, 0x16, 0x94, 0x0d, 0xe3, 0x84, 0x8d, 0x1e, 0xe7, 0xc3, 0xd0, 0x82, 0xf2, 0xfd, 0x44, 0x03,
+	0xff, 0x06, 0xc1, 0x6a, 0xc6, 0xff, 0x99, 0x33, 0xd8, 0x98, 0x53, 0xa0, 0xef, 0x9e, 0x7e, 0xf3,
+	0x33, 0x3b, 0x90, 0x9a, 0x54, 0x44, 0xde, 0xfe, 0x44, 0x7f, 0x85, 0x16, 0x08, 0xe1, 0x1f, 0x23,
+	0xb8, 0x1a, 0x25, 0xa5, 0x0c, 0xab, 0xf3, 0x8a, 0xd5, 0xf6, 0xe9, 0x59, 0x7d, 0x25, 0xc4, 0x9b,
+	0x4e, 0x67, 0xf9, 0x70, 0xda, 0x2c, 0xfe, 0x21, 0x82, 0xab, 0x92, 0x1d, 0x49, 0x93, 0x9c, 0xe0,
+	0x71, 0x61, 0xd6, 0xa3, 0xf1, 0x88, 0x1d, 0xc9, 0x6e, 0x0e, 0x8d, 0x25, 0x39, 0x65, 0x12, 0x7f,
+	0x80, 0xa0, 0x59, 0x96, 0x31, 0x1b, 0x30, 0xeb, 0x6e, 0x3d, 0x52, 0xc8, 0x5b, 0x1e, 0xb9, 0xef,
+	0xc9, 0x1d, 0x37, 0x67, 0xb7, 0x64, 0x81, 0x10, 0xfe, 0x0b, 0x82, 0x37, 0x1c, 0x72, 0x64, 0x3b,
+	0xf6, 0x77, 0x99, 0x49, 0xb9, 0x3b, 0x66, 0xbe, 0xba, 0x7c, 0x72, 0x98, 0xce, 0x2b, 0xa6, 0xdf,
+	0x3c, 0x3d, 0xd3, 0x5d, 0x6d, 0x63, 0x6b, 0x62, 0xa2, 0x80, 0xf3, 0x2d, 0xa7, 0x92, 0x38, 0xfe,
+	0x1d, 0x82, 0x75, 0xe6, 0x1e, 0x10, 0x97, 0x32, 0xcb, 0xa4, 0x1e, 0xcd, 0x61, 0x7d, 0x51, 0xb1,
+	0x7e, 0x70, 0x7a, 0xd6, 0x77, 0x35, 0xf6, 0x96, 0x47, 0x0b, 0xd8, 0xae, 0xb2, 0x42, 0x31, 0xfc,
+	0x27, 0x04, 0x37, 0x05, 0x23, 0x3e, 0x3d, 0x30, 0x3d, 0xe2, 0x4b, 0x97, 0xf9, 0x79, 0xee, 0x5d,
+	0x54, 0x44, 0x1f, 0x9e, 0x9e, 0xe8, 0x43, 0x05, 0xff, 0x40, 0xa3, 0x17, 0x70, 0x5d, 0x13, 0x65,
+	0x92, 0x8a, 0xee, 0x24, 0x24, 0x86, 0x36, 0x3d, 0xcc, 0xa3, 0x7b, 0x69, 0x56, 0xba, 0x71, 0x34,
+	0x28, 0xf4, 0x22, 0xba, 0x4e, 0x99, 0x24, 0xfe, 0x03, 0x82, 0x1b, 0xdc, 0x93, 0x21, 0xdd, 0xe0,
+	0xac, 0xeb, 0xdb, 0x3d, 0x4b, 0xf6, 0xb2, 0x22, 0xdb, 0x3f, 0x3d, 0xd9, 0xfb, 0x1a, 0xbc, 0x6b,
+	0xf5, 0x35, 0xf4, 0x74, 0xae, 0x4d, 0x5e, 0x22, 0x88, 0x7f, 0x8b, 0xa0, 0x49, 0xc9, 0x70, 0xc8,
+	0x47, 0xd2, 0x8c, 0xeb, 0xbc, 0x2c, 0xcf, 0x2b, 0xb3, 0x06, 0xeb, 0x56, 0x88, 0x7c, 0x37, 0x02,
+	0xce, 0x09, 0x56, 0x5a, 0x28, 0x86, 0x7f, 0x8f, 0x60, 0x4d, 0xd8, 0x92, 0x0d, 0x6d, 0xf7, 0x30,
+	0x9f, 0x24, 0x56, 0x24, 0xbf, 0x36, 0x43, 0xa0, 0x6a, 0xe8, 0x12, 0x96, 0xd7, 0x45, 0xb1, 0x1c,
+	0xfe, 0x35, 0x82, 0xd7, 0x82, 0x95, 0xe4, 0x53, 0x7c, 0x45, 0x51, 0xdc, 0x9d, 0xcd, 0x8f, 0x25,
+	0xf4, 0xae, 0xd1, 0x7c, 0x19, 0xfc, 0x21, 0x82, 0xb5, 0x93, 0x55, 0x79, 0x96, 0xde, 0xd2, 0xac,
+	0xdb, 0xac, 0xef, 0xc2, 0xdd, 0x00, 0x39, 0xa8, 0xfe, 0x72, 0xb6, 0xf9, 0xb0, 0x50, 0x4c, 0x91,
+	0x74, 0xf8, 0x98, 0x99, 0x23, 0x77, 0x24, 0x98, 0x95, 0x53, 0x46, 0x2c, 0xcf, 0x4a, 0x72, 0x97,
+	0x8f, 0xd9, 0xd7, 0x15, 0x72, 0x51, 0x21, 0xb1, 0xea, 0x14, 0x8a, 0x19, 0x3f, 0xa8, 0xc1, 0xd2,
+	0xb4, 0x6a, 0x14, 0x73, 0xb8, 0xb8, 0x4f, 0x04, 0x33, 0x1d, 0x26, 0x7d, 0x9b, 0x0a, 0x55, 0x9d,
+	0xcf, 0x54, 0x58, 0xa4, 0x7f, 0xee, 0x86, 0x70, 0x61, 0xc1, 0x35, 0x1f, 0x58, 0xd0, 0x23, 0xf8,
+	0x18, 0xae, 0x78, 0x5c, 0x32, 0x57, 0xda, 0x64, 0x18, 0x5b, 0xad, 0xbd, 0x04, 0xab, 0x97, 0x63,
+	0x33, 0x7a, 0xd8, 0xf8, 0x67, 0x0d, 0x96, 0xa7, 0x2a, 0xe0, 0x2d, 0x98, 0xb7, 0x1d, 0xcf, 0x67,
+	0x42, 0xdd, 0x8f, 0xda, 0x09, 0x27, 0x8b, 0xd5, 0x3b, 0x7c, 0xb4, 0x3f, 0x64, 0x89, 0x52, 0x32,
+	0xa9, 0x85, 0xbf, 0x08, 0x67, 0xc3, 0x1c, 0xaf, 0x97, 0x53, 0x41, 0x5f, 0x2b, 0xe0, 0x2e, 0xcc,
+	0x53, 0x2e, 0xa4, 0xe9, 0xd8, 0xd4, 0xe7, 0x42, 0x37, 0x1c, 0xd7, 0x4e, 0xe8, 0xef, 0xb8, 0xf2,
+	0xad, 0xcf, 0x27, 0xd4, 0x21, 0x50, 0xda, 0x55, 0x3a, 0xc1, 0x12, 0x12, 0x45, 0x87, 0x2e, 0x5b,
+	0xab, 0x2c, 0x21, 0xa1, 0x85, 0x7b, 0x30, 0x3f, 0xb6, 0x2d, 0xc6, 0xcd, 0xb1, 0xcd, 0x9e, 0x8a,
+	0xdc, 0x56, 0xe4, 0x04, 0x08, 0x28, 0xad, 0xbd, 0x40, 0xc9, 0xf8, 0xd7, 0x1c, 0xac, 0x14, 0xd5,
+	0xbe, 0x98, 0xc0, 0x0a, 0x1d, 0xf9, 0x3e, 0x73, 0x65, 0x74, 0x56, 0x88, 0xc3, 0x47, 0x6e, 0xbc,
+	0x7a, 0x54, 0x71, 0xf5, 0xaf, 0x6a, 0x94, 0xd0, 0x48, 0x57, 0x61, 0x68, 0x67, 0xd8, 0xd0, 0x8c,
+	0xcf, 0xdf, 0xe4, 0x48, 0xa6, 0xcd, 0xd4, 0x2a, 0x9a, 0x79, 0x2d, 0x81, 0x34, 0xc5, 0xd4, 0x07,
+	0x08, 0x16, 0x35, 0x7e, 0x70, 0x6b, 0x05, 0xbe, 0xaf, 0x37, 0xeb, 0x1b, 0xf3, 0xb7, 0xdf, 0x7b,
+	0xb1, 0x2d, 0x43, 0xe1, 0xe4, 0x7d, 0x2f, 0x4e, 0x06, 0xfd, 0x85, 0x90, 0x4d, 0x38, 0x24, 0x8c,
+	0x7f, 0x20, 0x58, 0x2f, 0x57, 0xc5, 0x7d, 0x58, 0xfa, 0x9f, 0x36, 0x03, 0xef, 0x9f, 0x74, 0xcd,
+	0xa4, 0x83, 0xae, 0xbd, 0xb4, 0x0e, 0xda, 0xf8, 0x2b, 0x82, 0xe5, 0xa9, 0x4d, 0x0d, 0x7e, 0x07,
+	0xce, 0xe9, 0xd4, 0xad, 0x57, 0xf1, 0xe9, 0x5c, 0xfb, 0xe1, 0x8b, 0x51, 0x74, 0x21, 0xec, 0xb8,
+	0x4f, 0x78, 0x68, 0x24, 0x02, 0xc0, 0xdf, 0x06, 0x23, 0x19, 0x50, 0x41, 0x81, 0xbc, 0x6f, 0x5b,
+	0xa7, 0x0d, 0xa5, 0x4f, 0x26, 0x30, 0xb6, 0x3c, 0xda, 0xb3, 0xad, 0xd0, 0x53, 0xc6, 0xc7, 0x08,
+	0x96, 0xa6, 0x75, 0x44, 0xb8, 0x03, 0x35, 0x12, 0xd1, 0xbf, 0x59, 0xc1, 0x7d, 0x5d, 0x2b, 0xb4,
+	0x54, 0x23, 0x16, 0xbe, 0x07, 0x0b, 0xd4, 0x67, 0x61, 0x05, 0x67, 0x11, 0xc9, 0x72, 0xd3, 0x52,
+	0xb2, 0x07, 0x57, 0xda, 0x17, 0x23, 0xbd, 0x3b, 0x44, 0x32, 0xbc, 0x03, 0x97, 0xc8, 0x48, 0x72,
+	0x93, 0x78, 0xde, 0xf0, 0x38, 0x44, 0xaa, 0x57, 0x45, 0x5a, 0x08, 0x34, 0xbb, 0x81, 0x62, 0x00,
+	0x65, 0x7c, 0x7c, 0x06, 0x56, 0x8a, 0x3a, 0x2d, 0xfc, 0x4b, 0x04, 0xe7, 0xa2, 0x63, 0x84, 0x66,
+	0x3d, 0x46, 0x45, 0x16, 0x0a, 0x27, 0x93, 0xc7, 0x28, 0xa2, 0x81, 0x29, 0x24, 0x33, 0x80, 0x99,
+	0x68, 0x41, 0x4f, 0xb9, 0xfb, 0xc9, 0x08, 0x8a, 0x59, 0xe8, 0x00, 0xf8, 0x7b, 0x1d, 0xd6, 0xcb,
+	0x99, 0xe1, 0x67, 0x30, 0x37, 0xe0, 0x64, 0xa8, 0x02, 0x62, 0xf1, 0xb6, 0x55, 0xf2, 0xec, 0x55,
+	0x04, 0xb8, 0xcd, 0xc9, 0x50, 0x3d, 0x82, 0x95, 0x09, 0xe9, 0x27, 0xb1, 0xc0, 0x2c, 0xfe, 0x2a,
+	0x5c, 0x99, 0x7d, 0xf9, 0x97, 0x64, 0x7a, 0xcd, 0x58, 0xc2, 0x2d, 0x9f, 0xbd, 0x37, 0xb2, 0xfd,
+	0xe0, 0x40, 0x65, 0x1e, 0x61, 0xd2, 0x49, 0xa8, 0xea, 0x7d, 0xb8, 0x1e, 0xe1, 0xa5, 0x13, 0x5e,
+	0x4e, 0x52, 0x9a, 0x7b, 0x79, 0x49, 0xe9, 0x57, 0x08, 0x6e, 0x55, 0xeb, 0xd3, 0x2b, 0x5d, 0x55,
+	0xe8, 0x85, 0x5c, 0x55, 0xc6, 0xcf, 0x11, 0xac, 0x95, 0xf6, 0x8b, 0xff, 0x4f, 0x42, 0x3f, 0x43,
+	0xb0, 0x5a, 0xdc, 0x6b, 0xe1, 0x43, 0xb8, 0x9a, 0x64, 0x33, 0x79, 0xd3, 0xd7, 0xe9, 0xa1, 0x5d,
+	0x96, 0xd3, 0x35, 0xfe, 0x3d, 0xc6, 0xac, 0x1d, 0xc9, 0x9c, 0x90, 0xd7, 0x72, 0x02, 0x33, 0xb6,
+	0x2c, 0x8c, 0x1f, 0xd5, 0x60, 0xb5, 0xb8, 0xde, 0xc6, 0xdf, 0x80, 0xab, 0xec, 0x88, 0x32, 0x21,
+	0xb2, 0x21, 0x9b, 0x5b, 0x34, 0x9e, 0xc8, 0x89, 0x4b, 0x21, 0x40, 0x3a, 0x46, 0xf1, 0x4f, 0x11,
+	0x2c, 0x4f, 0x6f, 0x1d, 0x6a, 0x2f, 0xed, 0x05, 0xb2, 0xaf, 0xef, 0xfc, 0x4c, 0xb3, 0xd0, 0x84,
+	0xd5, 0xe2, 0xe7, 0x1a, 0xe3, 0xdf, 0x08, 0x56, 0x8b, 0xbb, 0xa7, 0x17, 0x7a, 0xfb, 0x7e, 0x2f,
+	0x1d, 0x04, 0x93, 0x56, 0x50, 0xbf, 0xff, 0xdf, 0x29, 0x49, 0x84, 0x59, 0xaa, 0x2a, 0xf1, 0x65,
+	0x07, 0xb5, 0x47, 0x12, 0x86, 0xe2, 0x29, 0xe3, 0x06, 0xac, 0x95, 0xbe, 0x0b, 0x19, 0x3f, 0x41,
+	0x70, 0xad, 0xa0, 0xe3, 0xc5, 0x07, 0x25, 0xa1, 0xfc, 0x99, 0x2a, 0xa1, 0x5c, 0x29, 0x8e, 0xd7,
+	0xa1, 0x59, 0xf6, 0xd4, 0x62, 0xfc, 0x02, 0xc1, 0xf5, 0x92, 0x27, 0x04, 0x3c, 0x2c, 0x61, 0xfc,
+	0xb9, 0x32, 0xc6, 0x91, 0x81, 0x2a, 0xac, 0x3b, 0xf4, 0x79, 0xf7, 0x3b, 0x95, 0xff, 0x0f, 0xc2,
+	0x6f, 0xd2, 0x91, 0x90, 0xdc, 0x61, 0xbe, 0x68, 0xbf, 0x1f, 0x7d, 0x3e, 0xcb, 0xfc, 0x17, 0x27,
+	0xda, 0xef, 0xa7, 0x07, 0x9e, 0xf5, 0x2e, 0xc3, 0x62, 0x7a, 0xa8, 0xf7, 0xfd, 0x1a, 0xdc, 0xa4,
+	0xdc, 0x29, 0x3f, 0x5e, 0xbd, 0x57, 0xd2, 0x14, 0x1e, 0x04, 0x27, 0xfc, 0x01, 0xfa, 0xd6, 0x3b,
+	0x5a, 0x73, 0xc0, 0x87, 0xc4, 0x1d, 0xb4, 0xb8, 0x3f, 0x68, 0x0f, 0x98, 0xab, 0xce, 0x7f, 0x7b,
+	0xb2, 0x86, 0x82, 0x7f, 0xee, 0xbe, 0x14, 0x7f, 0x7d, 0x58, 0xab, 0x6f, 0x77, 0xbb, 0x7f, 0xac,
+	0xad, 0x6d, 0x87, 0x90, 0x5d, 0x4b, 0xb4, 0xc2, 0xcf, 0xe0, 0x6b, 0x6f, 0xb3, 0xd5, 0x8f, 0x24,
+	0xff, 0x16, 0xc9, 0x3c, 0xee, 0x5a, 0xe2, 0x71, 0x2c, 0xf3, 0x78, 0x6f, 0xf3, 0x71, 0x2c, 0xf3,
+	0xbc, 0x76, 0x33, 0x9c, 0xe8, 0x74, 0xba, 0x96, 0xe8, 0x74, 0x62, 0xa9, 0x4e, 0x67, 0x6f, 0xb3,
+	0xd3, 0x89, 0xe5, 0xf6, 0xcf, 0x2a, 0xb2, 0x9b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xba, 0x15,
+	0x50, 0xc5, 0xdc, 0x1d, 0x00, 0x00,
 }
diff --git a/googleapis/ads/googleads/v3/services/conversion_adjustment_upload_service.pb.go b/googleapis/ads/googleads/v3/services/conversion_adjustment_upload_service.pb.go
index efcee84..fa2a623 100644
--- a/googleapis/ads/googleads/v3/services/conversion_adjustment_upload_service.pb.go
+++ b/googleapis/ads/googleads/v3/services/conversion_adjustment_upload_service.pb.go
@@ -36,7 +36,7 @@
 	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
 	// Required. The conversion adjustments that are being uploaded.
 	ConversionAdjustments []*ConversionAdjustment `protobuf:"bytes,2,rep,name=conversion_adjustments,json=conversionAdjustments,proto3" json:"conversion_adjustments,omitempty"`
-	// If true, successful operations will be carried out and invalid
+	// Required. If true, successful operations will be carried out and invalid
 	// operations will return errors. If false, all operations will be carried out
 	// in one transaction if and only if they are all valid. This should always be
 	// set to true.
@@ -520,63 +520,64 @@
 }
 
 var fileDescriptor_0dcef73f64d51915 = []byte{
-	// 896 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0x4f, 0x8b, 0xe4, 0xc4,
-	0x1b, 0xde, 0xa4, 0xf7, 0xdf, 0xaf, 0x66, 0x67, 0x76, 0xa7, 0x7e, 0xb3, 0x6e, 0xd3, 0xbb, 0x68,
-	0x9b, 0x1d, 0x74, 0x58, 0x24, 0x81, 0x6e, 0x10, 0x36, 0xea, 0x42, 0xe6, 0xcf, 0xce, 0x0c, 0x82,
-	0x0e, 0x99, 0xb1, 0x0f, 0x32, 0x10, 0x6a, 0x52, 0xd5, 0xb1, 0x24, 0x5d, 0x15, 0xab, 0x2a, 0x2d,
-	0x8d, 0xec, 0xc5, 0xb3, 0x9e, 0x44, 0x04, 0x8f, 0x1e, 0xfd, 0x1e, 0x5e, 0x16, 0x3c, 0x79, 0x11,
-	0x4f, 0x1e, 0x3c, 0x79, 0xf4, 0x13, 0x48, 0x2a, 0xa9, 0xee, 0x6c, 0xdb, 0xd9, 0x2c, 0x7a, 0x12,
-	0xbc, 0x55, 0xde, 0x7a, 0xde, 0xf7, 0x79, 0xde, 0xa7, 0xea, 0xa5, 0x02, 0xde, 0x4d, 0x38, 0x4f,
-	0x52, 0xe2, 0x21, 0x2c, 0xbd, 0x72, 0x59, 0xac, 0xa6, 0x43, 0x4f, 0x12, 0x31, 0xa5, 0x31, 0x91,
-	0x5e, 0xcc, 0xd9, 0x94, 0x08, 0x49, 0x39, 0x8b, 0x10, 0xfe, 0x38, 0x97, 0x6a, 0x42, 0x98, 0x8a,
-	0xf2, 0x2c, 0xe5, 0x08, 0x47, 0x15, 0xca, 0xcd, 0x04, 0x57, 0x1c, 0xf6, 0xcb, 0x0a, 0x2e, 0xc2,
-	0xd2, 0x9d, 0x17, 0x73, 0xa7, 0x43, 0xd7, 0x14, 0xeb, 0x3d, 0x6a, 0xa2, 0x23, 0x2c, 0x9f, 0x34,
-	0x71, 0xa9, 0x59, 0x56, 0x31, 0xf4, 0xee, 0x99, 0xfc, 0x8c, 0x7a, 0x88, 0x31, 0xae, 0x90, 0xa2,
-	0x9c, 0xc9, 0x6a, 0xf7, 0x4e, 0x6d, 0x37, 0x4e, 0x29, 0x61, 0xaa, 0xda, 0x78, 0xa5, 0xb6, 0x31,
-	0xa6, 0x24, 0xc5, 0xd1, 0x05, 0xf9, 0x08, 0x4d, 0x29, 0x17, 0x15, 0xe0, 0xe5, 0x0a, 0xa0, 0xbf,
-	0x2e, 0xf2, 0xb1, 0xf7, 0xa9, 0x40, 0x59, 0x46, 0xc4, 0x72, 0x65, 0x91, 0xc5, 0x9e, 0x54, 0x48,
-	0xe5, 0xd5, 0x86, 0xf3, 0x85, 0x0d, 0x9c, 0x0f, 0xb4, 0x17, 0x7b, 0x73, 0xed, 0xc1, 0x5c, 0xba,
-	0x0c, 0xc9, 0x27, 0x39, 0x91, 0x0a, 0x6e, 0x83, 0xb5, 0x38, 0x97, 0x8a, 0x4f, 0x88, 0x88, 0x28,
-	0xee, 0x5a, 0x7d, 0x6b, 0xe7, 0x7f, 0xbb, 0x9d, 0x5f, 0x03, 0x3b, 0x04, 0x26, 0x7e, 0x8c, 0xa1,
-	0x00, 0x2f, 0xad, 0x74, 0x40, 0x76, 0xed, 0x7e, 0x67, 0x67, 0x6d, 0xf0, 0xa6, 0xdb, 0x66, 0xb0,
-	0xbb, 0x4a, 0x45, 0x49, 0x74, 0x3b, 0x5e, 0x25, 0x10, 0xbe, 0x0e, 0x6e, 0x66, 0x48, 0x28, 0x8a,
-	0xd2, 0x68, 0x8c, 0x68, 0x9a, 0x0b, 0xd2, 0xed, 0xf4, 0xad, 0x9d, 0xeb, 0xe1, 0x46, 0x15, 0x7e,
-	0x5c, 0x46, 0xe1, 0x7d, 0xb0, 0x3e, 0x45, 0x29, 0xc5, 0x48, 0x91, 0x88, 0xb3, 0x74, 0xd6, 0xbd,
-	0xac, 0x61, 0x37, 0x4c, 0xf0, 0x7d, 0x96, 0xce, 0x9c, 0x1f, 0x2c, 0x70, 0xff, 0xb9, 0x76, 0xc8,
-	0x8c, 0x33, 0x49, 0xe0, 0x63, 0x70, 0x7b, 0x89, 0x35, 0x22, 0x42, 0x70, 0xa1, 0x9d, 0x59, 0x1b,
-	0x40, 0xd3, 0xa8, 0xc8, 0x62, 0xf7, 0x54, 0xfb, 0x1d, 0xfe, 0xff, 0x59, 0x3d, 0x07, 0x05, 0x1c,
-	0x8e, 0xc0, 0x35, 0x41, 0x64, 0x9e, 0xce, 0x2d, 0x7a, 0xfb, 0xef, 0x59, 0x14, 0xea, 0x22, 0xa1,
-	0x29, 0xe6, 0xfc, 0x78, 0x19, 0x6c, 0xad, 0xc2, 0xc1, 0x63, 0xb0, 0x59, 0x3f, 0xa2, 0xb8, 0xb8,
-	0x7e, 0xda, 0xb0, 0xb5, 0xc1, 0x3d, 0x43, 0x6d, 0x2e, 0x91, 0x7b, 0xaa, 0x04, 0x65, 0xc9, 0x08,
-	0xa5, 0x39, 0x09, 0x6f, 0xd5, 0xec, 0xd7, 0x59, 0xf0, 0x3d, 0xb0, 0x55, 0xbb, 0xe4, 0xda, 0x57,
-	0x45, 0x27, 0x44, 0xfb, 0xda, 0x56, 0x0d, 0x2e, 0x32, 0xf7, 0x91, 0x22, 0x67, 0x74, 0x42, 0xe0,
-	0x13, 0x70, 0x73, 0x69, 0x68, 0xba, 0x57, 0xfa, 0xd6, 0xce, 0xc6, 0xe0, 0xac, 0xd1, 0x13, 0x3d,
-	0x75, 0x2b, 0x0d, 0x39, 0x9b, 0x65, 0xe4, 0x80, 0xe5, 0x93, 0xc6, 0xcd, 0x70, 0x03, 0x3d, 0xf3,
-	0x0d, 0x23, 0xb0, 0x29, 0x48, 0x31, 0x1b, 0x44, 0xf3, 0x4f, 0x0b, 0x9d, 0xdd, 0xab, 0xba, 0x97,
-	0x41, 0xfb, 0xa1, 0x84, 0x8b, 0xd4, 0xca, 0x2f, 0xb1, 0x14, 0x81, 0x63, 0xb0, 0x95, 0xc4, 0x29,
-	0xc5, 0x0b, 0xab, 0xa2, 0x0c, 0x51, 0x73, 0x65, 0x86, 0xed, 0x1c, 0x87, 0x45, 0xb6, 0xb1, 0xeb,
-	0x04, 0x51, 0x71, 0x74, 0x29, 0xdc, 0x4c, 0x96, 0x83, 0xf0, 0x21, 0xb8, 0xce, 0x05, 0x2e, 0x07,
-	0xd5, 0x6e, 0x3f, 0x8b, 0xa3, 0x4b, 0xe1, 0x35, 0x8d, 0x3f, 0xc6, 0xbb, 0x77, 0x40, 0x6d, 0xca,
-	0x22, 0x8a, 0x09, 0x53, 0x74, 0x4c, 0x89, 0x70, 0xbe, 0xb5, 0xc0, 0xad, 0xe5, 0x16, 0xe1, 0x1e,
-	0xa8, 0x3c, 0x24, 0xb8, 0xb2, 0xcb, 0x6a, 0xa0, 0xdb, 0xe7, 0xf9, 0x45, 0x4a, 0x4a, 0x63, 0xd6,
-	0x4d, 0x4e, 0x59, 0x24, 0x00, 0xeb, 0x71, 0x2e, 0x04, 0x61, 0xf1, 0x2c, 0x8a, 0x39, 0x26, 0x2f,
-	0x22, 0x39, 0xbc, 0x61, 0x52, 0xf6, 0x38, 0x26, 0xce, 0x37, 0x16, 0xd8, 0xfc, 0x8b, 0x37, 0x70,
-	0x00, 0xae, 0x68, 0x6f, 0x1a, 0x45, 0xd5, 0x0b, 0x96, 0xd0, 0xe2, 0x4a, 0xd7, 0xfa, 0x5f, 0x5c,
-	0xe9, 0x17, 0xd1, 0x04, 0x17, 0x99, 0x46, 0x87, 0xf3, 0x47, 0x07, 0xf4, 0x9a, 0xc7, 0xf5, 0xbf,
-	0x61, 0x6c, 0x1c, 0xc6, 0x7f, 0xf1, 0xac, 0x0c, 0x7e, 0xb6, 0xc1, 0xab, 0xab, 0x1a, 0x2d, 0xdf,
-	0x95, 0xd3, 0x52, 0x21, 0xfc, 0xda, 0x06, 0x77, 0x9f, 0xf3, 0xd2, 0xc0, 0xfd, 0xf6, 0x1e, 0xdb,
-	0xdf, 0xed, 0xde, 0xc1, 0x3f, 0xac, 0x52, 0x3e, 0x77, 0x0e, 0xfd, 0x25, 0x70, 0x6a, 0xef, 0xff,
-	0x1b, 0xab, 0x5f, 0xf9, 0xcf, 0x7f, 0xfa, 0xed, 0x2b, 0xfb, 0x91, 0xf3, 0xb0, 0xf8, 0x1f, 0x32,
-	0x68, 0xe9, 0x7d, 0x56, 0x4b, 0x7c, 0xe7, 0xc1, 0x13, 0x3f, 0x6f, 0xe6, 0xf3, 0xad, 0x07, 0xbd,
-	0xbb, 0x4f, 0x83, 0xee, 0x42, 0x68, 0xb5, 0xca, 0xa8, 0x74, 0x63, 0x3e, 0xd9, 0xfd, 0xd2, 0x06,
-	0xdb, 0x31, 0x9f, 0xb4, 0x36, 0xb5, 0xfb, 0x5a, 0xeb, 0x01, 0x9c, 0x14, 0xc7, 0x7b, 0x62, 0x7d,
-	0x78, 0x54, 0xd5, 0x4a, 0x78, 0x8a, 0x58, 0xe2, 0x72, 0x91, 0x78, 0x09, 0x61, 0xfa, 0xf0, 0xbd,
-	0x05, 0x7b, 0xf3, 0xff, 0xe5, 0x5b, 0x66, 0xf1, 0x9d, 0xdd, 0x39, 0x0c, 0x82, 0xef, 0xed, 0xfe,
-	0x61, 0x59, 0x30, 0xc0, 0xd2, 0x2d, 0x97, 0xc5, 0x6a, 0x34, 0x74, 0x2b, 0x62, 0xf9, 0xd4, 0x40,
-	0xce, 0x03, 0x2c, 0xcf, 0xe7, 0x90, 0xf3, 0xd1, 0xf0, 0xdc, 0x40, 0x7e, 0xb7, 0xb7, 0xcb, 0xb8,
-	0xef, 0x07, 0x58, 0xfa, 0xfe, 0x1c, 0xe4, 0xfb, 0xa3, 0xa1, 0xef, 0x1b, 0xd8, 0xc5, 0x55, 0xad,
-	0x73, 0xf8, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x8f, 0xa1, 0xb4, 0x06, 0x0b, 0x00, 0x00,
+	// 902 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcf, 0x8b, 0xe4, 0x44,
+	0x14, 0xde, 0xa4, 0xf7, 0x97, 0x35, 0x3b, 0xb3, 0x3b, 0xe5, 0xac, 0xdb, 0xf4, 0x2e, 0xda, 0x66,
+	0x07, 0x19, 0x96, 0x21, 0x81, 0x6e, 0x10, 0x36, 0xea, 0x42, 0xe6, 0xc7, 0xce, 0x0c, 0x82, 0x0e,
+	0x99, 0xb1, 0x0f, 0x32, 0x10, 0xaa, 0x53, 0xd5, 0xb1, 0x24, 0xa9, 0x8a, 0x55, 0x95, 0x96, 0x46,
+	0xf6, 0xe2, 0xdd, 0x83, 0x78, 0x10, 0x3c, 0x0a, 0x5e, 0xfc, 0x3f, 0xbc, 0x2c, 0x78, 0xf2, 0xe6,
+	0xc9, 0x83, 0x07, 0xf1, 0xe8, 0x5f, 0x20, 0xf9, 0x51, 0xdd, 0xd9, 0xb6, 0xb3, 0x59, 0xf4, 0x24,
+	0xec, 0xad, 0x52, 0xef, 0x7b, 0xdf, 0xfb, 0xea, 0xab, 0xf7, 0xa8, 0x80, 0xf7, 0x23, 0xce, 0xa3,
+	0x98, 0x38, 0x08, 0x4b, 0xa7, 0x5c, 0xe6, 0xab, 0xe9, 0xd0, 0x91, 0x44, 0x4c, 0x69, 0x48, 0xa4,
+	0x13, 0x72, 0x36, 0x25, 0x42, 0x52, 0xce, 0x02, 0x84, 0x3f, 0xcd, 0xa4, 0x4a, 0x08, 0x53, 0x41,
+	0x96, 0xc6, 0x1c, 0xe1, 0xa0, 0x42, 0xd9, 0xa9, 0xe0, 0x8a, 0xc3, 0x7e, 0xc9, 0x60, 0x23, 0x2c,
+	0xed, 0x39, 0x99, 0x3d, 0x1d, 0xda, 0x9a, 0xac, 0xf7, 0xa8, 0xa9, 0x1c, 0x61, 0x59, 0xd2, 0x54,
+	0x4b, 0xcd, 0xd2, 0xaa, 0x42, 0xef, 0x9e, 0xce, 0x4f, 0xa9, 0x83, 0x18, 0xe3, 0x0a, 0x29, 0xca,
+	0x99, 0xac, 0xa2, 0x77, 0x6a, 0xd1, 0x30, 0xa6, 0x84, 0xa9, 0x2a, 0xf0, 0x46, 0x2d, 0x30, 0xa1,
+	0x24, 0xc6, 0xc1, 0x98, 0x7c, 0x82, 0xa6, 0x94, 0x8b, 0x0a, 0xf0, 0x7a, 0x05, 0x28, 0xbe, 0xc6,
+	0xd9, 0xc4, 0xf9, 0x5c, 0xa0, 0x34, 0x25, 0x62, 0x99, 0x59, 0xa4, 0xa1, 0x23, 0x15, 0x52, 0x59,
+	0x15, 0xb0, 0xbe, 0x36, 0x81, 0xf5, 0x51, 0xe1, 0xc5, 0xfe, 0x5c, 0xbb, 0x37, 0x97, 0x2e, 0x7d,
+	0xf2, 0x59, 0x46, 0xa4, 0x82, 0xdb, 0x60, 0x2d, 0xcc, 0xa4, 0xe2, 0x09, 0x11, 0x01, 0xc5, 0x5d,
+	0xa3, 0x6f, 0xec, 0xbc, 0xb2, 0xd7, 0xf9, 0xcd, 0x33, 0x7d, 0xa0, 0xf7, 0x4f, 0x30, 0x14, 0xe0,
+	0xb5, 0x95, 0x0e, 0xc8, 0xae, 0xd9, 0xef, 0xec, 0xac, 0x0d, 0xde, 0xb6, 0xdb, 0x0c, 0xb6, 0x57,
+	0xa9, 0x28, 0x0b, 0xdd, 0x0e, 0x57, 0x09, 0x84, 0xbb, 0xe0, 0x66, 0x8a, 0x84, 0xa2, 0x28, 0x0e,
+	0x26, 0x88, 0xc6, 0x99, 0x20, 0xdd, 0x4e, 0xdf, 0xd8, 0xb9, 0x5e, 0x26, 0x6d, 0x54, 0xb1, 0xc7,
+	0x65, 0x08, 0xde, 0x07, 0xeb, 0x53, 0x14, 0x53, 0x8c, 0x14, 0x09, 0x38, 0x8b, 0x67, 0xdd, 0xcb,
+	0x39, 0xd6, 0xbf, 0xa1, 0x37, 0x3f, 0x64, 0xf1, 0xcc, 0xfa, 0xc9, 0x00, 0xf7, 0x9f, 0xeb, 0x89,
+	0x4c, 0x39, 0x93, 0x04, 0x3e, 0x06, 0xb7, 0x97, 0x4a, 0x07, 0x44, 0x08, 0x2e, 0x0a, 0x7b, 0xd6,
+	0x06, 0x50, 0x9f, 0x56, 0xa4, 0xa1, 0x7d, 0x56, 0x98, 0xee, 0xbf, 0xfa, 0xac, 0x9e, 0xc3, 0x1c,
+	0x0e, 0x47, 0xe0, 0x9a, 0x20, 0x32, 0x8b, 0xe7, 0x3e, 0xbd, 0xfb, 0xef, 0x7c, 0xf2, 0x0b, 0x12,
+	0x5f, 0x93, 0x59, 0x3f, 0x5f, 0x06, 0x5b, 0xab, 0x70, 0xf0, 0x04, 0x6c, 0xd6, 0xef, 0x29, 0xcc,
+	0x7b, 0xb0, 0x70, 0x6d, 0x6d, 0x70, 0x4f, 0x97, 0xd6, 0x9d, 0x64, 0x9f, 0x29, 0x41, 0x59, 0x34,
+	0x42, 0x71, 0x46, 0xfc, 0x5b, 0xb5, 0x3b, 0x28, 0xb2, 0xe0, 0x07, 0x60, 0xab, 0xd6, 0xe9, 0x85,
+	0xaf, 0x8a, 0x26, 0xa4, 0xf0, 0xb5, 0x8d, 0x0d, 0x2e, 0x32, 0x0f, 0x90, 0x22, 0xe7, 0x34, 0x21,
+	0xf0, 0x09, 0xb8, 0xb9, 0x34, 0x39, 0xdd, 0x2b, 0x7d, 0x63, 0x67, 0x63, 0x70, 0xde, 0xe8, 0x49,
+	0x31, 0x7a, 0x2b, 0x0d, 0x39, 0x9f, 0xa5, 0xe4, 0x90, 0x65, 0x49, 0x63, 0xd0, 0xdf, 0x40, 0xcf,
+	0x7c, 0xc3, 0x00, 0x6c, 0x0a, 0x92, 0x0f, 0x08, 0x29, 0xea, 0x4f, 0x73, 0x9d, 0xdd, 0xab, 0xc5,
+	0x59, 0x06, 0xed, 0x97, 0xe2, 0x2f, 0x52, 0x2b, 0xbf, 0xc4, 0xd2, 0x0e, 0x9c, 0x80, 0xad, 0x28,
+	0x8c, 0x29, 0x5e, 0x58, 0x15, 0xa4, 0x88, 0xea, 0x96, 0x19, 0xb6, 0xd7, 0x38, 0xca, 0xb3, 0xb5,
+	0x5d, 0xa7, 0x88, 0x8a, 0xe3, 0x4b, 0xfe, 0x66, 0xb4, 0xbc, 0x09, 0x1f, 0x82, 0xeb, 0x5c, 0xe0,
+	0x72, 0x5a, 0xcd, 0xf6, 0xbb, 0x38, 0xbe, 0xe4, 0x5f, 0x2b, 0xf0, 0x27, 0x78, 0xef, 0x0e, 0xa8,
+	0x8d, 0x5a, 0x40, 0x31, 0x61, 0x8a, 0x4e, 0x28, 0x11, 0xd6, 0x77, 0x06, 0xb8, 0xb5, 0x7c, 0x44,
+	0xb8, 0x0f, 0x2a, 0x0f, 0x09, 0xae, 0xec, 0x32, 0x1a, 0xca, 0x1d, 0xf0, 0x6c, 0x1c, 0x93, 0xd2,
+	0x98, 0x75, 0x9d, 0x53, 0x92, 0x78, 0x60, 0x3d, 0xcc, 0x84, 0x20, 0x2c, 0x9c, 0x05, 0x21, 0xc7,
+	0xe4, 0x45, 0x24, 0xfb, 0x37, 0x74, 0xca, 0x3e, 0xc7, 0xc4, 0xfa, 0xd6, 0x00, 0x9b, 0xff, 0xf0,
+	0x06, 0x0e, 0xc0, 0x95, 0xc2, 0x9b, 0x46, 0x51, 0x75, 0xc2, 0x12, 0x9a, 0xb7, 0x74, 0xed, 0xfc,
+	0x8b, 0x96, 0x7e, 0x11, 0x4d, 0x70, 0x91, 0xa9, 0x75, 0x58, 0x7f, 0x75, 0x40, 0xaf, 0x79, 0x5c,
+	0x5f, 0x0e, 0x63, 0xe3, 0x30, 0xfe, 0x8f, 0x67, 0x65, 0xf0, 0x87, 0x09, 0xde, 0x5c, 0x75, 0xd0,
+	0xf2, 0x5d, 0x39, 0x2b, 0x15, 0xc2, 0x1f, 0x4c, 0x70, 0xf7, 0x39, 0x2f, 0x0d, 0x3c, 0x68, 0x3f,
+	0x63, 0xfb, 0xe3, 0xdd, 0x3b, 0xfc, 0x8f, 0x2c, 0xe5, 0x73, 0x67, 0xcd, 0x7e, 0xf5, 0x06, 0xb5,
+	0x9f, 0x80, 0xdd, 0xd5, 0x4f, 0xfd, 0xee, 0xd2, 0x93, 0xf8, 0xe5, 0x2f, 0xbf, 0x7f, 0x63, 0x3e,
+	0xb2, 0x1e, 0xe6, 0x3f, 0x49, 0x3a, 0x5b, 0x3a, 0x5f, 0xd4, 0x88, 0xde, 0x7b, 0xf0, 0xc4, 0xcd,
+	0x9a, 0xeb, 0xbb, 0xc6, 0x83, 0xde, 0xdd, 0xa7, 0x5e, 0x77, 0x21, 0xbc, 0x5a, 0xa5, 0x54, 0xda,
+	0x21, 0x4f, 0xf6, 0xbe, 0x32, 0xc1, 0x76, 0xc8, 0x93, 0xd6, 0x43, 0xee, 0xbd, 0xd5, 0x7a, 0x21,
+	0xa7, 0xf9, 0x75, 0x9f, 0x1a, 0x1f, 0x1f, 0x57, 0x5c, 0x11, 0x8f, 0x11, 0x8b, 0x6c, 0x2e, 0x22,
+	0x27, 0x22, 0xac, 0x68, 0x06, 0x67, 0x51, 0xbd, 0xf9, 0xa7, 0xf3, 0x1d, 0xbd, 0xf8, 0xde, 0xec,
+	0x1c, 0x79, 0xde, 0x8f, 0x66, 0xff, 0xa8, 0x24, 0xf4, 0xb0, 0xb4, 0xcb, 0x65, 0xbe, 0x1a, 0x0d,
+	0xed, 0xaa, 0xb0, 0x7c, 0xaa, 0x21, 0x17, 0x1e, 0x96, 0x17, 0x73, 0xc8, 0xc5, 0x68, 0x78, 0xa1,
+	0x21, 0x7f, 0x9a, 0xdb, 0xe5, 0xbe, 0xeb, 0x7a, 0x58, 0xba, 0xee, 0x1c, 0xe4, 0xba, 0xa3, 0xa1,
+	0xeb, 0x6a, 0xd8, 0xf8, 0x6a, 0xa1, 0x73, 0xf8, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3d, 0xc0,
+	0x22, 0x0a, 0x1b, 0x0b, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/ads/googleads/v3/services/conversion_upload_service.pb.go b/googleapis/ads/googleads/v3/services/conversion_upload_service.pb.go
index 4e15320..77e2de9 100644
--- a/googleapis/ads/googleads/v3/services/conversion_upload_service.pb.go
+++ b/googleapis/ads/googleads/v3/services/conversion_upload_service.pb.go
@@ -34,7 +34,7 @@
 	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
 	// Required. The conversions that are being uploaded.
 	Conversions []*ClickConversion `protobuf:"bytes,2,rep,name=conversions,proto3" json:"conversions,omitempty"`
-	// If true, successful operations will be carried out and invalid
+	// Required. If true, successful operations will be carried out and invalid
 	// operations will return errors. If false, all operations will be carried
 	// out in one transaction if and only if they are all valid.
 	// This should always be set to true.
@@ -160,7 +160,7 @@
 	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
 	// Required. The conversions that are being uploaded.
 	Conversions []*CallConversion `protobuf:"bytes,2,rep,name=conversions,proto3" json:"conversions,omitempty"`
-	// If true, successful operations will be carried out and invalid
+	// Required. If true, successful operations will be carried out and invalid
 	// operations will return errors. If false, all operations will be carried
 	// out in one transaction if and only if they are all valid.
 	// This should always be set to true.
@@ -678,69 +678,69 @@
 }
 
 var fileDescriptor_86ad5d8f8879bebc = []byte{
-	// 977 bytes of a gzipped FileDescriptorProto
+	// 984 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcf, 0x6f, 0xdc, 0x44,
-	0x14, 0x96, 0xbd, 0xf9, 0xd5, 0xd9, 0xb6, 0xa1, 0x43, 0xc2, 0xba, 0xdb, 0x50, 0x56, 0x26, 0x12,
-	0x51, 0x84, 0x6c, 0xd8, 0x45, 0x94, 0x18, 0x41, 0xeb, 0x24, 0x6d, 0xc8, 0xa1, 0x10, 0x36, 0x10,
-	0x4a, 0xb5, 0x92, 0x35, 0x6b, 0x4f, 0x96, 0x11, 0xb3, 0x1e, 0x33, 0x33, 0x5e, 0x88, 0x10, 0x17,
-	0xf8, 0x13, 0xb8, 0x72, 0x42, 0x9c, 0xf8, 0x0f, 0x50, 0x4f, 0x5c, 0x7b, 0xed, 0x8d, 0x13, 0x07,
-	0xc4, 0x01, 0xc4, 0x85, 0x03, 0x67, 0xe4, 0x5f, 0x6b, 0x67, 0xe5, 0x65, 0x9d, 0x28, 0x5c, 0x10,
-	0xb7, 0xc9, 0xcc, 0xfb, 0xbe, 0x79, 0xef, 0x7d, 0x9f, 0x67, 0x5f, 0xc0, 0x9d, 0x01, 0x63, 0x03,
-	0x8a, 0x4d, 0xe4, 0x09, 0x33, 0x59, 0x46, 0xab, 0x51, 0xc7, 0x14, 0x98, 0x8f, 0x88, 0x8b, 0x85,
-	0xe9, 0x32, 0x7f, 0x84, 0xb9, 0x20, 0xcc, 0x77, 0xc2, 0x80, 0x32, 0xe4, 0x39, 0xe9, 0x91, 0x11,
-	0x70, 0x26, 0x19, 0x6c, 0x25, 0x30, 0x03, 0x79, 0xc2, 0x18, 0x33, 0x18, 0xa3, 0x8e, 0x91, 0x31,
-	0x34, 0xd7, 0xb2, 0x3b, 0x02, 0x62, 0x22, 0xdf, 0x67, 0x12, 0x49, 0xc2, 0x7c, 0x91, 0xe0, 0x9b,
-	0x8d, 0xc2, 0xa9, 0x4b, 0x09, 0xf6, 0x65, 0x7a, 0xf0, 0x5c, 0xe1, 0xe0, 0x98, 0x60, 0xea, 0x39,
-	0x7d, 0xfc, 0x11, 0x1a, 0x11, 0xc6, 0xd3, 0x80, 0x9b, 0x69, 0x40, 0xfc, 0x57, 0x3f, 0x3c, 0x36,
-	0x3f, 0xe5, 0x28, 0x08, 0x30, 0x9f, 0x64, 0xe6, 0x81, 0x6b, 0x0a, 0x89, 0x64, 0x98, 0x1e, 0xe8,
-	0x7f, 0x28, 0xe0, 0xd9, 0xf7, 0xe3, 0x5a, 0x76, 0x28, 0x71, 0x3f, 0xde, 0x19, 0x57, 0x28, 0xba,
-	0xf8, 0x93, 0x10, 0x0b, 0x09, 0xd7, 0x41, 0xdd, 0x0d, 0x85, 0x64, 0x43, 0xcc, 0x1d, 0xe2, 0x69,
-	0x4a, 0x4b, 0xd9, 0xb8, 0xb4, 0x5d, 0xfb, 0xd9, 0x56, 0xbb, 0x20, 0xdb, 0xdf, 0xf7, 0xe0, 0x03,
-	0x50, 0xcf, 0xbb, 0x23, 0x34, 0xb5, 0x55, 0xdb, 0xa8, 0xb7, 0x5f, 0x36, 0x66, 0x35, 0xc4, 0x98,
-	0xb8, 0x35, 0x21, 0x2e, 0x52, 0xc1, 0x17, 0xc0, 0x72, 0x80, 0xb8, 0x24, 0x88, 0x3a, 0xc7, 0x88,
-	0xd0, 0x90, 0x63, 0xad, 0xd6, 0x52, 0x36, 0x96, 0xba, 0x57, 0xd3, 0xed, 0x7b, 0xc9, 0x2e, 0x7c,
-	0x1e, 0x5c, 0x19, 0x21, 0x4a, 0x3c, 0x24, 0xb1, 0xc3, 0x7c, 0x7a, 0xa2, 0xcd, 0xc5, 0x61, 0x97,
-	0xb3, 0xcd, 0x77, 0x7c, 0x7a, 0xa2, 0x3f, 0x52, 0xc0, 0xcd, 0x69, 0xf5, 0x8a, 0x80, 0xf9, 0x02,
-	0xc3, 0x7b, 0x60, 0x75, 0xe2, 0x42, 0x07, 0x73, 0xce, 0x78, 0x5c, 0x7a, 0xbd, 0x0d, 0xb3, 0xa2,
-	0x78, 0xe0, 0x1a, 0x87, 0x71, 0x2f, 0xbb, 0x4f, 0x9f, 0x4e, 0xe5, 0x6e, 0x14, 0x0e, 0xdf, 0x05,
-	0x8b, 0x1c, 0x8b, 0x90, 0xca, 0xac, 0x1d, 0xb7, 0xce, 0xdc, 0x8e, 0x6e, 0x8c, 0xef, 0x66, 0x3c,
-	0xfa, 0xef, 0x0a, 0x58, 0x4b, 0xb3, 0x47, 0x94, 0x9e, 0x5b, 0xac, 0x0f, 0xca, 0xc4, 0x7a, 0xa9,
-	0x42, 0x76, 0xa7, 0x2e, 0xfd, 0xd7, 0xb5, 0xfa, 0x21, 0xf7, 0xe6, 0x64, 0xb5, 0x17, 0x2c, 0xd5,
-	0xc1, 0xa4, 0x54, 0xaf, 0x9e, 0xb5, 0x19, 0x93, 0x4a, 0x7d, 0x33, 0x07, 0x96, 0x27, 0xc4, 0x84,
-	0x6d, 0x30, 0x3f, 0x70, 0x69, 0x2a, 0x4b, 0xbd, 0xbd, 0x96, 0xdd, 0x91, 0x7d, 0xb4, 0xc6, 0xa1,
-	0xe4, 0xc4, 0x1f, 0x1c, 0x21, 0x1a, 0xe2, 0x6e, 0x12, 0x0a, 0xf7, 0xc1, 0xb5, 0xc2, 0xab, 0x83,
-	0xdc, 0xe8, 0xb9, 0xd0, 0xd4, 0x0a, 0xf8, 0xa7, 0x72, 0x98, 0x1d, 0xa3, 0xe0, 0xdb, 0x60, 0xa5,
-	0x40, 0x15, 0xb7, 0x5e, 0x92, 0x61, 0xa2, 0xd0, 0x2c, 0x36, 0x98, 0x23, 0x77, 0x91, 0xc4, 0xef,
-	0x91, 0x21, 0x86, 0x7b, 0xa0, 0x70, 0x87, 0x33, 0x8a, 0xe2, 0x62, 0x19, 0xcb, 0xb8, 0x76, 0x59,
-	0xd8, 0xa7, 0x38, 0xe1, 0x5a, 0xce, 0x51, 0xf1, 0x06, 0xb4, 0xc1, 0x15, 0x37, 0xe4, 0x1c, 0xfb,
-	0xee, 0x89, 0xe3, 0x32, 0x0f, 0x6b, 0xf3, 0x15, 0x32, 0xba, 0x9c, 0x41, 0x76, 0x98, 0x87, 0xe1,
-	0x2d, 0xb0, 0xc4, 0xb8, 0x97, 0x98, 0x7e, 0xa1, 0x02, 0x7a, 0x31, 0x8e, 0xde, 0xf7, 0x60, 0x08,
-	0xae, 0xe3, 0xcf, 0x24, 0xe6, 0x3e, 0xa2, 0x0e, 0x92, 0x92, 0x93, 0x7e, 0x28, 0xd3, 0xf6, 0x20,
-	0x6d, 0x31, 0x66, 0xda, 0x9a, 0xed, 0x85, 0xbb, 0x29, 0x85, 0x9d, 0x33, 0xec, 0x22, 0x89, 0xba,
-	0x0d, 0x5c, 0x7e, 0xa0, 0xff, 0x58, 0x03, 0x57, 0x4f, 0x1b, 0x08, 0x6e, 0x81, 0x4b, 0x2e, 0xa2,
-	0x34, 0xff, 0x70, 0x67, 0xd5, 0xb0, 0x94, 0x84, 0xef, 0x7b, 0xf0, 0x3e, 0x58, 0x89, 0xd6, 0x8e,
-	0x90, 0x88, 0xcb, 0x82, 0xb2, 0x55, 0x7c, 0x72, 0x2d, 0x42, 0x1e, 0x46, 0xc0, 0xb1, 0xb0, 0xa5,
-	0x9e, 0xab, 0x5d, 0xa8, 0xe7, 0xe6, 0x2e, 0xd0, 0x73, 0xf3, 0x17, 0xe2, 0xb9, 0x85, 0xb3, 0x7a,
-	0x4e, 0x7f, 0xa2, 0x80, 0xc6, 0x14, 0xe1, 0x61, 0x0f, 0xdc, 0x28, 0xb5, 0x95, 0xcb, 0xb1, 0x47,
-	0xe4, 0x54, 0x79, 0x8b, 0x29, 0x5f, 0x2f, 0xf1, 0xce, 0x4e, 0x0c, 0x87, 0x0f, 0x41, 0xb3, 0x94,
-	0x7d, 0xc8, 0x3c, 0x4c, 0x2b, 0xa9, 0xae, 0x95, 0x90, 0xdf, 0x8f, 0xd0, 0xfa, 0xaf, 0x0a, 0x58,
-	0x2d, 0xfd, 0x15, 0xfa, 0x8f, 0x3d, 0x5f, 0xfa, 0x23, 0x15, 0xac, 0x94, 0xbd, 0xe1, 0xff, 0x7f,
-	0x88, 0x15, 0xba, 0xd7, 0xfe, 0x6e, 0x0e, 0x34, 0xf2, 0xce, 0x25, 0xbf, 0xd2, 0x87, 0xc9, 0x73,
-	0x08, 0xff, 0x52, 0xc0, 0x33, 0xe5, 0x33, 0x16, 0xbc, 0x3d, 0xfb, 0x2d, 0xfd, 0xc7, 0x69, 0xb4,
-	0x79, 0xe7, 0xfc, 0x04, 0xc9, 0xcc, 0xa0, 0x7f, 0xf8, 0x93, 0xdd, 0x28, 0xcc, 0x48, 0x2f, 0x16,
-	0xe6, 0x97, 0x2f, 0x9f, 0xfc, 0xf2, 0xb5, 0xba, 0xa5, 0xbf, 0x12, 0x0d, 0xfd, 0x59, 0x88, 0x30,
-	0x3f, 0x2f, 0x44, 0xbf, 0xb1, 0xf9, 0x85, 0x15, 0x96, 0xf2, 0x5b, 0xca, 0x26, 0xfc, 0x53, 0x01,
-	0xab, 0xa5, 0x03, 0x0b, 0x7c, 0xb3, 0x72, 0xda, 0xa5, 0x73, 0x5d, 0xf3, 0xf6, 0xb9, 0xf1, 0x69,
-	0xd5, 0x0f, 0x66, 0x54, 0xfd, 0x9a, 0xde, 0xa9, 0x54, 0xf5, 0x69, 0x7a, 0x4b, 0xd9, 0x6c, 0xde,
-	0x78, 0x6c, 0x6b, 0x79, 0x46, 0xe9, 0x2a, 0x20, 0xc2, 0x70, 0xd9, 0x70, 0xfb, 0x2b, 0x15, 0xac,
-	0xbb, 0x6c, 0x38, 0x33, 0xfb, 0xed, 0xb5, 0x29, 0x66, 0x3a, 0x88, 0x0c, 0x79, 0xa0, 0x3c, 0x7c,
-	0x2b, 0x65, 0x18, 0x30, 0x8a, 0xfc, 0x81, 0xc1, 0xf8, 0xc0, 0x1c, 0x60, 0x3f, 0xb6, 0xab, 0x99,
-	0xdf, 0x39, 0xfd, 0x7f, 0xb7, 0xd7, 0xb3, 0xc5, 0xb7, 0x6a, 0x6d, 0xcf, 0xb6, 0xbf, 0x57, 0x5b,
-	0x7b, 0x09, 0xa1, 0xed, 0x09, 0x23, 0x59, 0x46, 0xab, 0xa3, 0x8e, 0x91, 0x5e, 0x2c, 0x1e, 0x67,
-	0x21, 0x3d, 0xdb, 0x13, 0xbd, 0x71, 0x48, 0xef, 0xa8, 0xd3, 0xcb, 0x42, 0x7e, 0x53, 0xd7, 0x93,
-	0x7d, 0xcb, 0xb2, 0x3d, 0x61, 0x59, 0xe3, 0x20, 0xcb, 0x3a, 0xea, 0x58, 0x56, 0x16, 0xd6, 0x5f,
-	0x88, 0xf3, 0xec, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x96, 0x60, 0xbf, 0x4a, 0x62, 0x0e, 0x00,
-	0x00,
+	0x14, 0x96, 0xbd, 0xf9, 0xd5, 0xd9, 0xb6, 0xa1, 0x43, 0x42, 0xdc, 0x6d, 0x28, 0x2b, 0x13, 0x89,
+	0x28, 0x8a, 0x6c, 0xd8, 0x45, 0x94, 0x18, 0x41, 0xeb, 0x24, 0x6d, 0xc8, 0xa1, 0x10, 0x36, 0x10,
+	0x50, 0xb5, 0x92, 0x35, 0x6b, 0x4f, 0xb6, 0x23, 0x66, 0x3d, 0x66, 0x66, 0xbc, 0x10, 0x21, 0x2e,
+	0x45, 0xe2, 0x1f, 0xe0, 0xca, 0x89, 0x23, 0xff, 0x01, 0xea, 0x09, 0x89, 0x53, 0xaf, 0xb9, 0x71,
+	0xe2, 0x80, 0x38, 0x70, 0x42, 0xfc, 0x05, 0xc8, 0xbf, 0xd6, 0xce, 0xca, 0xcb, 0x3a, 0x51, 0xc4,
+	0x01, 0x71, 0x9b, 0xf5, 0xbc, 0xef, 0x7b, 0xf3, 0xde, 0xf7, 0x79, 0xf6, 0x19, 0xdc, 0xeb, 0x33,
+	0xd6, 0xa7, 0xd8, 0x44, 0x9e, 0x30, 0x93, 0x65, 0xb4, 0x1a, 0xb6, 0x4d, 0x81, 0xf9, 0x90, 0xb8,
+	0x58, 0x98, 0x2e, 0xf3, 0x87, 0x98, 0x0b, 0xc2, 0x7c, 0x27, 0x0c, 0x28, 0x43, 0x9e, 0x93, 0x6e,
+	0x19, 0x01, 0x67, 0x92, 0xc1, 0x66, 0x02, 0x33, 0x90, 0x27, 0x8c, 0x11, 0x83, 0x31, 0x6c, 0x1b,
+	0x19, 0x43, 0x63, 0x35, 0xcb, 0x11, 0x10, 0x13, 0xf9, 0x3e, 0x93, 0x48, 0x12, 0xe6, 0x8b, 0x04,
+	0xdf, 0x58, 0x29, 0xec, 0xba, 0x94, 0x60, 0x5f, 0xa6, 0x1b, 0x2f, 0x15, 0x36, 0x8e, 0x09, 0xa6,
+	0x9e, 0xd3, 0xc3, 0x8f, 0xd1, 0x90, 0x30, 0x9e, 0x06, 0xdc, 0x4e, 0x03, 0xe2, 0x5f, 0xbd, 0xf0,
+	0xd8, 0xfc, 0x9c, 0xa3, 0x20, 0xc0, 0x7c, 0x9c, 0x99, 0x07, 0xae, 0x29, 0x24, 0x92, 0x61, 0xba,
+	0xa1, 0xff, 0xa5, 0x80, 0x17, 0x3f, 0x8a, 0x6b, 0xd9, 0xa1, 0xc4, 0xfd, 0x74, 0x67, 0x54, 0xa1,
+	0xe8, 0xe0, 0xcf, 0x42, 0x2c, 0x24, 0x5c, 0x03, 0x75, 0x37, 0x14, 0x92, 0x0d, 0x30, 0x77, 0x88,
+	0xa7, 0x29, 0x4d, 0x65, 0xfd, 0xca, 0x76, 0xed, 0x57, 0x5b, 0xed, 0x80, 0xec, 0xf9, 0xbe, 0x07,
+	0x3f, 0x01, 0xf5, 0xbc, 0x3b, 0x42, 0x53, 0x9b, 0xb5, 0xf5, 0x7a, 0xeb, 0x35, 0x63, 0x5a, 0x43,
+	0x8c, 0xb1, 0xac, 0x09, 0x71, 0x91, 0x0a, 0x6e, 0x82, 0xc5, 0x00, 0x71, 0x49, 0x10, 0x75, 0x8e,
+	0x11, 0xa1, 0x21, 0xc7, 0x5a, 0xad, 0xa9, 0xac, 0x2f, 0x24, 0xa1, 0xd7, 0xd3, 0xbd, 0x07, 0xc9,
+	0x16, 0x7c, 0x19, 0x5c, 0x1b, 0x22, 0x4a, 0x3c, 0x24, 0xb1, 0xc3, 0x7c, 0x7a, 0xa2, 0xcd, 0x44,
+	0xb1, 0x9d, 0xab, 0xd9, 0xc3, 0xf7, 0x7d, 0x7a, 0xa2, 0x3f, 0x55, 0xc0, 0xed, 0x49, 0x45, 0x8b,
+	0x80, 0xf9, 0x02, 0xc3, 0x07, 0x60, 0x79, 0x2c, 0xab, 0x83, 0x39, 0x67, 0x3c, 0xae, 0xbf, 0xde,
+	0x82, 0x59, 0x65, 0x3c, 0x70, 0x8d, 0xc3, 0xb8, 0xa1, 0x9d, 0xe7, 0xcf, 0x1e, 0xe5, 0x7e, 0x14,
+	0x0e, 0x3f, 0x00, 0xf3, 0x1c, 0x8b, 0x90, 0xca, 0xac, 0x27, 0x77, 0xce, 0xdd, 0x93, 0x4e, 0x8c,
+	0xef, 0x64, 0x3c, 0xfa, 0x9f, 0x0a, 0x58, 0x4d, 0x4f, 0x8f, 0x28, 0xbd, 0xb0, 0x62, 0x1f, 0x97,
+	0x29, 0xf6, 0x6a, 0x85, 0xd3, 0x9d, 0x49, 0xfa, 0xef, 0x08, 0xf6, 0x63, 0xee, 0xd2, 0xf1, 0x92,
+	0x2f, 0x59, 0xaf, 0x83, 0x71, 0xbd, 0xde, 0x38, 0x6f, 0x47, 0xc6, 0xe5, 0xfa, 0x6e, 0x06, 0x2c,
+	0x8e, 0x29, 0x0a, 0x5b, 0x60, 0xb6, 0xef, 0xd2, 0x54, 0x9b, 0x7a, 0x6b, 0x35, 0xcb, 0x91, 0xbd,
+	0xbe, 0xc6, 0xa1, 0xe4, 0xc4, 0xef, 0x1f, 0x21, 0x1a, 0xe2, 0x4e, 0x12, 0x0a, 0xf7, 0xc1, 0x8d,
+	0xc2, 0xfd, 0x83, 0xdc, 0xe8, 0xe2, 0xd0, 0xd4, 0x0a, 0xf8, 0xe7, 0x72, 0x98, 0x1d, 0xa3, 0xe0,
+	0x7b, 0x60, 0xa9, 0x40, 0x15, 0xb7, 0x5e, 0x92, 0x41, 0x22, 0xd3, 0x34, 0x36, 0x98, 0x23, 0x77,
+	0x91, 0xc4, 0x1f, 0x92, 0x01, 0x86, 0x7b, 0xa0, 0x90, 0xc3, 0x19, 0x46, 0x71, 0xb1, 0x8c, 0x65,
+	0x5c, 0xbb, 0x2c, 0xec, 0x51, 0x9c, 0x70, 0x2d, 0xe6, 0xa8, 0xf8, 0x01, 0xb4, 0xc1, 0x35, 0x37,
+	0xe4, 0x1c, 0xfb, 0xee, 0x89, 0xe3, 0x32, 0x0f, 0x6b, 0xb3, 0x15, 0x4e, 0x74, 0x35, 0x83, 0xec,
+	0x30, 0x0f, 0xc3, 0x3b, 0x60, 0x81, 0x71, 0x2f, 0x71, 0xfe, 0x5c, 0x05, 0xf4, 0x7c, 0x1c, 0xbd,
+	0xef, 0xc1, 0x10, 0xdc, 0xc4, 0x5f, 0x48, 0xcc, 0x7d, 0x44, 0x1d, 0x24, 0x25, 0x27, 0xbd, 0x50,
+	0xa6, 0xed, 0x41, 0xda, 0x7c, 0xcc, 0xb4, 0x35, 0xdd, 0x0b, 0xf7, 0x53, 0x0a, 0x3b, 0x67, 0xd8,
+	0x45, 0x12, 0x75, 0x56, 0x70, 0xf9, 0x86, 0xfe, 0x53, 0x0d, 0x5c, 0x3f, 0x6b, 0x20, 0xb8, 0x05,
+	0xae, 0xb8, 0x88, 0xd2, 0xfc, 0xed, 0x9d, 0x56, 0xc3, 0x42, 0x12, 0xbe, 0xef, 0xc1, 0x87, 0x60,
+	0x29, 0x5a, 0x3b, 0x42, 0x22, 0x2e, 0x0b, 0xca, 0x56, 0xf1, 0xc9, 0x8d, 0x08, 0x79, 0x18, 0x01,
+	0x47, 0xc2, 0x96, 0x7a, 0xae, 0x76, 0xa9, 0x9e, 0x9b, 0xb9, 0x44, 0xcf, 0xcd, 0x5e, 0x8a, 0xe7,
+	0xe6, 0xce, 0xeb, 0x39, 0xfd, 0x54, 0x01, 0x2b, 0x13, 0x84, 0x87, 0x5d, 0x70, 0xab, 0xd4, 0x56,
+	0x2e, 0xc7, 0x1e, 0x91, 0x13, 0xe5, 0x2d, 0x1e, 0xf9, 0x66, 0x89, 0x77, 0x76, 0x62, 0x38, 0x7c,
+	0x04, 0x1a, 0xa5, 0xec, 0x03, 0xe6, 0x61, 0x5a, 0x49, 0x75, 0xad, 0x84, 0xfc, 0x61, 0x84, 0xd6,
+	0x7f, 0x57, 0xc0, 0x72, 0xe9, 0x5f, 0xd1, 0x7f, 0xec, 0xfa, 0xd2, 0x9f, 0xaa, 0x60, 0xa9, 0xec,
+	0x0e, 0xff, 0xff, 0x45, 0xac, 0xd0, 0xbd, 0xd6, 0xcf, 0x33, 0x60, 0x25, 0xef, 0x5c, 0xf2, 0x2f,
+	0x7d, 0x98, 0x5c, 0x87, 0xf0, 0x1b, 0x15, 0xbc, 0x50, 0x3e, 0x68, 0xc1, 0xbb, 0xd3, 0xef, 0xd2,
+	0x7f, 0x9c, 0x4b, 0x1b, 0xf7, 0x2e, 0x4e, 0x90, 0xcc, 0x0c, 0x3a, 0xf9, 0xc5, 0x7e, 0xa5, 0x30,
+	0x28, 0x6d, 0x16, 0x86, 0x98, 0xcd, 0xb1, 0x61, 0xe2, 0xc9, 0xe9, 0x6f, 0xdf, 0xaa, 0x5b, 0xfa,
+	0xeb, 0xd1, 0xe7, 0x40, 0x06, 0x11, 0xe6, 0x97, 0x05, 0xf4, 0xdb, 0x1b, 0x5f, 0x59, 0x61, 0x69,
+	0x3e, 0x4b, 0xd9, 0x80, 0x4f, 0x54, 0xb0, 0x5c, 0x3a, 0xc0, 0xc0, 0x77, 0x2a, 0x97, 0x51, 0x3a,
+	0xec, 0x35, 0xee, 0x5e, 0x18, 0x9f, 0x76, 0xe1, 0xf1, 0x39, 0xbb, 0xf0, 0xa6, 0xde, 0xae, 0xd4,
+	0x85, 0xb3, 0xe9, 0x2c, 0x65, 0xa3, 0x71, 0xeb, 0x99, 0xad, 0xe5, 0x27, 0x4c, 0x57, 0x01, 0x11,
+	0x86, 0xcb, 0x06, 0xdb, 0x5f, 0xab, 0x60, 0xcd, 0x65, 0x83, 0xa9, 0xd5, 0x6c, 0xaf, 0x4e, 0x30,
+	0xdb, 0x41, 0x64, 0xd8, 0x03, 0xe5, 0xd1, 0xbb, 0x29, 0x43, 0x9f, 0x51, 0xe4, 0xf7, 0x0d, 0xc6,
+	0xfb, 0x66, 0x1f, 0xfb, 0xb1, 0x9d, 0xcd, 0x3c, 0xe7, 0xe4, 0xaf, 0xbc, 0xb7, 0xb2, 0xc5, 0xf7,
+	0x6a, 0x6d, 0xcf, 0xb6, 0x7f, 0x50, 0x9b, 0x7b, 0x09, 0xa1, 0xed, 0x09, 0x23, 0x59, 0x46, 0xab,
+	0xa3, 0xb6, 0x91, 0x26, 0x16, 0xcf, 0xb2, 0x90, 0xae, 0xed, 0x89, 0xee, 0x28, 0xa4, 0x7b, 0xd4,
+	0xee, 0x66, 0x21, 0x7f, 0xa8, 0x6b, 0xc9, 0x73, 0xcb, 0xb2, 0x3d, 0x61, 0x59, 0xa3, 0x20, 0xcb,
+	0x3a, 0x6a, 0x5b, 0x56, 0x16, 0xd6, 0x9b, 0x8b, 0xcf, 0xd9, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff,
+	0xec, 0x29, 0x0f, 0x3b, 0x8c, 0x0e, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/ads/googleads/v3/services/google_ads_service.pb.go b/googleapis/ads/googleads/v3/services/google_ads_service.pb.go
index cb800e3..1b95a8c 100644
--- a/googleapis/ads/googleads/v3/services/google_ads_service.pb.go
+++ b/googleapis/ads/googleads/v3/services/google_ads_service.pb.go
@@ -219,7 +219,6 @@
 }
 
 // Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v3.services.GoogleAdsService.SearchStream].
-// Next tag: 5
 type SearchGoogleAdsStreamRequest struct {
 	// Required. The ID of the customer being queried.
 	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
@@ -503,6 +502,8 @@
 	MobileDeviceConstant *resources.MobileDeviceConstant `protobuf:"bytes,98,opt,name=mobile_device_constant,json=mobileDeviceConstant,proto3" json:"mobile_device_constant,omitempty"`
 	// The mutate job referenced in the query.
 	MutateJob *resources.MutateJob `protobuf:"bytes,127,opt,name=mutate_job,json=mutateJob,proto3" json:"mutate_job,omitempty"`
+	// The offline user data job referenced in the query.
+	OfflineUserDataJob *resources.OfflineUserDataJob `protobuf:"bytes,137,opt,name=offline_user_data_job,json=offlineUserDataJob,proto3" json:"offline_user_data_job,omitempty"`
 	// The operating system version constant referenced in the query.
 	OperatingSystemVersionConstant *resources.OperatingSystemVersionConstant `protobuf:"bytes,86,opt,name=operating_system_version_constant,json=operatingSystemVersionConstant,proto3" json:"operating_system_version_constant,omitempty"`
 	// The paid organic search term view referenced in the query.
@@ -1131,6 +1132,13 @@
 	return nil
 }
 
+func (m *GoogleAdsRow) GetOfflineUserDataJob() *resources.OfflineUserDataJob {
+	if m != nil {
+		return m.OfflineUserDataJob
+	}
+	return nil
+}
+
 func (m *GoogleAdsRow) GetOperatingSystemVersionConstant() *resources.OperatingSystemVersionConstant {
 	if m != nil {
 		return m.OperatingSystemVersionConstant
@@ -1403,6 +1411,7 @@
 	//	*MutateOperation_AdGroupFeedOperation
 	//	*MutateOperation_AdGroupLabelOperation
 	//	*MutateOperation_AdGroupOperation
+	//	*MutateOperation_AdOperation
 	//	*MutateOperation_AdParameterOperation
 	//	*MutateOperation_AssetOperation
 	//	*MutateOperation_BiddingStrategyOperation
@@ -1504,6 +1513,10 @@
 	AdGroupOperation *AdGroupOperation `protobuf:"bytes,5,opt,name=ad_group_operation,json=adGroupOperation,proto3,oneof"`
 }
 
+type MutateOperation_AdOperation struct {
+	AdOperation *AdOperation `protobuf:"bytes,49,opt,name=ad_operation,json=adOperation,proto3,oneof"`
+}
+
 type MutateOperation_AdParameterOperation struct {
 	AdParameterOperation *AdParameterOperation `protobuf:"bytes,22,opt,name=ad_parameter_operation,json=adParameterOperation,proto3,oneof"`
 }
@@ -1642,6 +1655,8 @@
 
 func (*MutateOperation_AdGroupOperation) isMutateOperation_Operation() {}
 
+func (*MutateOperation_AdOperation) isMutateOperation_Operation() {}
+
 func (*MutateOperation_AdParameterOperation) isMutateOperation_Operation() {}
 
 func (*MutateOperation_AssetOperation) isMutateOperation_Operation() {}
@@ -1772,6 +1787,13 @@
 	return nil
 }
 
+func (m *MutateOperation) GetAdOperation() *AdOperation {
+	if x, ok := m.GetOperation().(*MutateOperation_AdOperation); ok {
+		return x.AdOperation
+	}
+	return nil
+}
+
 func (m *MutateOperation) GetAdParameterOperation() *AdParameterOperation {
 	if x, ok := m.GetOperation().(*MutateOperation_AdParameterOperation); ok {
 		return x.AdParameterOperation
@@ -1994,6 +2016,7 @@
 		(*MutateOperation_AdGroupFeedOperation)(nil),
 		(*MutateOperation_AdGroupLabelOperation)(nil),
 		(*MutateOperation_AdGroupOperation)(nil),
+		(*MutateOperation_AdOperation)(nil),
 		(*MutateOperation_AdParameterOperation)(nil),
 		(*MutateOperation_AssetOperation)(nil),
 		(*MutateOperation_BiddingStrategyOperation)(nil),
@@ -2042,6 +2065,7 @@
 	//	*MutateOperationResponse_AdGroupLabelResult
 	//	*MutateOperationResponse_AdGroupResult
 	//	*MutateOperationResponse_AdParameterResult
+	//	*MutateOperationResponse_AdResult
 	//	*MutateOperationResponse_AssetResult
 	//	*MutateOperationResponse_BiddingStrategyResult
 	//	*MutateOperationResponse_CampaignBidModifierResult
@@ -2146,6 +2170,10 @@
 	AdParameterResult *MutateAdParameterResult `protobuf:"bytes,22,opt,name=ad_parameter_result,json=adParameterResult,proto3,oneof"`
 }
 
+type MutateOperationResponse_AdResult struct {
+	AdResult *MutateAdResult `protobuf:"bytes,49,opt,name=ad_result,json=adResult,proto3,oneof"`
+}
+
 type MutateOperationResponse_AssetResult struct {
 	AssetResult *MutateAssetResult `protobuf:"bytes,23,opt,name=asset_result,json=assetResult,proto3,oneof"`
 }
@@ -2282,6 +2310,8 @@
 
 func (*MutateOperationResponse_AdParameterResult) isMutateOperationResponse_Response() {}
 
+func (*MutateOperationResponse_AdResult) isMutateOperationResponse_Response() {}
+
 func (*MutateOperationResponse_AssetResult) isMutateOperationResponse_Response() {}
 
 func (*MutateOperationResponse_BiddingStrategyResult) isMutateOperationResponse_Response() {}
@@ -2417,6 +2447,13 @@
 	return nil
 }
 
+func (m *MutateOperationResponse) GetAdResult() *MutateAdResult {
+	if x, ok := m.GetResponse().(*MutateOperationResponse_AdResult); ok {
+		return x.AdResult
+	}
+	return nil
+}
+
 func (m *MutateOperationResponse) GetAssetResult() *MutateAssetResult {
 	if x, ok := m.GetResponse().(*MutateOperationResponse_AssetResult); ok {
 		return x.AssetResult
@@ -2633,6 +2670,7 @@
 		(*MutateOperationResponse_AdGroupLabelResult)(nil),
 		(*MutateOperationResponse_AdGroupResult)(nil),
 		(*MutateOperationResponse_AdParameterResult)(nil),
+		(*MutateOperationResponse_AdResult)(nil),
 		(*MutateOperationResponse_AssetResult)(nil),
 		(*MutateOperationResponse_BiddingStrategyResult)(nil),
 		(*MutateOperationResponse_CampaignBidModifierResult)(nil),
@@ -2682,358 +2720,363 @@
 }
 
 var fileDescriptor_da24cac89ef496be = []byte{
-	// 5611 bytes of a gzipped FileDescriptorProto
+	// 5686 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x7d, 0xcb, 0x73, 0x1c, 0x47,
-	0x72, 0xf7, 0x37, 0xa0, 0x48, 0x82, 0x05, 0x10, 0x8f, 0x02, 0x49, 0x14, 0xc1, 0xa7, 0x20, 0x4a,
-	0xa2, 0x28, 0x69, 0x20, 0x91, 0xd4, 0x83, 0xe0, 0x4b, 0x00, 0xf8, 0x90, 0x56, 0xe4, 0x0a, 0x5f,
-	0x83, 0xa2, 0x9e, 0xeb, 0xd9, 0x42, 0x77, 0xcd, 0xa0, 0x85, 0x99, 0xee, 0x61, 0x77, 0x0f, 0x40,
-	0x48, 0x2b, 0xad, 0x56, 0xbb, 0xf6, 0x46, 0xd8, 0x8e, 0x8d, 0x70, 0xac, 0xed, 0x08, 0x5f, 0x7d,
-	0x72, 0xf8, 0xcf, 0xf0, 0xc5, 0x11, 0x1b, 0xbe, 0xf9, 0x60, 0x87, 0x4e, 0x3e, 0x38, 0x7c, 0xf0,
-	0xc5, 0xe1, 0x83, 0x6f, 0x76, 0x84, 0xa3, 0xab, 0xab, 0xbb, 0xab, 0xaa, 0xab, 0x31, 0x59, 0xa3,
-	0xf5, 0x6d, 0x3a, 0xab, 0x7f, 0x99, 0x59, 0x55, 0x99, 0x55, 0x59, 0xd9, 0x59, 0x00, 0xba, 0xd6,
-	0x09, 0xc3, 0x4e, 0x97, 0x2d, 0x51, 0x2f, 0x5e, 0xca, 0x7e, 0xa6, 0xbf, 0x76, 0xae, 0x2c, 0xc5,
-	0x2c, 0xda, 0xf1, 0x5d, 0x96, 0x53, 0x5b, 0xd4, 0x8b, 0x5b, 0x82, 0xd6, 0xec, 0x47, 0x61, 0x12,
-	0xe2, 0xf3, 0x59, 0x4b, 0x93, 0x7a, 0x71, 0xb3, 0x80, 0x36, 0x77, 0xae, 0x34, 0x73, 0xe8, 0xc2,
-	0x2b, 0x75, 0xcc, 0xdd, 0xb0, 0xd7, 0x0b, 0x83, 0xa5, 0x1e, 0x4b, 0x22, 0xdf, 0x8d, 0x33, 0x7e,
-	0x0b, 0xaf, 0x0e, 0x79, 0x3b, 0x66, 0x9d, 0x1e, 0x0b, 0x92, 0xfc, 0xf5, 0xb7, 0xea, 0x5e, 0x67,
-	0xc1, 0xa0, 0x17, 0x2f, 0xc5, 0x83, 0x5e, 0x8f, 0x46, 0x7b, 0xad, 0x28, 0xdc, 0x6d, 0xc5, 0x2c,
-	0x49, 0xfc, 0xa0, 0x23, 0x80, 0x6f, 0xd6, 0x01, 0x23, 0x16, 0x87, 0x83, 0x28, 0xed, 0x33, 0x75,
-	0xdd, 0x70, 0x10, 0x24, 0xad, 0xcd, 0x81, 0xd7, 0x61, 0x89, 0xc0, 0xdd, 0xb6, 0xc5, 0xb5, 0xfa,
-	0x51, 0xd8, 0x0f, 0x63, 0xda, 0x15, 0x0c, 0x5e, 0x03, 0x30, 0xf0, 0x5a, 0x9d, 0x28, 0x1c, 0xf4,
-	0x05, 0xe2, 0x0a, 0x1c, 0xd1, 0xa2, 0x9e, 0x00, 0xdd, 0xb2, 0x02, 0xb5, 0x68, 0x1c, 0xb3, 0xa4,
-	0xb5, 0xe3, 0xb3, 0x5d, 0x81, 0xbf, 0x66, 0x87, 0xef, 0xd2, 0x4d, 0xd6, 0x1d, 0x45, 0xf4, 0xc0,
-	0xf3, 0x59, 0xe0, 0x32, 0x59, 0xf4, 0x4d, 0x0b, 0xfc, 0xa6, 0xef, 0xb5, 0x7a, 0xa1, 0xe7, 0xb7,
-	0x7d, 0x16, 0x09, 0xf8, 0xb2, 0x05, 0xdc, 0x8d, 0xfc, 0x84, 0x45, 0x7e, 0x18, 0x08, 0xec, 0x3b,
-	0xa3, 0x60, 0x95, 0xce, 0xdf, 0x1d, 0x89, 0x43, 0xec, 0xf7, 0x06, 0x5d, 0x9a, 0x94, 0x8a, 0xac,
-	0x5a, 0xb0, 0x61, 0x4f, 0x13, 0x16, 0xc4, 0x9c, 0x8d, 0x62, 0xe2, 0x6f, 0x58, 0xf0, 0x68, 0x33,
-	0xe6, 0x59, 0x78, 0x46, 0x0e, 0x93, 0x7b, 0x7e, 0xdd, 0x02, 0x57, 0xe9, 0xef, 0x55, 0x10, 0xb8,
-	0x4f, 0x23, 0xda, 0x63, 0x49, 0x31, 0xd5, 0x6f, 0x83, 0x50, 0xb1, 0xbb, 0xc5, 0xbc, 0x41, 0x57,
-	0xb1, 0x31, 0x48, 0x27, 0x3b, 0xac, 0x15, 0xd1, 0xa0, 0xa3, 0xe0, 0x5e, 0x05, 0xe0, 0x52, 0x57,
-	0x82, 0x2b, 0xb8, 0xe9, 0x7b, 0x9e, 0x1f, 0x74, 0x5a, 0x71, 0x12, 0xd1, 0x84, 0x75, 0xf6, 0xe0,
-	0x93, 0xb7, 0xe9, 0x77, 0xbb, 0x1c, 0xc9, 0x92, 0x62, 0xad, 0x00, 0xac, 0x2e, 0x2e, 0xed, 0xf5,
-	0xa9, 0xdf, 0x09, 0xe0, 0xde, 0x9a, 0x23, 0x46, 0xf5, 0xd6, 0x02, 0x6f, 0xf0, 0xd6, 0xb7, 0x6c,
-	0xe0, 0xf2, 0x42, 0xbc, 0x6c, 0x01, 0xd4, 0xdd, 0xfc, 0xee, 0x28, 0xd8, 0xaa, 0xd1, 0xbe, 0x69,
-	0xc1, 0xc6, 0x8b, 0x68, 0x3b, 0x81, 0x7b, 0x4a, 0x81, 0x63, 0x4f, 0xfb, 0x2c, 0xf2, 0xd3, 0x2d,
-	0x0f, 0xbe, 0x32, 0x48, 0xe0, 0x91, 0x57, 0x86, 0x82, 0x87, 0xdd, 0xca, 0x50, 0xc0, 0x2c, 0x57,
-	0x86, 0x02, 0x17, 0x6f, 0xd1, 0x88, 0x79, 0x2d, 0x2b, 0x17, 0x72, 0x69, 0x14, 0xf9, 0x2c, 0x6a,
-	0xb9, 0x61, 0x10, 0x27, 0xb4, 0x18, 0x29, 0x48, 0x2f, 0xb7, 0xb8, 0x83, 0xc7, 0x09, 0x4d, 0x06,
-	0x79, 0x48, 0x71, 0x19, 0x00, 0xeb, 0xfa, 0xee, 0xb6, 0xe5, 0x6e, 0xe9, 0x86, 0xc1, 0x0e, 0x8b,
-	0xf8, 0x64, 0x50, 0x57, 0x32, 0x22, 0x08, 0x74, 0x10, 0x45, 0x2c, 0x70, 0xf7, 0xf4, 0x0e, 0x42,
-	0x7c, 0x67, 0x10, 0x27, 0x61, 0xaf, 0xe5, 0x07, 0x09, 0x8b, 0x58, 0x9c, 0x58, 0xac, 0x12, 0x1c,
-	0x68, 0xe5, 0xa6, 0x02, 0xd1, 0x72, 0xbb, 0x7e, 0x69, 0xae, 0x37, 0xac, 0x81, 0xad, 0xae, 0x1f,
-	0x6c, 0x5b, 0x18, 0x7b, 0x8e, 0xfe, 0x21, 0xc6, 0x9e, 0xf3, 0xb0, 0x34, 0xf6, 0x1c, 0x26, 0x1b,
-	0xfb, 0x4d, 0x0b, 0x5c, 0x8f, 0x06, 0xb4, 0x93, 0xe2, 0xcb, 0x1e, 0xaf, 0x59, 0xc0, 0x03, 0xd6,
-	0xa1, 0x89, 0xbf, 0xc3, 0x2a, 0xeb, 0x1b, 0x40, 0x07, 0x8f, 0x25, 0xd4, 0xef, 0xb6, 0xfa, 0x5d,
-	0xea, 0xb2, 0x74, 0x75, 0x91, 0xad, 0x19, 0x30, 0x67, 0x9e, 0x1f, 0xf7, 0xbb, 0x74, 0xaf, 0xb5,
-	0xcd, 0xf6, 0x76, 0xc3, 0xc8, 0x93, 0xd1, 0x6f, 0x80, 0xd0, 0x09, 0xd5, 0xf6, 0x11, 0x80, 0x85,
-	0x79, 0x61, 0x8f, 0xfa, 0x41, 0xcb, 0x4d, 0xf7, 0xc9, 0x30, 0xca, 0x77, 0xca, 0xf7, 0x01, 0xc0,
-	0xbd, 0x80, 0xf6, 0x7c, 0xb7, 0x15, 0x33, 0x1a, 0xb9, 0x5b, 0xe2, 0x14, 0xc3, 0x7f, 0x26, 0x2c,
-	0xea, 0xc9, 0x5a, 0x00, 0x0c, 0x8e, 0x3d, 0xed, 0xd3, 0xc0, 0x63, 0x69, 0xcc, 0x1b, 0xf0, 0x9d,
-	0xbb, 0x4f, 0xd5, 0x18, 0xe1, 0x3a, 0x84, 0x47, 0x6e, 0xab, 0xa9, 0xc5, 0xb5, 0xfc, 0x84, 0xf5,
-	0x04, 0xf8, 0x95, 0xe1, 0x60, 0xc9, 0x48, 0x5f, 0x87, 0xbd, 0x2d, 0x0b, 0x78, 0xdb, 0x02, 0xd2,
-	0x4a, 0x68, 0x54, 0xee, 0xb8, 0x57, 0x81, 0xc8, 0x1e, 0xed, 0xf7, 0x4b, 0xf7, 0xbb, 0x09, 0x44,
-	0x71, 0x4b, 0xdc, 0x0a, 0xbb, 0x1e, 0x8b, 0xe4, 0xc1, 0x04, 0x1c, 0x7e, 0x3a, 0x2c, 0xd0, 0x40,
-	0xd7, 0x21, 0xa0, 0x50, 0xf4, 0x6e, 0x84, 0x55, 0xb5, 0xc3, 0xc2, 0x4e, 0x44, 0xfb, 0x5b, 0xbe,
-	0x6b, 0xe9, 0x36, 0x59, 0xf4, 0x6b, 0x74, 0x3a, 0xc0, 0xbc, 0x6c, 0x85, 0x09, 0xeb, 0x8a, 0x08,
-	0x5a, 0x42, 0xde, 0x82, 0x22, 0xfb, 0x2c, 0x6a, 0x87, 0x51, 0x4f, 0xf7, 0x3c, 0xc0, 0xbc, 0xe6,
-	0x6e, 0xde, 0xef, 0x52, 0x8b, 0x35, 0x46, 0x46, 0xb5, 0xb4, 0x43, 0xad, 0x2d, 0x5c, 0x8b, 0x5a,
-	0x6f, 0x58, 0xc2, 0xc5, 0x03, 0x3c, 0xfe, 0x53, 0xd0, 0xc5, 0x42, 0xab, 0xb2, 0xb1, 0x18, 0x38,
-	0xbb, 0x23, 0x84, 0xbc, 0x9f, 0x5c, 0x83, 0xbc, 0x6e, 0x5e, 0x88, 0x60, 0xd0, 0xce, 0x20, 0x85,
-	0xd9, 0xc7, 0x4e, 0xdd, 0xd0, 0xe5, 0xc1, 0xb0, 0xa5, 0x29, 0x66, 0x7b, 0x9e, 0x67, 0x76, 0x02,
-	0x40, 0xec, 0xd5, 0x63, 0x9e, 0x4f, 0x5b, 0x6d, 0xbf, 0x2b, 0x32, 0x50, 0x0b, 0x77, 0x00, 0x98,
-	0x70, 0xd3, 0xef, 0xb2, 0x16, 0xed, 0xf7, 0x8b, 0xcd, 0x43, 0xef, 0xf0, 0x2d, 0x30, 0x17, 0x8f,
-	0xed, 0xf8, 0x6e, 0x65, 0xc0, 0x20, 0x9a, 0x0f, 0x12, 0x9a, 0xb0, 0xd6, 0x17, 0xe1, 0xa6, 0xc0,
-	0xbc, 0x37, 0x1c, 0x13, 0xf6, 0x59, 0x44, 0x13, 0x7e, 0xca, 0xdb, 0x8b, 0xd3, 0x15, 0x39, 0x8f,
-	0x21, 0x35, 0xf1, 0x00, 0x8b, 0xee, 0x53, 0xdf, 0x6b, 0x85, 0x51, 0x87, 0x06, 0xe5, 0x4e, 0xa8,
-	0x6f, 0x7f, 0x37, 0x20, 0x6c, 0x22, 0x16, 0x24, 0xb4, 0x2b, 0x82, 0x66, 0x19, 0x0d, 0xe8, 0x4f,
-	0x3f, 0x0a, 0xbd, 0x81, 0x9b, 0xb4, 0xf2, 0x53, 0x6f, 0xdd, 0x74, 0x2c, 0xc3, 0x59, 0x55, 0xd6,
-	0x43, 0x40, 0xe4, 0x16, 0x31, 0x37, 0xec, 0xf5, 0x58, 0xe0, 0xc9, 0xc7, 0xb9, 0x65, 0x08, 0xae,
-	0x47, 0xa3, 0x6d, 0xc6, 0x27, 0x44, 0x89, 0xe2, 0x01, 0xab, 0x77, 0xcd, 0x90, 0x43, 0x90, 0xd9,
-	0x99, 0x48, 0x8f, 0xf2, 0x2e, 0x83, 0x91, 0xe5, 0x69, 0x6a, 0x05, 0x82, 0x09, 0xf9, 0xfe, 0x5d,
-	0xb7, 0x5d, 0x00, 0x86, 0x37, 0x09, 0xfb, 0xbe, 0x3b, 0x82, 0x87, 0x64, 0x38, 0xbb, 0x58, 0x72,
-	0x10, 0xb3, 0x48, 0x3f, 0xdf, 0xbc, 0x0e, 0x84, 0x75, 0xfd, 0xd8, 0xc2, 0xe0, 0x32, 0x88, 0x61,
-	0xd5, 0x03, 0xac, 0xe8, 0x3b, 0xbe, 0xc7, 0xc2, 0x61, 0x49, 0xc6, 0x22, 0xdb, 0x5e, 0xc9, 0xac,
-	0xaa, 0x49, 0xf7, 0x7a, 0x65, 0x8d, 0x1c, 0x54, 0xec, 0x1d, 0x38, 0x56, 0x4e, 0xd7, 0x68, 0x5c,
-	0xee, 0xc3, 0xb9, 0x68, 0x79, 0x52, 0x8d, 0xd1, 0xca, 0x28, 0x8c, 0x54, 0x16, 0xef, 0xc1, 0x59,
-	0x54, 0xce, 0x88, 0x1a, 0xab, 0x1b, 0x70, 0x56, 0x3c, 0x68, 0x55, 0xd1, 0x37, 0xe1, 0x68, 0xd3,
-	0x50, 0xbc, 0x05, 0x87, 0xab, 0xc0, 0xeb, 0x10, 0x60, 0x91, 0x3b, 0xd5, 0xc0, 0x57, 0x87, 0x83,
-	0xf9, 0xb7, 0x01, 0x15, 0x75, 0x7b, 0x28, 0x4a, 0xcf, 0x6b, 0x5a, 0x9b, 0xa1, 0x31, 0x6b, 0xa8,
-	0x71, 0xb9, 0x65, 0xc1, 0x25, 0xfb, 0x1a, 0x63, 0x6b, 0x7d, 0xa6, 0x3c, 0xa0, 0xe5, 0xa4, 0xab,
-	0x39, 0x40, 0x0d, 0xbe, 0x0a, 0x87, 0x97, 0xa9, 0x40, 0x6b, 0x07, 0xa8, 0xcf, 0x08, 0x5a, 0x3b,
-	0x80, 0x92, 0x18, 0x1c, 0x7d, 0x2c, 0x46, 0x73, 0x80, 0x32, 0x4d, 0x38, 0xea, 0x20, 0x96, 0x3b,
-	0xa2, 0xc6, 0x63, 0xf8, 0xaa, 0x5c, 0xc9, 0xe0, 0xd9, 0x4f, 0x43, 0x6d, 0xae, 0xca, 0x7e, 0x1a,
-	0xe4, 0x94, 0x95, 0xfd, 0x34, 0x28, 0x99, 0x2b, 0x0d, 0xfe, 0x23, 0x38, 0xbc, 0x9a, 0x81, 0xb2,
-	0x9f, 0xd2, 0x9c, 0x97, 0xed, 0x94, 0x1a, 0x72, 0x28, 0x1a, 0x8f, 0xb7, 0x87, 0xf2, 0xa8, 0x43,
-	0xde, 0xb6, 0x40, 0x8a, 0x2c, 0x82, 0xed, 0x92, 0x2c, 0xa7, 0x4a, 0x34, 0xf0, 0x15, 0x18, 0xd8,
-	0x76, 0x1d, 0x37, 0xcd, 0xf5, 0xf0, 0x2f, 0xff, 0xe5, 0x79, 0xcb, 0x7a, 0xed, 0xac, 0x46, 0xcb,
-	0xd6, 0xc3, 0xac, 0x87, 0xbe, 0xd6, 0xea, 0xd7, 0xfa, 0xfb, 0x70, 0xe3, 0x28, 0x42, 0x44, 0x0d,
-	0x79, 0x3a, 0x47, 0xf6, 0xfd, 0x25, 0x1a, 0x04, 0x61, 0xc2, 0x03, 0xc2, 0xfc, 0xf3, 0xc1, 0xbc,
-	0xd4, 0xaa, 0x64, 0xc2, 0xcf, 0x49, 0x0d, 0x6d, 0x9f, 0x75, 0xbd, 0xd6, 0x26, 0xdb, 0xa2, 0x3b,
-	0x7e, 0x98, 0xe7, 0xd8, 0x45, 0x29, 0xc5, 0x12, 0x7f, 0xda, 0x1c, 0xb4, 0xc5, 0x5b, 0x3d, 0x1a,
-	0x6f, 0x6b, 0xbc, 0xa3, 0xbe, 0xbb, 0x24, 0x7f, 0xb3, 0x58, 0xfc, 0x8f, 0x31, 0x74, 0x62, 0x83,
-	0x9f, 0x2f, 0xee, 0xf3, 0x37, 0x56, 0xbc, 0xd8, 0x61, 0x4f, 0x06, 0x2c, 0x4e, 0xf0, 0x05, 0x34,
-	0x51, 0xb8, 0x98, 0xef, 0x91, 0xc6, 0xf9, 0xc6, 0xc5, 0x23, 0xab, 0x07, 0xfe, 0x65, 0x65, 0xcc,
-	0x41, 0x39, 0xfd, 0x3d, 0x0f, 0x9f, 0x44, 0x07, 0x9f, 0x0c, 0x58, 0xb4, 0x47, 0xc6, 0xca, 0xf6,
-	0x8c, 0x82, 0xcf, 0x20, 0xc4, 0x13, 0x0b, 0x49, 0xb8, 0xcd, 0x02, 0x72, 0x20, 0x6d, 0x77, 0x8e,
-	0xa4, 0x94, 0x47, 0x29, 0x01, 0x9f, 0x42, 0xfc, 0xa1, 0x15, 0xfb, 0x5f, 0x32, 0xf2, 0xcc, 0xf9,
-	0xc6, 0xc5, 0x83, 0xce, 0x78, 0x4a, 0xd8, 0xf0, 0xbf, 0x64, 0xf8, 0x39, 0x74, 0x74, 0x87, 0x76,
-	0x7d, 0x2f, 0x3d, 0xf7, 0x86, 0x41, 0x77, 0x8f, 0x1c, 0x3c, 0xdf, 0xb8, 0x38, 0xee, 0x4c, 0xe6,
-	0xc4, 0x0f, 0x82, 0xee, 0x1e, 0xbe, 0x8e, 0x16, 0x22, 0x96, 0x0c, 0xa2, 0xa0, 0x95, 0x84, 0xe9,
-	0xc1, 0x32, 0x62, 0xf1, 0xa0, 0x9b, 0xc4, 0x2d, 0x5e, 0x45, 0x41, 0x0e, 0x73, 0xc4, 0x7c, 0xf6,
-	0xc6, 0xa3, 0xf4, 0x05, 0x27, 0x6b, 0x5f, 0x4b, 0x9b, 0xf1, 0x0e, 0x9a, 0x33, 0x14, 0x79, 0x90,
-	0xf1, 0xf3, 0x8d, 0x8b, 0x53, 0x97, 0xef, 0x35, 0xeb, 0xaa, 0x53, 0x78, 0x79, 0x48, 0x73, 0x23,
-	0x43, 0x3a, 0xe1, 0xee, 0x46, 0x86, 0xbb, 0x1b, 0x0c, 0x7a, 0x55, 0xaa, 0x33, 0x1b, 0xeb, 0xa4,
-	0xc5, 0xbf, 0x1f, 0x43, 0xf3, 0x95, 0x11, 0x8f, 0xfb, 0x61, 0x10, 0x33, 0xfc, 0x2e, 0x3a, 0x2c,
-	0xfa, 0x40, 0x1a, 0xe7, 0x0f, 0x5c, 0x9c, 0xb8, 0xdc, 0x6c, 0x0e, 0xab, 0x92, 0x69, 0x96, 0x5c,
-	0xc2, 0x5d, 0x27, 0x87, 0xe3, 0x17, 0xd0, 0x74, 0xc0, 0x9e, 0x26, 0x2d, 0x69, 0x02, 0xf8, 0x04,
-	0x39, 0x47, 0x53, 0xf2, 0x7a, 0x31, 0x09, 0x4d, 0x34, 0x67, 0x1a, 0xbb, 0x74, 0xb2, 0x0e, 0x38,
-	0xb3, 0x49, 0x65, 0xd4, 0xae, 0x21, 0x54, 0x1a, 0x17, 0x9f, 0x94, 0x89, 0xcb, 0x0b, 0xb9, 0x92,
-	0xb9, 0xfd, 0x35, 0xef, 0xa5, 0xaf, 0x3c, 0xa4, 0xf1, 0xb6, 0x73, 0xa4, 0x9d, 0xff, 0xc4, 0x1f,
-	0xa0, 0x09, 0x69, 0xc0, 0xc9, 0x21, 0x8e, 0xb5, 0xed, 0x20, 0x2a, 0x07, 0x74, 0xf1, 0x9f, 0x1a,
-	0xe8, 0xb4, 0x36, 0x92, 0x1b, 0x49, 0xc4, 0x68, 0xef, 0xf7, 0x66, 0xc1, 0x35, 0x36, 0x72, 0xe0,
-	0xff, 0xda, 0x46, 0xfe, 0xab, 0x81, 0xce, 0xd4, 0xf4, 0xec, 0xf7, 0x6e, 0x29, 0xea, 0x8c, 0x8e,
-	0xfd, 0x80, 0x19, 0x3d, 0xf0, 0x83, 0x67, 0xf4, 0x6f, 0xde, 0x47, 0x93, 0x72, 0x23, 0xfe, 0x08,
-	0x4d, 0xa9, 0x45, 0x51, 0xe4, 0x12, 0x17, 0xf2, 0x5a, 0xad, 0x90, 0xe2, 0xe4, 0xdc, 0x5c, 0xc9,
-	0x80, 0xab, 0x1c, 0xe7, 0x1c, 0xa5, 0xf2, 0x23, 0xee, 0xa3, 0xf9, 0x9a, 0x6a, 0x2b, 0xf2, 0x32,
-	0x97, 0xf0, 0xb6, 0xad, 0x84, 0x75, 0x81, 0x77, 0x8e, 0x53, 0x13, 0x19, 0xdf, 0x45, 0xe3, 0xf9,
-	0x29, 0x4c, 0x8c, 0xd4, 0x25, 0x88, 0x08, 0xef, 0x7e, 0x8a, 0x70, 0x0e, 0xd3, 0xec, 0x07, 0x7e,
-	0x80, 0x26, 0xa4, 0x23, 0x3a, 0x99, 0xe1, 0x9c, 0x5e, 0x81, 0x73, 0x5a, 0xf1, 0x9c, 0x23, 0x34,
-	0xff, 0x89, 0xbf, 0x40, 0x27, 0xcc, 0xc5, 0x5c, 0xe4, 0x97, 0x0d, 0xce, 0xf9, 0x0d, 0x1b, 0xce,
-	0x2b, 0x29, 0xfc, 0xb1, 0xcf, 0x76, 0x1d, 0x4c, 0x2b, 0x34, 0xfc, 0x39, 0x9a, 0xad, 0xa4, 0x27,
-	0xc8, 0x53, 0x2e, 0xe5, 0x75, 0x1b, 0x29, 0x0f, 0x52, 0xa0, 0x33, 0x45, 0x95, 0x67, 0xbc, 0x2d,
-	0xf7, 0x44, 0xae, 0x36, 0x21, 0xd7, 0xb8, 0x88, 0x37, 0x2d, 0x44, 0x08, 0x38, 0xef, 0xc9, 0x1c,
-	0xad, 0x12, 0xf1, 0x16, 0x3a, 0x6e, 0xcc, 0x75, 0x10, 0x62, 0x3b, 0x68, 0xab, 0xbe, 0xf7, 0x50,
-	0x80, 0x8b, 0x41, 0x93, 0x68, 0x98, 0x22, 0x5c, 0x4d, 0x63, 0x90, 0x59, 0x2e, 0xe6, 0x0a, 0x5c,
-	0xcc, 0x5a, 0x0e, 0x75, 0x66, 0xa8, 0x46, 0xc1, 0x4f, 0x10, 0xa9, 0x4b, 0xb9, 0x90, 0x3d, 0xb8,
-	0x2f, 0x68, 0x6c, 0xb3, 0x59, 0x3a, 0x4e, 0x4d, 0x64, 0xfc, 0x6d, 0x03, 0x9d, 0xd9, 0xb7, 0x98,
-	0x8d, 0x04, 0x5c, 0xf0, 0xcd, 0x11, 0x04, 0x6f, 0x14, 0x4c, 0x9c, 0x05, 0x5a, 0xdb, 0x86, 0x77,
-	0xd1, 0x42, 0x7d, 0x72, 0x87, 0xf4, 0xb9, 0xf8, 0x65, 0xb8, 0xf8, 0xbb, 0x39, 0x8b, 0x7c, 0x55,
-	0x9f, 0xa7, 0xe6, 0x06, 0xec, 0xa0, 0xa3, 0x4a, 0x2a, 0x88, 0xac, 0x0d, 0x59, 0x36, 0x2b, 0xb2,
-	0xee, 0x31, 0xe6, 0x39, 0x13, 0xb4, 0x7c, 0xc0, 0x1f, 0xa2, 0x29, 0x35, 0x41, 0x44, 0x62, 0xce,
-	0x74, 0x09, 0xce, 0x34, 0x9b, 0xaf, 0x49, 0x2a, 0x3d, 0x61, 0x0f, 0xcd, 0x19, 0x0a, 0xef, 0xc8,
-	0x36, 0xe7, 0x7d, 0x15, 0xce, 0x5b, 0x9a, 0x92, 0x59, 0xaa, 0x93, 0xb0, 0x83, 0x26, 0xe5, 0x2c,
-	0x13, 0xf9, 0xae, 0x61, 0x31, 0x20, 0xeb, 0x39, 0x2c, 0x1d, 0x90, 0xe2, 0x81, 0x0f, 0x88, 0x52,
-	0x85, 0x47, 0x5e, 0x83, 0x0f, 0x48, 0x87, 0x39, 0x29, 0x8e, 0xbb, 0xff, 0x24, 0x95, 0x9e, 0xf0,
-	0x67, 0x68, 0x46, 0x2f, 0x0b, 0x24, 0x9f, 0x58, 0xac, 0x60, 0x1b, 0x02, 0xc9, 0x59, 0x4f, 0x51,
-	0xe5, 0x19, 0x7f, 0x8a, 0xa6, 0xb5, 0x3a, 0x05, 0xf2, 0x19, 0x98, 0xf7, 0x1d, 0x8e, 0x5c, 0x13,
-	0x40, 0x67, 0xca, 0x53, 0x9e, 0xf1, 0x2d, 0x74, 0x90, 0xaf, 0xed, 0xc4, 0xe7, 0x1c, 0x2f, 0x42,
-	0xb4, 0x4d, 0xdf, 0x77, 0x32, 0x18, 0xfe, 0x09, 0x9a, 0xd1, 0xd3, 0x72, 0x04, 0x73, 0x56, 0x97,
-	0x01, 0xac, 0x56, 0x33, 0xe8, 0x86, 0x40, 0x3a, 0xd3, 0x9b, 0x2a, 0x01, 0x3f, 0x42, 0x47, 0x95,
-	0x9a, 0x44, 0xf2, 0x12, 0x78, 0xb6, 0x56, 0x33, 0xdc, 0x46, 0x0a, 0x73, 0x26, 0x37, 0xa5, 0xa7,
-	0x74, 0x40, 0xb5, 0x24, 0x1e, 0x99, 0x03, 0x0f, 0xe8, 0x9a, 0x40, 0x8a, 0xf0, 0x61, 0xca, 0x55,
-	0x9e, 0xf1, 0x7d, 0x34, 0x9e, 0x53, 0x44, 0xcc, 0xf4, 0xb2, 0x05, 0x53, 0xa7, 0x00, 0xe3, 0x1e,
-	0x3a, 0x61, 0xae, 0x92, 0x24, 0x77, 0x39, 0xdb, 0xb7, 0x2c, 0xd8, 0x2a, 0x1b, 0xd7, 0x31, 0xd7,
-	0x40, 0xc5, 0x5f, 0xa0, 0xe3, 0xc6, 0xf4, 0x28, 0x59, 0x00, 0xef, 0x92, 0xc5, 0xc8, 0x48, 0x5b,
-	0xd7, 0x9c, 0x5b, 0x25, 0x62, 0x17, 0xe1, 0x6a, 0x12, 0x94, 0x1c, 0x03, 0xaf, 0x1e, 0xb9, 0xa0,
-	0x72, 0xf3, 0x9a, 0x75, 0x75, 0x12, 0xfe, 0xae, 0x81, 0xce, 0xec, 0x5b, 0x72, 0x49, 0x42, 0x2e,
-	0xf0, 0xd6, 0x28, 0x02, 0xa5, 0x85, 0xeb, 0x94, 0x5b, 0xdf, 0x98, 0x86, 0xa9, 0x6a, 0xae, 0x96,
-	0xbc, 0x0e, 0x0e, 0x53, 0x73, 0xa1, 0x77, 0x52, 0x9c, 0x73, 0xd4, 0x95, 0x1f, 0x71, 0x1b, 0xcd,
-	0x19, 0xb2, 0xb8, 0xe4, 0x11, 0x38, 0xcc, 0xc8, 0xb9, 0xdf, 0x2d, 0xc0, 0x4e, 0x31, 0x29, 0x25,
-	0x0d, 0xef, 0xa1, 0x85, 0xfa, 0x4c, 0x2f, 0x79, 0xc2, 0xc5, 0x5d, 0xb7, 0x12, 0xa7, 0x6d, 0x87,
-	0xc4, 0xad, 0x69, 0x49, 0x7d, 0x5f, 0xc9, 0x0c, 0x93, 0xdb, 0x60, 0xdf, 0xcf, 0xa5, 0xf1, 0x0d,
-	0x71, 0xd2, 0x95, 0x9e, 0x94, 0x19, 0xc9, 0x76, 0xc4, 0xae, 0xf5, 0x8c, 0x64, 0x5b, 0x62, 0xa1,
-	0x5d, 0xb1, 0x27, 0x1a, 0x52, 0xc2, 0xe4, 0xac, 0xb5, 0x55, 0x6f, 0x70, 0xf0, 0x06, 0x4b, 0x4a,
-	0xab, 0x2e, 0x48, 0xe9, 0x7a, 0xab, 0xd7, 0xa6, 0x92, 0x55, 0xf0, 0x7a, 0xbb, 0x96, 0x41, 0xd7,
-	0x04, 0xd2, 0x99, 0x76, 0x55, 0x02, 0x1f, 0x73, 0xb9, 0x80, 0x95, 0x3c, 0x0f, 0x1f, 0x73, 0x8e,
-	0xdb, 0xe0, 0x30, 0x67, 0xd2, 0x95, 0x9e, 0xf0, 0x4f, 0xd1, 0x6c, 0x25, 0xd3, 0x4d, 0x3a, 0xe0,
-	0x50, 0x75, 0xad, 0xc0, 0xae, 0x70, 0xa8, 0x33, 0xe3, 0x6a, 0x14, 0xfc, 0x3e, 0x42, 0x65, 0x05,
-	0x2d, 0xf9, 0x12, 0x7c, 0xf6, 0x59, 0x4b, 0x41, 0x7c, 0x55, 0x3c, 0xe2, 0xe6, 0x3f, 0x31, 0x45,
-	0xb3, 0x95, 0xfa, 0x58, 0xf2, 0x47, 0x0d, 0xb8, 0xbe, 0x02, 0x5c, 0x0c, 0xf3, 0x8c, 0xab, 0x51,
-	0xf8, 0x0e, 0xa4, 0xd6, 0xd1, 0x92, 0x2d, 0xf8, 0x0e, 0xc4, 0x91, 0xef, 0x09, 0xa0, 0x33, 0xe5,
-	0x2a, 0xcf, 0x7c, 0x07, 0x12, 0x49, 0x0c, 0xd2, 0x80, 0xef, 0x40, 0x02, 0xe2, 0x14, 0x60, 0xbe,
-	0x25, 0x98, 0xea, 0x4a, 0xc9, 0x4d, 0xf8, 0x96, 0x20, 0xf0, 0x0f, 0x33, 0xf8, 0x03, 0x3f, 0xd8,
-	0x76, 0xe6, 0xdc, 0x2a, 0x11, 0x77, 0xd0, 0x31, 0x53, 0xd1, 0x2e, 0xb9, 0x05, 0x5f, 0xd0, 0x04,
-	0x7c, 0x8d, 0xa3, 0xb9, 0x24, 0xec, 0x56, 0x68, 0xe5, 0xc8, 0x17, 0x82, 0xc8, 0x3d, 0xcb, 0x91,
-	0xcf, 0xf9, 0xe5, 0x23, 0x9f, 0x3f, 0xf3, 0xc5, 0xb2, 0xf6, 0x7b, 0x0c, 0x89, 0xe0, 0x8b, 0xa5,
-	0x60, 0x62, 0x58, 0x2c, 0x6b, 0x5a, 0xb8, 0xe3, 0xca, 0xdf, 0x6f, 0xc8, 0x3b, 0x70, 0xc7, 0x15,
-	0x38, 0xb1, 0x58, 0x4a, 0x4f, 0x7c, 0xb1, 0x54, 0xbe, 0xeb, 0x90, 0x9f, 0xc1, 0x17, 0x4b, 0x01,
-	0xcc, 0x17, 0x4b, 0xf9, 0x11, 0xff, 0x0c, 0x9d, 0xda, 0xe7, 0x8b, 0x0f, 0xf9, 0x98, 0x4b, 0xb9,
-	0x61, 0x21, 0xe5, 0xc7, 0x82, 0x49, 0x19, 0x12, 0x9c, 0x74, 0xeb, 0x9a, 0x52, 0xc3, 0x36, 0x16,
-	0x2b, 0x93, 0x1d, 0xb0, 0x61, 0xdf, 0xe1, 0xf8, 0xf5, 0x1c, 0x9e, 0x65, 0x04, 0xbc, 0x2a, 0x31,
-	0x35, 0x6c, 0x53, 0x65, 0x33, 0x59, 0x02, 0x1b, 0xf6, 0x9d, 0x0c, 0xfe, 0x7e, 0x86, 0xce, 0xb2,
-	0x28, 0x5e, 0x85, 0x86, 0x3f, 0x44, 0x47, 0x95, 0x22, 0x68, 0xf2, 0xab, 0x06, 0xd8, 0x04, 0xee,
-	0x08, 0x60, 0x76, 0xb2, 0xf1, 0xa4, 0x27, 0xfc, 0x9b, 0x06, 0x7a, 0x0e, 0x50, 0xec, 0x4c, 0xbe,
-	0xe0, 0xc2, 0x56, 0x20, 0xc2, 0x32, 0x6e, 0x59, 0x1a, 0x73, 0xc5, 0x8b, 0xb3, 0x1f, 0x8f, 0x58,
-	0xd4, 0xe3, 0xe2, 0xcf, 0x7a, 0xfb, 0xb6, 0xe3, 0xa7, 0x68, 0xa1, 0xbe, 0x5e, 0x9a, 0x7c, 0xdb,
-	0x00, 0x1f, 0xd0, 0xef, 0x0a, 0x2e, 0x0f, 0x32, 0x26, 0xeb, 0x54, 0x9c, 0xec, 0xe6, 0x99, 0xb9,
-	0x21, 0xdd, 0xe1, 0x0d, 0x5f, 0x08, 0xc9, 0x87, 0xe0, 0x1d, 0xbe, 0xf0, 0xda, 0xd4, 0xb9, 0xde,
-	0x4b, 0x58, 0xcf, 0x99, 0x65, 0x3a, 0x09, 0x5f, 0x47, 0xcf, 0x70, 0x07, 0x6e, 0x72, 0xb6, 0x2f,
-	0x02, 0xd8, 0x72, 0xc7, 0xe5, 0x20, 0xfc, 0x2e, 0x3a, 0x52, 0x2a, 0x76, 0x19, 0xbc, 0xf8, 0x17,
-	0xfa, 0x8c, 0xb7, 0x73, 0x35, 0x3e, 0x43, 0x33, 0xfa, 0x07, 0x49, 0x92, 0x80, 0x17, 0xca, 0x9c,
-	0xe1, 0x23, 0x0e, 0x74, 0xa6, 0xda, 0xca, 0x33, 0xfe, 0xff, 0x68, 0x52, 0xfe, 0x58, 0x49, 0x96,
-	0xc1, 0x07, 0xfb, 0x94, 0xf1, 0xc3, 0x0c, 0xe5, 0x4c, 0xb4, 0xcb, 0x87, 0xd4, 0xa7, 0x8d, 0x45,
-	0xdf, 0x84, 0x82, 0x7d, 0x3a, 0xe5, 0xbd, 0x5e, 0xc2, 0x33, 0x9f, 0x6e, 0x57, 0x89, 0xf8, 0xc7,
-	0x68, 0x42, 0xaa, 0x10, 0x27, 0x17, 0xb9, 0x84, 0x57, 0x01, 0x12, 0xee, 0x73, 0x14, 0x67, 0x8c,
-	0x3a, 0xc5, 0xef, 0xd4, 0xb0, 0x0c, 0xc5, 0xe3, 0x64, 0x1e, 0x6c, 0x58, 0xf7, 0x59, 0x98, 0x8d,
-	0x6c, 0x11, 0x72, 0xcc, 0x76, 0x74, 0x52, 0xba, 0xf3, 0x69, 0x55, 0xe6, 0xe4, 0x6b, 0xf0, 0x84,
-	0xde, 0x2f, 0x90, 0x59, 0x8a, 0xa2, 0xa3, 0x3c, 0xa7, 0xab, 0x9c, 0xa9, 0x10, 0x9d, 0xec, 0x82,
-	0x57, 0x39, 0x9e, 0xfc, 0x51, 0xd7, 0x53, 0xdc, 0xa9, 0xd0, 0x52, 0xb3, 0xd4, 0x6b, 0xd6, 0xc9,
-	0x15, 0x70, 0x2f, 0xde, 0x4d, 0xa1, 0x5c, 0x52, 0xd6, 0x8b, 0x2d, 0xe5, 0x39, 0x3d, 0x72, 0x9b,
-	0xcb, 0xda, 0xc9, 0x7d, 0xf0, 0x91, 0x9b, 0x8b, 0x58, 0x2f, 0xf1, 0xd9, 0x91, 0x7b, 0xcb, 0x40,
-	0x4d, 0xbd, 0x40, 0xd9, 0x12, 0x8e, 0x83, 0xbd, 0x40, 0xde, 0x0b, 0x26, 0xb6, 0xa5, 0x4d, 0x40,
-	0x62, 0xd9, 0xef, 0xd2, 0x80, 0x9c, 0xb7, 0x65, 0xb9, 0xde, 0xa5, 0x41, 0xc1, 0x32, 0x7d, 0x48,
-	0x1d, 0xcb, 0x58, 0x36, 0x4f, 0x9e, 0x05, 0x3b, 0x96, 0xc4, 0xbb, 0x48, 0x74, 0xcc, 0x6d, 0x57,
-	0x89, 0x3c, 0xfd, 0xbb, 0x6f, 0x99, 0x3c, 0x59, 0x04, 0xa7, 0x7f, 0x25, 0xa1, 0x79, 0x04, 0x20,
-	0x48, 0xce, 0xc2, 0x76, 0x6d, 0x1b, 0xde, 0xd2, 0xba, 0x5b, 0x7c, 0x9a, 0x79, 0x0e, 0x6c, 0xca,
-	0x92, 0xe4, 0xfc, 0x2b, 0x0d, 0xde, 0xae, 0xd0, 0x52, 0x9f, 0x31, 0x5d, 0x28, 0x20, 0x17, 0x46,
-	0x11, 0x94, 0x77, 0x4d, 0x16, 0x94, 0x77, 0xe9, 0x16, 0x3a, 0x98, 0x05, 0x6f, 0x57, 0xc1, 0x39,
-	0xbe, 0x2c, 0x68, 0xcb, 0x60, 0xf8, 0x0f, 0xd0, 0x6c, 0x75, 0xa3, 0xfd, 0x06, 0x7c, 0xe8, 0xd4,
-	0xf7, 0xd7, 0xe9, 0xae, 0xb6, 0xaf, 0xfe, 0x94, 0xf3, 0x57, 0x2f, 0x0d, 0x90, 0xb7, 0xc0, 0xc7,
-	0xad, 0x07, 0x02, 0x5b, 0x1e, 0xb7, 0xba, 0x1a, 0x25, 0x8d, 0x8e, 0x95, 0x2a, 0x5b, 0xf2, 0x15,
-	0x38, 0x34, 0x7a, 0x20, 0x70, 0x59, 0x68, 0xd4, 0x95, 0x9e, 0xd2, 0xe5, 0xc2, 0x7c, 0xf5, 0x80,
-	0xbc, 0x01, 0x5e, 0x2e, 0xb2, 0x33, 0x90, 0xa7, 0x2e, 0x7c, 0xc7, 0x7a, 0x06, 0x6a, 0x7a, 0xc6,
-	0x2d, 0x2b, 0x67, 0xc8, 0xa7, 0xe0, 0x33, 0xee, 0xc3, 0x14, 0x74, 0xcf, 0xef, 0x32, 0xe7, 0x48,
-	0x2f, 0xff, 0x89, 0xbf, 0x46, 0xa7, 0xf7, 0xbb, 0xc2, 0x40, 0x3e, 0x02, 0x47, 0xe0, 0x0f, 0x39,
-	0x9b, 0x95, 0x7e, 0x3f, 0xcf, 0x29, 0x17, 0xf3, 0x70, 0xb2, 0x57, 0xd7, 0xc4, 0x87, 0xce, 0x78,
-	0xf7, 0x81, 0x6c, 0xc2, 0x87, 0x8e, 0x33, 0xb8, 0xc3, 0xf1, 0x85, 0xcc, 0x63, 0x3d, 0x03, 0x95,
-	0x0f, 0x5d, 0x71, 0x55, 0x82, 0xfc, 0x1c, 0x3e, 0x74, 0x1c, 0xf4, 0xa3, 0x70, 0xd3, 0x39, 0xd2,
-	0xcb, 0x7f, 0xe2, 0x3f, 0x6d, 0xa0, 0x67, 0x87, 0x5e, 0xa2, 0x20, 0x8f, 0xc1, 0xf1, 0xf0, 0x07,
-	0x39, 0xaf, 0x0d, 0xce, 0xea, 0x71, 0xc6, 0xa9, 0xe8, 0xd1, 0xd9, 0x70, 0xdf, 0x76, 0xfc, 0x73,
-	0x74, 0x66, 0xdf, 0x7b, 0x18, 0xe4, 0x17, 0x0d, 0xf0, 0x5c, 0xae, 0x53, 0xdf, 0xfb, 0x20, 0xe3,
-	0xa3, 0x45, 0xe5, 0x27, 0xfb, 0x75, 0x4d, 0xe9, 0x3a, 0x66, 0xba, 0xc1, 0x41, 0x5e, 0x05, 0xaf,
-	0x63, 0xeb, 0x02, 0x9e, 0xa5, 0x8b, 0xb2, 0xbd, 0xbf, 0x5f, 0xa1, 0xf1, 0x81, 0x1f, 0x7a, 0xdb,
-	0x83, 0xf4, 0xc0, 0x03, 0xbf, 0x9e, 0xf1, 0x12, 0x1f, 0x21, 0x2a, 0xe6, 0x7b, 0xb6, 0xbf, 0x6f,
-	0x3b, 0xa6, 0x08, 0x57, 0x2f, 0x8c, 0x90, 0x37, 0xc1, 0xeb, 0x96, 0x10, 0x5f, 0x86, 0x23, 0x33,
-	0x7d, 0x8d, 0x82, 0x3f, 0x41, 0x53, 0xea, 0xbd, 0x12, 0x72, 0x02, 0x1c, 0xeb, 0x38, 0x0a, 0xd0,
-	0xd1, 0x18, 0xa5, 0x81, 0x54, 0xc5, 0x52, 0xee, 0x80, 0x99, 0x6b, 0xd6, 0x31, 0x15, 0xab, 0x26,
-	0xf1, 0x13, 0x34, 0xa3, 0x97, 0xd9, 0x91, 0x33, 0xe0, 0x0d, 0x23, 0xcb, 0x76, 0x96, 0x27, 0xf9,
-	0xe9, 0x58, 0x25, 0xa4, 0xee, 0x2c, 0x65, 0x58, 0x4f, 0x81, 0xdd, 0xb9, 0xcc, 0xac, 0x1e, 0x89,
-	0x8b, 0x8c, 0xea, 0x0e, 0x3a, 0x59, 0x7b, 0x3f, 0x85, 0x0c, 0xc0, 0xa7, 0xc9, 0x0d, 0xc1, 0x43,
-	0x0f, 0xfd, 0xe6, 0x63, 0x73, 0x43, 0xda, 0x89, 0xf2, 0x72, 0x0a, 0x79, 0x05, 0xdc, 0x89, 0x47,
-	0x29, 0x28, 0x4b, 0x59, 0x26, 0xf9, 0xcf, 0x74, 0x83, 0x53, 0x6e, 0xad, 0x90, 0xeb, 0xe0, 0x0d,
-	0xee, 0xc3, 0x98, 0x45, 0x45, 0x2e, 0x71, 0x72, 0x20, 0x3d, 0xa5, 0xa7, 0xc9, 0xa2, 0x62, 0x91,
-	0xbc, 0x00, 0x3e, 0x4d, 0xa6, 0x1c, 0x1f, 0xf8, 0x71, 0xe2, 0x8c, 0x0f, 0xc4, 0x2f, 0xbc, 0x89,
-	0x70, 0xf5, 0xae, 0x0b, 0xf9, 0x35, 0x3c, 0xa7, 0xca, 0x79, 0xca, 0x5b, 0xf1, 0xcc, 0x40, 0xa3,
-	0x60, 0x17, 0xe1, 0x6a, 0x79, 0x28, 0xb9, 0x01, 0x3e, 0x44, 0x39, 0x25, 0x58, 0xe4, 0x99, 0x67,
-	0x23, 0x9d, 0x84, 0x3f, 0x42, 0x53, 0xea, 0x55, 0x24, 0x72, 0x0e, 0x9c, 0x11, 0xe3, 0x33, 0x57,
-	0x2c, 0x2f, 0x47, 0x13, 0xf9, 0x31, 0x0d, 0xd2, 0xf8, 0x8d, 0x1e, 0xf2, 0x22, 0x38, 0x48, 0x7b,
-	0x9c, 0xbe, 0xef, 0x64, 0x30, 0xbc, 0x82, 0x0e, 0x8b, 0x3f, 0x7b, 0xc5, 0x4b, 0x26, 0xf7, 0xcb,
-	0x1c, 0x64, 0x7f, 0xf7, 0xaa, 0xf9, 0x30, 0x7b, 0xdd, 0xc9, 0x71, 0xf8, 0x0e, 0x1a, 0xcf, 0xff,
-	0x16, 0x16, 0x69, 0x0f, 0xd1, 0x42, 0xf0, 0xd8, 0x10, 0xef, 0x3b, 0x05, 0x72, 0xf1, 0x3f, 0x1b,
-	0xe8, 0x44, 0xb6, 0x6f, 0x8e, 0x58, 0x38, 0xea, 0xa2, 0x59, 0xb1, 0x59, 0x8b, 0x9d, 0x2f, 0x0c,
-	0x62, 0x32, 0xc6, 0x6b, 0xd9, 0x5e, 0x1f, 0x5e, 0x42, 0x96, 0x89, 0xfe, 0x20, 0x47, 0x66, 0xec,
-	0x67, 0x7a, 0x2a, 0x35, 0xc6, 0x2f, 0xa2, 0xe9, 0x3e, 0x8d, 0x12, 0x9f, 0x76, 0x5b, 0x6d, 0xea,
-	0x77, 0x07, 0x11, 0xe3, 0xb5, 0x57, 0xe3, 0xce, 0x94, 0x20, 0xdf, 0xcb, 0xa8, 0xd5, 0x7a, 0xd3,
-	0x67, 0xaa, 0xf5, 0xa6, 0x8b, 0xdf, 0x37, 0xd0, 0x7c, 0xa5, 0xcf, 0xa2, 0x20, 0xef, 0x1e, 0x3a,
-	0xae, 0x49, 0x6a, 0xb1, 0x28, 0x0a, 0x23, 0x51, 0xeb, 0x85, 0xf3, 0x2e, 0x45, 0x7d, 0xb7, 0x29,
-	0xbe, 0x9e, 0xcc, 0xa9, 0x3a, 0xdc, 0x4d, 0x5f, 0xc7, 0xbb, 0x68, 0x41, 0x1f, 0x96, 0x56, 0x24,
-	0x84, 0xe4, 0xb5, 0x7e, 0xd7, 0xac, 0xc7, 0x27, 0x57, 0xd3, 0x21, 0x3d, 0x73, 0x43, 0xbc, 0xf8,
-	0x3f, 0x17, 0xd0, 0xb4, 0x86, 0xc2, 0x7b, 0xe8, 0x54, 0xf5, 0x46, 0x59, 0xa1, 0x97, 0x28, 0x43,
-	0x02, 0x68, 0xa3, 0xd6, 0x6e, 0x15, 0xfc, 0xdf, 0xfd, 0x7f, 0x45, 0x99, 0x8c, 0xde, 0x84, 0x7d,
-	0xa9, 0xc4, 0x8a, 0x7a, 0x92, 0xd0, 0xc6, 0x10, 0x4f, 0xaf, 0x0a, 0x95, 0xe5, 0x95, 0x85, 0x69,
-	0xa5, 0xa8, 0x3f, 0x6c, 0xa0, 0x73, 0xe6, 0xab, 0x6b, 0xa5, 0xd4, 0xb1, 0x21, 0x07, 0x52, 0x5d,
-	0xaa, 0xf4, 0x1d, 0x5c, 0x16, 0x7f, 0x8a, 0xd6, 0x37, 0xe3, 0xdf, 0x34, 0xd0, 0x62, 0xed, 0xe5,
-	0xb7, 0x52, 0x95, 0xac, 0xee, 0xe2, 0x1d, 0xb0, 0x2a, 0x6a, 0xed, 0x95, 0xac, 0xcd, 0x59, 0xba,
-	0xef, 0x1b, 0xf8, 0x1b, 0x74, 0xda, 0xa0, 0x4f, 0xa9, 0xc9, 0x81, 0x21, 0x9f, 0x3a, 0x6a, 0x35,
-	0x91, 0x95, 0x38, 0x49, 0xeb, 0x1a, 0xf1, 0x9f, 0x37, 0xd0, 0x85, 0x7d, 0x6e, 0xe0, 0x95, 0x8a,
-	0x64, 0x65, 0x1d, 0xab, 0x60, 0x45, 0xf4, 0xef, 0x2a, 0xb2, 0x3e, 0xe7, 0xe9, 0x90, 0x77, 0x70,
-	0x88, 0xe6, 0xd5, 0xcb, 0x7c, 0xa5, 0x22, 0xc7, 0x86, 0x24, 0x4b, 0x74, 0x45, 0xee, 0x31, 0xa6,
-	0x98, 0xe7, 0x31, 0x6a, 0xa0, 0xe3, 0x48, 0xaa, 0xd0, 0xd3, 0xad, 0xe1, 0xf8, 0x90, 0x83, 0x94,
-	0x2e, 0xb1, 0x62, 0x04, 0xc7, 0xa9, 0xa9, 0x21, 0xdd, 0xca, 0x0b, 0x99, 0xa5, 0xb4, 0x83, 0x43,
-	0xa2, 0x3b, 0x5d, 0x9a, 0x2c, 0x28, 0xaf, 0x3c, 0x2c, 0x65, 0x04, 0xbc, 0x66, 0xb3, 0xbc, 0x5f,
-	0x58, 0xca, 0x39, 0x01, 0x1f, 0xc7, 0xa2, 0xe8, 0x4b, 0x1b, 0xc7, 0x2a, 0x1d, 0x7f, 0x86, 0xa6,
-	0xb3, 0x0a, 0xd7, 0x52, 0xd0, 0xfc, 0x90, 0x6d, 0xbd, 0x14, 0x94, 0x02, 0x65, 0x11, 0x53, 0x54,
-	0xa1, 0xe0, 0x2f, 0xd1, 0x42, 0xe5, 0xe6, 0x62, 0x29, 0xe7, 0xd0, 0x90, 0x08, 0xb3, 0x90, 0xa3,
-	0xd5, 0x4a, 0xc9, 0x12, 0xc9, 0x66, 0x4d, 0x1b, 0xfe, 0x75, 0x03, 0x9d, 0x33, 0xdf, 0x7a, 0x2c,
-	0x35, 0x38, 0x3c, 0xa4, 0x0c, 0xa6, 0xd0, 0xc0, 0x50, 0xdf, 0x23, 0x6b, 0x71, 0xda, 0xdd, 0xa7,
-	0x1d, 0xef, 0xa2, 0x93, 0xfa, 0xc5, 0xc9, 0x52, 0x85, 0x71, 0xe8, 0x7e, 0xa1, 0x16, 0x5f, 0x29,
-	0xfb, 0x85, 0x6b, 0x6e, 0xc2, 0xdf, 0x36, 0xd0, 0x69, 0x43, 0x1d, 0x50, 0x29, 0xfc, 0xe8, 0x90,
-	0xe3, 0x71, 0x45, 0xb8, 0x71, 0xb5, 0x5a, 0x70, 0x6b, 0x5b, 0x71, 0x82, 0x88, 0x76, 0x63, 0xb3,
-	0x94, 0x4e, 0x86, 0x14, 0xd2, 0x56, 0xa4, 0xf3, 0xfa, 0x1f, 0x59, 0xf2, 0x09, 0xd7, 0xd8, 0x82,
-	0x7f, 0x29, 0x17, 0x40, 0x49, 0x37, 0x3d, 0x4b, 0xd9, 0x27, 0xa1, 0x7b, 0x57, 0xb5, 0x58, 0x48,
-	0xd9, 0xbb, 0xdc, 0xfa, 0x66, 0xfc, 0x97, 0x0d, 0x74, 0x61, 0x9f, 0xbb, 0xa2, 0xa5, 0x32, 0x59,
-	0x9d, 0xd9, 0x9a, 0x8d, 0x32, 0xf5, 0x6b, 0xf5, 0xb3, 0xee, 0xb0, 0x97, 0xf0, 0x13, 0x34, 0xaf,
-	0x5e, 0x3c, 0x2d, 0x55, 0x39, 0x05, 0x5d, 0x3a, 0xe5, 0x3a, 0x23, 0x65, 0xe9, 0x74, 0x4d, 0x0d,
-	0x8a, 0x1d, 0xe8, 0xcb, 0xf5, 0x69, 0x5b, 0x3b, 0xa8, 0xac, 0xd7, 0x27, 0x5c, 0x63, 0x0b, 0xf6,
-	0xa4, 0x6a, 0xbb, 0x52, 0x1e, 0x1a, 0x72, 0xf4, 0xaa, 0xc8, 0x93, 0x45, 0x15, 0x85, 0x49, 0xa5,
-	0x94, 0x5f, 0xc8, 0xd6, 0x26, 0x5d, 0x91, 0x2b, 0x25, 0x4e, 0xd8, 0xfa, 0x59, 0x71, 0x5c, 0x37,
-	0xfa, 0x59, 0xb5, 0x15, 0x7f, 0x8d, 0x4e, 0x55, 0x6f, 0xd4, 0x96, 0x0a, 0x4c, 0x42, 0xa3, 0x12,
-	0xbd, 0xe0, 0x48, 0x89, 0x4a, 0xdc, 0xba, 0xc6, 0xcc, 0xd4, 0xeb, 0xef, 0xe3, 0x96, 0x8a, 0x9c,
-	0x05, 0x9b, 0x7a, 0x4d, 0xb9, 0x87, 0x6a, 0xea, 0xc3, 0x5e, 0xe2, 0xa6, 0xae, 0x5c, 0xee, 0x2d,
-	0x55, 0x39, 0x07, 0x36, 0x75, 0xa9, 0x2e, 0x44, 0x35, 0x75, 0x53, 0x03, 0x37, 0x75, 0xf5, 0x46,
-	0x70, 0x29, 0xf3, 0x3c, 0xd8, 0xd4, 0xe5, 0x9a, 0x11, 0xd5, 0xd4, 0x8d, 0x2d, 0xf8, 0xaf, 0x1a,
-	0xe8, 0xf9, 0xfd, 0x6e, 0x12, 0x97, 0x3a, 0x64, 0xdf, 0x91, 0xee, 0xc0, 0x75, 0xa8, 0x54, 0x91,
-	0xc8, 0xfa, 0x2c, 0xba, 0x43, 0xdf, 0xe2, 0x6e, 0x98, 0xab, 0x56, 0xea, 0xf1, 0x1c, 0xd8, 0x0d,
-	0x05, 0x56, 0x75, 0x43, 0x9d, 0xc8, 0xdd, 0xd0, 0x74, 0x8d, 0xb9, 0x94, 0x78, 0x01, 0xea, 0x86,
-	0x95, 0x6a, 0x05, 0xc5, 0x0d, 0x59, 0x6d, 0x2b, 0x66, 0x68, 0xce, 0x24, 0xf8, 0x79, 0x68, 0x57,
-	0x4d, 0xf2, 0x66, 0xdb, 0x15, 0x31, 0x4f, 0xd1, 0x42, 0xe5, 0xca, 0x74, 0x29, 0xed, 0x05, 0x68,
-	0x48, 0xa1, 0x96, 0x2a, 0x28, 0x21, 0x45, 0xdb, 0xdc, 0x94, 0x86, 0xa7, 0xca, 0x5d, 0xeb, 0x52,
-	0xea, 0x8b, 0xd0, 0xf0, 0x54, 0xaa, 0x63, 0x50, 0xc2, 0xd3, 0xb6, 0x81, 0x8e, 0x3f, 0x46, 0x53,
-	0x9a, 0xdb, 0x5e, 0x1c, 0x92, 0xde, 0x53, 0xe4, 0xc8, 0x02, 0x8e, 0xb6, 0x15, 0x37, 0xfd, 0x0c,
-	0x4d, 0xeb, 0xde, 0xf9, 0x12, 0x34, 0xf0, 0xad, 0x78, 0xe5, 0x54, 0x57, 0xf5, 0xc6, 0x2d, 0x74,
-	0x4c, 0xba, 0xea, 0x5d, 0x4a, 0xb8, 0x04, 0x3d, 0xa8, 0x17, 0x5f, 0xae, 0x94, 0x83, 0x7a, 0xaf,
-	0x42, 0xe5, 0x31, 0x9e, 0xe1, 0x6a, 0x78, 0x29, 0xf2, 0x65, 0xa8, 0xd1, 0x57, 0x92, 0x80, 0x8a,
-	0xd1, 0x47, 0xb5, 0xad, 0x69, 0x94, 0x5f, 0xb9, 0x59, 0x5e, 0xca, 0x9f, 0x82, 0x46, 0xf9, 0x5a,
-	0xee, 0x5b, 0x89, 0xf2, 0xe3, 0x9a, 0xb6, 0x74, 0xa0, 0x8d, 0x3b, 0xee, 0x34, 0x74, 0xa0, 0x8d,
-	0x3b, 0x2d, 0x8e, 0xab, 0x3b, 0x2c, 0x43, 0x73, 0xe5, 0x1d, 0xf6, 0x52, 0xd0, 0x0c, 0xd4, 0xb5,
-	0xf3, 0xd4, 0xb0, 0xe2, 0xda, 0x03, 0x9d, 0xb8, 0x3a, 0x81, 0x8e, 0x14, 0xcc, 0x17, 0xff, 0xf8,
-	0x42, 0x9e, 0x5c, 0xab, 0x24, 0xa7, 0xf0, 0x8e, 0x74, 0x00, 0x2e, 0xf2, 0x50, 0xd9, 0x05, 0x56,
-	0x91, 0x84, 0xba, 0x01, 0x4d, 0x89, 0x69, 0xd7, 0x08, 0x39, 0x0f, 0xe9, 0xe0, 0xad, 0xd0, 0x71,
-	0x5b, 0x3a, 0x04, 0x53, 0x2f, 0x97, 0xd8, 0x80, 0x6e, 0xa6, 0x9a, 0xc4, 0x42, 0xd8, 0x34, 0x55,
-	0x49, 0xf8, 0xbb, 0x86, 0x94, 0x69, 0x51, 0xce, 0x6f, 0x42, 0xe4, 0x18, 0x34, 0xe7, 0xa3, 0x88,
-	0x94, 0x6f, 0x68, 0xe4, 0xb2, 0x09, 0xad, 0x69, 0xc3, 0x7f, 0x22, 0xa7, 0xc1, 0xf4, 0xf4, 0x93,
-	0xd0, 0x03, 0x43, 0x43, 0x1a, 0x45, 0x0f, 0xed, 0x52, 0x60, 0xae, 0xca, 0x29, 0x5a, 0xdf, 0x8c,
-	0xbf, 0x42, 0x27, 0x0d, 0xca, 0x08, 0x35, 0x0e, 0x40, 0xcf, 0xb2, 0x66, 0x35, 0x0a, 0x0d, 0x4e,
-	0x50, 0x63, 0x0b, 0xfe, 0xb3, 0x06, 0x7a, 0x76, 0x9f, 0xc4, 0x93, 0xd0, 0x22, 0xcb, 0x3a, 0xdd,
-	0xb5, 0xd4, 0xa2, 0x52, 0xed, 0x9b, 0x2b, 0x73, 0x86, 0xee, 0xf7, 0x02, 0xee, 0xa2, 0x63, 0x6a,
-	0xd6, 0x49, 0x68, 0x71, 0x0c, 0xba, 0x03, 0x2a, 0x5a, 0xf0, 0x62, 0xc2, 0x5c, 0xf2, 0x2c, 0xd5,
-	0x89, 0x38, 0x94, 0xd2, 0xaf, 0x8a, 0x05, 0x1c, 0x87, 0x2e, 0x71, 0x8a, 0x38, 0x75, 0xe2, 0x31,
-	0xad, 0x50, 0x71, 0x0b, 0x4d, 0x17, 0x02, 0x85, 0xa8, 0x83, 0x43, 0xbe, 0x2c, 0x9b, 0x45, 0x15,
-	0x52, 0x8e, 0x52, 0x99, 0x80, 0xb7, 0xf9, 0x65, 0xc6, 0x32, 0xd9, 0x24, 0x84, 0x9c, 0xb0, 0x1d,
-	0xbe, 0xf2, 0xc6, 0xa1, 0x34, 0x7c, 0x1a, 0x11, 0x7f, 0x8c, 0x26, 0xb3, 0x4c, 0x93, 0x90, 0x32,
-	0x0f, 0x5d, 0x39, 0x85, 0x14, 0x7e, 0xf7, 0x2e, 0xe7, 0x3f, 0x41, 0xcb, 0x47, 0xbc, 0x8b, 0xe6,
-	0x2b, 0x69, 0x26, 0x21, 0xe4, 0x10, 0xf4, 0x9c, 0x9f, 0x09, 0xd1, 0x6f, 0xe5, 0xe5, 0xe2, 0x8e,
-	0x6f, 0x9a, 0x1a, 0xf0, 0xaf, 0xe4, 0x04, 0x8b, 0x69, 0x8d, 0x3a, 0x3c, 0xe4, 0x8b, 0xbc, 0x26,
-	0xde, 0x74, 0x8d, 0x2c, 0x57, 0xe1, 0xa4, 0x5b, 0xd7, 0x88, 0x13, 0xe9, 0xbe, 0x9c, 0x48, 0x30,
-	0x09, 0xf9, 0xe3, 0x76, 0x1b, 0x81, 0x76, 0xc1, 0xaf, 0xd8, 0x08, 0x5c, 0x03, 0x1d, 0x7f, 0x2d,
-	0xa5, 0xb5, 0x2a, 0xab, 0x51, 0x96, 0x59, 0xba, 0x6d, 0x2b, 0xb8, 0xba, 0x1c, 0xcd, 0xbb, 0xe6,
-	0x26, 0xfc, 0x44, 0xba, 0xb5, 0x97, 0x65, 0x96, 0x84, 0x68, 0x02, 0x3d, 0xeb, 0xaa, 0xa2, 0xb3,
-	0xbb, 0x66, 0xb9, 0xd8, 0x39, 0xb7, 0x4a, 0x4e, 0x63, 0xad, 0x05, 0x53, 0x5a, 0x49, 0x08, 0x3e,
-	0x69, 0xb7, 0x21, 0x19, 0xae, 0xa1, 0x15, 0x1b, 0x92, 0x5b, 0xd3, 0x86, 0x7f, 0xdb, 0x40, 0xcf,
-	0xee, 0x93, 0x53, 0x12, 0x9a, 0x64, 0x09, 0xa5, 0x7b, 0xf6, 0x9a, 0xd4, 0x2c, 0xc3, 0x67, 0xdd,
-	0x7d, 0xdf, 0xc0, 0x01, 0x3a, 0xa6, 0x26, 0x94, 0x84, 0x1e, 0xa7, 0xec, 0x16, 0x46, 0xe5, 0xee,
-	0x5a, 0xb1, 0x30, 0xba, 0x15, 0xaa, 0x32, 0xf7, 0xca, 0x4a, 0x7c, 0x7a, 0xb4, 0xb9, 0x57, 0x97,
-	0xe2, 0x39, 0xb7, 0x4a, 0xc6, 0x54, 0xba, 0x38, 0x2b, 0x84, 0x21, 0xe8, 0x89, 0x47, 0x15, 0x56,
-	0xc8, 0x29, 0x6e, 0xe3, 0x09, 0x11, 0xdf, 0x48, 0xd6, 0x25, 0x05, 0xb5, 0x42, 0xda, 0xc4, 0x68,
-	0x1e, 0x55, 0x16, 0x7e, 0x54, 0x3c, 0x4a, 0x6b, 0xc2, 0x5f, 0x22, 0x52, 0xcd, 0x21, 0x09, 0xe9,
-	0x93, 0x76, 0xd1, 0x45, 0xe5, 0xde, 0x5a, 0x11, 0x5d, 0xb8, 0xc6, 0x96, 0xcc, 0xae, 0xeb, 0x13,
-	0x48, 0x42, 0x8b, 0xb3, 0x96, 0x76, 0x5d, 0x77, 0x99, 0xa8, 0xb4, 0xeb, 0x7d, 0xdf, 0xe0, 0x76,
-	0xad, 0x64, 0x8f, 0x84, 0x1e, 0xe7, 0x2c, 0xed, 0x5a, 0xbe, 0x66, 0x54, 0xda, 0x75, 0x85, 0xca,
-	0xed, 0x5a, 0x4d, 0x1d, 0x09, 0x81, 0xe7, 0x2d, 0xed, 0x5a, 0xb9, 0x80, 0x54, 0xda, 0x75, 0x95,
-	0x8c, 0xff, 0xa2, 0x81, 0x16, 0xf7, 0xcb, 0x1b, 0x09, 0x05, 0x16, 0x47, 0x1b, 0x79, 0x2d, 0x29,
-	0x44, 0x0b, 0x5d, 0xce, 0xd5, 0xa6, 0x8d, 0x24, 0x7f, 0xcb, 0xd5, 0x12, 0x3a, 0x3c, 0x67, 0xe9,
-	0x6f, 0xf9, 0xb5, 0xbe, 0xd2, 0xdf, 0x14, 0x4a, 0xea, 0x6f, 0xa6, 0x7c, 0x91, 0x90, 0x76, 0xc1,
-	0xce, 0xdf, 0xaa, 0x17, 0x5c, 0x0a, 0x7f, 0x63, 0xe6, 0x26, 0xbc, 0x29, 0xdf, 0x33, 0x11, 0x52,
-	0x9f, 0xb7, 0xeb, 0x63, 0x45, 0x58, 0x71, 0xdd, 0x44, 0xc8, 0x18, 0xa0, 0xf9, 0x4a, 0xa6, 0x48,
-	0x88, 0x7a, 0xc1, 0x2e, 0x36, 0xd0, 0xee, 0xb5, 0x14, 0xb1, 0x41, 0xdb, 0x40, 0x4f, 0x03, 0x4b,
-	0x25, 0x4d, 0x24, 0x44, 0xbe, 0x68, 0x17, 0x58, 0xca, 0x37, 0x5e, 0x8a, 0xc0, 0xb2, 0xad, 0x13,
-	0xf1, 0x87, 0x68, 0x42, 0x76, 0xce, 0x8b, 0xd0, 0xef, 0xb1, 0xa5, 0x90, 0x82, 0x3b, 0x6a, 0x97,
-	0xce, 0xf8, 0x31, 0x9a, 0x54, 0x7c, 0xf0, 0x25, 0xbb, 0x78, 0x55, 0xf5, 0xbd, 0x89, 0xae, 0xe4,
-	0x73, 0x0c, 0xcd, 0x4a, 0xd9, 0x21, 0xc1, 0xfe, 0x92, 0xdd, 0x09, 0xba, 0x2c, 0x6d, 0x2e, 0x4e,
-	0xd0, 0x3d, 0x95, 0x94, 0x06, 0x68, 0x86, 0xcc, 0x90, 0x10, 0xf7, 0xb2, 0x9d, 0x79, 0x57, 0x2b,
-	0xc4, 0x0a, 0xf3, 0x8e, 0xcc, 0x4d, 0x69, 0x54, 0x5e, 0x49, 0x0b, 0x09, 0xe1, 0x53, 0x76, 0x51,
-	0xb9, 0x5e, 0x15, 0x59, 0x44, 0xe5, 0xb1, 0xa9, 0x21, 0x1d, 0xde, 0xea, 0xf6, 0x39, 0x6d, 0x37,
-	0xbc, 0xd5, 0x6d, 0x73, 0x3a, 0xd6, 0xb6, 0xcb, 0x4d, 0x34, 0x53, 0x26, 0x84, 0x84, 0x94, 0x19,
-	0x3b, 0xf7, 0x2d, 0xca, 0x05, 0x0b, 0xf7, 0x1d, 0x28, 0x94, 0x55, 0x84, 0xc6, 0xf3, 0x42, 0xa7,
-	0xcb, 0x7f, 0x77, 0x10, 0xcd, 0x94, 0x7f, 0xfa, 0x2c, 0x63, 0x84, 0xff, 0xa1, 0x81, 0x0e, 0x65,
-	0x15, 0xa9, 0x18, 0xf0, 0x55, 0xc1, 0xfc, 0x57, 0x0d, 0x17, 0xae, 0x8d, 0x80, 0xcc, 0x94, 0x5a,
-	0x7c, 0xf8, 0xfd, 0xca, 0xac, 0x54, 0xd8, 0xf6, 0x0a, 0xff, 0x1b, 0x71, 0xdf, 0xfd, 0xe3, 0xbf,
-	0xfe, 0x76, 0xec, 0xca, 0x62, 0x93, 0xff, 0xa7, 0x49, 0xd1, 0x18, 0x2f, 0x7d, 0x25, 0xbd, 0x77,
-	0xf3, 0xd2, 0xd7, 0xe2, 0xef, 0x44, 0xae, 0x78, 0xf1, 0x72, 0x56, 0x42, 0xbb, 0xdc, 0xb8, 0x84,
-	0xff, 0xad, 0x81, 0x26, 0x33, 0x51, 0xd9, 0xdf, 0x76, 0xc3, 0xb7, 0xac, 0x55, 0x53, 0xfe, 0xdc,
-	0xdd, 0xc2, 0xed, 0x91, 0xf1, 0xa2, 0x83, 0x1b, 0xb5, 0x1d, 0xbc, 0xb6, 0x78, 0xd5, 0xae, 0x83,
-	0x19, 0xe7, 0xe5, 0xc6, 0xa5, 0xd7, 0x1a, 0xf8, 0x9f, 0x1b, 0xe8, 0x50, 0x66, 0x03, 0x90, 0x79,
-	0x33, 0x17, 0x15, 0x2e, 0x5c, 0x1b, 0x01, 0x29, 0xba, 0xf5, 0xc9, 0xf7, 0x2b, 0x67, 0xe4, 0x6e,
-	0x55, 0xca, 0x0e, 0x6d, 0xe7, 0x30, 0x63, 0xb0, 0xdc, 0xb8, 0xb4, 0x70, 0xea, 0x77, 0x2b, 0xa4,
-	0x54, 0x46, 0xfc, 0xea, 0xfb, 0x71, 0xd3, 0x0d, 0x7b, 0xab, 0xff, 0xdd, 0x40, 0x17, 0xdc, 0xb0,
-	0x37, 0x54, 0xf1, 0xd5, 0xe3, 0xba, 0xa9, 0xaf, 0x47, 0x61, 0x12, 0xae, 0x37, 0x3e, 0x7d, 0x57,
-	0x40, 0x3b, 0x61, 0x97, 0x06, 0x9d, 0x66, 0x18, 0x75, 0x96, 0x3a, 0x2c, 0xe0, 0x7f, 0x94, 0x6f,
-	0xa9, 0x14, 0x56, 0xff, 0x97, 0x48, 0xaf, 0xe7, 0x3f, 0xfe, 0x7a, 0xec, 0xc0, 0xfd, 0x95, 0x95,
-	0xbf, 0x1d, 0x3b, 0x9f, 0x49, 0x6a, 0xae, 0x78, 0xd2, 0x5f, 0xe1, 0x6b, 0x3e, 0xbe, 0xd2, 0x14,
-	0x82, 0xe3, 0xdf, 0xe5, 0xaf, 0x7c, 0xbe, 0xe2, 0xc5, 0x9f, 0x17, 0xaf, 0x7c, 0xfe, 0xf8, 0xca,
-	0xe7, 0xf9, 0x2b, 0xff, 0x3e, 0x76, 0x21, 0xa3, 0x2f, 0x2f, 0xa7, 0x83, 0xb1, 0x5c, 0xbc, 0xb4,
-	0xbc, 0xfc, 0xf8, 0xca, 0xf2, 0x72, 0xfe, 0xda, 0xe6, 0x21, 0xae, 0xe7, 0x95, 0xff, 0x0d, 0x00,
-	0x00, 0xff, 0xff, 0x1f, 0x5e, 0x07, 0x62, 0x24, 0x76, 0x00, 0x00,
+	0x72, 0xf7, 0x37, 0xe0, 0x92, 0x04, 0x0b, 0x20, 0x1e, 0x05, 0x82, 0x28, 0x82, 0x4f, 0x41, 0x94,
+	0x44, 0x51, 0x12, 0x20, 0x3e, 0xf4, 0x20, 0xf8, 0x12, 0x1e, 0x24, 0xa5, 0x15, 0xb9, 0xc4, 0xd7,
+	0xa0, 0xa8, 0xe7, 0x7a, 0xb6, 0xd0, 0x5d, 0x33, 0x68, 0x61, 0xa6, 0x7b, 0xd8, 0xdd, 0x03, 0x12,
+	0xd2, 0x4a, 0xab, 0xd5, 0xae, 0xbd, 0xe1, 0xb0, 0x63, 0x23, 0x1c, 0xb2, 0x1d, 0xe1, 0xab, 0x8f,
+	0xfe, 0x33, 0x7c, 0x71, 0xc4, 0x86, 0x2f, 0x0e, 0x1f, 0xec, 0x90, 0x2f, 0x3e, 0x38, 0x7c, 0xf0,
+	0xc5, 0xe1, 0x83, 0x6f, 0x3e, 0x38, 0xba, 0xba, 0xba, 0xbb, 0xaa, 0xba, 0x1a, 0x93, 0x35, 0x5a,
+	0xdf, 0xa6, 0xb3, 0xfa, 0x97, 0x99, 0x5d, 0x9d, 0x59, 0x95, 0x95, 0x9d, 0x09, 0xa0, 0x6b, 0xed,
+	0x30, 0x6c, 0x77, 0xd8, 0x12, 0xf5, 0xe2, 0xa5, 0xec, 0x67, 0xfa, 0x6b, 0xf7, 0xca, 0x52, 0xcc,
+	0xa2, 0x5d, 0xdf, 0x65, 0x39, 0xb5, 0x49, 0xbd, 0xb8, 0x29, 0x68, 0x8b, 0xbd, 0x28, 0x4c, 0x42,
+	0x7c, 0x2e, 0x1b, 0x59, 0xa4, 0x5e, 0xbc, 0x58, 0x40, 0x17, 0x77, 0xaf, 0x2c, 0xe6, 0xd0, 0xf9,
+	0x57, 0xeb, 0x98, 0xbb, 0x61, 0xb7, 0x1b, 0x06, 0x4b, 0x5d, 0x96, 0x44, 0xbe, 0x1b, 0x67, 0xfc,
+	0xe6, 0x5f, 0x1b, 0x70, 0x77, 0xcc, 0xda, 0x5d, 0x16, 0x24, 0xf9, 0xed, 0x6f, 0xd5, 0xdd, 0xce,
+	0x82, 0x7e, 0x37, 0x5e, 0x8a, 0xfb, 0xdd, 0x2e, 0x8d, 0xf6, 0x9a, 0x51, 0xf8, 0xb4, 0x19, 0xb3,
+	0x24, 0xf1, 0x83, 0xb6, 0x00, 0xbe, 0x59, 0x07, 0x8c, 0x58, 0x1c, 0xf6, 0xa3, 0xf4, 0x99, 0xa9,
+	0xeb, 0x86, 0xfd, 0x20, 0x69, 0x6e, 0xf5, 0xbd, 0x36, 0x4b, 0x04, 0xee, 0xb6, 0x2d, 0xae, 0xd9,
+	0x8b, 0xc2, 0x5e, 0x18, 0xd3, 0x8e, 0x60, 0xf0, 0x3a, 0x80, 0x81, 0xd7, 0x6c, 0x47, 0x61, 0xbf,
+	0x27, 0x10, 0x57, 0xe0, 0x88, 0x26, 0xf5, 0x04, 0xe8, 0x96, 0x15, 0xa8, 0x49, 0xe3, 0x98, 0x25,
+	0xcd, 0x5d, 0x9f, 0x3d, 0x15, 0xf8, 0x6b, 0x76, 0xf8, 0x0e, 0xdd, 0x62, 0x9d, 0x61, 0x44, 0xf7,
+	0x3d, 0x9f, 0x05, 0x2e, 0x93, 0x45, 0xdf, 0xb4, 0xc0, 0x6f, 0xf9, 0x5e, 0xb3, 0x1b, 0x7a, 0x7e,
+	0xcb, 0x67, 0x91, 0x80, 0x2f, 0x5b, 0xc0, 0xdd, 0xc8, 0x4f, 0x58, 0xe4, 0x87, 0x81, 0xc0, 0xbe,
+	0x33, 0x0c, 0x56, 0x79, 0xf8, 0x3b, 0x43, 0x71, 0x88, 0xfd, 0x6e, 0xbf, 0x43, 0x93, 0x52, 0x91,
+	0x55, 0x0b, 0x36, 0xec, 0x59, 0xc2, 0x82, 0x98, 0xb3, 0x51, 0x4c, 0xfc, 0x0d, 0x0b, 0x1e, 0x2d,
+	0xc6, 0x3c, 0x0b, 0xcf, 0xc8, 0x61, 0xf2, 0x93, 0x5f, 0xb7, 0xc0, 0x55, 0x9e, 0xf7, 0x2a, 0x08,
+	0xdc, 0xa3, 0x11, 0xed, 0xb2, 0xa4, 0x78, 0xd5, 0x6f, 0x83, 0x50, 0xb1, 0xbb, 0xcd, 0xbc, 0x7e,
+	0x47, 0xb1, 0x31, 0xc8, 0x43, 0xb6, 0x59, 0x33, 0xa2, 0x41, 0x5b, 0xc1, 0xbd, 0x06, 0xc0, 0xa5,
+	0xae, 0x04, 0x57, 0x70, 0xcb, 0xf7, 0x3c, 0x3f, 0x68, 0x37, 0xe3, 0x24, 0xa2, 0x09, 0x6b, 0xef,
+	0xc1, 0x5f, 0xde, 0x96, 0xdf, 0xe9, 0x70, 0x24, 0x4b, 0x8a, 0xb5, 0x02, 0xb0, 0xba, 0xb8, 0xb4,
+	0xdb, 0xa3, 0x7e, 0x3b, 0x80, 0x7b, 0x6b, 0x8e, 0x18, 0xd6, 0x5b, 0x0b, 0xbc, 0xc1, 0x5b, 0xdf,
+	0xb2, 0x81, 0xcb, 0x0b, 0xf1, 0xb2, 0x05, 0x50, 0x77, 0xf3, 0x3b, 0xc3, 0x60, 0xab, 0x46, 0xfb,
+	0xa6, 0x05, 0x1b, 0x2f, 0xa2, 0xad, 0x04, 0xee, 0x29, 0x05, 0x8e, 0x3d, 0xeb, 0xb1, 0xc8, 0x4f,
+	0xb7, 0x3c, 0xf8, 0xca, 0x20, 0x81, 0x87, 0x5e, 0x19, 0x0a, 0x1e, 0x76, 0x2b, 0x43, 0x01, 0xb3,
+	0x5c, 0x19, 0x0a, 0x5c, 0xbc, 0x4d, 0x23, 0xe6, 0x35, 0xad, 0x5c, 0xc8, 0xa5, 0x51, 0xe4, 0xb3,
+	0xa8, 0xe9, 0x86, 0x41, 0x9c, 0xd0, 0x62, 0xa6, 0x20, 0x4f, 0xb9, 0xcd, 0x1d, 0x3c, 0x4e, 0x68,
+	0xd2, 0xcf, 0x43, 0x8a, 0xcb, 0x00, 0x58, 0xc7, 0x77, 0x77, 0x2c, 0x77, 0x4b, 0x37, 0x0c, 0x76,
+	0x59, 0xc4, 0x5f, 0x06, 0x75, 0x25, 0x23, 0x82, 0x40, 0xfb, 0x51, 0xc4, 0x02, 0x77, 0x4f, 0x7f,
+	0x40, 0x88, 0xef, 0xf4, 0xe3, 0x24, 0xec, 0x36, 0xfd, 0x20, 0x61, 0x11, 0x8b, 0x13, 0x8b, 0x55,
+	0x82, 0x03, 0xad, 0xdc, 0x54, 0x20, 0x9a, 0x6e, 0xc7, 0x2f, 0xcd, 0xf5, 0x86, 0x35, 0xb0, 0xd9,
+	0xf1, 0x83, 0x1d, 0x0b, 0x63, 0xcf, 0xd1, 0x3f, 0xc4, 0xd8, 0x73, 0x1e, 0x96, 0xc6, 0x9e, 0xc3,
+	0x64, 0x63, 0xbf, 0x69, 0x81, 0xeb, 0xd2, 0x80, 0xb6, 0x53, 0x7c, 0xf9, 0xc4, 0x6b, 0x16, 0xf0,
+	0x80, 0xb5, 0x69, 0xe2, 0xef, 0xb2, 0xca, 0xfa, 0x06, 0xd0, 0xc1, 0x63, 0x09, 0xf5, 0x3b, 0xcd,
+	0x5e, 0x87, 0xba, 0x2c, 0x5d, 0x5d, 0x64, 0x6b, 0x06, 0xbc, 0x33, 0xcf, 0x8f, 0x7b, 0x1d, 0xba,
+	0xd7, 0xdc, 0x61, 0x7b, 0x4f, 0xc3, 0xc8, 0x93, 0xd1, 0x6f, 0x80, 0xd0, 0x09, 0xd5, 0xf6, 0x11,
+	0x80, 0x85, 0x79, 0x61, 0x97, 0xfa, 0x41, 0xd3, 0x4d, 0xf7, 0xc9, 0x30, 0xca, 0x77, 0xca, 0xf7,
+	0x01, 0xc0, 0xbd, 0x80, 0x76, 0x7d, 0xb7, 0x19, 0x33, 0x1a, 0xb9, 0xdb, 0xe2, 0x14, 0xc3, 0x7f,
+	0x26, 0x2c, 0xea, 0xca, 0x5a, 0x00, 0x0c, 0x8e, 0x3d, 0xeb, 0xd1, 0xc0, 0x63, 0x69, 0xcc, 0x1b,
+	0xf0, 0x9d, 0xbb, 0x47, 0xd5, 0x18, 0xe1, 0x3a, 0x84, 0x47, 0x6e, 0xab, 0xa9, 0xc5, 0x35, 0xfd,
+	0x84, 0x75, 0x05, 0xf8, 0xd5, 0xc1, 0x60, 0xc9, 0x48, 0x2f, 0xc1, 0xee, 0x96, 0x05, 0xbc, 0x6d,
+	0x01, 0x69, 0x26, 0x34, 0x2a, 0x77, 0xdc, 0xab, 0x40, 0x64, 0x97, 0xf6, 0x7a, 0xa5, 0xfb, 0xdd,
+	0x04, 0xa2, 0xb8, 0x25, 0x6e, 0x87, 0x1d, 0x8f, 0x45, 0xf2, 0x64, 0x02, 0x0e, 0x3f, 0x6d, 0x16,
+	0x68, 0xa0, 0xeb, 0x10, 0x50, 0x28, 0x9e, 0x6e, 0x88, 0x55, 0xb5, 0xcd, 0xc2, 0x76, 0x44, 0x7b,
+	0xdb, 0xbe, 0x6b, 0xe9, 0x36, 0x59, 0xf4, 0x6b, 0x74, 0x3a, 0xc0, 0x7b, 0xd9, 0x0e, 0x13, 0xd6,
+	0x11, 0x11, 0xb4, 0x84, 0xbc, 0x05, 0x45, 0xf6, 0x58, 0xd4, 0x0a, 0xa3, 0xae, 0xee, 0x79, 0x80,
+	0xf7, 0x9a, 0xbb, 0x79, 0xaf, 0x43, 0x2d, 0xd6, 0x18, 0x19, 0xd5, 0xd4, 0x0e, 0xb5, 0xb6, 0x70,
+	0x2d, 0x6a, 0xbd, 0x61, 0x09, 0x17, 0x17, 0xf0, 0xf8, 0x4f, 0x41, 0x17, 0x0b, 0xad, 0xca, 0xc6,
+	0x62, 0xe2, 0xec, 0x8e, 0x10, 0xf2, 0x7e, 0x72, 0x0d, 0x72, 0xbb, 0x79, 0x21, 0x82, 0x41, 0xdb,
+	0xfd, 0x14, 0x66, 0x1f, 0x3b, 0x75, 0x42, 0x97, 0x07, 0xc3, 0x96, 0xa6, 0x98, 0xed, 0x79, 0x9e,
+	0xd9, 0x09, 0x00, 0xb1, 0x57, 0x97, 0x79, 0x3e, 0x6d, 0xb6, 0xfc, 0x8e, 0xc8, 0x40, 0xcd, 0xaf,
+	0x03, 0x30, 0xe1, 0x96, 0xdf, 0x61, 0x4d, 0xda, 0xeb, 0x15, 0x9b, 0x87, 0xfe, 0xc0, 0xb7, 0xc0,
+	0x5c, 0x3c, 0xb6, 0xeb, 0xbb, 0x95, 0x09, 0x83, 0x68, 0xde, 0x4f, 0x68, 0xc2, 0x9a, 0x9f, 0x87,
+	0x5b, 0x70, 0x1f, 0x08, 0x5b, 0xad, 0x8e, 0x1f, 0xb0, 0x66, 0x3f, 0x66, 0x51, 0xd3, 0xa3, 0x09,
+	0x95, 0xe0, 0xef, 0x01, 0xe0, 0x3d, 0x16, 0xd1, 0x84, 0x1f, 0x12, 0xf7, 0xe2, 0x74, 0x41, 0xcf,
+	0x43, 0x50, 0x4d, 0x7b, 0x80, 0x43, 0xf4, 0xa8, 0xef, 0x35, 0xc3, 0xa8, 0x4d, 0x83, 0x72, 0x23,
+	0xd5, 0x77, 0xcf, 0x1b, 0x10, 0x36, 0x11, 0x0b, 0x12, 0xda, 0x11, 0x31, 0xb7, 0x8c, 0x06, 0x3c,
+	0x4f, 0x2f, 0x0a, 0xbd, 0xbe, 0x9b, 0x34, 0xf3, 0x43, 0x73, 0xdd, 0xdb, 0x5c, 0x86, 0xb3, 0xaa,
+	0x2c, 0xa7, 0x80, 0xc0, 0x2f, 0x62, 0x6e, 0xd8, 0xed, 0xb2, 0xc0, 0x93, 0x4f, 0x83, 0xcb, 0x10,
+	0x5c, 0x97, 0x46, 0x3b, 0x8c, 0xbf, 0x10, 0xe5, 0x10, 0x00, 0x58, 0xfc, 0x6b, 0xa6, 0x1c, 0x82,
+	0xcc, 0x8e, 0x54, 0x7a, 0x90, 0x78, 0x19, 0x8c, 0x2c, 0x0f, 0x63, 0x2b, 0x10, 0x4c, 0xc8, 0xb7,
+	0xff, 0xba, 0xdd, 0x06, 0x30, 0xbd, 0x49, 0xd8, 0xf3, 0xdd, 0x21, 0x1c, 0x2c, 0xc3, 0xd9, 0x85,
+	0xa2, 0xdc, 0xb1, 0xb4, 0xe3, 0xd1, 0x25, 0x20, 0xac, 0xe3, 0xc7, 0x16, 0x06, 0x97, 0x41, 0x0c,
+	0x8b, 0x26, 0x60, 0x43, 0xd8, 0xf5, 0x3d, 0x16, 0x0e, 0xca, 0x51, 0x16, 0xc9, 0xfa, 0x4a, 0x62,
+	0x56, 0xcd, 0xd9, 0xd7, 0x2b, 0x6b, 0xe4, 0xa0, 0x62, 0xd7, 0xe1, 0x58, 0x39, 0xdb, 0xa3, 0x71,
+	0xb9, 0x07, 0xe7, 0xa2, 0xa5, 0x59, 0x35, 0x46, 0x2b, 0xc3, 0x30, 0x52, 0x59, 0xbc, 0x07, 0x67,
+	0x51, 0x39, 0x62, 0x6a, 0xac, 0x6e, 0xc0, 0x59, 0xf1, 0x98, 0x57, 0x45, 0xdf, 0x84, 0xa3, 0x4d,
+	0x53, 0xf1, 0x16, 0x1c, 0xae, 0x02, 0xaf, 0x43, 0x80, 0x45, 0xea, 0x55, 0x03, 0x5f, 0x82, 0x80,
+	0x55, 0xc8, 0xd5, 0xc1, 0x10, 0xfe, 0x35, 0x42, 0x45, 0xdd, 0x1e, 0x88, 0xd2, 0x33, 0xa9, 0xd6,
+	0x96, 0x6b, 0xcc, 0x53, 0x6a, 0x5c, 0x6e, 0x59, 0x70, 0xc9, 0xbe, 0xff, 0xd8, 0x1a, 0xac, 0x29,
+	0xf3, 0x68, 0x69, 0x27, 0x6a, 0xd6, 0x51, 0x83, 0xaf, 0xc2, 0xe1, 0x65, 0xf2, 0xd1, 0xda, 0x67,
+	0xea, 0x73, 0x90, 0xd6, 0x3e, 0xa3, 0xa4, 0x22, 0x87, 0x9f, 0x8b, 0xe1, 0x7c, 0xa6, 0x4c, 0x4c,
+	0x0e, 0x3b, 0x89, 0xe5, 0x26, 0xaa, 0xf1, 0x18, 0xbc, 0x90, 0x57, 0x72, 0x86, 0xf6, 0xaf, 0xa1,
+	0x36, 0x3b, 0x66, 0xff, 0x1a, 0xe4, 0x24, 0x99, 0xfd, 0x6b, 0x50, 0x72, 0x65, 0x1a, 0xfc, 0xc7,
+	0x70, 0x78, 0x35, 0xe7, 0x65, 0xff, 0x4a, 0x73, 0x5e, 0xb6, 0xaf, 0xd4, 0x90, 0xb5, 0xd1, 0x78,
+	0xbc, 0x3d, 0x90, 0x47, 0x1d, 0xf2, 0xb6, 0x05, 0x52, 0xe4, 0x2d, 0x6c, 0x57, 0x71, 0x39, 0x39,
+	0xa3, 0x81, 0xaf, 0xc0, 0xc0, 0xb6, 0xeb, 0xb8, 0xe9, 0x5d, 0x0f, 0xae, 0x35, 0x28, 0x4f, 0x78,
+	0xd6, 0x6b, 0x67, 0x35, 0xc0, 0xb6, 0x9e, 0x66, 0x3d, 0x5a, 0xb6, 0x56, 0xbf, 0xd6, 0xdf, 0x07,
+	0x1b, 0x47, 0x11, 0x55, 0x6a, 0xc8, 0x53, 0x39, 0xb2, 0xe7, 0x2f, 0xd1, 0x20, 0x08, 0x13, 0x1e,
+	0x43, 0xe6, 0x1f, 0x2c, 0xe6, 0xa4, 0x51, 0x25, 0xf7, 0x7e, 0x56, 0x1a, 0x68, 0xf9, 0xac, 0xe3,
+	0x35, 0xb7, 0xd8, 0x36, 0xdd, 0xf5, 0xc3, 0x3c, 0xab, 0x2f, 0x8a, 0x37, 0x96, 0xf8, 0xd5, 0x56,
+	0xbf, 0x25, 0xee, 0xea, 0xd2, 0x78, 0x47, 0xe3, 0x1d, 0xf5, 0xdc, 0x25, 0xf9, 0x2b, 0xc9, 0xc2,
+	0x7f, 0x8e, 0xa0, 0xe3, 0x9b, 0xfc, 0x48, 0x72, 0x8f, 0xdf, 0xb1, 0xe2, 0xc5, 0x0e, 0x7b, 0xd2,
+	0x67, 0x71, 0x82, 0xcf, 0xa3, 0xb1, 0xc2, 0xc5, 0x7c, 0x8f, 0x34, 0xce, 0x35, 0x2e, 0x1c, 0x59,
+	0x3d, 0xf0, 0xaf, 0x2b, 0x23, 0x0e, 0xca, 0xe9, 0xef, 0x79, 0xf8, 0x04, 0x3a, 0xf8, 0xa4, 0xcf,
+	0xa2, 0x3d, 0x32, 0x52, 0x8e, 0x67, 0x14, 0x7c, 0x1a, 0x21, 0x9e, 0xca, 0x48, 0xc2, 0x1d, 0x16,
+	0x90, 0x03, 0xe9, 0xb8, 0x73, 0x24, 0xa5, 0x3c, 0x4a, 0x09, 0xf8, 0x24, 0xe2, 0x17, 0xcd, 0xd8,
+	0xff, 0x82, 0x91, 0x1f, 0x9d, 0x6b, 0x5c, 0x38, 0xe8, 0x8c, 0xa6, 0x84, 0x4d, 0xff, 0x0b, 0x86,
+	0x9f, 0x47, 0x47, 0x77, 0x69, 0xc7, 0xf7, 0xd2, 0x93, 0x76, 0x18, 0x74, 0xf6, 0xc8, 0xc1, 0x73,
+	0x8d, 0x0b, 0xa3, 0xce, 0x78, 0x4e, 0x7c, 0x18, 0x74, 0xf6, 0xf0, 0x75, 0x34, 0x1f, 0xb1, 0xa4,
+	0x1f, 0x05, 0xcd, 0x24, 0x4c, 0xcf, 0xa2, 0x11, 0x8b, 0xfb, 0x9d, 0x24, 0x6e, 0xf2, 0xba, 0x0d,
+	0x72, 0x98, 0x23, 0xe6, 0xb2, 0x3b, 0x1e, 0xa5, 0x37, 0x38, 0xd9, 0xf8, 0x5a, 0x3a, 0x8c, 0x77,
+	0xd1, 0x8c, 0xa1, 0xac, 0x84, 0x8c, 0x9e, 0x6b, 0x5c, 0x98, 0xb8, 0x7c, 0x77, 0xb1, 0xae, 0x1e,
+	0x86, 0x17, 0xa4, 0x2c, 0x6e, 0x66, 0x48, 0x27, 0x7c, 0xba, 0x99, 0xe1, 0xee, 0x04, 0xfd, 0x6e,
+	0x95, 0xea, 0x4c, 0xc7, 0x3a, 0x69, 0xe1, 0xef, 0x46, 0xd0, 0x5c, 0x65, 0xc6, 0xe3, 0x5e, 0x18,
+	0xc4, 0x0c, 0xbf, 0x8b, 0x0e, 0x8b, 0x67, 0x20, 0x8d, 0x73, 0x07, 0x2e, 0x8c, 0x5d, 0x5e, 0x5c,
+	0x1c, 0x54, 0x97, 0xb3, 0x58, 0x72, 0x09, 0x9f, 0x3a, 0x39, 0x1c, 0xbf, 0x88, 0x26, 0x03, 0xf6,
+	0x2c, 0x69, 0x4a, 0x2f, 0x80, 0xbf, 0x20, 0xe7, 0x68, 0x4a, 0xde, 0x28, 0x5e, 0xc2, 0x22, 0x9a,
+	0x31, 0xcd, 0x5d, 0xfa, 0xb2, 0x0e, 0x38, 0xd3, 0x49, 0x65, 0xd6, 0xae, 0x21, 0x54, 0x1a, 0x17,
+	0x7f, 0x29, 0x63, 0x97, 0xe7, 0x73, 0x25, 0x73, 0xfb, 0x5b, 0xbc, 0x9b, 0xde, 0xf2, 0x80, 0xc6,
+	0x3b, 0xce, 0x91, 0x56, 0xfe, 0x13, 0x3f, 0x44, 0x63, 0xd2, 0x84, 0x93, 0x43, 0x1c, 0x6b, 0xfb,
+	0x80, 0xa8, 0x9c, 0xd0, 0x85, 0x7f, 0x6a, 0xa0, 0x53, 0xda, 0x4c, 0x6e, 0x26, 0x11, 0xa3, 0xdd,
+	0xdf, 0x9b, 0x05, 0xd7, 0xd8, 0xc8, 0x81, 0xff, 0x6b, 0x1b, 0xf9, 0xef, 0x06, 0x3a, 0x5d, 0xf3,
+	0x64, 0xbf, 0x77, 0x4b, 0x51, 0xdf, 0xe8, 0xc8, 0x0f, 0x78, 0xa3, 0x07, 0x7e, 0xf0, 0x1b, 0xfd,
+	0xee, 0x3e, 0x1a, 0x97, 0x07, 0xf1, 0x87, 0x68, 0x42, 0x2d, 0xc3, 0x22, 0x17, 0xb9, 0x90, 0xd7,
+	0x6b, 0x85, 0x14, 0x87, 0xed, 0xc5, 0x95, 0x0c, 0xb8, 0xca, 0x71, 0xce, 0x51, 0x2a, 0x5f, 0xe2,
+	0x1e, 0x9a, 0xab, 0xa9, 0xef, 0x22, 0xaf, 0x70, 0x09, 0x6f, 0xdb, 0x4a, 0xd8, 0x10, 0x78, 0x67,
+	0x96, 0x9a, 0xc8, 0xf8, 0x0e, 0x1a, 0xcd, 0x0f, 0x6e, 0x62, 0xa6, 0x2e, 0x42, 0x44, 0x78, 0xf7,
+	0x52, 0x84, 0x73, 0x98, 0x66, 0x3f, 0xf0, 0x7d, 0x34, 0x26, 0x9d, 0xea, 0xc9, 0x14, 0xe7, 0xf4,
+	0x2a, 0x9c, 0xd3, 0x8a, 0xe7, 0x1c, 0xa1, 0xf9, 0x4f, 0xfc, 0x39, 0x3a, 0x6e, 0x2e, 0x1f, 0x23,
+	0xbf, 0x6a, 0x70, 0xce, 0x6f, 0xd8, 0x70, 0x5e, 0x49, 0xe1, 0x8f, 0x7d, 0xf6, 0xd4, 0xc1, 0xb4,
+	0x42, 0xc3, 0x9f, 0xa1, 0xe9, 0x4a, 0x46, 0x83, 0x3c, 0xe3, 0x52, 0x2e, 0xd9, 0x48, 0xb9, 0x9f,
+	0x02, 0x9d, 0x09, 0xaa, 0x5c, 0xe3, 0x1d, 0xf9, 0x49, 0xe4, 0xfa, 0x16, 0x72, 0x8d, 0x8b, 0x78,
+	0xd3, 0x42, 0x84, 0x80, 0xf3, 0x27, 0x99, 0xa1, 0x55, 0x22, 0xde, 0x46, 0xb3, 0xc6, 0xf4, 0x08,
+	0x21, 0xb6, 0x93, 0xb6, 0xea, 0x7b, 0x0f, 0x04, 0xb8, 0x98, 0x34, 0x89, 0x86, 0x29, 0xc2, 0xd5,
+	0xcc, 0x07, 0x99, 0xe6, 0x62, 0xae, 0xc0, 0xc5, 0xac, 0xe5, 0x50, 0x67, 0x8a, 0x6a, 0x14, 0xfc,
+	0x04, 0x91, 0xba, 0x2c, 0x0d, 0xd9, 0x83, 0xfb, 0x82, 0xc6, 0x36, 0x7b, 0x4b, 0xb3, 0xd4, 0x44,
+	0xc6, 0xdf, 0x34, 0xd0, 0xe9, 0x7d, 0xcb, 0xe7, 0x48, 0xc0, 0x05, 0xdf, 0x1c, 0x42, 0xf0, 0x66,
+	0xc1, 0xc4, 0x99, 0xa7, 0xb5, 0x63, 0xf8, 0x29, 0x9a, 0xaf, 0xcf, 0x07, 0x91, 0x1e, 0x17, 0xbf,
+	0x0c, 0x17, 0x7f, 0x27, 0x67, 0x91, 0xaf, 0xea, 0x73, 0xd4, 0x3c, 0x80, 0x1d, 0x74, 0x54, 0xc9,
+	0x1e, 0x91, 0xb5, 0x01, 0xcb, 0x66, 0x45, 0xd6, 0x5d, 0xc6, 0x3c, 0x67, 0x8c, 0x96, 0x17, 0xf8,
+	0x03, 0x34, 0xa1, 0xe6, 0x94, 0x48, 0xcc, 0x99, 0x2e, 0xc1, 0x99, 0x66, 0xef, 0x6b, 0x9c, 0x4a,
+	0x57, 0xd8, 0x43, 0x33, 0x86, 0x52, 0x3f, 0xb2, 0xc3, 0x79, 0x5f, 0x85, 0xf3, 0x96, 0x5e, 0xc9,
+	0x34, 0xd5, 0x49, 0xd8, 0x41, 0xe3, 0x72, 0x62, 0x8a, 0x7c, 0xdb, 0xb0, 0x98, 0x90, 0x8d, 0x1c,
+	0x96, 0x4e, 0x48, 0x71, 0xc1, 0x27, 0x44, 0xa9, 0xfb, 0x23, 0xaf, 0xc3, 0x27, 0xa4, 0xcd, 0x9c,
+	0x14, 0xc7, 0xdd, 0x7f, 0x9c, 0x4a, 0x57, 0xf8, 0x53, 0x34, 0xa5, 0x17, 0x22, 0x92, 0x8f, 0x2d,
+	0x56, 0xb0, 0x4d, 0x81, 0xe4, 0xac, 0x27, 0xa8, 0x72, 0x8d, 0x3f, 0x41, 0x93, 0x5a, 0x65, 0x04,
+	0xf9, 0x14, 0xcc, 0x7b, 0x9d, 0x23, 0xd7, 0x04, 0xd0, 0x99, 0xf0, 0x94, 0x6b, 0x7c, 0x0b, 0x1d,
+	0xe4, 0x6b, 0x3b, 0xf1, 0x39, 0xc7, 0x0b, 0x10, 0x6d, 0xd3, 0xfb, 0x9d, 0x0c, 0x86, 0x7f, 0x8a,
+	0xa6, 0xf4, 0xb4, 0x1c, 0xc1, 0x9c, 0xd5, 0x65, 0x00, 0xab, 0xd5, 0x0c, 0xba, 0x29, 0x90, 0xce,
+	0xe4, 0x96, 0x4a, 0xc0, 0x8f, 0xd0, 0x51, 0xa5, 0x0a, 0x92, 0xbc, 0x0c, 0x7e, 0x5b, 0xab, 0x19,
+	0x6e, 0x33, 0x85, 0x39, 0xe3, 0x5b, 0xd2, 0x55, 0x3a, 0xa1, 0x5a, 0x12, 0x8f, 0xcc, 0x80, 0x27,
+	0x74, 0x4d, 0x20, 0x45, 0xf8, 0x30, 0xe1, 0x2a, 0xd7, 0xf8, 0x1e, 0x1a, 0xcd, 0x29, 0x22, 0x66,
+	0x7a, 0xc5, 0x82, 0xa9, 0x53, 0x80, 0x71, 0x17, 0x1d, 0x37, 0xd7, 0x65, 0x92, 0x3b, 0x9c, 0xed,
+	0x5b, 0x16, 0x6c, 0x95, 0x8d, 0xeb, 0x98, 0x6b, 0xa0, 0xe2, 0xcf, 0xd1, 0xac, 0x31, 0x3d, 0x4a,
+	0xe6, 0xc1, 0xbb, 0x64, 0x31, 0x33, 0xd2, 0xd6, 0x35, 0xe3, 0x56, 0x89, 0xd8, 0x45, 0xb8, 0x9a,
+	0x04, 0x25, 0xc7, 0xc0, 0xab, 0x47, 0x2e, 0xa8, 0xdc, 0xbc, 0xa6, 0x5d, 0x9d, 0x84, 0xbf, 0x6d,
+	0xa0, 0xd3, 0xfb, 0x16, 0x79, 0x92, 0x90, 0x0b, 0xbc, 0x35, 0x8c, 0x40, 0x69, 0xe1, 0x3a, 0xe9,
+	0xd6, 0x0f, 0xa6, 0x61, 0xaa, 0x9a, 0xab, 0x25, 0x97, 0xc0, 0x61, 0x6a, 0x2e, 0x74, 0x3d, 0xc5,
+	0x39, 0x47, 0x5d, 0xf9, 0x12, 0xb7, 0xd0, 0x8c, 0x21, 0x8b, 0x4b, 0x1e, 0x81, 0xc3, 0x8c, 0x9c,
+	0xfb, 0x9d, 0x02, 0xec, 0x14, 0x2f, 0xa5, 0xa4, 0xe1, 0x3d, 0x34, 0x5f, 0x9f, 0xe9, 0x25, 0x4f,
+	0xb8, 0xb8, 0xeb, 0x56, 0xe2, 0xb4, 0xed, 0x90, 0xb8, 0x35, 0x23, 0xa9, 0xef, 0x2b, 0x99, 0x61,
+	0x72, 0x1b, 0xec, 0xfb, 0xb9, 0x34, 0xbe, 0x21, 0x8e, 0xbb, 0xd2, 0x95, 0xf2, 0x46, 0xb2, 0x1d,
+	0xb1, 0x63, 0xfd, 0x46, 0xb2, 0x2d, 0xb1, 0xd0, 0xae, 0xd8, 0x13, 0x0d, 0x29, 0x61, 0x72, 0xc6,
+	0xda, 0xaa, 0x37, 0x39, 0x78, 0x93, 0x25, 0xa5, 0x55, 0x17, 0xa4, 0x74, 0xbd, 0xd5, 0xab, 0x61,
+	0xc9, 0x2a, 0x78, 0xbd, 0x5d, 0xcb, 0xa0, 0x6b, 0x02, 0xe9, 0x4c, 0xba, 0x2a, 0x81, 0xcf, 0xb9,
+	0x5c, 0x32, 0x4b, 0x5e, 0x80, 0xcf, 0x39, 0xc7, 0x6d, 0x72, 0x98, 0x33, 0xee, 0x4a, 0x57, 0xf8,
+	0x67, 0x68, 0xba, 0x92, 0xe9, 0x26, 0x6d, 0x70, 0xa8, 0xba, 0x56, 0x60, 0x57, 0x38, 0xd4, 0x99,
+	0x72, 0x35, 0x0a, 0x7e, 0x1f, 0xa1, 0xb2, 0x66, 0x97, 0x7c, 0x01, 0x3e, 0xfb, 0xac, 0xa5, 0x20,
+	0xbe, 0x2a, 0x1e, 0x71, 0xf3, 0x9f, 0x98, 0xa2, 0xe9, 0x4a, 0x45, 0x2e, 0xf9, 0xa3, 0x06, 0x5c,
+	0x5f, 0x01, 0x2e, 0xa6, 0x79, 0xca, 0xd5, 0x28, 0x7c, 0x07, 0x52, 0x2b, 0x77, 0xc9, 0x36, 0x7c,
+	0x07, 0xe2, 0xc8, 0xf7, 0x04, 0xd0, 0x99, 0x70, 0x95, 0x6b, 0xbe, 0x03, 0x89, 0x24, 0x06, 0x69,
+	0xc0, 0x77, 0x20, 0x01, 0x71, 0x0a, 0x30, 0xdf, 0x12, 0x4c, 0x95, 0xac, 0xe4, 0x26, 0x7c, 0x4b,
+	0x10, 0xf8, 0x07, 0x19, 0xfc, 0xbe, 0x1f, 0xec, 0x38, 0x33, 0x6e, 0x95, 0x88, 0xdb, 0xe8, 0x98,
+	0xa9, 0x4c, 0x98, 0xdc, 0x82, 0x2f, 0x68, 0x02, 0xbe, 0xc6, 0xd1, 0x5c, 0x12, 0x76, 0x2b, 0xb4,
+	0x72, 0xe6, 0x0b, 0x41, 0xe4, 0xae, 0xe5, 0xcc, 0xe7, 0xfc, 0xf2, 0x99, 0xcf, 0xaf, 0xf9, 0x62,
+	0x59, 0xfb, 0x3d, 0x86, 0x44, 0xf0, 0xc5, 0x52, 0x30, 0x31, 0x2c, 0x96, 0x35, 0x23, 0xdc, 0x71,
+	0xe5, 0xef, 0x37, 0xe4, 0x1d, 0xb8, 0xe3, 0x0a, 0x9c, 0x58, 0x2c, 0xa5, 0x2b, 0xbe, 0x58, 0x2a,
+	0xdf, 0x75, 0xc8, 0xcf, 0xe1, 0x8b, 0xa5, 0x00, 0xe6, 0x8b, 0xa5, 0x7c, 0x89, 0x7f, 0x8e, 0x4e,
+	0xee, 0xf3, 0xc5, 0x87, 0x7c, 0xc4, 0xa5, 0xdc, 0xb0, 0x90, 0xf2, 0x13, 0xc1, 0xa4, 0x0c, 0x09,
+	0x4e, 0xb8, 0x75, 0x43, 0xa9, 0x61, 0x1b, 0xcb, 0xa3, 0xc9, 0x2e, 0xd8, 0xb0, 0xd7, 0x39, 0x7e,
+	0x23, 0x87, 0x67, 0x19, 0x01, 0xaf, 0x4a, 0x4c, 0x0d, 0xdb, 0x54, 0x4b, 0x4d, 0x96, 0xc0, 0x86,
+	0xbd, 0x9e, 0xc1, 0xdf, 0xcf, 0xd0, 0x59, 0x16, 0xc5, 0xab, 0xd0, 0xf0, 0x07, 0xe8, 0xa8, 0x52,
+	0x76, 0x4d, 0x7e, 0xdd, 0x00, 0x9b, 0xc0, 0xba, 0x00, 0x66, 0x27, 0x1b, 0x4f, 0xba, 0xc2, 0xbf,
+	0x6d, 0xa0, 0xe7, 0x01, 0xe5, 0xd5, 0xe4, 0x73, 0x2e, 0x6c, 0x05, 0x22, 0x2c, 0xe3, 0x96, 0xa5,
+	0x31, 0x57, 0xbc, 0x38, 0xfb, 0xf1, 0x88, 0x45, 0x5d, 0x2e, 0xfe, 0x8c, 0xb7, 0xef, 0x38, 0x7e,
+	0x86, 0xe6, 0xeb, 0x2b, 0xb4, 0xc9, 0x37, 0x0d, 0xf0, 0x01, 0xfd, 0x8e, 0xe0, 0x72, 0x3f, 0x63,
+	0xb2, 0x41, 0xc5, 0xc9, 0x6e, 0x8e, 0x99, 0x07, 0xd2, 0x1d, 0xde, 0xf0, 0x85, 0x90, 0x7c, 0x00,
+	0xde, 0xe1, 0x0b, 0xaf, 0x4d, 0x9d, 0xeb, 0xbd, 0x84, 0x75, 0x9d, 0x69, 0xa6, 0x93, 0xf0, 0x75,
+	0xf4, 0x23, 0xee, 0xc0, 0x8b, 0x9c, 0xed, 0x4b, 0x00, 0xb6, 0xdc, 0x71, 0x39, 0x08, 0xbf, 0x8b,
+	0x8e, 0x94, 0x8a, 0x5d, 0x06, 0x2f, 0xfe, 0x85, 0x3e, 0xa3, 0xad, 0x5c, 0x8d, 0x4f, 0xd1, 0x94,
+	0xfe, 0x41, 0x92, 0x24, 0xe0, 0x85, 0x32, 0x67, 0xf8, 0x88, 0x03, 0x9d, 0x89, 0x96, 0x72, 0x8d,
+	0xff, 0x3f, 0x1a, 0x97, 0x3f, 0x56, 0x92, 0x65, 0xf0, 0xc1, 0x3e, 0x65, 0xfc, 0x20, 0x43, 0x39,
+	0x63, 0xad, 0xf2, 0x22, 0xf5, 0x69, 0x63, 0x99, 0x39, 0xa1, 0x60, 0x9f, 0x4e, 0x79, 0x6f, 0x94,
+	0xf0, 0xcc, 0xa7, 0x5b, 0x55, 0x22, 0xfe, 0x09, 0x1a, 0x93, 0x6a, 0xd2, 0xc9, 0x05, 0x2e, 0xe1,
+	0x35, 0x80, 0x84, 0x7b, 0x1c, 0xc5, 0x19, 0xa3, 0x76, 0xf1, 0x3b, 0x35, 0x2c, 0x43, 0xb9, 0x3a,
+	0x99, 0x03, 0x1b, 0xd6, 0x3d, 0x16, 0x66, 0x33, 0x5b, 0x84, 0x1c, 0xd3, 0x6d, 0x9d, 0x94, 0xee,
+	0x7c, 0x5a, 0x5d, 0x3b, 0xf9, 0x0a, 0xfc, 0x42, 0xef, 0x15, 0xc8, 0x2c, 0x45, 0xd1, 0x56, 0xae,
+	0xd3, 0x55, 0xce, 0x54, 0xfa, 0x4e, 0x9e, 0x82, 0x57, 0x39, 0x9e, 0xfc, 0x51, 0xd7, 0x53, 0xdc,
+	0xae, 0xd0, 0x52, 0xb3, 0xd4, 0xab, 0xe4, 0xc9, 0x15, 0xf0, 0x53, 0xbc, 0x9b, 0x42, 0xb9, 0xa4,
+	0xec, 0x29, 0xb6, 0x95, 0xeb, 0xf4, 0xc8, 0x6d, 0x2e, 0xa4, 0x27, 0xf7, 0xc0, 0x47, 0x6e, 0x2e,
+	0x62, 0xa3, 0xc4, 0x67, 0x47, 0xee, 0x6d, 0x03, 0x35, 0xf5, 0x02, 0x65, 0x4b, 0x98, 0x05, 0x7b,
+	0x81, 0xbc, 0x17, 0x8c, 0xed, 0x48, 0x9b, 0x80, 0xc4, 0xb2, 0xd7, 0xa1, 0x01, 0x39, 0x67, 0xcb,
+	0x72, 0xa3, 0x43, 0x83, 0x82, 0x65, 0x7a, 0x91, 0x3a, 0x96, 0xb1, 0x50, 0x9f, 0x3c, 0x07, 0x76,
+	0x2c, 0x89, 0x77, 0x91, 0xe8, 0x98, 0xd9, 0xa9, 0x12, 0x79, 0xfa, 0x77, 0xdf, 0xc2, 0x7c, 0xb2,
+	0x00, 0x4e, 0xff, 0x4a, 0x42, 0xf3, 0x08, 0x40, 0x90, 0x9c, 0xf9, 0x9d, 0xda, 0x31, 0xbc, 0xad,
+	0x3d, 0x6e, 0xf1, 0x69, 0xe6, 0x79, 0xb0, 0x29, 0x4b, 0x92, 0xf3, 0xaf, 0x34, 0x78, 0xa7, 0x42,
+	0x4b, 0x7d, 0xc6, 0xd4, 0xc2, 0x40, 0xce, 0x0f, 0x23, 0x28, 0x7f, 0x34, 0x59, 0x50, 0xfe, 0x48,
+	0xb7, 0xd0, 0xc1, 0x2c, 0x78, 0xbb, 0x0a, 0xce, 0xf1, 0x65, 0x41, 0x5b, 0x06, 0xc3, 0x7f, 0x80,
+	0xa6, 0xab, 0x1b, 0xed, 0xd7, 0xe0, 0x43, 0xa7, 0xbe, 0xbf, 0x4e, 0x76, 0xb4, 0x7d, 0xf5, 0x67,
+	0x9c, 0xbf, 0xda, 0xa6, 0x40, 0xde, 0x02, 0x1f, 0xb7, 0xee, 0x0b, 0x6c, 0x79, 0xdc, 0xea, 0x68,
+	0x94, 0x34, 0x3a, 0x56, 0x0a, 0x73, 0xc9, 0x97, 0xe0, 0xd0, 0xe8, 0xbe, 0xc0, 0x65, 0xa1, 0x51,
+	0x47, 0xba, 0x4a, 0x97, 0x0b, 0x73, 0xb3, 0x03, 0x79, 0x03, 0xbc, 0x5c, 0x64, 0x67, 0x20, 0x4f,
+	0x5d, 0xf8, 0x8e, 0x75, 0x0d, 0xd4, 0xf4, 0x8c, 0x5b, 0x56, 0xce, 0x90, 0x4f, 0xc0, 0x67, 0xdc,
+	0x07, 0x29, 0xe8, 0xae, 0xdf, 0x61, 0xce, 0x91, 0x6e, 0xfe, 0x13, 0x7f, 0x85, 0x4e, 0xed, 0xd7,
+	0x34, 0x41, 0x3e, 0x04, 0x47, 0xe0, 0x0f, 0x38, 0x9b, 0x95, 0x5e, 0x2f, 0xcf, 0x29, 0x17, 0xef,
+	0xe1, 0x44, 0xb7, 0x6e, 0x88, 0x4f, 0x9d, 0xb1, 0xdb, 0x82, 0x6c, 0xc1, 0xa7, 0x8e, 0x33, 0x58,
+	0xe7, 0xf8, 0x42, 0xe6, 0xb1, 0xae, 0x81, 0xca, 0xa7, 0xae, 0x68, 0xce, 0x20, 0xbf, 0x80, 0x4f,
+	0x1d, 0x07, 0xfd, 0x38, 0xdc, 0x72, 0x8e, 0x74, 0xf3, 0x9f, 0xd8, 0x47, 0xb3, 0xc6, 0xae, 0x0d,
+	0xf2, 0xc7, 0xf0, 0x2f, 0xa3, 0x0f, 0x33, 0x06, 0x1f, 0xc4, 0x2c, 0x5a, 0xa7, 0x09, 0x4d, 0x25,
+	0xe0, 0xb0, 0x42, 0xc3, 0x7f, 0xda, 0x40, 0xcf, 0x0d, 0x6c, 0xf1, 0x20, 0x8f, 0xc1, 0xa1, 0xf7,
+	0xc3, 0x9c, 0xd7, 0x26, 0x67, 0xf5, 0x38, 0xe3, 0x54, 0x4c, 0xde, 0x99, 0x70, 0xdf, 0x71, 0xfc,
+	0x0b, 0x74, 0x7a, 0xdf, 0x2e, 0x11, 0xf2, 0xcb, 0x06, 0xd8, 0x6c, 0x36, 0xa8, 0xef, 0x3d, 0xcc,
+	0xf8, 0x68, 0x07, 0x80, 0x13, 0xbd, 0xba, 0xa1, 0x74, 0xc9, 0x34, 0xf5, 0x97, 0x90, 0xd7, 0xc0,
+	0x13, 0xbf, 0x21, 0xe0, 0x59, 0x66, 0x2a, 0x0b, 0x33, 0x7a, 0x15, 0x1a, 0x9f, 0xf8, 0x81, 0xbd,
+	0x28, 0xa4, 0x0b, 0x9e, 0xf8, 0x8d, 0x8c, 0x97, 0xf8, 0xde, 0x51, 0xf1, 0x94, 0x33, 0xbd, 0x7d,
+	0xc7, 0x31, 0x45, 0xb8, 0xda, 0xce, 0x42, 0xde, 0x04, 0x2f, 0x91, 0x42, 0x7c, 0x19, 0xf9, 0x4c,
+	0xf5, 0x34, 0x0a, 0xfe, 0x18, 0x4d, 0xa8, 0x5d, 0x2f, 0xe4, 0x38, 0x38, 0xac, 0x72, 0x14, 0xa0,
+	0xa3, 0x31, 0x4a, 0x63, 0xb6, 0x8a, 0xa5, 0xac, 0x83, 0x99, 0x6b, 0xd6, 0x31, 0x11, 0xab, 0x26,
+	0xf1, 0x53, 0x34, 0xa5, 0x57, 0xf4, 0x91, 0xd3, 0xe0, 0xbd, 0x29, 0x4b, 0xac, 0x96, 0x49, 0x83,
+	0xc9, 0x58, 0x25, 0xa4, 0x2b, 0x87, 0x94, 0xcc, 0x3d, 0x09, 0x5e, 0x39, 0xca, 0x24, 0xee, 0x91,
+	0xb8, 0x48, 0xde, 0xee, 0xa2, 0x13, 0xb5, 0xdd, 0x33, 0xa4, 0x0f, 0x3e, 0xb8, 0x6e, 0x0a, 0x1e,
+	0x7a, 0x94, 0x39, 0x17, 0x9b, 0x07, 0xd2, 0x87, 0x28, 0x5b, 0x67, 0xc8, 0xab, 0xe0, 0x87, 0x78,
+	0x94, 0x82, 0xb2, 0xec, 0x68, 0x92, 0xff, 0x4c, 0xf7, 0x52, 0xa5, 0xa7, 0x86, 0x5c, 0x07, 0xef,
+	0xa5, 0xe9, 0xd2, 0x56, 0xa4, 0x2d, 0xc7, 0xfb, 0xd2, 0x55, 0x7a, 0x70, 0x2d, 0x8a, 0x23, 0xc9,
+	0x8b, 0xe0, 0x83, 0x6b, 0xca, 0xf1, 0xbe, 0x1f, 0x27, 0xce, 0x68, 0x5f, 0xfc, 0xc2, 0x5b, 0x08,
+	0x57, 0x3b, 0x71, 0xc8, 0x6f, 0xe0, 0xe9, 0x5b, 0xce, 0x53, 0xde, 0xf5, 0xa7, 0xfa, 0x1a, 0x05,
+	0xbb, 0x08, 0x57, 0x2b, 0x51, 0xc9, 0x0d, 0xf0, 0x79, 0xcd, 0x29, 0xc1, 0x22, 0xa5, 0x3d, 0x1d,
+	0xe9, 0x24, 0xfc, 0x21, 0x9a, 0x50, 0x1b, 0xa5, 0xc8, 0x59, 0x70, 0xf2, 0x8d, 0xbf, 0xb9, 0x62,
+	0x79, 0x39, 0x9a, 0xc8, 0x97, 0x69, 0x3c, 0xc8, 0xfb, 0x8d, 0xc8, 0x4b, 0xe0, 0x78, 0xf0, 0x71,
+	0x7a, 0xbf, 0x93, 0xc1, 0xf0, 0x0a, 0x3a, 0x2c, 0xfe, 0xa6, 0x17, 0xaf, 0xce, 0xdc, 0x2f, 0x49,
+	0x91, 0xfd, 0x51, 0xaf, 0xc5, 0x07, 0xd9, 0xed, 0x4e, 0x8e, 0xc3, 0xeb, 0x68, 0x34, 0xff, 0x43,
+	0x5f, 0xa4, 0x35, 0x40, 0x0b, 0xc1, 0x63, 0x53, 0xdc, 0xef, 0x14, 0xc8, 0x85, 0xff, 0x6a, 0xa0,
+	0xe3, 0xd9, 0x16, 0x3d, 0x64, 0x8d, 0xaa, 0x8b, 0xa6, 0x45, 0x5c, 0x20, 0x76, 0xbe, 0x30, 0x88,
+	0xc9, 0x08, 0x2f, 0x9b, 0xbb, 0x34, 0xb8, 0x5a, 0x2d, 0x13, 0xfd, 0x30, 0x47, 0x66, 0xec, 0xa7,
+	0xba, 0x2a, 0x35, 0xc6, 0x2f, 0xa1, 0xc9, 0x1e, 0x8d, 0x12, 0x9f, 0x76, 0x9a, 0x2d, 0xea, 0x77,
+	0xfa, 0x11, 0xe3, 0x65, 0x5e, 0xa3, 0xce, 0x84, 0x20, 0xdf, 0xcd, 0xa8, 0xd5, 0xd2, 0xd6, 0x1f,
+	0x55, 0x4b, 0x5b, 0x17, 0xbe, 0x6f, 0xa0, 0xb9, 0xca, 0x33, 0x8b, 0xda, 0xbf, 0xbb, 0x68, 0x56,
+	0x93, 0xd4, 0x64, 0x51, 0x14, 0x46, 0xa2, 0xac, 0x0c, 0xe7, 0x8f, 0x14, 0xf5, 0xdc, 0x45, 0xf1,
+	0xa1, 0x66, 0x46, 0xd5, 0xe1, 0x4e, 0x7a, 0x3b, 0x7e, 0x8a, 0xe6, 0xf5, 0x69, 0x69, 0x46, 0x42,
+	0x48, 0x5e, 0x56, 0x78, 0xcd, 0x7a, 0x7e, 0x72, 0x35, 0x1d, 0xd2, 0x35, 0x0f, 0xc4, 0x0b, 0xff,
+	0xf0, 0x02, 0x9a, 0xd4, 0x50, 0x78, 0x0f, 0x9d, 0xac, 0xf6, 0xbb, 0x15, 0x7a, 0x89, 0x8a, 0x27,
+	0x80, 0x36, 0x6a, 0x99, 0x58, 0xc1, 0xff, 0xdd, 0xff, 0x57, 0x54, 0xe4, 0xe8, 0x43, 0x69, 0xa4,
+	0x27, 0x8b, 0x2e, 0x85, 0x36, 0x06, 0x78, 0x7a, 0x55, 0xa8, 0x2c, 0xaf, 0xac, 0x81, 0x2b, 0x45,
+	0xfd, 0x61, 0x03, 0x9d, 0x35, 0x37, 0xd6, 0x95, 0x52, 0x47, 0x06, 0x9c, 0x7d, 0x75, 0xa9, 0xd2,
+	0x27, 0x77, 0x59, 0xfc, 0x49, 0x5a, 0x3f, 0x8c, 0x7f, 0xdb, 0x40, 0x0b, 0xb5, 0xad, 0x79, 0xa5,
+	0x2a, 0x59, 0x89, 0xc7, 0x3b, 0x60, 0x55, 0xd4, 0x32, 0x2f, 0x59, 0x9b, 0x33, 0x74, 0xdf, 0x3b,
+	0xf0, 0xd7, 0xe8, 0x94, 0x41, 0x9f, 0x52, 0x93, 0x03, 0x03, 0xbe, 0xaa, 0xd4, 0x6a, 0x22, 0x2b,
+	0x71, 0x82, 0xd6, 0x0d, 0xe2, 0x3f, 0x6f, 0xa0, 0xf3, 0xfb, 0xf4, 0x07, 0x96, 0x8a, 0x64, 0x15,
+	0x24, 0xab, 0x60, 0x45, 0xf4, 0x4f, 0x38, 0xb2, 0x3e, 0xe7, 0xe8, 0x80, 0x7b, 0x70, 0x88, 0xe6,
+	0xd4, 0x56, 0xc3, 0x52, 0x91, 0x63, 0x03, 0xf2, 0x32, 0xba, 0x22, 0x77, 0x19, 0x53, 0xcc, 0xf3,
+	0x18, 0x35, 0xd0, 0x71, 0x24, 0x15, 0x03, 0xea, 0xd6, 0x30, 0x3b, 0xe0, 0xcc, 0xa6, 0x4b, 0xac,
+	0x18, 0xc1, 0x2c, 0x35, 0x0d, 0xa4, 0x5b, 0x79, 0x21, 0xb3, 0x94, 0x76, 0x70, 0x40, 0x74, 0xa7,
+	0x4b, 0x93, 0x05, 0xe5, 0x45, 0x8e, 0xa5, 0x8c, 0xac, 0xc8, 0xac, 0xe4, 0x7e, 0x69, 0x40, 0x32,
+	0x57, 0xe2, 0x2e, 0x33, 0x1e, 0xa3, 0xd2, 0x5c, 0x05, 0xbc, 0xe4, 0xb4, 0xec, 0xa8, 0x2c, 0xb9,
+	0x1f, 0x87, 0xbf, 0x9b, 0xa2, 0x66, 0x4d, 0x7b, 0x37, 0x55, 0x3a, 0xfe, 0x14, 0x4d, 0x66, 0x05,
+	0xba, 0xa5, 0xa0, 0xb9, 0x01, 0xa1, 0x42, 0x29, 0x28, 0x05, 0xca, 0x22, 0x26, 0xa8, 0x42, 0xc1,
+	0x5f, 0xa0, 0xf9, 0x4a, 0xe3, 0x65, 0x29, 0xe7, 0xd0, 0x80, 0xa8, 0xb5, 0x90, 0xa3, 0x95, 0x7a,
+	0xc9, 0x12, 0xc9, 0x56, 0xcd, 0x18, 0xfe, 0x4d, 0x03, 0x9d, 0x35, 0x37, 0x6d, 0x96, 0x1a, 0x1c,
+	0x1e, 0x50, 0xc5, 0x53, 0x68, 0x60, 0x28, 0x4f, 0x92, 0xb5, 0x38, 0xe5, 0xee, 0x33, 0x8e, 0x9f,
+	0xa2, 0x13, 0x7a, 0xdf, 0x67, 0xa9, 0xc2, 0x28, 0x74, 0x0f, 0x52, 0x6b, 0xc7, 0x94, 0x3d, 0xc8,
+	0x35, 0x0f, 0xe1, 0x6f, 0x1a, 0xe8, 0x94, 0xa1, 0x8c, 0xa9, 0x14, 0x7e, 0x74, 0xc0, 0x91, 0xbb,
+	0x22, 0xdc, 0xb8, 0x02, 0xce, 0xbb, 0xb5, 0xa3, 0x38, 0x41, 0x44, 0x6b, 0x38, 0x2d, 0xa5, 0x93,
+	0x01, 0x75, 0xc0, 0x15, 0xe9, 0xbc, 0x7c, 0x49, 0x96, 0x7c, 0xdc, 0x35, 0x8e, 0xe0, 0x5f, 0xc9,
+	0xf5, 0x5b, 0x52, 0xa3, 0x6a, 0x29, 0xfb, 0x04, 0x74, 0x3f, 0xac, 0xd6, 0x3a, 0x29, 0xfb, 0xa1,
+	0x5b, 0x3f, 0x8c, 0xff, 0xb2, 0x81, 0xce, 0xef, 0xd3, 0xea, 0x5a, 0x2a, 0x93, 0x95, 0xc9, 0xad,
+	0xd9, 0x28, 0x53, 0xbf, 0xfe, 0x3f, 0xe7, 0x0e, 0xba, 0x09, 0x3f, 0x41, 0x73, 0x6a, 0xdf, 0x6c,
+	0xa9, 0xca, 0x49, 0xe8, 0x72, 0x2c, 0x97, 0x49, 0x29, 0xcb, 0xb1, 0x6b, 0x1a, 0x50, 0xec, 0x40,
+	0xdf, 0x02, 0x4e, 0xd9, 0xda, 0x41, 0x65, 0x0f, 0x38, 0xee, 0x1a, 0x47, 0xb0, 0x27, 0x15, 0x0b,
+	0x96, 0xf2, 0xd0, 0x80, 0xe3, 0x5c, 0x45, 0x9e, 0x2c, 0xaa, 0xa8, 0xab, 0x2a, 0xa5, 0xfc, 0x52,
+	0xb6, 0x36, 0xa9, 0xc3, 0xaf, 0x94, 0x38, 0x66, 0xeb, 0x67, 0x45, 0x0a, 0xc0, 0xe8, 0x67, 0xd5,
+	0x51, 0xfc, 0x15, 0x3a, 0x59, 0x6d, 0x08, 0x2e, 0x15, 0x18, 0x87, 0x46, 0x3a, 0x7a, 0xbd, 0x94,
+	0x12, 0xe9, 0xb8, 0x75, 0x83, 0x99, 0xa9, 0xd7, 0xb7, 0x13, 0x97, 0x8a, 0x9c, 0x01, 0x9b, 0x7a,
+	0x4d, 0xb5, 0x8a, 0x6a, 0xea, 0x83, 0x6e, 0xe2, 0xa6, 0xae, 0xf4, 0x26, 0x97, 0xaa, 0x9c, 0x05,
+	0x9b, 0xba, 0x54, 0xd6, 0xa2, 0x9a, 0xba, 0x69, 0x80, 0x9b, 0xba, 0xda, 0xd0, 0x5c, 0xca, 0x3c,
+	0x07, 0x36, 0x75, 0xb9, 0xe4, 0x45, 0x35, 0x75, 0xe3, 0x08, 0xfe, 0xab, 0x06, 0x7a, 0x61, 0xbf,
+	0x46, 0xe8, 0x52, 0x87, 0xec, 0x33, 0xd8, 0x3a, 0x5c, 0x87, 0x4a, 0x11, 0x8c, 0xac, 0xcf, 0x82,
+	0x3b, 0xf0, 0x2e, 0xee, 0x86, 0xb9, 0x6a, 0xa5, 0x1e, 0xcf, 0x83, 0xdd, 0x50, 0x60, 0x55, 0x37,
+	0xd4, 0x89, 0xdc, 0x0d, 0x4d, 0x5d, 0xd8, 0xa5, 0xc4, 0xf3, 0x50, 0x37, 0xac, 0x14, 0x5b, 0x28,
+	0x6e, 0xc8, 0x6a, 0x47, 0x31, 0x43, 0x33, 0x26, 0xc1, 0x2f, 0x40, 0x1f, 0xd5, 0x24, 0x6f, 0xba,
+	0x55, 0x11, 0xf3, 0x0c, 0xcd, 0x57, 0x3a, 0xbe, 0x4b, 0x69, 0x2f, 0x42, 0x43, 0x0a, 0xb5, 0xd2,
+	0x42, 0x09, 0x29, 0x5a, 0xe6, 0xa1, 0x34, 0x3c, 0x55, 0x5a, 0xc5, 0x4b, 0xa9, 0x2f, 0x41, 0xc3,
+	0x53, 0xa9, 0x0c, 0x43, 0x09, 0x4f, 0x5b, 0x06, 0x3a, 0xfe, 0x08, 0x4d, 0x68, 0x6e, 0x7b, 0x61,
+	0x40, 0xca, 0x50, 0x91, 0x23, 0x0b, 0x38, 0xda, 0x52, 0xdc, 0xf4, 0x53, 0x34, 0xa9, 0x7b, 0xe7,
+	0xcb, 0xd0, 0xc0, 0xb7, 0xe2, 0x95, 0x13, 0x1d, 0xd5, 0x1b, 0xb7, 0xd1, 0x31, 0xa9, 0x53, 0xbd,
+	0x94, 0x70, 0x11, 0x7a, 0xf8, 0x2f, 0x3e, 0xbc, 0x29, 0x87, 0xff, 0x6e, 0x85, 0xca, 0x63, 0x3c,
+	0x43, 0x67, 0x7b, 0x29, 0xf2, 0x15, 0xa8, 0xd1, 0x57, 0x12, 0x8b, 0x8a, 0xd1, 0x47, 0xb5, 0xa3,
+	0x69, 0x94, 0x5f, 0x69, 0x8c, 0x2f, 0xe5, 0x4f, 0x40, 0xa3, 0x7c, 0x2d, 0x9f, 0xae, 0x44, 0xf9,
+	0x71, 0xcd, 0x58, 0x3a, 0xd1, 0xc6, 0x1d, 0x77, 0x12, 0x3a, 0xd1, 0xc6, 0x9d, 0x16, 0xc7, 0xd5,
+	0x1d, 0x96, 0xa1, 0x99, 0xb2, 0x05, 0xbf, 0x14, 0x34, 0x05, 0x75, 0xed, 0x3c, 0xdd, 0xac, 0xb8,
+	0x76, 0x5f, 0x27, 0xae, 0x8e, 0xa1, 0x23, 0x05, 0xf3, 0x85, 0x7f, 0x39, 0x9f, 0x27, 0xec, 0x2a,
+	0x09, 0x2f, 0xbc, 0x2b, 0x1d, 0xaa, 0x8b, 0xdc, 0x56, 0xd6, 0x7f, 0x2b, 0x12, 0x5b, 0x37, 0xa0,
+	0x69, 0x36, 0xad, 0x0b, 0x92, 0xf3, 0x90, 0x0e, 0xf3, 0x0a, 0x1d, 0xb7, 0xa4, 0x83, 0x35, 0xf5,
+	0x72, 0x89, 0x0d, 0xe8, 0x66, 0xaa, 0x49, 0x2c, 0x84, 0x4d, 0x52, 0x95, 0x84, 0xbf, 0x6d, 0x48,
+	0xd9, 0x1b, 0xe5, 0xfc, 0x26, 0x44, 0x8e, 0x40, 0xf3, 0x48, 0x8a, 0x48, 0xb9, 0xc1, 0x24, 0x97,
+	0x4d, 0x68, 0xcd, 0x18, 0xfe, 0x13, 0x39, 0xb5, 0xa6, 0xa7, 0xb4, 0x84, 0x1e, 0x18, 0x1a, 0xd2,
+	0x28, 0x7a, 0x68, 0x3d, 0x8d, 0xb9, 0x2a, 0x27, 0x69, 0xfd, 0x30, 0xfe, 0x12, 0x9d, 0x30, 0x28,
+	0x23, 0xd4, 0x38, 0x00, 0x3d, 0xcb, 0x9a, 0xd5, 0x28, 0x34, 0x38, 0x4e, 0x8d, 0x23, 0xf8, 0xcf,
+	0x1a, 0xe8, 0xb9, 0x7d, 0x92, 0x59, 0x42, 0x8b, 0x2c, 0x93, 0x75, 0xc7, 0x52, 0x8b, 0x4a, 0xb1,
+	0x72, 0xae, 0xcc, 0x69, 0xba, 0xdf, 0x0d, 0xb8, 0x83, 0x8e, 0xa9, 0x99, 0x2c, 0xa1, 0xc5, 0x31,
+	0xe8, 0x0e, 0xa8, 0x68, 0xc1, 0x6b, 0x21, 0x73, 0xc9, 0xd3, 0x54, 0x27, 0xe2, 0x50, 0x4a, 0xe9,
+	0x2a, 0x16, 0x30, 0x0b, 0x5d, 0xe2, 0x14, 0x71, 0xea, 0x8b, 0xc7, 0xb4, 0x42, 0xc5, 0x4d, 0x34,
+	0x59, 0x08, 0x14, 0xa2, 0x0e, 0x0e, 0xf8, 0x5a, 0x6d, 0x16, 0x55, 0x48, 0x39, 0x4a, 0x65, 0x02,
+	0xde, 0xe1, 0xbd, 0x98, 0x65, 0xb2, 0x49, 0x08, 0x39, 0x6e, 0x3b, 0x7d, 0x65, 0xc3, 0xa4, 0x34,
+	0x7d, 0x1a, 0x11, 0x3f, 0x44, 0x47, 0xca, 0xf5, 0xe2, 0x12, 0x74, 0xab, 0xcd, 0x45, 0x14, 0x9c,
+	0x47, 0x69, 0xfe, 0x3e, 0x3e, 0x42, 0xe3, 0x59, 0xea, 0x4a, 0xf0, 0x9c, 0x83, 0x2e, 0xc5, 0x82,
+	0x27, 0xef, 0x45, 0xcc, 0xd9, 0x8e, 0xd1, 0xf2, 0x12, 0x3f, 0x45, 0x73, 0x95, 0xbc, 0x95, 0x10,
+	0x72, 0x08, 0x9a, 0x38, 0xc8, 0x84, 0xe8, 0x5d, 0x8a, 0xb9, 0xb8, 0xd9, 0x2d, 0xd3, 0x00, 0xfe,
+	0xb5, 0x9c, 0xb1, 0x31, 0x2d, 0x7a, 0x87, 0x07, 0x94, 0x0d, 0x68, 0xe2, 0x4d, 0x6d, 0x75, 0xb9,
+	0x0a, 0x27, 0xdc, 0xba, 0x41, 0x9c, 0x48, 0xfd, 0x83, 0x22, 0x63, 0x25, 0xe4, 0x8f, 0xda, 0xed,
+	0x2c, 0x5a, 0xc3, 0x63, 0xb1, 0xb3, 0xb8, 0x06, 0x3a, 0xfe, 0x4a, 0xca, 0x93, 0x55, 0x96, 0xb7,
+	0x2c, 0x55, 0x75, 0xdb, 0x56, 0x70, 0x75, 0x7d, 0x9b, 0x73, 0xcd, 0x43, 0xf8, 0x89, 0xd4, 0xc5,
+	0x98, 0xa5, 0xaa, 0x84, 0x68, 0x02, 0x3d, 0x3c, 0xab, 0xa2, 0xb3, 0xde, 0xbb, 0x5c, 0xec, 0x8c,
+	0x5b, 0x25, 0xa7, 0xc1, 0xdb, 0xbc, 0x29, 0x4f, 0x25, 0x04, 0x9f, 0xb0, 0xdb, 0xe1, 0x0c, 0x6d,
+	0x79, 0xc5, 0x0e, 0xe7, 0xd6, 0x8c, 0xe1, 0xef, 0x1a, 0xe8, 0xb9, 0x7d, 0x92, 0x54, 0x42, 0x93,
+	0x2c, 0x43, 0x75, 0xd7, 0x5e, 0x93, 0x9a, 0x75, 0xfd, 0x8c, 0xbb, 0xef, 0x1d, 0x38, 0x40, 0xc7,
+	0xd4, 0x0c, 0x95, 0xd0, 0xe3, 0xa4, 0xdd, 0x4a, 0xab, 0xf4, 0xf2, 0x15, 0x2b, 0xad, 0x5b, 0xa1,
+	0x2a, 0xef, 0x5e, 0x59, 0xda, 0x4f, 0x0d, 0xf7, 0xee, 0xd5, 0xb5, 0x7d, 0xc6, 0xad, 0x92, 0x31,
+	0x95, 0x1a, 0x89, 0x85, 0x30, 0x04, 0x3d, 0x42, 0xa9, 0xc2, 0x0a, 0x39, 0x45, 0x77, 0xa2, 0x10,
+	0xf1, 0xb5, 0x64, 0x5d, 0x52, 0x94, 0x2c, 0xa4, 0x8d, 0x0d, 0xe7, 0x51, 0x65, 0x75, 0x4a, 0xc5,
+	0xa3, 0xb4, 0x21, 0xfc, 0x05, 0x22, 0xd5, 0xa4, 0x94, 0x90, 0x3e, 0x6e, 0x17, 0xae, 0x54, 0xfa,
+	0xf8, 0x8a, 0x70, 0xc5, 0x35, 0x8e, 0x64, 0x76, 0x5d, 0x9f, 0x91, 0x12, 0x5a, 0x9c, 0xb1, 0xb4,
+	0xeb, 0xba, 0xe6, 0xaa, 0xd2, 0xae, 0xf7, 0xbd, 0x83, 0xdb, 0xb5, 0x92, 0x8e, 0x12, 0x7a, 0x9c,
+	0xb5, 0xb4, 0x6b, 0xb9, 0xed, 0xaa, 0xb4, 0xeb, 0x0a, 0x95, 0xdb, 0xb5, 0x9a, 0x8b, 0x12, 0x02,
+	0xcf, 0x59, 0xda, 0xb5, 0xd2, 0x90, 0x55, 0xda, 0x75, 0x95, 0x8c, 0xff, 0xa2, 0x81, 0x16, 0xf6,
+	0x4b, 0x44, 0x09, 0x05, 0x16, 0x86, 0x9b, 0x79, 0x2d, 0xcb, 0x44, 0x0b, 0x5d, 0xce, 0xd6, 0xe6,
+	0xa1, 0x24, 0x7f, 0xcb, 0xd5, 0x12, 0x3a, 0x3c, 0x6f, 0xe9, 0x6f, 0x79, 0x9b, 0x63, 0xe9, 0x6f,
+	0x0a, 0x25, 0xf5, 0x37, 0x53, 0x02, 0x4a, 0x48, 0x3b, 0x6f, 0xe7, 0x6f, 0xd5, 0x86, 0x9f, 0xc2,
+	0xdf, 0x98, 0x79, 0x08, 0x6f, 0xc9, 0x7d, 0x37, 0x42, 0xea, 0x0b, 0x76, 0xcf, 0x58, 0x11, 0x56,
+	0xb4, 0xdf, 0x08, 0x19, 0x7d, 0x34, 0x57, 0x49, 0x3d, 0x09, 0x51, 0x2f, 0xda, 0xc5, 0x06, 0x5a,
+	0x9f, 0x4f, 0x11, 0x1b, 0xb4, 0x0c, 0xf4, 0x34, 0x52, 0x55, 0xf2, 0x4e, 0x42, 0xe4, 0x4b, 0x76,
+	0x91, 0xaa, 0xdc, 0x01, 0x54, 0x44, 0xaa, 0x2d, 0x9d, 0x88, 0x3f, 0x40, 0x63, 0xb2, 0x73, 0x5e,
+	0x80, 0x7e, 0x34, 0x2e, 0x85, 0x14, 0xdc, 0x51, 0xab, 0x74, 0xc6, 0x8f, 0xd0, 0xb8, 0xe2, 0x83,
+	0x2f, 0xdb, 0xc5, 0xab, 0xaa, 0xef, 0x8d, 0x75, 0x24, 0x9f, 0x63, 0x68, 0x5a, 0x4a, 0x37, 0x09,
+	0xf6, 0x17, 0xed, 0x8e, 0xe4, 0x65, 0xa9, 0x77, 0x71, 0x24, 0xef, 0xaa, 0xa4, 0x34, 0x40, 0x33,
+	0xa4, 0x9a, 0x84, 0xb8, 0x57, 0xec, 0xcc, 0xbb, 0x5a, 0xc6, 0x56, 0x98, 0x77, 0x64, 0x1e, 0x4a,
+	0xa3, 0xf2, 0x4a, 0x9e, 0x49, 0x08, 0x9f, 0xb0, 0x8b, 0xca, 0xf5, 0xd2, 0xcd, 0x22, 0x2a, 0x8f,
+	0x4d, 0x03, 0xe9, 0xf4, 0x56, 0xb7, 0xcf, 0x49, 0xbb, 0xe9, 0xad, 0x6e, 0x9b, 0x93, 0xb1, 0xb6,
+	0x5d, 0x6e, 0xa1, 0xa9, 0x32, 0xc3, 0x24, 0xa4, 0x4c, 0xd9, 0xb9, 0x6f, 0x51, 0xd3, 0x58, 0xb8,
+	0x6f, 0x5f, 0xa1, 0xac, 0x22, 0x34, 0x9a, 0x57, 0x63, 0x5d, 0xfe, 0xdb, 0x83, 0x68, 0xaa, 0xfc,
+	0x53, 0x70, 0x19, 0x23, 0xfc, 0xf7, 0x0d, 0x74, 0x28, 0x2b, 0x9b, 0xc5, 0x80, 0xcf, 0x14, 0xe6,
+	0xbf, 0xf2, 0x38, 0x7f, 0x6d, 0x08, 0x64, 0xa6, 0xd4, 0xc2, 0x83, 0xef, 0x57, 0xa6, 0xa5, 0xea,
+	0xbb, 0x57, 0xf9, 0xdf, 0xcc, 0xfb, 0xf6, 0x1f, 0xff, 0xed, 0xbb, 0x91, 0x2b, 0x0b, 0x8b, 0xfc,
+	0x7f, 0x7d, 0x8a, 0xc1, 0x78, 0xe9, 0x4b, 0xe9, 0xbe, 0x9b, 0x17, 0xbf, 0x12, 0x7f, 0x37, 0x73,
+	0xc5, 0x8b, 0x97, 0xb3, 0x3a, 0xdf, 0xe5, 0xc6, 0x45, 0xfc, 0xef, 0x0d, 0x34, 0x9e, 0x89, 0xca,
+	0xfe, 0xd6, 0x1d, 0xbe, 0x65, 0xad, 0x9a, 0xf2, 0xe7, 0xff, 0xe6, 0x6f, 0x0f, 0x8d, 0x17, 0x0f,
+	0xb8, 0x59, 0xfb, 0x80, 0xd7, 0x16, 0xae, 0xda, 0x3d, 0x60, 0xc6, 0x79, 0xb9, 0x71, 0xf1, 0xf5,
+	0x06, 0xfe, 0xe7, 0x06, 0x3a, 0x94, 0xd9, 0x00, 0xe4, 0xbd, 0x99, 0x2b, 0x1f, 0xe7, 0xaf, 0x0d,
+	0x81, 0x14, 0x8f, 0xf5, 0xf1, 0xf7, 0x2b, 0xa7, 0xe5, 0xc7, 0xaa, 0xd4, 0x46, 0xda, 0xbe, 0xc3,
+	0x8c, 0xc1, 0x72, 0xe3, 0xe2, 0xfc, 0xc9, 0xdf, 0xad, 0x90, 0x52, 0x19, 0xf1, 0xab, 0xe7, 0xc7,
+	0x8b, 0x6e, 0xd8, 0x5d, 0xfd, 0x9f, 0x06, 0x3a, 0xef, 0x86, 0xdd, 0x81, 0x8a, 0xaf, 0xce, 0xea,
+	0xa6, 0xbe, 0x11, 0x85, 0x49, 0xb8, 0xd1, 0xf8, 0xe4, 0x5d, 0x01, 0x6d, 0x87, 0x1d, 0x1a, 0xb4,
+	0x17, 0xc3, 0xa8, 0xbd, 0xd4, 0x66, 0x01, 0xff, 0x23, 0x85, 0x4b, 0xa5, 0xb0, 0xfa, 0xbf, 0xcc,
+	0x7a, 0x3d, 0xff, 0xf1, 0xd7, 0x23, 0x07, 0xee, 0xad, 0xac, 0xfc, 0xcd, 0xc8, 0xb9, 0x4c, 0xd2,
+	0xe2, 0x8a, 0x27, 0xfd, 0x55, 0xc2, 0xc5, 0xc7, 0x57, 0x16, 0x85, 0xe0, 0xf8, 0x77, 0xf9, 0x2d,
+	0x9f, 0xad, 0x78, 0xf1, 0x67, 0xc5, 0x2d, 0x9f, 0x3d, 0xbe, 0xf2, 0x59, 0x7e, 0xcb, 0x7f, 0x8c,
+	0x9c, 0xcf, 0xe8, 0xcb, 0xcb, 0xe9, 0x64, 0x2c, 0x17, 0x37, 0x2d, 0x2f, 0x3f, 0xbe, 0xb2, 0xbc,
+	0x9c, 0xdf, 0xb6, 0x75, 0x88, 0xeb, 0x79, 0xe5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x27,
+	0x89, 0x44, 0xa6, 0x77, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/ads/googleads/v3/services/keyword_plan_service.pb.go b/googleapis/ads/googleads/v3/services/keyword_plan_service.pb.go
index a4e6fd4..1879d55 100644
--- a/googleapis/ads/googleads/v3/services/keyword_plan_service.pb.go
+++ b/googleapis/ads/googleads/v3/services/keyword_plan_service.pb.go
@@ -451,7 +451,7 @@
 type KeywordPlanCampaignForecast struct {
 	// The resource name of the Keyword Plan campaign related to the forecast.
 	//
-	// `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+	// `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}`
 	KeywordPlanCampaign *wrappers.StringValue `protobuf:"bytes,1,opt,name=keyword_plan_campaign,json=keywordPlanCampaign,proto3" json:"keyword_plan_campaign,omitempty"`
 	// The forecast for the Keyword Plan campaign.
 	CampaignForecast     *ForecastMetrics `protobuf:"bytes,2,opt,name=campaign_forecast,json=campaignForecast,proto3" json:"campaign_forecast,omitempty"`
diff --git a/googleapis/ads/googleads/v3/services/offline_user_data_job_service.pb.go b/googleapis/ads/googleads/v3/services/offline_user_data_job_service.pb.go
new file mode 100644
index 0000000..6bdf3f5
--- /dev/null
+++ b/googleapis/ads/googleads/v3/services/offline_user_data_job_service.pb.go
@@ -0,0 +1,692 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/services/offline_user_data_job_service.proto
+
+package services
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	wrappers "github.com/golang/protobuf/ptypes/wrappers"
+	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
+	resources "google.golang.org/genproto/googleapis/ads/googleads/v3/resources"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	status "google.golang.org/genproto/googleapis/rpc/status"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status1 "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for
+// [OfflineUserDataJobService.CreateOfflineUserDataJobRequest][]
+type CreateOfflineUserDataJobRequest struct {
+	// Required. The ID of the customer for which to create an offline user data job.
+	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
+	// Required. The offline user data job to be created.
+	Job                  *resources.OfflineUserDataJob `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
+	XXX_unrecognized     []byte                        `json:"-"`
+	XXX_sizecache        int32                         `json:"-"`
+}
+
+func (m *CreateOfflineUserDataJobRequest) Reset()         { *m = CreateOfflineUserDataJobRequest{} }
+func (m *CreateOfflineUserDataJobRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateOfflineUserDataJobRequest) ProtoMessage()    {}
+func (*CreateOfflineUserDataJobRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{0}
+}
+
+func (m *CreateOfflineUserDataJobRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateOfflineUserDataJobRequest.Unmarshal(m, b)
+}
+func (m *CreateOfflineUserDataJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateOfflineUserDataJobRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateOfflineUserDataJobRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateOfflineUserDataJobRequest.Merge(m, src)
+}
+func (m *CreateOfflineUserDataJobRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateOfflineUserDataJobRequest.Size(m)
+}
+func (m *CreateOfflineUserDataJobRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateOfflineUserDataJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateOfflineUserDataJobRequest proto.InternalMessageInfo
+
+func (m *CreateOfflineUserDataJobRequest) GetCustomerId() string {
+	if m != nil {
+		return m.CustomerId
+	}
+	return ""
+}
+
+func (m *CreateOfflineUserDataJobRequest) GetJob() *resources.OfflineUserDataJob {
+	if m != nil {
+		return m.Job
+	}
+	return nil
+}
+
+// Response message for
+// [OfflineUserDataJobService.CreateOfflineUserDataJobResponse][]
+type CreateOfflineUserDataJobResponse struct {
+	// The resource name of the OfflineUserDataJob.
+	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateOfflineUserDataJobResponse) Reset()         { *m = CreateOfflineUserDataJobResponse{} }
+func (m *CreateOfflineUserDataJobResponse) String() string { return proto.CompactTextString(m) }
+func (*CreateOfflineUserDataJobResponse) ProtoMessage()    {}
+func (*CreateOfflineUserDataJobResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{1}
+}
+
+func (m *CreateOfflineUserDataJobResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateOfflineUserDataJobResponse.Unmarshal(m, b)
+}
+func (m *CreateOfflineUserDataJobResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateOfflineUserDataJobResponse.Marshal(b, m, deterministic)
+}
+func (m *CreateOfflineUserDataJobResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateOfflineUserDataJobResponse.Merge(m, src)
+}
+func (m *CreateOfflineUserDataJobResponse) XXX_Size() int {
+	return xxx_messageInfo_CreateOfflineUserDataJobResponse.Size(m)
+}
+func (m *CreateOfflineUserDataJobResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateOfflineUserDataJobResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateOfflineUserDataJobResponse proto.InternalMessageInfo
+
+func (m *CreateOfflineUserDataJobResponse) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.GetOfflineUserDataJob]
+type GetOfflineUserDataJobRequest struct {
+	// Required. The resource name of the OfflineUserDataJob to get.
+	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetOfflineUserDataJobRequest) Reset()         { *m = GetOfflineUserDataJobRequest{} }
+func (m *GetOfflineUserDataJobRequest) String() string { return proto.CompactTextString(m) }
+func (*GetOfflineUserDataJobRequest) ProtoMessage()    {}
+func (*GetOfflineUserDataJobRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{2}
+}
+
+func (m *GetOfflineUserDataJobRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOfflineUserDataJobRequest.Unmarshal(m, b)
+}
+func (m *GetOfflineUserDataJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOfflineUserDataJobRequest.Marshal(b, m, deterministic)
+}
+func (m *GetOfflineUserDataJobRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOfflineUserDataJobRequest.Merge(m, src)
+}
+func (m *GetOfflineUserDataJobRequest) XXX_Size() int {
+	return xxx_messageInfo_GetOfflineUserDataJobRequest.Size(m)
+}
+func (m *GetOfflineUserDataJobRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOfflineUserDataJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOfflineUserDataJobRequest proto.InternalMessageInfo
+
+func (m *GetOfflineUserDataJobRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.RunOfflineUserDataJob]
+type RunOfflineUserDataJobRequest struct {
+	// Required. The resource name of the OfflineUserDataJob to run.
+	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RunOfflineUserDataJobRequest) Reset()         { *m = RunOfflineUserDataJobRequest{} }
+func (m *RunOfflineUserDataJobRequest) String() string { return proto.CompactTextString(m) }
+func (*RunOfflineUserDataJobRequest) ProtoMessage()    {}
+func (*RunOfflineUserDataJobRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{3}
+}
+
+func (m *RunOfflineUserDataJobRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RunOfflineUserDataJobRequest.Unmarshal(m, b)
+}
+func (m *RunOfflineUserDataJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RunOfflineUserDataJobRequest.Marshal(b, m, deterministic)
+}
+func (m *RunOfflineUserDataJobRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RunOfflineUserDataJobRequest.Merge(m, src)
+}
+func (m *RunOfflineUserDataJobRequest) XXX_Size() int {
+	return xxx_messageInfo_RunOfflineUserDataJobRequest.Size(m)
+}
+func (m *RunOfflineUserDataJobRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_RunOfflineUserDataJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RunOfflineUserDataJobRequest proto.InternalMessageInfo
+
+func (m *RunOfflineUserDataJobRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+// Request message for
+// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]
+type AddOfflineUserDataJobOperationsRequest struct {
+	// Required. The resource name of the OfflineUserDataJob.
+	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	// True to enable partial failure for the offline user data job.
+	EnablePartialFailure *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enable_partial_failure,json=enablePartialFailure,proto3" json:"enable_partial_failure,omitempty"`
+	// Required. The list of operations to be done.
+	Operations           []*OfflineUserDataJobOperation `protobuf:"bytes,3,rep,name=operations,proto3" json:"operations,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
+	XXX_unrecognized     []byte                         `json:"-"`
+	XXX_sizecache        int32                          `json:"-"`
+}
+
+func (m *AddOfflineUserDataJobOperationsRequest) Reset() {
+	*m = AddOfflineUserDataJobOperationsRequest{}
+}
+func (m *AddOfflineUserDataJobOperationsRequest) String() string { return proto.CompactTextString(m) }
+func (*AddOfflineUserDataJobOperationsRequest) ProtoMessage()    {}
+func (*AddOfflineUserDataJobOperationsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{4}
+}
+
+func (m *AddOfflineUserDataJobOperationsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsRequest.Unmarshal(m, b)
+}
+func (m *AddOfflineUserDataJobOperationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsRequest.Marshal(b, m, deterministic)
+}
+func (m *AddOfflineUserDataJobOperationsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AddOfflineUserDataJobOperationsRequest.Merge(m, src)
+}
+func (m *AddOfflineUserDataJobOperationsRequest) XXX_Size() int {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsRequest.Size(m)
+}
+func (m *AddOfflineUserDataJobOperationsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_AddOfflineUserDataJobOperationsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AddOfflineUserDataJobOperationsRequest proto.InternalMessageInfo
+
+func (m *AddOfflineUserDataJobOperationsRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *AddOfflineUserDataJobOperationsRequest) GetEnablePartialFailure() *wrappers.BoolValue {
+	if m != nil {
+		return m.EnablePartialFailure
+	}
+	return nil
+}
+
+func (m *AddOfflineUserDataJobOperationsRequest) GetOperations() []*OfflineUserDataJobOperation {
+	if m != nil {
+		return m.Operations
+	}
+	return nil
+}
+
+// Operation to be made for the AddOfflineUserDataJobOperationsRequest.
+type OfflineUserDataJobOperation struct {
+	// Operation to be made for the AddOfflineUserDataJobOperationsRequest.
+	//
+	// Types that are valid to be assigned to Operation:
+	//	*OfflineUserDataJobOperation_Create
+	//	*OfflineUserDataJobOperation_Remove
+	//	*OfflineUserDataJobOperation_RemoveAll
+	Operation            isOfflineUserDataJobOperation_Operation `protobuf_oneof:"operation"`
+	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
+	XXX_unrecognized     []byte                                  `json:"-"`
+	XXX_sizecache        int32                                   `json:"-"`
+}
+
+func (m *OfflineUserDataJobOperation) Reset()         { *m = OfflineUserDataJobOperation{} }
+func (m *OfflineUserDataJobOperation) String() string { return proto.CompactTextString(m) }
+func (*OfflineUserDataJobOperation) ProtoMessage()    {}
+func (*OfflineUserDataJobOperation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{5}
+}
+
+func (m *OfflineUserDataJobOperation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OfflineUserDataJobOperation.Unmarshal(m, b)
+}
+func (m *OfflineUserDataJobOperation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OfflineUserDataJobOperation.Marshal(b, m, deterministic)
+}
+func (m *OfflineUserDataJobOperation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OfflineUserDataJobOperation.Merge(m, src)
+}
+func (m *OfflineUserDataJobOperation) XXX_Size() int {
+	return xxx_messageInfo_OfflineUserDataJobOperation.Size(m)
+}
+func (m *OfflineUserDataJobOperation) XXX_DiscardUnknown() {
+	xxx_messageInfo_OfflineUserDataJobOperation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfflineUserDataJobOperation proto.InternalMessageInfo
+
+type isOfflineUserDataJobOperation_Operation interface {
+	isOfflineUserDataJobOperation_Operation()
+}
+
+type OfflineUserDataJobOperation_Create struct {
+	Create *common.UserData `protobuf:"bytes,1,opt,name=create,proto3,oneof"`
+}
+
+type OfflineUserDataJobOperation_Remove struct {
+	Remove *common.UserData `protobuf:"bytes,2,opt,name=remove,proto3,oneof"`
+}
+
+type OfflineUserDataJobOperation_RemoveAll struct {
+	RemoveAll bool `protobuf:"varint,3,opt,name=remove_all,json=removeAll,proto3,oneof"`
+}
+
+func (*OfflineUserDataJobOperation_Create) isOfflineUserDataJobOperation_Operation() {}
+
+func (*OfflineUserDataJobOperation_Remove) isOfflineUserDataJobOperation_Operation() {}
+
+func (*OfflineUserDataJobOperation_RemoveAll) isOfflineUserDataJobOperation_Operation() {}
+
+func (m *OfflineUserDataJobOperation) GetOperation() isOfflineUserDataJobOperation_Operation {
+	if m != nil {
+		return m.Operation
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJobOperation) GetCreate() *common.UserData {
+	if x, ok := m.GetOperation().(*OfflineUserDataJobOperation_Create); ok {
+		return x.Create
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJobOperation) GetRemove() *common.UserData {
+	if x, ok := m.GetOperation().(*OfflineUserDataJobOperation_Remove); ok {
+		return x.Remove
+	}
+	return nil
+}
+
+func (m *OfflineUserDataJobOperation) GetRemoveAll() bool {
+	if x, ok := m.GetOperation().(*OfflineUserDataJobOperation_RemoveAll); ok {
+		return x.RemoveAll
+	}
+	return false
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfflineUserDataJobOperation) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*OfflineUserDataJobOperation_Create)(nil),
+		(*OfflineUserDataJobOperation_Remove)(nil),
+		(*OfflineUserDataJobOperation_RemoveAll)(nil),
+	}
+}
+
+// Response message for
+// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]
+type AddOfflineUserDataJobOperationsResponse struct {
+	// Errors that pertain to operation failures in the partial failure mode.
+	// Returned only when partial_failure = true and all errors occur inside the
+	// operations. If any errors occur outside the operations (e.g. auth errors),
+	// we return an RPC level error.
+	PartialFailureError  *status.Status `protobuf:"bytes,1,opt,name=partial_failure_error,json=partialFailureError,proto3" json:"partial_failure_error,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
+	XXX_unrecognized     []byte         `json:"-"`
+	XXX_sizecache        int32          `json:"-"`
+}
+
+func (m *AddOfflineUserDataJobOperationsResponse) Reset() {
+	*m = AddOfflineUserDataJobOperationsResponse{}
+}
+func (m *AddOfflineUserDataJobOperationsResponse) String() string { return proto.CompactTextString(m) }
+func (*AddOfflineUserDataJobOperationsResponse) ProtoMessage()    {}
+func (*AddOfflineUserDataJobOperationsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51833c2667e4159e, []int{6}
+}
+
+func (m *AddOfflineUserDataJobOperationsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsResponse.Unmarshal(m, b)
+}
+func (m *AddOfflineUserDataJobOperationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsResponse.Marshal(b, m, deterministic)
+}
+func (m *AddOfflineUserDataJobOperationsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AddOfflineUserDataJobOperationsResponse.Merge(m, src)
+}
+func (m *AddOfflineUserDataJobOperationsResponse) XXX_Size() int {
+	return xxx_messageInfo_AddOfflineUserDataJobOperationsResponse.Size(m)
+}
+func (m *AddOfflineUserDataJobOperationsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_AddOfflineUserDataJobOperationsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AddOfflineUserDataJobOperationsResponse proto.InternalMessageInfo
+
+func (m *AddOfflineUserDataJobOperationsResponse) GetPartialFailureError() *status.Status {
+	if m != nil {
+		return m.PartialFailureError
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*CreateOfflineUserDataJobRequest)(nil), "google.ads.googleads.v3.services.CreateOfflineUserDataJobRequest")
+	proto.RegisterType((*CreateOfflineUserDataJobResponse)(nil), "google.ads.googleads.v3.services.CreateOfflineUserDataJobResponse")
+	proto.RegisterType((*GetOfflineUserDataJobRequest)(nil), "google.ads.googleads.v3.services.GetOfflineUserDataJobRequest")
+	proto.RegisterType((*RunOfflineUserDataJobRequest)(nil), "google.ads.googleads.v3.services.RunOfflineUserDataJobRequest")
+	proto.RegisterType((*AddOfflineUserDataJobOperationsRequest)(nil), "google.ads.googleads.v3.services.AddOfflineUserDataJobOperationsRequest")
+	proto.RegisterType((*OfflineUserDataJobOperation)(nil), "google.ads.googleads.v3.services.OfflineUserDataJobOperation")
+	proto.RegisterType((*AddOfflineUserDataJobOperationsResponse)(nil), "google.ads.googleads.v3.services.AddOfflineUserDataJobOperationsResponse")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/services/offline_user_data_job_service.proto", fileDescriptor_51833c2667e4159e)
+}
+
+var fileDescriptor_51833c2667e4159e = []byte{
+	// 924 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdb, 0x8e, 0xdb, 0x44,
+	0x18, 0xae, 0x1d, 0xa9, 0xea, 0x4e, 0x40, 0x48, 0x03, 0x0b, 0x69, 0x5a, 0xba, 0x91, 0xbb, 0x82,
+	0x28, 0x94, 0xb1, 0xb4, 0x51, 0x39, 0x18, 0xa5, 0x92, 0xd3, 0xc3, 0xa6, 0x08, 0xe8, 0x2a, 0x55,
+	0x57, 0x08, 0xad, 0x64, 0x8d, 0xed, 0x49, 0xf0, 0xca, 0x9e, 0x71, 0x67, 0xec, 0x00, 0xaa, 0x7a,
+	0x83, 0xd4, 0x27, 0x40, 0x3c, 0x00, 0x5c, 0xf2, 0x04, 0x7d, 0x86, 0xbd, 0xed, 0xdd, 0x4a, 0x48,
+	0xbd, 0xe0, 0x8a, 0x27, 0x40, 0x5c, 0x20, 0x14, 0xcf, 0x4c, 0x0e, 0x9b, 0x78, 0x5d, 0x16, 0x50,
+	0xef, 0x26, 0xf3, 0xff, 0xff, 0xf7, 0x9f, 0xbe, 0x7c, 0x63, 0x70, 0x6b, 0xcc, 0xd8, 0x38, 0x26,
+	0x36, 0x0e, 0x85, 0x2d, 0x8f, 0xd3, 0xd3, 0xa4, 0x6b, 0x0b, 0xc2, 0x27, 0x51, 0x40, 0x84, 0xcd,
+	0x46, 0xa3, 0x38, 0xa2, 0xc4, 0xcb, 0x05, 0xe1, 0x5e, 0x88, 0x33, 0xec, 0x1d, 0x32, 0xdf, 0x53,
+	0x66, 0x94, 0x72, 0x96, 0x31, 0xd8, 0x92, 0xa1, 0x08, 0x87, 0x02, 0xcd, 0x50, 0xd0, 0xa4, 0x8b,
+	0x34, 0x4a, 0xf3, 0x83, 0xb2, 0x3c, 0x01, 0x4b, 0x12, 0x46, 0x57, 0xb3, 0x48, 0xe4, 0x66, 0xaf,
+	0x2c, 0x8e, 0x13, 0xc1, 0x72, 0x5e, 0x5a, 0xa0, 0x0a, 0xbf, 0xac, 0xc3, 0xd3, 0xc8, 0xc6, 0x94,
+	0xb2, 0x0c, 0x67, 0x11, 0xa3, 0x42, 0x59, 0xdf, 0x5a, 0xb0, 0x06, 0x71, 0x44, 0x68, 0xa6, 0x0c,
+	0x5b, 0x0b, 0x86, 0x51, 0x44, 0xe2, 0xd0, 0xf3, 0xc9, 0xd7, 0x78, 0x12, 0x31, 0xae, 0x1c, 0x2e,
+	0x2e, 0x38, 0xe8, 0x4a, 0x94, 0xe9, 0xaa, 0x32, 0xc5, 0x8c, 0x8e, 0x79, 0x4e, 0x69, 0x44, 0xc7,
+	0x36, 0x4b, 0x09, 0x5f, 0xca, 0x7c, 0x45, 0x39, 0x15, 0xbf, 0xfc, 0x7c, 0x64, 0x7f, 0xc3, 0x71,
+	0x9a, 0x12, 0x7e, 0xb2, 0x32, 0x9e, 0x06, 0xb6, 0xc8, 0x70, 0x96, 0x2b, 0x83, 0xf5, 0xa3, 0x01,
+	0xb6, 0x6e, 0x72, 0x82, 0x33, 0x72, 0x4f, 0xb6, 0xfd, 0x40, 0x10, 0x7e, 0x0b, 0x67, 0xf8, 0x53,
+	0xe6, 0x0f, 0xc9, 0xc3, 0x9c, 0x88, 0x0c, 0x6e, 0x83, 0x7a, 0x90, 0x8b, 0x8c, 0x25, 0x84, 0x7b,
+	0x51, 0xd8, 0x30, 0x5a, 0x46, 0x7b, 0xa3, 0x5f, 0x7b, 0xee, 0x9a, 0x43, 0xa0, 0xef, 0xef, 0x86,
+	0xf0, 0x33, 0x50, 0x3b, 0x64, 0x7e, 0xc3, 0x6c, 0x19, 0xed, 0xfa, 0xce, 0x75, 0x54, 0xb6, 0xc1,
+	0xd9, 0x9c, 0xd1, 0x6a, 0x42, 0x09, 0x3a, 0x85, 0xb1, 0x76, 0x41, 0xab, 0xbc, 0x2c, 0x91, 0x32,
+	0x2a, 0x08, 0xbc, 0x0a, 0x5e, 0xd5, 0x68, 0x1e, 0xc5, 0x09, 0x91, 0x95, 0x0d, 0x5f, 0xd1, 0x97,
+	0x5f, 0xe0, 0x84, 0x58, 0xdf, 0x82, 0xcb, 0xbb, 0x24, 0x2b, 0x6f, 0xee, 0xcb, 0xb5, 0x20, 0xfd,
+	0xee, 0x73, 0xd7, 0xfc, 0xd3, 0x7d, 0x1f, 0xbc, 0x37, 0x2f, 0x5e, 0x9d, 0xd2, 0x48, 0xa0, 0x80,
+	0x25, 0xf6, 0x1a, 0xc8, 0x95, 0xcc, 0xc3, 0x9c, 0xbe, 0x8c, 0xcc, 0x4f, 0x4d, 0xf0, 0x8e, 0x1b,
+	0x86, 0xab, 0x7e, 0xf7, 0x66, 0xbc, 0xf9, 0xdf, 0x8b, 0x80, 0x7b, 0xe0, 0x4d, 0x42, 0xb1, 0x1f,
+	0x13, 0x2f, 0xc5, 0x3c, 0x8b, 0x70, 0xec, 0x8d, 0x70, 0x14, 0xe7, 0x9c, 0x28, 0x8a, 0x34, 0x35,
+	0x45, 0x34, 0x67, 0x51, 0x9f, 0xb1, 0x78, 0x1f, 0xc7, 0x39, 0x19, 0xbe, 0x21, 0x23, 0xf7, 0x64,
+	0xe0, 0x1d, 0x19, 0x07, 0x7d, 0x00, 0xe6, 0xc4, 0x6f, 0xd4, 0x5a, 0xb5, 0x76, 0x7d, 0xa7, 0x87,
+	0xaa, 0xa4, 0x02, 0x9d, 0x32, 0x06, 0xc5, 0xe2, 0x39, 0xaa, 0xf5, 0xcc, 0x00, 0x97, 0x4e, 0x09,
+	0x80, 0x7d, 0x70, 0x3e, 0x28, 0x78, 0x59, 0x0c, 0xaa, 0xbe, 0xd3, 0x2e, 0xcd, 0x2f, 0x85, 0x08,
+	0x69, 0x94, 0xc1, 0xb9, 0xa1, 0x8a, 0x9c, 0x62, 0x70, 0x92, 0xb0, 0x89, 0x9e, 0xc4, 0x3f, 0xc2,
+	0x90, 0x91, 0x70, 0x0b, 0x00, 0x79, 0xf2, 0x70, 0x1c, 0x37, 0x6a, 0x2d, 0xa3, 0x7d, 0x61, 0x70,
+	0x6e, 0xb8, 0x21, 0xef, 0xdc, 0x38, 0xee, 0xd7, 0xc1, 0xc6, 0xac, 0x2d, 0xeb, 0x21, 0x78, 0xb7,
+	0x92, 0x0f, 0xea, 0x4f, 0x75, 0x07, 0x6c, 0x9e, 0xd8, 0x97, 0x47, 0x38, 0x67, 0x5c, 0xf5, 0x0b,
+	0x75, 0xad, 0x3c, 0x0d, 0xd0, 0xfd, 0x42, 0x49, 0x86, 0xaf, 0xa7, 0x4b, 0x7b, 0xba, 0x3d, 0x75,
+	0xdf, 0x79, 0x7a, 0x01, 0x5c, 0x5c, 0x4d, 0x78, 0x5f, 0x2e, 0x05, 0xfe, 0x61, 0x80, 0x46, 0xd9,
+	0xff, 0x1b, 0xba, 0xd5, 0x3b, 0xad, 0x90, 0xac, 0x66, 0xff, 0xdf, 0x40, 0xc8, 0x49, 0x58, 0x0f,
+	0x8e, 0xdd, 0xd7, 0x16, 0x74, 0xef, 0xda, 0x21, 0xf3, 0xbf, 0x7f, 0xf6, 0xdb, 0x0f, 0x66, 0xcf,
+	0xfa, 0xa8, 0x78, 0x68, 0x94, 0x49, 0xd8, 0x8f, 0x16, 0xbc, 0x7a, 0x9d, 0xc7, 0xfa, 0x01, 0x59,
+	0xc0, 0x14, 0x8e, 0x5c, 0xbd, 0x63, 0x74, 0xe0, 0xaf, 0x06, 0xd8, 0x5c, 0xab, 0x48, 0xf0, 0x46,
+	0x75, 0xd1, 0xa7, 0x49, 0x59, 0xf3, 0x6c, 0xa2, 0x6b, 0x7d, 0x7e, 0xec, 0x2e, 0x6b, 0x40, 0xd1,
+	0xe5, 0x87, 0xf0, 0xfa, 0xb4, 0xcb, 0x47, 0x4b, 0x96, 0xde, 0xbc, 0xe9, 0xce, 0xba, 0x36, 0xed,
+	0xce, 0x63, 0xf8, 0x93, 0x09, 0xb6, 0x2a, 0xc8, 0x06, 0x07, 0xd5, 0x9d, 0xbe, 0x98, 0x7e, 0x35,
+	0xef, 0xfe, 0x07, 0x48, 0x6a, 0xdf, 0xd1, 0xb1, 0xdb, 0x58, 0xea, 0xf6, 0xda, 0x5c, 0x17, 0x8a,
+	0x91, 0x0c, 0xac, 0x9b, 0x67, 0x1a, 0x89, 0x83, 0xc3, 0x70, 0x9e, 0x6f, 0xca, 0x81, 0xbf, 0x0c,
+	0xb0, 0xb9, 0xf6, 0x6d, 0x78, 0x11, 0x0e, 0x9c, 0xf6, 0xa8, 0x34, 0xdf, 0xd6, 0xf1, 0x0b, 0x9f,
+	0x0b, 0x68, 0x96, 0xdc, 0x7a, 0x62, 0x1c, 0xb9, 0x08, 0x6c, 0x9e, 0x54, 0xde, 0xdb, 0x49, 0x9a,
+	0x7d, 0x07, 0xd7, 0x5f, 0xaf, 0x65, 0xc7, 0x0d, 0xeb, 0xe3, 0xb3, 0x8d, 0x82, 0xe7, 0xd4, 0x31,
+	0x3a, 0xcd, 0x4b, 0x47, 0x6e, 0xa3, 0xec, 0x69, 0xe9, 0x3f, 0x31, 0xc1, 0x76, 0xc0, 0x92, 0xca,
+	0x49, 0xf4, 0xaf, 0x94, 0x0a, 0xcc, 0xde, 0xb4, 0x85, 0x3d, 0xe3, 0xab, 0x81, 0xc2, 0x18, 0xb3,
+	0x18, 0xd3, 0x31, 0x62, 0x7c, 0x6c, 0x8f, 0x09, 0x2d, 0x1a, 0xb4, 0xe7, 0x59, 0xcb, 0xbf, 0x56,
+	0x3f, 0xd1, 0x87, 0x9f, 0xcd, 0xda, 0xae, 0xeb, 0xfe, 0x62, 0xb6, 0x76, 0x25, 0xa0, 0x1b, 0x0a,
+	0x24, 0x8f, 0xd3, 0xd3, 0x7e, 0x17, 0xa9, 0xc4, 0xe2, 0x48, 0xbb, 0x1c, 0xb8, 0xa1, 0x38, 0x98,
+	0xb9, 0x1c, 0xec, 0x77, 0x0f, 0xb4, 0xcb, 0xef, 0xe6, 0xb6, 0xbc, 0x77, 0x1c, 0x37, 0x14, 0x8e,
+	0x33, 0x73, 0x72, 0x9c, 0xfd, 0xae, 0xe3, 0x68, 0x37, 0xff, 0x7c, 0x51, 0x67, 0xf7, 0xef, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x32, 0xc0, 0xf9, 0xbb, 0x54, 0x0b, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// OfflineUserDataJobServiceClient is the client API for OfflineUserDataJobService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type OfflineUserDataJobServiceClient interface {
+	// Creates an offline user data job.
+	CreateOfflineUserDataJob(ctx context.Context, in *CreateOfflineUserDataJobRequest, opts ...grpc.CallOption) (*CreateOfflineUserDataJobResponse, error)
+	// Returns the offline user data job.
+	GetOfflineUserDataJob(ctx context.Context, in *GetOfflineUserDataJobRequest, opts ...grpc.CallOption) (*resources.OfflineUserDataJob, error)
+	// Adds operations to the offline user data job.
+	AddOfflineUserDataJobOperations(ctx context.Context, in *AddOfflineUserDataJobOperationsRequest, opts ...grpc.CallOption) (*AddOfflineUserDataJobOperationsResponse, error)
+	// Runs the offline user data job.
+	//
+	// When finished, the long running operation will contain the processing
+	// result or failure information, if any.
+	RunOfflineUserDataJob(ctx context.Context, in *RunOfflineUserDataJobRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+}
+
+type offlineUserDataJobServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewOfflineUserDataJobServiceClient(cc grpc.ClientConnInterface) OfflineUserDataJobServiceClient {
+	return &offlineUserDataJobServiceClient{cc}
+}
+
+func (c *offlineUserDataJobServiceClient) CreateOfflineUserDataJob(ctx context.Context, in *CreateOfflineUserDataJobRequest, opts ...grpc.CallOption) (*CreateOfflineUserDataJobResponse, error) {
+	out := new(CreateOfflineUserDataJobResponse)
+	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.OfflineUserDataJobService/CreateOfflineUserDataJob", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *offlineUserDataJobServiceClient) GetOfflineUserDataJob(ctx context.Context, in *GetOfflineUserDataJobRequest, opts ...grpc.CallOption) (*resources.OfflineUserDataJob, error) {
+	out := new(resources.OfflineUserDataJob)
+	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.OfflineUserDataJobService/GetOfflineUserDataJob", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *offlineUserDataJobServiceClient) AddOfflineUserDataJobOperations(ctx context.Context, in *AddOfflineUserDataJobOperationsRequest, opts ...grpc.CallOption) (*AddOfflineUserDataJobOperationsResponse, error) {
+	out := new(AddOfflineUserDataJobOperationsResponse)
+	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.OfflineUserDataJobService/AddOfflineUserDataJobOperations", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *offlineUserDataJobServiceClient) RunOfflineUserDataJob(ctx context.Context, in *RunOfflineUserDataJobRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.OfflineUserDataJobService/RunOfflineUserDataJob", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// OfflineUserDataJobServiceServer is the server API for OfflineUserDataJobService service.
+type OfflineUserDataJobServiceServer interface {
+	// Creates an offline user data job.
+	CreateOfflineUserDataJob(context.Context, *CreateOfflineUserDataJobRequest) (*CreateOfflineUserDataJobResponse, error)
+	// Returns the offline user data job.
+	GetOfflineUserDataJob(context.Context, *GetOfflineUserDataJobRequest) (*resources.OfflineUserDataJob, error)
+	// Adds operations to the offline user data job.
+	AddOfflineUserDataJobOperations(context.Context, *AddOfflineUserDataJobOperationsRequest) (*AddOfflineUserDataJobOperationsResponse, error)
+	// Runs the offline user data job.
+	//
+	// When finished, the long running operation will contain the processing
+	// result or failure information, if any.
+	RunOfflineUserDataJob(context.Context, *RunOfflineUserDataJobRequest) (*longrunning.Operation, error)
+}
+
+// UnimplementedOfflineUserDataJobServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedOfflineUserDataJobServiceServer struct {
+}
+
+func (*UnimplementedOfflineUserDataJobServiceServer) CreateOfflineUserDataJob(ctx context.Context, req *CreateOfflineUserDataJobRequest) (*CreateOfflineUserDataJobResponse, error) {
+	return nil, status1.Errorf(codes.Unimplemented, "method CreateOfflineUserDataJob not implemented")
+}
+func (*UnimplementedOfflineUserDataJobServiceServer) GetOfflineUserDataJob(ctx context.Context, req *GetOfflineUserDataJobRequest) (*resources.OfflineUserDataJob, error) {
+	return nil, status1.Errorf(codes.Unimplemented, "method GetOfflineUserDataJob not implemented")
+}
+func (*UnimplementedOfflineUserDataJobServiceServer) AddOfflineUserDataJobOperations(ctx context.Context, req *AddOfflineUserDataJobOperationsRequest) (*AddOfflineUserDataJobOperationsResponse, error) {
+	return nil, status1.Errorf(codes.Unimplemented, "method AddOfflineUserDataJobOperations not implemented")
+}
+func (*UnimplementedOfflineUserDataJobServiceServer) RunOfflineUserDataJob(ctx context.Context, req *RunOfflineUserDataJobRequest) (*longrunning.Operation, error) {
+	return nil, status1.Errorf(codes.Unimplemented, "method RunOfflineUserDataJob not implemented")
+}
+
+func RegisterOfflineUserDataJobServiceServer(s *grpc.Server, srv OfflineUserDataJobServiceServer) {
+	s.RegisterService(&_OfflineUserDataJobService_serviceDesc, srv)
+}
+
+func _OfflineUserDataJobService_CreateOfflineUserDataJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateOfflineUserDataJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(OfflineUserDataJobServiceServer).CreateOfflineUserDataJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.ads.googleads.v3.services.OfflineUserDataJobService/CreateOfflineUserDataJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(OfflineUserDataJobServiceServer).CreateOfflineUserDataJob(ctx, req.(*CreateOfflineUserDataJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _OfflineUserDataJobService_GetOfflineUserDataJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetOfflineUserDataJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(OfflineUserDataJobServiceServer).GetOfflineUserDataJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.ads.googleads.v3.services.OfflineUserDataJobService/GetOfflineUserDataJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(OfflineUserDataJobServiceServer).GetOfflineUserDataJob(ctx, req.(*GetOfflineUserDataJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _OfflineUserDataJobService_AddOfflineUserDataJobOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AddOfflineUserDataJobOperationsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(OfflineUserDataJobServiceServer).AddOfflineUserDataJobOperations(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.ads.googleads.v3.services.OfflineUserDataJobService/AddOfflineUserDataJobOperations",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(OfflineUserDataJobServiceServer).AddOfflineUserDataJobOperations(ctx, req.(*AddOfflineUserDataJobOperationsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _OfflineUserDataJobService_RunOfflineUserDataJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(RunOfflineUserDataJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(OfflineUserDataJobServiceServer).RunOfflineUserDataJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.ads.googleads.v3.services.OfflineUserDataJobService/RunOfflineUserDataJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(OfflineUserDataJobServiceServer).RunOfflineUserDataJob(ctx, req.(*RunOfflineUserDataJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _OfflineUserDataJobService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.ads.googleads.v3.services.OfflineUserDataJobService",
+	HandlerType: (*OfflineUserDataJobServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateOfflineUserDataJob",
+			Handler:    _OfflineUserDataJobService_CreateOfflineUserDataJob_Handler,
+		},
+		{
+			MethodName: "GetOfflineUserDataJob",
+			Handler:    _OfflineUserDataJobService_GetOfflineUserDataJob_Handler,
+		},
+		{
+			MethodName: "AddOfflineUserDataJobOperations",
+			Handler:    _OfflineUserDataJobService_AddOfflineUserDataJobOperations_Handler,
+		},
+		{
+			MethodName: "RunOfflineUserDataJob",
+			Handler:    _OfflineUserDataJobService_RunOfflineUserDataJob_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/ads/googleads/v3/services/offline_user_data_job_service.proto",
+}
diff --git a/googleapis/ads/googleads/v3/services/reach_plan_service.pb.go b/googleapis/ads/googleads/v3/services/reach_plan_service.pb.go
index 7fcdb27..76fe9e0 100644
--- a/googleapis/ads/googleads/v3/services/reach_plan_service.pb.go
+++ b/googleapis/ads/googleads/v3/services/reach_plan_service.pb.go
@@ -645,7 +645,7 @@
 	// This is equivalent to the frequency cap exposed in Google Ads when creating
 	// a campaign, it represents the maximum number of times an ad can be shown to
 	// the same user.
-	// If not specified no cap is applied.
+	// If not specified, no cap is applied.
 	CookieFrequencyCap *wrappers.Int32Value `protobuf:"bytes,4,opt,name=cookie_frequency_cap,json=cookieFrequencyCap,proto3" json:"cookie_frequency_cap,omitempty"`
 	// Desired minimum effective frequency (the number of times a person was
 	// exposed to the ad) for the reported reach metrics [1-10].
@@ -657,15 +657,13 @@
 	// This is planned targeting: execution details might vary based on the
 	// advertising product, please consult an implementation specialist.
 	//
-	// If no targeting dimensions are specified, then campaigns will target
-	// everywhere and everyone.
-	//
 	// See specific metrics for details on how targeting affects them.
 	//
 	// In some cases, targeting may be overridden using the
 	// PlannedProduct.advanced_product_targeting field.
 	Targeting *Targeting `protobuf:"bytes,6,opt,name=targeting,proto3" json:"targeting,omitempty"`
-	// Required. The product to be planned.
+	// Required. The products to be forecast.
+	// The max number of allowed planned products is 15.
 	PlannedProducts      []*PlannedProduct `protobuf:"bytes,7,rep,name=planned_products,json=plannedProducts,proto3" json:"planned_products,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
 	XXX_unrecognized     []byte            `json:"-"`
@@ -751,14 +749,19 @@
 	// Required. The ID of the selected location.
 	// Plannable locations ID can be obtained from ListPlannableLocations.
 	PlannableLocationId *wrappers.StringValue `protobuf:"bytes,1,opt,name=plannable_location_id,json=plannableLocationId,proto3" json:"plannable_location_id,omitempty"`
-	// Required
-	// Selected age range to be planned on.
+	// Targeted age range.
+	// If not specified, targets all age ranges.
 	AgeRange enums.ReachPlanAgeRangeEnum_ReachPlanAgeRange `protobuf:"varint,2,opt,name=age_range,json=ageRange,proto3,enum=google.ads.googleads.v3.enums.ReachPlanAgeRangeEnum_ReachPlanAgeRange" json:"age_range,omitempty"`
-	// Targetable genders for the ad product.
+	// Targeted genders.
+	// If not specified, targets all genders.
 	Genders []*common.GenderInfo `protobuf:"bytes,3,rep,name=genders,proto3" json:"genders,omitempty"`
-	// Targetable devices for the ad product.
+	// Targeted devices.
+	// If not specified, targets all applicable devices. Applicable devices vary
+	// by product and region and can be obtained from ListPlannableProducts.
 	Devices []*common.DeviceInfo `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"`
 	// Targetable network for the ad product.
+	// If not specified, targets all applicable networks. Applicable networks vary
+	// by product and region and can be obtained from ListPlannableProducts.
 	Network              enums.ReachPlanNetworkEnum_ReachPlanNetwork `protobuf:"varint,5,opt,name=network,proto3,enum=google.ads.googleads.v3.enums.ReachPlanNetworkEnum_ReachPlanNetwork" json:"network,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}                                    `json:"-"`
 	XXX_unrecognized     []byte                                      `json:"-"`
@@ -1083,7 +1086,7 @@
 	// Number of ad impressions that exactly matches the Targeting.
 	OnTargetImpressions *wrappers.Int64Value `protobuf:"bytes,3,opt,name=on_target_impressions,json=onTargetImpressions,proto3" json:"on_target_impressions,omitempty"`
 	// Total number of ad impressions. This includes impressions that may fall
-	// outside the specified Targeting, due to insufficent information on
+	// outside the specified Targeting, due to insufficient information on
 	// signed-in users.
 	TotalImpressions     *wrappers.Int64Value `protobuf:"bytes,4,opt,name=total_impressions,json=totalImpressions,proto3" json:"total_impressions,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
diff --git a/googleapis/ads/googleads/v3/services/user_data_service.pb.go b/googleapis/ads/googleads/v3/services/user_data_service.pb.go
new file mode 100644
index 0000000..636aab1
--- /dev/null
+++ b/googleapis/ads/googleads/v3/services/user_data_service.pb.go
@@ -0,0 +1,370 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/ads/googleads/v3/services/user_data_service.proto
+
+package services
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	wrappers "github.com/golang/protobuf/ptypes/wrappers"
+	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for [UserDataService.UploadUserData][google.ads.googleads.v3.services.UserDataService.UploadUserData]
+type UploadUserDataRequest struct {
+	// Required. The ID of the customer for which to update the user data.
+	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
+	// Required. The list of operations to be done.
+	Operations []*UserDataOperation `protobuf:"bytes,3,rep,name=operations,proto3" json:"operations,omitempty"`
+	// Metadata of the request.
+	//
+	// Types that are valid to be assigned to Metadata:
+	//	*UploadUserDataRequest_CustomerMatchUserListMetadata
+	Metadata             isUploadUserDataRequest_Metadata `protobuf_oneof:"metadata"`
+	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
+	XXX_unrecognized     []byte                           `json:"-"`
+	XXX_sizecache        int32                            `json:"-"`
+}
+
+func (m *UploadUserDataRequest) Reset()         { *m = UploadUserDataRequest{} }
+func (m *UploadUserDataRequest) String() string { return proto.CompactTextString(m) }
+func (*UploadUserDataRequest) ProtoMessage()    {}
+func (*UploadUserDataRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_3f394d2fdab45a7d, []int{0}
+}
+
+func (m *UploadUserDataRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UploadUserDataRequest.Unmarshal(m, b)
+}
+func (m *UploadUserDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UploadUserDataRequest.Marshal(b, m, deterministic)
+}
+func (m *UploadUserDataRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UploadUserDataRequest.Merge(m, src)
+}
+func (m *UploadUserDataRequest) XXX_Size() int {
+	return xxx_messageInfo_UploadUserDataRequest.Size(m)
+}
+func (m *UploadUserDataRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UploadUserDataRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UploadUserDataRequest proto.InternalMessageInfo
+
+func (m *UploadUserDataRequest) GetCustomerId() string {
+	if m != nil {
+		return m.CustomerId
+	}
+	return ""
+}
+
+func (m *UploadUserDataRequest) GetOperations() []*UserDataOperation {
+	if m != nil {
+		return m.Operations
+	}
+	return nil
+}
+
+type isUploadUserDataRequest_Metadata interface {
+	isUploadUserDataRequest_Metadata()
+}
+
+type UploadUserDataRequest_CustomerMatchUserListMetadata struct {
+	CustomerMatchUserListMetadata *common.CustomerMatchUserListMetadata `protobuf:"bytes,2,opt,name=customer_match_user_list_metadata,json=customerMatchUserListMetadata,proto3,oneof"`
+}
+
+func (*UploadUserDataRequest_CustomerMatchUserListMetadata) isUploadUserDataRequest_Metadata() {}
+
+func (m *UploadUserDataRequest) GetMetadata() isUploadUserDataRequest_Metadata {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+func (m *UploadUserDataRequest) GetCustomerMatchUserListMetadata() *common.CustomerMatchUserListMetadata {
+	if x, ok := m.GetMetadata().(*UploadUserDataRequest_CustomerMatchUserListMetadata); ok {
+		return x.CustomerMatchUserListMetadata
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*UploadUserDataRequest) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*UploadUserDataRequest_CustomerMatchUserListMetadata)(nil),
+	}
+}
+
+// Operation to be made for the UploadUserDataRequest.
+type UserDataOperation struct {
+	// Operation to be made for the UploadUserDataRequest.
+	//
+	// Types that are valid to be assigned to Operation:
+	//	*UserDataOperation_Create
+	Operation            isUserDataOperation_Operation `protobuf_oneof:"operation"`
+	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
+	XXX_unrecognized     []byte                        `json:"-"`
+	XXX_sizecache        int32                         `json:"-"`
+}
+
+func (m *UserDataOperation) Reset()         { *m = UserDataOperation{} }
+func (m *UserDataOperation) String() string { return proto.CompactTextString(m) }
+func (*UserDataOperation) ProtoMessage()    {}
+func (*UserDataOperation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_3f394d2fdab45a7d, []int{1}
+}
+
+func (m *UserDataOperation) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UserDataOperation.Unmarshal(m, b)
+}
+func (m *UserDataOperation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UserDataOperation.Marshal(b, m, deterministic)
+}
+func (m *UserDataOperation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UserDataOperation.Merge(m, src)
+}
+func (m *UserDataOperation) XXX_Size() int {
+	return xxx_messageInfo_UserDataOperation.Size(m)
+}
+func (m *UserDataOperation) XXX_DiscardUnknown() {
+	xxx_messageInfo_UserDataOperation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UserDataOperation proto.InternalMessageInfo
+
+type isUserDataOperation_Operation interface {
+	isUserDataOperation_Operation()
+}
+
+type UserDataOperation_Create struct {
+	Create *common.UserData `protobuf:"bytes,1,opt,name=create,proto3,oneof"`
+}
+
+func (*UserDataOperation_Create) isUserDataOperation_Operation() {}
+
+func (m *UserDataOperation) GetOperation() isUserDataOperation_Operation {
+	if m != nil {
+		return m.Operation
+	}
+	return nil
+}
+
+func (m *UserDataOperation) GetCreate() *common.UserData {
+	if x, ok := m.GetOperation().(*UserDataOperation_Create); ok {
+		return x.Create
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*UserDataOperation) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*UserDataOperation_Create)(nil),
+	}
+}
+
+// Response message for [UserDataService.UploadUserData][google.ads.googleads.v3.services.UserDataService.UploadUserData]
+type UploadUserDataResponse struct {
+	// The date time at which the request was received by API, formatted as
+	// "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+	UploadDateTime *wrappers.StringValue `protobuf:"bytes,1,opt,name=upload_date_time,json=uploadDateTime,proto3" json:"upload_date_time,omitempty"`
+	// Number of upload data operations received by API.
+	ReceivedOperationsCount *wrappers.Int32Value `protobuf:"bytes,2,opt,name=received_operations_count,json=receivedOperationsCount,proto3" json:"received_operations_count,omitempty"`
+	XXX_NoUnkeyedLiteral    struct{}             `json:"-"`
+	XXX_unrecognized        []byte               `json:"-"`
+	XXX_sizecache           int32                `json:"-"`
+}
+
+func (m *UploadUserDataResponse) Reset()         { *m = UploadUserDataResponse{} }
+func (m *UploadUserDataResponse) String() string { return proto.CompactTextString(m) }
+func (*UploadUserDataResponse) ProtoMessage()    {}
+func (*UploadUserDataResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_3f394d2fdab45a7d, []int{2}
+}
+
+func (m *UploadUserDataResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UploadUserDataResponse.Unmarshal(m, b)
+}
+func (m *UploadUserDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UploadUserDataResponse.Marshal(b, m, deterministic)
+}
+func (m *UploadUserDataResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UploadUserDataResponse.Merge(m, src)
+}
+func (m *UploadUserDataResponse) XXX_Size() int {
+	return xxx_messageInfo_UploadUserDataResponse.Size(m)
+}
+func (m *UploadUserDataResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_UploadUserDataResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UploadUserDataResponse proto.InternalMessageInfo
+
+func (m *UploadUserDataResponse) GetUploadDateTime() *wrappers.StringValue {
+	if m != nil {
+		return m.UploadDateTime
+	}
+	return nil
+}
+
+func (m *UploadUserDataResponse) GetReceivedOperationsCount() *wrappers.Int32Value {
+	if m != nil {
+		return m.ReceivedOperationsCount
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*UploadUserDataRequest)(nil), "google.ads.googleads.v3.services.UploadUserDataRequest")
+	proto.RegisterType((*UserDataOperation)(nil), "google.ads.googleads.v3.services.UserDataOperation")
+	proto.RegisterType((*UploadUserDataResponse)(nil), "google.ads.googleads.v3.services.UploadUserDataResponse")
+}
+
+func init() {
+	proto.RegisterFile("google/ads/googleads/v3/services/user_data_service.proto", fileDescriptor_3f394d2fdab45a7d)
+}
+
+var fileDescriptor_3f394d2fdab45a7d = []byte{
+	// 638 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x4a,
+	0x14, 0xae, 0x1d, 0xa9, 0xba, 0x9d, 0x48, 0xbd, 0xf7, 0x5a, 0x40, 0x43, 0x5a, 0x20, 0x44, 0x5d,
+	0x44, 0x15, 0xb2, 0x45, 0x2c, 0xd1, 0xca, 0xa8, 0x0b, 0xa7, 0x15, 0x6d, 0x25, 0x2a, 0xaa, 0x94,
+	0x06, 0x84, 0x22, 0x59, 0x53, 0xfb, 0xc4, 0x1d, 0xc9, 0xf6, 0x98, 0x99, 0x71, 0x58, 0x20, 0x36,
+	0xec, 0x58, 0xf3, 0x06, 0x2c, 0xd9, 0xb0, 0x46, 0xe2, 0x09, 0xba, 0xe5, 0x05, 0x58, 0xb0, 0x42,
+	0xe2, 0x09, 0xd8, 0x20, 0x67, 0x66, 0x9c, 0xfe, 0x50, 0x0a, 0xbb, 0x93, 0x99, 0xef, 0xe7, 0xcc,
+	0x77, 0x4e, 0x8c, 0xd6, 0x62, 0x4a, 0xe3, 0x04, 0x1c, 0x1c, 0x71, 0x47, 0x96, 0x65, 0x35, 0x76,
+	0x1d, 0x0e, 0x6c, 0x4c, 0x42, 0xe0, 0x4e, 0xc1, 0x81, 0x05, 0x11, 0x16, 0x38, 0x50, 0x47, 0x76,
+	0xce, 0xa8, 0xa0, 0x56, 0x4b, 0xc2, 0x6d, 0x1c, 0x71, 0xbb, 0x62, 0xda, 0x63, 0xd7, 0xd6, 0xcc,
+	0xe6, 0xbd, 0x8b, 0xb4, 0x43, 0x9a, 0xa6, 0x34, 0x73, 0xe8, 0x68, 0x94, 0x90, 0x0c, 0x82, 0xca,
+	0x41, 0x2a, 0x37, 0x97, 0x34, 0x2f, 0x27, 0x0e, 0xce, 0x32, 0x2a, 0xb0, 0x20, 0x34, 0xe3, 0xea,
+	0xf6, 0xd6, 0x89, 0xdb, 0x11, 0x81, 0x24, 0x0a, 0x0e, 0xe1, 0x08, 0x8f, 0x09, 0x65, 0x0a, 0x70,
+	0x53, 0x01, 0x26, 0xbf, 0x0e, 0x8b, 0x91, 0xf3, 0x82, 0xe1, 0x3c, 0x07, 0xa6, 0x05, 0x16, 0x4e,
+	0x08, 0x84, 0x09, 0x81, 0x4c, 0xc8, 0x8b, 0xf6, 0x07, 0x13, 0x5d, 0x3d, 0xc8, 0x13, 0x8a, 0xa3,
+	0x03, 0x0e, 0x6c, 0x13, 0x0b, 0xdc, 0x87, 0xe7, 0x05, 0x70, 0x61, 0x2d, 0xa3, 0x7a, 0x58, 0x70,
+	0x41, 0x53, 0x60, 0x01, 0x89, 0x1a, 0x46, 0xcb, 0xe8, 0xcc, 0xf5, 0x6a, 0x5f, 0x7c, 0xb3, 0x8f,
+	0xf4, 0xf9, 0x4e, 0x64, 0x3d, 0x45, 0x88, 0xe6, 0xc0, 0x64, 0xb7, 0x8d, 0x5a, 0xab, 0xd6, 0xa9,
+	0x77, 0x5d, 0xfb, 0xb2, 0x98, 0x6c, 0x6d, 0xf6, 0x48, 0x73, 0x95, 0xf2, 0x54, 0xcb, 0x7a, 0x63,
+	0xa0, 0xdb, 0x55, 0x03, 0x29, 0x16, 0xe1, 0x91, 0x0c, 0x2d, 0x21, 0x5c, 0x04, 0x29, 0x08, 0x5c,
+	0xa6, 0xd7, 0x30, 0x5b, 0x46, 0xa7, 0xde, 0x5d, 0xbf, 0xd0, 0x51, 0xc6, 0x6e, 0x6f, 0x28, 0xa1,
+	0xdd, 0x52, 0xa7, 0x34, 0x7f, 0x48, 0xb8, 0xd8, 0x55, 0x22, 0xdb, 0x33, 0xfd, 0x1b, 0xe1, 0xef,
+	0x00, 0x3d, 0x84, 0xfe, 0xd1, 0x8e, 0xed, 0x08, 0xfd, 0x7f, 0xae, 0x7b, 0xab, 0x87, 0x66, 0x43,
+	0x06, 0x58, 0xc0, 0x24, 0xa7, 0x7a, 0xb7, 0x73, 0x59, 0x43, 0x5a, 0x62, 0x7b, 0xa6, 0xaf, 0x98,
+	0xbd, 0x3a, 0x9a, 0xab, 0x9e, 0xdf, 0xfe, 0x68, 0xa0, 0x6b, 0x67, 0xe7, 0xc2, 0x73, 0x9a, 0x71,
+	0xb0, 0x1e, 0xa0, 0xff, 0x8a, 0xc9, 0x4d, 0xb9, 0x3f, 0x10, 0x08, 0x92, 0x6a, 0xd7, 0x25, 0xed,
+	0xaa, 0xd7, 0xc0, 0xde, 0x17, 0x8c, 0x64, 0xf1, 0x00, 0x27, 0x05, 0xf4, 0xe7, 0x25, 0x6b, 0x13,
+	0x0b, 0x78, 0x4c, 0x52, 0xb0, 0x9e, 0xa0, 0xeb, 0x0c, 0x42, 0x20, 0x63, 0x88, 0x82, 0x69, 0xee,
+	0x41, 0x48, 0x8b, 0x4c, 0xa8, 0x5c, 0x17, 0xcf, 0x09, 0xee, 0x64, 0xc2, 0xed, 0x4a, 0xbd, 0x05,
+	0xcd, 0xae, 0x62, 0xe0, 0x1b, 0x25, 0xb7, 0xfb, 0xdd, 0x40, 0xff, 0xea, 0xae, 0xf7, 0xe5, 0xc4,
+	0xad, 0x4f, 0x06, 0x9a, 0x3f, 0xfd, 0x1e, 0x6b, 0xf5, 0x0f, 0xd6, 0xe4, 0x57, 0x9b, 0xd9, 0x5c,
+	0xfb, 0x7b, 0xa2, 0x8c, 0xae, 0xbd, 0xfa, 0xfa, 0xf3, 0xd7, 0xb7, 0xe6, 0xdd, 0xf6, 0x9d, 0xc9,
+	0x3f, 0x52, 0x8d, 0x9c, 0x3b, 0x2f, 0x4f, 0x2c, 0xfa, 0xfa, 0xca, 0x2b, 0xaf, 0x38, 0xc5, 0xf6,
+	0x8c, 0x95, 0xe6, 0xe2, 0xb1, 0xdf, 0x98, 0x3a, 0xa9, 0x2a, 0x27, 0xbc, 0x1c, 0x67, 0xef, 0x87,
+	0x81, 0x96, 0x43, 0x9a, 0x5e, 0xda, 0x55, 0xef, 0xca, 0x99, 0x54, 0xf6, 0xca, 0x54, 0xf7, 0x8c,
+	0x67, 0xdb, 0x8a, 0x19, 0xd3, 0x04, 0x67, 0xb1, 0x4d, 0x59, 0xec, 0xc4, 0x90, 0x4d, 0x32, 0x77,
+	0xa6, 0x5e, 0x17, 0x7f, 0xaf, 0xee, 0xeb, 0xe2, 0x9d, 0x59, 0xdb, 0xf2, 0xfd, 0xf7, 0x66, 0x6b,
+	0x4b, 0x0a, 0xfa, 0x11, 0xb7, 0x65, 0x59, 0x56, 0x03, 0xd7, 0x56, 0xc6, 0xfc, 0x58, 0x43, 0x86,
+	0x7e, 0xc4, 0x87, 0x15, 0x64, 0x38, 0x70, 0x87, 0x1a, 0xf2, 0xcd, 0x5c, 0x96, 0xe7, 0x9e, 0xe7,
+	0x47, 0xdc, 0xf3, 0x2a, 0x90, 0xe7, 0x0d, 0x5c, 0xcf, 0xd3, 0xb0, 0xc3, 0xd9, 0x49, 0x9f, 0xee,
+	0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0xe1, 0x1f, 0x70, 0x56, 0x05, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// UserDataServiceClient is the client API for UserDataService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type UserDataServiceClient interface {
+	// Uploads the given user data.
+	UploadUserData(ctx context.Context, in *UploadUserDataRequest, opts ...grpc.CallOption) (*UploadUserDataResponse, error)
+}
+
+type userDataServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewUserDataServiceClient(cc grpc.ClientConnInterface) UserDataServiceClient {
+	return &userDataServiceClient{cc}
+}
+
+func (c *userDataServiceClient) UploadUserData(ctx context.Context, in *UploadUserDataRequest, opts ...grpc.CallOption) (*UploadUserDataResponse, error) {
+	out := new(UploadUserDataResponse)
+	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.UserDataService/UploadUserData", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// UserDataServiceServer is the server API for UserDataService service.
+type UserDataServiceServer interface {
+	// Uploads the given user data.
+	UploadUserData(context.Context, *UploadUserDataRequest) (*UploadUserDataResponse, error)
+}
+
+// UnimplementedUserDataServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedUserDataServiceServer struct {
+}
+
+func (*UnimplementedUserDataServiceServer) UploadUserData(ctx context.Context, req *UploadUserDataRequest) (*UploadUserDataResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UploadUserData not implemented")
+}
+
+func RegisterUserDataServiceServer(s *grpc.Server, srv UserDataServiceServer) {
+	s.RegisterService(&_UserDataService_serviceDesc, srv)
+}
+
+func _UserDataService_UploadUserData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UploadUserDataRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserDataServiceServer).UploadUserData(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.ads.googleads.v3.services.UserDataService/UploadUserData",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserDataServiceServer).UploadUserData(ctx, req.(*UploadUserDataRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _UserDataService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.ads.googleads.v3.services.UserDataService",
+	HandlerType: (*UserDataServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "UploadUserData",
+			Handler:    _UserDataService_UploadUserData_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/ads/googleads/v3/services/user_data_service.proto",
+}
diff --git a/googleapis/cloud/bigquery/storage/v1alpha2/protobuf.pb.go b/googleapis/cloud/bigquery/storage/v1alpha2/protobuf.pb.go
index 510ad52..3802805 100644
--- a/googleapis/cloud/bigquery/storage/v1alpha2/protobuf.pb.go
+++ b/googleapis/cloud/bigquery/storage/v1alpha2/protobuf.pb.go
@@ -24,9 +24,8 @@
 
 // Protobuf schema is an API presentation the proto buffer schema.
 type ProtoSchema struct {
-	// Message descriptor for the data. The descriptor has to be self contained
-	// to include all the nested type definition, excepted for proto buffer well
-	// known types
+	// Descriptor for input message. The descriptor has to be self contained,
+	// including all the nested types, excepted for proto buffer well known types
 	// (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf)
 	// and zetasql public protos
 	// (https://github.com/google/zetasql/tree/master/zetasql/public/proto).
diff --git a/googleapis/cloud/bigquery/storage/v1alpha2/storage.pb.go b/googleapis/cloud/bigquery/storage/v1alpha2/storage.pb.go
index 4a3a215..ebf0fa8 100644
--- a/googleapis/cloud/bigquery/storage/v1alpha2/storage.pb.go
+++ b/googleapis/cloud/bigquery/storage/v1alpha2/storage.pb.go
@@ -33,7 +33,7 @@
 // Request message for `CreateWriteStream`.
 type CreateWriteStreamRequest struct {
 	// Required. Reference to the table to which the stream belongs, in the format
-	// of `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}`.
+	// of `projects/{project}/datasets/{dataset}/tables/{table}`.
 	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
 	// Required. Stream to be created.
 	WriteStream          *WriteStream `protobuf:"bytes,2,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
@@ -307,7 +307,7 @@
 // Request message for `GetWriteStreamRequest`.
 type GetWriteStreamRequest struct {
 	// Required. Name of the stream to get, in the form of
-	// `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}/streams/{stream_id}`.
+	// `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
 	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -349,7 +349,7 @@
 // Request message for `BatchCommitWriteStreams`.
 type BatchCommitWriteStreamsRequest struct {
 	// Required. Parent table that all the streams should belong to, in the form of
-	// `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}`.
+	// `projects/{project}/datasets/{dataset}/tables/{table}`.
 	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
 	// Required. The group of streams that will be committed atomically.
 	WriteStreams         []string `protobuf:"bytes,2,rep,name=write_streams,json=writeStreams,proto3" json:"write_streams,omitempty"`
@@ -441,7 +441,7 @@
 // Request message for invoking `FinalizeWriteStream`.
 type FinalizeWriteStreamRequest struct {
 	// Required. Name of the stream to finalize, in the form of
-	// `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}/streams/{stream_id}`.
+	// `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
 	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -538,63 +538,68 @@
 }
 
 var fileDescriptor_f4f9d0517c05d712 = []byte{
-	// 886 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
-	0x14, 0xcf, 0xc4, 0x21, 0x6a, 0x5e, 0x5a, 0xa4, 0x0e, 0x42, 0xb1, 0xd6, 0x28, 0xad, 0xf6, 0x50,
-	0x45, 0x16, 0xec, 0x36, 0x49, 0x5b, 0x91, 0x94, 0x22, 0x6c, 0x97, 0x34, 0x48, 0x20, 0xc1, 0x06,
-	0x01, 0x02, 0x09, 0x6b, 0xbc, 0x1e, 0xaf, 0x17, 0xed, 0xee, 0x4c, 0x67, 0x66, 0xbb, 0x2a, 0x15,
-	0x07, 0xb8, 0x72, 0x03, 0x3e, 0x06, 0x07, 0x3e, 0x06, 0xea, 0x11, 0xc4, 0x9d, 0x43, 0xf9, 0x1e,
-	0x68, 0x67, 0x67, 0xed, 0xc5, 0xb1, 0xc9, 0xda, 0xe9, 0x2d, 0x9e, 0xf7, 0x7e, 0xef, 0xfd, 0x7e,
-	0xef, 0x5f, 0x16, 0xee, 0x04, 0x8c, 0x05, 0x11, 0x75, 0xfd, 0x88, 0xa5, 0x43, 0x77, 0x10, 0x06,
-	0x8f, 0x53, 0x2a, 0x9e, 0xba, 0x52, 0x31, 0x41, 0x02, 0xea, 0x3e, 0xd9, 0x27, 0x11, 0x1f, 0x93,
-	0x83, 0xf2, 0xc1, 0xe1, 0x82, 0x29, 0x86, 0x6f, 0x15, 0x28, 0x47, 0xa3, 0x9c, 0x12, 0xe5, 0x94,
-	0x4e, 0x25, 0xca, 0x7a, 0xc3, 0x44, 0x27, 0x3c, 0x74, 0x49, 0x92, 0x30, 0x45, 0x54, 0xc8, 0x12,
-	0x59, 0x44, 0xb1, 0x76, 0x2a, 0x56, 0x3f, 0x0a, 0x69, 0xa2, 0x8c, 0xe1, 0x46, 0xc5, 0x30, 0x0a,
-	0x69, 0x34, 0xec, 0x0f, 0xe8, 0x98, 0x3c, 0x09, 0x99, 0x30, 0x0e, 0x77, 0x6b, 0xb2, 0xd6, 0xde,
-	0x83, 0x74, 0x64, 0x60, 0x87, 0xb5, 0xc5, 0x0a, 0x4a, 0x62, 0x03, 0x6a, 0x19, 0x50, 0x19, 0xcb,
-	0xa5, 0x31, 0x57, 0x4f, 0x67, 0x98, 0x4e, 0x8c, 0x2a, 0x8c, 0xa9, 0x54, 0x24, 0xe6, 0xc6, 0x61,
-	0x77, 0xd6, 0x21, 0x13, 0x84, 0x73, 0x2a, 0x66, 0x6b, 0x20, 0xb8, 0xef, 0x4a, 0x45, 0x54, 0x6a,
-	0x0c, 0xf6, 0x2f, 0x08, 0x9a, 0x3d, 0x41, 0x89, 0xa2, 0x9f, 0x8b, 0x50, 0xd1, 0x33, 0x4d, 0xc9,
-	0xa3, 0x8f, 0x53, 0x2a, 0x15, 0x6e, 0xc1, 0x26, 0x27, 0x82, 0x26, 0xaa, 0x89, 0x6e, 0xa2, 0xbd,
-	0xad, 0x6e, 0xe3, 0xef, 0xce, 0xba, 0x67, 0x9e, 0xf0, 0x57, 0x70, 0x35, 0xcb, 0x21, 0xfd, 0x42,
-	0x46, 0x73, 0xfd, 0x26, 0xda, 0xdb, 0x3e, 0x38, 0x74, 0xea, 0xf5, 0xcc, 0xa9, 0xa4, 0x2b, 0xe2,
-	0x6e, 0x67, 0xd3, 0x17, 0xfb, 0xa7, 0x06, 0x5c, 0xef, 0x70, 0x4e, 0x93, 0xa1, 0xc7, 0x32, 0x59,
-	0xf2, 0xb9, 0x35, 0x93, 0xb2, 0xc2, 0xaa, 0x8a, 0xc6, 0x6f, 0xc3, 0x26, 0x1b, 0x8d, 0x24, 0x55,
-	0x86, 0x54, 0xab, 0x24, 0x35, 0x69, 0xd4, 0x07, 0x89, 0xba, 0x77, 0xe7, 0x33, 0x12, 0xa5, 0x34,
-	0x87, 0x23, 0xcf, 0xf8, 0xe3, 0x21, 0x80, 0xf6, 0xe9, 0x0b, 0x96, 0xc9, 0xe6, 0x86, 0x46, 0xf7,
-	0xea, 0x4a, 0x3a, 0x47, 0xd8, 0xf9, 0x38, 0x8f, 0xf5, 0x90, 0x28, 0x72, 0xba, 0xe6, 0x6d, 0xe9,
-	0xc0, 0xb9, 0xd5, 0xfa, 0x15, 0xc1, 0xd6, 0xc4, 0x84, 0xbf, 0x80, 0x6b, 0x9a, 0xbc, 0xe8, 0x4b,
-	0x7f, 0x4c, 0x63, 0xa2, 0x65, 0x2d, 0x51, 0x49, 0x1d, 0xe9, 0x4c, 0x43, 0xbd, 0xa2, 0x3e, 0xa2,
-	0xf8, 0x85, 0xdf, 0x87, 0x0d, 0xad, 0xa3, 0xa8, 0xc2, 0xfe, 0x52, 0x01, 0xb5, 0x0c, 0x0d, 0xef,
-	0x6e, 0x16, 0x61, 0xec, 0x11, 0xe0, 0xaa, 0x44, 0xc9, 0x59, 0x22, 0x29, 0x6e, 0x4e, 0x8a, 0x9d,
-	0xf3, 0x6e, 0x9c, 0xae, 0x4d, 0x8a, 0xd9, 0x86, 0x57, 0xa8, 0x10, 0x4c, 0x98, 0xfc, 0xb8, 0xcc,
-	0x2f, 0xb8, 0xef, 0x9c, 0xe9, 0x21, 0x3c, 0x5d, 0xf3, 0x0a, 0x97, 0x2e, 0xc0, 0x15, 0x61, 0x22,
-	0xda, 0xb7, 0xe1, 0xf5, 0x47, 0x54, 0xcd, 0x99, 0xc7, 0x1d, 0xd8, 0x48, 0x48, 0x4c, 0xab, 0x7d,
-	0xd7, 0x0f, 0x76, 0x00, 0xbb, 0x5d, 0xa2, 0xfc, 0x71, 0x8f, 0xc5, 0x71, 0x58, 0x45, 0xca, 0x5a,
-	0xa3, 0xbc, 0x67, 0x3a, 0x60, 0xe6, 0x2a, 0x2f, 0x58, 0xa3, 0xf4, 0xb9, 0x5a, 0x19, 0x2c, 0x69,
-	0x7f, 0x0d, 0x37, 0x16, 0x26, 0x32, 0xf5, 0xb8, 0x0f, 0xdb, 0xbe, 0xb6, 0xf6, 0xf3, 0x25, 0x35,
-	0xcd, 0xb4, 0xce, 0x4d, 0xe0, 0xa7, 0xe5, 0x06, 0x7b, 0x50, 0xb8, 0xe7, 0x0f, 0xf6, 0x5d, 0xb0,
-	0x4e, 0xc2, 0x84, 0x44, 0xe1, 0xb7, 0x74, 0x19, 0xfd, 0xc7, 0xd0, 0x9a, 0x0b, 0x33, 0x94, 0x5a,
-	0xb0, 0x25, 0x58, 0xd6, 0xf7, 0x59, 0x6a, 0xf4, 0x37, 0xbc, 0x2b, 0x82, 0x65, 0xbd, 0xfc, 0xf7,
-	0xc1, 0xf7, 0x00, 0xd7, 0xba, 0x61, 0xf0, 0x49, 0x3e, 0x0b, 0x1a, 0x8c, 0x7f, 0x47, 0x70, 0xfd,
-	0xdc, 0x4d, 0xc0, 0xef, 0xd5, 0x1d, 0x9f, 0x45, 0xe7, 0xc4, 0x5a, 0xe5, 0x36, 0xd8, 0xef, 0xfc,
-	0xf0, 0xe7, 0x8b, 0x9f, 0xd7, 0xef, 0xd9, 0xfb, 0xd3, 0xbb, 0xf9, 0xac, 0x68, 0xdb, 0x03, 0x2e,
-	0xd8, 0x37, 0xd4, 0x57, 0xd2, 0x6d, 0xbb, 0x43, 0xa2, 0x88, 0xa4, 0xfa, 0x4f, 0x45, 0x06, 0x11,
-	0x95, 0x6e, 0xfb, 0xbb, 0x63, 0xd4, 0xc6, 0x7f, 0x21, 0x80, 0xe9, 0xcc, 0xe2, 0xa3, 0x95, 0x57,
-	0xd9, 0x3a, 0x5e, 0x05, 0x6a, 0x06, 0xfa, 0x43, 0xad, 0xe1, 0xc4, 0xee, 0x54, 0x34, 0x54, 0x07,
-	0xee, 0x02, 0x25, 0xe6, 0x1f, 0x85, 0xd1, 0xb4, 0x87, 0x6e, 0x23, 0xfc, 0x1c, 0xc1, 0xab, 0xff,
-	0xdd, 0x11, 0xfc, 0xa0, 0x2e, 0xc1, 0xb9, 0xbb, 0xb5, 0x5a, 0x73, 0x1e, 0x6a, 0x61, 0xef, 0xda,
-	0x47, 0x15, 0x61, 0xf9, 0x40, 0x2e, 0x25, 0x08, 0xbf, 0x40, 0xf0, 0xda, 0x9c, 0xf1, 0xc5, 0xdd,
-	0xba, 0x94, 0x16, 0xaf, 0x8c, 0xd5, 0xbb, 0x54, 0x0c, 0xd3, 0xbf, 0x97, 0x23, 0xf3, 0x1f, 0x04,
-	0x3b, 0x0b, 0x8e, 0x07, 0x3e, 0xa9, 0x4b, 0xf3, 0xff, 0xcf, 0x9c, 0xf5, 0xe8, 0xd2, 0x71, 0x8c,
-	0xe4, 0x23, 0x2d, 0xf9, 0x10, 0x2f, 0xbf, 0x76, 0xd6, 0x6f, 0xe8, 0x79, 0x67, 0xb7, 0xcc, 0x5c,
-	0x26, 0x2e, 0x68, 0x11, 0x1e, 0x4a, 0xc7, 0x67, 0xf1, 0x1f, 0x9d, 0x1f, 0xd1, 0x58, 0x29, 0x2e,
-	0x8f, 0x5d, 0x37, 0xcb, 0xb2, 0x19, 0xab, 0x4b, 0x52, 0x35, 0x9e, 0x7c, 0x37, 0xbd, 0x59, 0xd7,
-	0xd1, 0x09, 0x13, 0x49, 0x85, 0xca, 0x39, 0x5d, 0x88, 0xd1, 0xe5, 0x79, 0x8b, 0x47, 0x44, 0x8d,
-	0x98, 0x88, 0xbb, 0xcf, 0xa0, 0xed, 0xb3, 0xb8, 0x66, 0xed, 0xbe, 0xfc, 0xc8, 0xf8, 0x05, 0x2c,
-	0x22, 0x49, 0xe0, 0x30, 0x11, 0xb8, 0x01, 0x4d, 0xf4, 0x65, 0x77, 0xa7, 0xc9, 0x2e, 0xfa, 0xfc,
-	0xbb, 0x6f, 0x1e, 0x06, 0x9b, 0x1a, 0x79, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0xc7,
-	0x14, 0x8b, 0x24, 0x0b, 0x00, 0x00,
+	// 967 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xdc, 0x44,
+	0x14, 0xaf, 0xb3, 0x21, 0xea, 0xbe, 0xa4, 0x48, 0x9d, 0x0a, 0x75, 0x71, 0x50, 0x5a, 0x59, 0xa8,
+	0x5a, 0xad, 0x82, 0x4d, 0x36, 0x05, 0xd1, 0x54, 0x45, 0xd8, 0x5b, 0xd2, 0x20, 0x84, 0x04, 0x4e,
+	0xf9, 0x23, 0x2a, 0x58, 0xcd, 0x7a, 0x67, 0xbd, 0x46, 0xb6, 0x67, 0x3a, 0x33, 0xae, 0x55, 0x2a,
+	0x2e, 0x5c, 0xb9, 0x20, 0xf1, 0x35, 0x38, 0xf0, 0x05, 0x38, 0x70, 0x43, 0xdc, 0x80, 0x5b, 0x4e,
+	0x3d, 0xf4, 0x82, 0x90, 0xf8, 0x00, 0x9c, 0x90, 0xc7, 0xe3, 0x8d, 0xbb, 0x49, 0x1a, 0x27, 0x29,
+	0xb7, 0xdd, 0x79, 0xef, 0xf7, 0xde, 0xfb, 0xfd, 0xe6, 0xbd, 0x37, 0x86, 0xeb, 0x21, 0xa5, 0x61,
+	0x4c, 0x9c, 0x20, 0xa6, 0xd9, 0xd8, 0x19, 0x45, 0xe1, 0xfd, 0x8c, 0xf0, 0x87, 0x8e, 0x90, 0x94,
+	0xe3, 0x90, 0x38, 0x0f, 0x36, 0x70, 0xcc, 0xa6, 0xb8, 0x5f, 0x1d, 0xd8, 0x8c, 0x53, 0x49, 0xd1,
+	0xb5, 0x12, 0x65, 0x2b, 0x94, 0x5d, 0xa1, 0xec, 0xca, 0xa9, 0x42, 0x99, 0xaf, 0xe8, 0xe8, 0x98,
+	0x45, 0x0e, 0x4e, 0x53, 0x2a, 0xb1, 0x8c, 0x68, 0x2a, 0xca, 0x28, 0xe6, 0xe5, 0x9a, 0x35, 0x88,
+	0x23, 0x92, 0x4a, 0x6d, 0xb8, 0x52, 0x33, 0x4c, 0x22, 0x12, 0x8f, 0x87, 0x23, 0x32, 0xc5, 0x0f,
+	0x22, 0xca, 0xb5, 0xc3, 0xcb, 0x35, 0x07, 0x4e, 0x04, 0xcd, 0x78, 0xa0, 0x4b, 0x33, 0xdf, 0x68,
+	0x48, 0x48, 0x79, 0x8f, 0xb2, 0x89, 0x86, 0x6d, 0x36, 0xd6, 0x81, 0x13, 0x9c, 0x68, 0x50, 0xbf,
+	0x21, 0x48, 0xe2, 0x51, 0x5c, 0xd5, 0xb7, 0xaa, 0x31, 0x55, 0x7e, 0x87, 0x24, 0x4c, 0x3e, 0x9c,
+	0x23, 0x3e, 0x33, 0xca, 0x28, 0x21, 0x42, 0xe2, 0x84, 0x69, 0x87, 0xb5, 0x79, 0x87, 0x9c, 0x63,
+	0xc6, 0x08, 0x9f, 0x97, 0x94, 0xb3, 0xc0, 0x11, 0x12, 0xcb, 0x4c, 0x1b, 0xac, 0x9f, 0x0d, 0xe8,
+	0x0c, 0x38, 0xc1, 0x92, 0x7c, 0xca, 0x23, 0x49, 0x76, 0x15, 0x0d, 0x9f, 0xdc, 0xcf, 0x88, 0x90,
+	0xe8, 0x36, 0x2c, 0x31, 0xcc, 0x49, 0x2a, 0x3b, 0xc6, 0x55, 0xa3, 0xdb, 0xf6, 0xd6, 0x1f, 0xbb,
+	0x0b, 0xff, 0xba, 0xd7, 0xe0, 0xd5, 0x8a, 0x52, 0x75, 0xb1, 0x65, 0x74, 0xcc, 0x22, 0x61, 0x07,
+	0x34, 0x71, 0xee, 0x16, 0xbc, 0x7c, 0x8d, 0x45, 0xf7, 0x60, 0x25, 0x2f, 0x62, 0x0f, 0x4b, 0x8d,
+	0x3a, 0x0b, 0x57, 0x8d, 0xee, 0x72, 0x7f, 0xd3, 0x6e, 0xd6, 0x2b, 0x76, 0xad, 0x2e, 0xaf, 0xf5,
+	0xd8, 0x5d, 0xf0, 0x97, 0xf3, 0xfd, 0x13, 0xeb, 0x97, 0x16, 0x5c, 0x74, 0x19, 0x23, 0xe9, 0xd8,
+	0xa7, 0xb9, 0xa8, 0x0a, 0xff, 0x78, 0x2e, 0x65, 0x59, 0x7e, 0x5f, 0x95, 0xbf, 0x0e, 0xbd, 0x63,
+	0xca, 0xaf, 0x2b, 0x51, 0x4f, 0x86, 0xde, 0x82, 0x25, 0x3a, 0x99, 0x08, 0x22, 0x35, 0x87, 0xd5,
+	0x8a, 0xc3, 0xac, 0x69, 0xde, 0x4b, 0xe5, 0x9b, 0xd7, 0x3f, 0xc1, 0x71, 0x46, 0x8a, 0x5a, 0x0d,
+	0x5f, 0xfb, 0xa3, 0x31, 0x80, 0xf2, 0x19, 0x72, 0x9a, 0x8b, 0xce, 0xa2, 0x42, 0x0f, 0x9a, 0x2a,
+	0x70, 0x80, 0x9f, 0xfd, 0x61, 0x11, 0xeb, 0x36, 0x96, 0x78, 0xe7, 0x9c, 0xdf, 0x56, 0x81, 0x0b,
+	0xab, 0xf9, 0xa3, 0x01, 0xed, 0x99, 0x09, 0x7d, 0x06, 0x17, 0x54, 0xf1, 0x7c, 0x28, 0x82, 0x29,
+	0x49, 0xb0, 0x52, 0xe1, 0x04, 0xc2, 0xab, 0x48, 0xbb, 0x0a, 0xea, 0x97, 0x72, 0xf2, 0xf2, 0x1f,
+	0x7a, 0x17, 0x16, 0x15, 0x8f, 0x52, 0x85, 0x8d, 0x13, 0x05, 0x54, 0x34, 0x14, 0xdc, 0x5b, 0x2a,
+	0xc3, 0x58, 0x13, 0x40, 0x75, 0x8a, 0x82, 0xd1, 0x54, 0x10, 0xd4, 0x99, 0x89, 0x5d, 0xd4, 0xdd,
+	0xda, 0x39, 0x37, 0x13, 0xb3, 0x07, 0x2f, 0x10, 0xce, 0x29, 0xd7, 0xf9, 0x51, 0x95, 0x9f, 0xb3,
+	0xc0, 0xde, 0x55, 0xcd, 0xbd, 0x73, 0xce, 0x2f, 0x5d, 0x3c, 0x80, 0xf3, 0x5c, 0x47, 0xb4, 0x86,
+	0xf0, 0xd2, 0x1d, 0x22, 0x0f, 0xe9, 0xf3, 0x6d, 0x58, 0x4c, 0x71, 0x42, 0xce, 0xd0, 0x26, 0x0a,
+	0x6f, 0x7d, 0x6f, 0xc0, 0x9a, 0x87, 0x65, 0x30, 0x1d, 0xd0, 0x24, 0x89, 0xea, 0x99, 0xc4, 0xf3,
+	0x1d, 0xa9, 0xae, 0xbe, 0x5a, 0xdd, 0xdf, 0xc5, 0x4d, 0xb4, 0xba, 0xed, 0x72, 0x3c, 0x56, 0x6a,
+	0x1d, 0x2b, 0xac, 0x2f, 0xe1, 0xca, 0x91, 0x15, 0x69, 0xa1, 0x6f, 0xc2, 0x72, 0xa0, 0xac, 0xc3,
+	0x62, 0xab, 0xe8, 0x2e, 0x31, 0x0f, 0xb4, 0xf6, 0xdd, 0x6a, 0xe5, 0xf8, 0x50, 0xba, 0x17, 0x07,
+	0xd6, 0x18, 0xcc, 0xed, 0x28, 0xc5, 0x71, 0xf4, 0x35, 0xf9, 0x1f, 0x85, 0xdd, 0x82, 0xd5, 0x43,
+	0xb3, 0x68, 0x06, 0xab, 0xd0, 0xe6, 0x34, 0x1f, 0x06, 0x34, 0xd3, 0xba, 0xb6, 0xfc, 0xf3, 0x9c,
+	0xe6, 0x83, 0xe2, 0x7f, 0xff, 0x57, 0x80, 0x0b, 0x5e, 0x14, 0x7e, 0x54, 0x24, 0x54, 0x60, 0xf4,
+	0x97, 0x01, 0x17, 0x0f, 0xec, 0x3c, 0xf4, 0x4e, 0xd3, 0x36, 0x3e, 0x6a, 0x5d, 0x9a, 0xa7, 0x59,
+	0x69, 0xd6, 0x17, 0x7b, 0xee, 0xa5, 0xf2, 0x56, 0xd7, 0xeb, 0x57, 0xfa, 0xed, 0x9f, 0x4f, 0x7e,
+	0x58, 0x70, 0xad, 0x8d, 0xfd, 0xc7, 0xe2, 0x51, 0xe9, 0x75, 0x8b, 0x71, 0xfa, 0x15, 0x09, 0xa4,
+	0x70, 0x7a, 0xce, 0x18, 0x4b, 0x2c, 0x88, 0xfa, 0xa9, 0x9e, 0x12, 0xe1, 0xf4, 0xbe, 0xd9, 0x7a,
+	0x6a, 0xf3, 0xa1, 0x27, 0x06, 0xc0, 0xfe, 0x70, 0xa1, 0x1b, 0xa7, 0xde, 0x39, 0xe6, 0xd6, 0x69,
+	0xa0, 0x7a, 0xf2, 0xee, 0xed, 0xb9, 0x2b, 0x07, 0xd8, 0x6d, 0x5b, 0x6e, 0x8d, 0x5d, 0xdd, 0x7c,
+	0x0c, 0x47, 0xfd, 0xd8, 0x2a, 0xb6, 0x46, 0xaf, 0x6b, 0xbc, 0x6e, 0xa0, 0xdf, 0x0d, 0x78, 0xf1,
+	0xe9, 0xd9, 0x46, 0xb7, 0x9a, 0xd6, 0x7b, 0xe8, 0x4e, 0x38, 0xdd, 0x65, 0xbe, 0xbf, 0xe7, 0xaa,
+	0x86, 0x55, 0xfc, 0xde, 0xb6, 0x6e, 0xd4, 0xf8, 0x15, 0xc7, 0x27, 0xe2, 0x85, 0xfe, 0x36, 0xe0,
+	0xd2, 0x21, 0x5d, 0x8f, 0xbc, 0xa6, 0x95, 0x1d, 0x3d, 0x98, 0xe6, 0xe0, 0x4c, 0x31, 0xf4, 0xad,
+	0x3e, 0x57, 0xb6, 0xff, 0x18, 0x70, 0xf9, 0x88, 0x4d, 0x85, 0xb6, 0x9b, 0x56, 0xfb, 0xec, 0xe5,
+	0x6b, 0xde, 0x39, 0x73, 0x1c, 0xcd, 0xdc, 0xdb, 0x73, 0xf5, 0x2a, 0x56, 0xdc, 0x37, 0xd1, 0xc9,
+	0xe7, 0xd4, 0xfc, 0xc9, 0xf8, 0xcd, 0x5d, 0x7b, 0xf6, 0x26, 0xfc, 0xc3, 0xfd, 0xce, 0x98, 0x4a,
+	0xc9, 0xc4, 0x96, 0xe3, 0xe4, 0x79, 0x3e, 0xbf, 0x27, 0x71, 0x26, 0xa7, 0xb3, 0xaf, 0xcb, 0xf5,
+	0xa6, 0x8e, 0x76, 0x94, 0x0a, 0xc2, 0x65, 0x51, 0xd3, 0xb1, 0x18, 0xa5, 0xd3, 0x6b, 0x2c, 0xc6,
+	0x72, 0x42, 0x79, 0xe2, 0x3d, 0x82, 0x5e, 0x40, 0x93, 0x86, 0x22, 0x7e, 0xfe, 0x81, 0xf6, 0x0b,
+	0x69, 0x8c, 0xd3, 0xd0, 0xa6, 0x3c, 0x74, 0x42, 0x92, 0xaa, 0xf7, 0xc4, 0xd9, 0x4f, 0x76, 0xdc,
+	0x47, 0xf2, 0x4d, 0x7d, 0x30, 0x5a, 0x52, 0xc8, 0xcd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc7,
+	0xd6, 0x71, 0x06, 0x9a, 0x0c, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/cloud/bigquery/storage/v1alpha2/stream.pb.go b/googleapis/cloud/bigquery/storage/v1alpha2/stream.pb.go
index 63c276e..3b55266 100644
--- a/googleapis/cloud/bigquery/storage/v1alpha2/stream.pb.go
+++ b/googleapis/cloud/bigquery/storage/v1alpha2/stream.pb.go
@@ -33,18 +33,22 @@
 	WriteStream_COMMITTED WriteStream_Type = 1
 	// Data is invisible until the stream is committed.
 	WriteStream_PENDING WriteStream_Type = 2
+	// Data is only visible up to the offset to which it was flushed.
+	WriteStream_BUFFERED WriteStream_Type = 3
 )
 
 var WriteStream_Type_name = map[int32]string{
 	0: "TYPE_UNSPECIFIED",
 	1: "COMMITTED",
 	2: "PENDING",
+	3: "BUFFERED",
 }
 
 var WriteStream_Type_value = map[string]int32{
 	"TYPE_UNSPECIFIED": 0,
 	"COMMITTED":        1,
 	"PENDING":          2,
+	"BUFFERED":         3,
 }
 
 func (x WriteStream_Type) String() string {
@@ -58,7 +62,7 @@
 // Information about a single stream that gets data inside the storage system.
 type WriteStream struct {
 	// Output only. Name of the stream, in the form
-	// `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}/streams/{stream_id}`.
+	// `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
 	Name string           `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	Type WriteStream_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1alpha2.WriteStream_Type" json:"type,omitempty"`
 	// Output only. Create time of the stream.
@@ -157,31 +161,37 @@
 }
 
 var fileDescriptor_cfe5157f29fe5b3a = []byte{
-	// 405 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x6e, 0xd3, 0x30,
-	0x1c, 0xc6, 0xc9, 0xda, 0x0d, 0xcd, 0x01, 0x54, 0x59, 0x48, 0x44, 0xbd, 0xac, 0xda, 0x01, 0x55,
-	0x1c, 0x6c, 0x91, 0x5e, 0x26, 0x71, 0x81, 0xad, 0x01, 0xe5, 0xd0, 0x52, 0xda, 0x20, 0x04, 0x1c,
-	0x22, 0x27, 0xf9, 0xcf, 0xb5, 0x14, 0xc7, 0xc1, 0x71, 0x2b, 0x2a, 0x9e, 0x8b, 0xf7, 0xe1, 0x51,
-	0x50, 0xec, 0x44, 0x70, 0x5b, 0x8e, 0xf9, 0xe2, 0xdf, 0x2f, 0x9f, 0x3f, 0x05, 0x2d, 0xb8, 0x52,
-	0xbc, 0x04, 0x9a, 0x97, 0xea, 0x50, 0xd0, 0x4c, 0xf0, 0x1f, 0x07, 0xd0, 0x27, 0xda, 0x18, 0xa5,
-	0x19, 0x07, 0x7a, 0x7c, 0xcd, 0xca, 0x7a, 0xcf, 0x42, 0xda, 0x18, 0x0d, 0x4c, 0x92, 0x5a, 0x2b,
-	0xa3, 0xf0, 0x4b, 0x07, 0x11, 0x0b, 0x91, 0x1e, 0x22, 0x1d, 0x44, 0x7a, 0x68, 0x7a, 0xd5, 0xc9,
-	0x59, 0x2d, 0xe8, 0xbd, 0x80, 0xb2, 0x48, 0x33, 0xd8, 0xb3, 0xa3, 0x50, 0xda, 0x89, 0xa6, 0xe1,
-	0xc0, 0xaf, 0x1b, 0x96, 0x95, 0xd0, 0x31, 0xbd, 0xd4, 0x3e, 0x65, 0x87, 0x7b, 0x6a, 0x84, 0x84,
-	0xc6, 0x30, 0x59, 0xbb, 0x03, 0xd7, 0xbf, 0x47, 0xc8, 0xff, 0xa2, 0x85, 0x81, 0x9d, 0xed, 0x8c,
-	0x5f, 0xa0, 0x71, 0xc5, 0x24, 0x04, 0xde, 0xcc, 0x9b, 0x5f, 0xde, 0x8e, 0xfe, 0xbc, 0x1b, 0x6d,
-	0x6d, 0x80, 0x3f, 0xa1, 0xb1, 0x39, 0xd5, 0x10, 0x9c, 0xcd, 0xbc, 0xf9, 0xb3, 0xf0, 0x86, 0x0c,
-	0xbb, 0x15, 0xf9, 0xcf, 0x4d, 0x92, 0x53, 0x0d, 0xad, 0xf2, 0x7c, 0x6b, 0x55, 0xf8, 0x2d, 0xf2,
-	0x73, 0x0d, 0xcc, 0x40, 0xda, 0xb6, 0x0a, 0x46, 0x33, 0x6f, 0xee, 0x87, 0xd3, 0xde, 0xdc, 0x57,
-	0x26, 0x49, 0x5f, 0xd9, 0xd5, 0x41, 0x8e, 0x69, 0x53, 0x6b, 0x50, 0x52, 0x0a, 0xe3, 0x0c, 0xe3,
-	0xa1, 0x06, 0xcb, 0x58, 0xc3, 0x77, 0xf4, 0xc4, 0xee, 0x95, 0x36, 0xf9, 0x1e, 0x24, 0x0b, 0xce,
-	0xad, 0x62, 0x31, 0xf4, 0x7a, 0x49, 0xcb, 0xee, 0x2c, 0xea, 0xdc, 0xbe, 0xf9, 0x97, 0xe0, 0x2b,
-	0xe4, 0xc3, 0x4f, 0x03, 0xba, 0x62, 0x65, 0x2a, 0x8a, 0xe0, 0xa2, 0xdd, 0x74, 0x8b, 0xfa, 0x28,
-	0x2e, 0xae, 0x6f, 0xd0, 0xb8, 0x1d, 0x05, 0x3f, 0x47, 0x93, 0xe4, 0xeb, 0x26, 0x4a, 0x3f, 0xaf,
-	0x77, 0x9b, 0xe8, 0x2e, 0x7e, 0x1f, 0x47, 0xcb, 0xc9, 0x23, 0xfc, 0x14, 0x5d, 0xde, 0x7d, 0x5c,
-	0xad, 0xe2, 0x24, 0x89, 0x96, 0x13, 0x0f, 0xfb, 0xe8, 0xf1, 0x26, 0x5a, 0x2f, 0xe3, 0xf5, 0x87,
-	0xc9, 0xd9, 0xed, 0x2f, 0xf4, 0x2a, 0x57, 0x72, 0x60, 0xcd, 0x6f, 0xab, 0xee, 0x1c, 0x57, 0x25,
-	0xab, 0x38, 0x51, 0x9a, 0x53, 0x0e, 0x95, 0xdd, 0x87, 0xba, 0x57, 0xac, 0x16, 0xcd, 0x43, 0x7f,
-	0xd6, 0x9b, 0x2e, 0xc8, 0x2e, 0x2c, 0xb9, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x0d, 0xb0, 0xe0,
-	0xe9, 0x10, 0x03, 0x00, 0x00,
+	// 504 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x4f, 0x6f, 0xd3, 0x30,
+	0x18, 0xc6, 0xc9, 0xda, 0x0d, 0xe6, 0x0c, 0x54, 0x59, 0x48, 0x94, 0x5e, 0x56, 0x4d, 0x08, 0x55,
+	0x3b, 0xd8, 0xa2, 0xe5, 0x80, 0xe0, 0x42, 0xbb, 0xa6, 0xa8, 0x87, 0x96, 0xd2, 0x66, 0x42, 0xfc,
+	0x91, 0x2a, 0x37, 0x79, 0x97, 0x06, 0x25, 0x75, 0xb0, 0xdd, 0x8a, 0xaa, 0xea, 0x27, 0xe3, 0x9b,
+	0x70, 0xe2, 0xbc, 0x4f, 0x81, 0x62, 0xc7, 0x5a, 0x6f, 0x8b, 0x38, 0xc5, 0x79, 0xe2, 0xe7, 0xe7,
+	0xe7, 0x7d, 0xfd, 0x06, 0x75, 0x22, 0xce, 0xa3, 0x04, 0x68, 0x90, 0xf0, 0x75, 0x48, 0x17, 0x71,
+	0xf4, 0x73, 0x0d, 0x62, 0x4b, 0xa5, 0xe2, 0x82, 0x45, 0x40, 0x37, 0xaf, 0x58, 0x92, 0x2d, 0x59,
+	0x9b, 0x4a, 0x25, 0x80, 0xa5, 0x24, 0x13, 0x5c, 0x71, 0xfc, 0xd2, 0x98, 0x88, 0x36, 0x11, 0x6b,
+	0x22, 0x85, 0x89, 0x58, 0x53, 0xe3, 0xbc, 0x80, 0xb3, 0x2c, 0xa6, 0x37, 0x31, 0x24, 0xe1, 0x7c,
+	0x01, 0x4b, 0xb6, 0x89, 0xb9, 0x30, 0xa0, 0xc6, 0xf3, 0x83, 0x0d, 0x02, 0x24, 0x5f, 0x8b, 0x00,
+	0x8a, 0x4f, 0xed, 0x92, 0xc1, 0x14, 0x5b, 0x24, 0xd6, 0x63, 0xcf, 0xd3, 0x6f, 0x8b, 0xf5, 0x0d,
+	0x55, 0x71, 0x0a, 0x52, 0xb1, 0x34, 0x33, 0x1b, 0x2e, 0x7e, 0x57, 0x91, 0xfb, 0x59, 0xc4, 0x0a,
+	0x66, 0xba, 0x1c, 0xfc, 0x0c, 0x55, 0x57, 0x2c, 0x85, 0xba, 0xd3, 0x74, 0x5a, 0xa7, 0xbd, 0xca,
+	0xdf, 0x6e, 0x65, 0xaa, 0x05, 0xfc, 0x09, 0x55, 0xd5, 0x36, 0x83, 0xfa, 0x51, 0xd3, 0x69, 0x3d,
+	0x69, 0xbf, 0x21, 0xe5, 0x0a, 0x26, 0x07, 0x6c, 0xe2, 0x6f, 0x33, 0xc8, 0x91, 0xc7, 0x53, 0x8d,
+	0xc2, 0xef, 0x91, 0x1b, 0x08, 0x60, 0x0a, 0xe6, 0x79, 0xaa, 0x7a, 0xa5, 0xe9, 0xb4, 0xdc, 0x76,
+	0xc3, 0x92, 0x6d, 0x64, 0xe2, 0xdb, 0xc8, 0x26, 0x0e, 0x32, 0x9e, 0x5c, 0xd5, 0x04, 0x9e, 0xa6,
+	0xb1, 0x32, 0x84, 0x6a, 0x59, 0x82, 0xf6, 0x68, 0xc2, 0x37, 0x74, 0xa6, 0xfb, 0x35, 0x97, 0xc1,
+	0x12, 0x52, 0x56, 0x3f, 0xd6, 0x88, 0x4e, 0xd9, 0xf2, 0xfc, 0xdc, 0x3b, 0xd3, 0x56, 0xc3, 0x76,
+	0xd5, 0x9d, 0x82, 0xcf, 0x91, 0x0b, 0xbf, 0x14, 0x88, 0x15, 0x4b, 0xe6, 0x71, 0x58, 0x3f, 0xc9,
+	0x7b, 0x3a, 0x45, 0x56, 0x1a, 0x86, 0x17, 0x03, 0x54, 0xcd, 0x9b, 0x82, 0x9f, 0xa2, 0x9a, 0xff,
+	0x65, 0xe2, 0xcd, 0xaf, 0xc7, 0xb3, 0x89, 0x77, 0x35, 0x1c, 0x0c, 0xbd, 0x7e, 0xed, 0x01, 0x7e,
+	0x8c, 0x4e, 0xaf, 0x3e, 0x8e, 0x46, 0x43, 0xdf, 0xf7, 0xfa, 0x35, 0x07, 0xbb, 0xe8, 0xe1, 0xc4,
+	0x1b, 0xf7, 0x87, 0xe3, 0x0f, 0xb5, 0x23, 0x7c, 0x86, 0x1e, 0xf5, 0xae, 0x07, 0x03, 0x6f, 0xea,
+	0xf5, 0x6b, 0x95, 0xb7, 0x9b, 0xdb, 0xae, 0x44, 0x97, 0x36, 0xa6, 0x4d, 0x69, 0x6a, 0x60, 0x59,
+	0x2c, 0x49, 0xc0, 0x53, 0x7a, 0x78, 0xcd, 0x5e, 0x26, 0xf8, 0x0f, 0x08, 0x94, 0xa4, 0xbb, 0x62,
+	0xb5, 0xa7, 0x21, 0x53, 0x4c, 0x42, 0x2e, 0x15, 0xab, 0xbd, 0x19, 0x25, 0x49, 0x77, 0xfa, 0xb9,
+	0x2f, 0x46, 0x5e, 0xd2, 0x9d, 0x59, 0xec, 0x7b, 0x7f, 0x9c, 0xdb, 0xee, 0x77, 0xf4, 0xe2, 0x9e,
+	0x83, 0x75, 0x93, 0xf0, 0xeb, 0xff, 0x39, 0x12, 0x5d, 0x06, 0x3c, 0x2d, 0x79, 0x19, 0x5f, 0x47,
+	0xc5, 0xbe, 0x88, 0x27, 0x6c, 0x15, 0x11, 0x2e, 0x22, 0x1a, 0xc1, 0x4a, 0x4f, 0x01, 0xbd, 0x8b,
+	0x74, 0xdf, 0xff, 0xf3, 0xae, 0x10, 0x16, 0x27, 0xda, 0xd9, 0xf9, 0x17, 0x00, 0x00, 0xff, 0xff,
+	0xd2, 0x9d, 0x8c, 0x68, 0x11, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/bigquery/storage/v1beta1/storage.pb.go b/googleapis/cloud/bigquery/storage/v1beta1/storage.pb.go
index 4a4ff95..8548b86 100644
--- a/googleapis/cloud/bigquery/storage/v1beta1/storage.pb.go
+++ b/googleapis/cloud/bigquery/storage/v1beta1/storage.pb.go
@@ -496,9 +496,6 @@
 	// sharding strategy.
 	FractionConsumed float32 `protobuf:"fixed32,2,opt,name=fraction_consumed,json=fractionConsumed,proto3" json:"fraction_consumed,omitempty"`
 	// Represents the progress of the current stream.
-	//
-	// Note: This value is under development and should not be used. Use
-	// `fraction_consumed` instead.
 	Progress *Progress `protobuf:"bytes,4,opt,name=progress,proto3" json:"progress,omitempty"`
 	// Whether this stream can be split. For sessions that use the LIQUID sharding
 	// strategy, this value is always false. For BALANCED sessions, this value is
@@ -879,7 +876,7 @@
 
 // Request information for invoking `FinalizeStream`.
 type FinalizeStreamRequest struct {
-	// Stream to finalize.
+	// Required. Stream to finalize.
 	Stream               *Stream  `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -920,7 +917,7 @@
 
 // Request information for `SplitReadStream`.
 type SplitReadStreamRequest struct {
-	// Stream to split.
+	// Required. Stream to split.
 	OriginalStream *Stream `protobuf:"bytes,1,opt,name=original_stream,json=originalStream,proto3" json:"original_stream,omitempty"`
 	// A value in the range (0.0, 1.0) that specifies the fractional point at
 	// which the original stream should be split. The actual split point is
@@ -1051,110 +1048,112 @@
 }
 
 var fileDescriptor_2a3518a93fa439fd = []byte{
-	// 1645 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x6f, 0x23, 0x49,
-	0x19, 0x9f, 0x76, 0x12, 0x8f, 0xf3, 0x25, 0xb1, 0x9d, 0x42, 0xcc, 0x78, 0x1d, 0x16, 0x42, 0xc3,
-	0xa0, 0x6c, 0x76, 0xc6, 0x9d, 0x64, 0x60, 0x67, 0x49, 0xd8, 0x5d, 0x3a, 0xaf, 0x49, 0x34, 0xd9,
-	0x3c, 0xca, 0xde, 0x5d, 0x98, 0xc3, 0xb4, 0x2a, 0xee, 0xb2, 0xdd, 0x60, 0x77, 0xf5, 0x56, 0x97,
-	0x63, 0x42, 0x94, 0xcb, 0xde, 0x90, 0x38, 0x20, 0x71, 0xe6, 0x0c, 0x12, 0x12, 0x17, 0x24, 0xfe,
-	0x07, 0x38, 0x21, 0xb8, 0x45, 0x42, 0xda, 0x03, 0xa7, 0xe5, 0xc8, 0x3f, 0xb0, 0xea, 0xaa, 0x6a,
-	0x3f, 0x33, 0x93, 0xf6, 0x64, 0x6e, 0x5d, 0x55, 0xdf, 0xef, 0xe7, 0xef, 0x5d, 0x5f, 0x19, 0x1e,
-	0xd7, 0x19, 0xab, 0x37, 0xa9, 0x55, 0x6d, 0xb2, 0xb6, 0x6b, 0x9d, 0x7a, 0xf5, 0xcf, 0xdb, 0x94,
-	0x9f, 0x5b, 0xa1, 0x60, 0x9c, 0xd4, 0xa9, 0x75, 0xb6, 0x7a, 0x4a, 0x05, 0x59, 0x8d, 0xd7, 0xa5,
-	0x80, 0x33, 0xc1, 0xd0, 0x03, 0x05, 0x2a, 0x49, 0x50, 0x29, 0x06, 0x95, 0x62, 0x21, 0x0d, 0x2a,
-	0x7e, 0x4b, 0x73, 0x93, 0xc0, 0xb3, 0x88, 0xef, 0x33, 0x41, 0x84, 0xc7, 0xfc, 0x50, 0x91, 0x14,
-	0xef, 0xf7, 0x9d, 0x56, 0x9b, 0x1e, 0xf5, 0x85, 0x3e, 0xf8, 0x4e, 0xdf, 0x41, 0xcd, 0xa3, 0x4d,
-	0xd7, 0x39, 0xa5, 0x0d, 0x72, 0xe6, 0x31, 0xae, 0x05, 0xde, 0xea, 0x13, 0xe0, 0x34, 0x64, 0x6d,
-	0x5e, 0xd5, 0x9a, 0x15, 0x57, 0x93, 0x99, 0x43, 0x38, 0x67, 0x1d, 0x0d, 0x59, 0x49, 0x08, 0x39,
-	0xe3, 0x4c, 0x23, 0xde, 0x4f, 0x86, 0xe0, 0x94, 0xb8, 0x0e, 0x0b, 0xfa, 0x6d, 0xde, 0x48, 0x86,
-	0x14, 0xe4, 0xb4, 0x49, 0x1d, 0x4e, 0x6b, 0x94, 0x53, 0xbf, 0x6b, 0xdb, 0x82, 0x06, 0xcb, 0xd5,
-	0x69, 0xbb, 0x66, 0xd1, 0x56, 0x20, 0xce, 0x87, 0x9c, 0xd6, 0x3d, 0x14, 0x5e, 0x8b, 0x86, 0x82,
-	0xb4, 0x02, 0x25, 0x60, 0x7e, 0x61, 0x40, 0xba, 0x2c, 0x38, 0x25, 0x2d, 0x84, 0x60, 0xd2, 0x27,
-	0x2d, 0x5a, 0x30, 0x16, 0x8d, 0xa5, 0x69, 0x2c, 0xbf, 0xd7, 0xdd, 0xaf, 0x6c, 0x02, 0x0f, 0x62,
-	0x8d, 0xe2, 0x48, 0x2a, 0x52, 0x12, 0x78, 0x61, 0xa9, 0xca, 0x5a, 0x96, 0xc6, 0xbf, 0x1f, 0x70,
-	0xf6, 0x0b, 0x5a, 0x15, 0xa1, 0x75, 0xa1, 0xbf, 0x2e, 0xad, 0x26, 0xab, 0xaa, 0xe8, 0x5a, 0x17,
-	0xf1, 0xe7, 0xa5, 0x15, 0x4a, 0xf9, 0xd0, 0xba, 0x50, 0x1f, 0x97, 0x26, 0x83, 0xac, 0xe2, 0x38,
-	0x66, 0xa1, 0x17, 0xc9, 0xa0, 0x1d, 0x48, 0xab, 0x43, 0xa9, 0xcd, 0xcc, 0xda, 0xa3, 0x52, 0xa2,
-	0xdc, 0x2a, 0x29, 0x1a, 0xac, 0xc1, 0xe8, 0x1e, 0xa4, 0x59, 0xad, 0x16, 0x52, 0x51, 0x48, 0x2d,
-	0x1a, 0x4b, 0x13, 0x58, 0xaf, 0xcc, 0xff, 0x4f, 0xc1, 0x0c, 0xa6, 0xc4, 0x2d, 0xd3, 0x30, 0x8c,
-	0x7e, 0xee, 0x1a, 0xd3, 0xd1, 0x06, 0xcc, 0xd0, 0x5f, 0x05, 0x1e, 0xa7, 0x4e, 0xe4, 0x33, 0x49,
-	0x30, 0xb3, 0x56, 0x8c, 0xf5, 0x88, 0x1d, 0x5a, 0xaa, 0xc4, 0x0e, 0xc5, 0xa0, 0xc4, 0xa3, 0x0d,
-	0x54, 0x81, 0x99, 0x28, 0x33, 0x9c, 0xb0, 0xda, 0xa0, 0x2d, 0x52, 0x98, 0x92, 0xe0, 0xd5, 0x84,
-	0x46, 0xd8, 0x67, 0x9c, 0x95, 0x25, 0x70, 0xef, 0x0e, 0x06, 0xd2, 0x5d, 0xa1, 0xcf, 0x60, 0x56,
-	0xa6, 0x68, 0x4c, 0x9b, 0x96, 0xb4, 0x6b, 0x49, 0x69, 0x23, 0x68, 0x97, 0x77, 0x86, 0xf4, 0x96,
-	0xe8, 0x29, 0xdc, 0xd5, 0x41, 0x29, 0x4c, 0x2e, 0x4e, 0x8c, 0xef, 0xef, 0x18, 0x8d, 0x5e, 0x40,
-	0x6e, 0x28, 0x4b, 0x0b, 0x77, 0xa5, 0x92, 0x3f, 0x4a, 0x48, 0x58, 0x89, 0xd0, 0x38, 0x06, 0xe3,
-	0xac, 0x18, 0x58, 0xf7, 0xf8, 0x5b, 0xcc, 0xf5, 0x6a, 0x1e, 0xe5, 0x61, 0x21, 0x33, 0x3e, 0xff,
-	0xc7, 0x31, 0x58, 0xf3, 0x77, 0xd7, 0xc8, 0x85, 0xf9, 0xb0, 0x41, 0xb8, 0xeb, 0xf9, 0x75, 0x27,
-	0x14, 0x9c, 0x08, 0x5a, 0x3f, 0x2f, 0x4c, 0x2f, 0x1a, 0x4b, 0xd9, 0xb5, 0x27, 0x49, 0x5d, 0xa2,
-	0xf1, 0x65, 0x0d, 0xc7, 0xf9, 0x70, 0x68, 0x67, 0xfd, 0x97, 0x5f, 0xd9, 0x0d, 0x58, 0xbe, 0xa1,
-	0xaa, 0xfa, 0xf3, 0x73, 0x3d, 0x71, 0x69, 0x29, 0x40, 0x54, 0x5b, 0xea, 0xeb, 0x72, 0x33, 0x03,
-	0x69, 0x95, 0x2e, 0xe6, 0xdf, 0x26, 0xa1, 0xb0, 0xc5, 0x29, 0x11, 0xb4, 0x8f, 0x1b, 0xd3, 0xcf,
-	0xdb, 0x34, 0x14, 0xa8, 0x3a, 0x1a, 0x39, 0xe3, 0x16, 0x91, 0xdb, 0x9c, 0xf8, 0xd2, 0x4e, 0x8d,
-	0x84, 0x6f, 0x01, 0xd2, 0x01, 0xe1, 0xd4, 0x17, 0x32, 0x75, 0xa7, 0x95, 0x90, 0xde, 0xba, 0x2e,
-	0xb6, 0xa9, 0x37, 0x19, 0xdb, 0x77, 0x61, 0x9e, 0x2b, 0x63, 0xa9, 0xeb, 0xc4, 0xe9, 0x3e, 0xb1,
-	0x68, 0x2c, 0x4d, 0xe1, 0x7c, 0xf7, 0xa0, 0xac, 0x13, 0xf9, 0x39, 0xcc, 0xf6, 0x37, 0xea, 0xc2,
-	0xa4, 0xd4, 0xe4, 0xc9, 0x78, 0xbe, 0x20, 0xee, 0x91, 0x82, 0xe3, 0x19, 0xde, 0x5b, 0xa0, 0x7d,
-	0x48, 0xd7, 0x18, 0x6f, 0x11, 0x21, 0xfb, 0x42, 0x36, 0x71, 0x5f, 0xd8, 0x26, 0x82, 0xec, 0x4a,
-	0x20, 0xd6, 0x04, 0xd7, 0xe7, 0xeb, 0xdd, 0x37, 0x9c, 0xaf, 0x26, 0x87, 0x5c, 0x64, 0x0c, 0x66,
-	0x9d, 0x30, 0x4e, 0x17, 0x07, 0xe6, 0xa4, 0x7f, 0x02, 0xdd, 0xb1, 0xc7, 0x4c, 0x96, 0xc1, 0x76,
-	0xaf, 0xf2, 0x40, 0x3a, 0x3c, 0xde, 0x32, 0xff, 0x63, 0xc0, 0xac, 0x92, 0x2a, 0x0b, 0x22, 0xda,
-	0x21, 0x2a, 0xc1, 0x37, 0x68, 0x28, 0xbc, 0x16, 0x89, 0xc2, 0x17, 0x35, 0xc1, 0x2a, 0x6b, 0xfb,
-	0x42, 0xfe, 0xee, 0x04, 0x9e, 0xef, 0x1e, 0x61, 0xd6, 0xd9, 0x8a, 0x0e, 0xa2, 0x70, 0xd7, 0x38,
-	0xa9, 0x46, 0x64, 0x4e, 0x95, 0xf9, 0x61, 0xbb, 0x45, 0x5d, 0x99, 0x50, 0x29, 0x9c, 0x8f, 0x0f,
-	0xb6, 0xf4, 0x3e, 0x7a, 0x06, 0x99, 0x80, 0xb3, 0x3a, 0xa7, 0x61, 0x1c, 0x6a, 0x2b, 0xa1, 0x25,
-	0xc7, 0x1a, 0x86, 0xbb, 0x04, 0xe8, 0x7b, 0x30, 0xe7, 0x85, 0x4e, 0x18, 0x34, 0x3d, 0x21, 0x53,
-	0x50, 0x26, 0x59, 0x06, 0xcf, 0x7a, 0x61, 0xb9, 0xbb, 0x67, 0xbe, 0x80, 0x4c, 0x0c, 0x45, 0xcb,
-	0x30, 0x4f, 0x84, 0xc3, 0x69, 0x18, 0x30, 0x3f, 0xa4, 0x4e, 0x28, 0x08, 0x57, 0x86, 0xa5, 0x70,
-	0x8e, 0x08, 0xac, 0xf7, 0xcb, 0xd1, 0x36, 0xfa, 0x01, 0xe4, 0xfa, 0x65, 0xa9, 0x1f, 0x1b, 0x35,
-	0xd7, 0x93, 0xdc, 0xf1, 0x5d, 0x73, 0x03, 0xb2, 0x95, 0x06, 0x67, 0x42, 0x34, 0xa9, 0x76, 0xe0,
-	0x3b, 0x90, 0x17, 0x7a, 0xc7, 0x09, 0x28, 0xaf, 0x52, 0xed, 0xbd, 0x29, 0x9c, 0x8b, 0xf7, 0x8f,
-	0xd5, 0xb6, 0xf9, 0x87, 0x09, 0xc8, 0xf7, 0x22, 0xae, 0x48, 0xd1, 0x21, 0x4c, 0xcb, 0x3b, 0x8d,
-	0xb3, 0x8e, 0xaa, 0x9b, 0xe4, 0x4e, 0x8a, 0x6e, 0xb4, 0x88, 0x6b, 0xef, 0x0e, 0xce, 0x10, 0xfd,
-	0x8d, 0xea, 0x80, 0xd4, 0x6d, 0xc6, 0x69, 0x95, 0x71, 0xd7, 0x39, 0x25, 0xa2, 0xda, 0x18, 0xb3,
-	0xd0, 0xe4, 0x9d, 0x86, 0x25, 0x7e, 0x33, 0x82, 0xef, 0xdd, 0xc1, 0x79, 0x32, 0xb4, 0x87, 0x16,
-	0x60, 0xba, 0x97, 0x2f, 0x69, 0x99, 0x2f, 0x19, 0x1e, 0xa7, 0xc9, 0xb3, 0x68, 0xd2, 0x88, 0xfc,
-	0xa3, 0x9b, 0xcd, 0xe3, 0xb1, 0x32, 0x58, 0xb9, 0x16, 0x6b, 0x0a, 0xd9, 0xc2, 0x62, 0x17, 0x6b,
-	0xd6, 0xa9, 0xf1, 0x5a, 0xd8, 0x40, 0xc8, 0x70, 0x56, 0x0c, 0xac, 0x37, 0xd3, 0x30, 0x19, 0x79,
-	0xdf, 0xfc, 0xb3, 0x01, 0xdf, 0x97, 0xb6, 0x8d, 0xb4, 0x73, 0xdd, 0xbf, 0xe2, 0x32, 0x3d, 0x81,
-	0xbb, 0xfa, 0x22, 0xd0, 0x05, 0x9a, 0x74, 0x58, 0xe8, 0xa3, 0x54, 0xd5, 0x19, 0xf3, 0xa0, 0x95,
-	0xeb, 0xda, 0x68, 0xe4, 0xbb, 0x29, 0x25, 0x38, 0xd2, 0x4b, 0xcd, 0x00, 0x1e, 0xdc, 0xa0, 0xac,
-	0xce, 0xb0, 0xbe, 0x31, 0xc4, 0xb8, 0xcd, 0x18, 0x62, 0xbe, 0x80, 0x6f, 0xee, 0x7a, 0x3e, 0x69,
-	0x7a, 0xbf, 0xa6, 0xfa, 0x48, 0xfb, 0xa3, 0x37, 0x57, 0xa6, 0x6e, 0x31, 0x57, 0x9a, 0xbf, 0x35,
-	0xe0, 0x9e, 0xac, 0x65, 0x69, 0xcc, 0xc0, 0x2f, 0x7c, 0x0a, 0x39, 0xc6, 0xbd, 0x7a, 0xf4, 0xeb,
-	0xce, 0x6d, 0x46, 0xd8, 0x6c, 0xcc, 0xa2, 0xa7, 0xeb, 0x22, 0x64, 0xe2, 0xae, 0xa5, 0x0b, 0xbe,
-	0xbb, 0x36, 0xff, 0x6e, 0xc0, 0xfd, 0x11, 0x75, 0xb4, 0x4f, 0x2b, 0x90, 0x0d, 0xb8, 0xd7, 0x22,
-	0xfc, 0xfc, 0x56, 0xea, 0xcc, 0x69, 0x12, 0xad, 0xcd, 0xcf, 0x20, 0xcf, 0x69, 0x8b, 0x78, 0xbe,
-	0x4b, 0xb9, 0x73, 0x1b, 0x8f, 0xe6, 0xba, 0x34, 0x6a, 0x63, 0xf9, 0x43, 0x80, 0xde, 0x3d, 0x87,
-	0x16, 0xe0, 0xfe, 0xb6, 0x5d, 0xb1, 0x9d, 0xdd, 0x23, 0xfc, 0xb1, 0x5d, 0x71, 0x3e, 0x39, 0x2c,
-	0x1f, 0xef, 0x6c, 0xed, 0xef, 0xee, 0xef, 0x6c, 0xe7, 0xef, 0xa0, 0x0c, 0x4c, 0xda, 0x9f, 0xe2,
-	0xa3, 0xbc, 0x81, 0xa6, 0x61, 0xca, 0xc6, 0xf8, 0xe8, 0xb3, 0xfc, 0xc4, 0xf2, 0x11, 0xe4, 0x87,
-	0x6f, 0x34, 0xf4, 0x5d, 0x78, 0xbb, 0xbc, 0x67, 0xe3, 0xed, 0xfd, 0xc3, 0xa7, 0x4e, 0xb9, 0x82,
-	0xed, 0xca, 0xce, 0xd3, 0x9f, 0x0f, 0x71, 0x01, 0xa4, 0x0f, 0xf6, 0x4f, 0x3e, 0xd9, 0xdf, 0xce,
-	0x1b, 0x68, 0x16, 0x32, 0x9b, 0xf6, 0x81, 0x7d, 0xb8, 0xb5, 0xb3, 0x9d, 0x4f, 0xad, 0xfd, 0x0f,
-	0x20, 0xb7, 0xe9, 0xd5, 0x4f, 0x22, 0x2b, 0xca, 0xca, 0x08, 0xf4, 0xd7, 0x14, 0xcc, 0x8f, 0x64,
-	0x33, 0xfa, 0x28, 0xa1, 0xe9, 0x2f, 0x9b, 0xc1, 0x8a, 0xaf, 0x51, 0x9c, 0xe6, 0x9f, 0x8c, 0x2b,
-	0x7b, 0x69, 0x68, 0x72, 0x7b, 0xa8, 0x26, 0xaa, 0x87, 0x23, 0x75, 0xfa, 0xc5, 0xbf, 0xff, 0xfb,
-	0xfb, 0x54, 0xc7, 0x5c, 0xe9, 0x3e, 0x29, 0x2f, 0xae, 0x79, 0x53, 0x46, 0xe3, 0xa5, 0xe3, 0xb9,
-	0x1f, 0x74, 0x67, 0xce, 0xe5, 0xcb, 0x75, 0x63, 0xf9, 0xf9, 0x4f, 0xcd, 0x8d, 0x97, 0xc3, 0x5c,
-	0x22, 0x48, 0x48, 0x87, 0x60, 0x96, 0xde, 0xd5, 0x0c, 0xe8, 0x9f, 0x06, 0x64, 0xe2, 0x5b, 0x05,
-	0xbd, 0x37, 0x86, 0xad, 0x7d, 0x83, 0x47, 0xf1, 0xc9, 0xd8, 0x38, 0x55, 0x08, 0xe6, 0xc9, 0x95,
-	0x3d, 0x38, 0xb2, 0x48, 0x67, 0x6c, 0xa0, 0x1f, 0xf7, 0xac, 0x1a, 0x38, 0x2e, 0x29, 0x9f, 0x95,
-	0xa2, 0xc7, 0x60, 0xbf, 0x51, 0xf1, 0xeb, 0x75, 0xf9, 0x72, 0xc5, 0x40, 0xbf, 0x4b, 0xc1, 0xdb,
-	0xaf, 0xec, 0x6d, 0xe8, 0x59, 0x42, 0x7d, 0x93, 0xb4, 0xf3, 0xe2, 0xc1, 0x9b, 0x21, 0xd3, 0x1e,
-	0xa9, 0x5c, 0xd9, 0x6f, 0xe9, 0xae, 0xfe, 0x92, 0x54, 0x59, 0x33, 0x1f, 0xf5, 0xbc, 0xa3, 0x45,
-	0x47, 0x1d, 0x12, 0xbf, 0x39, 0x54, 0x94, 0xff, 0x68, 0x40, 0x76, 0xb0, 0xf9, 0xa2, 0x9f, 0x24,
-	0x54, 0xfb, 0xda, 0x9e, 0x5d, 0xbc, 0x37, 0xf2, 0xe6, 0xde, 0x69, 0x05, 0xe2, 0xdc, 0xfc, 0xe8,
-	0xca, 0xd6, 0xfd, 0x58, 0xea, 0xba, 0x62, 0xbe, 0xdb, 0xa7, 0xeb, 0x4d, 0xb1, 0x8b, 0x34, 0xfd,
-	0xd2, 0x80, 0xdc, 0x50, 0xdb, 0x44, 0x1f, 0x24, 0x6d, 0x5f, 0xd7, 0x76, 0xff, 0xe2, 0x87, 0xaf,
-	0x0b, 0xd7, 0x21, 0x39, 0xbc, 0xb2, 0x87, 0xaf, 0x0f, 0x69, 0xdc, 0x7b, 0xe8, 0x87, 0x3d, 0xe3,
-	0x86, 0x04, 0x5e, 0x61, 0x65, 0xf1, 0x2f, 0xc6, 0x3f, 0xec, 0x6f, 0xbf, 0xfa, 0xa1, 0xf9, 0x2f,
-	0xfb, 0x37, 0x46, 0x43, 0x88, 0x20, 0x5c, 0xb7, 0xac, 0x4e, 0xa7, 0x33, 0xfc, 0x0c, 0x25, 0x6d,
-	0xd1, 0xe8, 0xfe, 0x25, 0xf5, 0x30, 0xa9, 0x60, 0x29, 0x2a, 0x25, 0xe6, 0x37, 0x6f, 0x46, 0x48,
-	0x47, 0x3d, 0x0a, 0x9a, 0x44, 0x44, 0x4f, 0x9a, 0xcd, 0x73, 0x78, 0xa7, 0xca, 0x5a, 0xc9, 0xbc,
-	0xf8, 0xfc, 0x40, 0x8b, 0xd5, 0x59, 0x93, 0xf8, 0xf5, 0x12, 0xe3, 0x75, 0xab, 0x4e, 0x7d, 0x99,
-	0x26, 0x56, 0xef, 0xb7, 0x6e, 0xf8, 0x5b, 0x6d, 0x43, 0xaf, 0x4f, 0xd3, 0x12, 0xf8, 0xf8, 0xeb,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0xa1, 0xa5, 0xc4, 0x46, 0xfc, 0x14, 0x00, 0x00,
+	// 1678 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcf, 0x73, 0x1b, 0x49,
+	0x15, 0xce, 0xc8, 0xb6, 0x22, 0x3f, 0x3b, 0x96, 0xdc, 0x14, 0x89, 0x56, 0x61, 0xc1, 0x0c, 0x84,
+	0xf2, 0x3a, 0x89, 0xc6, 0x71, 0x60, 0xb3, 0xd8, 0xec, 0x2e, 0x23, 0xdb, 0x49, 0x4c, 0xb2, 0xb6,
+	0xd3, 0xd2, 0xb2, 0x10, 0xaa, 0x76, 0xaa, 0x3d, 0xd3, 0x92, 0x06, 0x34, 0xd3, 0xb3, 0x3d, 0xad,
+	0x08, 0x93, 0xf2, 0x65, 0x6f, 0xdc, 0xa0, 0x38, 0x73, 0x86, 0x2a, 0xaa, 0xb8, 0xf0, 0x57, 0xc0,
+	0x89, 0x82, 0x9b, 0xab, 0xa8, 0xca, 0x81, 0xe2, 0xb0, 0x1c, 0xb9, 0x71, 0xda, 0x9a, 0xee, 0x1e,
+	0xfd, 0x74, 0xe2, 0x51, 0x9c, 0xdb, 0xf4, 0x8f, 0xef, 0xd3, 0x7b, 0x5f, 0xbf, 0xf7, 0xfa, 0xb5,
+	0xe0, 0x6e, 0x8b, 0xb1, 0x56, 0x87, 0x5a, 0x6e, 0x87, 0x75, 0x3d, 0xeb, 0xc8, 0x6f, 0x7d, 0xd6,
+	0xa5, 0xfc, 0xd8, 0x8a, 0x05, 0xe3, 0xa4, 0x45, 0xad, 0x67, 0x77, 0x8e, 0xa8, 0x20, 0x77, 0xd2,
+	0x71, 0x35, 0xe2, 0x4c, 0x30, 0x74, 0x43, 0x81, 0xaa, 0x12, 0x54, 0x4d, 0x41, 0xd5, 0x74, 0x93,
+	0x06, 0x55, 0xbe, 0xa6, 0xb9, 0x49, 0xe4, 0x5b, 0x24, 0x0c, 0x99, 0x20, 0xc2, 0x67, 0x61, 0xac,
+	0x48, 0x2a, 0xd7, 0x86, 0x56, 0xdd, 0x8e, 0x4f, 0x43, 0xa1, 0x17, 0xbe, 0x31, 0xb4, 0xd0, 0xf4,
+	0x69, 0xc7, 0x73, 0x8e, 0x68, 0x9b, 0x3c, 0xf3, 0x19, 0xd7, 0x1b, 0xde, 0x1a, 0xda, 0xc0, 0x69,
+	0xcc, 0xba, 0xdc, 0xd5, 0x96, 0x55, 0xee, 0x64, 0x73, 0x87, 0x70, 0xce, 0x7a, 0x1a, 0xb2, 0x9e,
+	0x11, 0xf2, 0x8c, 0x33, 0x8d, 0x78, 0x2f, 0x1b, 0x82, 0x53, 0xe2, 0x39, 0x2c, 0x1a, 0xf6, 0x79,
+	0x2b, 0x1b, 0x52, 0x90, 0xa3, 0x0e, 0x75, 0x38, 0x6d, 0x52, 0x4e, 0xc3, 0xbe, 0x6f, 0xd7, 0x35,
+	0x58, 0x8e, 0x8e, 0xba, 0x4d, 0x8b, 0x06, 0x91, 0x38, 0x1e, 0x13, 0xad, 0xbf, 0x28, 0xfc, 0x80,
+	0xc6, 0x82, 0x04, 0x91, 0xda, 0x60, 0x7e, 0x6e, 0x40, 0xbe, 0x2e, 0x38, 0x25, 0x01, 0x42, 0x30,
+	0x1b, 0x92, 0x80, 0x96, 0x8d, 0x15, 0x63, 0x75, 0x1e, 0xcb, 0xef, 0x4d, 0xef, 0x0b, 0x9b, 0xc0,
+	0x8d, 0xd4, 0xa2, 0xf4, 0x24, 0x15, 0x29, 0x89, 0xfc, 0xb8, 0xea, 0xb2, 0xc0, 0xd2, 0xf8, 0xf7,
+	0x22, 0xce, 0x7e, 0x4e, 0x5d, 0x11, 0x5b, 0xcf, 0xf5, 0xd7, 0x89, 0xd5, 0x61, 0xae, 0x3a, 0x5d,
+	0xeb, 0x79, 0xfa, 0x79, 0x62, 0xc5, 0x72, 0x7f, 0x6c, 0x3d, 0x57, 0x1f, 0x27, 0x26, 0x83, 0x25,
+	0xc5, 0x71, 0xc8, 0x62, 0x3f, 0xd9, 0x83, 0x76, 0x21, 0xaf, 0x16, 0xa5, 0x35, 0x0b, 0x1b, 0xb7,
+	0xab, 0x99, 0x62, 0xab, 0xaa, 0x68, 0xb0, 0x06, 0xa3, 0xab, 0x90, 0x67, 0xcd, 0x66, 0x4c, 0x45,
+	0x39, 0xb7, 0x62, 0xac, 0xce, 0x60, 0x3d, 0x32, 0xff, 0x37, 0x07, 0x0b, 0x98, 0x12, 0xaf, 0x4e,
+	0xe3, 0x38, 0xf9, 0xb9, 0x33, 0x5c, 0x47, 0x5b, 0xb0, 0x40, 0x7f, 0x19, 0xf9, 0x9c, 0x3a, 0x89,
+	0x66, 0x92, 0x60, 0x61, 0xa3, 0x92, 0xda, 0x91, 0x0a, 0x5a, 0x6d, 0xa4, 0x82, 0x62, 0x50, 0xdb,
+	0x93, 0x09, 0xd4, 0x80, 0x85, 0x24, 0x32, 0x9c, 0xd8, 0x6d, 0xd3, 0x80, 0x94, 0xe7, 0x24, 0xf8,
+	0x4e, 0x46, 0x27, 0xec, 0x67, 0x9c, 0xd5, 0x25, 0xf0, 0xe1, 0x25, 0x0c, 0xa4, 0x3f, 0x42, 0x9f,
+	0xc0, 0xa2, 0x0c, 0xd1, 0x94, 0x36, 0x2f, 0x69, 0x37, 0xb2, 0xd2, 0x26, 0xd0, 0x3e, 0xef, 0x02,
+	0x19, 0x0c, 0xd1, 0x03, 0xb8, 0xac, 0x0f, 0xa5, 0x3c, 0xbb, 0x32, 0x33, 0xbd, 0xde, 0x29, 0x1a,
+	0x7d, 0x0a, 0xc5, 0xb1, 0x28, 0x2d, 0x5f, 0x96, 0x46, 0x7e, 0x2f, 0x23, 0x61, 0x23, 0x41, 0xe3,
+	0x14, 0x8c, 0x97, 0xc4, 0xc8, 0x78, 0xc0, 0x1f, 0x30, 0xcf, 0x6f, 0xfa, 0x94, 0xc7, 0xe5, 0xc2,
+	0xf4, 0xfc, 0x1f, 0xa5, 0x60, 0xcd, 0xdf, 0x1f, 0x23, 0x0f, 0x96, 0xe3, 0x36, 0xe1, 0x9e, 0x1f,
+	0xb6, 0x9c, 0x58, 0x70, 0x22, 0x68, 0xeb, 0xb8, 0x3c, 0xbf, 0x62, 0xac, 0x2e, 0x6d, 0xdc, 0xcb,
+	0x2a, 0x89, 0xc6, 0xd7, 0x35, 0x1c, 0x97, 0xe2, 0xb1, 0x99, 0xcd, 0x5f, 0x7c, 0x61, 0xb7, 0x61,
+	0xed, 0x9c, 0xac, 0x1a, 0x8e, 0xcf, 0xcd, 0xcc, 0xa9, 0xa5, 0x00, 0x49, 0x6e, 0xa9, 0xaf, 0x93,
+	0x5a, 0x01, 0xf2, 0x2a, 0x5c, 0xcc, 0xff, 0xcc, 0x42, 0x79, 0x9b, 0x53, 0x22, 0xe8, 0x10, 0x37,
+	0xa6, 0x9f, 0x75, 0x69, 0x2c, 0x90, 0x3b, 0x79, 0x72, 0xc6, 0x05, 0x4e, 0xae, 0x36, 0xf3, 0xc2,
+	0xce, 0x4d, 0x1c, 0xdf, 0x23, 0xc8, 0x47, 0x84, 0xd3, 0x50, 0xc8, 0xd0, 0x9d, 0xaf, 0xdd, 0x7d,
+	0x61, 0xe7, 0xfe, 0x6f, 0xdf, 0x86, 0x9b, 0x92, 0x3b, 0x2d, 0xda, 0x01, 0x09, 0x49, 0x8b, 0xf2,
+	0x71, 0x41, 0x0e, 0x95, 0xe7, 0x58, 0x53, 0x9c, 0x15, 0x0b, 0xb9, 0x37, 0x19, 0x0b, 0x37, 0x61,
+	0x99, 0x2b, 0x71, 0xa8, 0xe7, 0xa4, 0xe9, 0x31, 0xb3, 0x62, 0xac, 0xce, 0xe1, 0x52, 0x7f, 0xa1,
+	0xae, 0x03, 0xff, 0x29, 0x2c, 0x0e, 0x17, 0xf6, 0xf2, 0xac, 0xb4, 0xe4, 0xde, 0x74, 0xda, 0x11,
+	0xef, 0x40, 0xc1, 0xf1, 0x02, 0x1f, 0x0c, 0xd0, 0x1e, 0xe4, 0x9b, 0x8c, 0x07, 0x44, 0xc8, 0x3a,
+	0xb2, 0x94, 0xb9, 0x8e, 0xec, 0x10, 0x41, 0xee, 0x4b, 0x20, 0xd6, 0x04, 0x67, 0xc7, 0xf7, 0xe5,
+	0x37, 0x1c, 0xdf, 0x26, 0x87, 0x62, 0xe2, 0x0c, 0x66, 0xbd, 0x38, 0x0d, 0x2f, 0x07, 0xae, 0x48,
+	0x7d, 0x22, 0x5d, 0xe1, 0xa7, 0x0c, 0xae, 0xd1, 0xeb, 0x41, 0x05, 0x97, 0x14, 0x3c, 0x9d, 0x32,
+	0xff, 0x65, 0xc0, 0xa2, 0xda, 0x55, 0x17, 0x44, 0x74, 0x63, 0x54, 0x85, 0xaf, 0xd0, 0x58, 0xf8,
+	0x01, 0x49, 0x8e, 0x2f, 0x29, 0x9a, 0x2e, 0xeb, 0x86, 0x42, 0xfe, 0xee, 0x0c, 0x5e, 0xee, 0x2f,
+	0x61, 0xd6, 0xdb, 0x4e, 0x16, 0x92, 0xe3, 0x6e, 0x72, 0xe2, 0x26, 0x64, 0x8e, 0xcb, 0xc2, 0xb8,
+	0x1b, 0x50, 0x4f, 0x06, 0x54, 0x0e, 0x97, 0xd2, 0x85, 0x6d, 0x3d, 0x8f, 0x1e, 0x41, 0x21, 0xe2,
+	0xac, 0xc5, 0x69, 0x9c, 0x1e, 0xb5, 0x95, 0xd1, 0x93, 0x43, 0x0d, 0xc3, 0x7d, 0x02, 0xf4, 0x2d,
+	0xb8, 0xe2, 0xc7, 0x4e, 0x1c, 0x75, 0x7c, 0x21, 0x43, 0x50, 0x06, 0x59, 0x01, 0x2f, 0xfa, 0x71,
+	0xbd, 0x3f, 0x67, 0x7e, 0x0a, 0x85, 0x14, 0x8a, 0xd6, 0x60, 0x99, 0x08, 0x87, 0xd3, 0x38, 0x62,
+	0x61, 0x4c, 0x9d, 0x58, 0x10, 0xae, 0x1c, 0xcb, 0xe1, 0x22, 0x11, 0x58, 0xcf, 0xd7, 0x93, 0x69,
+	0xf4, 0x1d, 0x28, 0x0e, 0xef, 0xa5, 0x61, 0xea, 0xd4, 0x95, 0xc1, 0xce, 0xdd, 0xd0, 0x33, 0xb7,
+	0x60, 0xa9, 0xd1, 0xe6, 0x4c, 0x88, 0x0e, 0xd5, 0x02, 0xbe, 0x03, 0x25, 0xa1, 0x67, 0x9c, 0x88,
+	0x72, 0x97, 0x6a, 0xf5, 0xe6, 0x70, 0x31, 0x9d, 0x3f, 0x54, 0xd3, 0xe6, 0xef, 0x67, 0xa0, 0x34,
+	0x38, 0x71, 0x45, 0x8a, 0xf6, 0x61, 0x5e, 0xde, 0x81, 0x9c, 0xf5, 0x54, 0xde, 0x64, 0x17, 0x29,
+	0xb9, 0x01, 0x13, 0xae, 0x87, 0x97, 0x70, 0x81, 0xe8, 0x6f, 0xd4, 0x02, 0xa4, 0x6e, 0x3f, 0x4e,
+	0x5d, 0xc6, 0x3d, 0xe7, 0x88, 0x08, 0xb7, 0x3d, 0x65, 0xa2, 0xc9, 0x3b, 0x10, 0x4b, 0x7c, 0x2d,
+	0x81, 0x3f, 0xbc, 0x84, 0x4b, 0x64, 0x6c, 0x0e, 0x5d, 0x87, 0xf9, 0x41, 0xbc, 0xe4, 0x65, 0xbc,
+	0x14, 0x78, 0x1a, 0x26, 0x8f, 0x92, 0xce, 0x24, 0xd1, 0x47, 0x17, 0x9b, 0xbb, 0x53, 0x45, 0xb0,
+	0x92, 0x16, 0x6b, 0x0a, 0x59, 0xc2, 0x52, 0x89, 0x35, 0xeb, 0xdc, 0x74, 0x25, 0x6c, 0xe4, 0xc8,
+	0xf0, 0x92, 0x18, 0x19, 0xd7, 0xf2, 0x30, 0x9b, 0xa8, 0x6f, 0xfe, 0xc9, 0x80, 0x6f, 0x4b, 0xdf,
+	0x26, 0xca, 0xbf, 0xae, 0x5f, 0x69, 0x9a, 0x3e, 0x81, 0xcb, 0xfa, 0xe2, 0xd0, 0x09, 0x9a, 0xb5,
+	0xb9, 0x18, 0xa2, 0x54, 0xd9, 0x99, 0xf2, 0xa0, 0xf5, 0xb3, 0xca, 0x68, 0xa2, 0xdd, 0x9c, 0xda,
+	0x38, 0x51, 0x4b, 0xcd, 0x08, 0x6e, 0x9c, 0x63, 0xac, 0x8e, 0xb0, 0xa1, 0xb6, 0xc5, 0xb8, 0x48,
+	0xdb, 0x62, 0xba, 0xf0, 0xd5, 0xfb, 0x7e, 0x48, 0x3a, 0xfe, 0xaf, 0xa8, 0x5e, 0xd2, 0x7a, 0xfc,
+	0xa8, 0xdf, 0x87, 0xe6, 0x5e, 0xa3, 0x0f, 0x55, 0x0e, 0x6a, 0x06, 0xf3, 0xb7, 0x06, 0x5c, 0x95,
+	0x09, 0x2d, 0x3d, 0x1a, 0xf9, 0x99, 0x9f, 0x41, 0x91, 0x71, 0xbf, 0x95, 0x98, 0xe0, 0x5c, 0xa0,
+	0xef, 0xd5, 0x97, 0x6e, 0x4a, 0xa5, 0xfb, 0xf2, 0x0a, 0x14, 0xd2, 0xfa, 0xa5, 0x53, 0xbf, 0x3f,
+	0x36, 0xff, 0x6a, 0xc0, 0xb5, 0x09, 0x9b, 0xb4, 0xba, 0x0d, 0x58, 0x8a, 0xb8, 0x1f, 0x10, 0x7e,
+	0x7c, 0x11, 0x9b, 0xf0, 0x15, 0x4d, 0xa2, 0xad, 0xf9, 0x09, 0x94, 0x38, 0x0d, 0x88, 0x1f, 0x7a,
+	0x94, 0x3b, 0x17, 0xd0, 0x16, 0x17, 0xfb, 0x34, 0x6a, 0x62, 0xed, 0x03, 0x80, 0xc1, 0x8d, 0x87,
+	0xae, 0xc3, 0xb5, 0x1d, 0xbb, 0x61, 0x3b, 0xf7, 0x0f, 0xf0, 0x47, 0x76, 0xc3, 0xf9, 0x78, 0xbf,
+	0x7e, 0xb8, 0xbb, 0xbd, 0x77, 0x7f, 0x6f, 0x77, 0xa7, 0x74, 0x09, 0x15, 0x60, 0xd6, 0xfe, 0x31,
+	0x3e, 0x28, 0x19, 0x68, 0x1e, 0xe6, 0x6c, 0x8c, 0x0f, 0x3e, 0x29, 0xcd, 0xac, 0x1d, 0x40, 0x69,
+	0xfc, 0x6e, 0x43, 0xdf, 0x84, 0xb7, 0xeb, 0x0f, 0x6d, 0xbc, 0xb3, 0xb7, 0xff, 0xc0, 0xa9, 0x37,
+	0xb0, 0xdd, 0xd8, 0x7d, 0xf0, 0xd3, 0x31, 0x2e, 0x80, 0xfc, 0xe3, 0xbd, 0x27, 0x1f, 0xef, 0xed,
+	0x94, 0x0c, 0xb4, 0x08, 0x85, 0x9a, 0xfd, 0xd8, 0xde, 0xdf, 0xde, 0xdd, 0x29, 0xe5, 0x36, 0xfe,
+	0x0b, 0x50, 0xac, 0xf9, 0xad, 0x27, 0x89, 0x17, 0x75, 0xe5, 0x04, 0xfa, 0x4b, 0x0e, 0x96, 0x27,
+	0xe2, 0x1a, 0x7d, 0x98, 0xd1, 0xf5, 0x97, 0x75, 0x6f, 0x95, 0xd7, 0x48, 0x53, 0xf3, 0x8f, 0xc6,
+	0xa9, 0xbd, 0x3a, 0xd6, 0xf3, 0xdd, 0x52, 0xbd, 0xd5, 0xad, 0x89, 0x8c, 0xfd, 0xfc, 0x9f, 0xff,
+	0xfe, 0x5d, 0xae, 0x67, 0xae, 0xf7, 0x1f, 0xa3, 0xcf, 0xcf, 0x78, 0x8d, 0x26, 0xed, 0x99, 0xe3,
+	0x7b, 0xef, 0xf7, 0xbb, 0xd5, 0xb5, 0x93, 0x4d, 0x63, 0xed, 0xe9, 0x0f, 0xcd, 0xad, 0x97, 0xc3,
+	0x3c, 0x22, 0x48, 0x4c, 0xc7, 0x60, 0x96, 0x9e, 0xd5, 0x0c, 0xe8, 0xef, 0x06, 0x14, 0xd2, 0xfb,
+	0x05, 0xbd, 0x3b, 0x85, 0xaf, 0x43, 0x2d, 0x48, 0xe5, 0xde, 0xd4, 0x38, 0x95, 0x08, 0xe6, 0x93,
+	0x53, 0x7b, 0xb4, 0x79, 0x91, 0x62, 0x6c, 0xa1, 0xef, 0x0f, 0xbc, 0x1a, 0x59, 0xae, 0x2a, 0xcd,
+	0xaa, 0xc9, 0x33, 0x72, 0xd8, 0xa9, 0xf4, 0xdd, 0xbb, 0x76, 0xb2, 0x6e, 0xa0, 0xdf, 0xe4, 0xe0,
+	0xed, 0x57, 0x56, 0x39, 0xf4, 0x28, 0xa3, 0xbd, 0x59, 0x0a, 0x7b, 0xe5, 0xf1, 0x9b, 0x21, 0xd3,
+	0x8a, 0x34, 0x4e, 0xed, 0xb7, 0x74, 0x7d, 0x7f, 0x49, 0xa8, 0x6c, 0x98, 0xb7, 0x07, 0xea, 0xe8,
+	0xad, 0x93, 0x82, 0xa4, 0xaf, 0x15, 0x75, 0xca, 0x7f, 0x30, 0x60, 0x69, 0xb4, 0x0c, 0xa3, 0x1f,
+	0x64, 0x34, 0xfb, 0xcc, 0xea, 0x5d, 0xb9, 0x3a, 0xf1, 0x5a, 0xdf, 0x0d, 0x22, 0x71, 0x6c, 0x7e,
+	0x78, 0x6a, 0xeb, 0xa2, 0x2c, 0x6d, 0x5d, 0x37, 0x6f, 0x0e, 0xd9, 0x7a, 0xde, 0xd9, 0x25, 0x96,
+	0xbe, 0x30, 0xa0, 0x38, 0x56, 0x36, 0xd1, 0xfb, 0x59, 0xcb, 0xd7, 0x99, 0x57, 0x40, 0xe5, 0x83,
+	0xd7, 0x85, 0xeb, 0x23, 0xd9, 0x3f, 0xb5, 0xc7, 0xef, 0x10, 0xe9, 0xdc, 0xbb, 0xe8, 0xbb, 0x03,
+	0xe7, 0xc6, 0x36, 0xbc, 0xc2, 0xcb, 0xca, 0x9f, 0x8d, 0xbf, 0xd9, 0x5f, 0x7f, 0xf5, 0x13, 0xf5,
+	0x1f, 0xf6, 0xaf, 0x8d, 0xb6, 0x10, 0x51, 0xbc, 0x69, 0x59, 0xbd, 0x5e, 0x6f, 0xfc, 0xbd, 0x46,
+	0xba, 0xa2, 0xdd, 0xff, 0x33, 0xeb, 0x56, 0xd6, 0x8d, 0xd5, 0x24, 0x95, 0x58, 0xd8, 0x39, 0x1f,
+	0x21, 0x85, 0xba, 0x1d, 0x75, 0x88, 0x48, 0x1e, 0x37, 0xb5, 0x63, 0x78, 0xc7, 0x65, 0x41, 0x36,
+	0x15, 0x9f, 0x3e, 0xd6, 0xdb, 0x5a, 0xac, 0x43, 0xc2, 0x56, 0x95, 0xf1, 0x96, 0xd5, 0xa2, 0xa1,
+	0x0c, 0x13, 0x6b, 0xf0, 0x5b, 0xe7, 0xfc, 0x21, 0xb7, 0xa5, 0xc7, 0x47, 0x79, 0x09, 0xbc, 0xfb,
+	0x65, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7a, 0xa0, 0x61, 0x50, 0x36, 0x15, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/cloud/dialogflow/v2/audio_config.pb.go b/googleapis/cloud/dialogflow/v2/audio_config.pb.go
index 64f19c5..bab30d3 100644
--- a/googleapis/cloud/dialogflow/v2/audio_config.pb.go
+++ b/googleapis/cloud/dialogflow/v2/audio_config.pb.go
@@ -256,6 +256,7 @@
 	// limits.
 	Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"`
 	// Optional. Boost for this context compared to other contexts:
+	//
 	// * If the boost is positive, Dialogflow will increase the probability that
 	//   the phrases in this context are recognized over similar sounding phrases.
 	// * If the boost is unspecified or non-positive, Dialogflow will not apply
diff --git a/googleapis/cloud/secretmanager/v1beta1/service.pb.go b/googleapis/cloud/secretmanager/v1beta1/service.pb.go
index 2f0639a..a640e1d 100644
--- a/googleapis/cloud/secretmanager/v1beta1/service.pb.go
+++ b/googleapis/cloud/secretmanager/v1beta1/service.pb.go
@@ -164,7 +164,7 @@
 	// contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and
 	// underscore (`_`) characters.
 	SecretId string `protobuf:"bytes,2,opt,name=secret_id,json=secretId,proto3" json:"secret_id,omitempty"`
-	// A [Secret][google.cloud.secrets.v1beta1.Secret] with initial field values.
+	// Required. A [Secret][google.cloud.secrets.v1beta1.Secret] with initial field values.
 	Secret               *Secret  `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -812,93 +812,93 @@
 }
 
 var fileDescriptor_67a0e1a61a378c59 = []byte{
-	// 1369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcb, 0x6f, 0x1b, 0x45,
-	0x18, 0xd7, 0x38, 0xf4, 0x91, 0x89, 0x81, 0x6a, 0x5c, 0x9a, 0x74, 0x5b, 0x20, 0x5a, 0xda, 0x2a,
-	0x38, 0xe9, 0x2e, 0x4e, 0x95, 0xb6, 0x6c, 0x1f, 0x64, 0x93, 0xa6, 0xa6, 0x40, 0xc0, 0xb2, 0x4b,
-	0x0e, 0xa8, 0x52, 0x34, 0xf1, 0x4e, 0xdd, 0xa5, 0xf6, 0xee, 0xb2, 0x33, 0x76, 0x69, 0x51, 0x2f,
-	0xc0, 0x01, 0x09, 0x89, 0x0b, 0x12, 0x07, 0xc4, 0x89, 0x03, 0xa8, 0x15, 0x17, 0x2e, 0x20, 0xae,
-	0x48, 0x20, 0xd1, 0x1b, 0x70, 0xcb, 0xa9, 0x07, 0x4e, 0xfc, 0x05, 0x88, 0x13, 0xda, 0x79, 0xd8,
-	0xbb, 0x7e, 0xae, 0xdb, 0x84, 0x53, 0x9c, 0xef, 0x31, 0xdf, 0xef, 0x7b, 0x7f, 0x36, 0xcc, 0xd7,
-	0x7c, 0xbf, 0x56, 0x27, 0x66, 0xb5, 0xee, 0x37, 0x1d, 0x93, 0x92, 0x6a, 0x48, 0x18, 0x35, 0x5b,
-	0x85, 0x2d, 0xc2, 0x70, 0xc1, 0xa4, 0x24, 0x6c, 0xb9, 0x55, 0x62, 0x04, 0xa1, 0xcf, 0x7c, 0x74,
-	0x54, 0xc8, 0x1a, 0x5c, 0xd6, 0x90, 0xb2, 0x86, 0x94, 0xd5, 0x24, 0xd7, 0xc4, 0x81, 0x6b, 0x62,
-	0xcf, 0xf3, 0x19, 0x66, 0xae, 0xef, 0x51, 0xa1, 0xab, 0x4d, 0xc7, 0xb8, 0xd5, 0xba, 0x4b, 0x3c,
-	0x26, 0x19, 0xcf, 0xc7, 0x18, 0xd7, 0x5d, 0x52, 0x77, 0x36, 0xb7, 0xc8, 0x0d, 0xdc, 0x72, 0xfd,
-	0x50, 0x0a, 0x1c, 0x8e, 0x09, 0x84, 0x84, 0xfa, 0xcd, 0x50, 0x01, 0xd2, 0x16, 0x86, 0x82, 0x57,
-	0xc2, 0x0a, 0xc2, 0x73, 0x52, 0xda, 0xc5, 0x0d, 0xb3, 0x55, 0x88, 0xfe, 0x6c, 0x06, 0x7e, 0xdd,
-	0xad, 0xde, 0x96, 0x7c, 0x2d, 0xc9, 0x4f, 0xf0, 0x8e, 0x48, 0x1e, 0xff, 0x6f, 0xab, 0x79, 0xdd,
-	0x24, 0x8d, 0x80, 0x29, 0xe6, 0x6c, 0x37, 0x53, 0xf8, 0xd1, 0xc0, 0xf4, 0xa6, 0x90, 0xd0, 0xbf,
-	0x05, 0x10, 0xbd, 0xe1, 0x52, 0x56, 0x11, 0x10, 0xcb, 0xe4, 0xbd, 0x26, 0xa1, 0x0c, 0xbd, 0x0e,
-	0xf7, 0x06, 0x38, 0x24, 0x1e, 0x9b, 0x01, 0xb3, 0x60, 0x6e, 0x72, 0xe5, 0xd4, 0x43, 0x3b, 0xf3,
-	0xaf, 0x7d, 0x12, 0xce, 0x73, 0x87, 0x14, 0xfe, 0x06, 0xf6, 0x70, 0x8d, 0x84, 0x86, 0xb0, 0x82,
-	0x03, 0x97, 0x1a, 0x55, 0xbf, 0x61, 0x96, 0x42, 0xff, 0x5d, 0x52, 0x65, 0x65, 0xf9, 0x04, 0x9a,
-	0x85, 0x93, 0x01, 0xae, 0x91, 0x4d, 0xea, 0xde, 0x21, 0x33, 0x99, 0x59, 0x30, 0xb7, 0x67, 0x65,
-	0xe2, 0xa1, 0x0d, 0xca, 0xfb, 0x23, 0x6a, 0xc5, 0xbd, 0x43, 0x90, 0x0e, 0x21, 0x97, 0x60, 0xfe,
-	0x4d, 0xe2, 0xcd, 0x4c, 0x70, 0x93, 0x5c, 0x84, 0x2b, 0x5e, 0x8d, 0xa8, 0xfa, 0x57, 0x00, 0xe6,
-	0x12, 0x48, 0x69, 0xe0, 0x7b, 0x94, 0xa0, 0x8b, 0x70, 0x9f, 0x8c, 0xef, 0x0c, 0x98, 0x9d, 0x98,
-	0x9b, 0x5a, 0x3c, 0x66, 0x0c, 0xab, 0x06, 0x43, 0xe8, 0x97, 0x95, 0x12, 0x3a, 0x01, 0x9f, 0xf6,
-	0xc8, 0xfb, 0x6c, 0x33, 0x06, 0x20, 0xc2, 0x38, 0x59, 0x7e, 0x32, 0x22, 0x97, 0x94, 0x7d, 0xf4,
-	0x2c, 0x84, 0xcc, 0x67, 0xb8, 0x2e, 0xdc, 0x88, 0x30, 0xee, 0x29, 0x4f, 0x72, 0x4a, 0xe4, 0x82,
-	0xfe, 0x33, 0x80, 0xb9, 0xd5, 0x90, 0x60, 0x46, 0xa4, 0x81, 0x5d, 0x8a, 0xa4, 0x80, 0xbd, 0xe9,
-	0x3a, 0x02, 0x65, 0x14, 0xa6, 0x4c, 0x79, 0xbf, 0xa0, 0x5e, 0x71, 0xd0, 0x79, 0xb8, 0x57, 0x7c,
-	0xe6, 0x08, 0xd3, 0x06, 0x43, 0xea, 0xe8, 0xf7, 0x01, 0x9c, 0xb6, 0x1d, 0x47, 0x50, 0x37, 0x48,
-	0x48, 0x5d, 0xdf, 0x53, 0x8e, 0xac, 0x76, 0x39, 0x32, 0xcf, 0x1d, 0x39, 0x0e, 0x5f, 0x10, 0xba,
-	0x03, 0x3c, 0x50, 0x06, 0xa4, 0x03, 0xaf, 0xc1, 0x7d, 0x01, 0xbe, 0x5d, 0xf7, 0xb1, 0x80, 0x3f,
-	0xb5, 0x38, 0x9f, 0x06, 0x5f, 0x49, 0xa8, 0x08, 0x5f, 0xd5, 0x03, 0x7a, 0x05, 0x1e, 0x28, 0x12,
-	0x96, 0x8c, 0xf6, 0x2b, 0xf0, 0x09, 0x0f, 0x37, 0xc8, 0xa3, 0x40, 0xe4, 0x8a, 0xfa, 0x37, 0x00,
-	0x1e, 0xee, 0x54, 0x99, 0x0c, 0x01, 0xdd, 0xd1, 0x18, 0xec, 0x4c, 0x3b, 0x7c, 0x07, 0xa0, 0xd6,
-	0x0f, 0xa8, 0xec, 0x8a, 0x22, 0xdc, 0xdf, 0x92, 0x34, 0xd9, 0x16, 0xa9, 0x22, 0xad, 0x72, 0xde,
-	0x56, 0xde, 0xa9, 0xf6, 0xc0, 0x70, 0xba, 0x9d, 0xac, 0xae, 0xc2, 0xba, 0x9c, 0xc8, 0xd9, 0x22,
-	0x0f, 0xe9, 0x02, 0xcc, 0xa7, 0x08, 0xa9, 0x7a, 0x48, 0xa4, 0xee, 0x4b, 0x00, 0x73, 0x6f, 0x07,
-	0x4e, 0x4f, 0x07, 0xda, 0xed, 0x96, 0x00, 0xe9, 0x5b, 0x42, 0xd4, 0x9a, 0x54, 0x44, 0xcb, 0x70,
-	0xaa, 0xc9, 0x5f, 0xe6, 0xa3, 0x53, 0x96, 0xae, 0xa6, 0xde, 0x51, 0xd3, 0xd5, 0xb8, 0x1c, 0x4d,
-	0xd7, 0x75, 0x4c, 0x6f, 0x0a, 0x6d, 0x28, 0x74, 0x22, 0x82, 0xee, 0x40, 0xcd, 0xae, 0x56, 0x09,
-	0xa5, 0xbb, 0x1a, 0x82, 0x7b, 0x00, 0x1e, 0xe9, 0x6b, 0x46, 0x56, 0xc5, 0x6a, 0xc2, 0x8e, 0xf9,
-	0x48, 0x46, 0xd0, 0xda, 0xe3, 0xf4, 0x70, 0xa7, 0x7d, 0x37, 0x60, 0xee, 0x12, 0xa9, 0x93, 0xee,
-	0x6c, 0x3d, 0x76, 0x07, 0x13, 0x78, 0xe4, 0x92, 0x4b, 0xf1, 0x56, 0x9d, 0xec, 0x6a, 0xa8, 0x1d,
-	0xa8, 0xad, 0x79, 0xbb, 0x6e, 0x25, 0x72, 0x86, 0x50, 0x16, 0xfa, 0xb7, 0x77, 0xd3, 0xcc, 0xe2,
-	0x47, 0x87, 0xe0, 0x41, 0x41, 0x5f, 0x17, 0x4a, 0x15, 0x71, 0x5e, 0xa1, 0x7b, 0x00, 0x4e, 0xc5,
-	0x96, 0x2e, 0x7a, 0x69, 0x78, 0xaa, 0x7b, 0x2f, 0x09, 0xad, 0x30, 0x86, 0x86, 0xa8, 0x52, 0x7d,
-	0x69, 0xdb, 0x96, 0xb3, 0xf2, 0xc3, 0x3f, 0xff, 0xfa, 0x3c, 0x73, 0x02, 0x1d, 0x6b, 0x5f, 0x4e,
-	0x1f, 0x08, 0xfa, 0x85, 0x40, 0x2c, 0x46, 0x6a, 0xe6, 0xef, 0xaa, 0xeb, 0x0a, 0xfd, 0x08, 0x60,
-	0x36, 0xbe, 0x81, 0xd1, 0x08, 0xd3, 0x7d, 0xb6, 0xb5, 0x96, 0x6a, 0x36, 0xe8, 0x6f, 0x6e, 0xdb,
-	0xd3, 0x02, 0xc8, 0x42, 0x7b, 0x1d, 0xcb, 0x4f, 0x1c, 0xb1, 0xa1, 0xa7, 0x42, 0x6c, 0xa9, 0xf1,
-	0xf2, 0x0b, 0x80, 0x07, 0xba, 0xd7, 0x2e, 0x5a, 0x1a, 0x0e, 0x65, 0xc0, 0x9a, 0xd6, 0xc6, 0x19,
-	0xf3, 0xfa, 0xfa, 0xb6, 0xfd, 0x94, 0x74, 0x44, 0xb6, 0x25, 0xc7, 0x7f, 0x5a, 0x2f, 0x0c, 0xc1,
-	0xdf, 0x3e, 0x67, 0xf3, 0x77, 0x2d, 0xec, 0x38, 0xf2, 0x2d, 0x0b, 0xe4, 0xd1, 0x17, 0x00, 0x4e,
-	0xb6, 0xa7, 0x3c, 0x32, 0x86, 0x23, 0xe9, 0xde, 0xdd, 0x29, 0x63, 0x7f, 0x6a, 0xdb, 0xe6, 0x35,
-	0xdb, 0x5b, 0x1a, 0x11, 0xb5, 0x3f, 0x4c, 0xf4, 0x13, 0x80, 0xd9, 0xf8, 0x6a, 0x18, 0x55, 0x1a,
-	0x7d, 0xd6, 0x48, 0x4a, 0x78, 0xa5, 0x6d, 0x1b, 0x09, 0xd6, 0x42, 0x6c, 0x63, 0x70, 0xb0, 0x4b,
-	0x8b, 0xf3, 0x1d, 0xb0, 0x42, 0xc6, 0x18, 0x8c, 0xb9, 0x5d, 0x1c, 0x9f, 0x01, 0x98, 0x8d, 0x0f,
-	0xca, 0x51, 0xd8, 0xfb, 0x0c, 0x55, 0xed, 0x50, 0xcf, 0xaa, 0x5a, 0x8b, 0xbe, 0x25, 0x74, 0x05,
-	0x33, 0x9f, 0x2e, 0x98, 0xbf, 0x25, 0xbe, 0x32, 0xa8, 0xcb, 0x03, 0x9d, 0x49, 0xdb, 0xe8, 0x5d,
-	0x47, 0x95, 0x76, 0x76, 0x7c, 0x45, 0x39, 0x28, 0x96, 0x93, 0x83, 0xa2, 0x80, 0xcc, 0x74, 0x65,
-	0x6b, 0xb6, 0xaf, 0x9b, 0x1f, 0x40, 0xec, 0x88, 0x4c, 0xd9, 0x79, 0x03, 0xee, 0x98, 0xf1, 0x3a,
-	0xef, 0x62, 0x3c, 0xf2, 0x09, 0xe0, 0x03, 0x23, 0xdf, 0x46, 0x1d, 0x25, 0xe1, 0x77, 0x00, 0x73,
-	0x7d, 0x36, 0x3d, 0x1a, 0x11, 0xcc, 0xc1, 0x37, 0x88, 0xf6, 0xf2, 0x23, 0x68, 0xca, 0x3c, 0xac,
-	0xc5, 0x9d, 0x39, 0x8b, 0x4e, 0x8f, 0xe9, 0x8c, 0x85, 0xf9, 0xdb, 0x51, 0x61, 0x1d, 0xec, 0xb7,
-	0xba, 0xd1, 0x08, 0x68, 0x43, 0xd6, 0xfd, 0x78, 0x49, 0xb9, 0x12, 0xf7, 0xe3, 0xbc, 0x7e, 0x66,
-	0x5c, 0x3f, 0x1c, 0x01, 0x24, 0x1a, 0x85, 0xbf, 0x02, 0x98, 0xeb, 0x73, 0x1f, 0x8c, 0xca, 0xcf,
-	0xe0, 0x93, 0x62, 0x3c, 0x4f, 0x5e, 0x8d, 0x7b, 0x72, 0x4e, 0x1f, 0x3b, 0x23, 0xc4, 0x53, 0x8e,
-	0xf0, 0xa4, 0xf4, 0x39, 0x41, 0x46, 0x26, 0x65, 0xf0, 0xd9, 0xf2, 0x3f, 0x27, 0x45, 0x00, 0x89,
-	0x7c, 0xf9, 0x14, 0xc0, 0x6c, 0x85, 0xb0, 0x2b, 0xb8, 0x51, 0xe2, 0x3f, 0xa1, 0x20, 0x5d, 0x01,
-	0x71, 0x71, 0xc3, 0x68, 0x45, 0x96, 0x3b, 0x4c, 0x05, 0xf6, 0x99, 0x2e, 0x19, 0xc1, 0xd5, 0x97,
-	0x39, 0x1e, 0x4b, 0x5f, 0xea, 0xe0, 0x51, 0x5f, 0xe6, 0x07, 0x0c, 0x74, 0x1a, 0x7b, 0x3c, 0x42,
-	0xf3, 0x09, 0x80, 0xd9, 0xe2, 0x30, 0x34, 0xc5, 0xf4, 0x68, 0x2e, 0x70, 0x34, 0x67, 0x50, 0x7a,
-	0x34, 0xb5, 0xb8, 0xe5, 0xef, 0x01, 0x44, 0x57, 0x09, 0xe5, 0x14, 0x12, 0x36, 0x5c, 0x2a, 0xa6,
-	0xe3, 0x5c, 0x97, 0xb1, 0x5e, 0x11, 0x05, 0xeb, 0xc5, 0x14, 0x92, 0x72, 0x58, 0x5c, 0xe6, 0x50,
-	0x97, 0xf5, 0x73, 0xa9, 0xa1, 0xb2, 0x9e, 0xc7, 0x2c, 0x90, 0xd7, 0x4a, 0x0f, 0xec, 0xa3, 0xc3,
-	0x0e, 0xdd, 0x3f, 0x6c, 0xe3, 0x06, 0x63, 0x01, 0xb5, 0x4c, 0xf3, 0xd6, 0xad, 0x5b, 0xdd, 0x57,
-	0x30, 0x6e, 0xb2, 0x1b, 0xe2, 0xd7, 0xb9, 0x93, 0x41, 0x1d, 0xb3, 0xeb, 0x7e, 0xd8, 0x58, 0xf9,
-	0x38, 0x03, 0x4f, 0x54, 0xfd, 0x46, 0xbf, 0xe2, 0x54, 0x26, 0x24, 0xe4, 0x95, 0xac, 0x3c, 0x90,
-	0x4b, 0xd1, 0x3e, 0x2d, 0x81, 0x77, 0xde, 0x92, 0x3a, 0x35, 0xbf, 0x8e, 0xbd, 0x9a, 0xe1, 0x87,
-	0x35, 0xb3, 0x46, 0x3c, 0xbe, 0x6d, 0xcd, 0x8e, 0xe5, 0xc4, 0xcf, 0x81, 0xf2, 0x49, 0x15, 0x85,
-	0x73, 0x09, 0xea, 0x3f, 0x00, 0x7c, 0x9d, 0x99, 0x28, 0x56, 0xd6, 0xef, 0x67, 0xf4, 0xa2, 0x78,
-	0x7a, 0x95, 0xc3, 0x49, 0x5c, 0xe9, 0xc6, 0x46, 0x61, 0x25, 0xd2, 0x7d, 0xa0, 0x84, 0xae, 0x71,
-	0xa1, 0x6b, 0x09, 0xa1, 0x6b, 0x1b, 0xc2, 0xc0, 0xdf, 0x99, 0xe3, 0x42, 0xc8, 0xb2, 0xb8, 0x94,
-	0x65, 0x25, 0xc4, 0x2c, 0x4b, 0xca, 0x6d, 0xed, 0xe5, 0xb0, 0x4f, 0xfd, 0x17, 0x00, 0x00, 0xff,
-	0xff, 0xdd, 0x02, 0x7b, 0x01, 0x81, 0x15, 0x00, 0x00,
+	// 1368 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcb, 0x6f, 0x1b, 0xc5,
+	0x1f, 0xd7, 0x38, 0xbf, 0x3e, 0x32, 0xf1, 0x0f, 0xaa, 0x71, 0x69, 0xd2, 0x6d, 0x81, 0x68, 0x69,
+	0xab, 0xe0, 0xa4, 0xbb, 0x38, 0x55, 0xda, 0xb2, 0xa5, 0x25, 0x9b, 0x34, 0x35, 0x05, 0x02, 0x96,
+	0x5d, 0x72, 0x40, 0x95, 0xa2, 0x89, 0x77, 0xea, 0x2e, 0xb5, 0x77, 0x97, 0x9d, 0xb1, 0x4b, 0x8b,
+	0x7a, 0x01, 0x0e, 0x48, 0x48, 0x5c, 0x90, 0x38, 0x20, 0x4e, 0x1c, 0x40, 0xad, 0xb8, 0x70, 0x01,
+	0xf1, 0x07, 0x00, 0xa2, 0x37, 0xe0, 0x96, 0x53, 0x0f, 0x9c, 0xf8, 0x0b, 0x10, 0x27, 0xb4, 0xf3,
+	0xb0, 0x77, 0xfd, 0x5c, 0xa7, 0x09, 0xa7, 0x38, 0xf3, 0x7d, 0x7d, 0xbe, 0xef, 0xaf, 0x0d, 0xf3,
+	0x35, 0xdf, 0xaf, 0xd5, 0x89, 0x59, 0xad, 0xfb, 0x4d, 0xc7, 0xa4, 0xa4, 0x1a, 0x12, 0x46, 0xcd,
+	0x56, 0x61, 0x8b, 0x30, 0x5c, 0x30, 0x29, 0x09, 0x5b, 0x6e, 0x95, 0x18, 0x41, 0xe8, 0x33, 0x1f,
+	0x1d, 0x17, 0xbc, 0x06, 0xe7, 0x35, 0x24, 0xaf, 0x21, 0x79, 0x35, 0x49, 0x35, 0x71, 0xe0, 0x9a,
+	0xd8, 0xf3, 0x7c, 0x86, 0x99, 0xeb, 0x7b, 0x54, 0xc8, 0x6a, 0xd3, 0x31, 0x6a, 0xb5, 0xee, 0x12,
+	0x8f, 0x49, 0xc2, 0xb3, 0x31, 0xc2, 0x0d, 0x97, 0xd4, 0x9d, 0xcd, 0x2d, 0x72, 0x13, 0xb7, 0x5c,
+	0x3f, 0x94, 0x0c, 0x47, 0x63, 0x0c, 0x21, 0xa1, 0x7e, 0x33, 0x54, 0x80, 0xb4, 0x85, 0xa1, 0xe0,
+	0x15, 0xb3, 0x82, 0xf0, 0x8c, 0xe4, 0x76, 0x71, 0xc3, 0x6c, 0x15, 0xa2, 0x3f, 0x9b, 0x81, 0x5f,
+	0x77, 0xab, 0x77, 0x24, 0x5d, 0x4b, 0xd2, 0x13, 0xb4, 0x63, 0x92, 0xc6, 0xff, 0xdb, 0x6a, 0xde,
+	0x30, 0x49, 0x23, 0x60, 0x8a, 0x38, 0xdb, 0x4d, 0x14, 0x7e, 0x34, 0x30, 0xbd, 0x25, 0x38, 0xf4,
+	0x6f, 0x00, 0x44, 0xaf, 0xbb, 0x94, 0x55, 0x04, 0xc4, 0x32, 0x79, 0xb7, 0x49, 0x28, 0x43, 0xaf,
+	0xc1, 0xfd, 0x01, 0x0e, 0x89, 0xc7, 0x66, 0xc0, 0x2c, 0x98, 0x9b, 0x5c, 0x39, 0xf3, 0xc8, 0xce,
+	0xfc, 0x63, 0x9f, 0x86, 0xf3, 0xdc, 0x21, 0x85, 0xbf, 0x81, 0x3d, 0x5c, 0x23, 0xa1, 0x21, 0xac,
+	0xe0, 0xc0, 0xa5, 0x46, 0xd5, 0x6f, 0x98, 0xa5, 0xd0, 0x7f, 0x87, 0x54, 0x59, 0x59, 0xaa, 0x40,
+	0xb3, 0x70, 0x32, 0xc0, 0x35, 0xb2, 0x49, 0xdd, 0xbb, 0x64, 0x26, 0x33, 0x0b, 0xe6, 0xf6, 0xad,
+	0x4c, 0x3c, 0xb2, 0x41, 0xf9, 0x60, 0xf4, 0x5a, 0x71, 0xef, 0x12, 0xa4, 0x43, 0xc8, 0x39, 0x98,
+	0x7f, 0x8b, 0x78, 0x33, 0x13, 0xdc, 0x24, 0x67, 0xe1, 0x82, 0xd7, 0xa2, 0x57, 0xfd, 0x4b, 0x00,
+	0x73, 0x09, 0xa4, 0x34, 0xf0, 0x3d, 0x4a, 0xd0, 0x25, 0x78, 0x40, 0xc6, 0x77, 0x06, 0xcc, 0x4e,
+	0xcc, 0x4d, 0x2d, 0x9e, 0x30, 0x86, 0x55, 0x83, 0x21, 0xe4, 0xcb, 0x4a, 0x08, 0x9d, 0x82, 0x4f,
+	0x7a, 0xe4, 0x3d, 0xb6, 0x19, 0x03, 0x10, 0x61, 0x9c, 0x2c, 0xff, 0x3f, 0x7a, 0x2e, 0x29, 0xfb,
+	0xe8, 0x69, 0x08, 0x99, 0xcf, 0x70, 0x5d, 0xb8, 0x11, 0x61, 0xdc, 0x57, 0x9e, 0xe4, 0x2f, 0x91,
+	0x0b, 0xfa, 0x2f, 0x00, 0xe6, 0x56, 0x43, 0x82, 0x19, 0x91, 0x06, 0xf6, 0x28, 0x92, 0x02, 0xf6,
+	0xa6, 0xeb, 0x08, 0x94, 0x51, 0x98, 0x32, 0xe5, 0x83, 0xe2, 0xf5, 0xaa, 0x83, 0x6c, 0xb8, 0x5f,
+	0x7c, 0xe6, 0x08, 0x53, 0x06, 0x43, 0x28, 0x91, 0x82, 0xfa, 0x03, 0x00, 0xa7, 0x6d, 0xc7, 0x11,
+	0xa4, 0x0d, 0x12, 0x52, 0xd7, 0xf7, 0x94, 0x37, 0xab, 0x5d, 0xde, 0xcc, 0x73, 0x6f, 0x4e, 0xc2,
+	0xe7, 0x84, 0xec, 0x00, 0x37, 0x64, 0x44, 0x94, 0x17, 0xaf, 0xc2, 0x03, 0x01, 0xbe, 0x53, 0xf7,
+	0xb1, 0xf0, 0x61, 0x6a, 0x71, 0x3e, 0x0d, 0xc8, 0x92, 0x10, 0x11, 0x58, 0x95, 0x02, 0xbd, 0x02,
+	0x0f, 0x15, 0x09, 0x4b, 0x86, 0xfc, 0x65, 0xf8, 0x3f, 0x0f, 0x37, 0xc8, 0x4e, 0x20, 0x72, 0x41,
+	0xfd, 0x6b, 0x00, 0x8f, 0x76, 0x4a, 0x4d, 0x86, 0x80, 0xee, 0x6a, 0x0c, 0x76, 0xa7, 0x27, 0xbe,
+	0x05, 0x50, 0xeb, 0x07, 0x54, 0xb6, 0x46, 0x11, 0x1e, 0x6c, 0xc9, 0x37, 0xd9, 0x1b, 0xa9, 0x22,
+	0xad, 0x72, 0xde, 0x16, 0xde, 0xad, 0x1e, 0xc1, 0x70, 0xba, 0x9d, 0xac, 0xae, 0xc2, 0xba, 0x92,
+	0xc8, 0xd9, 0x22, 0x0f, 0xe9, 0x02, 0xcc, 0xa7, 0x08, 0xa9, 0x52, 0x24, 0x52, 0xf7, 0x05, 0x80,
+	0xb9, 0xb7, 0x02, 0xa7, 0xa7, 0x0d, 0x3b, 0x7d, 0x01, 0x76, 0xd8, 0x17, 0x68, 0x19, 0x4e, 0x35,
+	0xb9, 0x66, 0x3e, 0x3f, 0x65, 0xe9, 0x6a, 0x4a, 0x8f, 0x1a, 0xb1, 0xc6, 0x95, 0x68, 0xc4, 0xae,
+	0x63, 0x7a, 0x4b, 0x48, 0x43, 0x21, 0x13, 0x3d, 0xe8, 0x0e, 0xd4, 0xec, 0x6a, 0x95, 0x50, 0xba,
+	0xa7, 0x21, 0xb8, 0x0f, 0xe0, 0xb1, 0xbe, 0x66, 0x64, 0x55, 0xac, 0x26, 0xec, 0x98, 0x3b, 0x32,
+	0x82, 0xd6, 0x1e, 0xa7, 0x87, 0x3b, 0xed, 0xbb, 0x01, 0x73, 0x97, 0x49, 0x9d, 0x74, 0x67, 0xeb,
+	0xb1, 0x3b, 0x98, 0xc0, 0x63, 0x97, 0x5d, 0x8a, 0xb7, 0xea, 0x64, 0x4f, 0x43, 0xed, 0x40, 0x6d,
+	0xcd, 0xdb, 0x73, 0x2b, 0x91, 0x33, 0x84, 0xb2, 0xd0, 0xbf, 0xb3, 0x97, 0x66, 0x16, 0x3f, 0x3c,
+	0x02, 0x0f, 0x8b, 0xf7, 0x75, 0x21, 0x54, 0x11, 0x37, 0x16, 0xba, 0x0f, 0xe0, 0x54, 0x6c, 0xf3,
+	0xa2, 0x17, 0x86, 0xa7, 0xba, 0xf7, 0x9c, 0xd0, 0x0a, 0x63, 0x48, 0x88, 0x2a, 0xd5, 0x97, 0xb6,
+	0x6d, 0x39, 0x2b, 0x3f, 0xf8, 0xe3, 0xcf, 0xcf, 0x32, 0xa7, 0xd0, 0x89, 0xf6, 0xf9, 0xf4, 0xbe,
+	0x78, 0xbf, 0x18, 0x88, 0xed, 0x48, 0xcd, 0xfc, 0x3d, 0x75, 0x62, 0xa1, 0x1f, 0x00, 0xcc, 0xc6,
+	0xd7, 0x30, 0x1a, 0x61, 0xba, 0xcf, 0xca, 0xd6, 0x52, 0xcd, 0x06, 0xfd, 0x8d, 0x6d, 0x7b, 0x5a,
+	0x00, 0x59, 0x68, 0xef, 0x64, 0xf9, 0x89, 0x23, 0x36, 0xf4, 0x54, 0x88, 0x2d, 0x35, 0x5e, 0x7e,
+	0x02, 0xf0, 0x50, 0xf7, 0xda, 0x45, 0x4b, 0xc3, 0xa1, 0x0c, 0x58, 0xd3, 0xda, 0x38, 0x63, 0x5e,
+	0x5f, 0xdf, 0xb6, 0x9f, 0x90, 0x8e, 0xc8, 0xb6, 0xe4, 0xf8, 0xcf, 0xea, 0x85, 0x21, 0xf8, 0xdb,
+	0x37, 0x6d, 0xfe, 0x9e, 0x85, 0x1d, 0x47, 0xea, 0xb2, 0x40, 0x1e, 0x7d, 0x0e, 0xe0, 0x64, 0x7b,
+	0xca, 0x23, 0x63, 0x38, 0x92, 0xee, 0xdd, 0x9d, 0x32, 0xf6, 0x67, 0xb6, 0x6d, 0x5e, 0xb3, 0xbd,
+	0xa5, 0x11, 0xbd, 0xf6, 0x87, 0x89, 0x7e, 0x04, 0x30, 0x1b, 0x5f, 0x0d, 0xa3, 0x4a, 0xa3, 0xcf,
+	0x1a, 0x49, 0x09, 0xaf, 0xb4, 0x6d, 0x23, 0x41, 0x5a, 0x88, 0x6d, 0x0c, 0x0e, 0x76, 0x69, 0x71,
+	0xbe, 0x03, 0x56, 0xf0, 0x18, 0x83, 0x31, 0xb7, 0x8b, 0xe3, 0x53, 0x00, 0xb3, 0xf1, 0x41, 0x39,
+	0x0a, 0x7b, 0x9f, 0xa1, 0xaa, 0x1d, 0xe9, 0x59, 0x55, 0x6b, 0xd1, 0x57, 0x85, 0xae, 0x60, 0xe6,
+	0xd3, 0x05, 0xf3, 0xd7, 0xc4, 0xf7, 0x06, 0x75, 0x79, 0xa0, 0x73, 0x69, 0x1b, 0xbd, 0xeb, 0xa8,
+	0xd2, 0xce, 0x8f, 0x2f, 0x28, 0x07, 0xc5, 0x72, 0x72, 0x50, 0x14, 0x90, 0x99, 0xae, 0x6c, 0xcd,
+	0xf6, 0x75, 0xf3, 0x3d, 0x88, 0x1d, 0x91, 0x29, 0x3b, 0x6f, 0xc0, 0x1d, 0x33, 0x5e, 0xe7, 0x5d,
+	0x8a, 0x47, 0x3e, 0x01, 0x7c, 0x60, 0xe4, 0xdb, 0xa8, 0xa3, 0x24, 0xfc, 0x06, 0x60, 0xae, 0xcf,
+	0xa6, 0x47, 0x23, 0x82, 0x39, 0xf8, 0x06, 0xd1, 0x5e, 0xdc, 0x81, 0xa4, 0xcc, 0xc3, 0x5a, 0xdc,
+	0x99, 0xf3, 0xe8, 0xec, 0x98, 0xce, 0x58, 0x98, 0xeb, 0x8e, 0x0a, 0xeb, 0x70, 0xbf, 0xd5, 0x8d,
+	0x46, 0x40, 0x1b, 0xb2, 0xee, 0xc7, 0x4b, 0xca, 0xd5, 0xb8, 0x1f, 0x2f, 0xe9, 0xe7, 0xc6, 0xf5,
+	0xc3, 0x11, 0x40, 0xa2, 0x51, 0xf8, 0x33, 0x80, 0xb9, 0x3e, 0xf7, 0xc1, 0xa8, 0xfc, 0x0c, 0x3e,
+	0x29, 0xc6, 0xf3, 0xe4, 0x95, 0xb8, 0x27, 0x17, 0xf4, 0xb1, 0x33, 0x42, 0x3c, 0xe5, 0x08, 0x4f,
+	0x4a, 0x9f, 0x13, 0x64, 0x64, 0x52, 0x06, 0x9f, 0x2d, 0xff, 0x71, 0x52, 0x04, 0x90, 0xc8, 0x97,
+	0x4f, 0x00, 0xcc, 0x56, 0x08, 0xbb, 0x8a, 0x1b, 0x25, 0xfe, 0x3b, 0x0a, 0xd2, 0x15, 0x10, 0x17,
+	0x37, 0x8c, 0x56, 0x64, 0xb9, 0x43, 0x54, 0x60, 0x9f, 0xea, 0xe2, 0x11, 0x54, 0x7d, 0x99, 0xe3,
+	0xb1, 0xf4, 0xa5, 0x0e, 0x1e, 0xf5, 0x8d, 0x7e, 0xc0, 0x40, 0xa7, 0x31, 0xe5, 0x11, 0x9a, 0x8f,
+	0x01, 0xcc, 0x16, 0x87, 0xa1, 0x29, 0xa6, 0x47, 0x73, 0x91, 0xa3, 0x39, 0x87, 0xd2, 0xa3, 0xa9,
+	0xc5, 0x2d, 0x7f, 0x07, 0x20, 0xba, 0x46, 0x28, 0x7f, 0x21, 0x61, 0xc3, 0xa5, 0x62, 0x3a, 0xce,
+	0x75, 0x19, 0xeb, 0x65, 0x51, 0xb0, 0x9e, 0x4f, 0xc1, 0x29, 0x87, 0xc5, 0x15, 0x0e, 0x75, 0x59,
+	0xbf, 0x90, 0x1a, 0x2a, 0xeb, 0x51, 0x66, 0x81, 0xbc, 0x56, 0x7a, 0x68, 0x1f, 0x1f, 0x76, 0xe8,
+	0xfe, 0x6e, 0x1b, 0x37, 0x19, 0x0b, 0xa8, 0x65, 0x9a, 0xb7, 0x6f, 0xdf, 0xee, 0xbe, 0x82, 0x71,
+	0x93, 0xdd, 0x14, 0x3f, 0xd1, 0x9d, 0x0e, 0xea, 0x98, 0xdd, 0xf0, 0xc3, 0xc6, 0xca, 0x47, 0x19,
+	0x78, 0xaa, 0xea, 0x37, 0xfa, 0x15, 0xa7, 0x32, 0x21, 0x21, 0xaf, 0x64, 0xe5, 0x81, 0x5c, 0x8a,
+	0xf6, 0x69, 0x09, 0xbc, 0xfd, 0xa6, 0x94, 0xa9, 0xf9, 0x75, 0xec, 0xd5, 0x0c, 0x3f, 0xac, 0x99,
+	0x35, 0xe2, 0xf1, 0x6d, 0x6b, 0x76, 0x2c, 0x27, 0x7e, 0x13, 0x94, 0x2a, 0x55, 0x14, 0x2e, 0x24,
+	0x5e, 0xff, 0x06, 0xe0, 0xab, 0xcc, 0x44, 0xb1, 0xb2, 0xfe, 0x20, 0xa3, 0x17, 0x85, 0xea, 0x55,
+	0x0e, 0x27, 0x71, 0xa5, 0x1b, 0x1b, 0x85, 0x95, 0x48, 0xf6, 0xa1, 0x62, 0xba, 0xce, 0x99, 0xae,
+	0x27, 0x98, 0xae, 0x6f, 0x08, 0x03, 0x7f, 0x65, 0x4e, 0x0a, 0x26, 0xcb, 0xe2, 0x5c, 0x96, 0x95,
+	0x60, 0xb3, 0x2c, 0xc9, 0xb7, 0xb5, 0x9f, 0xc3, 0x3e, 0xf3, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0xe4, 0x02, 0xde, 0x1a, 0x86, 0x15, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/cloud/websecurityscanner/v1/crawled_url.pb.go b/googleapis/cloud/websecurityscanner/v1/crawled_url.pb.go
new file mode 100644
index 0000000..5c0222c
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/crawled_url.pb.go
@@ -0,0 +1,110 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/crawled_url.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A CrawledUrl resource represents a URL that was crawled during a ScanRun. Web
+// Security Scanner Service crawls the web applications, following all links
+// within the scope of sites, to find the URLs to test against.
+type CrawledUrl struct {
+	// Output only. The http method of the request that was used to visit the URL, in
+	// uppercase.
+	HttpMethod string `protobuf:"bytes,1,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"`
+	// Output only. The URL that was crawled.
+	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
+	// Output only. The body of the request that was used to visit the URL.
+	Body                 string   `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CrawledUrl) Reset()         { *m = CrawledUrl{} }
+func (m *CrawledUrl) String() string { return proto.CompactTextString(m) }
+func (*CrawledUrl) ProtoMessage()    {}
+func (*CrawledUrl) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5942402696e6974a, []int{0}
+}
+
+func (m *CrawledUrl) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CrawledUrl.Unmarshal(m, b)
+}
+func (m *CrawledUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CrawledUrl.Marshal(b, m, deterministic)
+}
+func (m *CrawledUrl) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CrawledUrl.Merge(m, src)
+}
+func (m *CrawledUrl) XXX_Size() int {
+	return xxx_messageInfo_CrawledUrl.Size(m)
+}
+func (m *CrawledUrl) XXX_DiscardUnknown() {
+	xxx_messageInfo_CrawledUrl.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CrawledUrl proto.InternalMessageInfo
+
+func (m *CrawledUrl) GetHttpMethod() string {
+	if m != nil {
+		return m.HttpMethod
+	}
+	return ""
+}
+
+func (m *CrawledUrl) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *CrawledUrl) GetBody() string {
+	if m != nil {
+		return m.Body
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*CrawledUrl)(nil), "google.cloud.websecurityscanner.v1.CrawledUrl")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/crawled_url.proto", fileDescriptor_5942402696e6974a)
+}
+
+var fileDescriptor_5942402696e6974a = []byte{
+	// 214 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x49, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0xce, 0xc9, 0x2f, 0x4d, 0xd1, 0x2f, 0x4f, 0x4d, 0x2a, 0x4e, 0x4d, 0x2e,
+	0x2d, 0xca, 0x2c, 0xa9, 0x2c, 0x4e, 0x4e, 0xcc, 0xcb, 0x4b, 0x2d, 0xd2, 0x2f, 0x33, 0xd4, 0x4f,
+	0x2e, 0x4a, 0x2c, 0xcf, 0x49, 0x4d, 0x89, 0x2f, 0x2d, 0xca, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9,
+	0x17, 0x52, 0x82, 0xe8, 0xd2, 0x03, 0xeb, 0xd2, 0xc3, 0xd4, 0xa5, 0x57, 0x66, 0xa8, 0x14, 0xcc,
+	0xc5, 0xe5, 0x0c, 0xd1, 0x18, 0x5a, 0x94, 0x23, 0x24, 0xcf, 0xc5, 0x9d, 0x51, 0x52, 0x52, 0x10,
+	0x9f, 0x9b, 0x5a, 0x92, 0x91, 0x9f, 0x22, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x19, 0xc4, 0x05, 0x12,
+	0xf2, 0x05, 0x8b, 0x08, 0x09, 0x70, 0x31, 0x97, 0x16, 0xe5, 0x48, 0x30, 0x81, 0x25, 0x40, 0x4c,
+	0x21, 0x21, 0x2e, 0x96, 0xa4, 0xfc, 0x94, 0x4a, 0x09, 0x66, 0xb0, 0x10, 0x98, 0xed, 0x34, 0x91,
+	0x91, 0x4b, 0x2d, 0x39, 0x3f, 0x57, 0x8f, 0xb0, 0xfd, 0x4e, 0xfc, 0x08, 0xdb, 0x03, 0x40, 0x8e,
+	0x0e, 0x60, 0x8c, 0x0a, 0x81, 0x6a, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a,
+	0xd7, 0x4f, 0x4f, 0xcd, 0x03, 0x7b, 0x49, 0x1f, 0x22, 0x95, 0x58, 0x90, 0x59, 0x8c, 0x2f, 0x2c,
+	0xac, 0x31, 0x45, 0x93, 0xd8, 0xc0, 0x06, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x80,
+	0x23, 0x9f, 0x4b, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/finding.pb.go b/googleapis/cloud/websecurityscanner/v1/finding.pb.go
new file mode 100644
index 0000000..3ea83b5
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/finding.pb.go
@@ -0,0 +1,318 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/finding.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The severity level of a vulnerability.
+type Finding_Severity int32
+
+const (
+	// No severity specified. The default value.
+	Finding_SEVERITY_UNSPECIFIED Finding_Severity = 0
+	// Critical severity.
+	Finding_CRITICAL Finding_Severity = 1
+	// High severity.
+	Finding_HIGH Finding_Severity = 2
+	// Medium severity.
+	Finding_MEDIUM Finding_Severity = 3
+	// Low severity.
+	Finding_LOW Finding_Severity = 4
+)
+
+var Finding_Severity_name = map[int32]string{
+	0: "SEVERITY_UNSPECIFIED",
+	1: "CRITICAL",
+	2: "HIGH",
+	3: "MEDIUM",
+	4: "LOW",
+}
+
+var Finding_Severity_value = map[string]int32{
+	"SEVERITY_UNSPECIFIED": 0,
+	"CRITICAL":             1,
+	"HIGH":                 2,
+	"MEDIUM":               3,
+	"LOW":                  4,
+}
+
+func (x Finding_Severity) String() string {
+	return proto.EnumName(Finding_Severity_name, int32(x))
+}
+
+func (Finding_Severity) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e0a90e5fb95d5f15, []int{0, 0}
+}
+
+// A Finding resource represents a vulnerability instance identified during a
+// ScanRun.
+type Finding struct {
+	// Output only. The resource name of the Finding. The name follows the format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'.
+	// The finding IDs are generated by the system.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The type of the Finding.
+	// Detailed and up-to-date information on findings can be found here:
+	// https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings
+	FindingType string `protobuf:"bytes,2,opt,name=finding_type,json=findingType,proto3" json:"finding_type,omitempty"`
+	// Output only. The severity level of the reported vulnerability.
+	Severity Finding_Severity `protobuf:"varint,17,opt,name=severity,proto3,enum=google.cloud.websecurityscanner.v1.Finding_Severity" json:"severity,omitempty"`
+	// Output only. The http method of the request that triggered the vulnerability, in
+	// uppercase.
+	HttpMethod string `protobuf:"bytes,3,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"`
+	// Output only. The URL produced by the server-side fuzzer and used in the request that
+	// triggered the vulnerability.
+	FuzzedUrl string `protobuf:"bytes,4,opt,name=fuzzed_url,json=fuzzedUrl,proto3" json:"fuzzed_url,omitempty"`
+	// Output only. The body of the request that triggered the vulnerability.
+	Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"`
+	// Output only. The description of the vulnerability.
+	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
+	// Output only. The URL containing human-readable payload that user can leverage to
+	// reproduce the vulnerability.
+	ReproductionUrl string `protobuf:"bytes,7,opt,name=reproduction_url,json=reproductionUrl,proto3" json:"reproduction_url,omitempty"`
+	// Output only. If the vulnerability was originated from nested IFrame, the immediate
+	// parent IFrame is reported.
+	FrameUrl string `protobuf:"bytes,8,opt,name=frame_url,json=frameUrl,proto3" json:"frame_url,omitempty"`
+	// Output only. The URL where the browser lands when the vulnerability is detected.
+	FinalUrl string `protobuf:"bytes,9,opt,name=final_url,json=finalUrl,proto3" json:"final_url,omitempty"`
+	// Output only. The tracking ID uniquely identifies a vulnerability instance across
+	// multiple ScanRuns.
+	TrackingId string `protobuf:"bytes,10,opt,name=tracking_id,json=trackingId,proto3" json:"tracking_id,omitempty"`
+	// Output only. An addon containing information reported for a vulnerability with an HTML
+	// form, if any.
+	Form *Form `protobuf:"bytes,16,opt,name=form,proto3" json:"form,omitempty"`
+	// Output only. An addon containing information about outdated libraries.
+	OutdatedLibrary *OutdatedLibrary `protobuf:"bytes,11,opt,name=outdated_library,json=outdatedLibrary,proto3" json:"outdated_library,omitempty"`
+	// Output only. An addon containing detailed information regarding any resource causing the
+	// vulnerability such as JavaScript sources, image, audio files, etc.
+	ViolatingResource *ViolatingResource `protobuf:"bytes,12,opt,name=violating_resource,json=violatingResource,proto3" json:"violating_resource,omitempty"`
+	// Output only. An addon containing information about vulnerable or missing HTTP headers.
+	VulnerableHeaders *VulnerableHeaders `protobuf:"bytes,15,opt,name=vulnerable_headers,json=vulnerableHeaders,proto3" json:"vulnerable_headers,omitempty"`
+	// Output only. An addon containing information about request parameters which were found
+	// to be vulnerable.
+	VulnerableParameters *VulnerableParameters `protobuf:"bytes,13,opt,name=vulnerable_parameters,json=vulnerableParameters,proto3" json:"vulnerable_parameters,omitempty"`
+	// Output only. An addon containing information reported for an XSS, if any.
+	Xss                  *Xss     `protobuf:"bytes,14,opt,name=xss,proto3" json:"xss,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Finding) Reset()         { *m = Finding{} }
+func (m *Finding) String() string { return proto.CompactTextString(m) }
+func (*Finding) ProtoMessage()    {}
+func (*Finding) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e0a90e5fb95d5f15, []int{0}
+}
+
+func (m *Finding) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Finding.Unmarshal(m, b)
+}
+func (m *Finding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Finding.Marshal(b, m, deterministic)
+}
+func (m *Finding) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Finding.Merge(m, src)
+}
+func (m *Finding) XXX_Size() int {
+	return xxx_messageInfo_Finding.Size(m)
+}
+func (m *Finding) XXX_DiscardUnknown() {
+	xxx_messageInfo_Finding.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Finding proto.InternalMessageInfo
+
+func (m *Finding) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Finding) GetFindingType() string {
+	if m != nil {
+		return m.FindingType
+	}
+	return ""
+}
+
+func (m *Finding) GetSeverity() Finding_Severity {
+	if m != nil {
+		return m.Severity
+	}
+	return Finding_SEVERITY_UNSPECIFIED
+}
+
+func (m *Finding) GetHttpMethod() string {
+	if m != nil {
+		return m.HttpMethod
+	}
+	return ""
+}
+
+func (m *Finding) GetFuzzedUrl() string {
+	if m != nil {
+		return m.FuzzedUrl
+	}
+	return ""
+}
+
+func (m *Finding) GetBody() string {
+	if m != nil {
+		return m.Body
+	}
+	return ""
+}
+
+func (m *Finding) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Finding) GetReproductionUrl() string {
+	if m != nil {
+		return m.ReproductionUrl
+	}
+	return ""
+}
+
+func (m *Finding) GetFrameUrl() string {
+	if m != nil {
+		return m.FrameUrl
+	}
+	return ""
+}
+
+func (m *Finding) GetFinalUrl() string {
+	if m != nil {
+		return m.FinalUrl
+	}
+	return ""
+}
+
+func (m *Finding) GetTrackingId() string {
+	if m != nil {
+		return m.TrackingId
+	}
+	return ""
+}
+
+func (m *Finding) GetForm() *Form {
+	if m != nil {
+		return m.Form
+	}
+	return nil
+}
+
+func (m *Finding) GetOutdatedLibrary() *OutdatedLibrary {
+	if m != nil {
+		return m.OutdatedLibrary
+	}
+	return nil
+}
+
+func (m *Finding) GetViolatingResource() *ViolatingResource {
+	if m != nil {
+		return m.ViolatingResource
+	}
+	return nil
+}
+
+func (m *Finding) GetVulnerableHeaders() *VulnerableHeaders {
+	if m != nil {
+		return m.VulnerableHeaders
+	}
+	return nil
+}
+
+func (m *Finding) GetVulnerableParameters() *VulnerableParameters {
+	if m != nil {
+		return m.VulnerableParameters
+	}
+	return nil
+}
+
+func (m *Finding) GetXss() *Xss {
+	if m != nil {
+		return m.Xss
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.Finding_Severity", Finding_Severity_name, Finding_Severity_value)
+	proto.RegisterType((*Finding)(nil), "google.cloud.websecurityscanner.v1.Finding")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/finding.proto", fileDescriptor_e0a90e5fb95d5f15)
+}
+
+var fileDescriptor_e0a90e5fb95d5f15 = []byte{
+	// 695 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4f, 0x6f, 0xd3, 0x30,
+	0x18, 0xc6, 0xc9, 0x5a, 0xb6, 0xd6, 0x2d, 0x5b, 0x66, 0x0d, 0x29, 0x0c, 0xa1, 0x95, 0x1d, 0xa0,
+	0xbb, 0x24, 0x6c, 0x03, 0xc4, 0xbf, 0xcb, 0xd6, 0x75, 0x2c, 0xd2, 0xc6, 0x4a, 0xda, 0x8e, 0x3f,
+	0x07, 0x22, 0x37, 0x76, 0xd3, 0x40, 0x12, 0x47, 0x76, 0x12, 0xe8, 0xa6, 0x49, 0x20, 0x71, 0xe6,
+	0x33, 0x72, 0xe6, 0x53, 0x20, 0x3b, 0xc9, 0x28, 0xdb, 0x04, 0xdd, 0xcd, 0x7e, 0x5e, 0xff, 0x9e,
+	0xc7, 0xaf, 0xdb, 0xbc, 0xe0, 0x81, 0x4b, 0xa9, 0xeb, 0x13, 0xc3, 0xf1, 0x69, 0x82, 0x8d, 0xcf,
+	0x64, 0xc0, 0x89, 0x93, 0x30, 0x2f, 0x1e, 0x73, 0x07, 0x85, 0x21, 0x61, 0x46, 0xba, 0x6e, 0x0c,
+	0xbd, 0x10, 0x7b, 0xa1, 0xab, 0x47, 0x8c, 0xc6, 0x14, 0xae, 0x66, 0x84, 0x2e, 0x09, 0xfd, 0x22,
+	0xa1, 0xa7, 0xeb, 0xcb, 0x2b, 0xb9, 0x2b, 0x8a, 0x3c, 0x63, 0xe8, 0x11, 0x1f, 0xdb, 0x03, 0x32,
+	0x42, 0xa9, 0x47, 0x59, 0x66, 0xb2, 0x7c, 0x6b, 0xe2, 0x00, 0x23, 0x9c, 0x26, 0xcc, 0x21, 0x79,
+	0xe9, 0xf1, 0xf4, 0x37, 0xb2, 0x11, 0xc6, 0x34, 0xcc, 0xb8, 0xd5, 0x6f, 0x55, 0x30, 0xb7, 0x9b,
+	0xe9, 0x10, 0x82, 0x72, 0x88, 0x02, 0xa2, 0x29, 0x0d, 0xa5, 0x59, 0xb5, 0xe4, 0x1a, 0xde, 0x05,
+	0xf5, 0x02, 0x8b, 0xc7, 0x11, 0xd1, 0x66, 0x64, 0xad, 0x96, 0x6b, 0xbd, 0x71, 0x44, 0x60, 0x1f,
+	0x54, 0x38, 0x49, 0x89, 0x08, 0xd3, 0x16, 0x1b, 0x4a, 0x73, 0x7e, 0xe3, 0xa1, 0xfe, 0xff, 0x6e,
+	0xf5, 0x3c, 0x55, 0xef, 0xe6, 0xec, 0x76, 0xe9, 0xe7, 0x56, 0xc9, 0x3a, 0xb3, 0x82, 0x2b, 0xa0,
+	0x36, 0x8a, 0xe3, 0xc8, 0x0e, 0x48, 0x3c, 0xa2, 0x58, 0x2b, 0xc9, 0x60, 0x20, 0xa4, 0x03, 0xa9,
+	0xc0, 0x3b, 0x00, 0x0c, 0x93, 0xe3, 0x63, 0x82, 0xed, 0x84, 0xf9, 0x5a, 0x59, 0xd6, 0xab, 0x99,
+	0xd2, 0x67, 0xbe, 0xe8, 0x66, 0x40, 0xf1, 0x58, 0xbb, 0x9e, 0x75, 0x23, 0xd6, 0xb0, 0x01, 0x6a,
+	0x98, 0x70, 0x87, 0x79, 0x51, 0xec, 0xd1, 0x50, 0x9b, 0xcd, 0x9a, 0x99, 0x90, 0xe0, 0x1a, 0x50,
+	0x19, 0x89, 0x18, 0xc5, 0x89, 0x23, 0xf6, 0xd2, 0x7a, 0x4e, 0x1e, 0x5b, 0x98, 0xd4, 0x45, 0xc0,
+	0x6d, 0x50, 0x1d, 0x32, 0x14, 0x10, 0x79, 0xa6, 0x22, 0xcf, 0x54, 0xa4, 0x50, 0x14, 0xbd, 0x10,
+	0xf9, 0xb2, 0x58, 0xcd, 0x8b, 0x42, 0x10, 0xc5, 0x15, 0x50, 0x8b, 0x19, 0x72, 0x3e, 0x89, 0x57,
+	0xf5, 0xb0, 0x06, 0xb2, 0xd6, 0x0a, 0xc9, 0xc4, 0xf0, 0x05, 0x28, 0x0f, 0x29, 0x0b, 0x34, 0xb5,
+	0xa1, 0x34, 0x6b, 0x1b, 0xcd, 0xa9, 0x9e, 0x93, 0xb2, 0xc0, 0x92, 0x14, 0xfc, 0x00, 0x54, 0x9a,
+	0xc4, 0x18, 0xc5, 0x04, 0xdb, 0xbe, 0x37, 0x60, 0x88, 0x8d, 0xb5, 0x9a, 0x74, 0xda, 0x9c, 0xc6,
+	0xe9, 0x30, 0x67, 0xf7, 0x33, 0xd4, 0x5a, 0xa0, 0x7f, 0x0b, 0x10, 0x03, 0x98, 0x7a, 0xd4, 0x47,
+	0xb1, 0xb8, 0x7f, 0xf1, 0x3f, 0xd4, 0xea, 0x32, 0xe1, 0xd1, 0x34, 0x09, 0x47, 0x05, 0x6d, 0xe5,
+	0xb0, 0xb5, 0x98, 0x9e, 0x97, 0x64, 0x4a, 0xe2, 0x87, 0x84, 0xa1, 0x81, 0x4f, 0xec, 0x11, 0x41,
+	0x98, 0x30, 0xae, 0x2d, 0x5c, 0x21, 0xe5, 0x8c, 0xde, 0xcb, 0x60, 0x6b, 0x31, 0x3d, 0x2f, 0xc1,
+	0x00, 0xdc, 0x9c, 0x48, 0x89, 0x90, 0xf8, 0xfd, 0x62, 0x11, 0x74, 0x43, 0x06, 0x3d, 0xb9, 0x5a,
+	0x50, 0xe7, 0x8c, 0xb7, 0x96, 0xd2, 0x4b, 0x54, 0xf8, 0x14, 0x94, 0xbe, 0x70, 0xae, 0xcd, 0x4b,
+	0xf3, 0xfb, 0xd3, 0x98, 0xbf, 0xe5, 0xdc, 0x12, 0xcc, 0xea, 0x6b, 0x50, 0x29, 0x3e, 0x15, 0xa8,
+	0x81, 0xa5, 0x6e, 0xfb, 0xa8, 0x6d, 0x99, 0xbd, 0x77, 0x76, 0xff, 0x55, 0xb7, 0xd3, 0x6e, 0x99,
+	0xbb, 0x66, 0x7b, 0x47, 0xbd, 0x06, 0xeb, 0xa0, 0xd2, 0xb2, 0xcc, 0x9e, 0xd9, 0xda, 0xda, 0x57,
+	0x15, 0x58, 0x01, 0xe5, 0x3d, 0xf3, 0xe5, 0x9e, 0x3a, 0x03, 0x01, 0x98, 0x3d, 0x68, 0xef, 0x98,
+	0xfd, 0x03, 0xb5, 0x04, 0xe7, 0x40, 0x69, 0xff, 0xf0, 0x8d, 0x5a, 0x7e, 0xf6, 0x5d, 0xf9, 0xb5,
+	0xf5, 0x55, 0x01, 0x6b, 0x97, 0x24, 0x67, 0x37, 0x43, 0x91, 0xc7, 0x75, 0x87, 0x06, 0x46, 0x31,
+	0x22, 0xba, 0x11, 0xa3, 0x1f, 0x89, 0x13, 0x73, 0xe3, 0x24, 0x5f, 0x9d, 0x1a, 0x02, 0x69, 0xd1,
+	0x70, 0xe8, 0xb9, 0xdc, 0x38, 0x11, 0x1b, 0xdb, 0x91, 0xbb, 0xac, 0x62, 0x25, 0x61, 0x21, 0xb3,
+	0x24, 0x3c, 0x2d, 0x86, 0x10, 0x37, 0x4e, 0xf2, 0xd5, 0xe9, 0xf6, 0x0f, 0x05, 0xdc, 0x73, 0x68,
+	0x30, 0xc5, 0x6b, 0x6c, 0xd7, 0xf3, 0x8b, 0x74, 0xc4, 0xf0, 0xea, 0x28, 0xef, 0x7b, 0x39, 0xe3,
+	0x52, 0x1f, 0x85, 0xae, 0x4e, 0x99, 0x6b, 0xb8, 0x24, 0x94, 0xa3, 0xcd, 0xf8, 0xd3, 0xc2, 0xbf,
+	0xa6, 0xe2, 0xf3, 0x8b, 0xea, 0x60, 0x56, 0x1a, 0x6c, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x46,
+	0x8a, 0xf9, 0x53, 0xe7, 0x05, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/finding_addon.pb.go b/googleapis/cloud/websecurityscanner/v1/finding_addon.pb.go
new file mode 100644
index 0000000..62a397b
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/finding_addon.pb.go
@@ -0,0 +1,544 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/finding_addon.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Types of XSS attack vector.
+type Xss_AttackVector int32
+
+const (
+	// Unknown attack vector.
+	Xss_ATTACK_VECTOR_UNSPECIFIED Xss_AttackVector = 0
+	// The attack comes from fuzzing the browser's localStorage.
+	Xss_LOCAL_STORAGE Xss_AttackVector = 1
+	// The attack comes from fuzzing the browser's sessionStorage.
+	Xss_SESSION_STORAGE Xss_AttackVector = 2
+	// The attack comes from fuzzing the window's name property.
+	Xss_WINDOW_NAME Xss_AttackVector = 3
+	// The attack comes from fuzzing the referrer property.
+	Xss_REFERRER Xss_AttackVector = 4
+	// The attack comes from fuzzing an input element.
+	Xss_FORM_INPUT Xss_AttackVector = 5
+	// The attack comes from fuzzing the browser's cookies.
+	Xss_COOKIE Xss_AttackVector = 6
+	// The attack comes from hijacking the post messaging mechanism.
+	Xss_POST_MESSAGE Xss_AttackVector = 7
+	// The attack comes from fuzzing parameters in the url.
+	Xss_GET_PARAMETERS Xss_AttackVector = 8
+	// The attack comes from fuzzing the fragment in the url.
+	Xss_URL_FRAGMENT Xss_AttackVector = 9
+	// The attack comes from fuzzing the HTML comments.
+	Xss_HTML_COMMENT Xss_AttackVector = 10
+	// The attack comes from fuzzing the POST parameters.
+	Xss_POST_PARAMETERS Xss_AttackVector = 11
+	// The attack comes from fuzzing the protocol.
+	Xss_PROTOCOL Xss_AttackVector = 12
+	// The attack comes from the server side and is stored.
+	Xss_STORED_XSS Xss_AttackVector = 13
+	// The attack is a Same-Origin Method Execution attack via a GET parameter.
+	Xss_SAME_ORIGIN Xss_AttackVector = 14
+	// The attack payload is received from a third-party host via a URL that is
+	// user-controllable
+	Xss_USER_CONTROLLABLE_URL Xss_AttackVector = 15
+)
+
+var Xss_AttackVector_name = map[int32]string{
+	0:  "ATTACK_VECTOR_UNSPECIFIED",
+	1:  "LOCAL_STORAGE",
+	2:  "SESSION_STORAGE",
+	3:  "WINDOW_NAME",
+	4:  "REFERRER",
+	5:  "FORM_INPUT",
+	6:  "COOKIE",
+	7:  "POST_MESSAGE",
+	8:  "GET_PARAMETERS",
+	9:  "URL_FRAGMENT",
+	10: "HTML_COMMENT",
+	11: "POST_PARAMETERS",
+	12: "PROTOCOL",
+	13: "STORED_XSS",
+	14: "SAME_ORIGIN",
+	15: "USER_CONTROLLABLE_URL",
+}
+
+var Xss_AttackVector_value = map[string]int32{
+	"ATTACK_VECTOR_UNSPECIFIED": 0,
+	"LOCAL_STORAGE":             1,
+	"SESSION_STORAGE":           2,
+	"WINDOW_NAME":               3,
+	"REFERRER":                  4,
+	"FORM_INPUT":                5,
+	"COOKIE":                    6,
+	"POST_MESSAGE":              7,
+	"GET_PARAMETERS":            8,
+	"URL_FRAGMENT":              9,
+	"HTML_COMMENT":              10,
+	"POST_PARAMETERS":           11,
+	"PROTOCOL":                  12,
+	"STORED_XSS":                13,
+	"SAME_ORIGIN":               14,
+	"USER_CONTROLLABLE_URL":     15,
+}
+
+func (x Xss_AttackVector) String() string {
+	return proto.EnumName(Xss_AttackVector_name, int32(x))
+}
+
+func (Xss_AttackVector) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{5, 0}
+}
+
+// ! Information about a vulnerability with an HTML.
+type Form struct {
+	// ! The URI where to send the form when it's submitted.
+	ActionUri string `protobuf:"bytes,1,opt,name=action_uri,json=actionUri,proto3" json:"action_uri,omitempty"`
+	// ! The names of form fields related to the vulnerability.
+	Fields               []string `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Form) Reset()         { *m = Form{} }
+func (m *Form) String() string { return proto.CompactTextString(m) }
+func (*Form) ProtoMessage()    {}
+func (*Form) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{0}
+}
+
+func (m *Form) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Form.Unmarshal(m, b)
+}
+func (m *Form) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Form.Marshal(b, m, deterministic)
+}
+func (m *Form) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Form.Merge(m, src)
+}
+func (m *Form) XXX_Size() int {
+	return xxx_messageInfo_Form.Size(m)
+}
+func (m *Form) XXX_DiscardUnknown() {
+	xxx_messageInfo_Form.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Form proto.InternalMessageInfo
+
+func (m *Form) GetActionUri() string {
+	if m != nil {
+		return m.ActionUri
+	}
+	return ""
+}
+
+func (m *Form) GetFields() []string {
+	if m != nil {
+		return m.Fields
+	}
+	return nil
+}
+
+// Information reported for an outdated library.
+type OutdatedLibrary struct {
+	// The name of the outdated library.
+	LibraryName string `protobuf:"bytes,1,opt,name=library_name,json=libraryName,proto3" json:"library_name,omitempty"`
+	// The version number.
+	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
+	// URLs to learn more information about the vulnerabilities in the library.
+	LearnMoreUrls        []string `protobuf:"bytes,3,rep,name=learn_more_urls,json=learnMoreUrls,proto3" json:"learn_more_urls,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OutdatedLibrary) Reset()         { *m = OutdatedLibrary{} }
+func (m *OutdatedLibrary) String() string { return proto.CompactTextString(m) }
+func (*OutdatedLibrary) ProtoMessage()    {}
+func (*OutdatedLibrary) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{1}
+}
+
+func (m *OutdatedLibrary) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OutdatedLibrary.Unmarshal(m, b)
+}
+func (m *OutdatedLibrary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OutdatedLibrary.Marshal(b, m, deterministic)
+}
+func (m *OutdatedLibrary) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OutdatedLibrary.Merge(m, src)
+}
+func (m *OutdatedLibrary) XXX_Size() int {
+	return xxx_messageInfo_OutdatedLibrary.Size(m)
+}
+func (m *OutdatedLibrary) XXX_DiscardUnknown() {
+	xxx_messageInfo_OutdatedLibrary.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OutdatedLibrary proto.InternalMessageInfo
+
+func (m *OutdatedLibrary) GetLibraryName() string {
+	if m != nil {
+		return m.LibraryName
+	}
+	return ""
+}
+
+func (m *OutdatedLibrary) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *OutdatedLibrary) GetLearnMoreUrls() []string {
+	if m != nil {
+		return m.LearnMoreUrls
+	}
+	return nil
+}
+
+// Information regarding any resource causing the vulnerability such
+// as JavaScript sources, image, audio files, etc.
+type ViolatingResource struct {
+	// The MIME type of this resource.
+	ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
+	// URL of this violating resource.
+	ResourceUrl          string   `protobuf:"bytes,2,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ViolatingResource) Reset()         { *m = ViolatingResource{} }
+func (m *ViolatingResource) String() string { return proto.CompactTextString(m) }
+func (*ViolatingResource) ProtoMessage()    {}
+func (*ViolatingResource) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{2}
+}
+
+func (m *ViolatingResource) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ViolatingResource.Unmarshal(m, b)
+}
+func (m *ViolatingResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ViolatingResource.Marshal(b, m, deterministic)
+}
+func (m *ViolatingResource) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ViolatingResource.Merge(m, src)
+}
+func (m *ViolatingResource) XXX_Size() int {
+	return xxx_messageInfo_ViolatingResource.Size(m)
+}
+func (m *ViolatingResource) XXX_DiscardUnknown() {
+	xxx_messageInfo_ViolatingResource.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ViolatingResource proto.InternalMessageInfo
+
+func (m *ViolatingResource) GetContentType() string {
+	if m != nil {
+		return m.ContentType
+	}
+	return ""
+}
+
+func (m *ViolatingResource) GetResourceUrl() string {
+	if m != nil {
+		return m.ResourceUrl
+	}
+	return ""
+}
+
+// Information about vulnerable request parameters.
+type VulnerableParameters struct {
+	// The vulnerable parameter names.
+	ParameterNames       []string `protobuf:"bytes,1,rep,name=parameter_names,json=parameterNames,proto3" json:"parameter_names,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *VulnerableParameters) Reset()         { *m = VulnerableParameters{} }
+func (m *VulnerableParameters) String() string { return proto.CompactTextString(m) }
+func (*VulnerableParameters) ProtoMessage()    {}
+func (*VulnerableParameters) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{3}
+}
+
+func (m *VulnerableParameters) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_VulnerableParameters.Unmarshal(m, b)
+}
+func (m *VulnerableParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_VulnerableParameters.Marshal(b, m, deterministic)
+}
+func (m *VulnerableParameters) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_VulnerableParameters.Merge(m, src)
+}
+func (m *VulnerableParameters) XXX_Size() int {
+	return xxx_messageInfo_VulnerableParameters.Size(m)
+}
+func (m *VulnerableParameters) XXX_DiscardUnknown() {
+	xxx_messageInfo_VulnerableParameters.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_VulnerableParameters proto.InternalMessageInfo
+
+func (m *VulnerableParameters) GetParameterNames() []string {
+	if m != nil {
+		return m.ParameterNames
+	}
+	return nil
+}
+
+// Information about vulnerable or missing HTTP Headers.
+type VulnerableHeaders struct {
+	// List of vulnerable headers.
+	Headers []*VulnerableHeaders_Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
+	// List of missing headers.
+	MissingHeaders       []*VulnerableHeaders_Header `protobuf:"bytes,2,rep,name=missing_headers,json=missingHeaders,proto3" json:"missing_headers,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
+	XXX_unrecognized     []byte                      `json:"-"`
+	XXX_sizecache        int32                       `json:"-"`
+}
+
+func (m *VulnerableHeaders) Reset()         { *m = VulnerableHeaders{} }
+func (m *VulnerableHeaders) String() string { return proto.CompactTextString(m) }
+func (*VulnerableHeaders) ProtoMessage()    {}
+func (*VulnerableHeaders) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{4}
+}
+
+func (m *VulnerableHeaders) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_VulnerableHeaders.Unmarshal(m, b)
+}
+func (m *VulnerableHeaders) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_VulnerableHeaders.Marshal(b, m, deterministic)
+}
+func (m *VulnerableHeaders) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_VulnerableHeaders.Merge(m, src)
+}
+func (m *VulnerableHeaders) XXX_Size() int {
+	return xxx_messageInfo_VulnerableHeaders.Size(m)
+}
+func (m *VulnerableHeaders) XXX_DiscardUnknown() {
+	xxx_messageInfo_VulnerableHeaders.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_VulnerableHeaders proto.InternalMessageInfo
+
+func (m *VulnerableHeaders) GetHeaders() []*VulnerableHeaders_Header {
+	if m != nil {
+		return m.Headers
+	}
+	return nil
+}
+
+func (m *VulnerableHeaders) GetMissingHeaders() []*VulnerableHeaders_Header {
+	if m != nil {
+		return m.MissingHeaders
+	}
+	return nil
+}
+
+// Describes a HTTP Header.
+type VulnerableHeaders_Header struct {
+	// Header name.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Header value.
+	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *VulnerableHeaders_Header) Reset()         { *m = VulnerableHeaders_Header{} }
+func (m *VulnerableHeaders_Header) String() string { return proto.CompactTextString(m) }
+func (*VulnerableHeaders_Header) ProtoMessage()    {}
+func (*VulnerableHeaders_Header) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{4, 0}
+}
+
+func (m *VulnerableHeaders_Header) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_VulnerableHeaders_Header.Unmarshal(m, b)
+}
+func (m *VulnerableHeaders_Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_VulnerableHeaders_Header.Marshal(b, m, deterministic)
+}
+func (m *VulnerableHeaders_Header) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_VulnerableHeaders_Header.Merge(m, src)
+}
+func (m *VulnerableHeaders_Header) XXX_Size() int {
+	return xxx_messageInfo_VulnerableHeaders_Header.Size(m)
+}
+func (m *VulnerableHeaders_Header) XXX_DiscardUnknown() {
+	xxx_messageInfo_VulnerableHeaders_Header.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_VulnerableHeaders_Header proto.InternalMessageInfo
+
+func (m *VulnerableHeaders_Header) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *VulnerableHeaders_Header) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
+// Information reported for an XSS.
+type Xss struct {
+	// Stack traces leading to the point where the XSS occurred.
+	StackTraces []string `protobuf:"bytes,1,rep,name=stack_traces,json=stackTraces,proto3" json:"stack_traces,omitempty"`
+	// An error message generated by a javascript breakage.
+	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
+	// The attack vector of the payload triggering this XSS.
+	AttackVector Xss_AttackVector `protobuf:"varint,3,opt,name=attack_vector,json=attackVector,proto3,enum=google.cloud.websecurityscanner.v1.Xss_AttackVector" json:"attack_vector,omitempty"`
+	// The reproduction url for the seeding POST request of a Stored XSS.
+	StoredXssSeedingUrl  string   `protobuf:"bytes,4,opt,name=stored_xss_seeding_url,json=storedXssSeedingUrl,proto3" json:"stored_xss_seeding_url,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Xss) Reset()         { *m = Xss{} }
+func (m *Xss) String() string { return proto.CompactTextString(m) }
+func (*Xss) ProtoMessage()    {}
+func (*Xss) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0ef715fa8ce0714a, []int{5}
+}
+
+func (m *Xss) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Xss.Unmarshal(m, b)
+}
+func (m *Xss) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Xss.Marshal(b, m, deterministic)
+}
+func (m *Xss) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Xss.Merge(m, src)
+}
+func (m *Xss) XXX_Size() int {
+	return xxx_messageInfo_Xss.Size(m)
+}
+func (m *Xss) XXX_DiscardUnknown() {
+	xxx_messageInfo_Xss.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Xss proto.InternalMessageInfo
+
+func (m *Xss) GetStackTraces() []string {
+	if m != nil {
+		return m.StackTraces
+	}
+	return nil
+}
+
+func (m *Xss) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
+func (m *Xss) GetAttackVector() Xss_AttackVector {
+	if m != nil {
+		return m.AttackVector
+	}
+	return Xss_ATTACK_VECTOR_UNSPECIFIED
+}
+
+func (m *Xss) GetStoredXssSeedingUrl() string {
+	if m != nil {
+		return m.StoredXssSeedingUrl
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.Xss_AttackVector", Xss_AttackVector_name, Xss_AttackVector_value)
+	proto.RegisterType((*Form)(nil), "google.cloud.websecurityscanner.v1.Form")
+	proto.RegisterType((*OutdatedLibrary)(nil), "google.cloud.websecurityscanner.v1.OutdatedLibrary")
+	proto.RegisterType((*ViolatingResource)(nil), "google.cloud.websecurityscanner.v1.ViolatingResource")
+	proto.RegisterType((*VulnerableParameters)(nil), "google.cloud.websecurityscanner.v1.VulnerableParameters")
+	proto.RegisterType((*VulnerableHeaders)(nil), "google.cloud.websecurityscanner.v1.VulnerableHeaders")
+	proto.RegisterType((*VulnerableHeaders_Header)(nil), "google.cloud.websecurityscanner.v1.VulnerableHeaders.Header")
+	proto.RegisterType((*Xss)(nil), "google.cloud.websecurityscanner.v1.Xss")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/finding_addon.proto", fileDescriptor_0ef715fa8ce0714a)
+}
+
+var fileDescriptor_0ef715fa8ce0714a = []byte{
+	// 783 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xdd, 0x6e, 0xdb, 0x36,
+	0x14, 0xc7, 0xe7, 0x8f, 0x3a, 0xcd, 0xf1, 0x97, 0xc2, 0x76, 0x85, 0x3b, 0xa0, 0x40, 0xe6, 0x01,
+	0x5d, 0xae, 0x6c, 0x34, 0x1d, 0x76, 0xb3, 0x0d, 0x83, 0xe2, 0xd0, 0xa9, 0x51, 0x49, 0x34, 0x28,
+	0xd9, 0x4d, 0x77, 0x43, 0x30, 0x12, 0xab, 0x09, 0x93, 0x45, 0x83, 0x94, 0xbd, 0xe5, 0x05, 0xf6,
+	0x02, 0xbb, 0xda, 0xa3, 0xec, 0xed, 0x06, 0x52, 0x72, 0x16, 0x20, 0xc0, 0x96, 0x8b, 0x5d, 0x99,
+	0xe7, 0x47, 0xfe, 0xff, 0xe7, 0x90, 0x47, 0x3e, 0xf0, 0x6d, 0x2a, 0x65, 0x9a, 0x8b, 0x69, 0x9c,
+	0xcb, 0x5d, 0x32, 0xfd, 0x55, 0xdc, 0x68, 0x11, 0xef, 0x54, 0x56, 0xde, 0xea, 0x98, 0x17, 0x85,
+	0x50, 0xd3, 0xfd, 0x9b, 0xe9, 0xa7, 0xac, 0x48, 0xb2, 0x22, 0x65, 0x3c, 0x49, 0x64, 0x31, 0xd9,
+	0x2a, 0x59, 0x4a, 0x34, 0xae, 0x74, 0x13, 0xab, 0x9b, 0x3c, 0xd4, 0x4d, 0xf6, 0x6f, 0xc6, 0x3f,
+	0x40, 0x7b, 0x2e, 0xd5, 0x06, 0xbd, 0x02, 0xe0, 0x71, 0x99, 0xc9, 0x82, 0xed, 0x54, 0x36, 0x6a,
+	0x9c, 0x36, 0xce, 0x8e, 0xe9, 0x71, 0x45, 0x56, 0x2a, 0x43, 0x2f, 0xa0, 0xf3, 0x29, 0x13, 0x79,
+	0xa2, 0x47, 0xcd, 0xd3, 0xd6, 0xd9, 0x31, 0xad, 0xa3, 0xf1, 0x1e, 0x86, 0x64, 0x57, 0x26, 0xbc,
+	0x14, 0x89, 0x97, 0xdd, 0x28, 0xae, 0x6e, 0xd1, 0x97, 0xd0, 0xcb, 0xab, 0x25, 0x2b, 0xf8, 0x46,
+	0xd4, 0x5e, 0xdd, 0x9a, 0x05, 0x7c, 0x23, 0xd0, 0x08, 0x8e, 0xf6, 0x42, 0xe9, 0x4c, 0x16, 0xa3,
+	0xa6, 0xdd, 0x3d, 0x84, 0xe8, 0x35, 0x0c, 0x73, 0xc1, 0x55, 0xc1, 0x36, 0x52, 0x09, 0xb6, 0x53,
+	0xb9, 0x1e, 0xb5, 0x6c, 0xc2, 0xbe, 0xc5, 0xbe, 0x54, 0x62, 0xa5, 0x72, 0x3d, 0xfe, 0x08, 0x27,
+	0xeb, 0x4c, 0xe6, 0xbc, 0xcc, 0x8a, 0x94, 0x0a, 0x2d, 0x77, 0x2a, 0x16, 0x26, 0x73, 0x2c, 0x8b,
+	0x52, 0x14, 0x25, 0x2b, 0x6f, 0xb7, 0x77, 0x99, 0x6b, 0x16, 0xdd, 0x6e, 0xed, 0x11, 0x55, 0x1f,
+	0x37, 0xee, 0x75, 0xfa, 0xee, 0x81, 0xad, 0x54, 0x3e, 0xfe, 0x11, 0x9e, 0xaf, 0x77, 0x79, 0x21,
+	0x14, 0xbf, 0xc9, 0xc5, 0x92, 0x2b, 0xbe, 0x11, 0xa5, 0x50, 0x1a, 0x7d, 0x0d, 0xc3, 0xed, 0x21,
+	0xb2, 0x37, 0xd3, 0xa3, 0x86, 0x2d, 0x6d, 0x70, 0x87, 0xcd, 0xe5, 0xf4, 0xf8, 0xf7, 0x26, 0x9c,
+	0xfc, 0xe3, 0xf0, 0x4e, 0xf0, 0xc4, 0xc8, 0xd7, 0x70, 0xf4, 0x73, 0xb5, 0xb4, 0xb2, 0xee, 0xf9,
+	0xf7, 0x93, 0xff, 0x6e, 0xcf, 0xe4, 0x81, 0xcf, 0xa4, 0xfa, 0xa5, 0x07, 0x33, 0x24, 0x60, 0xb8,
+	0xc9, 0xb4, 0x36, 0xbd, 0x3f, 0xf8, 0x37, 0xff, 0x07, 0xff, 0x41, 0x6d, 0x5a, 0xe3, 0x2f, 0xce,
+	0xa1, 0x53, 0x2d, 0x11, 0x82, 0xf6, 0xbd, 0xbe, 0xda, 0x35, 0x7a, 0x0e, 0x4f, 0xf6, 0x3c, 0xdf,
+	0x89, 0xfa, 0x3d, 0xab, 0x60, 0xfc, 0x67, 0x1b, 0x5a, 0xd7, 0x5a, 0x9b, 0x47, 0xd7, 0x25, 0x8f,
+	0x7f, 0x61, 0xa5, 0xe2, 0xf1, 0xdd, 0xb3, 0x75, 0x2d, 0x8b, 0x2c, 0x42, 0x5f, 0x41, 0x5f, 0x28,
+	0x25, 0x15, 0xdb, 0x08, 0xad, 0x79, 0x7a, 0x30, 0xea, 0x59, 0xe8, 0x57, 0x0c, 0x7d, 0x84, 0x3e,
+	0x2f, 0xad, 0xd1, 0x5e, 0xc4, 0xa5, 0x54, 0xa3, 0xd6, 0x69, 0xe3, 0x6c, 0x70, 0xfe, 0xcd, 0x63,
+	0x2e, 0x7a, 0xad, 0xf5, 0xc4, 0xb5, 0xe2, 0xb5, 0xd5, 0xd2, 0x1e, 0xbf, 0x17, 0xa1, 0xb7, 0xf0,
+	0x42, 0x97, 0x52, 0x89, 0x84, 0xfd, 0xa6, 0x35, 0xd3, 0x42, 0xd8, 0x3f, 0x93, 0xf9, 0x42, 0xda,
+	0xb6, 0x90, 0x67, 0xd5, 0xee, 0xb5, 0xd6, 0x61, 0xb5, 0x67, 0xbe, 0x94, 0xbf, 0x9a, 0xd0, 0xbb,
+	0xef, 0x89, 0x5e, 0xc1, 0x4b, 0x37, 0x8a, 0xdc, 0xd9, 0x7b, 0xb6, 0xc6, 0xb3, 0x88, 0x50, 0xb6,
+	0x0a, 0xc2, 0x25, 0x9e, 0x2d, 0xe6, 0x0b, 0x7c, 0xe9, 0x7c, 0x86, 0x4e, 0xa0, 0xef, 0x91, 0x99,
+	0xeb, 0xb1, 0x30, 0x22, 0xd4, 0xbd, 0xc2, 0x4e, 0x03, 0x3d, 0x83, 0x61, 0x88, 0xc3, 0x70, 0x41,
+	0x82, 0x3b, 0xd8, 0x44, 0x43, 0xe8, 0x7e, 0x58, 0x04, 0x97, 0xe4, 0x03, 0x0b, 0x5c, 0x1f, 0x3b,
+	0x2d, 0xd4, 0x83, 0xa7, 0x14, 0xcf, 0x31, 0xa5, 0x98, 0x3a, 0x6d, 0x34, 0x00, 0x98, 0x13, 0xea,
+	0xb3, 0x45, 0xb0, 0x5c, 0x45, 0xce, 0x13, 0x04, 0xd0, 0x99, 0x11, 0xf2, 0x7e, 0x81, 0x9d, 0x0e,
+	0x72, 0xa0, 0xb7, 0x24, 0x61, 0xc4, 0x7c, 0x1c, 0x86, 0xc6, 0xec, 0x08, 0x21, 0x18, 0x5c, 0xe1,
+	0x88, 0x2d, 0x5d, 0xea, 0xfa, 0x38, 0xc2, 0x34, 0x74, 0x9e, 0x9a, 0x53, 0x2b, 0xea, 0xb1, 0x39,
+	0x75, 0xaf, 0x7c, 0x1c, 0x44, 0xce, 0xb1, 0x21, 0xef, 0x22, 0xdf, 0x63, 0x33, 0xe2, 0x5b, 0x02,
+	0xa6, 0x32, 0xeb, 0x74, 0x4f, 0xd8, 0x35, 0x85, 0x2c, 0x29, 0x89, 0xc8, 0x8c, 0x78, 0x4e, 0xcf,
+	0x14, 0x62, 0x8a, 0xc6, 0x97, 0xec, 0x3a, 0x0c, 0x9d, 0xbe, 0xa9, 0x3b, 0x74, 0x7d, 0xcc, 0x08,
+	0x5d, 0x5c, 0x2d, 0x02, 0x67, 0x80, 0x5e, 0xc2, 0xe7, 0xab, 0x10, 0x53, 0x36, 0x23, 0x41, 0x44,
+	0x89, 0xe7, 0xb9, 0x17, 0x1e, 0x66, 0x2b, 0xea, 0x39, 0xc3, 0x8b, 0x3f, 0x1a, 0xf0, 0x3a, 0x96,
+	0x9b, 0x47, 0xb4, 0xee, 0xe2, 0x64, 0x5e, 0xcd, 0x36, 0xd7, 0x8c, 0xb6, 0xa5, 0x99, 0x6c, 0xcb,
+	0xc6, 0x4f, 0x51, 0x2d, 0x4c, 0x65, 0xce, 0x8b, 0x74, 0x22, 0x55, 0x3a, 0x4d, 0x45, 0x61, 0xe7,
+	0xde, 0xb4, 0xda, 0xe2, 0xdb, 0x4c, 0xff, 0xdb, 0xc8, 0xfc, 0xee, 0x21, 0xbd, 0xe9, 0x58, 0x83,
+	0xb7, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xda, 0x17, 0x1e, 0x72, 0x05, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/finding_type_stats.pb.go b/googleapis/cloud/websecurityscanner/v1/finding_type_stats.pb.go
new file mode 100644
index 0000000..5095208
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/finding_type_stats.pb.go
@@ -0,0 +1,99 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/finding_type_stats.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A FindingTypeStats resource represents stats regarding a specific FindingType
+// of Findings under a given ScanRun.
+type FindingTypeStats struct {
+	// Output only. The finding type associated with the stats.
+	FindingType string `protobuf:"bytes,1,opt,name=finding_type,json=findingType,proto3" json:"finding_type,omitempty"`
+	// Output only. The count of findings belonging to this finding type.
+	FindingCount         int32    `protobuf:"varint,2,opt,name=finding_count,json=findingCount,proto3" json:"finding_count,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *FindingTypeStats) Reset()         { *m = FindingTypeStats{} }
+func (m *FindingTypeStats) String() string { return proto.CompactTextString(m) }
+func (*FindingTypeStats) ProtoMessage()    {}
+func (*FindingTypeStats) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5c61ec1ddaaad651, []int{0}
+}
+
+func (m *FindingTypeStats) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FindingTypeStats.Unmarshal(m, b)
+}
+func (m *FindingTypeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FindingTypeStats.Marshal(b, m, deterministic)
+}
+func (m *FindingTypeStats) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FindingTypeStats.Merge(m, src)
+}
+func (m *FindingTypeStats) XXX_Size() int {
+	return xxx_messageInfo_FindingTypeStats.Size(m)
+}
+func (m *FindingTypeStats) XXX_DiscardUnknown() {
+	xxx_messageInfo_FindingTypeStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FindingTypeStats proto.InternalMessageInfo
+
+func (m *FindingTypeStats) GetFindingType() string {
+	if m != nil {
+		return m.FindingType
+	}
+	return ""
+}
+
+func (m *FindingTypeStats) GetFindingCount() int32 {
+	if m != nil {
+		return m.FindingCount
+	}
+	return 0
+}
+
+func init() {
+	proto.RegisterType((*FindingTypeStats)(nil), "google.cloud.websecurityscanner.v1.FindingTypeStats")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/finding_type_stats.proto", fileDescriptor_5c61ec1ddaaad651)
+}
+
+var fileDescriptor_5c61ec1ddaaad651 = []byte{
+	// 211 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0xce, 0xc9, 0x2f, 0x4d, 0xd1, 0x2f, 0x4f, 0x4d, 0x2a, 0x4e, 0x4d, 0x2e,
+	0x2d, 0xca, 0x2c, 0xa9, 0x2c, 0x4e, 0x4e, 0xcc, 0xcb, 0x4b, 0x2d, 0xd2, 0x2f, 0x33, 0xd4, 0x4f,
+	0xcb, 0xcc, 0x4b, 0xc9, 0xcc, 0x4b, 0x8f, 0x2f, 0xa9, 0x2c, 0x48, 0x8d, 0x2f, 0x2e, 0x49, 0x2c,
+	0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0x82, 0x68, 0xd6, 0x03, 0x6b, 0xd6, 0xc3,
+	0xd4, 0xac, 0x57, 0x66, 0xa8, 0x14, 0xc5, 0x25, 0xe0, 0x06, 0xd1, 0x1f, 0x52, 0x59, 0x90, 0x1a,
+	0x0c, 0xd2, 0x2d, 0xa4, 0xc8, 0xc5, 0x83, 0x6c, 0xa6, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10,
+	0x77, 0x1a, 0x42, 0x9d, 0x90, 0x32, 0x17, 0x2f, 0x4c, 0x49, 0x72, 0x7e, 0x69, 0x5e, 0x89, 0x04,
+	0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x4c, 0x9f, 0x33, 0x48, 0xcc, 0x69, 0x3a, 0x23, 0x97, 0x5a,
+	0x72, 0x7e, 0xae, 0x1e, 0x61, 0x67, 0x38, 0x89, 0xa2, 0x3b, 0x22, 0x00, 0xe4, 0x83, 0x00, 0xc6,
+	0xa8, 0x10, 0xa8, 0xe6, 0xf4, 0xfc, 0x9c, 0xc4, 0xbc, 0x74, 0xbd, 0xfc, 0xa2, 0x74, 0xfd, 0xf4,
+	0xd4, 0x3c, 0xb0, 0xff, 0xf4, 0x21, 0x52, 0x89, 0x05, 0x99, 0xc5, 0xf8, 0xc2, 0xc7, 0x1a, 0x53,
+	0x34, 0x89, 0x0d, 0x6c, 0x80, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xde, 0x97, 0xfa, 0x71, 0x5f,
+	0x01, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/scan_config.pb.go b/googleapis/cloud/websecurityscanner/v1/scan_config.pb.go
new file mode 100644
index 0000000..fb0c773
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/scan_config.pb.go
@@ -0,0 +1,746 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/scan_config.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Type of user agents used for scanning.
+type ScanConfig_UserAgent int32
+
+const (
+	// The user agent is unknown. Service will default to CHROME_LINUX.
+	ScanConfig_USER_AGENT_UNSPECIFIED ScanConfig_UserAgent = 0
+	// Chrome on Linux. This is the service default if unspecified.
+	ScanConfig_CHROME_LINUX ScanConfig_UserAgent = 1
+	// Chrome on Android.
+	ScanConfig_CHROME_ANDROID ScanConfig_UserAgent = 2
+	// Safari on IPhone.
+	ScanConfig_SAFARI_IPHONE ScanConfig_UserAgent = 3
+)
+
+var ScanConfig_UserAgent_name = map[int32]string{
+	0: "USER_AGENT_UNSPECIFIED",
+	1: "CHROME_LINUX",
+	2: "CHROME_ANDROID",
+	3: "SAFARI_IPHONE",
+}
+
+var ScanConfig_UserAgent_value = map[string]int32{
+	"USER_AGENT_UNSPECIFIED": 0,
+	"CHROME_LINUX":           1,
+	"CHROME_ANDROID":         2,
+	"SAFARI_IPHONE":          3,
+}
+
+func (x ScanConfig_UserAgent) String() string {
+	return proto.EnumName(ScanConfig_UserAgent_name, int32(x))
+}
+
+func (ScanConfig_UserAgent) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0}
+}
+
+// Scan risk levels supported by Web Security Scanner. LOW impact
+// scanning will minimize requests with the potential to modify data. To
+// achieve the maximum scan coverage, NORMAL risk level is recommended.
+type ScanConfig_RiskLevel int32
+
+const (
+	// Use default, which is NORMAL.
+	ScanConfig_RISK_LEVEL_UNSPECIFIED ScanConfig_RiskLevel = 0
+	// Normal scanning (Recommended)
+	ScanConfig_NORMAL ScanConfig_RiskLevel = 1
+	// Lower impact scanning
+	ScanConfig_LOW ScanConfig_RiskLevel = 2
+)
+
+var ScanConfig_RiskLevel_name = map[int32]string{
+	0: "RISK_LEVEL_UNSPECIFIED",
+	1: "NORMAL",
+	2: "LOW",
+}
+
+var ScanConfig_RiskLevel_value = map[string]int32{
+	"RISK_LEVEL_UNSPECIFIED": 0,
+	"NORMAL":                 1,
+	"LOW":                    2,
+}
+
+func (x ScanConfig_RiskLevel) String() string {
+	return proto.EnumName(ScanConfig_RiskLevel_name, int32(x))
+}
+
+func (ScanConfig_RiskLevel) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 1}
+}
+
+// Controls export of scan configurations and results to Security
+// Command Center.
+type ScanConfig_ExportToSecurityCommandCenter int32
+
+const (
+	// Use default, which is ENABLED.
+	ScanConfig_EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED ScanConfig_ExportToSecurityCommandCenter = 0
+	// Export results of this scan to Security Command Center.
+	ScanConfig_ENABLED ScanConfig_ExportToSecurityCommandCenter = 1
+	// Do not export results of this scan to Security Command Center.
+	ScanConfig_DISABLED ScanConfig_ExportToSecurityCommandCenter = 2
+)
+
+var ScanConfig_ExportToSecurityCommandCenter_name = map[int32]string{
+	0: "EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED",
+	1: "ENABLED",
+	2: "DISABLED",
+}
+
+var ScanConfig_ExportToSecurityCommandCenter_value = map[string]int32{
+	"EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED": 0,
+	"ENABLED":  1,
+	"DISABLED": 2,
+}
+
+func (x ScanConfig_ExportToSecurityCommandCenter) String() string {
+	return proto.EnumName(ScanConfig_ExportToSecurityCommandCenter_name, int32(x))
+}
+
+func (ScanConfig_ExportToSecurityCommandCenter) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 2}
+}
+
+// A ScanConfig resource contains the configurations to launch a scan.
+type ScanConfig struct {
+	// The resource name of the ScanConfig. The name follows the format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are
+	// generated by the system.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Required. The user provided display name of the ScanConfig.
+	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+	// The maximum QPS during scanning. A valid value ranges from 5 to 20
+	// inclusively. If the field is unspecified or its value is set 0, server will
+	// default to 15. Other values outside of [5, 20] range will be rejected with
+	// INVALID_ARGUMENT error.
+	MaxQps int32 `protobuf:"varint,3,opt,name=max_qps,json=maxQps,proto3" json:"max_qps,omitempty"`
+	// Required. The starting URLs from which the scanner finds site pages.
+	StartingUrls []string `protobuf:"bytes,4,rep,name=starting_urls,json=startingUrls,proto3" json:"starting_urls,omitempty"`
+	// The authentication configuration. If specified, service will use the
+	// authentication configuration during scanning.
+	Authentication *ScanConfig_Authentication `protobuf:"bytes,5,opt,name=authentication,proto3" json:"authentication,omitempty"`
+	// The user agent used during scanning.
+	UserAgent ScanConfig_UserAgent `protobuf:"varint,6,opt,name=user_agent,json=userAgent,proto3,enum=google.cloud.websecurityscanner.v1.ScanConfig_UserAgent" json:"user_agent,omitempty"`
+	// The excluded URL patterns as described in
+	// https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls
+	BlacklistPatterns []string `protobuf:"bytes,7,rep,name=blacklist_patterns,json=blacklistPatterns,proto3" json:"blacklist_patterns,omitempty"`
+	// The schedule of the ScanConfig.
+	Schedule *ScanConfig_Schedule `protobuf:"bytes,8,opt,name=schedule,proto3" json:"schedule,omitempty"`
+	// Controls export of scan configurations and results to Security
+	// Command Center.
+	ExportToSecurityCommandCenter ScanConfig_ExportToSecurityCommandCenter `protobuf:"varint,10,opt,name=export_to_security_command_center,json=exportToSecurityCommandCenter,proto3,enum=google.cloud.websecurityscanner.v1.ScanConfig_ExportToSecurityCommandCenter" json:"export_to_security_command_center,omitempty"`
+	// The risk level selected for the scan
+	RiskLevel ScanConfig_RiskLevel `protobuf:"varint,12,opt,name=risk_level,json=riskLevel,proto3,enum=google.cloud.websecurityscanner.v1.ScanConfig_RiskLevel" json:"risk_level,omitempty"`
+	// Whether the scan config is managed by Web Security Scanner, output
+	// only.
+	ManagedScan bool `protobuf:"varint,13,opt,name=managed_scan,json=managedScan,proto3" json:"managed_scan,omitempty"`
+	// Whether the scan configuration has enabled static IP address scan feature.
+	// If enabled, the scanner will access applications from static IP addresses.
+	StaticIpScan         bool     `protobuf:"varint,14,opt,name=static_ip_scan,json=staticIpScan,proto3" json:"static_ip_scan,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ScanConfig) Reset()         { *m = ScanConfig{} }
+func (m *ScanConfig) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig) ProtoMessage()    {}
+func (*ScanConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0}
+}
+
+func (m *ScanConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig.Unmarshal(m, b)
+}
+func (m *ScanConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig.Merge(m, src)
+}
+func (m *ScanConfig) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig.Size(m)
+}
+func (m *ScanConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig proto.InternalMessageInfo
+
+func (m *ScanConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ScanConfig) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *ScanConfig) GetMaxQps() int32 {
+	if m != nil {
+		return m.MaxQps
+	}
+	return 0
+}
+
+func (m *ScanConfig) GetStartingUrls() []string {
+	if m != nil {
+		return m.StartingUrls
+	}
+	return nil
+}
+
+func (m *ScanConfig) GetAuthentication() *ScanConfig_Authentication {
+	if m != nil {
+		return m.Authentication
+	}
+	return nil
+}
+
+func (m *ScanConfig) GetUserAgent() ScanConfig_UserAgent {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ScanConfig_USER_AGENT_UNSPECIFIED
+}
+
+func (m *ScanConfig) GetBlacklistPatterns() []string {
+	if m != nil {
+		return m.BlacklistPatterns
+	}
+	return nil
+}
+
+func (m *ScanConfig) GetSchedule() *ScanConfig_Schedule {
+	if m != nil {
+		return m.Schedule
+	}
+	return nil
+}
+
+func (m *ScanConfig) GetExportToSecurityCommandCenter() ScanConfig_ExportToSecurityCommandCenter {
+	if m != nil {
+		return m.ExportToSecurityCommandCenter
+	}
+	return ScanConfig_EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED
+}
+
+func (m *ScanConfig) GetRiskLevel() ScanConfig_RiskLevel {
+	if m != nil {
+		return m.RiskLevel
+	}
+	return ScanConfig_RISK_LEVEL_UNSPECIFIED
+}
+
+func (m *ScanConfig) GetManagedScan() bool {
+	if m != nil {
+		return m.ManagedScan
+	}
+	return false
+}
+
+func (m *ScanConfig) GetStaticIpScan() bool {
+	if m != nil {
+		return m.StaticIpScan
+	}
+	return false
+}
+
+// Scan authentication configuration.
+type ScanConfig_Authentication struct {
+	// Required.
+	// Authentication configuration
+	//
+	// Types that are valid to be assigned to Authentication:
+	//	*ScanConfig_Authentication_GoogleAccount_
+	//	*ScanConfig_Authentication_CustomAccount_
+	//	*ScanConfig_Authentication_IapCredential_
+	Authentication       isScanConfig_Authentication_Authentication `protobuf_oneof:"authentication"`
+	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
+	XXX_unrecognized     []byte                                     `json:"-"`
+	XXX_sizecache        int32                                      `json:"-"`
+}
+
+func (m *ScanConfig_Authentication) Reset()         { *m = ScanConfig_Authentication{} }
+func (m *ScanConfig_Authentication) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig_Authentication) ProtoMessage()    {}
+func (*ScanConfig_Authentication) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0}
+}
+
+func (m *ScanConfig_Authentication) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Authentication.Unmarshal(m, b)
+}
+func (m *ScanConfig_Authentication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Authentication.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Authentication) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Authentication.Merge(m, src)
+}
+func (m *ScanConfig_Authentication) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Authentication.Size(m)
+}
+func (m *ScanConfig_Authentication) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Authentication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Authentication proto.InternalMessageInfo
+
+type isScanConfig_Authentication_Authentication interface {
+	isScanConfig_Authentication_Authentication()
+}
+
+type ScanConfig_Authentication_GoogleAccount_ struct {
+	GoogleAccount *ScanConfig_Authentication_GoogleAccount `protobuf:"bytes,1,opt,name=google_account,json=googleAccount,proto3,oneof"`
+}
+
+type ScanConfig_Authentication_CustomAccount_ struct {
+	CustomAccount *ScanConfig_Authentication_CustomAccount `protobuf:"bytes,2,opt,name=custom_account,json=customAccount,proto3,oneof"`
+}
+
+type ScanConfig_Authentication_IapCredential_ struct {
+	IapCredential *ScanConfig_Authentication_IapCredential `protobuf:"bytes,4,opt,name=iap_credential,json=iapCredential,proto3,oneof"`
+}
+
+func (*ScanConfig_Authentication_GoogleAccount_) isScanConfig_Authentication_Authentication() {}
+
+func (*ScanConfig_Authentication_CustomAccount_) isScanConfig_Authentication_Authentication() {}
+
+func (*ScanConfig_Authentication_IapCredential_) isScanConfig_Authentication_Authentication() {}
+
+func (m *ScanConfig_Authentication) GetAuthentication() isScanConfig_Authentication_Authentication {
+	if m != nil {
+		return m.Authentication
+	}
+	return nil
+}
+
+func (m *ScanConfig_Authentication) GetGoogleAccount() *ScanConfig_Authentication_GoogleAccount {
+	if x, ok := m.GetAuthentication().(*ScanConfig_Authentication_GoogleAccount_); ok {
+		return x.GoogleAccount
+	}
+	return nil
+}
+
+func (m *ScanConfig_Authentication) GetCustomAccount() *ScanConfig_Authentication_CustomAccount {
+	if x, ok := m.GetAuthentication().(*ScanConfig_Authentication_CustomAccount_); ok {
+		return x.CustomAccount
+	}
+	return nil
+}
+
+func (m *ScanConfig_Authentication) GetIapCredential() *ScanConfig_Authentication_IapCredential {
+	if x, ok := m.GetAuthentication().(*ScanConfig_Authentication_IapCredential_); ok {
+		return x.IapCredential
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*ScanConfig_Authentication) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*ScanConfig_Authentication_GoogleAccount_)(nil),
+		(*ScanConfig_Authentication_CustomAccount_)(nil),
+		(*ScanConfig_Authentication_IapCredential_)(nil),
+	}
+}
+
+// Describes authentication configuration that uses a Google account.
+type ScanConfig_Authentication_GoogleAccount struct {
+	// Required. The user name of the Google account.
+	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
+	// Required. Input only. The password of the Google account. The credential is stored encrypted
+	// and not returned in any response nor included in audit logs.
+	Password             string   `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ScanConfig_Authentication_GoogleAccount) Reset() {
+	*m = ScanConfig_Authentication_GoogleAccount{}
+}
+func (m *ScanConfig_Authentication_GoogleAccount) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig_Authentication_GoogleAccount) ProtoMessage()    {}
+func (*ScanConfig_Authentication_GoogleAccount) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0, 0}
+}
+
+func (m *ScanConfig_Authentication_GoogleAccount) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Authentication_GoogleAccount.Unmarshal(m, b)
+}
+func (m *ScanConfig_Authentication_GoogleAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Authentication_GoogleAccount.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Authentication_GoogleAccount) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Authentication_GoogleAccount.Merge(m, src)
+}
+func (m *ScanConfig_Authentication_GoogleAccount) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Authentication_GoogleAccount.Size(m)
+}
+func (m *ScanConfig_Authentication_GoogleAccount) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Authentication_GoogleAccount.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Authentication_GoogleAccount proto.InternalMessageInfo
+
+func (m *ScanConfig_Authentication_GoogleAccount) GetUsername() string {
+	if m != nil {
+		return m.Username
+	}
+	return ""
+}
+
+func (m *ScanConfig_Authentication_GoogleAccount) GetPassword() string {
+	if m != nil {
+		return m.Password
+	}
+	return ""
+}
+
+// Describes authentication configuration that uses a custom account.
+type ScanConfig_Authentication_CustomAccount struct {
+	// Required. The user name of the custom account.
+	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
+	// Required. Input only. The password of the custom account. The credential is stored encrypted
+	// and not returned in any response nor included in audit logs.
+	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
+	// Required. The login form URL of the website.
+	LoginUrl             string   `protobuf:"bytes,3,opt,name=login_url,json=loginUrl,proto3" json:"login_url,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ScanConfig_Authentication_CustomAccount) Reset() {
+	*m = ScanConfig_Authentication_CustomAccount{}
+}
+func (m *ScanConfig_Authentication_CustomAccount) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig_Authentication_CustomAccount) ProtoMessage()    {}
+func (*ScanConfig_Authentication_CustomAccount) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0, 1}
+}
+
+func (m *ScanConfig_Authentication_CustomAccount) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Authentication_CustomAccount.Unmarshal(m, b)
+}
+func (m *ScanConfig_Authentication_CustomAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Authentication_CustomAccount.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Authentication_CustomAccount) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Authentication_CustomAccount.Merge(m, src)
+}
+func (m *ScanConfig_Authentication_CustomAccount) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Authentication_CustomAccount.Size(m)
+}
+func (m *ScanConfig_Authentication_CustomAccount) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Authentication_CustomAccount.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Authentication_CustomAccount proto.InternalMessageInfo
+
+func (m *ScanConfig_Authentication_CustomAccount) GetUsername() string {
+	if m != nil {
+		return m.Username
+	}
+	return ""
+}
+
+func (m *ScanConfig_Authentication_CustomAccount) GetPassword() string {
+	if m != nil {
+		return m.Password
+	}
+	return ""
+}
+
+func (m *ScanConfig_Authentication_CustomAccount) GetLoginUrl() string {
+	if m != nil {
+		return m.LoginUrl
+	}
+	return ""
+}
+
+// Describes authentication configuration for Identity-Aware-Proxy (IAP).
+type ScanConfig_Authentication_IapCredential struct {
+	// Identity-Aware-Proxy (IAP) Authentication Configuration
+	//
+	// Types that are valid to be assigned to IapCredentials:
+	//	*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_
+	IapCredentials       isScanConfig_Authentication_IapCredential_IapCredentials `protobuf_oneof:"iap_credentials"`
+	XXX_NoUnkeyedLiteral struct{}                                                 `json:"-"`
+	XXX_unrecognized     []byte                                                   `json:"-"`
+	XXX_sizecache        int32                                                    `json:"-"`
+}
+
+func (m *ScanConfig_Authentication_IapCredential) Reset() {
+	*m = ScanConfig_Authentication_IapCredential{}
+}
+func (m *ScanConfig_Authentication_IapCredential) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig_Authentication_IapCredential) ProtoMessage()    {}
+func (*ScanConfig_Authentication_IapCredential) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0, 2}
+}
+
+func (m *ScanConfig_Authentication_IapCredential) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential.Unmarshal(m, b)
+}
+func (m *ScanConfig_Authentication_IapCredential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Authentication_IapCredential) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Authentication_IapCredential.Merge(m, src)
+}
+func (m *ScanConfig_Authentication_IapCredential) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential.Size(m)
+}
+func (m *ScanConfig_Authentication_IapCredential) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Authentication_IapCredential.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Authentication_IapCredential proto.InternalMessageInfo
+
+type isScanConfig_Authentication_IapCredential_IapCredentials interface {
+	isScanConfig_Authentication_IapCredential_IapCredentials()
+}
+
+type ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_ struct {
+	IapTestServiceAccountInfo *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo `protobuf:"bytes,1,opt,name=iap_test_service_account_info,json=iapTestServiceAccountInfo,proto3,oneof"`
+}
+
+func (*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_) isScanConfig_Authentication_IapCredential_IapCredentials() {
+}
+
+func (m *ScanConfig_Authentication_IapCredential) GetIapCredentials() isScanConfig_Authentication_IapCredential_IapCredentials {
+	if m != nil {
+		return m.IapCredentials
+	}
+	return nil
+}
+
+func (m *ScanConfig_Authentication_IapCredential) GetIapTestServiceAccountInfo() *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo {
+	if x, ok := m.GetIapCredentials().(*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_); ok {
+		return x.IapTestServiceAccountInfo
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*ScanConfig_Authentication_IapCredential) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_)(nil),
+	}
+}
+
+// Describes authentication configuration when Web-Security-Scanner
+// service account is added in Identity-Aware-Proxy (IAP) access policies.
+type ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo struct {
+	// Required. Describes OAuth2 client id of resources protected by
+	// Identity-Aware-Proxy (IAP).
+	TargetAudienceClientId string   `protobuf:"bytes,1,opt,name=target_audience_client_id,json=targetAudienceClientId,proto3" json:"target_audience_client_id,omitempty"`
+	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
+	XXX_unrecognized       []byte   `json:"-"`
+	XXX_sizecache          int32    `json:"-"`
+}
+
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) Reset() {
+	*m = ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo{}
+}
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) String() string {
+	return proto.CompactTextString(m)
+}
+func (*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) ProtoMessage() {}
+func (*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 0, 2, 0}
+}
+
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo.Unmarshal(m, b)
+}
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo.Merge(m, src)
+}
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo.Size(m)
+}
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo proto.InternalMessageInfo
+
+func (m *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo) GetTargetAudienceClientId() string {
+	if m != nil {
+		return m.TargetAudienceClientId
+	}
+	return ""
+}
+
+// Scan schedule configuration.
+type ScanConfig_Schedule struct {
+	// A timestamp indicates when the next run will be scheduled. The value is
+	// refreshed by the server after each run. If unspecified, it will default
+	// to current server time, which means the scan will be scheduled to start
+	// immediately.
+	ScheduleTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"`
+	// Required. The duration of time between executions in days.
+	IntervalDurationDays int32    `protobuf:"varint,2,opt,name=interval_duration_days,json=intervalDurationDays,proto3" json:"interval_duration_days,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ScanConfig_Schedule) Reset()         { *m = ScanConfig_Schedule{} }
+func (m *ScanConfig_Schedule) String() string { return proto.CompactTextString(m) }
+func (*ScanConfig_Schedule) ProtoMessage()    {}
+func (*ScanConfig_Schedule) Descriptor() ([]byte, []int) {
+	return fileDescriptor_87034538e0e89662, []int{0, 1}
+}
+
+func (m *ScanConfig_Schedule) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfig_Schedule.Unmarshal(m, b)
+}
+func (m *ScanConfig_Schedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfig_Schedule.Marshal(b, m, deterministic)
+}
+func (m *ScanConfig_Schedule) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfig_Schedule.Merge(m, src)
+}
+func (m *ScanConfig_Schedule) XXX_Size() int {
+	return xxx_messageInfo_ScanConfig_Schedule.Size(m)
+}
+func (m *ScanConfig_Schedule) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfig_Schedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfig_Schedule proto.InternalMessageInfo
+
+func (m *ScanConfig_Schedule) GetScheduleTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ScheduleTime
+	}
+	return nil
+}
+
+func (m *ScanConfig_Schedule) GetIntervalDurationDays() int32 {
+	if m != nil {
+		return m.IntervalDurationDays
+	}
+	return 0
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanConfig_UserAgent", ScanConfig_UserAgent_name, ScanConfig_UserAgent_value)
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanConfig_RiskLevel", ScanConfig_RiskLevel_name, ScanConfig_RiskLevel_value)
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanConfig_ExportToSecurityCommandCenter", ScanConfig_ExportToSecurityCommandCenter_name, ScanConfig_ExportToSecurityCommandCenter_value)
+	proto.RegisterType((*ScanConfig)(nil), "google.cloud.websecurityscanner.v1.ScanConfig")
+	proto.RegisterType((*ScanConfig_Authentication)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Authentication")
+	proto.RegisterType((*ScanConfig_Authentication_GoogleAccount)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Authentication.GoogleAccount")
+	proto.RegisterType((*ScanConfig_Authentication_CustomAccount)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Authentication.CustomAccount")
+	proto.RegisterType((*ScanConfig_Authentication_IapCredential)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Authentication.IapCredential")
+	proto.RegisterType((*ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Authentication.IapCredential.IapTestServiceAccountInfo")
+	proto.RegisterType((*ScanConfig_Schedule)(nil), "google.cloud.websecurityscanner.v1.ScanConfig.Schedule")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/scan_config.proto", fileDescriptor_87034538e0e89662)
+}
+
+var fileDescriptor_87034538e0e89662 = []byte{
+	// 1004 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x6e, 0xdb, 0x36,
+	0x14, 0xae, 0x9c, 0x36, 0xb1, 0x19, 0xdb, 0x71, 0x88, 0x21, 0x53, 0x3c, 0x04, 0x73, 0xb3, 0x61,
+	0xf0, 0x4d, 0x6d, 0x24, 0x2b, 0xb0, 0x01, 0xfb, 0x83, 0x2c, 0xab, 0x89, 0x50, 0xc7, 0xf6, 0x28,
+	0x7b, 0xed, 0xb6, 0x0b, 0x8e, 0x91, 0x18, 0x85, 0x88, 0xfe, 0x26, 0x52, 0x6e, 0x72, 0xb9, 0x47,
+	0xd8, 0xcd, 0xde, 0x61, 0xd8, 0x4b, 0x6d, 0x4f, 0xb1, 0xdb, 0x81, 0x94, 0xe4, 0xc6, 0x29, 0x9a,
+	0x2d, 0x5d, 0xee, 0xc8, 0x73, 0xce, 0xf7, 0x7d, 0x3c, 0x87, 0x47, 0x87, 0x02, 0x4f, 0xfd, 0x38,
+	0xf6, 0x03, 0xda, 0x77, 0x83, 0x38, 0xf3, 0xfa, 0xaf, 0xe8, 0x29, 0xa7, 0x6e, 0x96, 0x32, 0x71,
+	0xc5, 0x5d, 0x12, 0x45, 0x34, 0xed, 0x2f, 0x0e, 0xfa, 0x72, 0x89, 0xdd, 0x38, 0x3a, 0x63, 0x7e,
+	0x2f, 0x49, 0x63, 0x11, 0xc3, 0xfd, 0x1c, 0xd5, 0x53, 0xa8, 0xde, 0x9b, 0xa8, 0xde, 0xe2, 0xa0,
+	0xfd, 0x61, 0xc1, 0x4c, 0x12, 0xd6, 0x3f, 0x63, 0x34, 0xf0, 0xf0, 0x29, 0x3d, 0x27, 0x0b, 0x16,
+	0xa7, 0x39, 0xc9, 0x32, 0x40, 0xed, 0x4e, 0xb3, 0xb3, 0xbe, 0x60, 0x21, 0xe5, 0x82, 0x84, 0x49,
+	0x1e, 0xb0, 0xff, 0xf7, 0x16, 0x00, 0x8e, 0x4b, 0x22, 0x53, 0x49, 0x43, 0x08, 0x1e, 0x46, 0x24,
+	0xa4, 0xba, 0xd6, 0xd1, 0xba, 0x35, 0xa4, 0xd6, 0xf0, 0x31, 0xa8, 0x7b, 0x8c, 0x27, 0x01, 0xb9,
+	0xc2, 0xca, 0x57, 0x51, 0xbe, 0xcd, 0xc2, 0x36, 0x96, 0x21, 0xef, 0x83, 0x8d, 0x90, 0x5c, 0xe2,
+	0x9f, 0x13, 0xae, 0xaf, 0x75, 0xb4, 0xee, 0x23, 0xb4, 0x1e, 0x92, 0xcb, 0x6f, 0x13, 0x0e, 0x3f,
+	0x02, 0x0d, 0x2e, 0x48, 0x2a, 0x58, 0xe4, 0xe3, 0x2c, 0x0d, 0xb8, 0xfe, 0xb0, 0xb3, 0xd6, 0xad,
+	0xa1, 0x7a, 0x69, 0x9c, 0xa7, 0x01, 0x87, 0x14, 0x34, 0x49, 0x26, 0xce, 0x69, 0x24, 0x98, 0x4b,
+	0x04, 0x8b, 0x23, 0xfd, 0x51, 0x47, 0xeb, 0x6e, 0x1e, 0x7e, 0xd5, 0xfb, 0xf7, 0x12, 0xf4, 0x5e,
+	0x1f, 0xbe, 0x67, 0xac, 0x90, 0xa0, 0x1b, 0xa4, 0xf0, 0x05, 0x00, 0x19, 0xa7, 0x29, 0x26, 0x3e,
+	0x8d, 0x84, 0xbe, 0xde, 0xd1, 0xba, 0xcd, 0xc3, 0xcf, 0xef, 0x28, 0x31, 0xe7, 0x34, 0x35, 0x24,
+	0x1e, 0xd5, 0xb2, 0x72, 0x09, 0x9f, 0x00, 0x78, 0x1a, 0x10, 0xf7, 0x22, 0x60, 0x5c, 0xe0, 0x84,
+	0x08, 0x41, 0xd3, 0x88, 0xeb, 0x1b, 0x2a, 0xd3, 0xed, 0xa5, 0x67, 0x5a, 0x38, 0xa0, 0x03, 0xaa,
+	0xdc, 0x3d, 0xa7, 0x5e, 0x16, 0x50, 0xbd, 0xaa, 0x12, 0xfd, 0xec, 0x8e, 0xa7, 0x70, 0x0a, 0x38,
+	0x5a, 0x12, 0xc1, 0xdf, 0x34, 0xf0, 0x98, 0x5e, 0x26, 0x71, 0x2a, 0xb0, 0x88, 0x71, 0x09, 0xc7,
+	0x6e, 0x1c, 0x86, 0x24, 0xf2, 0xb0, 0x4b, 0x23, 0x41, 0x53, 0x1d, 0xa8, 0xa4, 0x47, 0x77, 0x94,
+	0xb3, 0x14, 0xef, 0x2c, 0x76, 0x8a, 0x28, 0x33, 0x27, 0x35, 0x15, 0x27, 0xda, 0xa3, 0xb7, 0xb9,
+	0x65, 0xd5, 0x53, 0xc6, 0x2f, 0x70, 0x40, 0x17, 0x34, 0xd0, 0xeb, 0xef, 0x54, 0x75, 0xc4, 0xf8,
+	0xc5, 0x48, 0xe2, 0x51, 0x2d, 0x2d, 0x97, 0xb2, 0x2d, 0x43, 0x12, 0x11, 0x9f, 0x7a, 0x58, 0xa2,
+	0xf4, 0x46, 0x47, 0xeb, 0x56, 0xd1, 0x66, 0x61, 0x93, 0x68, 0xf8, 0x31, 0x68, 0x72, 0x41, 0x04,
+	0x73, 0x31, 0x4b, 0xf2, 0xa0, 0xa6, 0x0a, 0xaa, 0xe7, 0x56, 0x3b, 0x91, 0x51, 0xed, 0xbf, 0xd6,
+	0x41, 0x73, 0xb5, 0x75, 0xa0, 0x00, 0xcd, 0xfc, 0x84, 0x98, 0xb8, 0x6e, 0x9c, 0x45, 0x42, 0x7d,
+	0x10, 0x9b, 0x87, 0xcf, 0xff, 0x57, 0x47, 0xf6, 0x8e, 0x14, 0xd8, 0xc8, 0x29, 0x8f, 0x1f, 0xa0,
+	0x86, 0x7f, 0xdd, 0x20, 0x55, 0xdd, 0x8c, 0x8b, 0x38, 0x5c, 0xaa, 0x56, 0xee, 0x43, 0xd5, 0x54,
+	0x9c, 0xd7, 0x54, 0xdd, 0xeb, 0x06, 0xa9, 0xca, 0x48, 0x82, 0xdd, 0x94, 0x7a, 0x12, 0x44, 0x02,
+	0xfd, 0xe1, 0x7d, 0xa8, 0xda, 0x24, 0x31, 0x97, 0x94, 0x52, 0x95, 0x5d, 0x37, 0xb4, 0x8f, 0x40,
+	0x63, 0xa5, 0x1a, 0xb0, 0x0d, 0xaa, 0xf2, 0x8b, 0xba, 0x36, 0x7d, 0x96, 0x7b, 0xe9, 0x4b, 0x08,
+	0xe7, 0xaf, 0xe2, 0xd4, 0x2b, 0xa6, 0xcf, 0x72, 0xdf, 0xf6, 0x40, 0x63, 0x25, 0xc1, 0x77, 0x25,
+	0x82, 0x1f, 0x80, 0x5a, 0x10, 0xfb, 0x2c, 0x92, 0x73, 0x4a, 0x4d, 0xb1, 0x1a, 0xaa, 0x2a, 0xc3,
+	0x3c, 0x0d, 0xda, 0x7f, 0x54, 0x40, 0x63, 0x25, 0x23, 0xf8, 0xbb, 0x06, 0xf6, 0x64, 0xdd, 0x04,
+	0xe5, 0x02, 0x73, 0x9a, 0x2e, 0x98, 0xbb, 0xec, 0x16, 0xcc, 0xa2, 0xb3, 0xb8, 0x68, 0x19, 0x7a,
+	0x8f, 0x65, 0x94, 0xbb, 0x19, 0xe5, 0xc2, 0xc9, 0xe5, 0x8a, 0x8c, 0xed, 0xe8, 0x2c, 0x3e, 0x7e,
+	0x80, 0x76, 0xd9, 0xdb, 0x9c, 0xed, 0x1f, 0xc1, 0xee, 0x5b, 0x91, 0xf0, 0x6b, 0xb0, 0x2b, 0x48,
+	0xea, 0x53, 0x81, 0x49, 0xe6, 0x31, 0x1a, 0xb9, 0x14, 0xbb, 0x01, 0xa3, 0x32, 0x0b, 0x2f, 0x2f,
+	0xe0, 0x60, 0xed, 0x4f, 0xa3, 0x82, 0x76, 0xf2, 0x28, 0xa3, 0x08, 0x32, 0x55, 0x8c, 0xed, 0x0d,
+	0xb6, 0xc1, 0xd6, 0x6a, 0xff, 0xf0, 0x41, 0xeb, 0xe6, 0x40, 0x6f, 0xff, 0xa2, 0x81, 0x6a, 0x39,
+	0xb5, 0xe0, 0x37, 0xa0, 0x51, 0xce, 0x2d, 0x2c, 0xdf, 0xa3, 0xa2, 0x52, 0xed, 0xb2, 0x52, 0xe5,
+	0x63, 0xd5, 0x9b, 0x95, 0x8f, 0x15, 0xaa, 0x97, 0x00, 0x69, 0x82, 0x4f, 0xc1, 0x0e, 0x93, 0xc3,
+	0x65, 0x41, 0x02, 0xec, 0x65, 0xa9, 0x92, 0xc0, 0x1e, 0xb9, 0xe2, 0xea, 0x52, 0x1f, 0xa1, 0xf7,
+	0x4a, 0xef, 0xb0, 0x70, 0x0e, 0xc9, 0x15, 0xdf, 0xff, 0x09, 0xd4, 0x96, 0xe3, 0x1b, 0xb6, 0xc1,
+	0xce, 0xdc, 0xb1, 0x10, 0x36, 0x8e, 0xac, 0xf1, 0x0c, 0xcf, 0xc7, 0xce, 0xd4, 0x32, 0xed, 0x67,
+	0xb6, 0x35, 0x6c, 0x3d, 0x80, 0x2d, 0x50, 0x37, 0x8f, 0xd1, 0xe4, 0xc4, 0xc2, 0x23, 0x7b, 0x3c,
+	0x7f, 0xd9, 0xd2, 0x20, 0x04, 0xcd, 0xc2, 0x62, 0x8c, 0x87, 0x68, 0x62, 0x0f, 0x5b, 0x15, 0xb8,
+	0x0d, 0x1a, 0x8e, 0xf1, 0xcc, 0x40, 0x36, 0xb6, 0xa7, 0xc7, 0x93, 0xb1, 0xd5, 0x5a, 0xdb, 0xff,
+	0x12, 0xd4, 0x96, 0xa3, 0x4a, 0x2a, 0x20, 0xdb, 0x79, 0x8e, 0x47, 0xd6, 0x77, 0xd6, 0xe8, 0x86,
+	0x02, 0x00, 0xeb, 0xe3, 0x09, 0x3a, 0x31, 0x46, 0x2d, 0x0d, 0x6e, 0x80, 0xb5, 0xd1, 0xe4, 0x45,
+	0xab, 0xb2, 0x1f, 0x82, 0xbd, 0x5b, 0x27, 0x2d, 0x3c, 0x00, 0x4f, 0xac, 0x97, 0xd3, 0x09, 0x9a,
+	0xe1, 0xd9, 0x04, 0x3b, 0x96, 0x39, 0x47, 0xf6, 0xec, 0x7b, 0x6c, 0x4e, 0x4e, 0x4e, 0x8c, 0xf1,
+	0x10, 0x9b, 0xd6, 0x78, 0x66, 0xa1, 0x1b, 0x42, 0x9b, 0x60, 0xc3, 0x1a, 0x1b, 0x83, 0x91, 0x35,
+	0x6c, 0x69, 0xb0, 0x0e, 0xaa, 0x43, 0xdb, 0xc9, 0x77, 0x95, 0xc1, 0xaf, 0x1a, 0xf8, 0xc4, 0x8d,
+	0xc3, 0xff, 0xd0, 0x9e, 0x83, 0xad, 0xd7, 0xfd, 0x39, 0x95, 0x77, 0x33, 0xd5, 0x7e, 0x98, 0x15,
+	0x30, 0x3f, 0x0e, 0x48, 0xe4, 0xf7, 0xe2, 0xd4, 0xef, 0xfb, 0x34, 0x52, 0x37, 0xd7, 0xcf, 0x5d,
+	0x24, 0x61, 0xfc, 0xb6, 0x5f, 0x9e, 0x2f, 0xde, 0xb4, 0x9e, 0xae, 0x2b, 0x82, 0x4f, 0xff, 0x09,
+	0x00, 0x00, 0xff, 0xff, 0xfa, 0xb6, 0xb1, 0x3a, 0x32, 0x09, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/scan_config_error.pb.go b/googleapis/cloud/websecurityscanner/v1/scan_config_error.pb.go
new file mode 100644
index 0000000..7f9e4fb
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/scan_config_error.pb.go
@@ -0,0 +1,352 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/scan_config_error.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Output only.
+// Defines an error reason code.
+// Next id: 44
+type ScanConfigError_Code int32
+
+const (
+	// There is no error.
+	ScanConfigError_CODE_UNSPECIFIED ScanConfigError_Code = 0
+	// There is no error.
+	ScanConfigError_OK ScanConfigError_Code = 0
+	// Indicates an internal server error.
+	// Please DO NOT USE THIS ERROR CODE unless the root cause is truly unknown.
+	ScanConfigError_INTERNAL_ERROR ScanConfigError_Code = 1
+	// One of the seed URLs is an App Engine URL but we cannot validate the scan
+	// settings due to an App Engine API backend error.
+	ScanConfigError_APPENGINE_API_BACKEND_ERROR ScanConfigError_Code = 2
+	// One of the seed URLs is an App Engine URL but we cannot access the
+	// App Engine API to validate scan settings.
+	ScanConfigError_APPENGINE_API_NOT_ACCESSIBLE ScanConfigError_Code = 3
+	// One of the seed URLs is an App Engine URL but the Default Host of the
+	// App Engine is not set.
+	ScanConfigError_APPENGINE_DEFAULT_HOST_MISSING ScanConfigError_Code = 4
+	// Google corporate accounts can not be used for scanning.
+	ScanConfigError_CANNOT_USE_GOOGLE_COM_ACCOUNT ScanConfigError_Code = 6
+	// The account of the scan creator can not be used for scanning.
+	ScanConfigError_CANNOT_USE_OWNER_ACCOUNT ScanConfigError_Code = 7
+	// This scan targets Compute Engine, but we cannot validate scan settings
+	// due to a Compute Engine API backend error.
+	ScanConfigError_COMPUTE_API_BACKEND_ERROR ScanConfigError_Code = 8
+	// This scan targets Compute Engine, but we cannot access the Compute Engine
+	// API to validate the scan settings.
+	ScanConfigError_COMPUTE_API_NOT_ACCESSIBLE ScanConfigError_Code = 9
+	// The Custom Login URL does not belong to the current project.
+	ScanConfigError_CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT ScanConfigError_Code = 10
+	// The Custom Login URL is malformed (can not be parsed).
+	ScanConfigError_CUSTOM_LOGIN_URL_MALFORMED ScanConfigError_Code = 11
+	// The Custom Login URL is mapped to a non-routable IP address in DNS.
+	ScanConfigError_CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS ScanConfigError_Code = 12
+	// The Custom Login URL is mapped to an IP address which is not reserved for
+	// the current project.
+	ScanConfigError_CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS ScanConfigError_Code = 13
+	// The Custom Login URL has a non-routable IP address.
+	ScanConfigError_CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS ScanConfigError_Code = 14
+	// The Custom Login URL has an IP address which is not reserved for the
+	// current project.
+	ScanConfigError_CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS ScanConfigError_Code = 15
+	// Another scan with the same name (case-sensitive) already exists.
+	ScanConfigError_DUPLICATE_SCAN_NAME ScanConfigError_Code = 16
+	// A field is set to an invalid value.
+	ScanConfigError_INVALID_FIELD_VALUE ScanConfigError_Code = 18
+	// There was an error trying to authenticate to the scan target.
+	ScanConfigError_FAILED_TO_AUTHENTICATE_TO_TARGET ScanConfigError_Code = 19
+	// Finding type value is not specified in the list findings request.
+	ScanConfigError_FINDING_TYPE_UNSPECIFIED ScanConfigError_Code = 20
+	// Scan targets Compute Engine, yet current project was not whitelisted for
+	// Google Compute Engine Scanning Alpha access.
+	ScanConfigError_FORBIDDEN_TO_SCAN_COMPUTE ScanConfigError_Code = 21
+	// User tries to update managed scan
+	ScanConfigError_FORBIDDEN_UPDATE_TO_MANAGED_SCAN ScanConfigError_Code = 43
+	// The supplied filter is malformed. For example, it can not be parsed, does
+	// not have a filter type in expression, or the same filter type appears
+	// more than once.
+	ScanConfigError_MALFORMED_FILTER ScanConfigError_Code = 22
+	// The supplied resource name is malformed (can not be parsed).
+	ScanConfigError_MALFORMED_RESOURCE_NAME ScanConfigError_Code = 23
+	// The current project is not in an active state.
+	ScanConfigError_PROJECT_INACTIVE ScanConfigError_Code = 24
+	// A required field is not set.
+	ScanConfigError_REQUIRED_FIELD ScanConfigError_Code = 25
+	// Project id, scanconfig id, scanrun id, or finding id are not consistent
+	// with each other in resource name.
+	ScanConfigError_RESOURCE_NAME_INCONSISTENT ScanConfigError_Code = 26
+	// The scan being requested to start is already running.
+	ScanConfigError_SCAN_ALREADY_RUNNING ScanConfigError_Code = 27
+	// The scan that was requested to be stopped is not running.
+	ScanConfigError_SCAN_NOT_RUNNING ScanConfigError_Code = 28
+	// One of the seed URLs does not belong to the current project.
+	ScanConfigError_SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT ScanConfigError_Code = 29
+	// One of the seed URLs is malformed (can not be parsed).
+	ScanConfigError_SEED_URL_MALFORMED ScanConfigError_Code = 30
+	// One of the seed URLs is mapped to a non-routable IP address in DNS.
+	ScanConfigError_SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS ScanConfigError_Code = 31
+	// One of the seed URLs is mapped to an IP address which is not reserved
+	// for the current project.
+	ScanConfigError_SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS ScanConfigError_Code = 32
+	// One of the seed URLs has on-routable IP address.
+	ScanConfigError_SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS ScanConfigError_Code = 33
+	// One of the seed URLs has an IP address that is not reserved
+	// for the current project.
+	ScanConfigError_SEED_URL_HAS_UNRESERVED_IP_ADDRESS ScanConfigError_Code = 35
+	// The Web Security Scanner service account is not configured under the
+	// project.
+	ScanConfigError_SERVICE_ACCOUNT_NOT_CONFIGURED ScanConfigError_Code = 36
+	// A project has reached the maximum number of scans.
+	ScanConfigError_TOO_MANY_SCANS ScanConfigError_Code = 37
+	// Resolving the details of the current project fails.
+	ScanConfigError_UNABLE_TO_RESOLVE_PROJECT_INFO ScanConfigError_Code = 38
+	// One or more blacklist patterns were in the wrong format.
+	ScanConfigError_UNSUPPORTED_BLACKLIST_PATTERN_FORMAT ScanConfigError_Code = 39
+	// The supplied filter is not supported.
+	ScanConfigError_UNSUPPORTED_FILTER ScanConfigError_Code = 40
+	// The supplied finding type is not supported. For example, we do not
+	// provide findings of the given finding type.
+	ScanConfigError_UNSUPPORTED_FINDING_TYPE ScanConfigError_Code = 41
+	// The URL scheme of one or more of the supplied URLs is not supported.
+	ScanConfigError_UNSUPPORTED_URL_SCHEME ScanConfigError_Code = 42
+)
+
+var ScanConfigError_Code_name = map[int32]string{
+	0: "CODE_UNSPECIFIED",
+	// Duplicate value: 0: "OK",
+	1:  "INTERNAL_ERROR",
+	2:  "APPENGINE_API_BACKEND_ERROR",
+	3:  "APPENGINE_API_NOT_ACCESSIBLE",
+	4:  "APPENGINE_DEFAULT_HOST_MISSING",
+	6:  "CANNOT_USE_GOOGLE_COM_ACCOUNT",
+	7:  "CANNOT_USE_OWNER_ACCOUNT",
+	8:  "COMPUTE_API_BACKEND_ERROR",
+	9:  "COMPUTE_API_NOT_ACCESSIBLE",
+	10: "CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT",
+	11: "CUSTOM_LOGIN_URL_MALFORMED",
+	12: "CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS",
+	13: "CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS",
+	14: "CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS",
+	15: "CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS",
+	16: "DUPLICATE_SCAN_NAME",
+	18: "INVALID_FIELD_VALUE",
+	19: "FAILED_TO_AUTHENTICATE_TO_TARGET",
+	20: "FINDING_TYPE_UNSPECIFIED",
+	21: "FORBIDDEN_TO_SCAN_COMPUTE",
+	43: "FORBIDDEN_UPDATE_TO_MANAGED_SCAN",
+	22: "MALFORMED_FILTER",
+	23: "MALFORMED_RESOURCE_NAME",
+	24: "PROJECT_INACTIVE",
+	25: "REQUIRED_FIELD",
+	26: "RESOURCE_NAME_INCONSISTENT",
+	27: "SCAN_ALREADY_RUNNING",
+	28: "SCAN_NOT_RUNNING",
+	29: "SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT",
+	30: "SEED_URL_MALFORMED",
+	31: "SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS",
+	32: "SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS",
+	33: "SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS",
+	35: "SEED_URL_HAS_UNRESERVED_IP_ADDRESS",
+	36: "SERVICE_ACCOUNT_NOT_CONFIGURED",
+	37: "TOO_MANY_SCANS",
+	38: "UNABLE_TO_RESOLVE_PROJECT_INFO",
+	39: "UNSUPPORTED_BLACKLIST_PATTERN_FORMAT",
+	40: "UNSUPPORTED_FILTER",
+	41: "UNSUPPORTED_FINDING_TYPE",
+	42: "UNSUPPORTED_URL_SCHEME",
+}
+
+var ScanConfigError_Code_value = map[string]int32{
+	"CODE_UNSPECIFIED":                                    0,
+	"OK":                                                  0,
+	"INTERNAL_ERROR":                                      1,
+	"APPENGINE_API_BACKEND_ERROR":                         2,
+	"APPENGINE_API_NOT_ACCESSIBLE":                        3,
+	"APPENGINE_DEFAULT_HOST_MISSING":                      4,
+	"CANNOT_USE_GOOGLE_COM_ACCOUNT":                       6,
+	"CANNOT_USE_OWNER_ACCOUNT":                            7,
+	"COMPUTE_API_BACKEND_ERROR":                           8,
+	"COMPUTE_API_NOT_ACCESSIBLE":                          9,
+	"CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT": 10,
+	"CUSTOM_LOGIN_URL_MALFORMED":                          11,
+	"CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS":     12,
+	"CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS":       13,
+	"CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS":        14,
+	"CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS":          15,
+	"DUPLICATE_SCAN_NAME":                                 16,
+	"INVALID_FIELD_VALUE":                                 18,
+	"FAILED_TO_AUTHENTICATE_TO_TARGET":                    19,
+	"FINDING_TYPE_UNSPECIFIED":                            20,
+	"FORBIDDEN_TO_SCAN_COMPUTE":                           21,
+	"FORBIDDEN_UPDATE_TO_MANAGED_SCAN":                    43,
+	"MALFORMED_FILTER":                                    22,
+	"MALFORMED_RESOURCE_NAME":                             23,
+	"PROJECT_INACTIVE":                                    24,
+	"REQUIRED_FIELD":                                      25,
+	"RESOURCE_NAME_INCONSISTENT":                          26,
+	"SCAN_ALREADY_RUNNING":                                27,
+	"SCAN_NOT_RUNNING":                                    28,
+	"SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT":         29,
+	"SEED_URL_MALFORMED":                                  30,
+	"SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS":             31,
+	"SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS":               32,
+	"SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS":                33,
+	"SEED_URL_HAS_UNRESERVED_IP_ADDRESS":                  35,
+	"SERVICE_ACCOUNT_NOT_CONFIGURED":                      36,
+	"TOO_MANY_SCANS":                                      37,
+	"UNABLE_TO_RESOLVE_PROJECT_INFO":                      38,
+	"UNSUPPORTED_BLACKLIST_PATTERN_FORMAT":                39,
+	"UNSUPPORTED_FILTER":                                  40,
+	"UNSUPPORTED_FINDING_TYPE":                            41,
+	"UNSUPPORTED_URL_SCHEME":                              42,
+}
+
+func (x ScanConfigError_Code) String() string {
+	return proto.EnumName(ScanConfigError_Code_name, int32(x))
+}
+
+func (ScanConfigError_Code) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_8e85894f99e5c61b, []int{0, 0}
+}
+
+// Defines a custom error message used by CreateScanConfig and UpdateScanConfig
+// APIs when scan configuration validation fails. It is also reported as part of
+// a ScanRunErrorTrace message if scan validation fails due to a scan
+// configuration error.
+type ScanConfigError struct {
+	// Output only. Indicates the reason code for a configuration failure.
+	Code ScanConfigError_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.websecurityscanner.v1.ScanConfigError_Code" json:"code,omitempty"`
+	// Output only. Indicates the full name of the ScanConfig field that triggers this error,
+	// for example "scan_config.max_qps". This field is provided for
+	// troubleshooting purposes only and its actual value can change in the
+	// future.
+	FieldName            string   `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ScanConfigError) Reset()         { *m = ScanConfigError{} }
+func (m *ScanConfigError) String() string { return proto.CompactTextString(m) }
+func (*ScanConfigError) ProtoMessage()    {}
+func (*ScanConfigError) Descriptor() ([]byte, []int) {
+	return fileDescriptor_8e85894f99e5c61b, []int{0}
+}
+
+func (m *ScanConfigError) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanConfigError.Unmarshal(m, b)
+}
+func (m *ScanConfigError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanConfigError.Marshal(b, m, deterministic)
+}
+func (m *ScanConfigError) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanConfigError.Merge(m, src)
+}
+func (m *ScanConfigError) XXX_Size() int {
+	return xxx_messageInfo_ScanConfigError.Size(m)
+}
+func (m *ScanConfigError) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanConfigError.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanConfigError proto.InternalMessageInfo
+
+func (m *ScanConfigError) GetCode() ScanConfigError_Code {
+	if m != nil {
+		return m.Code
+	}
+	return ScanConfigError_CODE_UNSPECIFIED
+}
+
+func (m *ScanConfigError) GetFieldName() string {
+	if m != nil {
+		return m.FieldName
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanConfigError_Code", ScanConfigError_Code_name, ScanConfigError_Code_value)
+	proto.RegisterType((*ScanConfigError)(nil), "google.cloud.websecurityscanner.v1.ScanConfigError")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/scan_config_error.proto", fileDescriptor_8e85894f99e5c61b)
+}
+
+var fileDescriptor_8e85894f99e5c61b = []byte{
+	// 874 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0x5b, 0x73, 0x1b, 0x35,
+	0x14, 0xc7, 0xeb, 0x90, 0x09, 0x44, 0x85, 0x54, 0xa3, 0x86, 0xc4, 0xcd, 0xad, 0xae, 0x49, 0xd3,
+	0xb4, 0x01, 0x9b, 0x90, 0x07, 0x18, 0x78, 0x92, 0xa5, 0xb3, 0x8e, 0x88, 0x56, 0x5a, 0x74, 0x31,
+	0x13, 0x5e, 0x34, 0xae, 0xb3, 0xf5, 0x64, 0x26, 0xf1, 0x76, 0x9c, 0xb6, 0x0c, 0x5f, 0x84, 0xef,
+	0x0a, 0x4f, 0x8c, 0xd6, 0xc6, 0x97, 0xc4, 0x93, 0xf6, 0x6d, 0xe7, 0x9c, 0xff, 0xef, 0x48, 0x3a,
+	0xe7, 0xbf, 0x12, 0xfa, 0xb9, 0x5f, 0x14, 0xfd, 0xab, 0xbc, 0xd9, 0xbb, 0x2a, 0xde, 0x5f, 0x34,
+	0xff, 0xcc, 0x5f, 0xdf, 0xe4, 0xbd, 0xf7, 0xc3, 0xcb, 0x77, 0x7f, 0xdd, 0xf4, 0xba, 0x83, 0x41,
+	0x3e, 0x6c, 0x7e, 0x38, 0x6e, 0xc6, 0xcf, 0xd0, 0x2b, 0x06, 0x6f, 0x2e, 0xfb, 0x21, 0x1f, 0x0e,
+	0x8b, 0x61, 0xe3, 0xed, 0xb0, 0x78, 0x57, 0x90, 0xfa, 0x88, 0x6d, 0x94, 0x6c, 0xe3, 0x2e, 0xdb,
+	0xf8, 0x70, 0x5c, 0xff, 0xf7, 0x21, 0x7a, 0x64, 0x7b, 0xdd, 0x01, 0x2b, 0x71, 0x88, 0x34, 0x91,
+	0x68, 0xb9, 0x57, 0x5c, 0xe4, 0xd5, 0x4a, 0xad, 0x72, 0xb8, 0xf6, 0xc3, 0x4f, 0x8d, 0x8f, 0x97,
+	0x69, 0xdc, 0x2a, 0xd1, 0x60, 0xc5, 0x45, 0x6e, 0xca, 0x2a, 0x64, 0x17, 0xa1, 0x37, 0x97, 0xf9,
+	0xd5, 0x45, 0x18, 0x74, 0xaf, 0xf3, 0xea, 0x52, 0xad, 0x72, 0xb8, 0x6a, 0x56, 0xcb, 0x88, 0xea,
+	0x5e, 0xe7, 0xf5, 0x7f, 0x10, 0x5a, 0x8e, 0x6a, 0xb2, 0x8e, 0x30, 0xd3, 0x1c, 0x82, 0x57, 0x36,
+	0x03, 0x26, 0x12, 0x01, 0x1c, 0x3f, 0x20, 0x2b, 0x68, 0x49, 0x9f, 0xe1, 0x07, 0x84, 0xa0, 0x35,
+	0xa1, 0x1c, 0x18, 0x45, 0x65, 0x00, 0x63, 0xb4, 0xc1, 0x15, 0xf2, 0x14, 0x6d, 0xd3, 0x2c, 0x03,
+	0xd5, 0x16, 0x0a, 0x02, 0xcd, 0x44, 0x68, 0x51, 0x76, 0x06, 0x8a, 0x8f, 0x05, 0x4b, 0xa4, 0x86,
+	0x76, 0xe6, 0x05, 0x4a, 0xbb, 0x40, 0x19, 0x03, 0x6b, 0x45, 0x4b, 0x02, 0xfe, 0x8c, 0xd4, 0xd1,
+	0xde, 0x54, 0xc1, 0x21, 0xa1, 0x5e, 0xba, 0x70, 0xaa, 0xad, 0x0b, 0xa9, 0xb0, 0x56, 0xa8, 0x36,
+	0x5e, 0x26, 0xcf, 0xd0, 0x2e, 0xa3, 0x2a, 0xa2, 0xde, 0x42, 0x68, 0x6b, 0xdd, 0x96, 0x10, 0x98,
+	0x4e, 0x63, 0x25, 0xed, 0x95, 0xc3, 0x2b, 0x64, 0x07, 0x55, 0x67, 0x24, 0xfa, 0x77, 0x05, 0x66,
+	0x92, 0xfd, 0x9c, 0xec, 0xa2, 0x27, 0x4c, 0xa7, 0x99, 0x77, 0x8b, 0x76, 0xf9, 0x05, 0xd9, 0x43,
+	0x5b, 0xb3, 0xe9, 0x5b, 0x7b, 0x5c, 0x25, 0x3f, 0xa2, 0x13, 0xe6, 0xad, 0xd3, 0x69, 0x90, 0xba,
+	0x2d, 0x54, 0xf0, 0x46, 0x06, 0xae, 0xc1, 0x96, 0xca, 0x16, 0x48, 0xad, 0xda, 0xc1, 0xe9, 0xc0,
+	0xbc, 0x31, 0xa0, 0x5c, 0xc8, 0x8c, 0xfe, 0x15, 0x98, 0xc3, 0xa8, 0x2c, 0x7c, 0x1b, 0x4c, 0xa9,
+	0x4c, 0xb4, 0x49, 0x81, 0xe3, 0x87, 0xe4, 0x04, 0x35, 0x17, 0xe4, 0xb3, 0x0c, 0x78, 0xac, 0xa7,
+	0xb4, 0x0a, 0x46, 0x7b, 0x47, 0x5b, 0x12, 0x02, 0xe5, 0xdc, 0x80, 0xb5, 0xf8, 0x4b, 0x72, 0x8c,
+	0xbe, 0xbb, 0x07, 0xf2, 0xca, 0x80, 0x05, 0xd3, 0x01, 0x3e, 0x41, 0xbe, 0x22, 0xdf, 0xa3, 0x6f,
+	0xef, 0x20, 0xa7, 0xd4, 0xce, 0xaf, 0x20, 0xb2, 0x09, 0xb1, 0x46, 0x1a, 0xe8, 0xd5, 0x42, 0x62,
+	0xa6, 0xfc, 0x8c, 0xfe, 0x11, 0xd9, 0x44, 0x8f, 0xb9, 0xcf, 0xa4, 0x60, 0xd4, 0x41, 0xb0, 0x8c,
+	0xaa, 0xa0, 0x68, 0x0a, 0x18, 0xc7, 0x84, 0x50, 0x1d, 0x2a, 0x05, 0x0f, 0x89, 0x00, 0xc9, 0x43,
+	0x87, 0x4a, 0x0f, 0x98, 0x90, 0x7d, 0x54, 0x4b, 0xa8, 0x90, 0xa3, 0x5d, 0x53, 0xef, 0x4e, 0x41,
+	0xb9, 0x11, 0xee, 0x74, 0x70, 0xd4, 0xb4, 0xc1, 0xe1, 0xc7, 0x71, 0xae, 0x89, 0x50, 0x5c, 0xc4,
+	0x0e, 0x9f, 0x67, 0xf3, 0xde, 0x5c, 0x8f, 0x73, 0x4d, 0xb4, 0x69, 0x09, 0xce, 0x41, 0x45, 0xac,
+	0x5c, 0x78, 0x3c, 0x4a, 0xfc, 0x75, 0xb9, 0xc4, 0x24, 0xed, 0x33, 0x3e, 0x2e, 0x9e, 0x52, 0x45,
+	0xdb, 0xc0, 0x4b, 0x35, 0x3e, 0x8a, 0xb6, 0x9f, 0xcc, 0x24, 0x24, 0x42, 0x3a, 0x30, 0x78, 0x83,
+	0x6c, 0xa3, 0xcd, 0x69, 0xd4, 0x80, 0xd5, 0xde, 0x30, 0x18, 0x1d, 0x6a, 0x33, 0x22, 0xe3, 0x21,
+	0x07, 0xa1, 0x28, 0x73, 0xa2, 0x03, 0xb8, 0x1a, 0xff, 0x10, 0x03, 0xbf, 0x79, 0x61, 0x60, 0x7c,
+	0x56, 0xfc, 0x24, 0x3a, 0x60, 0x0e, 0x0e, 0x42, 0x31, 0xad, 0xac, 0xb0, 0x0e, 0x94, 0xc3, 0x5b,
+	0xa4, 0x8a, 0xd6, 0xcb, 0x4d, 0x53, 0x69, 0x80, 0xf2, 0xf3, 0x60, 0xbc, 0x52, 0xd1, 0xf4, 0xdb,
+	0x71, 0x8d, 0x51, 0x1f, 0xb5, 0x9b, 0x44, 0x77, 0x48, 0x13, 0x1d, 0x59, 0x00, 0xfe, 0xa9, 0x16,
+	0xdc, 0x25, 0x1b, 0x88, 0x4c, 0x80, 0xa9, 0xf5, 0xf6, 0xc8, 0x11, 0x7a, 0x31, 0x13, 0xbf, 0xd7,
+	0x72, 0x4f, 0xc9, 0x4b, 0xf4, 0x7c, 0x81, 0x78, 0x81, 0xd5, 0x6a, 0xe4, 0x10, 0xed, 0x4f, 0xa4,
+	0xf7, 0x59, 0xec, 0x19, 0x39, 0x40, 0xf5, 0x39, 0xe5, 0x62, 0x6b, 0x7d, 0x13, 0x6f, 0x88, 0x18,
+	0x16, 0x0c, 0xfe, 0xff, 0xa3, 0xcb, 0x43, 0x33, 0xad, 0x12, 0xd1, 0xf6, 0x06, 0x38, 0xde, 0x8f,
+	0xad, 0x77, 0xba, 0x9c, 0xec, 0x79, 0x39, 0x56, 0x8b, 0x9f, 0x47, 0xce, 0xab, 0x72, 0x59, 0xa7,
+	0xcb, 0x09, 0xca, 0x0e, 0x84, 0xe9, 0xd8, 0x12, 0x8d, 0x0f, 0xe2, 0x6e, 0xbd, 0xb2, 0x3e, 0xcb,
+	0xb4, 0x71, 0xc0, 0x43, 0x4b, 0x52, 0x76, 0x26, 0x85, 0x75, 0x21, 0xa3, 0x2e, 0xde, 0x75, 0x21,
+	0xf6, 0x8b, 0x3a, 0xfc, 0x22, 0xf6, 0x71, 0x56, 0x39, 0xf6, 0xc9, 0x61, 0x34, 0xe8, 0x7c, 0x7c,
+	0x6a, 0x56, 0xfc, 0x92, 0x6c, 0xa1, 0x8d, 0xd9, 0x6c, 0x3c, 0xaa, 0x65, 0xa7, 0x90, 0x02, 0x7e,
+	0xb5, 0xb5, 0x84, 0x2b, 0xad, 0xbf, 0x2b, 0xe8, 0xa0, 0x57, 0x5c, 0x7f, 0xc2, 0x05, 0xdf, 0x5a,
+	0xbf, 0x75, 0xc3, 0x67, 0xf1, 0x85, 0xc9, 0x2a, 0x7f, 0xb8, 0x31, 0xdb, 0x2f, 0xae, 0xba, 0x83,
+	0x7e, 0xa3, 0x18, 0xf6, 0x9b, 0xfd, 0x7c, 0x50, 0xbe, 0x3f, 0xcd, 0x51, 0xaa, 0xfb, 0xf6, 0xf2,
+	0xe6, 0xbe, 0xe7, 0xeb, 0x97, 0xbb, 0xd1, 0xd7, 0x2b, 0x65, 0x81, 0x93, 0xff, 0x02, 0x00, 0x00,
+	0xff, 0xff, 0xe8, 0x3e, 0x84, 0x93, 0xfe, 0x06, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/scan_run.pb.go b/googleapis/cloud/websecurityscanner/v1/scan_run.pb.go
new file mode 100644
index 0000000..acc1e36
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/scan_run.pb.go
@@ -0,0 +1,293 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/scan_run.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Types of ScanRun execution state.
+type ScanRun_ExecutionState int32
+
+const (
+	// Represents an invalid state caused by internal server error. This value
+	// should never be returned.
+	ScanRun_EXECUTION_STATE_UNSPECIFIED ScanRun_ExecutionState = 0
+	// The scan is waiting in the queue.
+	ScanRun_QUEUED ScanRun_ExecutionState = 1
+	// The scan is in progress.
+	ScanRun_SCANNING ScanRun_ExecutionState = 2
+	// The scan is either finished or stopped by user.
+	ScanRun_FINISHED ScanRun_ExecutionState = 3
+)
+
+var ScanRun_ExecutionState_name = map[int32]string{
+	0: "EXECUTION_STATE_UNSPECIFIED",
+	1: "QUEUED",
+	2: "SCANNING",
+	3: "FINISHED",
+}
+
+var ScanRun_ExecutionState_value = map[string]int32{
+	"EXECUTION_STATE_UNSPECIFIED": 0,
+	"QUEUED":                      1,
+	"SCANNING":                    2,
+	"FINISHED":                    3,
+}
+
+func (x ScanRun_ExecutionState) String() string {
+	return proto.EnumName(ScanRun_ExecutionState_name, int32(x))
+}
+
+func (ScanRun_ExecutionState) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_35dcc993b90ff5cd, []int{0, 0}
+}
+
+// Types of ScanRun result state.
+type ScanRun_ResultState int32
+
+const (
+	// Default value. This value is returned when the ScanRun is not yet
+	// finished.
+	ScanRun_RESULT_STATE_UNSPECIFIED ScanRun_ResultState = 0
+	// The scan finished without errors.
+	ScanRun_SUCCESS ScanRun_ResultState = 1
+	// The scan finished with errors.
+	ScanRun_ERROR ScanRun_ResultState = 2
+	// The scan was terminated by user.
+	ScanRun_KILLED ScanRun_ResultState = 3
+)
+
+var ScanRun_ResultState_name = map[int32]string{
+	0: "RESULT_STATE_UNSPECIFIED",
+	1: "SUCCESS",
+	2: "ERROR",
+	3: "KILLED",
+}
+
+var ScanRun_ResultState_value = map[string]int32{
+	"RESULT_STATE_UNSPECIFIED": 0,
+	"SUCCESS":                  1,
+	"ERROR":                    2,
+	"KILLED":                   3,
+}
+
+func (x ScanRun_ResultState) String() string {
+	return proto.EnumName(ScanRun_ResultState_name, int32(x))
+}
+
+func (ScanRun_ResultState) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_35dcc993b90ff5cd, []int{0, 1}
+}
+
+// A ScanRun is a output-only resource representing an actual run of the scan.
+// Next id: 12
+type ScanRun struct {
+	// Output only. The resource name of the ScanRun. The name follows the format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	// The ScanRun IDs are generated by the system.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The execution state of the ScanRun.
+	ExecutionState ScanRun_ExecutionState `protobuf:"varint,2,opt,name=execution_state,json=executionState,proto3,enum=google.cloud.websecurityscanner.v1.ScanRun_ExecutionState" json:"execution_state,omitempty"`
+	// Output only. The result state of the ScanRun. This field is only available after the
+	// execution state reaches "FINISHED".
+	ResultState ScanRun_ResultState `protobuf:"varint,3,opt,name=result_state,json=resultState,proto3,enum=google.cloud.websecurityscanner.v1.ScanRun_ResultState" json:"result_state,omitempty"`
+	// Output only. The time at which the ScanRun started.
+	StartTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	// Output only. The time at which the ScanRun reached termination state - that the ScanRun
+	// is either finished or stopped by user.
+	EndTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// Output only. The number of URLs crawled during this ScanRun. If the scan is in progress,
+	// the value represents the number of URLs crawled up to now.
+	UrlsCrawledCount int64 `protobuf:"varint,6,opt,name=urls_crawled_count,json=urlsCrawledCount,proto3" json:"urls_crawled_count,omitempty"`
+	// Output only. The number of URLs tested during this ScanRun. If the scan is in progress,
+	// the value represents the number of URLs tested up to now. The number of
+	// URLs tested is usually larger than the number URLS crawled because
+	// typically a crawled URL is tested with multiple test payloads.
+	UrlsTestedCount int64 `protobuf:"varint,7,opt,name=urls_tested_count,json=urlsTestedCount,proto3" json:"urls_tested_count,omitempty"`
+	// Output only. Whether the scan run has found any vulnerabilities.
+	HasVulnerabilities bool `protobuf:"varint,8,opt,name=has_vulnerabilities,json=hasVulnerabilities,proto3" json:"has_vulnerabilities,omitempty"`
+	// Output only. The percentage of total completion ranging from 0 to 100.
+	// If the scan is in queue, the value is 0.
+	// If the scan is running, the value ranges from 0 to 100.
+	// If the scan is finished, the value is 100.
+	ProgressPercent int32 `protobuf:"varint,9,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
+	// Output only. If result_state is an ERROR, this field provides the primary reason for
+	// scan's termination and more details, if such are available.
+	ErrorTrace *ScanRunErrorTrace `protobuf:"bytes,10,opt,name=error_trace,json=errorTrace,proto3" json:"error_trace,omitempty"`
+	// Output only. A list of warnings, if such are encountered during this scan run.
+	WarningTraces        []*ScanRunWarningTrace `protobuf:"bytes,11,rep,name=warning_traces,json=warningTraces,proto3" json:"warning_traces,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
+	XXX_unrecognized     []byte                 `json:"-"`
+	XXX_sizecache        int32                  `json:"-"`
+}
+
+func (m *ScanRun) Reset()         { *m = ScanRun{} }
+func (m *ScanRun) String() string { return proto.CompactTextString(m) }
+func (*ScanRun) ProtoMessage()    {}
+func (*ScanRun) Descriptor() ([]byte, []int) {
+	return fileDescriptor_35dcc993b90ff5cd, []int{0}
+}
+
+func (m *ScanRun) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanRun.Unmarshal(m, b)
+}
+func (m *ScanRun) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanRun.Marshal(b, m, deterministic)
+}
+func (m *ScanRun) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanRun.Merge(m, src)
+}
+func (m *ScanRun) XXX_Size() int {
+	return xxx_messageInfo_ScanRun.Size(m)
+}
+func (m *ScanRun) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanRun.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanRun proto.InternalMessageInfo
+
+func (m *ScanRun) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ScanRun) GetExecutionState() ScanRun_ExecutionState {
+	if m != nil {
+		return m.ExecutionState
+	}
+	return ScanRun_EXECUTION_STATE_UNSPECIFIED
+}
+
+func (m *ScanRun) GetResultState() ScanRun_ResultState {
+	if m != nil {
+		return m.ResultState
+	}
+	return ScanRun_RESULT_STATE_UNSPECIFIED
+}
+
+func (m *ScanRun) GetStartTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *ScanRun) GetEndTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *ScanRun) GetUrlsCrawledCount() int64 {
+	if m != nil {
+		return m.UrlsCrawledCount
+	}
+	return 0
+}
+
+func (m *ScanRun) GetUrlsTestedCount() int64 {
+	if m != nil {
+		return m.UrlsTestedCount
+	}
+	return 0
+}
+
+func (m *ScanRun) GetHasVulnerabilities() bool {
+	if m != nil {
+		return m.HasVulnerabilities
+	}
+	return false
+}
+
+func (m *ScanRun) GetProgressPercent() int32 {
+	if m != nil {
+		return m.ProgressPercent
+	}
+	return 0
+}
+
+func (m *ScanRun) GetErrorTrace() *ScanRunErrorTrace {
+	if m != nil {
+		return m.ErrorTrace
+	}
+	return nil
+}
+
+func (m *ScanRun) GetWarningTraces() []*ScanRunWarningTrace {
+	if m != nil {
+		return m.WarningTraces
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanRun_ExecutionState", ScanRun_ExecutionState_name, ScanRun_ExecutionState_value)
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanRun_ResultState", ScanRun_ResultState_name, ScanRun_ResultState_value)
+	proto.RegisterType((*ScanRun)(nil), "google.cloud.websecurityscanner.v1.ScanRun")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/scan_run.proto", fileDescriptor_35dcc993b90ff5cd)
+}
+
+var fileDescriptor_35dcc993b90ff5cd = []byte{
+	// 600 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x5d, 0x6f, 0xd3, 0x3c,
+	0x14, 0xc7, 0x9f, 0xac, 0x5b, 0x5f, 0x4e, 0xf6, 0x74, 0xc1, 0xdc, 0x44, 0x03, 0x69, 0x51, 0x2f,
+	0x50, 0x40, 0x28, 0xd1, 0x86, 0x26, 0x04, 0x08, 0xa1, 0x2d, 0xcb, 0x20, 0x62, 0xea, 0x4a, 0x92,
+	0x0e, 0xd8, 0x05, 0x91, 0x9b, 0x9a, 0x2c, 0x52, 0xea, 0x54, 0xb6, 0xb3, 0xc2, 0x97, 0xe0, 0x83,
+	0xf2, 0x29, 0x90, 0x9d, 0x76, 0xb4, 0x1a, 0x62, 0xf4, 0xee, 0xbc, 0xfd, 0x7f, 0x47, 0x27, 0xfe,
+	0x2b, 0xb0, 0x9f, 0x95, 0x65, 0x56, 0x10, 0x37, 0x2d, 0xca, 0x6a, 0xec, 0xce, 0xc8, 0x88, 0x93,
+	0xb4, 0x62, 0xb9, 0xf8, 0xce, 0x53, 0x4c, 0x29, 0x61, 0xee, 0xf5, 0xbe, 0x2b, 0xc3, 0x84, 0x55,
+	0xd4, 0x99, 0xb2, 0x52, 0x94, 0xa8, 0x57, 0x4b, 0x1c, 0x25, 0x71, 0x6e, 0x4b, 0x9c, 0xeb, 0xfd,
+	0xdd, 0xd7, 0x6b, 0x60, 0x13, 0xc2, 0x58, 0xc9, 0x12, 0xc1, 0x70, 0x4a, 0xea, 0x15, 0xbb, 0x6f,
+	0xd6, 0x91, 0xcf, 0x30, 0xa3, 0x39, 0xcd, 0x56, 0x00, 0x7b, 0x73, 0x80, 0xca, 0x46, 0xd5, 0x57,
+	0x57, 0xe4, 0x13, 0xc2, 0x05, 0x9e, 0x4c, 0xeb, 0x81, 0xde, 0xcf, 0x26, 0xb4, 0xa2, 0x14, 0xd3,
+	0xb0, 0xa2, 0x08, 0xc1, 0x26, 0xc5, 0x13, 0x62, 0x6a, 0x96, 0x66, 0x77, 0x42, 0x15, 0xa3, 0x14,
+	0x76, 0xc8, 0x37, 0x92, 0x56, 0x22, 0x2f, 0x69, 0xc2, 0x05, 0x16, 0xc4, 0xdc, 0xb0, 0x34, 0xbb,
+	0x7b, 0xf0, 0xd2, 0xb9, 0xfb, 0x7c, 0x67, 0x4e, 0x76, 0xfc, 0x05, 0x22, 0x92, 0x84, 0xb0, 0x4b,
+	0x56, 0x72, 0x74, 0x09, 0xdb, 0x8c, 0xf0, 0xaa, 0x10, 0xf3, 0x0d, 0x0d, 0xb5, 0xe1, 0xf9, 0x3a,
+	0x1b, 0x42, 0xa5, 0xaf, 0xf1, 0x3a, 0xfb, 0x9d, 0xa0, 0x17, 0x00, 0x5c, 0x60, 0x26, 0x12, 0x79,
+	0xb9, 0xb9, 0x69, 0x69, 0xb6, 0x7e, 0xb0, 0xbb, 0x20, 0x2f, 0x3e, 0x8b, 0x13, 0x2f, 0x3e, 0x4b,
+	0xd8, 0x51, 0xd3, 0x32, 0x47, 0x87, 0xd0, 0x26, 0x74, 0x5c, 0x0b, 0xb7, 0xee, 0x14, 0xb6, 0x08,
+	0x1d, 0x2b, 0xd9, 0x53, 0x40, 0x15, 0x2b, 0x78, 0x92, 0x32, 0x3c, 0x2b, 0xc8, 0x38, 0x49, 0xcb,
+	0x8a, 0x0a, 0xb3, 0x69, 0x69, 0x76, 0x23, 0x34, 0x64, 0xc7, 0xab, 0x1b, 0x9e, 0xac, 0xa3, 0x27,
+	0x70, 0x4f, 0x4d, 0x0b, 0xc2, 0xc5, 0xcd, 0x70, 0x4b, 0x0d, 0xef, 0xc8, 0x46, 0xac, 0xea, 0xf5,
+	0xac, 0x0b, 0xf7, 0xaf, 0x30, 0x4f, 0xae, 0xab, 0x82, 0x12, 0x86, 0x47, 0x79, 0x91, 0x8b, 0x9c,
+	0x70, 0xb3, 0x6d, 0x69, 0x76, 0x3b, 0x44, 0x57, 0x98, 0x5f, 0xac, 0x76, 0xd0, 0x63, 0x30, 0xa6,
+	0xac, 0xcc, 0x18, 0xe1, 0x3c, 0x99, 0x12, 0x96, 0x12, 0x2a, 0xcc, 0x8e, 0xa5, 0xd9, 0x5b, 0xe1,
+	0xce, 0xa2, 0x3e, 0xa8, 0xcb, 0xe8, 0x02, 0xf4, 0x25, 0xff, 0x99, 0xa0, 0xee, 0x3d, 0x5c, 0xe3,
+	0x09, 0x7c, 0xa9, 0x8e, 0xa5, 0x38, 0x04, 0x72, 0x13, 0xa3, 0x2f, 0xd0, 0x5d, 0x31, 0x26, 0x37,
+	0x75, 0xab, 0x61, 0xeb, 0x6b, 0xbd, 0xee, 0xc7, 0x1a, 0x50, 0xc3, 0xff, 0x9f, 0x2d, 0x65, 0xbc,
+	0xf7, 0x19, 0xba, 0xab, 0xee, 0x42, 0x7b, 0xf0, 0xc0, 0xff, 0xe4, 0x7b, 0xc3, 0x38, 0x38, 0xef,
+	0x27, 0x51, 0x7c, 0x14, 0xfb, 0xc9, 0xb0, 0x1f, 0x0d, 0x7c, 0x2f, 0x38, 0x0d, 0xfc, 0x13, 0xe3,
+	0x3f, 0x04, 0xd0, 0xfc, 0x30, 0xf4, 0x87, 0xfe, 0x89, 0xa1, 0xa1, 0x6d, 0x68, 0x47, 0xde, 0x51,
+	0xbf, 0x1f, 0xf4, 0xdf, 0x1a, 0x1b, 0x32, 0x3b, 0x0d, 0xfa, 0x41, 0xf4, 0xce, 0x3f, 0x31, 0x1a,
+	0xbd, 0x73, 0xd0, 0x97, 0x6c, 0x85, 0x1e, 0x82, 0x19, 0xfa, 0xd1, 0xf0, 0x2c, 0xfe, 0x23, 0x54,
+	0x87, 0x56, 0x34, 0xf4, 0x3c, 0x3f, 0x8a, 0x0c, 0x0d, 0x75, 0x60, 0xcb, 0x0f, 0xc3, 0xf3, 0xd0,
+	0xd8, 0x90, 0xcb, 0xde, 0x07, 0x67, 0x67, 0x12, 0x78, 0xfc, 0x43, 0x83, 0x47, 0x69, 0x39, 0xf9,
+	0x87, 0xcb, 0x8f, 0xb7, 0xe7, 0xa7, 0x0f, 0xa4, 0xd1, 0x06, 0xda, 0x65, 0x3c, 0xd7, 0x64, 0x65,
+	0x81, 0x69, 0xe6, 0x94, 0x2c, 0x73, 0x33, 0x42, 0x95, 0x0d, 0xdd, 0xba, 0x85, 0xa7, 0x39, 0xff,
+	0xdb, 0x8f, 0xe2, 0xd5, 0xed, 0xea, 0xa8, 0xa9, 0x00, 0xcf, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff,
+	0xa0, 0x91, 0xcc, 0x66, 0xfe, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/scan_run_error_trace.pb.go b/googleapis/cloud/websecurityscanner/v1/scan_run_error_trace.pb.go
new file mode 100644
index 0000000..f3e40bd
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/scan_run_error_trace.pb.go
@@ -0,0 +1,181 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/scan_run_error_trace.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Output only.
+// Defines an error reason code.
+// Next id: 7
+type ScanRunErrorTrace_Code int32
+
+const (
+	// Default value is never used.
+	ScanRunErrorTrace_CODE_UNSPECIFIED ScanRunErrorTrace_Code = 0
+	// Indicates that the scan run failed due to an internal server error.
+	ScanRunErrorTrace_INTERNAL_ERROR ScanRunErrorTrace_Code = 1
+	// Indicates a scan configuration error, usually due to outdated ScanConfig
+	// settings, such as starting_urls or the DNS configuration.
+	ScanRunErrorTrace_SCAN_CONFIG_ISSUE ScanRunErrorTrace_Code = 2
+	// Indicates an authentication error, usually due to outdated ScanConfig
+	// authentication settings.
+	ScanRunErrorTrace_AUTHENTICATION_CONFIG_ISSUE ScanRunErrorTrace_Code = 3
+	// Indicates a scan operation timeout, usually caused by a very large site.
+	ScanRunErrorTrace_TIMED_OUT_WHILE_SCANNING ScanRunErrorTrace_Code = 4
+	// Indicates that a scan encountered excessive redirects, either to
+	// authentication or some other page outside of the scan scope.
+	ScanRunErrorTrace_TOO_MANY_REDIRECTS ScanRunErrorTrace_Code = 5
+	// Indicates that a scan encountered numerous errors from the web site
+	// pages. When available, most_common_http_error_code field indicates the
+	// most common HTTP error code encountered during the scan.
+	ScanRunErrorTrace_TOO_MANY_HTTP_ERRORS ScanRunErrorTrace_Code = 6
+)
+
+var ScanRunErrorTrace_Code_name = map[int32]string{
+	0: "CODE_UNSPECIFIED",
+	1: "INTERNAL_ERROR",
+	2: "SCAN_CONFIG_ISSUE",
+	3: "AUTHENTICATION_CONFIG_ISSUE",
+	4: "TIMED_OUT_WHILE_SCANNING",
+	5: "TOO_MANY_REDIRECTS",
+	6: "TOO_MANY_HTTP_ERRORS",
+}
+
+var ScanRunErrorTrace_Code_value = map[string]int32{
+	"CODE_UNSPECIFIED":            0,
+	"INTERNAL_ERROR":              1,
+	"SCAN_CONFIG_ISSUE":           2,
+	"AUTHENTICATION_CONFIG_ISSUE": 3,
+	"TIMED_OUT_WHILE_SCANNING":    4,
+	"TOO_MANY_REDIRECTS":          5,
+	"TOO_MANY_HTTP_ERRORS":        6,
+}
+
+func (x ScanRunErrorTrace_Code) String() string {
+	return proto.EnumName(ScanRunErrorTrace_Code_name, int32(x))
+}
+
+func (ScanRunErrorTrace_Code) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_882cbefd62f3fea2, []int{0, 0}
+}
+
+// Output only.
+// Defines an error trace message for a ScanRun.
+type ScanRunErrorTrace struct {
+	// Output only. Indicates the error reason code.
+	Code ScanRunErrorTrace_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.websecurityscanner.v1.ScanRunErrorTrace_Code" json:"code,omitempty"`
+	// Output only. If the scan encounters SCAN_CONFIG_ISSUE error, this field has the error
+	// message encountered during scan configuration validation that is performed
+	// before each scan run.
+	ScanConfigError *ScanConfigError `protobuf:"bytes,2,opt,name=scan_config_error,json=scanConfigError,proto3" json:"scan_config_error,omitempty"`
+	// Output only. If the scan encounters TOO_MANY_HTTP_ERRORS, this field indicates the most
+	// common HTTP error code, if such is available. For example, if this code is
+	// 404, the scan has encountered too many NOT_FOUND responses.
+	MostCommonHttpErrorCode int32    `protobuf:"varint,3,opt,name=most_common_http_error_code,json=mostCommonHttpErrorCode,proto3" json:"most_common_http_error_code,omitempty"`
+	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
+	XXX_unrecognized        []byte   `json:"-"`
+	XXX_sizecache           int32    `json:"-"`
+}
+
+func (m *ScanRunErrorTrace) Reset()         { *m = ScanRunErrorTrace{} }
+func (m *ScanRunErrorTrace) String() string { return proto.CompactTextString(m) }
+func (*ScanRunErrorTrace) ProtoMessage()    {}
+func (*ScanRunErrorTrace) Descriptor() ([]byte, []int) {
+	return fileDescriptor_882cbefd62f3fea2, []int{0}
+}
+
+func (m *ScanRunErrorTrace) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanRunErrorTrace.Unmarshal(m, b)
+}
+func (m *ScanRunErrorTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanRunErrorTrace.Marshal(b, m, deterministic)
+}
+func (m *ScanRunErrorTrace) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanRunErrorTrace.Merge(m, src)
+}
+func (m *ScanRunErrorTrace) XXX_Size() int {
+	return xxx_messageInfo_ScanRunErrorTrace.Size(m)
+}
+func (m *ScanRunErrorTrace) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanRunErrorTrace.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanRunErrorTrace proto.InternalMessageInfo
+
+func (m *ScanRunErrorTrace) GetCode() ScanRunErrorTrace_Code {
+	if m != nil {
+		return m.Code
+	}
+	return ScanRunErrorTrace_CODE_UNSPECIFIED
+}
+
+func (m *ScanRunErrorTrace) GetScanConfigError() *ScanConfigError {
+	if m != nil {
+		return m.ScanConfigError
+	}
+	return nil
+}
+
+func (m *ScanRunErrorTrace) GetMostCommonHttpErrorCode() int32 {
+	if m != nil {
+		return m.MostCommonHttpErrorCode
+	}
+	return 0
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanRunErrorTrace_Code", ScanRunErrorTrace_Code_name, ScanRunErrorTrace_Code_value)
+	proto.RegisterType((*ScanRunErrorTrace)(nil), "google.cloud.websecurityscanner.v1.ScanRunErrorTrace")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/scan_run_error_trace.proto", fileDescriptor_882cbefd62f3fea2)
+}
+
+var fileDescriptor_882cbefd62f3fea2 = []byte{
+	// 426 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x41, 0x6f, 0xd3, 0x30,
+	0x14, 0xc7, 0xc9, 0xda, 0xed, 0x60, 0xa4, 0x91, 0x5a, 0x63, 0x54, 0x0c, 0x89, 0xaa, 0x07, 0xd4,
+	0x53, 0xa2, 0x6d, 0xb7, 0x01, 0x87, 0xcc, 0xf5, 0x56, 0x4b, 0x9b, 0x53, 0x39, 0xae, 0x10, 0x5c,
+	0xac, 0xcc, 0x35, 0xa1, 0x52, 0x6b, 0x57, 0x8e, 0x33, 0xc4, 0x37, 0xe1, 0xa3, 0x70, 0xe1, 0xbb,
+	0x21, 0x3b, 0x15, 0x12, 0x44, 0x82, 0xde, 0x9e, 0xfe, 0x79, 0xff, 0xdf, 0xfb, 0xe7, 0xf9, 0x81,
+	0xf7, 0x95, 0x31, 0xd5, 0x5a, 0xa5, 0x72, 0x6d, 0x9a, 0x65, 0xfa, 0x55, 0x3d, 0xd4, 0x4a, 0x36,
+	0x76, 0xe5, 0xbe, 0xd5, 0xb2, 0xd4, 0x5a, 0xd9, 0xf4, 0xf1, 0x3c, 0xf5, 0xa5, 0xb0, 0x8d, 0x16,
+	0xca, 0x5a, 0x63, 0x85, 0xb3, 0xa5, 0x54, 0xc9, 0xd6, 0x1a, 0x67, 0xe0, 0xb8, 0xb5, 0x27, 0xc1,
+	0x9e, 0x74, 0xed, 0xc9, 0xe3, 0xf9, 0xcb, 0xab, 0x7d, 0x47, 0x48, 0xa3, 0x3f, 0xaf, 0xaa, 0x76,
+	0x4a, 0xcb, 0x1f, 0xff, 0xec, 0x81, 0x41, 0x21, 0x4b, 0xcd, 0x1a, 0x8d, 0xbd, 0xcc, 0xfd, 0x6c,
+	0x48, 0x41, 0x5f, 0x9a, 0xa5, 0x1a, 0x46, 0xa3, 0x68, 0x72, 0x7c, 0x71, 0x95, 0xfc, 0x3f, 0x44,
+	0xd2, 0x81, 0x24, 0xc8, 0x2c, 0x15, 0x0b, 0x1c, 0x28, 0xc0, 0xa0, 0x13, 0x60, 0x78, 0x30, 0x8a,
+	0x26, 0x4f, 0x2f, 0x2e, 0xf7, 0x85, 0xa3, 0xe0, 0x0d, 0x7c, 0xf6, 0xac, 0xfe, 0x53, 0x80, 0xef,
+	0xc0, 0xd9, 0xc6, 0xd4, 0x4e, 0x48, 0xb3, 0xd9, 0x18, 0x2d, 0xbe, 0x38, 0xb7, 0xdd, 0x2d, 0x33,
+	0xfc, 0x47, 0x6f, 0x14, 0x4d, 0x0e, 0xd9, 0x0b, 0xdf, 0x82, 0x42, 0xc7, 0xcc, 0xb9, 0x6d, 0x70,
+	0xfa, 0x90, 0xe3, 0x1f, 0x11, 0xe8, 0xfb, 0x02, 0x9e, 0x80, 0x18, 0xe5, 0x53, 0x2c, 0x16, 0xb4,
+	0x98, 0x63, 0x44, 0x6e, 0x08, 0x9e, 0xc6, 0x4f, 0x20, 0x04, 0xc7, 0x84, 0x72, 0xcc, 0x68, 0x76,
+	0x27, 0x30, 0x63, 0x39, 0x8b, 0x23, 0xf8, 0x1c, 0x0c, 0x0a, 0x94, 0x51, 0x81, 0x72, 0x7a, 0x43,
+	0x6e, 0x05, 0x29, 0x8a, 0x05, 0x8e, 0x0f, 0xe0, 0x6b, 0x70, 0x96, 0x2d, 0xf8, 0x0c, 0x53, 0x4e,
+	0x50, 0xc6, 0x49, 0xfe, 0x57, 0x43, 0x0f, 0xbe, 0x02, 0x43, 0x4e, 0xee, 0xf1, 0x54, 0xe4, 0x0b,
+	0x2e, 0x3e, 0xcc, 0xc8, 0x1d, 0x16, 0x9e, 0x43, 0x09, 0xbd, 0x8d, 0xfb, 0xf0, 0x14, 0x40, 0x9e,
+	0xe7, 0xe2, 0x3e, 0xa3, 0x1f, 0x05, 0xc3, 0x53, 0xc2, 0x30, 0xe2, 0x45, 0x7c, 0x08, 0x87, 0xe0,
+	0xe4, 0xb7, 0x3e, 0xe3, 0x7c, 0xde, 0xc6, 0x28, 0xe2, 0xa3, 0xeb, 0xef, 0x11, 0x78, 0x23, 0xcd,
+	0x66, 0x8f, 0x25, 0x5e, 0x9f, 0x76, 0x9e, 0x68, 0xee, 0x4f, 0x60, 0x1e, 0x7d, 0xe2, 0x3b, 0x77,
+	0x65, 0xd6, 0xa5, 0xae, 0x12, 0x63, 0xab, 0xb4, 0x52, 0x3a, 0x1c, 0x48, 0xda, 0x7e, 0x2a, 0xb7,
+	0xab, 0xfa, 0x5f, 0xf7, 0xf5, 0xb6, 0xab, 0x3e, 0x1c, 0x05, 0xc0, 0xe5, 0xaf, 0x00, 0x00, 0x00,
+	0xff, 0xff, 0x03, 0x71, 0xb0, 0x26, 0x02, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/scan_run_warning_trace.pb.go b/googleapis/cloud/websecurityscanner/v1/scan_run_warning_trace.pb.go
new file mode 100644
index 0000000..9fb1ab2
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/scan_run_warning_trace.pb.go
@@ -0,0 +1,145 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/scan_run_warning_trace.proto
+
+package websecurityscanner
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Output only.
+// Defines a warning message code.
+// Next id: 6
+type ScanRunWarningTrace_Code int32
+
+const (
+	// Default value is never used.
+	ScanRunWarningTrace_CODE_UNSPECIFIED ScanRunWarningTrace_Code = 0
+	// Indicates that a scan discovered an unexpectedly low number of URLs. This
+	// is sometimes caused by complex navigation features or by using a single
+	// URL for numerous pages.
+	ScanRunWarningTrace_INSUFFICIENT_CRAWL_RESULTS ScanRunWarningTrace_Code = 1
+	// Indicates that a scan discovered too many URLs to test, or excessive
+	// redundant URLs.
+	ScanRunWarningTrace_TOO_MANY_CRAWL_RESULTS ScanRunWarningTrace_Code = 2
+	// Indicates that too many tests have been generated for the scan. Customer
+	// should try reducing the number of starting URLs, increasing the QPS rate,
+	// or narrowing down the scope of the scan using the excluded patterns.
+	ScanRunWarningTrace_TOO_MANY_FUZZ_TASKS ScanRunWarningTrace_Code = 3
+	// Indicates that a scan is blocked by IAP.
+	ScanRunWarningTrace_BLOCKED_BY_IAP ScanRunWarningTrace_Code = 4
+)
+
+var ScanRunWarningTrace_Code_name = map[int32]string{
+	0: "CODE_UNSPECIFIED",
+	1: "INSUFFICIENT_CRAWL_RESULTS",
+	2: "TOO_MANY_CRAWL_RESULTS",
+	3: "TOO_MANY_FUZZ_TASKS",
+	4: "BLOCKED_BY_IAP",
+}
+
+var ScanRunWarningTrace_Code_value = map[string]int32{
+	"CODE_UNSPECIFIED":           0,
+	"INSUFFICIENT_CRAWL_RESULTS": 1,
+	"TOO_MANY_CRAWL_RESULTS":     2,
+	"TOO_MANY_FUZZ_TASKS":        3,
+	"BLOCKED_BY_IAP":             4,
+}
+
+func (x ScanRunWarningTrace_Code) String() string {
+	return proto.EnumName(ScanRunWarningTrace_Code_name, int32(x))
+}
+
+func (ScanRunWarningTrace_Code) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_49d33550124a8683, []int{0, 0}
+}
+
+// Output only.
+// Defines a warning trace message for ScanRun. Warning traces provide customers
+// with useful information that helps make the scanning process more effective.
+type ScanRunWarningTrace struct {
+	// Output only. Indicates the warning code.
+	Code                 ScanRunWarningTrace_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.websecurityscanner.v1.ScanRunWarningTrace_Code" json:"code,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
+	XXX_unrecognized     []byte                   `json:"-"`
+	XXX_sizecache        int32                    `json:"-"`
+}
+
+func (m *ScanRunWarningTrace) Reset()         { *m = ScanRunWarningTrace{} }
+func (m *ScanRunWarningTrace) String() string { return proto.CompactTextString(m) }
+func (*ScanRunWarningTrace) ProtoMessage()    {}
+func (*ScanRunWarningTrace) Descriptor() ([]byte, []int) {
+	return fileDescriptor_49d33550124a8683, []int{0}
+}
+
+func (m *ScanRunWarningTrace) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScanRunWarningTrace.Unmarshal(m, b)
+}
+func (m *ScanRunWarningTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScanRunWarningTrace.Marshal(b, m, deterministic)
+}
+func (m *ScanRunWarningTrace) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScanRunWarningTrace.Merge(m, src)
+}
+func (m *ScanRunWarningTrace) XXX_Size() int {
+	return xxx_messageInfo_ScanRunWarningTrace.Size(m)
+}
+func (m *ScanRunWarningTrace) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScanRunWarningTrace.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScanRunWarningTrace proto.InternalMessageInfo
+
+func (m *ScanRunWarningTrace) GetCode() ScanRunWarningTrace_Code {
+	if m != nil {
+		return m.Code
+	}
+	return ScanRunWarningTrace_CODE_UNSPECIFIED
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.websecurityscanner.v1.ScanRunWarningTrace_Code", ScanRunWarningTrace_Code_name, ScanRunWarningTrace_Code_value)
+	proto.RegisterType((*ScanRunWarningTrace)(nil), "google.cloud.websecurityscanner.v1.ScanRunWarningTrace")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/scan_run_warning_trace.proto", fileDescriptor_49d33550124a8683)
+}
+
+var fileDescriptor_49d33550124a8683 = []byte{
+	// 316 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0xd1, 0xc1, 0x4a, 0xfb, 0x30,
+	0x1c, 0x07, 0xf0, 0x7f, 0xfe, 0x0e, 0x0f, 0x39, 0x8c, 0x92, 0x89, 0x8e, 0x1d, 0x44, 0x76, 0x10,
+	0x4f, 0x29, 0xd3, 0xa3, 0x82, 0xb4, 0x5d, 0x0b, 0x65, 0xb3, 0x2d, 0x4d, 0xca, 0xd8, 0x2e, 0x21,
+	0xcb, 0x42, 0x18, 0xcc, 0x64, 0x64, 0xeb, 0x86, 0x0f, 0xe0, 0x4b, 0xf8, 0x92, 0xbe, 0x82, 0xb4,
+	0x15, 0x0f, 0x6e, 0xa8, 0xb7, 0x24, 0x5f, 0xf2, 0x81, 0xdf, 0xf7, 0x07, 0x1f, 0x95, 0x31, 0x6a,
+	0x25, 0x5d, 0xb1, 0x32, 0xe5, 0xc2, 0xdd, 0xcb, 0xf9, 0x46, 0x8a, 0xd2, 0x2e, 0xb7, 0x2f, 0x1b,
+	0xc1, 0xb5, 0x96, 0xd6, 0xdd, 0x0d, 0xdc, 0xea, 0xc8, 0x6c, 0xa9, 0xd9, 0x9e, 0x5b, 0xbd, 0xd4,
+	0x8a, 0x6d, 0x2d, 0x17, 0x12, 0xaf, 0xad, 0xd9, 0x1a, 0xd4, 0x6f, 0x00, 0x5c, 0x03, 0xf8, 0x10,
+	0xc0, 0xbb, 0x41, 0xff, 0x1d, 0xc0, 0x0e, 0x11, 0x5c, 0xe7, 0xa5, 0x9e, 0x34, 0x04, 0xad, 0x04,
+	0x94, 0xc1, 0x96, 0x30, 0x0b, 0xd9, 0x05, 0x57, 0xe0, 0xa6, 0x7d, 0xfb, 0x80, 0x7f, 0xa7, 0xf0,
+	0x11, 0x06, 0x07, 0x66, 0x21, 0xf3, 0x5a, 0xea, 0xbf, 0x02, 0xd8, 0xaa, 0xae, 0xe8, 0x0c, 0x3a,
+	0x41, 0x3a, 0x0c, 0x59, 0x91, 0x90, 0x2c, 0x0c, 0xe2, 0x28, 0x0e, 0x87, 0xce, 0x3f, 0x74, 0x09,
+	0x7b, 0x71, 0x42, 0x8a, 0x28, 0x8a, 0x83, 0x38, 0x4c, 0x28, 0x0b, 0x72, 0x6f, 0x32, 0x66, 0x79,
+	0x48, 0x8a, 0x31, 0x25, 0x0e, 0x40, 0x3d, 0x78, 0x4e, 0xd3, 0x94, 0x3d, 0x79, 0xc9, 0xf4, 0x5b,
+	0xf6, 0x1f, 0x5d, 0xc0, 0xce, 0x57, 0x16, 0x15, 0xb3, 0x19, 0xa3, 0x1e, 0x19, 0x11, 0xe7, 0x04,
+	0x21, 0xd8, 0xf6, 0xc7, 0x69, 0x30, 0x0a, 0x87, 0xcc, 0x9f, 0xb2, 0xd8, 0xcb, 0x9c, 0x96, 0xff,
+	0x06, 0xe0, 0xb5, 0x30, 0xcf, 0x7f, 0x98, 0xc8, 0xef, 0x1e, 0x19, 0x29, 0xab, 0xaa, 0xcd, 0xc0,
+	0x8c, 0x7e, 0xfe, 0x57, 0x66, 0xc5, 0xb5, 0xc2, 0xc6, 0x2a, 0x57, 0x49, 0x5d, 0x17, 0xef, 0x36,
+	0x11, 0x5f, 0x2f, 0x37, 0x3f, 0x2d, 0xef, 0xfe, 0xf0, 0x75, 0x7e, 0x5a, 0x03, 0x77, 0x1f, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x76, 0xfc, 0x6f, 0x15, 0xfc, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/websecurityscanner/v1/web_security_scanner.pb.go b/googleapis/cloud/websecurityscanner/v1/web_security_scanner.pb.go
new file mode 100644
index 0000000..adc92fd
--- /dev/null
+++ b/googleapis/cloud/websecurityscanner/v1/web_security_scanner.pb.go
@@ -0,0 +1,1589 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/websecurityscanner/v1/web_security_scanner.proto
+
+package websecurityscanner
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	empty "github.com/golang/protobuf/ptypes/empty"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request for the `CreateScanConfig` method.
+type CreateScanConfigRequest struct {
+	// Required. The parent resource name where the scan is created, which should be a
+	// project resource name in the format 'projects/{projectId}'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ScanConfig to be created.
+	ScanConfig           *ScanConfig `protobuf:"bytes,2,opt,name=scan_config,json=scanConfig,proto3" json:"scan_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *CreateScanConfigRequest) Reset()         { *m = CreateScanConfigRequest{} }
+func (m *CreateScanConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateScanConfigRequest) ProtoMessage()    {}
+func (*CreateScanConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{0}
+}
+
+func (m *CreateScanConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateScanConfigRequest.Unmarshal(m, b)
+}
+func (m *CreateScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateScanConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateScanConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateScanConfigRequest.Merge(m, src)
+}
+func (m *CreateScanConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateScanConfigRequest.Size(m)
+}
+func (m *CreateScanConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateScanConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateScanConfigRequest proto.InternalMessageInfo
+
+func (m *CreateScanConfigRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateScanConfigRequest) GetScanConfig() *ScanConfig {
+	if m != nil {
+		return m.ScanConfig
+	}
+	return nil
+}
+
+// Request for the `DeleteScanConfig` method.
+type DeleteScanConfigRequest struct {
+	// Required. The resource name of the ScanConfig to be deleted. The name follows the
+	// format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteScanConfigRequest) Reset()         { *m = DeleteScanConfigRequest{} }
+func (m *DeleteScanConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteScanConfigRequest) ProtoMessage()    {}
+func (*DeleteScanConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{1}
+}
+
+func (m *DeleteScanConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteScanConfigRequest.Unmarshal(m, b)
+}
+func (m *DeleteScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteScanConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteScanConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteScanConfigRequest.Merge(m, src)
+}
+func (m *DeleteScanConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteScanConfigRequest.Size(m)
+}
+func (m *DeleteScanConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteScanConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteScanConfigRequest proto.InternalMessageInfo
+
+func (m *DeleteScanConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `GetScanConfig` method.
+type GetScanConfigRequest struct {
+	// Required. The resource name of the ScanConfig to be returned. The name follows the
+	// format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetScanConfigRequest) Reset()         { *m = GetScanConfigRequest{} }
+func (m *GetScanConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*GetScanConfigRequest) ProtoMessage()    {}
+func (*GetScanConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{2}
+}
+
+func (m *GetScanConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetScanConfigRequest.Unmarshal(m, b)
+}
+func (m *GetScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetScanConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *GetScanConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetScanConfigRequest.Merge(m, src)
+}
+func (m *GetScanConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_GetScanConfigRequest.Size(m)
+}
+func (m *GetScanConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetScanConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetScanConfigRequest proto.InternalMessageInfo
+
+func (m *GetScanConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `ListScanConfigs` method.
+type ListScanConfigsRequest struct {
+	// Required. The parent resource name, which should be a project resource name in the
+	// format 'projects/{projectId}'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// A token identifying a page of results to be returned. This should be a
+	// `next_page_token` value returned from a previous List request.
+	// If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of ScanConfigs to return, can be limited by server.
+	// If not specified or not positive, the implementation will select a
+	// reasonable value.
+	PageSize             int32    `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListScanConfigsRequest) Reset()         { *m = ListScanConfigsRequest{} }
+func (m *ListScanConfigsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListScanConfigsRequest) ProtoMessage()    {}
+func (*ListScanConfigsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{3}
+}
+
+func (m *ListScanConfigsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListScanConfigsRequest.Unmarshal(m, b)
+}
+func (m *ListScanConfigsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListScanConfigsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListScanConfigsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListScanConfigsRequest.Merge(m, src)
+}
+func (m *ListScanConfigsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListScanConfigsRequest.Size(m)
+}
+func (m *ListScanConfigsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListScanConfigsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListScanConfigsRequest proto.InternalMessageInfo
+
+func (m *ListScanConfigsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListScanConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListScanConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Request for the `UpdateScanConfigRequest` method.
+type UpdateScanConfigRequest struct {
+	// Required. The ScanConfig to be updated. The name field must be set to identify the
+	// resource to be updated. The values of fields not covered by the mask
+	// will be ignored.
+	ScanConfig *ScanConfig `protobuf:"bytes,2,opt,name=scan_config,json=scanConfig,proto3" json:"scan_config,omitempty"`
+	// Required. The update mask applies to the resource. For the `FieldMask` definition,
+	// see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateScanConfigRequest) Reset()         { *m = UpdateScanConfigRequest{} }
+func (m *UpdateScanConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateScanConfigRequest) ProtoMessage()    {}
+func (*UpdateScanConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{4}
+}
+
+func (m *UpdateScanConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateScanConfigRequest.Unmarshal(m, b)
+}
+func (m *UpdateScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateScanConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateScanConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateScanConfigRequest.Merge(m, src)
+}
+func (m *UpdateScanConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateScanConfigRequest.Size(m)
+}
+func (m *UpdateScanConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateScanConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateScanConfigRequest proto.InternalMessageInfo
+
+func (m *UpdateScanConfigRequest) GetScanConfig() *ScanConfig {
+	if m != nil {
+		return m.ScanConfig
+	}
+	return nil
+}
+
+func (m *UpdateScanConfigRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Response for the `ListScanConfigs` method.
+type ListScanConfigsResponse struct {
+	// The list of ScanConfigs returned.
+	ScanConfigs []*ScanConfig `protobuf:"bytes,1,rep,name=scan_configs,json=scanConfigs,proto3" json:"scan_configs,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no
+	// more results in the list.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListScanConfigsResponse) Reset()         { *m = ListScanConfigsResponse{} }
+func (m *ListScanConfigsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListScanConfigsResponse) ProtoMessage()    {}
+func (*ListScanConfigsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{5}
+}
+
+func (m *ListScanConfigsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListScanConfigsResponse.Unmarshal(m, b)
+}
+func (m *ListScanConfigsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListScanConfigsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListScanConfigsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListScanConfigsResponse.Merge(m, src)
+}
+func (m *ListScanConfigsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListScanConfigsResponse.Size(m)
+}
+func (m *ListScanConfigsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListScanConfigsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListScanConfigsResponse proto.InternalMessageInfo
+
+func (m *ListScanConfigsResponse) GetScanConfigs() []*ScanConfig {
+	if m != nil {
+		return m.ScanConfigs
+	}
+	return nil
+}
+
+func (m *ListScanConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request for the `StartScanRun` method.
+type StartScanRunRequest struct {
+	// Required. The resource name of the ScanConfig to be used. The name follows the
+	// format of 'projects/{projectId}/scanConfigs/{scanConfigId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *StartScanRunRequest) Reset()         { *m = StartScanRunRequest{} }
+func (m *StartScanRunRequest) String() string { return proto.CompactTextString(m) }
+func (*StartScanRunRequest) ProtoMessage()    {}
+func (*StartScanRunRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{6}
+}
+
+func (m *StartScanRunRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StartScanRunRequest.Unmarshal(m, b)
+}
+func (m *StartScanRunRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StartScanRunRequest.Marshal(b, m, deterministic)
+}
+func (m *StartScanRunRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StartScanRunRequest.Merge(m, src)
+}
+func (m *StartScanRunRequest) XXX_Size() int {
+	return xxx_messageInfo_StartScanRunRequest.Size(m)
+}
+func (m *StartScanRunRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_StartScanRunRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StartScanRunRequest proto.InternalMessageInfo
+
+func (m *StartScanRunRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `GetScanRun` method.
+type GetScanRunRequest struct {
+	// Required. The resource name of the ScanRun to be returned. The name follows the
+	// format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetScanRunRequest) Reset()         { *m = GetScanRunRequest{} }
+func (m *GetScanRunRequest) String() string { return proto.CompactTextString(m) }
+func (*GetScanRunRequest) ProtoMessage()    {}
+func (*GetScanRunRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{7}
+}
+
+func (m *GetScanRunRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetScanRunRequest.Unmarshal(m, b)
+}
+func (m *GetScanRunRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetScanRunRequest.Marshal(b, m, deterministic)
+}
+func (m *GetScanRunRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetScanRunRequest.Merge(m, src)
+}
+func (m *GetScanRunRequest) XXX_Size() int {
+	return xxx_messageInfo_GetScanRunRequest.Size(m)
+}
+func (m *GetScanRunRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetScanRunRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetScanRunRequest proto.InternalMessageInfo
+
+func (m *GetScanRunRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `ListScanRuns` method.
+type ListScanRunsRequest struct {
+	// Required. The parent resource name, which should be a scan resource name in the
+	// format 'projects/{projectId}/scanConfigs/{scanConfigId}'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// A token identifying a page of results to be returned. This should be a
+	// `next_page_token` value returned from a previous List request.
+	// If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of ScanRuns to return, can be limited by server.
+	// If not specified or not positive, the implementation will select a
+	// reasonable value.
+	PageSize             int32    `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListScanRunsRequest) Reset()         { *m = ListScanRunsRequest{} }
+func (m *ListScanRunsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListScanRunsRequest) ProtoMessage()    {}
+func (*ListScanRunsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{8}
+}
+
+func (m *ListScanRunsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListScanRunsRequest.Unmarshal(m, b)
+}
+func (m *ListScanRunsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListScanRunsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListScanRunsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListScanRunsRequest.Merge(m, src)
+}
+func (m *ListScanRunsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListScanRunsRequest.Size(m)
+}
+func (m *ListScanRunsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListScanRunsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListScanRunsRequest proto.InternalMessageInfo
+
+func (m *ListScanRunsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListScanRunsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListScanRunsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response for the `ListScanRuns` method.
+type ListScanRunsResponse struct {
+	// The list of ScanRuns returned.
+	ScanRuns []*ScanRun `protobuf:"bytes,1,rep,name=scan_runs,json=scanRuns,proto3" json:"scan_runs,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no
+	// more results in the list.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListScanRunsResponse) Reset()         { *m = ListScanRunsResponse{} }
+func (m *ListScanRunsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListScanRunsResponse) ProtoMessage()    {}
+func (*ListScanRunsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{9}
+}
+
+func (m *ListScanRunsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListScanRunsResponse.Unmarshal(m, b)
+}
+func (m *ListScanRunsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListScanRunsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListScanRunsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListScanRunsResponse.Merge(m, src)
+}
+func (m *ListScanRunsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListScanRunsResponse.Size(m)
+}
+func (m *ListScanRunsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListScanRunsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListScanRunsResponse proto.InternalMessageInfo
+
+func (m *ListScanRunsResponse) GetScanRuns() []*ScanRun {
+	if m != nil {
+		return m.ScanRuns
+	}
+	return nil
+}
+
+func (m *ListScanRunsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request for the `StopScanRun` method.
+type StopScanRunRequest struct {
+	// Required. The resource name of the ScanRun to be stopped. The name follows the
+	// format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *StopScanRunRequest) Reset()         { *m = StopScanRunRequest{} }
+func (m *StopScanRunRequest) String() string { return proto.CompactTextString(m) }
+func (*StopScanRunRequest) ProtoMessage()    {}
+func (*StopScanRunRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{10}
+}
+
+func (m *StopScanRunRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StopScanRunRequest.Unmarshal(m, b)
+}
+func (m *StopScanRunRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StopScanRunRequest.Marshal(b, m, deterministic)
+}
+func (m *StopScanRunRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StopScanRunRequest.Merge(m, src)
+}
+func (m *StopScanRunRequest) XXX_Size() int {
+	return xxx_messageInfo_StopScanRunRequest.Size(m)
+}
+func (m *StopScanRunRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_StopScanRunRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StopScanRunRequest proto.InternalMessageInfo
+
+func (m *StopScanRunRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `ListCrawledUrls` method.
+type ListCrawledUrlsRequest struct {
+	// Required. The parent resource name, which should be a scan run resource name in the
+	// format
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// A token identifying a page of results to be returned. This should be a
+	// `next_page_token` value returned from a previous List request.
+	// If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of CrawledUrls to return, can be limited by server.
+	// If not specified or not positive, the implementation will select a
+	// reasonable value.
+	PageSize             int32    `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListCrawledUrlsRequest) Reset()         { *m = ListCrawledUrlsRequest{} }
+func (m *ListCrawledUrlsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListCrawledUrlsRequest) ProtoMessage()    {}
+func (*ListCrawledUrlsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{11}
+}
+
+func (m *ListCrawledUrlsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListCrawledUrlsRequest.Unmarshal(m, b)
+}
+func (m *ListCrawledUrlsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListCrawledUrlsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListCrawledUrlsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListCrawledUrlsRequest.Merge(m, src)
+}
+func (m *ListCrawledUrlsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListCrawledUrlsRequest.Size(m)
+}
+func (m *ListCrawledUrlsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListCrawledUrlsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListCrawledUrlsRequest proto.InternalMessageInfo
+
+func (m *ListCrawledUrlsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListCrawledUrlsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListCrawledUrlsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response for the `ListCrawledUrls` method.
+type ListCrawledUrlsResponse struct {
+	// The list of CrawledUrls returned.
+	CrawledUrls []*CrawledUrl `protobuf:"bytes,1,rep,name=crawled_urls,json=crawledUrls,proto3" json:"crawled_urls,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no
+	// more results in the list.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListCrawledUrlsResponse) Reset()         { *m = ListCrawledUrlsResponse{} }
+func (m *ListCrawledUrlsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListCrawledUrlsResponse) ProtoMessage()    {}
+func (*ListCrawledUrlsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{12}
+}
+
+func (m *ListCrawledUrlsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListCrawledUrlsResponse.Unmarshal(m, b)
+}
+func (m *ListCrawledUrlsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListCrawledUrlsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListCrawledUrlsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListCrawledUrlsResponse.Merge(m, src)
+}
+func (m *ListCrawledUrlsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListCrawledUrlsResponse.Size(m)
+}
+func (m *ListCrawledUrlsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListCrawledUrlsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListCrawledUrlsResponse proto.InternalMessageInfo
+
+func (m *ListCrawledUrlsResponse) GetCrawledUrls() []*CrawledUrl {
+	if m != nil {
+		return m.CrawledUrls
+	}
+	return nil
+}
+
+func (m *ListCrawledUrlsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request for the `GetFinding` method.
+type GetFindingRequest struct {
+	// Required. The resource name of the Finding to be returned. The name follows the
+	// format of
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}/findings/{findingId}'.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetFindingRequest) Reset()         { *m = GetFindingRequest{} }
+func (m *GetFindingRequest) String() string { return proto.CompactTextString(m) }
+func (*GetFindingRequest) ProtoMessage()    {}
+func (*GetFindingRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{13}
+}
+
+func (m *GetFindingRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetFindingRequest.Unmarshal(m, b)
+}
+func (m *GetFindingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetFindingRequest.Marshal(b, m, deterministic)
+}
+func (m *GetFindingRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetFindingRequest.Merge(m, src)
+}
+func (m *GetFindingRequest) XXX_Size() int {
+	return xxx_messageInfo_GetFindingRequest.Size(m)
+}
+func (m *GetFindingRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetFindingRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetFindingRequest proto.InternalMessageInfo
+
+func (m *GetFindingRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request for the `ListFindings` method.
+type ListFindingsRequest struct {
+	// Required. The parent resource name, which should be a scan run resource name in the
+	// format
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// The filter expression. The expression must be in the format: <field>
+	// <operator> <value>.
+	// Supported field: 'finding_type'.
+	// Supported operator: '='.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// A token identifying a page of results to be returned. This should be a
+	// `next_page_token` value returned from a previous List request.
+	// If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of Findings to return, can be limited by server.
+	// If not specified or not positive, the implementation will select a
+	// reasonable value.
+	PageSize             int32    `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListFindingsRequest) Reset()         { *m = ListFindingsRequest{} }
+func (m *ListFindingsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListFindingsRequest) ProtoMessage()    {}
+func (*ListFindingsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{14}
+}
+
+func (m *ListFindingsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingsRequest.Unmarshal(m, b)
+}
+func (m *ListFindingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListFindingsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingsRequest.Merge(m, src)
+}
+func (m *ListFindingsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListFindingsRequest.Size(m)
+}
+func (m *ListFindingsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingsRequest proto.InternalMessageInfo
+
+func (m *ListFindingsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response for the `ListFindings` method.
+type ListFindingsResponse struct {
+	// The list of Findings returned.
+	Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no
+	// more results in the list.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListFindingsResponse) Reset()         { *m = ListFindingsResponse{} }
+func (m *ListFindingsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListFindingsResponse) ProtoMessage()    {}
+func (*ListFindingsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{15}
+}
+
+func (m *ListFindingsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingsResponse.Unmarshal(m, b)
+}
+func (m *ListFindingsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListFindingsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingsResponse.Merge(m, src)
+}
+func (m *ListFindingsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListFindingsResponse.Size(m)
+}
+func (m *ListFindingsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingsResponse proto.InternalMessageInfo
+
+func (m *ListFindingsResponse) GetFindings() []*Finding {
+	if m != nil {
+		return m.Findings
+	}
+	return nil
+}
+
+func (m *ListFindingsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request for the `ListFindingTypeStats` method.
+type ListFindingTypeStatsRequest struct {
+	// Required. The parent resource name, which should be a scan run resource name in the
+	// format
+	// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'.
+	Parent               string   `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListFindingTypeStatsRequest) Reset()         { *m = ListFindingTypeStatsRequest{} }
+func (m *ListFindingTypeStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListFindingTypeStatsRequest) ProtoMessage()    {}
+func (*ListFindingTypeStatsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{16}
+}
+
+func (m *ListFindingTypeStatsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingTypeStatsRequest.Unmarshal(m, b)
+}
+func (m *ListFindingTypeStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingTypeStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListFindingTypeStatsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingTypeStatsRequest.Merge(m, src)
+}
+func (m *ListFindingTypeStatsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListFindingTypeStatsRequest.Size(m)
+}
+func (m *ListFindingTypeStatsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingTypeStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingTypeStatsRequest proto.InternalMessageInfo
+
+func (m *ListFindingTypeStatsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+// Response for the `ListFindingTypeStats` method.
+type ListFindingTypeStatsResponse struct {
+	// The list of FindingTypeStats returned.
+	FindingTypeStats     []*FindingTypeStats `protobuf:"bytes,1,rep,name=finding_type_stats,json=findingTypeStats,proto3" json:"finding_type_stats,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
+	XXX_unrecognized     []byte              `json:"-"`
+	XXX_sizecache        int32               `json:"-"`
+}
+
+func (m *ListFindingTypeStatsResponse) Reset()         { *m = ListFindingTypeStatsResponse{} }
+func (m *ListFindingTypeStatsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListFindingTypeStatsResponse) ProtoMessage()    {}
+func (*ListFindingTypeStatsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7297c0e203cce14, []int{17}
+}
+
+func (m *ListFindingTypeStatsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingTypeStatsResponse.Unmarshal(m, b)
+}
+func (m *ListFindingTypeStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingTypeStatsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListFindingTypeStatsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingTypeStatsResponse.Merge(m, src)
+}
+func (m *ListFindingTypeStatsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListFindingTypeStatsResponse.Size(m)
+}
+func (m *ListFindingTypeStatsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingTypeStatsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingTypeStatsResponse proto.InternalMessageInfo
+
+func (m *ListFindingTypeStatsResponse) GetFindingTypeStats() []*FindingTypeStats {
+	if m != nil {
+		return m.FindingTypeStats
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*CreateScanConfigRequest)(nil), "google.cloud.websecurityscanner.v1.CreateScanConfigRequest")
+	proto.RegisterType((*DeleteScanConfigRequest)(nil), "google.cloud.websecurityscanner.v1.DeleteScanConfigRequest")
+	proto.RegisterType((*GetScanConfigRequest)(nil), "google.cloud.websecurityscanner.v1.GetScanConfigRequest")
+	proto.RegisterType((*ListScanConfigsRequest)(nil), "google.cloud.websecurityscanner.v1.ListScanConfigsRequest")
+	proto.RegisterType((*UpdateScanConfigRequest)(nil), "google.cloud.websecurityscanner.v1.UpdateScanConfigRequest")
+	proto.RegisterType((*ListScanConfigsResponse)(nil), "google.cloud.websecurityscanner.v1.ListScanConfigsResponse")
+	proto.RegisterType((*StartScanRunRequest)(nil), "google.cloud.websecurityscanner.v1.StartScanRunRequest")
+	proto.RegisterType((*GetScanRunRequest)(nil), "google.cloud.websecurityscanner.v1.GetScanRunRequest")
+	proto.RegisterType((*ListScanRunsRequest)(nil), "google.cloud.websecurityscanner.v1.ListScanRunsRequest")
+	proto.RegisterType((*ListScanRunsResponse)(nil), "google.cloud.websecurityscanner.v1.ListScanRunsResponse")
+	proto.RegisterType((*StopScanRunRequest)(nil), "google.cloud.websecurityscanner.v1.StopScanRunRequest")
+	proto.RegisterType((*ListCrawledUrlsRequest)(nil), "google.cloud.websecurityscanner.v1.ListCrawledUrlsRequest")
+	proto.RegisterType((*ListCrawledUrlsResponse)(nil), "google.cloud.websecurityscanner.v1.ListCrawledUrlsResponse")
+	proto.RegisterType((*GetFindingRequest)(nil), "google.cloud.websecurityscanner.v1.GetFindingRequest")
+	proto.RegisterType((*ListFindingsRequest)(nil), "google.cloud.websecurityscanner.v1.ListFindingsRequest")
+	proto.RegisterType((*ListFindingsResponse)(nil), "google.cloud.websecurityscanner.v1.ListFindingsResponse")
+	proto.RegisterType((*ListFindingTypeStatsRequest)(nil), "google.cloud.websecurityscanner.v1.ListFindingTypeStatsRequest")
+	proto.RegisterType((*ListFindingTypeStatsResponse)(nil), "google.cloud.websecurityscanner.v1.ListFindingTypeStatsResponse")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/websecurityscanner/v1/web_security_scanner.proto", fileDescriptor_d7297c0e203cce14)
+}
+
+var fileDescriptor_d7297c0e203cce14 = []byte{
+	// 1153 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x41, 0x6f, 0xdc, 0x44,
+	0x14, 0xd6, 0xb4, 0x25, 0x4a, 0xde, 0xa6, 0x6a, 0x98, 0x54, 0xd9, 0xc8, 0x29, 0x52, 0x30, 0xa2,
+	0xa4, 0xa9, 0x6a, 0x37, 0x69, 0x5a, 0xc2, 0x2e, 0x2d, 0xa4, 0x29, 0x2d, 0x48, 0x20, 0xc2, 0x6e,
+	0x22, 0x24, 0x2e, 0x96, 0xd7, 0x3b, 0xbb, 0x35, 0xf1, 0x8e, 0x8d, 0x67, 0xdc, 0x25, 0x45, 0x3d,
+	0xd0, 0x0b, 0xdc, 0xe9, 0x85, 0x3f, 0x00, 0x88, 0x23, 0x1c, 0x50, 0xef, 0x70, 0xe1, 0x84, 0xe0,
+	0x2f, 0xf4, 0xc2, 0xbf, 0x40, 0x1e, 0x8f, 0x77, 0xbd, 0xf6, 0x76, 0x77, 0xbc, 0xa2, 0x37, 0x7b,
+	0x3c, 0x6f, 0xde, 0xf7, 0xbe, 0xf9, 0x66, 0xde, 0xb7, 0x0b, 0x37, 0xbb, 0xbe, 0xdf, 0xf5, 0x88,
+	0xe9, 0x78, 0x7e, 0xd4, 0x36, 0xfb, 0xa4, 0xc5, 0x88, 0x13, 0x85, 0x2e, 0x3f, 0x61, 0x8e, 0x4d,
+	0x29, 0x09, 0xcd, 0x07, 0x5b, 0xf1, 0xa8, 0x95, 0x0e, 0x5b, 0x72, 0xdc, 0x08, 0x42, 0x9f, 0xfb,
+	0x58, 0x4f, 0xc2, 0x0d, 0x11, 0x6e, 0x14, 0xc3, 0x8d, 0x07, 0x5b, 0xda, 0x05, 0x99, 0xc2, 0x0e,
+	0x5c, 0xd3, 0xa6, 0xd4, 0xe7, 0x36, 0x77, 0x7d, 0xca, 0x92, 0x15, 0xb4, 0x1d, 0x05, 0x00, 0x4e,
+	0x68, 0xf7, 0x3d, 0xd2, 0xb6, 0xa2, 0xd0, 0x93, 0x51, 0x57, 0x15, 0xa2, 0x3a, 0x2e, 0x6d, 0xbb,
+	0xb4, 0x2b, 0x23, 0xea, 0xea, 0x11, 0x16, 0x3f, 0x09, 0x88, 0xc5, 0xb8, 0xcd, 0xcb, 0x80, 0x8c,
+	0x1f, 0x2d, 0xc7, 0xa7, 0x1d, 0x37, 0x4d, 0xb9, 0xa5, 0x1a, 0x15, 0x46, 0x54, 0x86, 0xac, 0xc9,
+	0x10, 0xf1, 0xd6, 0x8a, 0x3a, 0x26, 0xe9, 0x05, 0xfc, 0x44, 0x7e, 0x5c, 0xcf, 0x7f, 0xec, 0xb8,
+	0xc4, 0x6b, 0x5b, 0x3d, 0x9b, 0x1d, 0xcb, 0x19, 0xd5, 0x0c, 0xd5, 0x8e, 0xe7, 0x12, 0xca, 0x93,
+	0x0f, 0xfa, 0x63, 0x04, 0xd5, 0xfd, 0x90, 0xd8, 0x9c, 0x34, 0x1d, 0x9b, 0xee, 0x0b, 0x94, 0x0d,
+	0xf2, 0x45, 0x44, 0x18, 0xc7, 0x2b, 0x30, 0x17, 0xd8, 0x21, 0xa1, 0x7c, 0x15, 0xad, 0xa3, 0x8d,
+	0x85, 0x86, 0x7c, 0xc3, 0x1f, 0x43, 0x25, 0x53, 0xd3, 0xea, 0xa9, 0x75, 0xb4, 0x51, 0xd9, 0x36,
+	0x8c, 0xe9, 0x3b, 0x6e, 0x64, 0x72, 0x00, 0x1b, 0x3c, 0xeb, 0x57, 0xa0, 0x7a, 0x87, 0x78, 0x64,
+	0x1c, 0x06, 0x0c, 0x67, 0xa8, 0xdd, 0x23, 0x12, 0x81, 0x78, 0xd6, 0x37, 0xe1, 0xfc, 0x3d, 0xc2,
+	0xd5, 0xe6, 0x7a, 0xb0, 0xf2, 0xa1, 0xcb, 0x32, 0x93, 0xd9, 0xb4, 0xea, 0x5e, 0x01, 0x08, 0xec,
+	0x2e, 0xb1, 0xb8, 0x7f, 0x4c, 0xa8, 0x28, 0x6e, 0xa1, 0xb1, 0x10, 0x8f, 0x1c, 0xc6, 0x03, 0x78,
+	0x0d, 0xc4, 0x8b, 0xc5, 0xdc, 0x87, 0x64, 0xf5, 0xf4, 0x3a, 0xda, 0x78, 0xa9, 0x31, 0x1f, 0x0f,
+	0x34, 0xdd, 0x87, 0x44, 0xff, 0x11, 0x41, 0xf5, 0x28, 0x68, 0x8f, 0x65, 0xf3, 0xff, 0x66, 0x0d,
+	0xd7, 0xa1, 0x12, 0x89, 0x5c, 0x62, 0xa3, 0x05, 0x96, 0xca, 0xb6, 0x96, 0x2e, 0x98, 0x6a, 0xc1,
+	0xb8, 0x1b, 0x6b, 0xe1, 0x23, 0x9b, 0x1d, 0x37, 0x20, 0x99, 0x1e, 0x3f, 0xeb, 0x4f, 0x10, 0x54,
+	0x0b, 0xc4, 0xb0, 0xc0, 0xa7, 0x8c, 0xe0, 0x4f, 0x60, 0x31, 0x83, 0x94, 0xad, 0xa2, 0xf5, 0xd3,
+	0x33, 0x40, 0xad, 0x0c, 0xa1, 0x32, 0x7c, 0x11, 0xce, 0x51, 0xf2, 0x25, 0xb7, 0x0a, 0xcc, 0x9e,
+	0x8d, 0x87, 0x0f, 0x52, 0x76, 0xf5, 0x4b, 0xb0, 0xdc, 0xe4, 0x76, 0x28, 0x60, 0x35, 0x22, 0x3a,
+	0x69, 0x67, 0xdf, 0x80, 0x97, 0xa5, 0x0a, 0xa6, 0x4c, 0x74, 0x61, 0x39, 0xad, 0xb4, 0x11, 0xd1,
+	0x17, 0xba, 0xff, 0xdf, 0x22, 0x38, 0x3f, 0x9a, 0x4b, 0x52, 0xfa, 0x3e, 0x2c, 0xa4, 0x07, 0x3a,
+	0xe5, 0xf3, 0xb2, 0x2a, 0x9f, 0x71, 0x79, 0xf3, 0x4c, 0xae, 0xa8, 0xcc, 0xe4, 0x06, 0xe0, 0x26,
+	0xf7, 0x03, 0x05, 0x7e, 0xe4, 0x11, 0xd9, 0x4f, 0xee, 0xd2, 0xa3, 0xd0, 0x7b, 0xa1, 0x14, 0xa5,
+	0xc2, 0x1b, 0x49, 0x37, 0x14, 0x5e, 0xe6, 0x46, 0x2f, 0x25, 0xbc, 0xe1, 0x72, 0x8d, 0x8a, 0x33,
+	0x5c, 0x5a, 0x99, 0xae, 0x44, 0x4d, 0x77, 0x93, 0x7b, 0x7e, 0x12, 0x5b, 0x5f, 0xa3, 0x44, 0x4e,
+	0x72, 0xea, 0x54, 0xae, 0x56, 0x60, 0xae, 0xe3, 0x7a, 0x9c, 0x84, 0x32, 0xaf, 0x7c, 0xcb, 0x71,
+	0x78, 0x7a, 0x22, 0x87, 0x67, 0x72, 0x1c, 0x7e, 0x23, 0x65, 0x36, 0xc4, 0x20, 0x09, 0xbc, 0x07,
+	0xf3, 0xb2, 0x55, 0x95, 0x52, 0x59, 0x5a, 0xf6, 0x20, 0x58, 0x99, 0xb6, 0xeb, 0xb0, 0x96, 0x01,
+	0x72, 0x78, 0x12, 0x90, 0x66, 0xdc, 0x1d, 0xa7, 0x90, 0x12, 0x77, 0x9d, 0x0b, 0xe3, 0xe3, 0x64,
+	0x21, 0x2d, 0xc0, 0xc5, 0x9e, 0x2b, 0x4b, 0xda, 0x29, 0x51, 0xd2, 0x70, 0xe5, 0xa5, 0x4e, 0x6e,
+	0x64, 0xfb, 0xdf, 0x65, 0xc0, 0x9f, 0x92, 0x56, 0x53, 0x06, 0x37, 0x93, 0x60, 0xfc, 0x14, 0xc1,
+	0x52, 0xbe, 0x23, 0xe2, 0xba, 0x9a, 0x06, 0xc7, 0xf6, 0x51, 0xad, 0xe4, 0xcd, 0xa9, 0xef, 0x3e,
+	0xfe, 0xe7, 0xd9, 0x77, 0xa7, 0xb6, 0xf5, 0xd7, 0x62, 0x1f, 0xf0, 0x55, 0x42, 0xd9, 0xcd, 0x20,
+	0xf4, 0x3f, 0x27, 0x0e, 0x67, 0xe6, 0xe6, 0x23, 0x33, 0x73, 0xb3, 0xd6, 0xb2, 0x4d, 0x05, 0x3f,
+	0x41, 0xb0, 0x94, 0xef, 0xa4, 0x6a, 0xd8, 0x9f, 0xd3, 0x7f, 0xb5, 0x95, 0x42, 0x3f, 0x79, 0x2f,
+	0x36, 0x1e, 0xfa, 0x65, 0x81, 0xf1, 0xf5, 0xcd, 0x04, 0x63, 0x7c, 0x32, 0x32, 0x08, 0xb3, 0x00,
+	0xcd, 0xcd, 0x47, 0xf8, 0x07, 0x04, 0x67, 0x47, 0x3a, 0x36, 0xde, 0x55, 0xc1, 0x34, 0xae, 0xc9,
+	0x97, 0x26, 0x53, 0x02, 0xc5, 0x4a, 0x40, 0x7f, 0x43, 0x70, 0x2e, 0xd7, 0x15, 0x71, 0x4d, 0x25,
+	0xe1, 0x78, 0x8f, 0xa1, 0xd5, 0x67, 0x8a, 0x4d, 0xce, 0x40, 0x0e, 0xf9, 0x64, 0x19, 0xe0, 0x3f,
+	0x10, 0x2c, 0xe5, 0x9d, 0x87, 0xda, 0xce, 0x3f, 0xc7, 0xaf, 0x94, 0x26, 0xfa, 0x8e, 0x80, 0x7b,
+	0x6b, 0xdb, 0x14, 0x70, 0xb3, 0xa6, 0x77, 0x32, 0xe9, 0xa3, 0x0a, 0xfe, 0x19, 0xc1, 0x62, 0xd6,
+	0x01, 0xe0, 0x37, 0x95, 0x60, 0x14, 0x3d, 0x83, 0x56, 0xa6, 0xbf, 0xea, 0x3b, 0x02, 0xbc, 0xa1,
+	0x5f, 0x52, 0x50, 0x49, 0x8d, 0xc5, 0xd9, 0x6a, 0x68, 0x13, 0xff, 0x84, 0x00, 0x86, 0x1e, 0x04,
+	0x5f, 0x2f, 0x21, 0xea, 0x59, 0x81, 0xde, 0x10, 0x40, 0xaf, 0x62, 0x63, 0x3a, 0x50, 0x33, 0xf5,
+	0x0c, 0xb1, 0xb2, 0x9f, 0x22, 0x58, 0xcc, 0x3a, 0x13, 0x35, 0x5e, 0xc7, 0xf8, 0x26, 0x6d, 0xb7,
+	0x7c, 0xa0, 0x14, 0xf4, 0x28, 0xf6, 0x82, 0xa0, 0x73, 0x34, 0x0f, 0xe0, 0xe3, 0x5f, 0x10, 0x54,
+	0x32, 0x5e, 0x06, 0xdf, 0x50, 0x93, 0x44, 0xde, 0xfc, 0x94, 0x23, 0xfa, 0x96, 0x00, 0xbb, 0xab,
+	0x5f, 0x2b, 0x47, 0x74, 0x8d, 0x71, 0x3f, 0x88, 0xb5, 0xf1, 0x97, 0xbc, 0x4a, 0x32, 0x3e, 0x47,
+	0xfd, 0x2a, 0x29, 0x7a, 0x31, 0xf5, 0xab, 0x64, 0x8c, 0xb1, 0x4a, 0xcf, 0x26, 0x7e, 0x5b, 0x85,
+	0xf9, 0x6c, 0x39, 0x66, 0xd6, 0x4b, 0xfd, 0x9a, 0xc8, 0x5d, 0xb6, 0x56, 0x65, 0xb9, 0x8f, 0x9a,
+	0x2a, 0xad, 0x8c, 0x23, 0xd1, 0xf7, 0x04, 0xf0, 0x3a, 0x7e, 0xab, 0xd4, 0x2e, 0xa4, 0xbf, 0xd7,
+	0x85, 0xf2, 0x7f, 0x97, 0xca, 0x4f, 0xcd, 0x92, 0xba, 0xf2, 0x73, 0x16, 0x4f, 0x5d, 0xf9, 0x79,
+	0x5f, 0x96, 0x2b, 0xa3, 0x0c, 0xff, 0x03, 0x47, 0xf6, 0x6c, 0xd4, 0xf3, 0x0d, 0x6c, 0x0c, 0x7e,
+	0xa7, 0x24, 0xaa, 0xbc, 0x49, 0xd3, 0xde, 0x9d, 0x7d, 0x01, 0x59, 0xde, 0x07, 0xa2, 0xbc, 0x7d,
+	0xbc, 0x37, 0x6b, 0x79, 0x83, 0x25, 0xb5, 0xa3, 0x3f, 0xf7, 0x5e, 0x1d, 0x83, 0x20, 0x41, 0x68,
+	0x07, 0x2e, 0x33, 0x1c, 0xbf, 0xf7, 0xf7, 0x9e, 0x71, 0x9f, 0xf3, 0x80, 0xd5, 0x4c, 0xb3, 0xdf,
+	0xef, 0xe7, 0x3e, 0x9a, 0x76, 0xc4, 0xef, 0x27, 0x7f, 0xad, 0x5c, 0x09, 0x3c, 0x9b, 0x77, 0xfc,
+	0xb0, 0x77, 0xfb, 0x7b, 0x04, 0x17, 0x1d, 0xbf, 0xa7, 0x50, 0xe9, 0xed, 0x6a, 0xd1, 0x13, 0x1e,
+	0xc4, 0xde, 0xe7, 0x00, 0x7d, 0x76, 0x28, 0xc3, 0xbb, 0xbe, 0x67, 0xd3, 0xae, 0xe1, 0x87, 0x5d,
+	0xb3, 0x4b, 0xa8, 0x70, 0x46, 0xe6, 0x10, 0xc4, 0xa4, 0xbf, 0x75, 0xea, 0xc5, 0xd1, 0xd6, 0x9c,
+	0x58, 0xe0, 0xda, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1b, 0xd4, 0xed, 0x76, 0x72, 0x13, 0x00,
+	0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// WebSecurityScannerClient is the client API for WebSecurityScanner service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type WebSecurityScannerClient interface {
+	// Creates a new ScanConfig.
+	CreateScanConfig(ctx context.Context, in *CreateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error)
+	// Deletes an existing ScanConfig and its child resources.
+	DeleteScanConfig(ctx context.Context, in *DeleteScanConfigRequest, opts ...grpc.CallOption) (*empty.Empty, error)
+	// Gets a ScanConfig.
+	GetScanConfig(ctx context.Context, in *GetScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error)
+	// Lists ScanConfigs under a given project.
+	ListScanConfigs(ctx context.Context, in *ListScanConfigsRequest, opts ...grpc.CallOption) (*ListScanConfigsResponse, error)
+	// Updates a ScanConfig. This method support partial update of a ScanConfig.
+	UpdateScanConfig(ctx context.Context, in *UpdateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error)
+	// Start a ScanRun according to the given ScanConfig.
+	StartScanRun(ctx context.Context, in *StartScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error)
+	// Gets a ScanRun.
+	GetScanRun(ctx context.Context, in *GetScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error)
+	// Lists ScanRuns under a given ScanConfig, in descending order of ScanRun
+	// stop time.
+	ListScanRuns(ctx context.Context, in *ListScanRunsRequest, opts ...grpc.CallOption) (*ListScanRunsResponse, error)
+	// Stops a ScanRun. The stopped ScanRun is returned.
+	StopScanRun(ctx context.Context, in *StopScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error)
+	// List CrawledUrls under a given ScanRun.
+	ListCrawledUrls(ctx context.Context, in *ListCrawledUrlsRequest, opts ...grpc.CallOption) (*ListCrawledUrlsResponse, error)
+	// Gets a Finding.
+	GetFinding(ctx context.Context, in *GetFindingRequest, opts ...grpc.CallOption) (*Finding, error)
+	// List Findings under a given ScanRun.
+	ListFindings(ctx context.Context, in *ListFindingsRequest, opts ...grpc.CallOption) (*ListFindingsResponse, error)
+	// List all FindingTypeStats under a given ScanRun.
+	ListFindingTypeStats(ctx context.Context, in *ListFindingTypeStatsRequest, opts ...grpc.CallOption) (*ListFindingTypeStatsResponse, error)
+}
+
+type webSecurityScannerClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewWebSecurityScannerClient(cc grpc.ClientConnInterface) WebSecurityScannerClient {
+	return &webSecurityScannerClient{cc}
+}
+
+func (c *webSecurityScannerClient) CreateScanConfig(ctx context.Context, in *CreateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error) {
+	out := new(ScanConfig)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/CreateScanConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) DeleteScanConfig(ctx context.Context, in *DeleteScanConfigRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
+	out := new(empty.Empty)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/DeleteScanConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) GetScanConfig(ctx context.Context, in *GetScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error) {
+	out := new(ScanConfig)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetScanConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) ListScanConfigs(ctx context.Context, in *ListScanConfigsRequest, opts ...grpc.CallOption) (*ListScanConfigsResponse, error) {
+	out := new(ListScanConfigsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListScanConfigs", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) UpdateScanConfig(ctx context.Context, in *UpdateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error) {
+	out := new(ScanConfig)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/UpdateScanConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) StartScanRun(ctx context.Context, in *StartScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error) {
+	out := new(ScanRun)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/StartScanRun", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) GetScanRun(ctx context.Context, in *GetScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error) {
+	out := new(ScanRun)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetScanRun", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) ListScanRuns(ctx context.Context, in *ListScanRunsRequest, opts ...grpc.CallOption) (*ListScanRunsResponse, error) {
+	out := new(ListScanRunsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListScanRuns", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) StopScanRun(ctx context.Context, in *StopScanRunRequest, opts ...grpc.CallOption) (*ScanRun, error) {
+	out := new(ScanRun)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/StopScanRun", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) ListCrawledUrls(ctx context.Context, in *ListCrawledUrlsRequest, opts ...grpc.CallOption) (*ListCrawledUrlsResponse, error) {
+	out := new(ListCrawledUrlsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListCrawledUrls", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) GetFinding(ctx context.Context, in *GetFindingRequest, opts ...grpc.CallOption) (*Finding, error) {
+	out := new(Finding)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetFinding", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) ListFindings(ctx context.Context, in *ListFindingsRequest, opts ...grpc.CallOption) (*ListFindingsResponse, error) {
+	out := new(ListFindingsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListFindings", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *webSecurityScannerClient) ListFindingTypeStats(ctx context.Context, in *ListFindingTypeStatsRequest, opts ...grpc.CallOption) (*ListFindingTypeStatsResponse, error) {
+	out := new(ListFindingTypeStatsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListFindingTypeStats", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// WebSecurityScannerServer is the server API for WebSecurityScanner service.
+type WebSecurityScannerServer interface {
+	// Creates a new ScanConfig.
+	CreateScanConfig(context.Context, *CreateScanConfigRequest) (*ScanConfig, error)
+	// Deletes an existing ScanConfig and its child resources.
+	DeleteScanConfig(context.Context, *DeleteScanConfigRequest) (*empty.Empty, error)
+	// Gets a ScanConfig.
+	GetScanConfig(context.Context, *GetScanConfigRequest) (*ScanConfig, error)
+	// Lists ScanConfigs under a given project.
+	ListScanConfigs(context.Context, *ListScanConfigsRequest) (*ListScanConfigsResponse, error)
+	// Updates a ScanConfig. This method support partial update of a ScanConfig.
+	UpdateScanConfig(context.Context, *UpdateScanConfigRequest) (*ScanConfig, error)
+	// Start a ScanRun according to the given ScanConfig.
+	StartScanRun(context.Context, *StartScanRunRequest) (*ScanRun, error)
+	// Gets a ScanRun.
+	GetScanRun(context.Context, *GetScanRunRequest) (*ScanRun, error)
+	// Lists ScanRuns under a given ScanConfig, in descending order of ScanRun
+	// stop time.
+	ListScanRuns(context.Context, *ListScanRunsRequest) (*ListScanRunsResponse, error)
+	// Stops a ScanRun. The stopped ScanRun is returned.
+	StopScanRun(context.Context, *StopScanRunRequest) (*ScanRun, error)
+	// List CrawledUrls under a given ScanRun.
+	ListCrawledUrls(context.Context, *ListCrawledUrlsRequest) (*ListCrawledUrlsResponse, error)
+	// Gets a Finding.
+	GetFinding(context.Context, *GetFindingRequest) (*Finding, error)
+	// List Findings under a given ScanRun.
+	ListFindings(context.Context, *ListFindingsRequest) (*ListFindingsResponse, error)
+	// List all FindingTypeStats under a given ScanRun.
+	ListFindingTypeStats(context.Context, *ListFindingTypeStatsRequest) (*ListFindingTypeStatsResponse, error)
+}
+
+// UnimplementedWebSecurityScannerServer can be embedded to have forward compatible implementations.
+type UnimplementedWebSecurityScannerServer struct {
+}
+
+func (*UnimplementedWebSecurityScannerServer) CreateScanConfig(ctx context.Context, req *CreateScanConfigRequest) (*ScanConfig, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateScanConfig not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) DeleteScanConfig(ctx context.Context, req *DeleteScanConfigRequest) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteScanConfig not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) GetScanConfig(ctx context.Context, req *GetScanConfigRequest) (*ScanConfig, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetScanConfig not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) ListScanConfigs(ctx context.Context, req *ListScanConfigsRequest) (*ListScanConfigsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListScanConfigs not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) UpdateScanConfig(ctx context.Context, req *UpdateScanConfigRequest) (*ScanConfig, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateScanConfig not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) StartScanRun(ctx context.Context, req *StartScanRunRequest) (*ScanRun, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method StartScanRun not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) GetScanRun(ctx context.Context, req *GetScanRunRequest) (*ScanRun, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetScanRun not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) ListScanRuns(ctx context.Context, req *ListScanRunsRequest) (*ListScanRunsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListScanRuns not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) StopScanRun(ctx context.Context, req *StopScanRunRequest) (*ScanRun, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method StopScanRun not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) ListCrawledUrls(ctx context.Context, req *ListCrawledUrlsRequest) (*ListCrawledUrlsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListCrawledUrls not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) GetFinding(ctx context.Context, req *GetFindingRequest) (*Finding, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetFinding not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) ListFindings(ctx context.Context, req *ListFindingsRequest) (*ListFindingsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListFindings not implemented")
+}
+func (*UnimplementedWebSecurityScannerServer) ListFindingTypeStats(ctx context.Context, req *ListFindingTypeStatsRequest) (*ListFindingTypeStatsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListFindingTypeStats not implemented")
+}
+
+func RegisterWebSecurityScannerServer(s *grpc.Server, srv WebSecurityScannerServer) {
+	s.RegisterService(&_WebSecurityScanner_serviceDesc, srv)
+}
+
+func _WebSecurityScanner_CreateScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateScanConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).CreateScanConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/CreateScanConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).CreateScanConfig(ctx, req.(*CreateScanConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_DeleteScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteScanConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).DeleteScanConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/DeleteScanConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).DeleteScanConfig(ctx, req.(*DeleteScanConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_GetScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetScanConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).GetScanConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetScanConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).GetScanConfig(ctx, req.(*GetScanConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_ListScanConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListScanConfigsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).ListScanConfigs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListScanConfigs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).ListScanConfigs(ctx, req.(*ListScanConfigsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_UpdateScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateScanConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).UpdateScanConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/UpdateScanConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).UpdateScanConfig(ctx, req.(*UpdateScanConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_StartScanRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StartScanRunRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).StartScanRun(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/StartScanRun",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).StartScanRun(ctx, req.(*StartScanRunRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_GetScanRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetScanRunRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).GetScanRun(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetScanRun",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).GetScanRun(ctx, req.(*GetScanRunRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_ListScanRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListScanRunsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).ListScanRuns(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListScanRuns",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).ListScanRuns(ctx, req.(*ListScanRunsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_StopScanRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StopScanRunRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).StopScanRun(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/StopScanRun",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).StopScanRun(ctx, req.(*StopScanRunRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_ListCrawledUrls_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListCrawledUrlsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).ListCrawledUrls(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListCrawledUrls",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).ListCrawledUrls(ctx, req.(*ListCrawledUrlsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_GetFinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetFindingRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).GetFinding(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/GetFinding",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).GetFinding(ctx, req.(*GetFindingRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_ListFindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListFindingsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).ListFindings(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListFindings",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).ListFindings(ctx, req.(*ListFindingsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _WebSecurityScanner_ListFindingTypeStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListFindingTypeStatsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(WebSecurityScannerServer).ListFindingTypeStats(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.websecurityscanner.v1.WebSecurityScanner/ListFindingTypeStats",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(WebSecurityScannerServer).ListFindingTypeStats(ctx, req.(*ListFindingTypeStatsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _WebSecurityScanner_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.websecurityscanner.v1.WebSecurityScanner",
+	HandlerType: (*WebSecurityScannerServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateScanConfig",
+			Handler:    _WebSecurityScanner_CreateScanConfig_Handler,
+		},
+		{
+			MethodName: "DeleteScanConfig",
+			Handler:    _WebSecurityScanner_DeleteScanConfig_Handler,
+		},
+		{
+			MethodName: "GetScanConfig",
+			Handler:    _WebSecurityScanner_GetScanConfig_Handler,
+		},
+		{
+			MethodName: "ListScanConfigs",
+			Handler:    _WebSecurityScanner_ListScanConfigs_Handler,
+		},
+		{
+			MethodName: "UpdateScanConfig",
+			Handler:    _WebSecurityScanner_UpdateScanConfig_Handler,
+		},
+		{
+			MethodName: "StartScanRun",
+			Handler:    _WebSecurityScanner_StartScanRun_Handler,
+		},
+		{
+			MethodName: "GetScanRun",
+			Handler:    _WebSecurityScanner_GetScanRun_Handler,
+		},
+		{
+			MethodName: "ListScanRuns",
+			Handler:    _WebSecurityScanner_ListScanRuns_Handler,
+		},
+		{
+			MethodName: "StopScanRun",
+			Handler:    _WebSecurityScanner_StopScanRun_Handler,
+		},
+		{
+			MethodName: "ListCrawledUrls",
+			Handler:    _WebSecurityScanner_ListCrawledUrls_Handler,
+		},
+		{
+			MethodName: "GetFinding",
+			Handler:    _WebSecurityScanner_GetFinding_Handler,
+		},
+		{
+			MethodName: "ListFindings",
+			Handler:    _WebSecurityScanner_ListFindings_Handler,
+		},
+		{
+			MethodName: "ListFindingTypeStats",
+			Handler:    _WebSecurityScanner_ListFindingTypeStats_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/websecurityscanner/v1/web_security_scanner.proto",
+}
diff --git a/googleapis/monitoring/v3/alert.pb.go b/googleapis/monitoring/v3/alert.pb.go
index 9ebf27b..4bbf3f0 100644
--- a/googleapis/monitoring/v3/alert.pb.go
+++ b/googleapis/monitoring/v3/alert.pb.go
@@ -342,7 +342,6 @@
 	// Types that are valid to be assigned to Condition:
 	//	*AlertPolicy_Condition_ConditionThreshold
 	//	*AlertPolicy_Condition_ConditionAbsent
-	//	*AlertPolicy_Condition_ConditionTimeSeriesQueryLanguage
 	Condition            isAlertPolicy_Condition_Condition `protobuf_oneof:"condition"`
 	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
 	XXX_unrecognized     []byte                            `json:"-"`
@@ -400,16 +399,10 @@
 	ConditionAbsent *AlertPolicy_Condition_MetricAbsence `protobuf:"bytes,2,opt,name=condition_absent,json=conditionAbsent,proto3,oneof"`
 }
 
-type AlertPolicy_Condition_ConditionTimeSeriesQueryLanguage struct {
-	ConditionTimeSeriesQueryLanguage *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition `protobuf:"bytes,14,opt,name=condition_time_series_query_language,json=conditionTimeSeriesQueryLanguage,proto3,oneof"`
-}
-
 func (*AlertPolicy_Condition_ConditionThreshold) isAlertPolicy_Condition_Condition() {}
 
 func (*AlertPolicy_Condition_ConditionAbsent) isAlertPolicy_Condition_Condition() {}
 
-func (*AlertPolicy_Condition_ConditionTimeSeriesQueryLanguage) isAlertPolicy_Condition_Condition() {}
-
 func (m *AlertPolicy_Condition) GetCondition() isAlertPolicy_Condition_Condition {
 	if m != nil {
 		return m.Condition
@@ -431,19 +424,11 @@
 	return nil
 }
 
-func (m *AlertPolicy_Condition) GetConditionTimeSeriesQueryLanguage() *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition {
-	if x, ok := m.GetCondition().(*AlertPolicy_Condition_ConditionTimeSeriesQueryLanguage); ok {
-		return x.ConditionTimeSeriesQueryLanguage
-	}
-	return nil
-}
-
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*AlertPolicy_Condition) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
 		(*AlertPolicy_Condition_ConditionThreshold)(nil),
 		(*AlertPolicy_Condition_ConditionAbsent)(nil),
-		(*AlertPolicy_Condition_ConditionTimeSeriesQueryLanguage)(nil),
 	}
 }
 
@@ -790,64 +775,6 @@
 	return nil
 }
 
-// A condition type that allows alert policies to be defined using
-// Monitoring Query Language.
-type AlertPolicy_Condition_TimeSeriesQueryLanguageCondition struct {
-	// Monitoring Query Language query that generates time series data and
-	// describes a condition for alerting on that data.
-	Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
-	// A short explanation of what the query represents. For example:
-	//
-	//   "Error ratio exceeds 15% for >5% of servers in >2 regions"
-	Summary              string   `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) Reset() {
-	*m = AlertPolicy_Condition_TimeSeriesQueryLanguageCondition{}
-}
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) String() string {
-	return proto.CompactTextString(m)
-}
-func (*AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) ProtoMessage() {}
-func (*AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) Descriptor() ([]byte, []int) {
-	return fileDescriptor_014ef0e1a0f00a00, []int{0, 1, 3}
-}
-
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition.Unmarshal(m, b)
-}
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition.Marshal(b, m, deterministic)
-}
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition.Merge(m, src)
-}
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) XXX_Size() int {
-	return xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition.Size(m)
-}
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) XXX_DiscardUnknown() {
-	xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AlertPolicy_Condition_TimeSeriesQueryLanguageCondition proto.InternalMessageInfo
-
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) GetQuery() string {
-	if m != nil {
-		return m.Query
-	}
-	return ""
-}
-
-func (m *AlertPolicy_Condition_TimeSeriesQueryLanguageCondition) GetSummary() string {
-	if m != nil {
-		return m.Summary
-	}
-	return ""
-}
-
 func init() {
 	proto.RegisterEnum("google.monitoring.v3.AlertPolicy_ConditionCombinerType", AlertPolicy_ConditionCombinerType_name, AlertPolicy_ConditionCombinerType_value)
 	proto.RegisterType((*AlertPolicy)(nil), "google.monitoring.v3.AlertPolicy")
@@ -857,7 +784,6 @@
 	proto.RegisterType((*AlertPolicy_Condition_Trigger)(nil), "google.monitoring.v3.AlertPolicy.Condition.Trigger")
 	proto.RegisterType((*AlertPolicy_Condition_MetricThreshold)(nil), "google.monitoring.v3.AlertPolicy.Condition.MetricThreshold")
 	proto.RegisterType((*AlertPolicy_Condition_MetricAbsence)(nil), "google.monitoring.v3.AlertPolicy.Condition.MetricAbsence")
-	proto.RegisterType((*AlertPolicy_Condition_TimeSeriesQueryLanguageCondition)(nil), "google.monitoring.v3.AlertPolicy.Condition.TimeSeriesQueryLanguageCondition")
 }
 
 func init() {
@@ -865,80 +791,75 @@
 }
 
 var fileDescriptor_014ef0e1a0f00a00 = []byte{
-	// 1188 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdb, 0x6e, 0xdb, 0x46,
-	0x13, 0x16, 0xa5, 0x58, 0xb2, 0x46, 0x3e, 0x28, 0x9b, 0x13, 0xc3, 0x1f, 0x7f, 0xa0, 0x04, 0x29,
-	0x6a, 0xa4, 0x08, 0x89, 0x5a, 0x2d, 0xda, 0x28, 0x68, 0x01, 0x59, 0x92, 0x23, 0xa3, 0x91, 0xe2,
-	0xae, 0x65, 0x17, 0x28, 0x0c, 0x10, 0x2b, 0x6a, 0xcd, 0xb0, 0x25, 0xb9, 0xec, 0x92, 0x74, 0xa1,
-	0x1a, 0x79, 0x8a, 0x5e, 0xf4, 0xae, 0x0f, 0xd0, 0xc7, 0x28, 0xd0, 0x8b, 0xf6, 0x4d, 0x1a, 0xf4,
-	0xaa, 0xe8, 0x03, 0x14, 0x5c, 0x1e, 0x44, 0x39, 0x72, 0x1c, 0x19, 0xbd, 0xdb, 0xd9, 0xf9, 0xe6,
-	0x9b, 0x9d, 0x23, 0x09, 0x0d, 0x93, 0x31, 0xd3, 0xa6, 0x9a, 0xc3, 0x5c, 0x2b, 0x60, 0xdc, 0x72,
-	0x4d, 0xed, 0xb4, 0xa9, 0x11, 0x9b, 0xf2, 0x40, 0xf5, 0x38, 0x0b, 0x18, 0xba, 0x19, 0x23, 0xd4,
-	0x19, 0x42, 0x3d, 0x6d, 0x2a, 0x77, 0x13, 0x3b, 0xe2, 0x59, 0x1a, 0xa7, 0x3e, 0x0b, 0xb9, 0x41,
-	0x63, 0x03, 0xe5, 0xfe, 0x42, 0x4a, 0x83, 0x39, 0x0e, 0x73, 0x13, 0xc8, 0xa3, 0x85, 0x10, 0x27,
-	0x0c, 0x48, 0x60, 0x31, 0x57, 0xe7, 0xd4, 0x60, 0x7c, 0x92, 0x60, 0xef, 0x25, 0x58, 0x21, 0x8d,
-	0xc3, 0x13, 0x6d, 0x12, 0x72, 0x01, 0xbb, 0x48, 0xff, 0x3d, 0x27, 0x9e, 0x47, 0xb9, 0x9f, 0xe8,
-	0xef, 0x24, 0x7a, 0xee, 0x19, 0x9a, 0x1f, 0x90, 0x20, 0x4c, 0x14, 0x0f, 0xfe, 0xba, 0x05, 0xb5,
-	0x76, 0x14, 0xe8, 0x3e, 0xb3, 0x2d, 0x63, 0x8a, 0x10, 0x5c, 0x73, 0x89, 0x43, 0x65, 0xa9, 0x21,
-	0x6d, 0x55, 0xb1, 0x38, 0xa3, 0xfb, 0xb0, 0x36, 0xb1, 0x7c, 0xcf, 0x26, 0x53, 0x5d, 0xe8, 0x8a,
-	0x42, 0x57, 0x4b, 0xee, 0x86, 0x11, 0xe4, 0x10, 0xd6, 0x27, 0xcc, 0x08, 0x1d, 0xea, 0xc6, 0xaf,
-	0x97, 0xd7, 0x1b, 0xd2, 0x56, 0x6d, 0x5b, 0x53, 0x17, 0xe5, 0x4d, 0xcd, 0x39, 0x54, 0xbb, 0x79,
-	0x33, 0x3c, 0xcf, 0x82, 0x30, 0xd4, 0x42, 0x9f, 0x72, 0xdd, 0x26, 0x63, 0x6a, 0xfb, 0x72, 0xbd,
-	0x51, 0xda, 0xaa, 0x6d, 0x7f, 0x78, 0x39, 0xe9, 0xa1, 0x4f, 0xf9, 0x73, 0x61, 0xd3, 0x73, 0x03,
-	0x3e, 0xc5, 0x10, 0x66, 0x17, 0xe8, 0x0b, 0x00, 0x83, 0xb9, 0x13, 0x2b, 0x72, 0xe0, 0xcb, 0x6b,
-	0x82, 0xf2, 0x83, 0xcb, 0x29, 0x3b, 0xa9, 0x0d, 0xce, 0x99, 0xa3, 0x03, 0x58, 0x35, 0x98, 0x33,
-	0xb6, 0x5c, 0xca, 0xe5, 0x72, 0x43, 0xda, 0xda, 0xd8, 0xfe, 0x64, 0x09, 0xaa, 0x4e, 0x62, 0x3a,
-	0x9a, 0x7a, 0x14, 0x67, 0x44, 0xe8, 0x23, 0xa8, 0x50, 0x97, 0x8c, 0x6d, 0x3a, 0x91, 0xaf, 0x8b,
-	0x34, 0x2a, 0x29, 0x67, 0x5a, 0x5e, 0x75, 0x87, 0x31, 0xfb, 0x88, 0xd8, 0x21, 0xc5, 0x29, 0x14,
-	0xa9, 0xb0, 0x7a, 0x4a, 0x6c, 0x6b, 0x62, 0x05, 0x53, 0x19, 0x09, 0x33, 0x94, 0x9a, 0x71, 0xcf,
-	0x50, 0x0f, 0x44, 0xd5, 0x71, 0x86, 0x41, 0x4d, 0xb8, 0xe5, 0xb2, 0xc0, 0x3a, 0xb1, 0x8c, 0xb8,
-	0xdf, 0x8c, 0x97, 0xc4, 0x75, 0xa3, 0x2c, 0x6f, 0x34, 0x4a, 0x5b, 0x55, 0x7c, 0x33, 0xaf, 0xec,
-	0x24, 0x3a, 0x34, 0x80, 0x4d, 0x83, 0xd3, 0x7c, 0x83, 0xca, 0x20, 0x7c, 0x3d, 0x5c, 0x1c, 0xf6,
-	0x20, 0xe9, 0x66, 0x2c, 0xb0, 0x78, 0x23, 0x35, 0x8e, 0xe5, 0x88, 0xee, 0x5c, 0xbf, 0xcb, 0xb5,
-	0x65, 0xe8, 0x9c, 0x39, 0x59, 0xd9, 0x85, 0xf5, 0xb9, 0x76, 0x42, 0x32, 0x54, 0x0c, 0xe6, 0x06,
-	0xd4, 0x0d, 0x92, 0x86, 0x4e, 0x45, 0xf4, 0x3f, 0xa8, 0x3a, 0x96, 0x43, 0xf5, 0x60, 0xea, 0xa5,
-	0x0d, 0xbd, 0x1a, 0x5d, 0x44, 0xa5, 0x50, 0xfe, 0x5c, 0x83, 0x6a, 0x56, 0xa4, 0x6c, 0x24, 0xd6,
-	0xde, 0x32, 0x12, 0xe5, 0x37, 0x47, 0xc2, 0x85, 0x1b, 0x59, 0xa3, 0xe8, 0xc1, 0x4b, 0x4e, 0xfd,
-	0x97, 0xcc, 0x9e, 0x88, 0x77, 0xd4, 0xb6, 0x9f, 0x2e, 0xd1, 0x25, 0xea, 0x80, 0x06, 0xdc, 0x32,
-	0x46, 0x29, 0x45, 0xbf, 0x80, 0x51, 0xc6, 0x9c, 0xdd, 0xa2, 0x13, 0xa8, 0xcf, 0xfc, 0x91, 0xb1,
-	0x1f, 0x05, 0x5d, 0x14, 0xce, 0x9e, 0x2c, 0xef, 0xac, 0x1d, 0xd9, 0x1b, 0xb4, 0x5f, 0xc0, 0x9b,
-	0x19, 0xa9, 0xb8, 0x0b, 0xd0, 0xcf, 0x12, 0x3c, 0xcc, 0x05, 0x16, 0x25, 0xd1, 0xa7, 0xdc, 0xa2,
-	0xbe, 0xfe, 0x5d, 0x48, 0xf9, 0x54, 0xb7, 0x89, 0x6b, 0x86, 0xc4, 0xa4, 0xf2, 0x86, 0x70, 0xfe,
-	0x7c, 0x19, 0xe7, 0x23, 0xcb, 0xa1, 0x07, 0x82, 0xec, 0xcb, 0x88, 0xeb, 0x79, 0x42, 0x95, 0x01,
-	0xfa, 0x05, 0xdc, 0x98, 0x85, 0xbe, 0x18, 0xac, 0xf4, 0xa0, 0x32, 0xe2, 0x96, 0x69, 0x52, 0x8e,
-	0x6e, 0xc3, 0x8a, 0xc1, 0xc2, 0xa4, 0xfa, 0x2b, 0xfd, 0x02, 0x8e, 0x45, 0xa4, 0x40, 0xc5, 0xa3,
-	0xdc, 0x48, 0x53, 0x24, 0xf5, 0x0b, 0x38, 0xbd, 0xd8, 0x29, 0xc3, 0xb5, 0xa8, 0x29, 0x94, 0xbf,
-	0x4b, 0xb0, 0x79, 0x2e, 0xf3, 0xe8, 0x36, 0x94, 0x4f, 0x2c, 0x3b, 0xa0, 0x3c, 0x69, 0x99, 0x44,
-	0x42, 0x3d, 0x58, 0x23, 0xa6, 0xc9, 0xa9, 0x49, 0xe2, 0xad, 0xb2, 0x2a, 0xb6, 0xca, 0xfd, 0x0b,
-	0x42, 0x9f, 0x21, 0xf1, 0x9c, 0x19, 0x7a, 0x0c, 0x68, 0x42, 0x5d, 0xe6, 0x58, 0x2e, 0x09, 0x18,
-	0xd7, 0x13, 0x57, 0x55, 0xe1, 0xea, 0x7a, 0x4e, 0xb3, 0x1b, 0x7b, 0x3d, 0x06, 0x39, 0x0f, 0x9f,
-	0x7b, 0x01, 0xbc, 0xeb, 0x0b, 0xee, 0xe4, 0x28, 0xda, 0xf9, 0xc7, 0x74, 0xa3, 0x3d, 0xe9, 0x78,
-	0x84, 0x5b, 0x3e, 0x73, 0xe5, 0x6b, 0x62, 0xb9, 0x5d, 0x30, 0x96, 0x9d, 0x0c, 0x27, 0x36, 0x59,
-	0xce, 0x0e, 0xbd, 0x0f, 0x9b, 0x59, 0xef, 0xeb, 0xa7, 0xd1, 0xc6, 0x92, 0x57, 0xa2, 0x8c, 0xe3,
-	0x8d, 0xec, 0x5a, 0xec, 0x31, 0xf4, 0x31, 0xac, 0xa6, 0xdf, 0x34, 0x31, 0x4d, 0xb5, 0xed, 0xbb,
-	0x6f, 0x6c, 0xbd, 0x6e, 0x02, 0xc0, 0x19, 0x14, 0x0d, 0xa0, 0x12, 0xc4, 0xc5, 0x96, 0x2b, 0xc2,
-	0xaa, 0xb9, 0x54, 0xbf, 0xc5, 0xa6, 0x38, 0xe5, 0x50, 0xfe, 0x91, 0x60, 0x7d, 0x6e, 0x02, 0x72,
-	0x25, 0x97, 0xde, 0x5a, 0xf2, 0x95, 0xab, 0x95, 0x3c, 0x1f, 0x76, 0xf1, 0x4a, 0x61, 0x97, 0xfe,
-	0x83, 0xb0, 0x31, 0x34, 0x2e, 0x1b, 0x3d, 0x74, 0x13, 0x56, 0xc4, 0x80, 0x27, 0x79, 0x88, 0x85,
-	0x68, 0xc3, 0xfa, 0xa1, 0xe3, 0x10, 0x3e, 0x4d, 0x46, 0x22, 0x15, 0x5b, 0x3f, 0x15, 0x5f, 0xb7,
-	0x7f, 0x2c, 0x42, 0xfe, 0x41, 0xf1, 0x13, 0x89, 0x67, 0xf9, 0xaa, 0xc1, 0x1c, 0x2d, 0xf7, 0xb8,
-	0x99, 0x9b, 0x5d, 0x8f, 0xb3, 0x6f, 0xa8, 0x11, 0xf8, 0xda, 0x59, 0x72, 0x7a, 0x15, 0xff, 0x89,
-	0x09, 0xa0, 0x45, 0x7d, 0xed, 0x4c, 0x88, 0xba, 0x27, 0x0c, 0x5f, 0x69, 0xb3, 0xaf, 0xb1, 0x76,
-	0x96, 0x9d, 0x5f, 0xa1, 0x7d, 0xc6, 0x4d, 0xe2, 0x5a, 0x3f, 0x90, 0x44, 0x95, 0x17, 0xaf, 0xc6,
-	0xd8, 0x3d, 0x61, 0xf6, 0x84, 0x72, 0x5f, 0x3b, 0x8b, 0x0f, 0x57, 0x63, 0x91, 0x1e, 0xed, 0xd4,
-	0xa0, 0x9a, 0x5d, 0x28, 0x9f, 0xc1, 0xe6, 0xb9, 0xbf, 0x15, 0x54, 0x87, 0xd2, 0xb7, 0x34, 0xcd,
-	0x73, 0x74, 0x8c, 0x72, 0x1f, 0xcf, 0x4e, 0x9c, 0xe3, 0x58, 0x68, 0x15, 0x3f, 0x95, 0x1e, 0x10,
-	0xb8, 0xb5, 0xf0, 0x77, 0x02, 0xdd, 0x81, 0x1b, 0x9d, 0x17, 0x83, 0x9d, 0xbd, 0x61, 0x4f, 0x3f,
-	0x1c, 0x1e, 0xec, 0xf7, 0x3a, 0x7b, 0xbb, 0x7b, 0xbd, 0x6e, 0xbd, 0x80, 0x2a, 0x50, 0x6a, 0x0f,
-	0xbb, 0x75, 0x09, 0x95, 0xa1, 0xf8, 0x02, 0xd7, 0x8b, 0xe8, 0x1e, 0x28, 0xed, 0x61, 0x57, 0xff,
-	0x6a, 0x6f, 0xd4, 0xd7, 0x07, 0xed, 0x51, 0xa7, 0xbf, 0x37, 0x7c, 0xa6, 0xe3, 0xde, 0xc1, 0x8b,
-	0x43, 0xdc, 0xe9, 0xd5, 0x4b, 0xad, 0xdf, 0xa5, 0xd7, 0xed, 0xdf, 0x24, 0x78, 0xef, 0x9d, 0x0a,
-	0x89, 0xb4, 0x25, 0xeb, 0x87, 0x9e, 0x5c, 0xb9, 0x50, 0xe8, 0xf1, 0x52, 0x15, 0x89, 0x52, 0xff,
-	0xab, 0x04, 0xb2, 0xc1, 0x9c, 0x85, 0xc3, 0xb2, 0x03, 0x71, 0x1c, 0xd1, 0xd8, 0xed, 0x4b, 0x5f,
-	0x7f, 0x9e, 0x60, 0x4c, 0x16, 0x7d, 0xd1, 0x54, 0xc6, 0x4d, 0xcd, 0xa4, 0xae, 0x18, 0x4a, 0x6d,
-	0x16, 0xff, 0xfc, 0xdf, 0xfb, 0xd3, 0x99, 0xf4, 0x4b, 0x51, 0x79, 0x16, 0x13, 0x74, 0x6c, 0x16,
-	0x4e, 0xd4, 0xc1, 0xcc, 0xd5, 0x51, 0xf3, 0x8f, 0x54, 0x79, 0x2c, 0x94, 0xc7, 0x33, 0xe5, 0xf1,
-	0x51, 0xf3, 0x75, 0xf1, 0xff, 0xb1, 0xb2, 0xd5, 0x12, 0xda, 0x56, 0x6b, 0xa6, 0x6e, 0xb5, 0x8e,
-	0x9a, 0xe3, 0xb2, 0x78, 0x44, 0xf3, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x97, 0x98, 0xff, 0xec,
-	0xb7, 0x0c, 0x00, 0x00,
+	// 1109 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
+	0x14, 0xae, 0x93, 0x6d, 0xd2, 0x9c, 0xf4, 0x27, 0x3b, 0xdb, 0xdd, 0x7a, 0x8d, 0x58, 0xa5, 0x2b,
+	0x10, 0xd5, 0xa2, 0xb5, 0x45, 0x03, 0x82, 0xcd, 0x0a, 0xa4, 0x34, 0x49, 0x37, 0x15, 0x24, 0xad,
+	0xdc, 0x1f, 0x24, 0x54, 0xc9, 0x72, 0x9c, 0xa9, 0x6b, 0xb0, 0x67, 0xac, 0xb1, 0x5d, 0x14, 0xaa,
+	0x3e, 0x05, 0x17, 0xbc, 0x03, 0x8f, 0x81, 0xc4, 0x05, 0x3c, 0x4a, 0x2f, 0xd1, 0x4a, 0xdc, 0x22,
+	0x8f, 0xc7, 0x8e, 0xd3, 0x4d, 0x77, 0x37, 0xe5, 0x6e, 0xce, 0x9c, 0xef, 0x7c, 0x67, 0xce, 0x9c,
+	0x6f, 0x8e, 0x0d, 0x75, 0x9b, 0x52, 0xdb, 0xc5, 0x9a, 0x47, 0x89, 0x13, 0x52, 0xe6, 0x10, 0x5b,
+	0xbb, 0x68, 0x68, 0xa6, 0x8b, 0x59, 0xa8, 0xfa, 0x8c, 0x86, 0x14, 0xad, 0x27, 0x08, 0x75, 0x82,
+	0x50, 0x2f, 0x1a, 0xca, 0x63, 0x11, 0x67, 0xfa, 0x8e, 0xc6, 0x70, 0x40, 0x23, 0x66, 0xe1, 0x24,
+	0x40, 0xd9, 0x9c, 0x49, 0x69, 0x51, 0xcf, 0xa3, 0x44, 0x40, 0x9e, 0xcd, 0x84, 0x78, 0x51, 0x68,
+	0x86, 0x0e, 0x25, 0x06, 0xc3, 0x16, 0x65, 0x23, 0x81, 0x7d, 0x22, 0xb0, 0xdc, 0x1a, 0x46, 0x67,
+	0xda, 0x28, 0x62, 0x1c, 0x76, 0x9b, 0xff, 0x67, 0x66, 0xfa, 0x3e, 0x66, 0x81, 0xf0, 0x6f, 0x08,
+	0x3f, 0xf3, 0x2d, 0x2d, 0x08, 0xcd, 0x30, 0x12, 0x8e, 0xa7, 0xff, 0x3e, 0x80, 0x6a, 0x2b, 0x2e,
+	0xf4, 0x80, 0xba, 0x8e, 0x35, 0x46, 0x08, 0xee, 0x11, 0xd3, 0xc3, 0xb2, 0x54, 0x97, 0xb6, 0x2a,
+	0x3a, 0x5f, 0xa3, 0x4d, 0x58, 0x1e, 0x39, 0x81, 0xef, 0x9a, 0x63, 0x83, 0xfb, 0x0a, 0xdc, 0x57,
+	0x15, 0x7b, 0x83, 0x18, 0x72, 0x0c, 0x2b, 0x23, 0x6a, 0x45, 0x1e, 0x26, 0xc9, 0xe9, 0xe5, 0x95,
+	0xba, 0xb4, 0x55, 0xdd, 0xd6, 0xd4, 0x59, 0xf7, 0xa6, 0xe6, 0x12, 0xaa, 0x9d, 0x7c, 0x98, 0x3e,
+	0xcd, 0x82, 0x74, 0xa8, 0x46, 0x01, 0x66, 0x86, 0x6b, 0x0e, 0xb1, 0x1b, 0xc8, 0xb5, 0x7a, 0x71,
+	0xab, 0xba, 0xfd, 0xd9, 0xbb, 0x49, 0x8f, 0x03, 0xcc, 0xbe, 0xe3, 0x31, 0x5d, 0x12, 0xb2, 0xb1,
+	0x0e, 0x51, 0xb6, 0x81, 0xbe, 0x05, 0xb0, 0x28, 0x19, 0x39, 0x71, 0x82, 0x40, 0x5e, 0xe6, 0x94,
+	0x9f, 0xbe, 0x9b, 0xb2, 0x9d, 0xc6, 0xe8, 0xb9, 0x70, 0x74, 0x08, 0x4b, 0x16, 0xf5, 0x86, 0x0e,
+	0xc1, 0x4c, 0x2e, 0xd5, 0xa5, 0xad, 0xd5, 0xed, 0x2f, 0xe7, 0xa0, 0x6a, 0x8b, 0xd0, 0xa3, 0xb1,
+	0x8f, 0xf5, 0x8c, 0x08, 0x7d, 0x0e, 0x65, 0x4c, 0xcc, 0xa1, 0x8b, 0x47, 0xf2, 0x7d, 0x7e, 0x8d,
+	0x4a, 0xca, 0x99, 0xb6, 0x57, 0xdd, 0xa1, 0xd4, 0x3d, 0x31, 0xdd, 0x08, 0xeb, 0x29, 0x14, 0xa9,
+	0xb0, 0x74, 0x61, 0xba, 0xce, 0xc8, 0x09, 0xc7, 0x32, 0xe2, 0x61, 0x28, 0x0d, 0x63, 0xbe, 0xa5,
+	0x1e, 0xf2, 0xae, 0xeb, 0x19, 0x06, 0x35, 0xe0, 0x21, 0xa1, 0xa1, 0x73, 0xe6, 0x58, 0x89, 0xde,
+	0xac, 0x73, 0x93, 0x90, 0xf8, 0x96, 0x57, 0xeb, 0xc5, 0xad, 0x8a, 0xbe, 0x9e, 0x77, 0xb6, 0x85,
+	0x0f, 0xf5, 0x61, 0xcd, 0x62, 0x38, 0x2f, 0x50, 0x19, 0x78, 0xae, 0x8f, 0x66, 0x97, 0xdd, 0x17,
+	0x6a, 0xd6, 0x39, 0x56, 0x5f, 0x4d, 0x83, 0x13, 0x3b, 0xa6, 0xbb, 0xa1, 0x77, 0xb9, 0x3a, 0x0f,
+	0x9d, 0x37, 0x65, 0x2b, 0xbb, 0xb0, 0x32, 0x25, 0x27, 0x24, 0x43, 0xd9, 0xa2, 0x24, 0xc4, 0x24,
+	0x14, 0x82, 0x4e, 0x4d, 0xf4, 0x01, 0x54, 0x3c, 0xc7, 0xc3, 0x46, 0x38, 0xf6, 0x53, 0x41, 0x2f,
+	0xc5, 0x1b, 0x71, 0x2b, 0x94, 0xd7, 0x00, 0x95, 0xac, 0x49, 0xd9, 0x93, 0x58, 0x7e, 0xcb, 0x93,
+	0x28, 0xbd, 0xf9, 0x24, 0x08, 0x3c, 0xc8, 0x84, 0x62, 0x84, 0xe7, 0x0c, 0x07, 0xe7, 0xd4, 0x1d,
+	0xf1, 0x73, 0x54, 0xb7, 0x5f, 0xce, 0xa1, 0x12, 0xb5, 0x8f, 0x43, 0xe6, 0x58, 0x47, 0x29, 0x45,
+	0x6f, 0x41, 0x47, 0x19, 0x73, 0xb6, 0x8b, 0xce, 0xa0, 0x36, 0xc9, 0x67, 0x0e, 0x83, 0xb8, 0xe8,
+	0x02, 0x4f, 0xf6, 0x62, 0xfe, 0x64, 0xad, 0x38, 0xde, 0xc2, 0xbd, 0x05, 0x7d, 0x2d, 0x23, 0xe5,
+	0x7b, 0xa1, 0xd2, 0x85, 0xf2, 0x11, 0x73, 0x6c, 0x1b, 0x33, 0xf4, 0x08, 0x16, 0x2d, 0x1a, 0x89,
+	0xcb, 0x5d, 0xec, 0x2d, 0xe8, 0x89, 0x89, 0x14, 0x28, 0xfb, 0x98, 0x59, 0xe9, 0x09, 0xa4, 0xde,
+	0x82, 0x9e, 0x6e, 0xec, 0x94, 0xe0, 0x5e, 0x7c, 0xe7, 0xca, 0x3f, 0x45, 0x58, 0xbb, 0x51, 0x18,
+	0x7a, 0x04, 0xa5, 0x33, 0xc7, 0x0d, 0x31, 0x13, 0x1d, 0x11, 0x16, 0xea, 0xc2, 0xb2, 0x69, 0xdb,
+	0x0c, 0xdb, 0x66, 0xf2, 0x68, 0x97, 0xf8, 0xa3, 0xdd, 0xbc, 0xa5, 0xac, 0x09, 0x52, 0x9f, 0x0a,
+	0x43, 0xcf, 0x01, 0x8d, 0x30, 0xa1, 0x9e, 0x43, 0xcc, 0x90, 0x32, 0x43, 0xa4, 0xaa, 0xf0, 0x54,
+	0xf7, 0x73, 0x9e, 0xdd, 0x24, 0xeb, 0x29, 0xc8, 0x79, 0xf8, 0xd4, 0x09, 0xe0, 0x7d, 0x4f, 0xb0,
+	0x91, 0xa3, 0x68, 0xe5, 0x0f, 0xd3, 0x89, 0xc7, 0x90, 0xe7, 0x9b, 0xcc, 0x09, 0x28, 0x91, 0xef,
+	0xf1, 0xd9, 0x71, 0x8b, 0xea, 0xdb, 0x19, 0x8e, 0x0f, 0x8a, 0x5c, 0x1c, 0xfa, 0x04, 0xd6, 0x32,
+	0x69, 0x19, 0x17, 0xf1, 0x40, 0x90, 0x17, 0xe3, 0x1b, 0xd7, 0x57, 0xb3, 0x6d, 0x3e, 0x26, 0xd0,
+	0x17, 0xb0, 0x94, 0x7e, 0x32, 0xb8, 0x58, 0xab, 0xdb, 0x8f, 0xdf, 0x18, 0x2a, 0x1d, 0x01, 0xd0,
+	0x33, 0x28, 0xea, 0x43, 0x39, 0x4c, 0x9a, 0x2d, 0x97, 0x79, 0x54, 0x63, 0x1e, 0x2d, 0x09, 0x9d,
+	0xe8, 0x29, 0x87, 0xf2, 0x5a, 0x82, 0x95, 0x29, 0x81, 0xe5, 0x5a, 0x2e, 0xbd, 0xb5, 0xe5, 0x8b,
+	0x77, 0x6b, 0x79, 0xbe, 0xec, 0xc2, 0x9d, 0xca, 0x2e, 0xfe, 0xff, 0xb2, 0x9b, 0xbf, 0x15, 0xae,
+	0x5b, 0xbf, 0x16, 0x20, 0x1f, 0x9c, 0xd0, 0x99, 0xbe, 0x13, 0xa8, 0x16, 0xf5, 0xb4, 0x1c, 0xd1,
+	0x64, 0xf0, 0xec, 0xfa, 0x8c, 0xfe, 0x88, 0xad, 0x30, 0xd0, 0x2e, 0xc5, 0xea, 0x2a, 0xf9, 0x29,
+	0xe1, 0x40, 0x07, 0x07, 0xda, 0x25, 0x37, 0x0d, 0x9f, 0x07, 0x5e, 0x69, 0x93, 0x0f, 0x93, 0x76,
+	0x99, 0xad, 0xaf, 0xd0, 0x01, 0x65, 0xb6, 0x49, 0x9c, 0x5f, 0x4c, 0xe1, 0xca, 0x9b, 0x77, 0x63,
+	0xec, 0x9c, 0x51, 0x77, 0x84, 0x59, 0xa0, 0x5d, 0x26, 0x8b, 0xbb, 0xb1, 0x48, 0xcf, 0x76, 0xaa,
+	0x50, 0xc9, 0x36, 0x94, 0xaf, 0x61, 0xed, 0xc6, 0x87, 0x1b, 0xd5, 0xa0, 0xf8, 0x13, 0x1e, 0x0b,
+	0x6d, 0xc4, 0x4b, 0xb4, 0x0e, 0x8b, 0x89, 0xce, 0x93, 0x11, 0x91, 0x18, 0xcd, 0xc2, 0x57, 0xd2,
+	0x53, 0x13, 0x1e, 0xce, 0xfc, 0xb2, 0xa2, 0x0d, 0x78, 0xd0, 0xde, 0xef, 0xef, 0xec, 0x0d, 0xba,
+	0xc6, 0xf1, 0xe0, 0xf0, 0xa0, 0xdb, 0xde, 0xdb, 0xdd, 0xeb, 0x76, 0x6a, 0x0b, 0xa8, 0x0c, 0xc5,
+	0xd6, 0xa0, 0x53, 0x93, 0x50, 0x09, 0x0a, 0xfb, 0x7a, 0xad, 0x80, 0x9e, 0x80, 0xd2, 0x1a, 0x74,
+	0x8c, 0xef, 0xf7, 0x8e, 0x7a, 0x46, 0xbf, 0x75, 0xd4, 0xee, 0xed, 0x0d, 0x5e, 0x19, 0x7a, 0xf7,
+	0x70, 0xff, 0x58, 0x6f, 0x77, 0x6b, 0xc5, 0xe6, 0x5f, 0xd2, 0x75, 0xeb, 0x4f, 0x09, 0x3e, 0x7e,
+	0xaf, 0x46, 0x22, 0x6d, 0xce, 0xfe, 0xa1, 0x17, 0x77, 0x6e, 0x14, 0x7a, 0x3e, 0x57, 0x47, 0xe2,
+	0xab, 0xff, 0x43, 0x02, 0xd9, 0xa2, 0xde, 0x4c, 0x61, 0xef, 0x40, 0x52, 0x47, 0xfc, 0x44, 0x0e,
+	0xa4, 0x1f, 0xbe, 0x11, 0x18, 0x9b, 0xba, 0x26, 0xb1, 0x55, 0xca, 0x6c, 0xcd, 0xc6, 0x84, 0x3f,
+	0x20, 0x6d, 0x52, 0xff, 0xf4, 0x8f, 0xec, 0xcb, 0x89, 0xf5, 0x7b, 0x41, 0x79, 0x95, 0x10, 0xb4,
+	0x5d, 0x1a, 0x8d, 0xd4, 0xfe, 0x24, 0xd5, 0x49, 0xe3, 0xef, 0xd4, 0x79, 0xca, 0x9d, 0xa7, 0x13,
+	0xe7, 0xe9, 0x49, 0xe3, 0xba, 0xf0, 0x61, 0xe2, 0x6c, 0x36, 0xb9, 0xb7, 0xd9, 0x9c, 0xb8, 0x9b,
+	0xcd, 0x93, 0xc6, 0xb0, 0xc4, 0x0f, 0xd1, 0xf8, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x6e, 0xf5,
+	0xbb, 0xc2, 0x0b, 0x00, 0x00,
 }