1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/ads/googleads/v3/resources/campaign_budget.proto 3 4package resources 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 wrappers "github.com/golang/protobuf/ptypes/wrappers" 12 enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums" 13 _ "google.golang.org/genproto/googleapis/api/annotations" 14) 15 16// Reference imports to suppress errors if they are not otherwise used. 17var _ = proto.Marshal 18var _ = fmt.Errorf 19var _ = math.Inf 20 21// This is a compile-time assertion to ensure that this generated file 22// is compatible with the proto package it is being compiled against. 23// A compilation error at this line likely means your copy of the 24// proto package needs to be updated. 25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 26 27// A campaign budget. 28type CampaignBudget struct { 29 // Immutable. The resource name of the campaign budget. 30 // Campaign budget resource names have the form: 31 // 32 // `customers/{customer_id}/campaignBudgets/{budget_id}` 33 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 34 // Output only. The ID of the campaign budget. 35 // 36 // A campaign budget is created using the CampaignBudgetService create 37 // operation and is assigned a budget ID. A budget ID can be shared across 38 // different campaigns; the system will then allocate the campaign budget 39 // among different campaigns to get optimum results. 40 Id *wrappers.Int64Value `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` 41 // The name of the campaign budget. 42 // 43 // When creating a campaign budget through CampaignBudgetService, every 44 // explicitly shared campaign budget must have a non-null, non-empty name. 45 // Campaign budgets that are not explicitly shared derive their name from the 46 // attached campaign's name. 47 // 48 // The length of this string must be between 1 and 255, inclusive, 49 // in UTF-8 bytes, (trimmed). 50 Name *wrappers.StringValue `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` 51 // The amount of the budget, in the local currency for the account. 52 // Amount is specified in micros, where one million is equivalent to one 53 // currency unit. Monthly spend is capped at 30.4 times this amount. 54 AmountMicros *wrappers.Int64Value `protobuf:"bytes,5,opt,name=amount_micros,json=amountMicros,proto3" json:"amount_micros,omitempty"` 55 // The lifetime amount of the budget, in the local currency for the account. 56 // Amount is specified in micros, where one million is equivalent to one 57 // currency unit. 58 TotalAmountMicros *wrappers.Int64Value `protobuf:"bytes,10,opt,name=total_amount_micros,json=totalAmountMicros,proto3" json:"total_amount_micros,omitempty"` 59 // Output only. The status of this campaign budget. This field is read-only. 60 Status enums.BudgetStatusEnum_BudgetStatus `protobuf:"varint,6,opt,name=status,proto3,enum=google.ads.googleads.v3.enums.BudgetStatusEnum_BudgetStatus" json:"status,omitempty"` 61 // The delivery method that determines the rate at which the campaign budget 62 // is spent. 63 // 64 // Defaults to STANDARD if unspecified in a create operation. 65 DeliveryMethod enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod `protobuf:"varint,7,opt,name=delivery_method,json=deliveryMethod,proto3,enum=google.ads.googleads.v3.enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod" json:"delivery_method,omitempty"` 66 // Specifies whether the budget is explicitly shared. Defaults to true if 67 // unspecified in a create operation. 68 // 69 // If true, the budget was created with the purpose of sharing 70 // across one or more campaigns. 71 // 72 // If false, the budget was created with the intention of only being used 73 // with a single campaign. The budget's name and status will stay in sync 74 // with the campaign's name and status. Attempting to share the budget with a 75 // second campaign will result in an error. 76 // 77 // A non-shared budget can become an explicitly shared. The same operation 78 // must also assign the budget a name. 79 // 80 // A shared campaign budget can never become non-shared. 81 ExplicitlyShared *wrappers.BoolValue `protobuf:"bytes,8,opt,name=explicitly_shared,json=explicitlyShared,proto3" json:"explicitly_shared,omitempty"` 82 // Output only. The number of campaigns actively using the budget. 83 // 84 // This field is read-only. 85 ReferenceCount *wrappers.Int64Value `protobuf:"bytes,9,opt,name=reference_count,json=referenceCount,proto3" json:"reference_count,omitempty"` 86 // Output only. Indicates whether there is a recommended budget for this campaign budget. 87 // 88 // This field is read-only. 89 HasRecommendedBudget *wrappers.BoolValue `protobuf:"bytes,11,opt,name=has_recommended_budget,json=hasRecommendedBudget,proto3" json:"has_recommended_budget,omitempty"` 90 // Output only. The recommended budget amount. If no recommendation is available, this will 91 // be set to the budget amount. 92 // Amount is specified in micros, where one million is equivalent to one 93 // currency unit. 94 // 95 // This field is read-only. 96 RecommendedBudgetAmountMicros *wrappers.Int64Value `protobuf:"bytes,12,opt,name=recommended_budget_amount_micros,json=recommendedBudgetAmountMicros,proto3" json:"recommended_budget_amount_micros,omitempty"` 97 // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. 98 Period enums.BudgetPeriodEnum_BudgetPeriod `protobuf:"varint,13,opt,name=period,proto3,enum=google.ads.googleads.v3.enums.BudgetPeriodEnum_BudgetPeriod" json:"period,omitempty"` 99 // Output only. The estimated change in weekly clicks if the recommended budget is applied. 100 // 101 // This field is read-only. 102 RecommendedBudgetEstimatedChangeWeeklyClicks *wrappers.Int64Value `protobuf:"bytes,14,opt,name=recommended_budget_estimated_change_weekly_clicks,json=recommendedBudgetEstimatedChangeWeeklyClicks,proto3" json:"recommended_budget_estimated_change_weekly_clicks,omitempty"` 103 // Output only. The estimated change in weekly cost in micros if the recommended budget is 104 // applied. One million is equivalent to one currency unit. 105 // 106 // This field is read-only. 107 RecommendedBudgetEstimatedChangeWeeklyCostMicros *wrappers.Int64Value `protobuf:"bytes,15,opt,name=recommended_budget_estimated_change_weekly_cost_micros,json=recommendedBudgetEstimatedChangeWeeklyCostMicros,proto3" json:"recommended_budget_estimated_change_weekly_cost_micros,omitempty"` 108 // Output only. The estimated change in weekly interactions if the recommended budget is 109 // applied. 110 // 111 // This field is read-only. 112 RecommendedBudgetEstimatedChangeWeeklyInteractions *wrappers.Int64Value `protobuf:"bytes,16,opt,name=recommended_budget_estimated_change_weekly_interactions,json=recommendedBudgetEstimatedChangeWeeklyInteractions,proto3" json:"recommended_budget_estimated_change_weekly_interactions,omitempty"` 113 // Output only. The estimated change in weekly views if the recommended budget is applied. 114 // 115 // This field is read-only. 116 RecommendedBudgetEstimatedChangeWeeklyViews *wrappers.Int64Value `protobuf:"bytes,17,opt,name=recommended_budget_estimated_change_weekly_views,json=recommendedBudgetEstimatedChangeWeeklyViews,proto3" json:"recommended_budget_estimated_change_weekly_views,omitempty"` 117 // Immutable. The type of the campaign budget. 118 Type enums.BudgetTypeEnum_BudgetType `protobuf:"varint,18,opt,name=type,proto3,enum=google.ads.googleads.v3.enums.BudgetTypeEnum_BudgetType" json:"type,omitempty"` 119 XXX_NoUnkeyedLiteral struct{} `json:"-"` 120 XXX_unrecognized []byte `json:"-"` 121 XXX_sizecache int32 `json:"-"` 122} 123 124func (m *CampaignBudget) Reset() { *m = CampaignBudget{} } 125func (m *CampaignBudget) String() string { return proto.CompactTextString(m) } 126func (*CampaignBudget) ProtoMessage() {} 127func (*CampaignBudget) Descriptor() ([]byte, []int) { 128 return fileDescriptor_3160509214176301, []int{0} 129} 130 131func (m *CampaignBudget) XXX_Unmarshal(b []byte) error { 132 return xxx_messageInfo_CampaignBudget.Unmarshal(m, b) 133} 134func (m *CampaignBudget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 135 return xxx_messageInfo_CampaignBudget.Marshal(b, m, deterministic) 136} 137func (m *CampaignBudget) XXX_Merge(src proto.Message) { 138 xxx_messageInfo_CampaignBudget.Merge(m, src) 139} 140func (m *CampaignBudget) XXX_Size() int { 141 return xxx_messageInfo_CampaignBudget.Size(m) 142} 143func (m *CampaignBudget) XXX_DiscardUnknown() { 144 xxx_messageInfo_CampaignBudget.DiscardUnknown(m) 145} 146 147var xxx_messageInfo_CampaignBudget proto.InternalMessageInfo 148 149func (m *CampaignBudget) GetResourceName() string { 150 if m != nil { 151 return m.ResourceName 152 } 153 return "" 154} 155 156func (m *CampaignBudget) GetId() *wrappers.Int64Value { 157 if m != nil { 158 return m.Id 159 } 160 return nil 161} 162 163func (m *CampaignBudget) GetName() *wrappers.StringValue { 164 if m != nil { 165 return m.Name 166 } 167 return nil 168} 169 170func (m *CampaignBudget) GetAmountMicros() *wrappers.Int64Value { 171 if m != nil { 172 return m.AmountMicros 173 } 174 return nil 175} 176 177func (m *CampaignBudget) GetTotalAmountMicros() *wrappers.Int64Value { 178 if m != nil { 179 return m.TotalAmountMicros 180 } 181 return nil 182} 183 184func (m *CampaignBudget) GetStatus() enums.BudgetStatusEnum_BudgetStatus { 185 if m != nil { 186 return m.Status 187 } 188 return enums.BudgetStatusEnum_UNSPECIFIED 189} 190 191func (m *CampaignBudget) GetDeliveryMethod() enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod { 192 if m != nil { 193 return m.DeliveryMethod 194 } 195 return enums.BudgetDeliveryMethodEnum_UNSPECIFIED 196} 197 198func (m *CampaignBudget) GetExplicitlyShared() *wrappers.BoolValue { 199 if m != nil { 200 return m.ExplicitlyShared 201 } 202 return nil 203} 204 205func (m *CampaignBudget) GetReferenceCount() *wrappers.Int64Value { 206 if m != nil { 207 return m.ReferenceCount 208 } 209 return nil 210} 211 212func (m *CampaignBudget) GetHasRecommendedBudget() *wrappers.BoolValue { 213 if m != nil { 214 return m.HasRecommendedBudget 215 } 216 return nil 217} 218 219func (m *CampaignBudget) GetRecommendedBudgetAmountMicros() *wrappers.Int64Value { 220 if m != nil { 221 return m.RecommendedBudgetAmountMicros 222 } 223 return nil 224} 225 226func (m *CampaignBudget) GetPeriod() enums.BudgetPeriodEnum_BudgetPeriod { 227 if m != nil { 228 return m.Period 229 } 230 return enums.BudgetPeriodEnum_UNSPECIFIED 231} 232 233func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyClicks() *wrappers.Int64Value { 234 if m != nil { 235 return m.RecommendedBudgetEstimatedChangeWeeklyClicks 236 } 237 return nil 238} 239 240func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyCostMicros() *wrappers.Int64Value { 241 if m != nil { 242 return m.RecommendedBudgetEstimatedChangeWeeklyCostMicros 243 } 244 return nil 245} 246 247func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyInteractions() *wrappers.Int64Value { 248 if m != nil { 249 return m.RecommendedBudgetEstimatedChangeWeeklyInteractions 250 } 251 return nil 252} 253 254func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyViews() *wrappers.Int64Value { 255 if m != nil { 256 return m.RecommendedBudgetEstimatedChangeWeeklyViews 257 } 258 return nil 259} 260 261func (m *CampaignBudget) GetType() enums.BudgetTypeEnum_BudgetType { 262 if m != nil { 263 return m.Type 264 } 265 return enums.BudgetTypeEnum_UNSPECIFIED 266} 267 268func init() { 269 proto.RegisterType((*CampaignBudget)(nil), "google.ads.googleads.v3.resources.CampaignBudget") 270} 271 272func init() { 273 proto.RegisterFile("google/ads/googleads/v3/resources/campaign_budget.proto", fileDescriptor_3160509214176301) 274} 275 276var fileDescriptor_3160509214176301 = []byte{ 277 // 846 bytes of a gzipped FileDescriptorProto 278 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xdf, 0x6e, 0xdc, 0x44, 279 0x14, 0xc6, 0xe5, 0xcd, 0x1f, 0xe8, 0x34, 0xd9, 0x34, 0x53, 0x84, 0x4c, 0x28, 0x90, 0x22, 0x55, 280 0x04, 0x81, 0xec, 0x34, 0x8b, 0x52, 0x64, 0xb8, 0xc0, 0x1b, 0xaa, 0x28, 0x40, 0x51, 0xd8, 0x94, 281 0x45, 0xa0, 0x48, 0xd6, 0xc4, 0x73, 0xe2, 0x1d, 0xd5, 0x9e, 0xb1, 0x66, 0xc6, 0x1b, 0x56, 0xa8, 282 0x12, 0x77, 0x88, 0x5b, 0x24, 0x5e, 0x80, 0x4b, 0x1e, 0x85, 0x27, 0xe0, 0xb2, 0xd7, 0x7d, 0x04, 283 0xae, 0x90, 0x67, 0x6c, 0x67, 0x37, 0x21, 0xac, 0xf7, 0xee, 0x78, 0xcf, 0xf9, 0x7d, 0xe7, 0xf3, 284 0xf1, 0x59, 0x7b, 0xd0, 0xa3, 0x44, 0x88, 0x24, 0x05, 0x9f, 0x50, 0xe5, 0xdb, 0xb0, 0x8c, 0xc6, 285 0x3d, 0x5f, 0x82, 0x12, 0x85, 0x8c, 0x41, 0xf9, 0x31, 0xc9, 0x72, 0xc2, 0x12, 0x1e, 0x9d, 0x15, 286 0x34, 0x01, 0xed, 0xe5, 0x52, 0x68, 0x81, 0xef, 0xdb, 0x6a, 0x8f, 0x50, 0xe5, 0x35, 0xa0, 0x37, 287 0xee, 0x79, 0x0d, 0xb8, 0x15, 0xdc, 0xa4, 0x0d, 0xbc, 0xc8, 0x94, 0x6f, 0xe5, 0x22, 0x0a, 0x29, 288 0x1b, 0x83, 0x9c, 0x44, 0x19, 0xe8, 0x91, 0xa0, 0x56, 0x7e, 0xeb, 0x61, 0x2b, 0x36, 0x07, 0xc9, 289 0x16, 0x44, 0x94, 0x26, 0xba, 0x50, 0x15, 0xe2, 0xb7, 0x42, 0xf4, 0x24, 0x87, 0x0a, 0x78, 0xa7, 290 0x06, 0x72, 0xe6, 0x9f, 0x33, 0x48, 0x69, 0x74, 0x06, 0x23, 0x32, 0x66, 0x42, 0x56, 0x05, 0x6f, 291 0x4c, 0x15, 0xd4, 0x93, 0xa8, 0x52, 0x6f, 0x57, 0x29, 0x73, 0x75, 0x56, 0x9c, 0xfb, 0x17, 0x92, 292 0xe4, 0x39, 0xc8, 0xda, 0xcc, 0xbd, 0x29, 0x94, 0x70, 0x2e, 0x34, 0xd1, 0x4c, 0xf0, 0x2a, 0xfb, 293 0xee, 0xdf, 0xeb, 0xa8, 0x7b, 0x50, 0x3d, 0x89, 0xbe, 0xf1, 0x85, 0x9f, 0xa2, 0xf5, 0xba, 0x45, 294 0xc4, 0x49, 0x06, 0xae, 0xb3, 0xed, 0xec, 0xdc, 0xea, 0xfb, 0x2f, 0xc2, 0x95, 0x7f, 0xc2, 0xf7, 295 0xd1, 0x7b, 0x97, 0x8f, 0xa5, 0x8a, 0x72, 0xa6, 0xbc, 0x58, 0x64, 0xfe, 0xac, 0xce, 0x60, 0xad, 296 0x56, 0xf9, 0x9a, 0x64, 0x80, 0x77, 0x51, 0x87, 0x51, 0x77, 0x69, 0xdb, 0xd9, 0xb9, 0xbd, 0xf7, 297 0x66, 0x45, 0x7a, 0xb5, 0x67, 0xef, 0x88, 0xeb, 0xfd, 0x8f, 0x86, 0x24, 0x2d, 0xa0, 0xbf, 0xf4, 298 0x22, 0x5c, 0x1a, 0x74, 0x18, 0xc5, 0xbb, 0x68, 0xd9, 0xb4, 0x5f, 0x36, 0xcc, 0xbd, 0x6b, 0xcc, 299 0x89, 0x96, 0x8c, 0x27, 0x06, 0x1a, 0x98, 0x4a, 0xfc, 0x19, 0x5a, 0x27, 0x99, 0x28, 0xb8, 0x8e, 300 0x32, 0x16, 0x4b, 0xa1, 0xdc, 0x95, 0xb9, 0xed, 0x06, 0x6b, 0x96, 0x78, 0x62, 0x00, 0xfc, 0x25, 301 0xba, 0xab, 0x85, 0x26, 0x69, 0x34, 0xab, 0x83, 0xe6, 0xeb, 0x6c, 0x1a, 0x2e, 0x9c, 0x16, 0xfb, 302 0x1e, 0xad, 0xda, 0xb5, 0x70, 0x57, 0xb7, 0x9d, 0x9d, 0xee, 0xde, 0xa7, 0xde, 0x4d, 0xcb, 0x6d, 303 0xf6, 0xc2, 0xb3, 0x73, 0x3b, 0x31, 0xc8, 0x63, 0x5e, 0x64, 0x33, 0x3f, 0xd8, 0xb9, 0x54, 0x82, 304 0xb8, 0x40, 0x1b, 0x57, 0x16, 0xdc, 0x7d, 0xc5, 0xf4, 0xf8, 0xaa, 0x55, 0x8f, 0xcf, 0x2b, 0xf6, 305 0x89, 0x41, 0xa7, 0x7a, 0xcd, 0x26, 0x06, 0x5d, 0x3a, 0x73, 0x8d, 0x0f, 0xd1, 0x26, 0xfc, 0x98, 306 0xa7, 0x2c, 0x66, 0x3a, 0x9d, 0x44, 0x6a, 0x44, 0x24, 0x50, 0xf7, 0x55, 0x33, 0x9c, 0xad, 0x6b, 307 0xc3, 0xe9, 0x0b, 0x91, 0xda, 0xd9, 0xdc, 0xb9, 0x84, 0x4e, 0x0c, 0x83, 0x8f, 0xd0, 0x86, 0x84, 308 0x73, 0x90, 0xc0, 0x63, 0x88, 0xe2, 0x72, 0x66, 0xee, 0xad, 0x96, 0xab, 0xd1, 0x6d, 0xc0, 0x83, 309 0x92, 0xc3, 0xdf, 0xa2, 0xd7, 0x47, 0x44, 0x45, 0x12, 0x62, 0x91, 0x65, 0xc0, 0x29, 0xd0, 0xea, 310 0x8d, 0xe2, 0xde, 0x9e, 0x67, 0xcc, 0x0a, 0xbe, 0x36, 0x22, 0x6a, 0x70, 0x49, 0x57, 0xff, 0x02, 311 0x86, 0xb6, 0xaf, 0x4b, 0x5e, 0x59, 0x8b, 0xb5, 0x96, 0x96, 0xdf, 0x92, 0x57, 0xe5, 0xaf, 0xee, 312 0x89, 0x7d, 0xe3, 0xb8, 0xeb, 0x0b, 0xec, 0xc9, 0xb1, 0x41, 0xa6, 0x9e, 0x9d, 0xfd, 0xa1, 0xec, 313 0xb8, 0x32, 0xa8, 0x04, 0xf1, 0xaf, 0x0e, 0x7a, 0xf8, 0x1f, 0xb7, 0x01, 0x4a, 0xb3, 0x8c, 0x68, 314 0xa0, 0x51, 0x3c, 0x22, 0x3c, 0x81, 0xe8, 0x02, 0xe0, 0x59, 0x3a, 0x89, 0xe2, 0x94, 0xc5, 0xcf, 315 0x94, 0xdb, 0x6d, 0x79, 0x5f, 0x1f, 0x5e, 0xbb, 0xaf, 0xc7, 0xb5, 0xf0, 0x81, 0xd1, 0xfd, 0xce, 316 0xc8, 0x1e, 0x18, 0x55, 0xfc, 0x9b, 0x83, 0xf6, 0x17, 0xf1, 0x22, 0x54, 0x33, 0xe8, 0x8d, 0x96, 317 0x86, 0x76, 0x5b, 0x1a, 0x12, 0xaa, 0x9e, 0xfd, 0xef, 0x0e, 0x7a, 0xb4, 0x80, 0x29, 0xc6, 0x35, 318 0x48, 0x12, 0x9b, 0x37, 0xa8, 0x7b, 0xa7, 0xa5, 0xab, 0xbd, 0x76, 0xae, 0x8e, 0xa6, 0xb4, 0xf1, 319 0x2f, 0x0e, 0xda, 0x5d, 0xc0, 0xd7, 0x98, 0xc1, 0x85, 0x72, 0x37, 0x5b, 0x1a, 0xfa, 0xa0, 0x9d, 320 0xa1, 0x61, 0x29, 0x8a, 0xbf, 0x41, 0xcb, 0xe5, 0x97, 0xca, 0xc5, 0x66, 0x37, 0x3f, 0x6e, 0xb5, 321 0x9b, 0x4f, 0x27, 0x39, 0x4c, 0x6d, 0x66, 0x79, 0x69, 0xf7, 0xd2, 0x48, 0x05, 0xf4, 0x65, 0x48, 322 0x5a, 0x7f, 0x47, 0xf0, 0x7e, 0x5c, 0x28, 0x2d, 0x32, 0x90, 0xca, 0xff, 0xa9, 0x0e, 0x9f, 0x37, 323 0xc7, 0x07, 0x5b, 0x54, 0xa6, 0x66, 0xcf, 0x13, 0xcf, 0xfb, 0x3f, 0x77, 0xd0, 0x83, 0x58, 0x64, 324 0xde, 0xdc, 0x13, 0x45, 0xff, 0xee, 0x6c, 0xc7, 0xe3, 0x72, 0x6e, 0xc7, 0xce, 0x0f, 0x5f, 0x54, 325 0x64, 0x22, 0x52, 0xc2, 0x13, 0x4f, 0xc8, 0xc4, 0x4f, 0x80, 0x9b, 0xa9, 0xfa, 0x97, 0x96, 0xff, 326 0xe7, 0x8c, 0xf3, 0x49, 0x13, 0xfd, 0xd1, 0x59, 0x3a, 0x0c, 0xc3, 0x3f, 0x3b, 0xf7, 0x0f, 0xad, 327 0x64, 0x48, 0x95, 0x67, 0xc3, 0x32, 0x1a, 0xf6, 0xbc, 0x41, 0x5d, 0xf9, 0x57, 0x5d, 0x73, 0x1a, 328 0x52, 0x75, 0xda, 0xd4, 0x9c, 0x0e, 0x7b, 0xa7, 0x4d, 0xcd, 0xcb, 0xce, 0x03, 0x9b, 0x08, 0x82, 329 0x90, 0xaa, 0x20, 0x68, 0xaa, 0x82, 0x60, 0xd8, 0x0b, 0x82, 0xa6, 0xee, 0x6c, 0xd5, 0x98, 0xed, 330 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x32, 0x68, 0x69, 0x8f, 0x09, 0x00, 0x00, 331} 332