blob: 6232b4858c7009cf69a790e4dabd9a6044ee0234 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: chromiumos/config/api/design.proto
package api
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
public_replication "go.chromium.org/chromiumos/config/go/public_replication"
math "math"
)
// 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
// hardware video acceleration types
type Design_Platform_VideoAcceleration int32
const (
Design_Platform_VIDEO_ACCELERATION_UNDEFINED Design_Platform_VideoAcceleration = 0
Design_Platform_H264_DECODE Design_Platform_VideoAcceleration = 1
Design_Platform_H264_ENCODE Design_Platform_VideoAcceleration = 2
Design_Platform_VP8_DECODE Design_Platform_VideoAcceleration = 3
Design_Platform_VP8_ENCODE Design_Platform_VideoAcceleration = 4
Design_Platform_VP9_DECODE Design_Platform_VideoAcceleration = 5
Design_Platform_VP9_ENCODE Design_Platform_VideoAcceleration = 6
Design_Platform_VP9_2_DECODE Design_Platform_VideoAcceleration = 7
Design_Platform_VP9_2_ENCODE Design_Platform_VideoAcceleration = 8
Design_Platform_H265_DECODE Design_Platform_VideoAcceleration = 9
Design_Platform_H265_ENCODE Design_Platform_VideoAcceleration = 10
Design_Platform_MJPG_DECODE Design_Platform_VideoAcceleration = 11
Design_Platform_MJPG_ENCODE Design_Platform_VideoAcceleration = 12
)
var Design_Platform_VideoAcceleration_name = map[int32]string{
0: "VIDEO_ACCELERATION_UNDEFINED",
1: "H264_DECODE",
2: "H264_ENCODE",
3: "VP8_DECODE",
4: "VP8_ENCODE",
5: "VP9_DECODE",
6: "VP9_ENCODE",
7: "VP9_2_DECODE",
8: "VP9_2_ENCODE",
9: "H265_DECODE",
10: "H265_ENCODE",
11: "MJPG_DECODE",
12: "MJPG_ENCODE",
}
var Design_Platform_VideoAcceleration_value = map[string]int32{
"VIDEO_ACCELERATION_UNDEFINED": 0,
"H264_DECODE": 1,
"H264_ENCODE": 2,
"VP8_DECODE": 3,
"VP8_ENCODE": 4,
"VP9_DECODE": 5,
"VP9_ENCODE": 6,
"VP9_2_DECODE": 7,
"VP9_2_ENCODE": 8,
"H265_DECODE": 9,
"H265_ENCODE": 10,
"MJPG_DECODE": 11,
"MJPG_ENCODE": 12,
}
func (x Design_Platform_VideoAcceleration) String() string {
return proto.EnumName(Design_Platform_VideoAcceleration_name, int32(x))
}
func (Design_Platform_VideoAcceleration) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0, 2, 0}
}
type Design_Config_Constraint_Level int32
const (
Design_Config_Constraint_TYPE_UNKNOWN Design_Config_Constraint_Level = 0
Design_Config_Constraint_REQUIRED Design_Config_Constraint_Level = 1
Design_Config_Constraint_PREFERRED Design_Config_Constraint_Level = 2
Design_Config_Constraint_OPTIONAL Design_Config_Constraint_Level = 3
)
var Design_Config_Constraint_Level_name = map[int32]string{
0: "TYPE_UNKNOWN",
1: "REQUIRED",
2: "PREFERRED",
3: "OPTIONAL",
}
var Design_Config_Constraint_Level_value = map[string]int32{
"TYPE_UNKNOWN": 0,
"REQUIRED": 1,
"PREFERRED": 2,
"OPTIONAL": 3,
}
func (x Design_Config_Constraint_Level) String() string {
return proto.EnumName(Design_Config_Constraint_Level_name, int32(x))
}
func (Design_Config_Constraint_Level) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0, 3, 0, 0}
}
// Next ID: 10
type Design struct {
// Fields replicated to public configs.
PublicReplication *public_replication.PublicReplication `protobuf:"bytes,7,opt,name=public_replication,json=publicReplication,proto3" json:"public_replication,omitempty"`
// Globally unique design identifier.
Id *DesignId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Program that defines the constraints for this design.
ProgramId *ProgramId `protobuf:"bytes,2,opt,name=program_id,json=programId,proto3" json:"program_id,omitempty"`
// ODM for the given hardware design.
OdmId *PartnerId `protobuf:"bytes,3,opt,name=odm_id,json=odmId,proto3" json:"odm_id,omitempty"`
// Design codename (human friendly).
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// Board version assignment for each build phase.
// Example:
// 1 --> proto
// 2 --> proto2 ...
BoardIdPhase map[uint32]string `protobuf:"bytes,5,rep,name=board_id_phase,json=boardIdPhase,proto3" json:"board_id_phase,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Supported hardware configurations for a given design.
Configs []*Design_Config `protobuf:"bytes,6,rep,name=configs,proto3" json:"configs,omitempty"`
// Map of SSFC values for this project. These values must fit within the
// program's definitions of SSFC Segments. The string represents the human-
// readable description of the SSFC value (e.g. BMI160, PS8751)
// E.g 0x0010 -> "CameraA"; 0x0020 -> "CameraB" within SsfcSegment 0x0030
SsfcValue map[uint32]string `protobuf:"bytes,8,rep,name=ssfc_value,json=ssfcValue,proto3" json:"ssfc_value,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Platform *Design_Platform `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Design) Reset() { *m = Design{} }
func (m *Design) String() string { return proto.CompactTextString(m) }
func (*Design) ProtoMessage() {}
func (*Design) Descriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0}
}
func (m *Design) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Design.Unmarshal(m, b)
}
func (m *Design) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Design.Marshal(b, m, deterministic)
}
func (m *Design) XXX_Merge(src proto.Message) {
xxx_messageInfo_Design.Merge(m, src)
}
func (m *Design) XXX_Size() int {
return xxx_messageInfo_Design.Size(m)
}
func (m *Design) XXX_DiscardUnknown() {
xxx_messageInfo_Design.DiscardUnknown(m)
}
var xxx_messageInfo_Design proto.InternalMessageInfo
func (m *Design) GetPublicReplication() *public_replication.PublicReplication {
if m != nil {
return m.PublicReplication
}
return nil
}
func (m *Design) GetId() *DesignId {
if m != nil {
return m.Id
}
return nil
}
func (m *Design) GetProgramId() *ProgramId {
if m != nil {
return m.ProgramId
}
return nil
}
func (m *Design) GetOdmId() *PartnerId {
if m != nil {
return m.OdmId
}
return nil
}
func (m *Design) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Design) GetBoardIdPhase() map[uint32]string {
if m != nil {
return m.BoardIdPhase
}
return nil
}
func (m *Design) GetConfigs() []*Design_Config {
if m != nil {
return m.Configs
}
return nil
}
func (m *Design) GetSsfcValue() map[uint32]string {
if m != nil {
return m.SsfcValue
}
return nil
}
func (m *Design) GetPlatform() *Design_Platform {
if m != nil {
return m.Platform
}
return nil
}
// Specify the 'platform' for the design as a canonicalized string representing
// the SOC family. Store a string to prevent leakage of non-public platform
// names. The platform should be a canonicalized form of the codename format
// used on wikichip:
// https://en.wikichip.org/wiki/intel/microarchitectures/kaby_lake#Codenames
//
// IE: replace spaces with underscores, upper case everything and specify
// variants separated by dashes:
// KABY_LAKE_U_R -- indicates KBL-U or KBL-R chips (both ultra-low power)
//
type Design_Platform struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// supported hardware acceleration modes for the platform
VideoAcceleration []Design_Platform_VideoAcceleration `protobuf:"varint,2,rep,packed,name=video_acceleration,json=videoAcceleration,proto3,enum=chromiumos.config.api.Design_Platform_VideoAcceleration" json:"video_acceleration,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Design_Platform) Reset() { *m = Design_Platform{} }
func (m *Design_Platform) String() string { return proto.CompactTextString(m) }
func (*Design_Platform) ProtoMessage() {}
func (*Design_Platform) Descriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0, 2}
}
func (m *Design_Platform) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Design_Platform.Unmarshal(m, b)
}
func (m *Design_Platform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Design_Platform.Marshal(b, m, deterministic)
}
func (m *Design_Platform) XXX_Merge(src proto.Message) {
xxx_messageInfo_Design_Platform.Merge(m, src)
}
func (m *Design_Platform) XXX_Size() int {
return xxx_messageInfo_Design_Platform.Size(m)
}
func (m *Design_Platform) XXX_DiscardUnknown() {
xxx_messageInfo_Design_Platform.DiscardUnknown(m)
}
var xxx_messageInfo_Design_Platform proto.InternalMessageInfo
func (m *Design_Platform) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Design_Platform) GetVideoAcceleration() []Design_Platform_VideoAcceleration {
if m != nil {
return m.VideoAcceleration
}
return nil
}
// Defines a unique hardware configuration for a given hardware design
// and the corresponding hardware features that will be supported.
// Next ID: 6
type Design_Config struct {
// Fields replicated to public configs.
PublicReplication *public_replication.PublicReplication `protobuf:"bytes,5,opt,name=public_replication,json=publicReplication,proto3" json:"public_replication,omitempty"`
// The ID encoded in hardware on a device, typically in CBI.
Id *DesignConfigId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Each unique value of hardware_topology requires a unique DesignConfigId
HardwareTopology *HardwareTopology `protobuf:"bytes,2,opt,name=hardware_topology,json=hardwareTopology,proto3" json:"hardware_topology,omitempty"`
// This field is generated from hardware_topology by combining all of the
// partial HardwareFeatures definitions from each selected hardware topology
HardwareFeatures *HardwareFeatures `protobuf:"bytes,3,opt,name=hardware_features,json=hardwareFeatures,proto3" json:"hardware_features,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Design_Config) Reset() { *m = Design_Config{} }
func (m *Design_Config) String() string { return proto.CompactTextString(m) }
func (*Design_Config) ProtoMessage() {}
func (*Design_Config) Descriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0, 3}
}
func (m *Design_Config) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Design_Config.Unmarshal(m, b)
}
func (m *Design_Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Design_Config.Marshal(b, m, deterministic)
}
func (m *Design_Config) XXX_Merge(src proto.Message) {
xxx_messageInfo_Design_Config.Merge(m, src)
}
func (m *Design_Config) XXX_Size() int {
return xxx_messageInfo_Design_Config.Size(m)
}
func (m *Design_Config) XXX_DiscardUnknown() {
xxx_messageInfo_Design_Config.DiscardUnknown(m)
}
var xxx_messageInfo_Design_Config proto.InternalMessageInfo
func (m *Design_Config) GetPublicReplication() *public_replication.PublicReplication {
if m != nil {
return m.PublicReplication
}
return nil
}
func (m *Design_Config) GetId() *DesignConfigId {
if m != nil {
return m.Id
}
return nil
}
func (m *Design_Config) GetHardwareTopology() *HardwareTopology {
if m != nil {
return m.HardwareTopology
}
return nil
}
func (m *Design_Config) GetHardwareFeatures() *HardwareFeatures {
if m != nil {
return m.HardwareFeatures
}
return nil
}
// Constraints on HardwareFeatures.
//
// Each Constraint should specify exactly one HardwareFeature to constrain.
// Constraints are OR'd across the same type of HardwareFeatures, and AND'd
// across different types of HardwareFeatures. For example, the following
// specifies CLAMSHELL or CONVERTIBLE form factors are allowed, and the
// screen must have touch support:
//
// design_config_constraints: <
// level: REQUIRED
// features: <
// form_factor: <
// form_factor: CLAMSHELL
// >
// >
// >
// design_config_constraints: <
// level: REQUIRED
// features: <
// form_factor: <
// form_factor: CONVERTIBLE
// >
// >
// >
// design_config_constraints: <
// level: REQUIRED
// features: <
// screen: <
// touch_support: PRESENT
// >
// >
// >
//
// TODO: Formalize constraint definitions further, e.g. what are the
// semantics of level?
// TODO: should this be moved into Design or Program? This isn't used here
type Design_Config_Constraint struct {
Level Design_Config_Constraint_Level `protobuf:"varint,1,opt,name=level,proto3,enum=chromiumos.config.api.Design_Config_Constraint_Level" json:"level,omitempty"`
Features *HardwareFeatures `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Design_Config_Constraint) Reset() { *m = Design_Config_Constraint{} }
func (m *Design_Config_Constraint) String() string { return proto.CompactTextString(m) }
func (*Design_Config_Constraint) ProtoMessage() {}
func (*Design_Config_Constraint) Descriptor() ([]byte, []int) {
return fileDescriptor_0949ab302cb28294, []int{0, 3, 0}
}
func (m *Design_Config_Constraint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Design_Config_Constraint.Unmarshal(m, b)
}
func (m *Design_Config_Constraint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Design_Config_Constraint.Marshal(b, m, deterministic)
}
func (m *Design_Config_Constraint) XXX_Merge(src proto.Message) {
xxx_messageInfo_Design_Config_Constraint.Merge(m, src)
}
func (m *Design_Config_Constraint) XXX_Size() int {
return xxx_messageInfo_Design_Config_Constraint.Size(m)
}
func (m *Design_Config_Constraint) XXX_DiscardUnknown() {
xxx_messageInfo_Design_Config_Constraint.DiscardUnknown(m)
}
var xxx_messageInfo_Design_Config_Constraint proto.InternalMessageInfo
func (m *Design_Config_Constraint) GetLevel() Design_Config_Constraint_Level {
if m != nil {
return m.Level
}
return Design_Config_Constraint_TYPE_UNKNOWN
}
func (m *Design_Config_Constraint) GetFeatures() *HardwareFeatures {
if m != nil {
return m.Features
}
return nil
}
func init() {
proto.RegisterEnum("chromiumos.config.api.Design_Platform_VideoAcceleration", Design_Platform_VideoAcceleration_name, Design_Platform_VideoAcceleration_value)
proto.RegisterEnum("chromiumos.config.api.Design_Config_Constraint_Level", Design_Config_Constraint_Level_name, Design_Config_Constraint_Level_value)
proto.RegisterType((*Design)(nil), "chromiumos.config.api.Design")
proto.RegisterMapType((map[uint32]string)(nil), "chromiumos.config.api.Design.BoardIdPhaseEntry")
proto.RegisterMapType((map[uint32]string)(nil), "chromiumos.config.api.Design.SsfcValueEntry")
proto.RegisterType((*Design_Platform)(nil), "chromiumos.config.api.Design.Platform")
proto.RegisterType((*Design_Config)(nil), "chromiumos.config.api.Design.Config")
proto.RegisterType((*Design_Config_Constraint)(nil), "chromiumos.config.api.Design.Config.Constraint")
}
func init() { proto.RegisterFile("chromiumos/config/api/design.proto", fileDescriptor_0949ab302cb28294) }
var fileDescriptor_0949ab302cb28294 = []byte{
// 802 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xef, 0x6e, 0xe3, 0x44,
0x14, 0xc5, 0xd7, 0x4e, 0x9c, 0x3a, 0xb7, 0x6d, 0x70, 0x46, 0x20, 0x59, 0x11, 0x12, 0x51, 0xb5,
0xbb, 0x44, 0x68, 0x71, 0xa4, 0x40, 0xd9, 0x82, 0x80, 0x55, 0x1b, 0xbb, 0xac, 0xdb, 0x92, 0x98,
0xa1, 0x2d, 0x82, 0x2f, 0x96, 0x6b, 0x3b, 0xae, 0x85, 0xe3, 0xb1, 0xc6, 0x6e, 0x51, 0x1f, 0x81,
0x67, 0xe1, 0x3d, 0x78, 0x12, 0xde, 0x03, 0xe4, 0x19, 0xff, 0xe9, 0xe6, 0x8f, 0xd9, 0x95, 0xf6,
0x9b, 0xef, 0x99, 0xdf, 0x39, 0xb9, 0x33, 0xe3, 0x5c, 0xc3, 0x81, 0x7b, 0x4b, 0xc9, 0x32, 0xbc,
0x5b, 0x92, 0x74, 0xec, 0x92, 0x78, 0x11, 0x06, 0x63, 0x27, 0x09, 0xc7, 0x9e, 0x9f, 0x86, 0x41,
0xac, 0x25, 0x94, 0x64, 0x04, 0x7d, 0x54, 0x33, 0x1a, 0x67, 0x34, 0x27, 0x09, 0x07, 0x2f, 0x9a,
0xac, 0x36, 0x57, 0xec, 0xd0, 0xe3, 0x21, 0x83, 0x67, 0x8d, 0x74, 0x85, 0x7d, 0xbe, 0x19, 0xbb,
0x75, 0xa8, 0xf7, 0x87, 0x43, 0x7d, 0x3b, 0x23, 0x09, 0x89, 0x48, 0xf0, 0x50, 0xe0, 0xcf, 0x37,
0xe3, 0x89, 0x43, 0xb3, 0xd8, 0xa7, 0x75, 0xec, 0x36, 0x8e, 0x92, 0x80, 0x3a, 0xcb, 0x9a, 0x7b,
0xba, 0x99, 0x5b, 0xf9, 0xd5, 0xef, 0xd6, 0xa9, 0xe4, 0xee, 0x26, 0x0a, 0x5d, 0x9b, 0xfa, 0x49,
0x14, 0xba, 0x4e, 0x16, 0x92, 0x78, 0x83, 0xc4, 0xed, 0x07, 0x7f, 0xed, 0x43, 0x47, 0x67, 0xfb,
0x46, 0x0b, 0x40, 0xeb, 0x98, 0xba, 0x33, 0x14, 0x46, 0xbb, 0x93, 0x97, 0xda, 0xfa, 0xb9, 0x6f,
0xc8, 0xb4, 0x98, 0x84, 0x6b, 0x05, 0xf7, 0x93, 0x55, 0x09, 0x8d, 0x41, 0x0c, 0x3d, 0x55, 0x60,
0xb9, 0x9f, 0x68, 0x1b, 0xef, 0x53, 0xe3, 0x2d, 0x99, 0x1e, 0x16, 0x43, 0x0f, 0xbd, 0x02, 0xa8,
0x0f, 0x47, 0x15, 0x99, 0x71, 0xb8, 0xc5, 0x68, 0x71, 0xd0, 0xf4, 0x70, 0x37, 0x29, 0x1f, 0xd1,
0x4b, 0xe8, 0x10, 0x8f, 0x99, 0x5b, 0xcd, 0x66, 0x7e, 0x55, 0xa6, 0x87, 0x25, 0xe2, 0xe5, 0x46,
0x04, 0xed, 0xd8, 0x59, 0xfa, 0x6a, 0x7b, 0x28, 0x8c, 0xba, 0x98, 0x3d, 0xa3, 0x2b, 0xe8, 0xdd,
0x10, 0x87, 0x7a, 0x76, 0xe8, 0xd9, 0xc9, 0xad, 0x93, 0xfa, 0xaa, 0x34, 0x6c, 0x8d, 0x76, 0x27,
0xe3, 0xc6, 0xad, 0x68, 0x27, 0xb9, 0xc7, 0xf4, 0xac, 0xdc, 0x61, 0xc4, 0x19, 0x7d, 0xc0, 0x7b,
0x37, 0x8f, 0x24, 0xf4, 0x3d, 0xec, 0x70, 0x53, 0xaa, 0x76, 0x58, 0xde, 0xd3, 0xe6, 0xbc, 0x29,
0x53, 0x70, 0x69, 0x42, 0xe7, 0x00, 0x69, 0xba, 0x70, 0xed, 0x7b, 0x27, 0xba, 0xf3, 0x55, 0x99,
0x45, 0xbc, 0x68, 0x8e, 0xf8, 0x39, 0x5d, 0xb8, 0xd7, 0x39, 0xce, 0xfb, 0xe9, 0xa6, 0x65, 0x8d,
0x4e, 0x40, 0x4e, 0x22, 0x27, 0x5b, 0x10, 0xba, 0x54, 0xbb, 0xec, 0xc8, 0x9e, 0x37, 0x47, 0x59,
0x05, 0x8d, 0x2b, 0xdf, 0xe0, 0x15, 0xf4, 0xd7, 0xf6, 0x8c, 0x14, 0x68, 0xfd, 0xee, 0x3f, 0xb0,
0xcb, 0xdf, 0xc7, 0xf9, 0x23, 0xfa, 0x10, 0x24, 0xde, 0xb2, 0xc8, 0xce, 0x98, 0x17, 0xdf, 0x88,
0x47, 0xc2, 0xe0, 0x5b, 0xe8, 0xbd, 0xd9, 0xe1, 0x3b, 0xb9, 0xff, 0x6c, 0x81, 0x5c, 0x76, 0x55,
0xdd, 0xa3, 0xf0, 0xe8, 0x1e, 0x03, 0x40, 0xf7, 0xa1, 0xe7, 0x13, 0xdb, 0x71, 0x5d, 0x3f, 0xf2,
0x29, 0x7f, 0xdd, 0xc5, 0x61, 0x6b, 0xd4, 0x9b, 0x1c, 0xbd, 0xdd, 0x6e, 0xb5, 0xeb, 0x3c, 0xe0,
0xf8, 0x91, 0x1f, 0xf7, 0xef, 0x57, 0xa5, 0x83, 0x7f, 0x05, 0xe8, 0xaf, 0x81, 0x68, 0x08, 0x1f,
0x5f, 0x9b, 0xba, 0x31, 0xb7, 0x8f, 0xa7, 0x53, 0xe3, 0xc2, 0xc0, 0xc7, 0x97, 0xe6, 0x7c, 0x66,
0x5f, 0xcd, 0x74, 0xe3, 0xd4, 0x9c, 0x19, 0xba, 0xf2, 0x04, 0x7d, 0x00, 0xbb, 0xaf, 0x27, 0x5f,
0x7d, 0x69, 0xeb, 0xc6, 0x74, 0xae, 0x1b, 0x8a, 0x50, 0x09, 0xc6, 0x8c, 0x09, 0x22, 0xea, 0x01,
0x5c, 0x5b, 0x47, 0x25, 0xd0, 0x2a, 0xeb, 0x62, 0xbd, 0xcd, 0xeb, 0xaf, 0xcb, 0x75, 0xa9, 0xac,
0x8b, 0xf5, 0x0e, 0x52, 0x60, 0x2f, 0xaf, 0x27, 0x25, 0xb1, 0x53, 0x2b, 0x05, 0x23, 0x17, 0x3f,
0x7a, 0x58, 0x22, 0xdd, 0x4a, 0x28, 0x08, 0xc8, 0x85, 0x1f, 0xcf, 0xac, 0x1f, 0x4a, 0x62, 0xb7,
0x12, 0x0a, 0x62, 0x6f, 0xf0, 0x77, 0x1b, 0x3a, 0xfc, 0x7d, 0xdd, 0x32, 0x64, 0xa4, 0xf7, 0x3e,
0x64, 0x0e, 0x1f, 0x0d, 0x99, 0x67, 0x8d, 0xb7, 0xc9, 0x1b, 0x2b, 0x46, 0xcd, 0x25, 0xf4, 0xd7,
0xc6, 0x7b, 0x31, 0x71, 0x3e, 0xdd, 0x92, 0xf2, 0xba, 0xe0, 0x2f, 0x0b, 0x1c, 0x2b, 0xb7, 0x2b,
0xca, 0x1b, 0xa9, 0x0b, 0xdf, 0xc9, 0xee, 0xa8, 0x9f, 0x16, 0xa3, 0xe8, 0xff, 0x52, 0x4f, 0x0b,
0xbc, 0x4e, 0x2d, 0x95, 0xc1, 0x3f, 0x02, 0xc0, 0x94, 0xc4, 0x69, 0x46, 0x9d, 0x30, 0xce, 0xd0,
0x39, 0x48, 0x91, 0x7f, 0xef, 0x47, 0x6c, 0xd3, 0xbd, 0xc9, 0xe1, 0xdb, 0x8c, 0x0f, 0xad, 0xf6,
0x6b, 0x17, 0xb9, 0x19, 0xf3, 0x0c, 0x34, 0x05, 0xb9, 0x6a, 0x54, 0x7c, 0xb7, 0x46, 0x2b, 0xe3,
0x81, 0x0e, 0x12, 0x0b, 0xcd, 0xdf, 0xaa, 0xcb, 0x5f, 0x2d, 0xc3, 0xbe, 0x9a, 0x9d, 0xcf, 0xe6,
0xbf, 0xcc, 0x94, 0x27, 0x68, 0x0f, 0x64, 0x6c, 0xfc, 0x74, 0x65, 0x62, 0x43, 0x57, 0x04, 0xb4,
0x0f, 0x5d, 0x0b, 0x1b, 0xa7, 0x06, 0xce, 0x4b, 0x31, 0x5f, 0x9c, 0x5b, 0xf9, 0xdf, 0xe1, 0xf8,
0x42, 0x69, 0x9d, 0xb5, 0xe5, 0xb6, 0x22, 0x9d, 0xb5, 0xe5, 0x1d, 0x45, 0x3e, 0xf9, 0xec, 0xb7,
0x51, 0x40, 0xaa, 0x46, 0x34, 0x42, 0x83, 0xf1, 0xfa, 0xe7, 0x2f, 0x20, 0xf9, 0x77, 0xf2, 0xa6,
0xc3, 0x3e, 0x70, 0x5f, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x99, 0xa7, 0x84, 0x56, 0x08,
0x00, 0x00,
}