// Code generated by protoc-gen-go. DO NOT EDIT.
// source: cube.proto

package Anki_Vector_external_interface

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import 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.ProtoPackageIsVersion2 // please upgrade the proto package

type ObjectType int32

const (
	ObjectType_INVALID_OBJECT ObjectType = 0
	ObjectType_UNKNOWN_OBJECT ObjectType = 1
	// ////////////////////////////////////////////////////////////////////////
	// Light Cube (a.k.a. Active Block)
	//
	ObjectType_BLOCK_LIGHTCUBE1         ObjectType = 2
	ObjectType_CHARGER_BASIC            ObjectType = 6
	ObjectType_FIRST_CUSTOM_OBJECT_TYPE ObjectType = 15
)

var ObjectType_name = map[int32]string{
	0:  "INVALID_OBJECT",
	1:  "UNKNOWN_OBJECT",
	2:  "BLOCK_LIGHTCUBE1",
	6:  "CHARGER_BASIC",
	15: "FIRST_CUSTOM_OBJECT_TYPE",
}
var ObjectType_value = map[string]int32{
	"INVALID_OBJECT":           0,
	"UNKNOWN_OBJECT":           1,
	"BLOCK_LIGHTCUBE1":         2,
	"CHARGER_BASIC":            6,
	"FIRST_CUSTOM_OBJECT_TYPE": 15,
}

func (x ObjectType) String() string {
	return proto.EnumName(ObjectType_name, int32(x))
}
func (ObjectType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{0}
}

type CustomType int32

const (
	CustomType_INVALID_CUSTOM_TYPE CustomType = 0
	CustomType_CUSTOM_TYPE_00      CustomType = 1
	CustomType_CUSTOM_TYPE_01      CustomType = 2
	CustomType_CUSTOM_TYPE_02      CustomType = 3
	CustomType_CUSTOM_TYPE_03      CustomType = 4
	CustomType_CUSTOM_TYPE_04      CustomType = 5
	CustomType_CUSTOM_TYPE_05      CustomType = 6
	CustomType_CUSTOM_TYPE_06      CustomType = 7
	CustomType_CUSTOM_TYPE_07      CustomType = 8
	CustomType_CUSTOM_TYPE_08      CustomType = 9
	CustomType_CUSTOM_TYPE_09      CustomType = 10
	CustomType_CUSTOM_TYPE_10      CustomType = 11
	CustomType_CUSTOM_TYPE_11      CustomType = 12
	CustomType_CUSTOM_TYPE_12      CustomType = 13
	CustomType_CUSTOM_TYPE_13      CustomType = 14
	CustomType_CUSTOM_TYPE_14      CustomType = 15
	CustomType_CUSTOM_TYPE_15      CustomType = 16
	CustomType_CUSTOM_TYPE_16      CustomType = 17
	CustomType_CUSTOM_TYPE_17      CustomType = 18
	CustomType_CUSTOM_TYPE_18      CustomType = 19
	CustomType_CUSTOM_TYPE_19      CustomType = 20
	CustomType_CUSTOM_TYPE_COUNT   CustomType = 20
)

var CustomType_name = map[int32]string{
	0:  "INVALID_CUSTOM_TYPE",
	1:  "CUSTOM_TYPE_00",
	2:  "CUSTOM_TYPE_01",
	3:  "CUSTOM_TYPE_02",
	4:  "CUSTOM_TYPE_03",
	5:  "CUSTOM_TYPE_04",
	6:  "CUSTOM_TYPE_05",
	7:  "CUSTOM_TYPE_06",
	8:  "CUSTOM_TYPE_07",
	9:  "CUSTOM_TYPE_08",
	10: "CUSTOM_TYPE_09",
	11: "CUSTOM_TYPE_10",
	12: "CUSTOM_TYPE_11",
	13: "CUSTOM_TYPE_12",
	14: "CUSTOM_TYPE_13",
	15: "CUSTOM_TYPE_14",
	16: "CUSTOM_TYPE_15",
	17: "CUSTOM_TYPE_16",
	18: "CUSTOM_TYPE_17",
	19: "CUSTOM_TYPE_18",
	20: "CUSTOM_TYPE_19",
	// Duplicate value: 20: "CUSTOM_TYPE_COUNT",
}
var CustomType_value = map[string]int32{
	"INVALID_CUSTOM_TYPE": 0,
	"CUSTOM_TYPE_00":      1,
	"CUSTOM_TYPE_01":      2,
	"CUSTOM_TYPE_02":      3,
	"CUSTOM_TYPE_03":      4,
	"CUSTOM_TYPE_04":      5,
	"CUSTOM_TYPE_05":      6,
	"CUSTOM_TYPE_06":      7,
	"CUSTOM_TYPE_07":      8,
	"CUSTOM_TYPE_08":      9,
	"CUSTOM_TYPE_09":      10,
	"CUSTOM_TYPE_10":      11,
	"CUSTOM_TYPE_11":      12,
	"CUSTOM_TYPE_12":      13,
	"CUSTOM_TYPE_13":      14,
	"CUSTOM_TYPE_14":      15,
	"CUSTOM_TYPE_15":      16,
	"CUSTOM_TYPE_16":      17,
	"CUSTOM_TYPE_17":      18,
	"CUSTOM_TYPE_18":      19,
	"CUSTOM_TYPE_19":      20,
	"CUSTOM_TYPE_COUNT":   20,
}

func (x CustomType) String() string {
	return proto.EnumName(CustomType_name, int32(x))
}
func (CustomType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{1}
}

// Note: ObjectFamily is deprecated and will be removed in future releases
type ObjectFamily int32

const (
	ObjectFamily_INVALID_FAMILY      ObjectFamily = 0
	ObjectFamily_UNKNOWN_FAMILY      ObjectFamily = 1
	ObjectFamily_BLOCK               ObjectFamily = 2
	ObjectFamily_LIGHT_CUBE          ObjectFamily = 3
	ObjectFamily_CHARGER             ObjectFamily = 4
	ObjectFamily_CUSTOM_OBJECT       ObjectFamily = 7
	ObjectFamily_OBJECT_FAMILY_COUNT ObjectFamily = 7
)

var ObjectFamily_name = map[int32]string{
	0: "INVALID_FAMILY",
	1: "UNKNOWN_FAMILY",
	2: "BLOCK",
	3: "LIGHT_CUBE",
	4: "CHARGER",
	7: "CUSTOM_OBJECT",
	// Duplicate value: 7: "OBJECT_FAMILY_COUNT",
}
var ObjectFamily_value = map[string]int32{
	"INVALID_FAMILY":      0,
	"UNKNOWN_FAMILY":      1,
	"BLOCK":               2,
	"LIGHT_CUBE":          3,
	"CHARGER":             4,
	"CUSTOM_OBJECT":       7,
	"OBJECT_FAMILY_COUNT": 7,
}

func (x ObjectFamily) String() string {
	return proto.EnumName(ObjectFamily_name, int32(x))
}
func (ObjectFamily) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{2}
}

type UpAxis int32

const (
	UpAxis_INVALID_AXIS UpAxis = 0
	UpAxis_X_NEGATIVE   UpAxis = 1
	UpAxis_X_POSITIVE   UpAxis = 2
	UpAxis_Y_NEGATIVE   UpAxis = 3
	UpAxis_Y_POSITIVE   UpAxis = 4
	UpAxis_Z_NEGATIVE   UpAxis = 5
	UpAxis_Z_POSITIVE   UpAxis = 6
	UpAxis_NUM_AXES     UpAxis = 7
)

var UpAxis_name = map[int32]string{
	0: "INVALID_AXIS",
	1: "X_NEGATIVE",
	2: "X_POSITIVE",
	3: "Y_NEGATIVE",
	4: "Y_POSITIVE",
	5: "Z_NEGATIVE",
	6: "Z_POSITIVE",
	7: "NUM_AXES",
}
var UpAxis_value = map[string]int32{
	"INVALID_AXIS": 0,
	"X_NEGATIVE":   1,
	"X_POSITIVE":   2,
	"Y_NEGATIVE":   3,
	"Y_POSITIVE":   4,
	"Z_NEGATIVE":   5,
	"Z_POSITIVE":   6,
	"NUM_AXES":     7,
}

func (x UpAxis) String() string {
	return proto.EnumName(UpAxis_name, int32(x))
}
func (UpAxis) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{3}
}

// Constants associated with the audio feed
type ObjectConstants int32

const (
	ObjectConstants_OBJECT_CONSTANTS_NULL          ObjectConstants = 0
	ObjectConstants_FIXED_CUSTOM_WALL_THICKNESS_MM ObjectConstants = 10
)

var ObjectConstants_name = map[int32]string{
	0:  "OBJECT_CONSTANTS_NULL",
	10: "FIXED_CUSTOM_WALL_THICKNESS_MM",
}
var ObjectConstants_value = map[string]int32{
	"OBJECT_CONSTANTS_NULL":          0,
	"FIXED_CUSTOM_WALL_THICKNESS_MM": 10,
}

func (x ObjectConstants) String() string {
	return proto.EnumName(ObjectConstants_name, int32(x))
}
func (ObjectConstants) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{4}
}

type CustomObjectMarker int32

const (
	CustomObjectMarker_CUSTOM_MARKER_UNKNOWN     CustomObjectMarker = 0
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_2   CustomObjectMarker = 1
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_3   CustomObjectMarker = 2
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_4   CustomObjectMarker = 3
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_5   CustomObjectMarker = 4
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_2  CustomObjectMarker = 5
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_3  CustomObjectMarker = 6
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_4  CustomObjectMarker = 7
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_5  CustomObjectMarker = 8
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_2  CustomObjectMarker = 9
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_3  CustomObjectMarker = 10
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_4  CustomObjectMarker = 11
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_5  CustomObjectMarker = 12
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_2 CustomObjectMarker = 13
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_3 CustomObjectMarker = 14
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_4 CustomObjectMarker = 15
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_5 CustomObjectMarker = 16
	CustomObjectMarker_CUSTOM_MARKER_COUNT       CustomObjectMarker = 16
)

var CustomObjectMarker_name = map[int32]string{
	0:  "CUSTOM_MARKER_UNKNOWN",
	1:  "CUSTOM_MARKER_CIRCLES_2",
	2:  "CUSTOM_MARKER_CIRCLES_3",
	3:  "CUSTOM_MARKER_CIRCLES_4",
	4:  "CUSTOM_MARKER_CIRCLES_5",
	5:  "CUSTOM_MARKER_DIAMONDS_2",
	6:  "CUSTOM_MARKER_DIAMONDS_3",
	7:  "CUSTOM_MARKER_DIAMONDS_4",
	8:  "CUSTOM_MARKER_DIAMONDS_5",
	9:  "CUSTOM_MARKER_HEXAGONS_2",
	10: "CUSTOM_MARKER_HEXAGONS_3",
	11: "CUSTOM_MARKER_HEXAGONS_4",
	12: "CUSTOM_MARKER_HEXAGONS_5",
	13: "CUSTOM_MARKER_TRIANGLES_2",
	14: "CUSTOM_MARKER_TRIANGLES_3",
	15: "CUSTOM_MARKER_TRIANGLES_4",
	16: "CUSTOM_MARKER_TRIANGLES_5",
	// Duplicate value: 16: "CUSTOM_MARKER_COUNT",
}
var CustomObjectMarker_value = map[string]int32{
	"CUSTOM_MARKER_UNKNOWN":     0,
	"CUSTOM_MARKER_CIRCLES_2":   1,
	"CUSTOM_MARKER_CIRCLES_3":   2,
	"CUSTOM_MARKER_CIRCLES_4":   3,
	"CUSTOM_MARKER_CIRCLES_5":   4,
	"CUSTOM_MARKER_DIAMONDS_2":  5,
	"CUSTOM_MARKER_DIAMONDS_3":  6,
	"CUSTOM_MARKER_DIAMONDS_4":  7,
	"CUSTOM_MARKER_DIAMONDS_5":  8,
	"CUSTOM_MARKER_HEXAGONS_2":  9,
	"CUSTOM_MARKER_HEXAGONS_3":  10,
	"CUSTOM_MARKER_HEXAGONS_4":  11,
	"CUSTOM_MARKER_HEXAGONS_5":  12,
	"CUSTOM_MARKER_TRIANGLES_2": 13,
	"CUSTOM_MARKER_TRIANGLES_3": 14,
	"CUSTOM_MARKER_TRIANGLES_4": 15,
	"CUSTOM_MARKER_TRIANGLES_5": 16,
	"CUSTOM_MARKER_COUNT":       16,
}

func (x CustomObjectMarker) String() string {
	return proto.EnumName(CustomObjectMarker_name, int32(x))
}
func (CustomObjectMarker) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{5}
}

type CustomObjectDeletionMode int32

const (
	CustomObjectDeletionMode_DELETION_MASK_UNKNOWN               CustomObjectDeletionMode = 0
	CustomObjectDeletionMode_DELETION_MASK_FIXED_CUSTOM_OBJECTS  CustomObjectDeletionMode = 1
	CustomObjectDeletionMode_DELETION_MASK_CUSTOM_MARKER_OBJECTS CustomObjectDeletionMode = 2
	CustomObjectDeletionMode_DELETION_MASK_ARCHETYPES            CustomObjectDeletionMode = 3
)

var CustomObjectDeletionMode_name = map[int32]string{
	0: "DELETION_MASK_UNKNOWN",
	1: "DELETION_MASK_FIXED_CUSTOM_OBJECTS",
	2: "DELETION_MASK_CUSTOM_MARKER_OBJECTS",
	3: "DELETION_MASK_ARCHETYPES",
}
var CustomObjectDeletionMode_value = map[string]int32{
	"DELETION_MASK_UNKNOWN":               0,
	"DELETION_MASK_FIXED_CUSTOM_OBJECTS":  1,
	"DELETION_MASK_CUSTOM_MARKER_OBJECTS": 2,
	"DELETION_MASK_ARCHETYPES":            3,
}

func (x CustomObjectDeletionMode) String() string {
	return proto.EnumName(CustomObjectDeletionMode_name, int32(x))
}
func (CustomObjectDeletionMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{6}
}

// This is a uint_8 internally.
type SetCubeLightsRequest_MakeRelativeMode int32

const (
	SetCubeLightsRequest_UNKNOWN   SetCubeLightsRequest_MakeRelativeMode = 0
	SetCubeLightsRequest_OFF       SetCubeLightsRequest_MakeRelativeMode = 1
	SetCubeLightsRequest_BY_CORNER SetCubeLightsRequest_MakeRelativeMode = 2
	SetCubeLightsRequest_BY_SIDE   SetCubeLightsRequest_MakeRelativeMode = 3
)

var SetCubeLightsRequest_MakeRelativeMode_name = map[int32]string{
	0: "UNKNOWN",
	1: "OFF",
	2: "BY_CORNER",
	3: "BY_SIDE",
}
var SetCubeLightsRequest_MakeRelativeMode_value = map[string]int32{
	"UNKNOWN":   0,
	"OFF":       1,
	"BY_CORNER": 2,
	"BY_SIDE":   3,
}

func (x SetCubeLightsRequest_MakeRelativeMode) String() string {
	return proto.EnumName(SetCubeLightsRequest_MakeRelativeMode_name, int32(x))
}
func (SetCubeLightsRequest_MakeRelativeMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{12, 0}
}

// Attempt to connect to a cube. If a cube is currently connected,
// this will do nothing.
type ConnectCubeRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConnectCubeRequest) Reset()         { *m = ConnectCubeRequest{} }
func (m *ConnectCubeRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectCubeRequest) ProtoMessage()    {}
func (*ConnectCubeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{0}
}
func (m *ConnectCubeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConnectCubeRequest.Unmarshal(m, b)
}
func (m *ConnectCubeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConnectCubeRequest.Marshal(b, m, deterministic)
}
func (dst *ConnectCubeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConnectCubeRequest.Merge(dst, src)
}
func (m *ConnectCubeRequest) XXX_Size() int {
	return xxx_messageInfo_ConnectCubeRequest.Size(m)
}
func (m *ConnectCubeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ConnectCubeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ConnectCubeRequest proto.InternalMessageInfo

type ConnectCubeResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	Success              bool            `protobuf:"varint,2,opt,name=success" json:"success,omitempty"`
	ObjectId             uint32          `protobuf:"varint,3,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	FactoryId            string          `protobuf:"bytes,4,opt,name=factory_id,json=factoryId" json:"factory_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ConnectCubeResponse) Reset()         { *m = ConnectCubeResponse{} }
func (m *ConnectCubeResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectCubeResponse) ProtoMessage()    {}
func (*ConnectCubeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{1}
}
func (m *ConnectCubeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConnectCubeResponse.Unmarshal(m, b)
}
func (m *ConnectCubeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConnectCubeResponse.Marshal(b, m, deterministic)
}
func (dst *ConnectCubeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConnectCubeResponse.Merge(dst, src)
}
func (m *ConnectCubeResponse) XXX_Size() int {
	return xxx_messageInfo_ConnectCubeResponse.Size(m)
}
func (m *ConnectCubeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ConnectCubeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ConnectCubeResponse proto.InternalMessageInfo

func (m *ConnectCubeResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *ConnectCubeResponse) GetSuccess() bool {
	if m != nil {
		return m.Success
	}
	return false
}

func (m *ConnectCubeResponse) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

func (m *ConnectCubeResponse) GetFactoryId() string {
	if m != nil {
		return m.FactoryId
	}
	return ""
}

type CubesAvailableRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CubesAvailableRequest) Reset()         { *m = CubesAvailableRequest{} }
func (m *CubesAvailableRequest) String() string { return proto.CompactTextString(m) }
func (*CubesAvailableRequest) ProtoMessage()    {}
func (*CubesAvailableRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{2}
}
func (m *CubesAvailableRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CubesAvailableRequest.Unmarshal(m, b)
}
func (m *CubesAvailableRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CubesAvailableRequest.Marshal(b, m, deterministic)
}
func (dst *CubesAvailableRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CubesAvailableRequest.Merge(dst, src)
}
func (m *CubesAvailableRequest) XXX_Size() int {
	return xxx_messageInfo_CubesAvailableRequest.Size(m)
}
func (m *CubesAvailableRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CubesAvailableRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CubesAvailableRequest proto.InternalMessageInfo

type CubesAvailableResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	FactoryIds           []string        `protobuf:"bytes,2,rep,name=factory_ids,json=factoryIds" json:"factory_ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CubesAvailableResponse) Reset()         { *m = CubesAvailableResponse{} }
func (m *CubesAvailableResponse) String() string { return proto.CompactTextString(m) }
func (*CubesAvailableResponse) ProtoMessage()    {}
func (*CubesAvailableResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{3}
}
func (m *CubesAvailableResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CubesAvailableResponse.Unmarshal(m, b)
}
func (m *CubesAvailableResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CubesAvailableResponse.Marshal(b, m, deterministic)
}
func (dst *CubesAvailableResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CubesAvailableResponse.Merge(dst, src)
}
func (m *CubesAvailableResponse) XXX_Size() int {
	return xxx_messageInfo_CubesAvailableResponse.Size(m)
}
func (m *CubesAvailableResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CubesAvailableResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CubesAvailableResponse proto.InternalMessageInfo

func (m *CubesAvailableResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *CubesAvailableResponse) GetFactoryIds() []string {
	if m != nil {
		return m.FactoryIds
	}
	return nil
}

// Requests a disconnection from the currently connected cube.
type DisconnectCubeRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DisconnectCubeRequest) Reset()         { *m = DisconnectCubeRequest{} }
func (m *DisconnectCubeRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectCubeRequest) ProtoMessage()    {}
func (*DisconnectCubeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{4}
}
func (m *DisconnectCubeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DisconnectCubeRequest.Unmarshal(m, b)
}
func (m *DisconnectCubeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DisconnectCubeRequest.Marshal(b, m, deterministic)
}
func (dst *DisconnectCubeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DisconnectCubeRequest.Merge(dst, src)
}
func (m *DisconnectCubeRequest) XXX_Size() int {
	return xxx_messageInfo_DisconnectCubeRequest.Size(m)
}
func (m *DisconnectCubeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DisconnectCubeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DisconnectCubeRequest proto.InternalMessageInfo

type DisconnectCubeResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *DisconnectCubeResponse) Reset()         { *m = DisconnectCubeResponse{} }
func (m *DisconnectCubeResponse) String() string { return proto.CompactTextString(m) }
func (*DisconnectCubeResponse) ProtoMessage()    {}
func (*DisconnectCubeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{5}
}
func (m *DisconnectCubeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DisconnectCubeResponse.Unmarshal(m, b)
}
func (m *DisconnectCubeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DisconnectCubeResponse.Marshal(b, m, deterministic)
}
func (dst *DisconnectCubeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DisconnectCubeResponse.Merge(dst, src)
}
func (m *DisconnectCubeResponse) XXX_Size() int {
	return xxx_messageInfo_DisconnectCubeResponse.Size(m)
}
func (m *DisconnectCubeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DisconnectCubeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DisconnectCubeResponse proto.InternalMessageInfo

func (m *DisconnectCubeResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// Plays the default cube connection animation on the currently
// connected cube's lights.  This is intended for app level user
// surfacing of cube connectivity, not for sdk cube light control.
type FlashCubeLightsRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlashCubeLightsRequest) Reset()         { *m = FlashCubeLightsRequest{} }
func (m *FlashCubeLightsRequest) String() string { return proto.CompactTextString(m) }
func (*FlashCubeLightsRequest) ProtoMessage()    {}
func (*FlashCubeLightsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{6}
}
func (m *FlashCubeLightsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlashCubeLightsRequest.Unmarshal(m, b)
}
func (m *FlashCubeLightsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlashCubeLightsRequest.Marshal(b, m, deterministic)
}
func (dst *FlashCubeLightsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlashCubeLightsRequest.Merge(dst, src)
}
func (m *FlashCubeLightsRequest) XXX_Size() int {
	return xxx_messageInfo_FlashCubeLightsRequest.Size(m)
}
func (m *FlashCubeLightsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FlashCubeLightsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FlashCubeLightsRequest proto.InternalMessageInfo

type FlashCubeLightsResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *FlashCubeLightsResponse) Reset()         { *m = FlashCubeLightsResponse{} }
func (m *FlashCubeLightsResponse) String() string { return proto.CompactTextString(m) }
func (*FlashCubeLightsResponse) ProtoMessage()    {}
func (*FlashCubeLightsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{7}
}
func (m *FlashCubeLightsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlashCubeLightsResponse.Unmarshal(m, b)
}
func (m *FlashCubeLightsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlashCubeLightsResponse.Marshal(b, m, deterministic)
}
func (dst *FlashCubeLightsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlashCubeLightsResponse.Merge(dst, src)
}
func (m *FlashCubeLightsResponse) XXX_Size() int {
	return xxx_messageInfo_FlashCubeLightsResponse.Size(m)
}
func (m *FlashCubeLightsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_FlashCubeLightsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_FlashCubeLightsResponse proto.InternalMessageInfo

func (m *FlashCubeLightsResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// Forget the robot's preferred cube. This will cause the robot to
// connect to the cube with the highest RSSI (signal strength) next
// time a connection is requested. Saves this preference to disk.
// The next cube that the robot connects to will become its
// preferred cube.
type ForgetPreferredCubeRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ForgetPreferredCubeRequest) Reset()         { *m = ForgetPreferredCubeRequest{} }
func (m *ForgetPreferredCubeRequest) String() string { return proto.CompactTextString(m) }
func (*ForgetPreferredCubeRequest) ProtoMessage()    {}
func (*ForgetPreferredCubeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{8}
}
func (m *ForgetPreferredCubeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ForgetPreferredCubeRequest.Unmarshal(m, b)
}
func (m *ForgetPreferredCubeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ForgetPreferredCubeRequest.Marshal(b, m, deterministic)
}
func (dst *ForgetPreferredCubeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ForgetPreferredCubeRequest.Merge(dst, src)
}
func (m *ForgetPreferredCubeRequest) XXX_Size() int {
	return xxx_messageInfo_ForgetPreferredCubeRequest.Size(m)
}
func (m *ForgetPreferredCubeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ForgetPreferredCubeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ForgetPreferredCubeRequest proto.InternalMessageInfo

type ForgetPreferredCubeResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ForgetPreferredCubeResponse) Reset()         { *m = ForgetPreferredCubeResponse{} }
func (m *ForgetPreferredCubeResponse) String() string { return proto.CompactTextString(m) }
func (*ForgetPreferredCubeResponse) ProtoMessage()    {}
func (*ForgetPreferredCubeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{9}
}
func (m *ForgetPreferredCubeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ForgetPreferredCubeResponse.Unmarshal(m, b)
}
func (m *ForgetPreferredCubeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ForgetPreferredCubeResponse.Marshal(b, m, deterministic)
}
func (dst *ForgetPreferredCubeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ForgetPreferredCubeResponse.Merge(dst, src)
}
func (m *ForgetPreferredCubeResponse) XXX_Size() int {
	return xxx_messageInfo_ForgetPreferredCubeResponse.Size(m)
}
func (m *ForgetPreferredCubeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ForgetPreferredCubeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ForgetPreferredCubeResponse proto.InternalMessageInfo

func (m *ForgetPreferredCubeResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// Set the robot's preferred cube and save it to disk. The robot
// will always attempt to connect to this cube if it is available.
// This is only used in simulation for now.
type SetPreferredCubeRequest struct {
	FactoryId            string   `protobuf:"bytes,1,opt,name=factory_id,json=factoryId" json:"factory_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SetPreferredCubeRequest) Reset()         { *m = SetPreferredCubeRequest{} }
func (m *SetPreferredCubeRequest) String() string { return proto.CompactTextString(m) }
func (*SetPreferredCubeRequest) ProtoMessage()    {}
func (*SetPreferredCubeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{10}
}
func (m *SetPreferredCubeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetPreferredCubeRequest.Unmarshal(m, b)
}
func (m *SetPreferredCubeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetPreferredCubeRequest.Marshal(b, m, deterministic)
}
func (dst *SetPreferredCubeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetPreferredCubeRequest.Merge(dst, src)
}
func (m *SetPreferredCubeRequest) XXX_Size() int {
	return xxx_messageInfo_SetPreferredCubeRequest.Size(m)
}
func (m *SetPreferredCubeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SetPreferredCubeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SetPreferredCubeRequest proto.InternalMessageInfo

func (m *SetPreferredCubeRequest) GetFactoryId() string {
	if m != nil {
		return m.FactoryId
	}
	return ""
}

type SetPreferredCubeResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *SetPreferredCubeResponse) Reset()         { *m = SetPreferredCubeResponse{} }
func (m *SetPreferredCubeResponse) String() string { return proto.CompactTextString(m) }
func (*SetPreferredCubeResponse) ProtoMessage()    {}
func (*SetPreferredCubeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{11}
}
func (m *SetPreferredCubeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetPreferredCubeResponse.Unmarshal(m, b)
}
func (m *SetPreferredCubeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetPreferredCubeResponse.Marshal(b, m, deterministic)
}
func (dst *SetPreferredCubeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetPreferredCubeResponse.Merge(dst, src)
}
func (m *SetPreferredCubeResponse) XXX_Size() int {
	return xxx_messageInfo_SetPreferredCubeResponse.Size(m)
}
func (m *SetPreferredCubeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SetPreferredCubeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SetPreferredCubeResponse proto.InternalMessageInfo

func (m *SetPreferredCubeResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// Sets each LED on victor's cube.  Two states are specified
// designated 'on' and 'off', each with a color, duration,
// and state transition time
type SetCubeLightsRequest struct {
	ObjectId              uint32                                `protobuf:"varint,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	OnColor               []uint32                              `protobuf:"varint,2,rep,packed,name=on_color,json=onColor" json:"on_color,omitempty"`
	OffColor              []uint32                              `protobuf:"varint,3,rep,packed,name=off_color,json=offColor" json:"off_color,omitempty"`
	OnPeriodMs            []uint32                              `protobuf:"varint,4,rep,packed,name=on_period_ms,json=onPeriodMs" json:"on_period_ms,omitempty"`
	OffPeriodMs           []uint32                              `protobuf:"varint,5,rep,packed,name=off_period_ms,json=offPeriodMs" json:"off_period_ms,omitempty"`
	TransitionOnPeriodMs  []uint32                              `protobuf:"varint,6,rep,packed,name=transition_on_period_ms,json=transitionOnPeriodMs" json:"transition_on_period_ms,omitempty"`
	TransitionOffPeriodMs []uint32                              `protobuf:"varint,7,rep,packed,name=transition_off_period_ms,json=transitionOffPeriodMs" json:"transition_off_period_ms,omitempty"`
	Offset                []int32                               `protobuf:"varint,8,rep,packed,name=offset" json:"offset,omitempty"`
	RelativeToX           float32                               `protobuf:"fixed32,9,opt,name=relative_to_x,json=relativeToX" json:"relative_to_x,omitempty"`
	RelativeToY           float32                               `protobuf:"fixed32,10,opt,name=relative_to_y,json=relativeToY" json:"relative_to_y,omitempty"`
	Rotate                bool                                  `protobuf:"varint,11,opt,name=rotate" json:"rotate,omitempty"`
	MakeRelative          SetCubeLightsRequest_MakeRelativeMode `protobuf:"varint,12,opt,name=make_relative,json=makeRelative,enum=Anki.Vector.external_interface.SetCubeLightsRequest_MakeRelativeMode" json:"make_relative,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                              `json:"-"`
	XXX_unrecognized      []byte                                `json:"-"`
	XXX_sizecache         int32                                 `json:"-"`
}

func (m *SetCubeLightsRequest) Reset()         { *m = SetCubeLightsRequest{} }
func (m *SetCubeLightsRequest) String() string { return proto.CompactTextString(m) }
func (*SetCubeLightsRequest) ProtoMessage()    {}
func (*SetCubeLightsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{12}
}
func (m *SetCubeLightsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetCubeLightsRequest.Unmarshal(m, b)
}
func (m *SetCubeLightsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetCubeLightsRequest.Marshal(b, m, deterministic)
}
func (dst *SetCubeLightsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetCubeLightsRequest.Merge(dst, src)
}
func (m *SetCubeLightsRequest) XXX_Size() int {
	return xxx_messageInfo_SetCubeLightsRequest.Size(m)
}
func (m *SetCubeLightsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SetCubeLightsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SetCubeLightsRequest proto.InternalMessageInfo

func (m *SetCubeLightsRequest) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

func (m *SetCubeLightsRequest) GetOnColor() []uint32 {
	if m != nil {
		return m.OnColor
	}
	return nil
}

func (m *SetCubeLightsRequest) GetOffColor() []uint32 {
	if m != nil {
		return m.OffColor
	}
	return nil
}

func (m *SetCubeLightsRequest) GetOnPeriodMs() []uint32 {
	if m != nil {
		return m.OnPeriodMs
	}
	return nil
}

func (m *SetCubeLightsRequest) GetOffPeriodMs() []uint32 {
	if m != nil {
		return m.OffPeriodMs
	}
	return nil
}

func (m *SetCubeLightsRequest) GetTransitionOnPeriodMs() []uint32 {
	if m != nil {
		return m.TransitionOnPeriodMs
	}
	return nil
}

func (m *SetCubeLightsRequest) GetTransitionOffPeriodMs() []uint32 {
	if m != nil {
		return m.TransitionOffPeriodMs
	}
	return nil
}

func (m *SetCubeLightsRequest) GetOffset() []int32 {
	if m != nil {
		return m.Offset
	}
	return nil
}

func (m *SetCubeLightsRequest) GetRelativeToX() float32 {
	if m != nil {
		return m.RelativeToX
	}
	return 0
}

func (m *SetCubeLightsRequest) GetRelativeToY() float32 {
	if m != nil {
		return m.RelativeToY
	}
	return 0
}

func (m *SetCubeLightsRequest) GetRotate() bool {
	if m != nil {
		return m.Rotate
	}
	return false
}

func (m *SetCubeLightsRequest) GetMakeRelative() SetCubeLightsRequest_MakeRelativeMode {
	if m != nil {
		return m.MakeRelative
	}
	return SetCubeLightsRequest_UNKNOWN
}

type SetCubeLightsResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *SetCubeLightsResponse) Reset()         { *m = SetCubeLightsResponse{} }
func (m *SetCubeLightsResponse) String() string { return proto.CompactTextString(m) }
func (*SetCubeLightsResponse) ProtoMessage()    {}
func (*SetCubeLightsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{13}
}
func (m *SetCubeLightsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetCubeLightsResponse.Unmarshal(m, b)
}
func (m *SetCubeLightsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetCubeLightsResponse.Marshal(b, m, deterministic)
}
func (dst *SetCubeLightsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetCubeLightsResponse.Merge(dst, src)
}
func (m *SetCubeLightsResponse) XXX_Size() int {
	return xxx_messageInfo_SetCubeLightsResponse.Size(m)
}
func (m *SetCubeLightsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SetCubeLightsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SetCubeLightsResponse proto.InternalMessageInfo

func (m *SetCubeLightsResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type ObjectAvailable struct {
	FactoryId            string   `protobuf:"bytes,1,opt,name=factory_id,json=factoryId" json:"factory_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ObjectAvailable) Reset()         { *m = ObjectAvailable{} }
func (m *ObjectAvailable) String() string { return proto.CompactTextString(m) }
func (*ObjectAvailable) ProtoMessage()    {}
func (*ObjectAvailable) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{14}
}
func (m *ObjectAvailable) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectAvailable.Unmarshal(m, b)
}
func (m *ObjectAvailable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectAvailable.Marshal(b, m, deterministic)
}
func (dst *ObjectAvailable) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectAvailable.Merge(dst, src)
}
func (m *ObjectAvailable) XXX_Size() int {
	return xxx_messageInfo_ObjectAvailable.Size(m)
}
func (m *ObjectAvailable) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectAvailable.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectAvailable proto.InternalMessageInfo

func (m *ObjectAvailable) GetFactoryId() string {
	if m != nil {
		return m.FactoryId
	}
	return ""
}

// Indicates that a cube has connected or disconnected to the robot.
// This message will be sent for any connects or disconnects regardless
// of whether it originated from us or underlying robot behavior.
type ObjectConnectionState struct {
	ObjectId             uint32     `protobuf:"varint,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	FactoryId            string     `protobuf:"bytes,2,opt,name=factory_id,json=factoryId" json:"factory_id,omitempty"`
	ObjectType           ObjectType `protobuf:"varint,3,opt,name=object_type,json=objectType,enum=Anki.Vector.external_interface.ObjectType" json:"object_type,omitempty"`
	Connected            bool       `protobuf:"varint,4,opt,name=connected" json:"connected,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *ObjectConnectionState) Reset()         { *m = ObjectConnectionState{} }
func (m *ObjectConnectionState) String() string { return proto.CompactTextString(m) }
func (*ObjectConnectionState) ProtoMessage()    {}
func (*ObjectConnectionState) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{15}
}
func (m *ObjectConnectionState) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectConnectionState.Unmarshal(m, b)
}
func (m *ObjectConnectionState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectConnectionState.Marshal(b, m, deterministic)
}
func (dst *ObjectConnectionState) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectConnectionState.Merge(dst, src)
}
func (m *ObjectConnectionState) XXX_Size() int {
	return xxx_messageInfo_ObjectConnectionState.Size(m)
}
func (m *ObjectConnectionState) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectConnectionState.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectConnectionState proto.InternalMessageInfo

func (m *ObjectConnectionState) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

func (m *ObjectConnectionState) GetFactoryId() string {
	if m != nil {
		return m.FactoryId
	}
	return ""
}

func (m *ObjectConnectionState) GetObjectType() ObjectType {
	if m != nil {
		return m.ObjectType
	}
	return ObjectType_INVALID_OBJECT
}

func (m *ObjectConnectionState) GetConnected() bool {
	if m != nil {
		return m.Connected
	}
	return false
}

type ObjectMoved struct {
	Timestamp            uint32   `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ObjectId             uint32   `protobuf:"varint,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ObjectMoved) Reset()         { *m = ObjectMoved{} }
func (m *ObjectMoved) String() string { return proto.CompactTextString(m) }
func (*ObjectMoved) ProtoMessage()    {}
func (*ObjectMoved) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{16}
}
func (m *ObjectMoved) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectMoved.Unmarshal(m, b)
}
func (m *ObjectMoved) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectMoved.Marshal(b, m, deterministic)
}
func (dst *ObjectMoved) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectMoved.Merge(dst, src)
}
func (m *ObjectMoved) XXX_Size() int {
	return xxx_messageInfo_ObjectMoved.Size(m)
}
func (m *ObjectMoved) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectMoved.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectMoved proto.InternalMessageInfo

func (m *ObjectMoved) GetTimestamp() uint32 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *ObjectMoved) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

type ObjectStoppedMoving struct {
	Timestamp            uint32   `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ObjectId             uint32   `protobuf:"varint,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ObjectStoppedMoving) Reset()         { *m = ObjectStoppedMoving{} }
func (m *ObjectStoppedMoving) String() string { return proto.CompactTextString(m) }
func (*ObjectStoppedMoving) ProtoMessage()    {}
func (*ObjectStoppedMoving) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{17}
}
func (m *ObjectStoppedMoving) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectStoppedMoving.Unmarshal(m, b)
}
func (m *ObjectStoppedMoving) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectStoppedMoving.Marshal(b, m, deterministic)
}
func (dst *ObjectStoppedMoving) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectStoppedMoving.Merge(dst, src)
}
func (m *ObjectStoppedMoving) XXX_Size() int {
	return xxx_messageInfo_ObjectStoppedMoving.Size(m)
}
func (m *ObjectStoppedMoving) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectStoppedMoving.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectStoppedMoving proto.InternalMessageInfo

func (m *ObjectStoppedMoving) GetTimestamp() uint32 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *ObjectStoppedMoving) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

type ObjectUpAxisChanged struct {
	Timestamp            uint32   `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ObjectId             uint32   `protobuf:"varint,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	UpAxis               UpAxis   `protobuf:"varint,3,opt,name=up_axis,json=upAxis,enum=Anki.Vector.external_interface.UpAxis" json:"up_axis,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ObjectUpAxisChanged) Reset()         { *m = ObjectUpAxisChanged{} }
func (m *ObjectUpAxisChanged) String() string { return proto.CompactTextString(m) }
func (*ObjectUpAxisChanged) ProtoMessage()    {}
func (*ObjectUpAxisChanged) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{18}
}
func (m *ObjectUpAxisChanged) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectUpAxisChanged.Unmarshal(m, b)
}
func (m *ObjectUpAxisChanged) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectUpAxisChanged.Marshal(b, m, deterministic)
}
func (dst *ObjectUpAxisChanged) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectUpAxisChanged.Merge(dst, src)
}
func (m *ObjectUpAxisChanged) XXX_Size() int {
	return xxx_messageInfo_ObjectUpAxisChanged.Size(m)
}
func (m *ObjectUpAxisChanged) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectUpAxisChanged.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectUpAxisChanged proto.InternalMessageInfo

func (m *ObjectUpAxisChanged) GetTimestamp() uint32 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *ObjectUpAxisChanged) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

func (m *ObjectUpAxisChanged) GetUpAxis() UpAxis {
	if m != nil {
		return m.UpAxis
	}
	return UpAxis_INVALID_AXIS
}

type ObjectTapped struct {
	Timestamp            uint32   `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ObjectId             uint32   `protobuf:"varint,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ObjectTapped) Reset()         { *m = ObjectTapped{} }
func (m *ObjectTapped) String() string { return proto.CompactTextString(m) }
func (*ObjectTapped) ProtoMessage()    {}
func (*ObjectTapped) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{19}
}
func (m *ObjectTapped) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectTapped.Unmarshal(m, b)
}
func (m *ObjectTapped) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectTapped.Marshal(b, m, deterministic)
}
func (dst *ObjectTapped) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectTapped.Merge(dst, src)
}
func (m *ObjectTapped) XXX_Size() int {
	return xxx_messageInfo_ObjectTapped.Size(m)
}
func (m *ObjectTapped) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectTapped.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectTapped proto.InternalMessageInfo

func (m *ObjectTapped) GetTimestamp() uint32 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *ObjectTapped) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

// RobotObservedObject for signaling that an object
//  with specified ID/Type was seen at a particular location in the image
//  and the world
type RobotObservedObject struct {
	Timestamp             uint32       `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ObjectFamily          ObjectFamily `protobuf:"varint,2,opt,name=object_family,json=objectFamily,enum=Anki.Vector.external_interface.ObjectFamily" json:"object_family,omitempty"` // Deprecated: Do not use.
	ObjectType            ObjectType   `protobuf:"varint,3,opt,name=object_type,json=objectType,enum=Anki.Vector.external_interface.ObjectType" json:"object_type,omitempty"`
	ObjectId              int32        `protobuf:"varint,4,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	ImgRect               *CladRect    `protobuf:"bytes,5,opt,name=img_rect,json=imgRect" json:"img_rect,omitempty"`
	Pose                  *PoseStruct  `protobuf:"bytes,6,opt,name=pose" json:"pose,omitempty"`
	TopFaceOrientationRad float32      `protobuf:"fixed32,7,opt,name=top_face_orientation_rad,json=topFaceOrientationRad" json:"top_face_orientation_rad,omitempty"`
	IsActive              uint32       `protobuf:"varint,8,opt,name=is_active,json=isActive" json:"is_active,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}     `json:"-"`
	XXX_unrecognized      []byte       `json:"-"`
	XXX_sizecache         int32        `json:"-"`
}

func (m *RobotObservedObject) Reset()         { *m = RobotObservedObject{} }
func (m *RobotObservedObject) String() string { return proto.CompactTextString(m) }
func (*RobotObservedObject) ProtoMessage()    {}
func (*RobotObservedObject) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{20}
}
func (m *RobotObservedObject) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RobotObservedObject.Unmarshal(m, b)
}
func (m *RobotObservedObject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RobotObservedObject.Marshal(b, m, deterministic)
}
func (dst *RobotObservedObject) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RobotObservedObject.Merge(dst, src)
}
func (m *RobotObservedObject) XXX_Size() int {
	return xxx_messageInfo_RobotObservedObject.Size(m)
}
func (m *RobotObservedObject) XXX_DiscardUnknown() {
	xxx_messageInfo_RobotObservedObject.DiscardUnknown(m)
}

var xxx_messageInfo_RobotObservedObject proto.InternalMessageInfo

func (m *RobotObservedObject) GetTimestamp() uint32 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

// Deprecated: Do not use.
func (m *RobotObservedObject) GetObjectFamily() ObjectFamily {
	if m != nil {
		return m.ObjectFamily
	}
	return ObjectFamily_INVALID_FAMILY
}

func (m *RobotObservedObject) GetObjectType() ObjectType {
	if m != nil {
		return m.ObjectType
	}
	return ObjectType_INVALID_OBJECT
}

func (m *RobotObservedObject) GetObjectId() int32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

func (m *RobotObservedObject) GetImgRect() *CladRect {
	if m != nil {
		return m.ImgRect
	}
	return nil
}

func (m *RobotObservedObject) GetPose() *PoseStruct {
	if m != nil {
		return m.Pose
	}
	return nil
}

func (m *RobotObservedObject) GetTopFaceOrientationRad() float32 {
	if m != nil {
		return m.TopFaceOrientationRad
	}
	return 0
}

func (m *RobotObservedObject) GetIsActive() uint32 {
	if m != nil {
		return m.IsActive
	}
	return 0
}

// Indicates that a the connection subscribed through ConnectCube has
// been lost.
type CubeConnectionLost struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CubeConnectionLost) Reset()         { *m = CubeConnectionLost{} }
func (m *CubeConnectionLost) String() string { return proto.CompactTextString(m) }
func (*CubeConnectionLost) ProtoMessage()    {}
func (*CubeConnectionLost) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{21}
}
func (m *CubeConnectionLost) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CubeConnectionLost.Unmarshal(m, b)
}
func (m *CubeConnectionLost) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CubeConnectionLost.Marshal(b, m, deterministic)
}
func (dst *CubeConnectionLost) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CubeConnectionLost.Merge(dst, src)
}
func (m *CubeConnectionLost) XXX_Size() int {
	return xxx_messageInfo_CubeConnectionLost.Size(m)
}
func (m *CubeConnectionLost) XXX_DiscardUnknown() {
	xxx_messageInfo_CubeConnectionLost.DiscardUnknown(m)
}

var xxx_messageInfo_CubeConnectionLost proto.InternalMessageInfo

// Deletes all custom objects matching a given deletion mode.
type DeleteCustomObjectsRequest struct {
	Mode                 CustomObjectDeletionMode `protobuf:"varint,1,opt,name=mode,enum=Anki.Vector.external_interface.CustomObjectDeletionMode" json:"mode,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *DeleteCustomObjectsRequest) Reset()         { *m = DeleteCustomObjectsRequest{} }
func (m *DeleteCustomObjectsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteCustomObjectsRequest) ProtoMessage()    {}
func (*DeleteCustomObjectsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{22}
}
func (m *DeleteCustomObjectsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteCustomObjectsRequest.Unmarshal(m, b)
}
func (m *DeleteCustomObjectsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteCustomObjectsRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteCustomObjectsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteCustomObjectsRequest.Merge(dst, src)
}
func (m *DeleteCustomObjectsRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteCustomObjectsRequest.Size(m)
}
func (m *DeleteCustomObjectsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteCustomObjectsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteCustomObjectsRequest proto.InternalMessageInfo

func (m *DeleteCustomObjectsRequest) GetMode() CustomObjectDeletionMode {
	if m != nil {
		return m.Mode
	}
	return CustomObjectDeletionMode_DELETION_MASK_UNKNOWN
}

type DeleteCustomObjectsResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *DeleteCustomObjectsResponse) Reset()         { *m = DeleteCustomObjectsResponse{} }
func (m *DeleteCustomObjectsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteCustomObjectsResponse) ProtoMessage()    {}
func (*DeleteCustomObjectsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{23}
}
func (m *DeleteCustomObjectsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteCustomObjectsResponse.Unmarshal(m, b)
}
func (m *DeleteCustomObjectsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteCustomObjectsResponse.Marshal(b, m, deterministic)
}
func (dst *DeleteCustomObjectsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteCustomObjectsResponse.Merge(dst, src)
}
func (m *DeleteCustomObjectsResponse) XXX_Size() int {
	return xxx_messageInfo_DeleteCustomObjectsResponse.Size(m)
}
func (m *DeleteCustomObjectsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteCustomObjectsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteCustomObjectsResponse proto.InternalMessageInfo

func (m *DeleteCustomObjectsResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// Creates a CustomObject at the specific pose with no markers associated with it
// Since this object has no markers with which to be observed, it will remain in the
// specified pose as an obstacle forever (or until deleted with a deletion message above)
type CreateFixedCustomObjectRequest struct {
	Pose                 *PoseStruct `protobuf:"bytes,1,opt,name=pose" json:"pose,omitempty"`
	XSizeMm              float32     `protobuf:"fixed32,2,opt,name=x_size_mm,json=xSizeMm" json:"x_size_mm,omitempty"`
	YSizeMm              float32     `protobuf:"fixed32,3,opt,name=y_size_mm,json=ySizeMm" json:"y_size_mm,omitempty"`
	ZSizeMm              float32     `protobuf:"fixed32,4,opt,name=z_size_mm,json=zSizeMm" json:"z_size_mm,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *CreateFixedCustomObjectRequest) Reset()         { *m = CreateFixedCustomObjectRequest{} }
func (m *CreateFixedCustomObjectRequest) String() string { return proto.CompactTextString(m) }
func (*CreateFixedCustomObjectRequest) ProtoMessage()    {}
func (*CreateFixedCustomObjectRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{24}
}
func (m *CreateFixedCustomObjectRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateFixedCustomObjectRequest.Unmarshal(m, b)
}
func (m *CreateFixedCustomObjectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateFixedCustomObjectRequest.Marshal(b, m, deterministic)
}
func (dst *CreateFixedCustomObjectRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateFixedCustomObjectRequest.Merge(dst, src)
}
func (m *CreateFixedCustomObjectRequest) XXX_Size() int {
	return xxx_messageInfo_CreateFixedCustomObjectRequest.Size(m)
}
func (m *CreateFixedCustomObjectRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateFixedCustomObjectRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateFixedCustomObjectRequest proto.InternalMessageInfo

func (m *CreateFixedCustomObjectRequest) GetPose() *PoseStruct {
	if m != nil {
		return m.Pose
	}
	return nil
}

func (m *CreateFixedCustomObjectRequest) GetXSizeMm() float32 {
	if m != nil {
		return m.XSizeMm
	}
	return 0
}

func (m *CreateFixedCustomObjectRequest) GetYSizeMm() float32 {
	if m != nil {
		return m.YSizeMm
	}
	return 0
}

func (m *CreateFixedCustomObjectRequest) GetZSizeMm() float32 {
	if m != nil {
		return m.ZSizeMm
	}
	return 0
}

type CreateFixedCustomObjectResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	ObjectId             uint32          `protobuf:"varint,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateFixedCustomObjectResponse) Reset()         { *m = CreateFixedCustomObjectResponse{} }
func (m *CreateFixedCustomObjectResponse) String() string { return proto.CompactTextString(m) }
func (*CreateFixedCustomObjectResponse) ProtoMessage()    {}
func (*CreateFixedCustomObjectResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{25}
}
func (m *CreateFixedCustomObjectResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateFixedCustomObjectResponse.Unmarshal(m, b)
}
func (m *CreateFixedCustomObjectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateFixedCustomObjectResponse.Marshal(b, m, deterministic)
}
func (dst *CreateFixedCustomObjectResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateFixedCustomObjectResponse.Merge(dst, src)
}
func (m *CreateFixedCustomObjectResponse) XXX_Size() int {
	return xxx_messageInfo_CreateFixedCustomObjectResponse.Size(m)
}
func (m *CreateFixedCustomObjectResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateFixedCustomObjectResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateFixedCustomObjectResponse proto.InternalMessageInfo

func (m *CreateFixedCustomObjectResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *CreateFixedCustomObjectResponse) GetObjectId() uint32 {
	if m != nil {
		return m.ObjectId
	}
	return 0
}

// Defines a custom object of the given size with the given markers centered on each side
// If isUnique=true, there is guaranteed to be no more than one object of this type present in the world
type CustomBoxDefinition struct {
	MarkerFront          CustomObjectMarker `protobuf:"varint,1,opt,name=marker_front,json=markerFront,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_front,omitempty"`
	MarkerBack           CustomObjectMarker `protobuf:"varint,2,opt,name=marker_back,json=markerBack,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_back,omitempty"`
	MarkerTop            CustomObjectMarker `protobuf:"varint,3,opt,name=marker_top,json=markerTop,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_top,omitempty"`
	MarkerBottom         CustomObjectMarker `protobuf:"varint,4,opt,name=marker_bottom,json=markerBottom,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_bottom,omitempty"`
	MarkerLeft           CustomObjectMarker `protobuf:"varint,5,opt,name=marker_left,json=markerLeft,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_left,omitempty"`
	MarkerRight          CustomObjectMarker `protobuf:"varint,6,opt,name=marker_right,json=markerRight,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_right,omitempty"`
	XSizeMm              float32            `protobuf:"fixed32,7,opt,name=x_size_mm,json=xSizeMm" json:"x_size_mm,omitempty"`
	YSizeMm              float32            `protobuf:"fixed32,8,opt,name=y_size_mm,json=ySizeMm" json:"y_size_mm,omitempty"`
	ZSizeMm              float32            `protobuf:"fixed32,9,opt,name=z_size_mm,json=zSizeMm" json:"z_size_mm,omitempty"`
	MarkerWidthMm        float32            `protobuf:"fixed32,10,opt,name=marker_width_mm,json=markerWidthMm" json:"marker_width_mm,omitempty"`
	MarkerHeightMm       float32            `protobuf:"fixed32,11,opt,name=marker_height_mm,json=markerHeightMm" json:"marker_height_mm,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *CustomBoxDefinition) Reset()         { *m = CustomBoxDefinition{} }
func (m *CustomBoxDefinition) String() string { return proto.CompactTextString(m) }
func (*CustomBoxDefinition) ProtoMessage()    {}
func (*CustomBoxDefinition) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{26}
}
func (m *CustomBoxDefinition) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CustomBoxDefinition.Unmarshal(m, b)
}
func (m *CustomBoxDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CustomBoxDefinition.Marshal(b, m, deterministic)
}
func (dst *CustomBoxDefinition) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CustomBoxDefinition.Merge(dst, src)
}
func (m *CustomBoxDefinition) XXX_Size() int {
	return xxx_messageInfo_CustomBoxDefinition.Size(m)
}
func (m *CustomBoxDefinition) XXX_DiscardUnknown() {
	xxx_messageInfo_CustomBoxDefinition.DiscardUnknown(m)
}

var xxx_messageInfo_CustomBoxDefinition proto.InternalMessageInfo

func (m *CustomBoxDefinition) GetMarkerFront() CustomObjectMarker {
	if m != nil {
		return m.MarkerFront
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetMarkerBack() CustomObjectMarker {
	if m != nil {
		return m.MarkerBack
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetMarkerTop() CustomObjectMarker {
	if m != nil {
		return m.MarkerTop
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetMarkerBottom() CustomObjectMarker {
	if m != nil {
		return m.MarkerBottom
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetMarkerLeft() CustomObjectMarker {
	if m != nil {
		return m.MarkerLeft
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetMarkerRight() CustomObjectMarker {
	if m != nil {
		return m.MarkerRight
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomBoxDefinition) GetXSizeMm() float32 {
	if m != nil {
		return m.XSizeMm
	}
	return 0
}

func (m *CustomBoxDefinition) GetYSizeMm() float32 {
	if m != nil {
		return m.YSizeMm
	}
	return 0
}

func (m *CustomBoxDefinition) GetZSizeMm() float32 {
	if m != nil {
		return m.ZSizeMm
	}
	return 0
}

func (m *CustomBoxDefinition) GetMarkerWidthMm() float32 {
	if m != nil {
		return m.MarkerWidthMm
	}
	return 0
}

func (m *CustomBoxDefinition) GetMarkerHeightMm() float32 {
	if m != nil {
		return m.MarkerHeightMm
	}
	return 0
}

// Defines a custom cube of the given size. The cube will have the same marker centered on all faces.
// If isUnique=true, there is guaranteed to be no more than one cube of this type present in the world at a time.
type CustomCubeDefinition struct {
	Marker               CustomObjectMarker `protobuf:"varint,1,opt,name=marker,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker,omitempty"`
	SizeMm               float32            `protobuf:"fixed32,2,opt,name=size_mm,json=sizeMm" json:"size_mm,omitempty"`
	MarkerWidthMm        float32            `protobuf:"fixed32,3,opt,name=marker_width_mm,json=markerWidthMm" json:"marker_width_mm,omitempty"`
	MarkerHeightMm       float32            `protobuf:"fixed32,4,opt,name=marker_height_mm,json=markerHeightMm" json:"marker_height_mm,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *CustomCubeDefinition) Reset()         { *m = CustomCubeDefinition{} }
func (m *CustomCubeDefinition) String() string { return proto.CompactTextString(m) }
func (*CustomCubeDefinition) ProtoMessage()    {}
func (*CustomCubeDefinition) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{27}
}
func (m *CustomCubeDefinition) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CustomCubeDefinition.Unmarshal(m, b)
}
func (m *CustomCubeDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CustomCubeDefinition.Marshal(b, m, deterministic)
}
func (dst *CustomCubeDefinition) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CustomCubeDefinition.Merge(dst, src)
}
func (m *CustomCubeDefinition) XXX_Size() int {
	return xxx_messageInfo_CustomCubeDefinition.Size(m)
}
func (m *CustomCubeDefinition) XXX_DiscardUnknown() {
	xxx_messageInfo_CustomCubeDefinition.DiscardUnknown(m)
}

var xxx_messageInfo_CustomCubeDefinition proto.InternalMessageInfo

func (m *CustomCubeDefinition) GetMarker() CustomObjectMarker {
	if m != nil {
		return m.Marker
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomCubeDefinition) GetSizeMm() float32 {
	if m != nil {
		return m.SizeMm
	}
	return 0
}

func (m *CustomCubeDefinition) GetMarkerWidthMm() float32 {
	if m != nil {
		return m.MarkerWidthMm
	}
	return 0
}

func (m *CustomCubeDefinition) GetMarkerHeightMm() float32 {
	if m != nil {
		return m.MarkerHeightMm
	}
	return 0
}

// Defines a custom wall of the given height and width, with the same marker centered on both sides (front and back).
// The wall's thickness is assumed to be 1cm (and thus there are no markers on its left, right, top, or bottom)
// If isUnique=true, there is guaranteed to be no more than one wall of this type present in the world at a time.
type CustomWallDefinition struct {
	Marker               CustomObjectMarker `protobuf:"varint,1,opt,name=marker,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker,omitempty"`
	WidthMm              float32            `protobuf:"fixed32,2,opt,name=width_mm,json=widthMm" json:"width_mm,omitempty"`
	HeightMm             float32            `protobuf:"fixed32,3,opt,name=height_mm,json=heightMm" json:"height_mm,omitempty"`
	MarkerWidthMm        float32            `protobuf:"fixed32,4,opt,name=marker_width_mm,json=markerWidthMm" json:"marker_width_mm,omitempty"`
	MarkerHeightMm       float32            `protobuf:"fixed32,5,opt,name=marker_height_mm,json=markerHeightMm" json:"marker_height_mm,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *CustomWallDefinition) Reset()         { *m = CustomWallDefinition{} }
func (m *CustomWallDefinition) String() string { return proto.CompactTextString(m) }
func (*CustomWallDefinition) ProtoMessage()    {}
func (*CustomWallDefinition) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{28}
}
func (m *CustomWallDefinition) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CustomWallDefinition.Unmarshal(m, b)
}
func (m *CustomWallDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CustomWallDefinition.Marshal(b, m, deterministic)
}
func (dst *CustomWallDefinition) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CustomWallDefinition.Merge(dst, src)
}
func (m *CustomWallDefinition) XXX_Size() int {
	return xxx_messageInfo_CustomWallDefinition.Size(m)
}
func (m *CustomWallDefinition) XXX_DiscardUnknown() {
	xxx_messageInfo_CustomWallDefinition.DiscardUnknown(m)
}

var xxx_messageInfo_CustomWallDefinition proto.InternalMessageInfo

func (m *CustomWallDefinition) GetMarker() CustomObjectMarker {
	if m != nil {
		return m.Marker
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (m *CustomWallDefinition) GetWidthMm() float32 {
	if m != nil {
		return m.WidthMm
	}
	return 0
}

func (m *CustomWallDefinition) GetHeightMm() float32 {
	if m != nil {
		return m.HeightMm
	}
	return 0
}

func (m *CustomWallDefinition) GetMarkerWidthMm() float32 {
	if m != nil {
		return m.MarkerWidthMm
	}
	return 0
}

func (m *CustomWallDefinition) GetMarkerHeightMm() float32 {
	if m != nil {
		return m.MarkerHeightMm
	}
	return 0
}

type DefineCustomObjectRequest struct {
	CustomType CustomType `protobuf:"varint,1,opt,name=custom_type,json=customType,enum=Anki.Vector.external_interface.CustomType" json:"custom_type,omitempty"`
	IsUnique   bool       `protobuf:"varint,2,opt,name=is_unique,json=isUnique" json:"is_unique,omitempty"`
	// Types that are valid to be assigned to CustomObjectDefinition:
	//	*DefineCustomObjectRequest_CustomBox
	//	*DefineCustomObjectRequest_CustomCube
	//	*DefineCustomObjectRequest_CustomWall
	CustomObjectDefinition isDefineCustomObjectRequest_CustomObjectDefinition `protobuf_oneof:"custom_object_definition"`
	XXX_NoUnkeyedLiteral   struct{}                                           `json:"-"`
	XXX_unrecognized       []byte                                             `json:"-"`
	XXX_sizecache          int32                                              `json:"-"`
}

func (m *DefineCustomObjectRequest) Reset()         { *m = DefineCustomObjectRequest{} }
func (m *DefineCustomObjectRequest) String() string { return proto.CompactTextString(m) }
func (*DefineCustomObjectRequest) ProtoMessage()    {}
func (*DefineCustomObjectRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{29}
}
func (m *DefineCustomObjectRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DefineCustomObjectRequest.Unmarshal(m, b)
}
func (m *DefineCustomObjectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DefineCustomObjectRequest.Marshal(b, m, deterministic)
}
func (dst *DefineCustomObjectRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DefineCustomObjectRequest.Merge(dst, src)
}
func (m *DefineCustomObjectRequest) XXX_Size() int {
	return xxx_messageInfo_DefineCustomObjectRequest.Size(m)
}
func (m *DefineCustomObjectRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DefineCustomObjectRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DefineCustomObjectRequest proto.InternalMessageInfo

type isDefineCustomObjectRequest_CustomObjectDefinition interface {
	isDefineCustomObjectRequest_CustomObjectDefinition()
}

type DefineCustomObjectRequest_CustomBox struct {
	CustomBox *CustomBoxDefinition `protobuf:"bytes,3,opt,name=custom_box,json=customBox,oneof"`
}
type DefineCustomObjectRequest_CustomCube struct {
	CustomCube *CustomCubeDefinition `protobuf:"bytes,4,opt,name=custom_cube,json=customCube,oneof"`
}
type DefineCustomObjectRequest_CustomWall struct {
	CustomWall *CustomWallDefinition `protobuf:"bytes,5,opt,name=custom_wall,json=customWall,oneof"`
}

func (*DefineCustomObjectRequest_CustomBox) isDefineCustomObjectRequest_CustomObjectDefinition()  {}
func (*DefineCustomObjectRequest_CustomCube) isDefineCustomObjectRequest_CustomObjectDefinition() {}
func (*DefineCustomObjectRequest_CustomWall) isDefineCustomObjectRequest_CustomObjectDefinition() {}

func (m *DefineCustomObjectRequest) GetCustomObjectDefinition() isDefineCustomObjectRequest_CustomObjectDefinition {
	if m != nil {
		return m.CustomObjectDefinition
	}
	return nil
}

func (m *DefineCustomObjectRequest) GetCustomType() CustomType {
	if m != nil {
		return m.CustomType
	}
	return CustomType_INVALID_CUSTOM_TYPE
}

func (m *DefineCustomObjectRequest) GetIsUnique() bool {
	if m != nil {
		return m.IsUnique
	}
	return false
}

func (m *DefineCustomObjectRequest) GetCustomBox() *CustomBoxDefinition {
	if x, ok := m.GetCustomObjectDefinition().(*DefineCustomObjectRequest_CustomBox); ok {
		return x.CustomBox
	}
	return nil
}

func (m *DefineCustomObjectRequest) GetCustomCube() *CustomCubeDefinition {
	if x, ok := m.GetCustomObjectDefinition().(*DefineCustomObjectRequest_CustomCube); ok {
		return x.CustomCube
	}
	return nil
}

func (m *DefineCustomObjectRequest) GetCustomWall() *CustomWallDefinition {
	if x, ok := m.GetCustomObjectDefinition().(*DefineCustomObjectRequest_CustomWall); ok {
		return x.CustomWall
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*DefineCustomObjectRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _DefineCustomObjectRequest_OneofMarshaler, _DefineCustomObjectRequest_OneofUnmarshaler, _DefineCustomObjectRequest_OneofSizer, []interface{}{
		(*DefineCustomObjectRequest_CustomBox)(nil),
		(*DefineCustomObjectRequest_CustomCube)(nil),
		(*DefineCustomObjectRequest_CustomWall)(nil),
	}
}

func _DefineCustomObjectRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*DefineCustomObjectRequest)
	// custom_object_definition
	switch x := m.CustomObjectDefinition.(type) {
	case *DefineCustomObjectRequest_CustomBox:
		b.EncodeVarint(3<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.CustomBox); err != nil {
			return err
		}
	case *DefineCustomObjectRequest_CustomCube:
		b.EncodeVarint(4<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.CustomCube); err != nil {
			return err
		}
	case *DefineCustomObjectRequest_CustomWall:
		b.EncodeVarint(5<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.CustomWall); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("DefineCustomObjectRequest.CustomObjectDefinition has unexpected type %T", x)
	}
	return nil
}

func _DefineCustomObjectRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*DefineCustomObjectRequest)
	switch tag {
	case 3: // custom_object_definition.custom_box
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(CustomBoxDefinition)
		err := b.DecodeMessage(msg)
		m.CustomObjectDefinition = &DefineCustomObjectRequest_CustomBox{msg}
		return true, err
	case 4: // custom_object_definition.custom_cube
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(CustomCubeDefinition)
		err := b.DecodeMessage(msg)
		m.CustomObjectDefinition = &DefineCustomObjectRequest_CustomCube{msg}
		return true, err
	case 5: // custom_object_definition.custom_wall
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(CustomWallDefinition)
		err := b.DecodeMessage(msg)
		m.CustomObjectDefinition = &DefineCustomObjectRequest_CustomWall{msg}
		return true, err
	default:
		return false, nil
	}
}

func _DefineCustomObjectRequest_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*DefineCustomObjectRequest)
	// custom_object_definition
	switch x := m.CustomObjectDefinition.(type) {
	case *DefineCustomObjectRequest_CustomBox:
		s := proto.Size(x.CustomBox)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *DefineCustomObjectRequest_CustomCube:
		s := proto.Size(x.CustomCube)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *DefineCustomObjectRequest_CustomWall:
		s := proto.Size(x.CustomWall)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

type DefineCustomObjectResponse struct {
	Status               *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
	Success              bool            `protobuf:"varint,2,opt,name=success" json:"success,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *DefineCustomObjectResponse) Reset()         { *m = DefineCustomObjectResponse{} }
func (m *DefineCustomObjectResponse) String() string { return proto.CompactTextString(m) }
func (*DefineCustomObjectResponse) ProtoMessage()    {}
func (*DefineCustomObjectResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{30}
}
func (m *DefineCustomObjectResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DefineCustomObjectResponse.Unmarshal(m, b)
}
func (m *DefineCustomObjectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DefineCustomObjectResponse.Marshal(b, m, deterministic)
}
func (dst *DefineCustomObjectResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DefineCustomObjectResponse.Merge(dst, src)
}
func (m *DefineCustomObjectResponse) XXX_Size() int {
	return xxx_messageInfo_DefineCustomObjectResponse.Size(m)
}
func (m *DefineCustomObjectResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DefineCustomObjectResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DefineCustomObjectResponse proto.InternalMessageInfo

func (m *DefineCustomObjectResponse) GetStatus() *ResponseStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *DefineCustomObjectResponse) GetSuccess() bool {
	if m != nil {
		return m.Success
	}
	return false
}

type ObjectEvent struct {
	// Types that are valid to be assigned to ObjectEventType:
	//	*ObjectEvent_ObjectAvailable
	//	*ObjectEvent_ObjectConnectionState
	//	*ObjectEvent_ObjectMoved
	//	*ObjectEvent_ObjectStoppedMoving
	//	*ObjectEvent_ObjectUpAxisChanged
	//	*ObjectEvent_ObjectTapped
	//	*ObjectEvent_RobotObservedObject
	//	*ObjectEvent_CubeConnectionLost
	ObjectEventType      isObjectEvent_ObjectEventType `protobuf_oneof:"object_event_type"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (m *ObjectEvent) Reset()         { *m = ObjectEvent{} }
func (m *ObjectEvent) String() string { return proto.CompactTextString(m) }
func (*ObjectEvent) ProtoMessage()    {}
func (*ObjectEvent) Descriptor() ([]byte, []int) {
	return fileDescriptor_cube_73ab4550d1e7bd38, []int{31}
}
func (m *ObjectEvent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ObjectEvent.Unmarshal(m, b)
}
func (m *ObjectEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ObjectEvent.Marshal(b, m, deterministic)
}
func (dst *ObjectEvent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ObjectEvent.Merge(dst, src)
}
func (m *ObjectEvent) XXX_Size() int {
	return xxx_messageInfo_ObjectEvent.Size(m)
}
func (m *ObjectEvent) XXX_DiscardUnknown() {
	xxx_messageInfo_ObjectEvent.DiscardUnknown(m)
}

var xxx_messageInfo_ObjectEvent proto.InternalMessageInfo

type isObjectEvent_ObjectEventType interface {
	isObjectEvent_ObjectEventType()
}

type ObjectEvent_ObjectAvailable struct {
	ObjectAvailable *ObjectAvailable `protobuf:"bytes,1,opt,name=object_available,json=objectAvailable,oneof"`
}
type ObjectEvent_ObjectConnectionState struct {
	ObjectConnectionState *ObjectConnectionState `protobuf:"bytes,2,opt,name=object_connection_state,json=objectConnectionState,oneof"`
}
type ObjectEvent_ObjectMoved struct {
	ObjectMoved *ObjectMoved `protobuf:"bytes,3,opt,name=object_moved,json=objectMoved,oneof"`
}
type ObjectEvent_ObjectStoppedMoving struct {
	ObjectStoppedMoving *ObjectStoppedMoving `protobuf:"bytes,4,opt,name=object_stopped_moving,json=objectStoppedMoving,oneof"`
}
type ObjectEvent_ObjectUpAxisChanged struct {
	ObjectUpAxisChanged *ObjectUpAxisChanged `protobuf:"bytes,5,opt,name=object_up_axis_changed,json=objectUpAxisChanged,oneof"`
}
type ObjectEvent_ObjectTapped struct {
	ObjectTapped *ObjectTapped `protobuf:"bytes,6,opt,name=object_tapped,json=objectTapped,oneof"`
}
type ObjectEvent_RobotObservedObject struct {
	RobotObservedObject *RobotObservedObject `protobuf:"bytes,7,opt,name=robot_observed_object,json=robotObservedObject,oneof"`
}
type ObjectEvent_CubeConnectionLost struct {
	CubeConnectionLost *CubeConnectionLost `protobuf:"bytes,8,opt,name=cube_connection_lost,json=cubeConnectionLost,oneof"`
}

func (*ObjectEvent_ObjectAvailable) isObjectEvent_ObjectEventType()       {}
func (*ObjectEvent_ObjectConnectionState) isObjectEvent_ObjectEventType() {}
func (*ObjectEvent_ObjectMoved) isObjectEvent_ObjectEventType()           {}
func (*ObjectEvent_ObjectStoppedMoving) isObjectEvent_ObjectEventType()   {}
func (*ObjectEvent_ObjectUpAxisChanged) isObjectEvent_ObjectEventType()   {}
func (*ObjectEvent_ObjectTapped) isObjectEvent_ObjectEventType()          {}
func (*ObjectEvent_RobotObservedObject) isObjectEvent_ObjectEventType()   {}
func (*ObjectEvent_CubeConnectionLost) isObjectEvent_ObjectEventType()    {}

func (m *ObjectEvent) GetObjectEventType() isObjectEvent_ObjectEventType {
	if m != nil {
		return m.ObjectEventType
	}
	return nil
}

func (m *ObjectEvent) GetObjectAvailable() *ObjectAvailable {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectAvailable); ok {
		return x.ObjectAvailable
	}
	return nil
}

func (m *ObjectEvent) GetObjectConnectionState() *ObjectConnectionState {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectConnectionState); ok {
		return x.ObjectConnectionState
	}
	return nil
}

func (m *ObjectEvent) GetObjectMoved() *ObjectMoved {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectMoved); ok {
		return x.ObjectMoved
	}
	return nil
}

func (m *ObjectEvent) GetObjectStoppedMoving() *ObjectStoppedMoving {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectStoppedMoving); ok {
		return x.ObjectStoppedMoving
	}
	return nil
}

func (m *ObjectEvent) GetObjectUpAxisChanged() *ObjectUpAxisChanged {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectUpAxisChanged); ok {
		return x.ObjectUpAxisChanged
	}
	return nil
}

func (m *ObjectEvent) GetObjectTapped() *ObjectTapped {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_ObjectTapped); ok {
		return x.ObjectTapped
	}
	return nil
}

func (m *ObjectEvent) GetRobotObservedObject() *RobotObservedObject {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_RobotObservedObject); ok {
		return x.RobotObservedObject
	}
	return nil
}

func (m *ObjectEvent) GetCubeConnectionLost() *CubeConnectionLost {
	if x, ok := m.GetObjectEventType().(*ObjectEvent_CubeConnectionLost); ok {
		return x.CubeConnectionLost
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*ObjectEvent) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _ObjectEvent_OneofMarshaler, _ObjectEvent_OneofUnmarshaler, _ObjectEvent_OneofSizer, []interface{}{
		(*ObjectEvent_ObjectAvailable)(nil),
		(*ObjectEvent_ObjectConnectionState)(nil),
		(*ObjectEvent_ObjectMoved)(nil),
		(*ObjectEvent_ObjectStoppedMoving)(nil),
		(*ObjectEvent_ObjectUpAxisChanged)(nil),
		(*ObjectEvent_ObjectTapped)(nil),
		(*ObjectEvent_RobotObservedObject)(nil),
		(*ObjectEvent_CubeConnectionLost)(nil),
	}
}

func _ObjectEvent_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*ObjectEvent)
	// object_event_type
	switch x := m.ObjectEventType.(type) {
	case *ObjectEvent_ObjectAvailable:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectAvailable); err != nil {
			return err
		}
	case *ObjectEvent_ObjectConnectionState:
		b.EncodeVarint(2<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectConnectionState); err != nil {
			return err
		}
	case *ObjectEvent_ObjectMoved:
		b.EncodeVarint(3<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectMoved); err != nil {
			return err
		}
	case *ObjectEvent_ObjectStoppedMoving:
		b.EncodeVarint(4<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectStoppedMoving); err != nil {
			return err
		}
	case *ObjectEvent_ObjectUpAxisChanged:
		b.EncodeVarint(5<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectUpAxisChanged); err != nil {
			return err
		}
	case *ObjectEvent_ObjectTapped:
		b.EncodeVarint(6<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ObjectTapped); err != nil {
			return err
		}
	case *ObjectEvent_RobotObservedObject:
		b.EncodeVarint(7<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.RobotObservedObject); err != nil {
			return err
		}
	case *ObjectEvent_CubeConnectionLost:
		b.EncodeVarint(8<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.CubeConnectionLost); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("ObjectEvent.ObjectEventType has unexpected type %T", x)
	}
	return nil
}

func _ObjectEvent_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*ObjectEvent)
	switch tag {
	case 1: // object_event_type.object_available
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectAvailable)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectAvailable{msg}
		return true, err
	case 2: // object_event_type.object_connection_state
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectConnectionState)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectConnectionState{msg}
		return true, err
	case 3: // object_event_type.object_moved
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectMoved)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectMoved{msg}
		return true, err
	case 4: // object_event_type.object_stopped_moving
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectStoppedMoving)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectStoppedMoving{msg}
		return true, err
	case 5: // object_event_type.object_up_axis_changed
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectUpAxisChanged)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectUpAxisChanged{msg}
		return true, err
	case 6: // object_event_type.object_tapped
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ObjectTapped)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_ObjectTapped{msg}
		return true, err
	case 7: // object_event_type.robot_observed_object
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(RobotObservedObject)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_RobotObservedObject{msg}
		return true, err
	case 8: // object_event_type.cube_connection_lost
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(CubeConnectionLost)
		err := b.DecodeMessage(msg)
		m.ObjectEventType = &ObjectEvent_CubeConnectionLost{msg}
		return true, err
	default:
		return false, nil
	}
}

func _ObjectEvent_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*ObjectEvent)
	// object_event_type
	switch x := m.ObjectEventType.(type) {
	case *ObjectEvent_ObjectAvailable:
		s := proto.Size(x.ObjectAvailable)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_ObjectConnectionState:
		s := proto.Size(x.ObjectConnectionState)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_ObjectMoved:
		s := proto.Size(x.ObjectMoved)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_ObjectStoppedMoving:
		s := proto.Size(x.ObjectStoppedMoving)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_ObjectUpAxisChanged:
		s := proto.Size(x.ObjectUpAxisChanged)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_ObjectTapped:
		s := proto.Size(x.ObjectTapped)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_RobotObservedObject:
		s := proto.Size(x.RobotObservedObject)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ObjectEvent_CubeConnectionLost:
		s := proto.Size(x.CubeConnectionLost)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

func init() {
	proto.RegisterType((*ConnectCubeRequest)(nil), "Anki.Vector.external_interface.ConnectCubeRequest")
	proto.RegisterType((*ConnectCubeResponse)(nil), "Anki.Vector.external_interface.ConnectCubeResponse")
	proto.RegisterType((*CubesAvailableRequest)(nil), "Anki.Vector.external_interface.CubesAvailableRequest")
	proto.RegisterType((*CubesAvailableResponse)(nil), "Anki.Vector.external_interface.CubesAvailableResponse")
	proto.RegisterType((*DisconnectCubeRequest)(nil), "Anki.Vector.external_interface.DisconnectCubeRequest")
	proto.RegisterType((*DisconnectCubeResponse)(nil), "Anki.Vector.external_interface.DisconnectCubeResponse")
	proto.RegisterType((*FlashCubeLightsRequest)(nil), "Anki.Vector.external_interface.FlashCubeLightsRequest")
	proto.RegisterType((*FlashCubeLightsResponse)(nil), "Anki.Vector.external_interface.FlashCubeLightsResponse")
	proto.RegisterType((*ForgetPreferredCubeRequest)(nil), "Anki.Vector.external_interface.ForgetPreferredCubeRequest")
	proto.RegisterType((*ForgetPreferredCubeResponse)(nil), "Anki.Vector.external_interface.ForgetPreferredCubeResponse")
	proto.RegisterType((*SetPreferredCubeRequest)(nil), "Anki.Vector.external_interface.SetPreferredCubeRequest")
	proto.RegisterType((*SetPreferredCubeResponse)(nil), "Anki.Vector.external_interface.SetPreferredCubeResponse")
	proto.RegisterType((*SetCubeLightsRequest)(nil), "Anki.Vector.external_interface.SetCubeLightsRequest")
	proto.RegisterType((*SetCubeLightsResponse)(nil), "Anki.Vector.external_interface.SetCubeLightsResponse")
	proto.RegisterType((*ObjectAvailable)(nil), "Anki.Vector.external_interface.ObjectAvailable")
	proto.RegisterType((*ObjectConnectionState)(nil), "Anki.Vector.external_interface.ObjectConnectionState")
	proto.RegisterType((*ObjectMoved)(nil), "Anki.Vector.external_interface.ObjectMoved")
	proto.RegisterType((*ObjectStoppedMoving)(nil), "Anki.Vector.external_interface.ObjectStoppedMoving")
	proto.RegisterType((*ObjectUpAxisChanged)(nil), "Anki.Vector.external_interface.ObjectUpAxisChanged")
	proto.RegisterType((*ObjectTapped)(nil), "Anki.Vector.external_interface.ObjectTapped")
	proto.RegisterType((*RobotObservedObject)(nil), "Anki.Vector.external_interface.RobotObservedObject")
	proto.RegisterType((*CubeConnectionLost)(nil), "Anki.Vector.external_interface.CubeConnectionLost")
	proto.RegisterType((*DeleteCustomObjectsRequest)(nil), "Anki.Vector.external_interface.DeleteCustomObjectsRequest")
	proto.RegisterType((*DeleteCustomObjectsResponse)(nil), "Anki.Vector.external_interface.DeleteCustomObjectsResponse")
	proto.RegisterType((*CreateFixedCustomObjectRequest)(nil), "Anki.Vector.external_interface.CreateFixedCustomObjectRequest")
	proto.RegisterType((*CreateFixedCustomObjectResponse)(nil), "Anki.Vector.external_interface.CreateFixedCustomObjectResponse")
	proto.RegisterType((*CustomBoxDefinition)(nil), "Anki.Vector.external_interface.CustomBoxDefinition")
	proto.RegisterType((*CustomCubeDefinition)(nil), "Anki.Vector.external_interface.CustomCubeDefinition")
	proto.RegisterType((*CustomWallDefinition)(nil), "Anki.Vector.external_interface.CustomWallDefinition")
	proto.RegisterType((*DefineCustomObjectRequest)(nil), "Anki.Vector.external_interface.DefineCustomObjectRequest")
	proto.RegisterType((*DefineCustomObjectResponse)(nil), "Anki.Vector.external_interface.DefineCustomObjectResponse")
	proto.RegisterType((*ObjectEvent)(nil), "Anki.Vector.external_interface.ObjectEvent")
	proto.RegisterEnum("Anki.Vector.external_interface.ObjectType", ObjectType_name, ObjectType_value)
	proto.RegisterEnum("Anki.Vector.external_interface.CustomType", CustomType_name, CustomType_value)
	proto.RegisterEnum("Anki.Vector.external_interface.ObjectFamily", ObjectFamily_name, ObjectFamily_value)
	proto.RegisterEnum("Anki.Vector.external_interface.UpAxis", UpAxis_name, UpAxis_value)
	proto.RegisterEnum("Anki.Vector.external_interface.ObjectConstants", ObjectConstants_name, ObjectConstants_value)
	proto.RegisterEnum("Anki.Vector.external_interface.CustomObjectMarker", CustomObjectMarker_name, CustomObjectMarker_value)
	proto.RegisterEnum("Anki.Vector.external_interface.CustomObjectDeletionMode", CustomObjectDeletionMode_name, CustomObjectDeletionMode_value)
	proto.RegisterEnum("Anki.Vector.external_interface.SetCubeLightsRequest_MakeRelativeMode", SetCubeLightsRequest_MakeRelativeMode_name, SetCubeLightsRequest_MakeRelativeMode_value)
}

func init() { proto.RegisterFile("cube.proto", fileDescriptor_cube_73ab4550d1e7bd38) }

var fileDescriptor_cube_73ab4550d1e7bd38 = []byte{
	// 2270 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xdd, 0x4f, 0x1b, 0xcb,
	0x15, 0xf7, 0xda, 0xc6, 0x1f, 0xc7, 0x40, 0x26, 0x0b, 0x04, 0x87, 0xe4, 0xe6, 0x22, 0x57, 0x4a,
	0x11, 0xad, 0x68, 0x62, 0xe0, 0x26, 0xf7, 0xa5, 0x95, 0xbd, 0xd8, 0xb1, 0x2f, 0xfe, 0xa0, 0xbb,
	0x26, 0x40, 0x55, 0x69, 0xbb, 0x5e, 0x8f, 0x61, 0x83, 0xbd, 0xe3, 0xbb, 0xbb, 0x26, 0x90, 0x4a,
	0x95, 0xfa, 0x52, 0xf5, 0xa9, 0x52, 0xff, 0x87, 0xbe, 0x54, 0xea, 0x5b, 0xfb, 0xdc, 0x4a, 0x7d,
	0xad, 0xaa, 0xf6, 0x0f, 0xe9, 0x1f, 0x51, 0xcd, 0x87, 0x3f, 0xd6, 0x6b, 0x8c, 0x1b, 0xb8, 0x7d,
	0xc2, 0xf3, 0x3b, 0x67, 0x7e, 0xe7, 0x9c, 0x99, 0x33, 0x67, 0xe7, 0x0c, 0x00, 0x66, 0xbf, 0x89,
	0x77, 0x7a, 0x0e, 0xf1, 0x88, 0xfc, 0x22, 0x67, 0x5f, 0x5a, 0x3b, 0xef, 0xb1, 0xe9, 0x11, 0x67,
	0x07, 0x5f, 0x7b, 0xd8, 0xb1, 0x8d, 0x8e, 0x6e, 0xd9, 0x1e, 0x76, 0xda, 0x86, 0x89, 0x37, 0x96,
	0xbb, 0xd8, 0x75, 0x8d, 0x73, 0xec, 0x72, 0xfd, 0x8d, 0x35, 0x07, 0xbb, 0x3d, 0x62, 0xbb, 0x58,
	0x77, 0x3d, 0xc3, 0xeb, 0x0b, 0x38, 0xb3, 0x0a, 0xb2, 0x42, 0x6c, 0x1b, 0x9b, 0x9e, 0xd2, 0x6f,
	0x62, 0x15, 0x7f, 0xdb, 0xc7, 0xae, 0x97, 0xf9, 0xb3, 0x04, 0x2b, 0x3e, 0x98, 0x4f, 0x95, 0x8b,
	0x10, 0xe3, 0xb3, 0xd3, 0xd2, 0xa6, 0xb4, 0x95, 0xca, 0xee, 0xec, 0xcc, 0xf6, 0x62, 0x67, 0x30,
	0x53, 0x63, 0xb3, 0x54, 0x31, 0x5b, 0x4e, 0x43, 0xdc, 0xed, 0x9b, 0x26, 0x76, 0xdd, 0x74, 0x78,
	0x53, 0xda, 0x4a, 0xa8, 0x83, 0xa1, 0xfc, 0x0c, 0x92, 0xa4, 0xf9, 0x01, 0x9b, 0x9e, 0x6e, 0xb5,
	0xd2, 0x91, 0x4d, 0x69, 0x6b, 0x49, 0x4d, 0x70, 0xa0, 0xdc, 0x92, 0xbf, 0x00, 0x68, 0x1b, 0xd4,
	0xd4, 0x0d, 0x95, 0x46, 0x37, 0xa5, 0xad, 0xa4, 0x9a, 0x14, 0x48, 0xb9, 0x95, 0x59, 0x87, 0x35,
	0xea, 0xad, 0x9b, 0xbb, 0x32, 0xac, 0x8e, 0xd1, 0xec, 0x0c, 0xc3, 0xf9, 0xb5, 0x04, 0x4f, 0x26,
	0x25, 0x0f, 0x1c, 0xd1, 0x97, 0x90, 0x1a, 0xb9, 0x46, 0xa3, 0x8a, 0x6c, 0x25, 0x55, 0x18, 0xfa,
	0xe6, 0x52, 0xe7, 0x0e, 0x2c, 0xd7, 0x0c, 0xae, 0xf5, 0x2f, 0xe0, 0xc9, 0xa4, 0xe0, 0x61, 0x7d,
	0xcb, 0xa4, 0xe1, 0x49, 0xb1, 0x63, 0xb8, 0x17, 0x94, 0xbc, 0x62, 0x9d, 0x5f, 0x78, 0xee, 0xc0,
	0xb6, 0x01, 0xeb, 0x01, 0xc9, 0x03, 0x1b, 0x7f, 0x0e, 0x1b, 0x45, 0xe2, 0x9c, 0x63, 0xef, 0xc8,
	0xc1, 0x6d, 0xec, 0x38, 0xb8, 0x35, 0x1e, 0x3c, 0x86, 0x67, 0x53, 0xa5, 0x0f, 0xec, 0xc4, 0x5b,
	0x58, 0xd7, 0xa6, 0x7b, 0x30, 0x91, 0x53, 0xd2, 0x64, 0x4e, 0x35, 0x21, 0xad, 0x7d, 0xd7, 0xde,
	0xfd, 0x23, 0x0a, 0xab, 0x1a, 0xf6, 0x02, 0xdb, 0xe3, 0x3f, 0x0c, 0xd2, 0xc4, 0x61, 0x78, 0x0a,
	0x09, 0x62, 0xeb, 0x26, 0xe9, 0x10, 0x87, 0xa5, 0xdb, 0x92, 0x1a, 0x27, 0xb6, 0x42, 0x87, 0x6c,
	0x5e, 0xbb, 0x2d, 0x64, 0x11, 0x26, 0x4b, 0x90, 0x76, 0x9b, 0x0b, 0x37, 0x61, 0x91, 0xd8, 0x7a,
	0x0f, 0x3b, 0x16, 0x69, 0xe9, 0x5d, 0x37, 0x1d, 0x65, 0x72, 0x20, 0xf6, 0x11, 0x83, 0xaa, 0xae,
	0x9c, 0x81, 0x25, 0x3a, 0x7d, 0xa4, 0xb2, 0xc0, 0x54, 0x52, 0xa4, 0xdd, 0x1e, 0xea, 0xec, 0xc3,
	0xba, 0xe7, 0x18, 0xb6, 0x6b, 0x79, 0x16, 0xb1, 0x75, 0x1f, 0x61, 0x8c, 0x69, 0xaf, 0x8e, 0xc4,
	0xf5, 0x11, 0xf5, 0x1b, 0x48, 0x8f, 0x4f, 0xf3, 0x59, 0x89, 0xb3, 0x79, 0x6b, 0x63, 0xf3, 0xc6,
	0xec, 0x3d, 0x81, 0x18, 0x69, 0xb7, 0x5d, 0xec, 0xa5, 0x13, 0x9b, 0x91, 0xad, 0x05, 0x55, 0x8c,
	0xa8, 0xaf, 0x0e, 0xee, 0x18, 0x9e, 0x75, 0x85, 0x75, 0x8f, 0xe8, 0xd7, 0xe9, 0xe4, 0xa6, 0xb4,
	0x15, 0x56, 0x53, 0x03, 0xb0, 0x41, 0x4e, 0x27, 0x75, 0x6e, 0xd2, 0x30, 0xa9, 0x73, 0x46, 0xf9,
	0x1d, 0xe2, 0x19, 0x1e, 0x4e, 0xa7, 0x58, 0x41, 0x12, 0x23, 0xf9, 0x03, 0x2c, 0x75, 0x8d, 0x4b,
	0xac, 0x0f, 0x74, 0xd3, 0x8b, 0x9b, 0xd2, 0xd6, 0x72, 0xb6, 0x70, 0xd7, 0x56, 0x4f, 0xdb, 0xcf,
	0x9d, 0xaa, 0x71, 0x89, 0x55, 0x41, 0x54, 0x25, 0x2d, 0xac, 0x2e, 0x76, 0xc7, 0x90, 0xcc, 0x01,
	0xa0, 0x49, 0x0d, 0x39, 0x05, 0xf1, 0xe3, 0xda, 0x61, 0xad, 0x7e, 0x52, 0x43, 0x21, 0x39, 0x0e,
	0x91, 0x7a, 0xb1, 0x88, 0x24, 0x79, 0x09, 0x92, 0xf9, 0x33, 0x5d, 0xa9, 0xab, 0xb5, 0x82, 0x8a,
	0xc2, 0x54, 0x29, 0x7f, 0xa6, 0x6b, 0xe5, 0x83, 0x02, 0x8a, 0x64, 0x74, 0x58, 0x9b, 0x30, 0xfe,
	0xc0, 0xe9, 0xfa, 0x0a, 0x1e, 0xd5, 0x59, 0x12, 0x0e, 0xab, 0xe9, 0x5d, 0x87, 0xe8, 0xaf, 0x12,
	0xac, 0xf1, 0x29, 0xe2, 0xa3, 0x62, 0x11, 0x5b, 0x63, 0xcb, 0x3b, 0x33, 0xc3, 0xfd, 0xac, 0xe1,
	0x09, 0x56, 0xf9, 0x10, 0x52, 0x62, 0xae, 0x77, 0xd3, 0xc3, 0xec, 0x63, 0xb1, 0x9c, 0xdd, 0xbe,
	0x2b, 0x28, 0xee, 0x47, 0xe3, 0xa6, 0x87, 0x55, 0x20, 0xc3, 0xdf, 0xf2, 0x73, 0x48, 0x8a, 0x12,
	0x8c, 0xf9, 0x97, 0x25, 0xa1, 0x8e, 0x80, 0x4c, 0x09, 0x52, 0x7c, 0x5e, 0x95, 0x5c, 0xe1, 0x16,
	0x55, 0xf6, 0xac, 0x2e, 0x76, 0x3d, 0xa3, 0xdb, 0x13, 0x5e, 0x8f, 0x00, 0x7f, 0x4c, 0x61, 0x7f,
	0x4c, 0x99, 0x23, 0x58, 0xe1, 0x4c, 0x9a, 0x47, 0x7a, 0x3d, 0xdc, 0xaa, 0x92, 0x2b, 0xcb, 0x3e,
	0xbf, 0x0f, 0xe3, 0xef, 0xa5, 0x01, 0xe5, 0x71, 0x2f, 0x77, 0x6d, 0xb9, 0xca, 0x85, 0x61, 0x9f,
	0xdf, 0xcb, 0x49, 0xf9, 0x27, 0x10, 0xef, 0xf7, 0x74, 0xe3, 0xda, 0x72, 0xc5, 0xaa, 0xbe, 0xbc,
	0x6b, 0x55, 0xb9, 0x69, 0x35, 0xd6, 0x67, 0x7f, 0x33, 0x65, 0x58, 0x14, 0xeb, 0x6c, 0xd0, 0x20,
	0xef, 0x13, 0xde, 0xbf, 0x22, 0xb0, 0xa2, 0x92, 0x26, 0xf1, 0xea, 0x4d, 0x17, 0x3b, 0x57, 0xb8,
	0xc5, 0x89, 0xef, 0xa0, 0x3c, 0x86, 0x25, 0x41, 0xd9, 0x36, 0xba, 0x56, 0xe7, 0x86, 0xd1, 0x2e,
	0x67, 0x7f, 0x38, 0x5f, 0x76, 0x14, 0xd9, 0x9c, 0x7c, 0x38, 0x2d, 0xa9, 0x8b, 0x64, 0x0c, 0x79,
	0xd8, 0x94, 0xf3, 0x85, 0x4d, 0x53, 0x6e, 0x61, 0x6c, 0x0b, 0x14, 0x48, 0x58, 0xdd, 0x73, 0xdd,
	0xc1, 0xa6, 0x97, 0x5e, 0x60, 0xc7, 0x75, 0xeb, 0x2e, 0x33, 0x4a, 0xc7, 0x68, 0xa9, 0xd8, 0xf4,
	0xd4, 0xb8, 0xd5, 0x3d, 0xa7, 0x3f, 0xe4, 0x1f, 0x43, 0xb4, 0x47, 0x5c, 0x9c, 0x8e, 0x31, 0x82,
	0x3b, 0xfd, 0x3c, 0x22, 0xf4, 0xac, 0x3b, 0x7d, 0xd3, 0x53, 0xd9, 0x3c, 0x56, 0xad, 0x49, 0x4f,
	0xa7, 0x42, 0x9d, 0x38, 0x16, 0xb6, 0x3d, 0x83, 0xd5, 0x6d, 0xc7, 0x68, 0xa5, 0xe3, 0xac, 0x86,
	0xae, 0x79, 0xa4, 0x57, 0x34, 0x4c, 0x5c, 0x1f, 0x49, 0x55, 0xa3, 0x45, 0x43, 0xb3, 0x5c, 0xdd,
	0x30, 0x59, 0xc5, 0x4c, 0xf0, 0x1d, 0xb5, 0xdc, 0x1c, 0x1b, 0xb3, 0x2b, 0x67, 0xbf, 0x89, 0x47,
	0xa5, 0xa0, 0x42, 0x5c, 0x2f, 0xf3, 0x01, 0x36, 0x0e, 0x70, 0x07, 0x7b, 0x58, 0xe9, 0xbb, 0x1e,
	0xe9, 0xf2, 0x35, 0x1b, 0x7e, 0x09, 0x2b, 0x10, 0xed, 0x92, 0x16, 0x66, 0x1b, 0xbd, 0x9c, 0x7d,
	0x7b, 0xe7, 0x52, 0x8c, 0x71, 0x30, 0x56, 0x8b, 0xd8, 0xac, 0xe0, 0x32, 0x16, 0x7a, 0xeb, 0x98,
	0x6a, 0xeb, 0x81, 0x0b, 0xe5, 0x5f, 0x24, 0x78, 0xa1, 0x38, 0xd8, 0xf0, 0x70, 0xd1, 0xba, 0xa6,
	0x77, 0x87, 0x91, 0xb1, 0x41, 0x5c, 0x83, 0x1d, 0x92, 0x3e, 0x73, 0x87, 0x36, 0x20, 0x79, 0xad,
	0xbb, 0xd6, 0x27, 0xac, 0x77, 0xbb, 0x2c, 0xc7, 0xc3, 0x6a, 0xfc, 0x5a, 0xb3, 0x3e, 0xe1, 0x6a,
	0x97, 0xca, 0x6e, 0x86, 0xb2, 0x08, 0x97, 0xdd, 0x8c, 0x64, 0x9f, 0x86, 0xb2, 0x28, 0x97, 0x7d,
	0xe2, 0xb2, 0xcc, 0x6f, 0x24, 0xf8, 0xf2, 0x56, 0xb7, 0x1f, 0xf8, 0xda, 0x3c, 0xf3, 0xe8, 0xff,
	0x6d, 0x01, 0x56, 0xb8, 0xf5, 0x3c, 0xb9, 0x3e, 0xc0, 0x6d, 0xcb, 0x66, 0xd7, 0x02, 0xf9, 0x18,
	0x16, 0xbb, 0x86, 0x73, 0x89, 0x1d, 0xbd, 0xed, 0x10, 0xdb, 0x13, 0x49, 0x91, 0xfd, 0x5f, 0x92,
	0xa2, 0xca, 0xe6, 0xab, 0x29, 0xce, 0x53, 0xa4, 0x34, 0xb2, 0x06, 0x62, 0xa8, 0x37, 0x0d, 0xf3,
	0x52, 0x54, 0x8c, 0xcf, 0x61, 0x05, 0x4e, 0x93, 0x37, 0xcc, 0x4b, 0xf9, 0xa7, 0x20, 0x46, 0xba,
	0x47, 0x7a, 0xa2, 0x60, 0x7c, 0x0e, 0x67, 0x92, 0xb3, 0x34, 0x48, 0x4f, 0x3e, 0xa1, 0x57, 0x12,
	0xee, 0x27, 0xf1, 0x3c, 0xc2, 0xf7, 0xef, 0xf3, 0x58, 0xc5, 0x3a, 0xe6, 0x19, 0xcf, 0xd8, 0x02,
	0x74, 0x70, 0x9b, 0x97, 0x9d, 0x7b, 0x2d, 0x40, 0x05, 0xb7, 0xbd, 0xb1, 0xcd, 0x72, 0xe8, 0x75,
	0x84, 0xd5, 0xa2, 0x7b, 0x6d, 0x96, 0x4a, 0x69, 0xfc, 0x89, 0x1f, 0x9f, 0x91, 0xf8, 0x89, 0x19,
	0x89, 0x9f, 0xf4, 0x25, 0xbe, 0xfc, 0x12, 0x1e, 0x09, 0x57, 0x3f, 0x5a, 0x2d, 0xef, 0x82, 0x6a,
	0xf0, 0x9b, 0xa2, 0x58, 0xef, 0x13, 0x8a, 0x56, 0xbb, 0xf2, 0x16, 0x20, 0xa1, 0x77, 0x81, 0xa9,
	0x33, 0x54, 0x31, 0xc5, 0x14, 0x97, 0x39, 0x5e, 0x62, 0x70, 0xb5, 0x9b, 0xf9, 0xa7, 0x04, 0xab,
	0x3c, 0x12, 0x5a, 0xf1, 0xc6, 0x52, 0xf8, 0x1b, 0x88, 0x71, 0xd5, 0x7b, 0x24, 0xaf, 0x60, 0x90,
	0xd7, 0x21, 0xee, 0xaf, 0x00, 0x31, 0xf7, 0xd6, 0x78, 0x22, 0xf3, 0xc6, 0x13, 0x9d, 0x1a, 0xcf,
	0x7f, 0x86, 0xf1, 0x9c, 0x18, 0x9d, 0xce, 0x77, 0x14, 0xcf, 0x53, 0x48, 0x0c, 0xfd, 0x15, 0x25,
	0xed, 0xa3, 0xf0, 0xf4, 0x19, 0x24, 0x47, 0x2e, 0xf2, 0x58, 0x12, 0x17, 0xc2, 0xb9, 0x69, 0xe1,
	0x46, 0xe7, 0x0d, 0x77, 0x61, 0x6a, 0xb8, 0x7f, 0x8c, 0xc0, 0x53, 0x16, 0x24, 0x9e, 0x56, 0xbb,
	0x0f, 0x21, 0x65, 0x32, 0x98, 0x5f, 0x06, 0xa4, 0xf9, 0x2e, 0x03, 0x9c, 0x89, 0x5f, 0x06, 0xcc,
	0xe1, 0x6f, 0xf1, 0xc5, 0xec, 0xdb, 0xd6, 0xb7, 0x7d, 0x2c, 0xde, 0x44, 0x12, 0x96, 0x7b, 0xcc,
	0xc6, 0x72, 0x03, 0x84, 0xaa, 0xde, 0x24, 0xd7, 0x2c, 0xee, 0x54, 0x76, 0x77, 0x3e, 0x43, 0xbe,
	0xca, 0x59, 0x0a, 0xa9, 0x49, 0x73, 0x00, 0xcb, 0x27, 0x43, 0xff, 0xcd, 0x7e, 0x13, 0xb3, 0xb5,
	0x4a, 0x65, 0xf7, 0xe6, 0xa3, 0xf5, 0xa7, 0x73, 0x29, 0x34, 0x88, 0x85, 0xe2, 0x63, 0xc4, 0x1f,
	0x8d, 0x4e, 0x47, 0x5c, 0x5f, 0xe6, 0x24, 0xf6, 0xe7, 0xd5, 0x88, 0x98, 0xe2, 0xf9, 0x0d, 0x48,
	0x0b, 0x62, 0xf1, 0xd1, 0x68, 0x0d, 0x35, 0x33, 0xbf, 0xa2, 0xf7, 0x87, 0xe0, 0x56, 0xfd, 0xbf,
	0x1e, 0xae, 0x32, 0x7f, 0x8f, 0x0d, 0x7a, 0x84, 0xc2, 0x15, 0xb6, 0x3d, 0xf9, 0xe7, 0x80, 0x84,
	0x93, 0xc6, 0xa0, 0x4d, 0x12, 0xb6, 0x7f, 0x34, 0xdf, 0x7d, 0x71, 0xd8, 0x5d, 0x95, 0x42, 0xea,
	0x23, 0x32, 0xd1, 0x70, 0x11, 0x58, 0x17, 0xec, 0xe6, 0xf0, 0x1a, 0xc5, 0x1e, 0xf6, 0x78, 0xf2,
	0xa4, 0xb2, 0xfb, 0xf3, 0x19, 0x99, 0xe8, 0xc7, 0x4a, 0x21, 0x75, 0x8d, 0x4c, 0x6d, 0xd4, 0x8e,
	0x40, 0xdc, 0x84, 0xf5, 0x2e, 0x6d, 0x81, 0x44, 0x12, 0xfe, 0x60, 0x3e, 0x2b, 0xac, 0x6b, 0x2a,
	0x85, 0x54, 0x71, 0x79, 0xe6, 0x4d, 0x94, 0x05, 0xc2, 0x94, 0xee, 0xf2, 0x56, 0x88, 0x32, 0x5b,
	0xf6, 0xb9, 0x48, 0xc4, 0xdd, 0xf9, 0xa8, 0x7d, 0x6d, 0x54, 0x29, 0xa4, 0xae, 0x90, 0x29, 0xdd,
	0xd5, 0x07, 0x78, 0x22, 0x4c, 0x89, 0xb6, 0x46, 0x37, 0x79, 0x93, 0x24, 0x72, 0x73, 0x4e, 0x5b,
	0xbe, 0xfe, 0x6a, 0x64, 0xcb, 0xdf, 0x76, 0x69, 0xc3, 0xce, 0xc3, 0x63, 0xbd, 0x8f, 0xb8, 0x7c,
	0xcf, 0xd9, 0x79, 0xf0, 0x7e, 0xa9, 0x14, 0x1a, 0xf4, 0x1d, 0xa2, 0x7f, 0xb2, 0x60, 0xcd, 0xa1,
	0x3d, 0x90, 0x4e, 0x44, 0x13, 0x24, 0x0e, 0x00, 0xfb, 0xf2, 0xcd, 0xe1, 0xff, 0x94, 0x06, 0x8a,
	0xfa, 0xef, 0x4c, 0xe9, 0xab, 0xda, 0xb0, 0x4a, 0xcb, 0xc1, 0x78, 0x5e, 0x75, 0x88, 0xeb, 0xb1,
	0xef, 0x68, 0x6a, 0x9e, 0xba, 0x3e, 0x79, 0xb3, 0x2f, 0x85, 0x54, 0xd9, 0x0c, 0xa0, 0xf9, 0x15,
	0x78, 0x2c, 0xd6, 0x09, 0xd3, 0xf3, 0xc2, 0x6a, 0xe8, 0xf6, 0x2f, 0x01, 0x46, 0xcd, 0x92, 0x2c,
	0xc3, 0x72, 0xb9, 0xf6, 0x3e, 0x57, 0x29, 0x1f, 0xe8, 0xf5, 0xfc, 0x37, 0x05, 0xa5, 0x81, 0x42,
	0x14, 0x13, 0xef, 0x21, 0x03, 0x4c, 0x92, 0x57, 0x01, 0xe5, 0x2b, 0x75, 0xe5, 0x50, 0xaf, 0x94,
	0xdf, 0x95, 0x1a, 0xca, 0x71, 0xbe, 0xf0, 0x1a, 0x85, 0xe5, 0xc7, 0xb0, 0xa4, 0x94, 0x72, 0xea,
	0xbb, 0x82, 0xaa, 0xe7, 0x73, 0x5a, 0x59, 0x41, 0x31, 0xf9, 0x39, 0xa4, 0x8b, 0x65, 0x55, 0x6b,
	0xe8, 0xca, 0xb1, 0xd6, 0xa8, 0x57, 0x05, 0x83, 0xde, 0x38, 0x3b, 0x2a, 0xa0, 0x47, 0xdb, 0xff,
	0x8e, 0x00, 0x8c, 0xaa, 0xb3, 0xbc, 0x0e, 0x2b, 0x03, 0xeb, 0x42, 0x9d, 0xe9, 0x31, 0x17, 0xc6,
	0x00, 0xfd, 0xd5, 0x2b, 0x24, 0x05, 0x30, 0xea, 0xc0, 0x24, 0x96, 0x45, 0x91, 0x00, 0xb6, 0x8b,
	0xa2, 0x01, 0x6c, 0x0f, 0x2d, 0x04, 0xb0, 0x7d, 0x14, 0x0b, 0x60, 0x5f, 0xa1, 0x78, 0x00, 0x7b,
	0x83, 0x12, 0x01, 0xec, 0x2d, 0x4a, 0x06, 0xb0, 0xaf, 0x11, 0x4c, 0x62, 0xaf, 0x5f, 0xa1, 0x54,
	0x00, 0x7b, 0x8d, 0x16, 0x03, 0x58, 0x16, 0x2d, 0x05, 0xb0, 0x5d, 0xb4, 0x1c, 0xc0, 0xf6, 0xd0,
	0xa3, 0x00, 0xb6, 0x8f, 0x50, 0x00, 0xfb, 0x0a, 0x3d, 0x0e, 0x60, 0x6f, 0x90, 0x1c, 0xc0, 0xde,
	0xa2, 0x95, 0x00, 0xf6, 0x35, 0x5a, 0x95, 0xd7, 0xe0, 0xf1, 0x38, 0xa6, 0xd4, 0x8f, 0x6b, 0x0d,
	0xb4, 0xba, 0x11, 0x46, 0xd2, 0xf6, 0xef, 0xa4, 0xc1, 0x43, 0x84, 0x68, 0xe0, 0xc7, 0x52, 0xaa,
	0x98, 0xab, 0x96, 0x2b, 0x67, 0xfe, 0x94, 0x12, 0x98, 0x24, 0x27, 0x61, 0x81, 0xa5, 0x14, 0x0a,
	0xcb, 0xcb, 0x00, 0x2c, 0xaf, 0x74, 0x9a, 0x58, 0x28, 0x22, 0xa7, 0x20, 0x2e, 0xf2, 0x0a, 0x45,
	0x59, 0x92, 0x8d, 0xe7, 0x12, 0x8a, 0xd3, 0xbc, 0x11, 0x79, 0xc5, 0xd9, 0x84, 0x43, 0x71, 0xe6,
	0xd0, 0x6f, 0x25, 0x88, 0xf1, 0x7a, 0x21, 0x23, 0x58, 0x1c, 0xb8, 0x92, 0x3b, 0x2d, 0x6b, 0x28,
	0x44, 0x2d, 0x9d, 0xea, 0xb5, 0xc2, 0xbb, 0x5c, 0xa3, 0xfc, 0xbe, 0x80, 0x24, 0x3e, 0x3e, 0xaa,
	0x6b, 0x65, 0x36, 0x66, 0x9e, 0x9c, 0x8d, 0xe4, 0x11, 0x3e, 0x1e, 0xca, 0xa3, 0x74, 0xfc, 0xb3,
	0x91, 0x7c, 0x81, 0x8f, 0x87, 0xf2, 0x98, 0xbc, 0x08, 0x89, 0xda, 0x71, 0x55, 0xcf, 0x9d, 0x16,
	0x34, 0x14, 0xdf, 0x3e, 0x1a, 0x3c, 0xe3, 0x29, 0xc4, 0x76, 0x3d, 0xc3, 0xf6, 0x5c, 0xf9, 0x29,
	0xac, 0x09, 0xd7, 0x95, 0x7a, 0x4d, 0x6b, 0xe4, 0x6a, 0x0d, 0x4d, 0xaf, 0x1d, 0x57, 0x2a, 0x28,
	0x24, 0x67, 0xe0, 0x45, 0xb1, 0x7c, 0x5a, 0x18, 0x9e, 0x85, 0x93, 0x5c, 0xa5, 0xa2, 0x37, 0x4a,
	0x65, 0xe5, 0xb0, 0x56, 0xd0, 0x34, 0xbd, 0x5a, 0x45, 0xb0, 0xfd, 0xa7, 0x28, 0xed, 0xec, 0x27,
	0xef, 0x75, 0x94, 0x55, 0x4c, 0xaa, 0xe6, 0xd4, 0xc3, 0x82, 0xaa, 0x8f, 0x1e, 0x34, 0x9f, 0xc1,
	0xba, 0x5f, 0xa4, 0x94, 0x55, 0xa5, 0x52, 0xd0, 0xf4, 0x2c, 0x92, 0x6e, 0x17, 0xee, 0xa2, 0xf0,
	0xed, 0xc2, 0x3d, 0x14, 0xb9, 0x5d, 0xb8, 0x8f, 0xa2, 0xb4, 0x08, 0xf8, 0x85, 0x07, 0xe5, 0x5c,
	0xb5, 0x5e, 0x3b, 0xa0, 0x46, 0x17, 0x66, 0x48, 0x77, 0x79, 0x01, 0xb9, 0x45, 0xba, 0x87, 0xe2,
	0x33, 0xa4, 0xfb, 0x28, 0x11, 0x94, 0x96, 0x0a, 0xa7, 0xb9, 0x77, 0xf5, 0x1a, 0xb5, 0x9b, 0x9c,
	0x21, 0xdd, 0x45, 0x30, 0x43, 0xba, 0x87, 0x52, 0x33, 0xa4, 0xfb, 0x68, 0x51, 0xfe, 0x02, 0x9e,
	0xfa, 0xa5, 0x0d, 0xb5, 0x9c, 0xab, 0xbd, 0xe3, 0xab, 0xbc, 0x34, 0x4b, 0x4c, 0x0f, 0xf5, 0x0c,
	0x31, 0x3d, 0xdf, 0x33, 0xc4, 0xf4, 0xa8, 0xaf, 0xc3, 0xca, 0xc4, 0x46, 0xb0, 0xb3, 0x80, 0xd8,
	0x59, 0xf8, 0x83, 0x04, 0xe9, 0xdb, 0x1e, 0x6a, 0x68, 0xd2, 0x1c, 0x14, 0x2a, 0x85, 0x46, 0xb9,
	0x5e, 0xd3, 0xab, 0x39, 0xed, 0x70, 0x2c, 0x69, 0x5e, 0x42, 0xc6, 0x2f, 0xf2, 0x25, 0x26, 0x4f,
	0x60, 0x0d, 0x49, 0xf2, 0xf7, 0xe1, 0x7b, 0x7e, 0x3d, 0xbf, 0x2b, 0x03, 0xc5, 0x30, 0x5d, 0x3f,
	0xbf, 0x62, 0x4e, 0x55, 0x4a, 0x05, 0x5a, 0x4c, 0x34, 0x14, 0x69, 0xc6, 0xd8, 0x3f, 0x4a, 0x77,
	0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x13, 0x39, 0x2a, 0x7d, 0x1d, 0x00, 0x00,
}
