package plannings

import (
	fmt "fmt"
	common "github.com/containers-ai/api/alameda_api/v1alpha1/datahub/common"
	resources "github.com/containers-ai/api/alameda_api/v1alpha1/datahub/resources"
	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	math "math"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion3 

type ContainerPlanning struct {
	Name                    string               `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	LimitPlannings          []*common.MetricData `protobuf:"bytes,2,rep,name=limit_plannings,json=limitPlannings,proto3" json:"limit_plannings,omitempty"`
	RequestPlannings        []*common.MetricData `protobuf:"bytes,3,rep,name=request_plannings,json=requestPlannings,proto3" json:"request_plannings,omitempty"`
	InitialLimitPlannings   []*common.MetricData `protobuf:"bytes,4,rep,name=initial_limit_plannings,json=initialLimitPlannings,proto3" json:"initial_limit_plannings,omitempty"`
	InitialRequestPlannings []*common.MetricData `protobuf:"bytes,5,rep,name=initial_request_plannings,json=initialRequestPlannings,proto3" json:"initial_request_plannings,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}             `json:"-"`
	XXX_unrecognized        []byte               `json:"-"`
	XXX_sizecache           int32                `json:"-"`
}

func (m *ContainerPlanning) Reset()         { *m = ContainerPlanning{} }
func (m *ContainerPlanning) String() string { return proto.CompactTextString(m) }
func (*ContainerPlanning) ProtoMessage()    {}
func (*ContainerPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{0}
}

func (m *ContainerPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContainerPlanning.Unmarshal(m, b)
}
func (m *ContainerPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContainerPlanning.Marshal(b, m, deterministic)
}
func (m *ContainerPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContainerPlanning.Merge(m, src)
}
func (m *ContainerPlanning) XXX_Size() int {
	return xxx_messageInfo_ContainerPlanning.Size(m)
}
func (m *ContainerPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ContainerPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ContainerPlanning proto.InternalMessageInfo

func (m *ContainerPlanning) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ContainerPlanning) GetLimitPlannings() []*common.MetricData {
	if m != nil {
		return m.LimitPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetRequestPlannings() []*common.MetricData {
	if m != nil {
		return m.RequestPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetInitialLimitPlannings() []*common.MetricData {
	if m != nil {
		return m.InitialLimitPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetInitialRequestPlannings() []*common.MetricData {
	if m != nil {
		return m.InitialRequestPlannings
	}
	return nil
}

type PodPlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,2,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ApplyPlanningNow     bool                       `protobuf:"varint,3,opt,name=apply_planning_now,json=applyPlanningNow,proto3" json:"apply_planning_now,omitempty"`
	AssignPodPolicy      *resources.AssignPodPolicy `protobuf:"bytes,4,opt,name=assign_pod_policy,json=assignPodPolicy,proto3" json:"assign_pod_policy,omitempty"`
	ContainerPlannings   []*ContainerPlanning       `protobuf:"bytes,5,rep,name=container_plannings,json=containerPlannings,proto3" json:"container_plannings,omitempty"`
	StartTime            *timestamp.Timestamp       `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime              *timestamp.Timestamp       `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	TopController        *resources.Controller      `protobuf:"bytes,8,opt,name=top_controller,json=topController,proto3" json:"top_controller,omitempty"`
	PlanningId           string                     `protobuf:"bytes,9,opt,name=planning_id,json=planningId,proto3" json:"planning_id,omitempty"`
	TotalCost            float64                    `protobuf:"fixed64,10,opt,name=total_cost,json=totalCost,proto3" json:"total_cost,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *PodPlanning) Reset()         { *m = PodPlanning{} }
func (m *PodPlanning) String() string { return proto.CompactTextString(m) }
func (*PodPlanning) ProtoMessage()    {}
func (*PodPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{1}
}

func (m *PodPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PodPlanning.Unmarshal(m, b)
}
func (m *PodPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PodPlanning.Marshal(b, m, deterministic)
}
func (m *PodPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PodPlanning.Merge(m, src)
}
func (m *PodPlanning) XXX_Size() int {
	return xxx_messageInfo_PodPlanning.Size(m)
}
func (m *PodPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_PodPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_PodPlanning proto.InternalMessageInfo

func (m *PodPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *PodPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *PodPlanning) GetApplyPlanningNow() bool {
	if m != nil {
		return m.ApplyPlanningNow
	}
	return false
}

func (m *PodPlanning) GetAssignPodPolicy() *resources.AssignPodPolicy {
	if m != nil {
		return m.AssignPodPolicy
	}
	return nil
}

func (m *PodPlanning) GetContainerPlannings() []*ContainerPlanning {
	if m != nil {
		return m.ContainerPlannings
	}
	return nil
}

func (m *PodPlanning) GetStartTime() *timestamp.Timestamp {
	if m != nil {
		return m.StartTime
	}
	return nil
}

func (m *PodPlanning) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

func (m *PodPlanning) GetTopController() *resources.Controller {
	if m != nil {
		return m.TopController
	}
	return nil
}

func (m *PodPlanning) GetPlanningId() string {
	if m != nil {
		return m.PlanningId
	}
	return ""
}

func (m *PodPlanning) GetTotalCost() float64 {
	if m != nil {
		return m.TotalCost
	}
	return 0
}

type ControllerPlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                 resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	CtlPlanningType      ControllerPlanningType     `protobuf:"varint,4,opt,name=ctl_planning_type,json=ctlPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"ctl_planning_type,omitempty"`
	CtlPlanningSpec      *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=ctl_planning_spec,json=ctlPlanningSpec,proto3" json:"ctl_planning_spec,omitempty"`
	CtlPlanningSpecK8S   *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=ctl_planning_spec_k8s,json=ctlPlanningSpecK8s,proto3" json:"ctl_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *ControllerPlanning) Reset()         { *m = ControllerPlanning{} }
func (m *ControllerPlanning) String() string { return proto.CompactTextString(m) }
func (*ControllerPlanning) ProtoMessage()    {}
func (*ControllerPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{2}
}

func (m *ControllerPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ControllerPlanning.Unmarshal(m, b)
}
func (m *ControllerPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ControllerPlanning.Marshal(b, m, deterministic)
}
func (m *ControllerPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ControllerPlanning.Merge(m, src)
}
func (m *ControllerPlanning) XXX_Size() int {
	return xxx_messageInfo_ControllerPlanning.Size(m)
}
func (m *ControllerPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ControllerPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ControllerPlanning proto.InternalMessageInfo

func (m *ControllerPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ControllerPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ControllerPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ControllerPlanning) GetCtlPlanningType() ControllerPlanningType {
	if m != nil {
		return m.CtlPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ControllerPlanning) GetCtlPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.CtlPlanningSpec
	}
	return nil
}

func (m *ControllerPlanning) GetCtlPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.CtlPlanningSpecK8S
	}
	return nil
}

type ApplicationPlanning struct {
	ObjectMeta                 *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                       resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType               PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ApplicationPlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=application_planning_type,json=applicationPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"application_planning_type,omitempty"`
	ApplicationPlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=application_planning_spec,json=applicationPlanningSpec,proto3" json:"application_planning_spec,omitempty"`
	ApplicationPlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=application_planning_spec_k8s,json=applicationPlanningSpecK8s,proto3" json:"application_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral       struct{}                   `json:"-"`
	XXX_unrecognized           []byte                     `json:"-"`
	XXX_sizecache              int32                      `json:"-"`
}

func (m *ApplicationPlanning) Reset()         { *m = ApplicationPlanning{} }
func (m *ApplicationPlanning) String() string { return proto.CompactTextString(m) }
func (*ApplicationPlanning) ProtoMessage()    {}
func (*ApplicationPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{3}
}

func (m *ApplicationPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ApplicationPlanning.Unmarshal(m, b)
}
func (m *ApplicationPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ApplicationPlanning.Marshal(b, m, deterministic)
}
func (m *ApplicationPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ApplicationPlanning.Merge(m, src)
}
func (m *ApplicationPlanning) XXX_Size() int {
	return xxx_messageInfo_ApplicationPlanning.Size(m)
}
func (m *ApplicationPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ApplicationPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ApplicationPlanning proto.InternalMessageInfo

func (m *ApplicationPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ApplicationPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ApplicationPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ApplicationPlanning) GetApplicationPlanningType() ControllerPlanningType {
	if m != nil {
		return m.ApplicationPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ApplicationPlanning) GetApplicationPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.ApplicationPlanningSpec
	}
	return nil
}

func (m *ApplicationPlanning) GetApplicationPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.ApplicationPlanningSpecK8S
	}
	return nil
}

type NamespacePlanning struct {
	ObjectMeta               *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                     resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType             PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	NamespacePlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=namespace_planning_type,json=namespacePlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"namespace_planning_type,omitempty"`
	NamespacePlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=namespace_planning_spec,json=namespacePlanningSpec,proto3" json:"namespace_planning_spec,omitempty"`
	NamespacePlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=namespace_planning_spec_k8s,json=namespacePlanningSpecK8s,proto3" json:"namespace_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                   `json:"-"`
	XXX_unrecognized         []byte                     `json:"-"`
	XXX_sizecache            int32                      `json:"-"`
}

func (m *NamespacePlanning) Reset()         { *m = NamespacePlanning{} }
func (m *NamespacePlanning) String() string { return proto.CompactTextString(m) }
func (*NamespacePlanning) ProtoMessage()    {}
func (*NamespacePlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{4}
}

func (m *NamespacePlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NamespacePlanning.Unmarshal(m, b)
}
func (m *NamespacePlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NamespacePlanning.Marshal(b, m, deterministic)
}
func (m *NamespacePlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NamespacePlanning.Merge(m, src)
}
func (m *NamespacePlanning) XXX_Size() int {
	return xxx_messageInfo_NamespacePlanning.Size(m)
}
func (m *NamespacePlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_NamespacePlanning.DiscardUnknown(m)
}

var xxx_messageInfo_NamespacePlanning proto.InternalMessageInfo

func (m *NamespacePlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *NamespacePlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *NamespacePlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *NamespacePlanning) GetNamespacePlanningType() ControllerPlanningType {
	if m != nil {
		return m.NamespacePlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *NamespacePlanning) GetNamespacePlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.NamespacePlanningSpec
	}
	return nil
}

func (m *NamespacePlanning) GetNamespacePlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.NamespacePlanningSpecK8S
	}
	return nil
}

type NodePlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                 resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	NodePlanningType     ControllerPlanningType     `protobuf:"varint,4,opt,name=node_planning_type,json=nodePlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"node_planning_type,omitempty"`
	NodePlanningSpec     *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=node_planning_spec,json=nodePlanningSpec,proto3" json:"node_planning_spec,omitempty"`
	NodePlanningSpecK8S  *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=node_planning_spec_k8s,json=nodePlanningSpecK8s,proto3" json:"node_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *NodePlanning) Reset()         { *m = NodePlanning{} }
func (m *NodePlanning) String() string { return proto.CompactTextString(m) }
func (*NodePlanning) ProtoMessage()    {}
func (*NodePlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{5}
}

func (m *NodePlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodePlanning.Unmarshal(m, b)
}
func (m *NodePlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodePlanning.Marshal(b, m, deterministic)
}
func (m *NodePlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodePlanning.Merge(m, src)
}
func (m *NodePlanning) XXX_Size() int {
	return xxx_messageInfo_NodePlanning.Size(m)
}
func (m *NodePlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_NodePlanning.DiscardUnknown(m)
}

var xxx_messageInfo_NodePlanning proto.InternalMessageInfo

func (m *NodePlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *NodePlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *NodePlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *NodePlanning) GetNodePlanningType() ControllerPlanningType {
	if m != nil {
		return m.NodePlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *NodePlanning) GetNodePlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.NodePlanningSpec
	}
	return nil
}

func (m *NodePlanning) GetNodePlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.NodePlanningSpecK8S
	}
	return nil
}

type ClusterPlanning struct {
	ObjectMeta             *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                   resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType           PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ClusterPlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=cluster_planning_type,json=clusterPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"cluster_planning_type,omitempty"`
	ClusterPlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=cluster_planning_spec,json=clusterPlanningSpec,proto3" json:"cluster_planning_spec,omitempty"`
	ClusterPlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=cluster_planning_spec_k8s,json=clusterPlanningSpecK8s,proto3" json:"cluster_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                   `json:"-"`
	XXX_unrecognized       []byte                     `json:"-"`
	XXX_sizecache          int32                      `json:"-"`
}

func (m *ClusterPlanning) Reset()         { *m = ClusterPlanning{} }
func (m *ClusterPlanning) String() string { return proto.CompactTextString(m) }
func (*ClusterPlanning) ProtoMessage()    {}
func (*ClusterPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{6}
}

func (m *ClusterPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterPlanning.Unmarshal(m, b)
}
func (m *ClusterPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterPlanning.Marshal(b, m, deterministic)
}
func (m *ClusterPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterPlanning.Merge(m, src)
}
func (m *ClusterPlanning) XXX_Size() int {
	return xxx_messageInfo_ClusterPlanning.Size(m)
}
func (m *ClusterPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterPlanning proto.InternalMessageInfo

func (m *ClusterPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ClusterPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ClusterPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ClusterPlanning) GetClusterPlanningType() ControllerPlanningType {
	if m != nil {
		return m.ClusterPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ClusterPlanning) GetClusterPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.ClusterPlanningSpec
	}
	return nil
}

func (m *ClusterPlanning) GetClusterPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.ClusterPlanningSpecK8S
	}
	return nil
}

func init() {
	proto.RegisterType((*ContainerPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ContainerPlanning")
	proto.RegisterType((*PodPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.PodPlanning")
	proto.RegisterType((*ControllerPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanning")
	proto.RegisterType((*ApplicationPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ApplicationPlanning")
	proto.RegisterType((*NamespacePlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.NamespacePlanning")
	proto.RegisterType((*NodePlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.NodePlanning")
	proto.RegisterType((*ClusterPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ClusterPlanning")
}

func init() {
	proto.RegisterFile("alameda_api/v1alpha1/datahub/plannings/plannings.proto", fileDescriptor_36c6a4155f49dbb5)
}

var fileDescriptor_36c6a4155f49dbb5 = []byte{

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

package plannings

import (
	fmt "fmt"
	common "github.com/containers-ai/api/alameda_api/v1alpha1/datahub/common"
	resources "github.com/containers-ai/api/alameda_api/v1alpha1/datahub/resources"
	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type ContainerPlanning struct {
	Name                    string               `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	LimitPlannings          []*common.MetricData `protobuf:"bytes,2,rep,name=limit_plannings,json=limitPlannings,proto3" json:"limit_plannings,omitempty"`
	RequestPlannings        []*common.MetricData `protobuf:"bytes,3,rep,name=request_plannings,json=requestPlannings,proto3" json:"request_plannings,omitempty"`
	InitialLimitPlannings   []*common.MetricData `protobuf:"bytes,4,rep,name=initial_limit_plannings,json=initialLimitPlannings,proto3" json:"initial_limit_plannings,omitempty"`
	InitialRequestPlannings []*common.MetricData `protobuf:"bytes,5,rep,name=initial_request_plannings,json=initialRequestPlannings,proto3" json:"initial_request_plannings,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}             `json:"-"`
	XXX_unrecognized        []byte               `json:"-"`
	XXX_sizecache           int32                `json:"-"`
}

func (m *ContainerPlanning) Reset()         { *m = ContainerPlanning{} }
func (m *ContainerPlanning) String() string { return proto.CompactTextString(m) }
func (*ContainerPlanning) ProtoMessage()    {}
func (*ContainerPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{0}
}

func (m *ContainerPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContainerPlanning.Unmarshal(m, b)
}
func (m *ContainerPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContainerPlanning.Marshal(b, m, deterministic)
}
func (m *ContainerPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContainerPlanning.Merge(m, src)
}
func (m *ContainerPlanning) XXX_Size() int {
	return xxx_messageInfo_ContainerPlanning.Size(m)
}
func (m *ContainerPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ContainerPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ContainerPlanning proto.InternalMessageInfo

func (m *ContainerPlanning) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ContainerPlanning) GetLimitPlannings() []*common.MetricData {
	if m != nil {
		return m.LimitPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetRequestPlannings() []*common.MetricData {
	if m != nil {
		return m.RequestPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetInitialLimitPlannings() []*common.MetricData {
	if m != nil {
		return m.InitialLimitPlannings
	}
	return nil
}

func (m *ContainerPlanning) GetInitialRequestPlannings() []*common.MetricData {
	if m != nil {
		return m.InitialRequestPlannings
	}
	return nil
}

type PodPlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,2,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ApplyPlanningNow     bool                       `protobuf:"varint,3,opt,name=apply_planning_now,json=applyPlanningNow,proto3" json:"apply_planning_now,omitempty"`
	AssignPodPolicy      *resources.AssignPodPolicy `protobuf:"bytes,4,opt,name=assign_pod_policy,json=assignPodPolicy,proto3" json:"assign_pod_policy,omitempty"`
	ContainerPlannings   []*ContainerPlanning       `protobuf:"bytes,5,rep,name=container_plannings,json=containerPlannings,proto3" json:"container_plannings,omitempty"`
	StartTime            *timestamp.Timestamp       `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime              *timestamp.Timestamp       `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	TopController        *resources.Controller      `protobuf:"bytes,8,opt,name=top_controller,json=topController,proto3" json:"top_controller,omitempty"`
	PlanningId           string                     `protobuf:"bytes,9,opt,name=planning_id,json=planningId,proto3" json:"planning_id,omitempty"`
	TotalCost            float64                    `protobuf:"fixed64,10,opt,name=total_cost,json=totalCost,proto3" json:"total_cost,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *PodPlanning) Reset()         { *m = PodPlanning{} }
func (m *PodPlanning) String() string { return proto.CompactTextString(m) }
func (*PodPlanning) ProtoMessage()    {}
func (*PodPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{1}
}

func (m *PodPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PodPlanning.Unmarshal(m, b)
}
func (m *PodPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PodPlanning.Marshal(b, m, deterministic)
}
func (m *PodPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PodPlanning.Merge(m, src)
}
func (m *PodPlanning) XXX_Size() int {
	return xxx_messageInfo_PodPlanning.Size(m)
}
func (m *PodPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_PodPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_PodPlanning proto.InternalMessageInfo

func (m *PodPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *PodPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *PodPlanning) GetApplyPlanningNow() bool {
	if m != nil {
		return m.ApplyPlanningNow
	}
	return false
}

func (m *PodPlanning) GetAssignPodPolicy() *resources.AssignPodPolicy {
	if m != nil {
		return m.AssignPodPolicy
	}
	return nil
}

func (m *PodPlanning) GetContainerPlannings() []*ContainerPlanning {
	if m != nil {
		return m.ContainerPlannings
	}
	return nil
}

func (m *PodPlanning) GetStartTime() *timestamp.Timestamp {
	if m != nil {
		return m.StartTime
	}
	return nil
}

func (m *PodPlanning) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

func (m *PodPlanning) GetTopController() *resources.Controller {
	if m != nil {
		return m.TopController
	}
	return nil
}

func (m *PodPlanning) GetPlanningId() string {
	if m != nil {
		return m.PlanningId
	}
	return ""
}

func (m *PodPlanning) GetTotalCost() float64 {
	if m != nil {
		return m.TotalCost
	}
	return 0
}

type ControllerPlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                 resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	CtlPlanningType      ControllerPlanningType     `protobuf:"varint,4,opt,name=ctl_planning_type,json=ctlPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"ctl_planning_type,omitempty"`
	CtlPlanningSpec      *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=ctl_planning_spec,json=ctlPlanningSpec,proto3" json:"ctl_planning_spec,omitempty"`
	CtlPlanningSpecK8S   *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=ctl_planning_spec_k8s,json=ctlPlanningSpecK8s,proto3" json:"ctl_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *ControllerPlanning) Reset()         { *m = ControllerPlanning{} }
func (m *ControllerPlanning) String() string { return proto.CompactTextString(m) }
func (*ControllerPlanning) ProtoMessage()    {}
func (*ControllerPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{2}
}

func (m *ControllerPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ControllerPlanning.Unmarshal(m, b)
}
func (m *ControllerPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ControllerPlanning.Marshal(b, m, deterministic)
}
func (m *ControllerPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ControllerPlanning.Merge(m, src)
}
func (m *ControllerPlanning) XXX_Size() int {
	return xxx_messageInfo_ControllerPlanning.Size(m)
}
func (m *ControllerPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ControllerPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ControllerPlanning proto.InternalMessageInfo

func (m *ControllerPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ControllerPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ControllerPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ControllerPlanning) GetCtlPlanningType() ControllerPlanningType {
	if m != nil {
		return m.CtlPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ControllerPlanning) GetCtlPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.CtlPlanningSpec
	}
	return nil
}

func (m *ControllerPlanning) GetCtlPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.CtlPlanningSpecK8S
	}
	return nil
}

type ApplicationPlanning struct {
	ObjectMeta                 *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                       resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType               PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ApplicationPlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=application_planning_type,json=applicationPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"application_planning_type,omitempty"`
	ApplicationPlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=application_planning_spec,json=applicationPlanningSpec,proto3" json:"application_planning_spec,omitempty"`
	ApplicationPlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=application_planning_spec_k8s,json=applicationPlanningSpecK8s,proto3" json:"application_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral       struct{}                   `json:"-"`
	XXX_unrecognized           []byte                     `json:"-"`
	XXX_sizecache              int32                      `json:"-"`
}

func (m *ApplicationPlanning) Reset()         { *m = ApplicationPlanning{} }
func (m *ApplicationPlanning) String() string { return proto.CompactTextString(m) }
func (*ApplicationPlanning) ProtoMessage()    {}
func (*ApplicationPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{3}
}

func (m *ApplicationPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ApplicationPlanning.Unmarshal(m, b)
}
func (m *ApplicationPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ApplicationPlanning.Marshal(b, m, deterministic)
}
func (m *ApplicationPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ApplicationPlanning.Merge(m, src)
}
func (m *ApplicationPlanning) XXX_Size() int {
	return xxx_messageInfo_ApplicationPlanning.Size(m)
}
func (m *ApplicationPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ApplicationPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ApplicationPlanning proto.InternalMessageInfo

func (m *ApplicationPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ApplicationPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ApplicationPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ApplicationPlanning) GetApplicationPlanningType() ControllerPlanningType {
	if m != nil {
		return m.ApplicationPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ApplicationPlanning) GetApplicationPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.ApplicationPlanningSpec
	}
	return nil
}

func (m *ApplicationPlanning) GetApplicationPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.ApplicationPlanningSpecK8S
	}
	return nil
}

type NamespacePlanning struct {
	ObjectMeta               *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                     resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType             PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	NamespacePlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=namespace_planning_type,json=namespacePlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"namespace_planning_type,omitempty"`
	NamespacePlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=namespace_planning_spec,json=namespacePlanningSpec,proto3" json:"namespace_planning_spec,omitempty"`
	NamespacePlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=namespace_planning_spec_k8s,json=namespacePlanningSpecK8s,proto3" json:"namespace_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                   `json:"-"`
	XXX_unrecognized         []byte                     `json:"-"`
	XXX_sizecache            int32                      `json:"-"`
}

func (m *NamespacePlanning) Reset()         { *m = NamespacePlanning{} }
func (m *NamespacePlanning) String() string { return proto.CompactTextString(m) }
func (*NamespacePlanning) ProtoMessage()    {}
func (*NamespacePlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{4}
}

func (m *NamespacePlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NamespacePlanning.Unmarshal(m, b)
}
func (m *NamespacePlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NamespacePlanning.Marshal(b, m, deterministic)
}
func (m *NamespacePlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NamespacePlanning.Merge(m, src)
}
func (m *NamespacePlanning) XXX_Size() int {
	return xxx_messageInfo_NamespacePlanning.Size(m)
}
func (m *NamespacePlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_NamespacePlanning.DiscardUnknown(m)
}

var xxx_messageInfo_NamespacePlanning proto.InternalMessageInfo

func (m *NamespacePlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *NamespacePlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *NamespacePlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *NamespacePlanning) GetNamespacePlanningType() ControllerPlanningType {
	if m != nil {
		return m.NamespacePlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *NamespacePlanning) GetNamespacePlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.NamespacePlanningSpec
	}
	return nil
}

func (m *NamespacePlanning) GetNamespacePlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.NamespacePlanningSpecK8S
	}
	return nil
}

type NodePlanning struct {
	ObjectMeta           *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                 resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType         PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	NodePlanningType     ControllerPlanningType     `protobuf:"varint,4,opt,name=node_planning_type,json=nodePlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"node_planning_type,omitempty"`
	NodePlanningSpec     *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=node_planning_spec,json=nodePlanningSpec,proto3" json:"node_planning_spec,omitempty"`
	NodePlanningSpecK8S  *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=node_planning_spec_k8s,json=nodePlanningSpecK8s,proto3" json:"node_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *NodePlanning) Reset()         { *m = NodePlanning{} }
func (m *NodePlanning) String() string { return proto.CompactTextString(m) }
func (*NodePlanning) ProtoMessage()    {}
func (*NodePlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{5}
}

func (m *NodePlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodePlanning.Unmarshal(m, b)
}
func (m *NodePlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodePlanning.Marshal(b, m, deterministic)
}
func (m *NodePlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodePlanning.Merge(m, src)
}
func (m *NodePlanning) XXX_Size() int {
	return xxx_messageInfo_NodePlanning.Size(m)
}
func (m *NodePlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_NodePlanning.DiscardUnknown(m)
}

var xxx_messageInfo_NodePlanning proto.InternalMessageInfo

func (m *NodePlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *NodePlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *NodePlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *NodePlanning) GetNodePlanningType() ControllerPlanningType {
	if m != nil {
		return m.NodePlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *NodePlanning) GetNodePlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.NodePlanningSpec
	}
	return nil
}

func (m *NodePlanning) GetNodePlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.NodePlanningSpecK8S
	}
	return nil
}

type ClusterPlanning struct {
	ObjectMeta             *resources.ObjectMeta      `protobuf:"bytes,1,opt,name=object_meta,json=objectMeta,proto3" json:"object_meta,omitempty"`
	Kind                   resources.Kind             `protobuf:"varint,2,opt,name=kind,proto3,enum=containersai.alameda.v1alpha1.datahub.resources.Kind" json:"kind,omitempty"`
	PlanningType           PlanningType               `protobuf:"varint,3,opt,name=planning_type,json=planningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.PlanningType" json:"planning_type,omitempty"`
	ClusterPlanningType    ControllerPlanningType     `protobuf:"varint,4,opt,name=cluster_planning_type,json=clusterPlanningType,proto3,enum=containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanningType" json:"cluster_planning_type,omitempty"`
	ClusterPlanningSpec    *ControllerPlanningSpec    `protobuf:"bytes,5,opt,name=cluster_planning_spec,json=clusterPlanningSpec,proto3" json:"cluster_planning_spec,omitempty"`
	ClusterPlanningSpecK8S *ControllerPlanningSpecK8S `protobuf:"bytes,6,opt,name=cluster_planning_spec_k8s,json=clusterPlanningSpecK8s,proto3" json:"cluster_planning_spec_k8s,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                   `json:"-"`
	XXX_unrecognized       []byte                     `json:"-"`
	XXX_sizecache          int32                      `json:"-"`
}

func (m *ClusterPlanning) Reset()         { *m = ClusterPlanning{} }
func (m *ClusterPlanning) String() string { return proto.CompactTextString(m) }
func (*ClusterPlanning) ProtoMessage()    {}
func (*ClusterPlanning) Descriptor() ([]byte, []int) {
	return fileDescriptor_36c6a4155f49dbb5, []int{6}
}

func (m *ClusterPlanning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterPlanning.Unmarshal(m, b)
}
func (m *ClusterPlanning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterPlanning.Marshal(b, m, deterministic)
}
func (m *ClusterPlanning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterPlanning.Merge(m, src)
}
func (m *ClusterPlanning) XXX_Size() int {
	return xxx_messageInfo_ClusterPlanning.Size(m)
}
func (m *ClusterPlanning) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterPlanning.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterPlanning proto.InternalMessageInfo

func (m *ClusterPlanning) GetObjectMeta() *resources.ObjectMeta {
	if m != nil {
		return m.ObjectMeta
	}
	return nil
}

func (m *ClusterPlanning) GetKind() resources.Kind {
	if m != nil {
		return m.Kind
	}
	return resources.Kind_POD
}

func (m *ClusterPlanning) GetPlanningType() PlanningType {
	if m != nil {
		return m.PlanningType
	}
	return PlanningType_PT_UNDEFINED
}

func (m *ClusterPlanning) GetClusterPlanningType() ControllerPlanningType {
	if m != nil {
		return m.ClusterPlanningType
	}
	return ControllerPlanningType_CPT_UNDEFINED
}

func (m *ClusterPlanning) GetClusterPlanningSpec() *ControllerPlanningSpec {
	if m != nil {
		return m.ClusterPlanningSpec
	}
	return nil
}

func (m *ClusterPlanning) GetClusterPlanningSpecK8S() *ControllerPlanningSpecK8S {
	if m != nil {
		return m.ClusterPlanningSpecK8S
	}
	return nil
}

func init() {
	proto.RegisterType((*ContainerPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ContainerPlanning")
	proto.RegisterType((*PodPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.PodPlanning")
	proto.RegisterType((*ControllerPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ControllerPlanning")
	proto.RegisterType((*ApplicationPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ApplicationPlanning")
	proto.RegisterType((*NamespacePlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.NamespacePlanning")
	proto.RegisterType((*NodePlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.NodePlanning")
	proto.RegisterType((*ClusterPlanning)(nil), "containersai.alameda.v1alpha1.datahub.plannings.ClusterPlanning")
}

func init() {
	proto.RegisterFile("alameda_api/v1alpha1/datahub/plannings/plannings.proto", fileDescriptor_36c6a4155f49dbb5)
}

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