// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: pkg/apis/istio/v1alpha1/values_types.proto

package v1alpha1

import (
	fmt "fmt"
	_ "github.com/gogo/protobuf/gogoproto"
	proto "github.com/gogo/protobuf/proto"
	protobuf "github.com/gogo/protobuf/types"
	types "github.com/gogo/protobuf/types"
	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.GoGoProtoPackageIsVersion3 // please upgrade the proto package

// Throttling behavior for mixer.
type Mode int32

const (
	// Removes throttling behavior for mixer.
	Mode_disabled Mode = 0
	// Enables an advisory mode for throttling behavior for mixer.
	Mode_log_only Mode = 1
	// Turn on throttling behavior for mixer.
	Mode_enforce Mode = 2
)

var Mode_name = map[int32]string{
	0: "disabled",
	1: "log_only",
	2: "enforce",
}

var Mode_value = map[string]int32{
	"disabled": 0,
	"log_only": 1,
	"enforce":  2,
}

func (x Mode) String() string {
	return proto.EnumName(Mode_name, int32(x))
}

func (Mode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{0}
}

// Mode for the ingress controller.
type IngressControllerMode int32

const (
	// Unspecified Istio ingress controller.
	IngressControllerMode_UNSPECIFIED IngressControllerMode = 0
	// Selects all Ingress resources, with or without Istio annotation.
	IngressControllerMode_DEFAULT IngressControllerMode = 1
	// Selects only resources with istio annotation.
	IngressControllerMode_STRICT IngressControllerMode = 2
	// No ingress or sync.
	IngressControllerMode_OFF IngressControllerMode = 3
)

var IngressControllerMode_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "DEFAULT",
	2: "STRICT",
	3: "OFF",
}

var IngressControllerMode_value = map[string]int32{
	"UNSPECIFIED": 0,
	"DEFAULT":     1,
	"STRICT":      2,
	"OFF":         3,
}

func (x IngressControllerMode) String() string {
	return proto.EnumName(IngressControllerMode_name, int32(x))
}

func (IngressControllerMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{1}
}

// Configures the access log for sidecar to JSON or TEXT
type AccessLogEncoding int32

const (
	AccessLogEncoding_JSON AccessLogEncoding = 0
	AccessLogEncoding_TEXT AccessLogEncoding = 1
)

var AccessLogEncoding_name = map[int32]string{
	0: "JSON",
	1: "TEXT",
}

var AccessLogEncoding_value = map[string]int32{
	"JSON": 0,
	"TEXT": 1,
}

func (x AccessLogEncoding) String() string {
	return proto.EnumName(AccessLogEncoding_name, int32(x))
}

func (AccessLogEncoding) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{2}
}

// Specifies which tracer to use.
type Tracer int32

const (
	Tracer_zipkin      Tracer = 0
	Tracer_lightstep   Tracer = 1
	Tracer_datadog     Tracer = 2
	Tracer_stackdriver Tracer = 3
)

var Tracer_name = map[int32]string{
	0: "zipkin",
	1: "lightstep",
	2: "datadog",
	3: "stackdriver",
}

var Tracer_value = map[string]int32{
	"zipkin":      0,
	"lightstep":   1,
	"datadog":     2,
	"stackdriver": 3,
}

func (x Tracer) String() string {
	return proto.EnumName(Tracer_name, int32(x))
}

func (Tracer) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{3}
}

// Specifies the sidecar's default behavior when handling outbound traffic from the application.
type OutboundTrafficPolicyConfig_Mode int32

const (
	// Outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port
	OutboundTrafficPolicyConfig_ALLOW_ANY OutboundTrafficPolicyConfig_Mode = 0
	// Restrict outbound traffic to services defined in the service registry as well as those defined through ServiceEntries
	OutboundTrafficPolicyConfig_REGISTRY_ONLY OutboundTrafficPolicyConfig_Mode = 1
)

var OutboundTrafficPolicyConfig_Mode_name = map[int32]string{
	0: "ALLOW_ANY",
	1: "REGISTRY_ONLY",
}

var OutboundTrafficPolicyConfig_Mode_value = map[string]int32{
	"ALLOW_ANY":     0,
	"REGISTRY_ONLY": 1,
}

func (x OutboundTrafficPolicyConfig_Mode) String() string {
	return proto.EnumName(OutboundTrafficPolicyConfig_Mode_name, int32(x))
}

func (OutboundTrafficPolicyConfig_Mode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{27, 0}
}

// ArchConfig specifies the pod scheduling target architecture(amd64, ppc64le, s390x) for all the Istio control plane components.
type ArchConfig struct {
	// Sets pod scheduling weight for amd64 arch
	Amd64 uint32 `protobuf:"varint,1,opt,name=amd64,proto3" json:"amd64,omitempty"`
	// Sets pod scheduling weight for ppc64le arch.
	Ppc64Le uint32 `protobuf:"varint,2,opt,name=ppc64le,proto3" json:"ppc64le,omitempty"`
	// Sets pod scheduling weight for s390x arch.
	S390X                uint32   `protobuf:"varint,3,opt,name=s390x,proto3" json:"s390x,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ArchConfig proto.InternalMessageInfo

func (m *ArchConfig) GetAmd64() uint32 {
	if m != nil {
		return m.Amd64
	}
	return 0
}

func (m *ArchConfig) GetPpc64Le() uint32 {
	if m != nil {
		return m.Ppc64Le
	}
	return 0
}

func (m *ArchConfig) GetS390X() uint32 {
	if m != nil {
		return m.S390X
	}
	return 0
}

// Configuration for CNI.
type CNIConfig struct {
	// Controls whether CNI is enabled.
	Enabled              *protobuf.BoolValue     `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Hub                  string                  `protobuf:"bytes,2,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                  interface{}          `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
	Image                string                  `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
	PullPolicy           string                  `protobuf:"bytes,5,opt,name=pullPolicy,proto3" json:"pullPolicy,omitempty"`
	CniBinDir            string                  `protobuf:"bytes,6,opt,name=cniBinDir,proto3" json:"cniBinDir,omitempty"`
	CniConfDir           string                  `protobuf:"bytes,7,opt,name=cniConfDir,proto3" json:"cniConfDir,omitempty"`
	CniConfFileName      string                  `protobuf:"bytes,8,opt,name=cniConfFileName,proto3" json:"cniConfFileName,omitempty"`
	ExcludeNamespaces    []string                `protobuf:"bytes,9,rep,name=excludeNamespaces,proto3" json:"excludeNamespaces,omitempty"`
	PodAnnotations       map[string]interface{} `protobuf:"bytes,10,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	PspClusterRole       string                  `protobuf:"bytes,11,opt,name=psp_cluster_role,json=pspClusterRole,proto3" json:"psp_cluster_role,omitempty"`
	LogLevel             string                  `protobuf:"bytes,12,opt,name=logLevel,proto3" json:"logLevel,omitempty"`
	Repair               *CNIRepairConfig        `protobuf:"bytes,13,opt,name=repair,proto3" json:"repair,omitempty"`
	Chained              *protobuf.BoolValue     `protobuf:"bytes,14,opt,name=chained,proto3" json:"chained,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_CNIConfig proto.InternalMessageInfo

func (m *CNIConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CNIConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *CNIConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *CNIConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *CNIConfig) GetPullPolicy() string {
	if m != nil {
		return m.PullPolicy
	}
	return ""
}

func (m *CNIConfig) GetCniBinDir() string {
	if m != nil {
		return m.CniBinDir
	}
	return ""
}

func (m *CNIConfig) GetCniConfDir() string {
	if m != nil {
		return m.CniConfDir
	}
	return ""
}

func (m *CNIConfig) GetCniConfFileName() string {
	if m != nil {
		return m.CniConfFileName
	}
	return ""
}

func (m *CNIConfig) GetExcludeNamespaces() []string {
	if m != nil {
		return m.ExcludeNamespaces
	}
	return nil
}

// Deprecated: Do not use.
func (m *CNIConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

func (m *CNIConfig) GetPspClusterRole() string {
	if m != nil {
		return m.PspClusterRole
	}
	return ""
}

func (m *CNIConfig) GetLogLevel() string {
	if m != nil {
		return m.LogLevel
	}
	return ""
}

func (m *CNIConfig) GetRepair() *CNIRepairConfig {
	if m != nil {
		return m.Repair
	}
	return nil
}

func (m *CNIConfig) GetChained() *protobuf.BoolValue {
	if m != nil {
		return m.Chained
	}
	return nil
}

type CNIRepairConfig struct {
	// Controls whether repair behavior is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Hub     string              `protobuf:"bytes,2,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag     interface{}      `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
	Image   string              `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
	// Controls whether various repair behaviors are enabled.
	LabelPods            bool     `protobuf:"varint,5,opt,name=labelPods,proto3" json:"labelPods,omitempty"`
	CreateEvents         string   `protobuf:"bytes,6,opt,name=createEvents,proto3" json:"createEvents,omitempty"` // Deprecated: Do not use.
	DeletePods           bool     `protobuf:"varint,7,opt,name=deletePods,proto3" json:"deletePods,omitempty"`
	BrokenPodLabelKey    string   `protobuf:"bytes,8,opt,name=brokenPodLabelKey,proto3" json:"brokenPodLabelKey,omitempty"`
	BrokenPodLabelValue  string   `protobuf:"bytes,9,opt,name=brokenPodLabelValue,proto3" json:"brokenPodLabelValue,omitempty"`
	InitContainerName    string   `protobuf:"bytes,10,opt,name=initContainerName,proto3" json:"initContainerName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_CNIRepairConfig proto.InternalMessageInfo

func (m *CNIRepairConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CNIRepairConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *CNIRepairConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *CNIRepairConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *CNIRepairConfig) GetLabelPods() bool {
	if m != nil {
		return m.LabelPods
	}
	return false
}

// Deprecated: Do not use.
func (m *CNIRepairConfig) GetCreateEvents() string {
	if m != nil {
		return m.CreateEvents
	}
	return ""
}

func (m *CNIRepairConfig) GetDeletePods() bool {
	if m != nil {
		return m.DeletePods
	}
	return false
}

func (m *CNIRepairConfig) GetBrokenPodLabelKey() string {
	if m != nil {
		return m.BrokenPodLabelKey
	}
	return ""
}

func (m *CNIRepairConfig) GetBrokenPodLabelValue() string {
	if m != nil {
		return m.BrokenPodLabelValue
	}
	return ""
}

func (m *CNIRepairConfig) GetInitContainerName() string {
	if m != nil {
		return m.InitContainerName
	}
	return ""
}

// Configuration for CPU target utilization for HorizontalPodAutoscaler target.
type CPUTargetUtilizationConfig struct {
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	TargetAverageUtilization int32    `protobuf:"varint,1,opt,name=targetAverageUtilization,proto3" json:"targetAverageUtilization,omitempty"`
	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
	XXX_unrecognized         []byte   `json:"-"`
	XXX_sizecache            int32    `json:"-"`
}

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

var xxx_messageInfo_CPUTargetUtilizationConfig proto.InternalMessageInfo

func (m *CPUTargetUtilizationConfig) GetTargetAverageUtilization() int32 {
	if m != nil {
		return m.TargetAverageUtilization
	}
	return 0
}

// Mirrors Resources for unmarshaling.
type Resources struct {
	Limits               map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Requests             map[string]string `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

var xxx_messageInfo_Resources proto.InternalMessageInfo

func (m *Resources) GetLimits() map[string]string {
	if m != nil {
		return m.Limits
	}
	return nil
}

func (m *Resources) GetRequests() map[string]string {
	if m != nil {
		return m.Requests
	}
	return nil
}

// Configuration for Core DNS.
type CoreDNSConfig struct {
	// Controls whether CoreDNS is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Image for Core DNS.
	CoreDNSImage       string `protobuf:"bytes,2,opt,name=coreDNSImage,proto3" json:"coreDNSImage,omitempty"`
	CoreDNSTag         string `protobuf:"bytes,3,opt,name=coreDNSTag,proto3" json:"coreDNSTag,omitempty"`
	CoreDNSPluginImage string `protobuf:"bytes,4,opt,name=coreDNSPluginImage,proto3" json:"coreDNSPluginImage,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,5,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Number of replicas for Core DNS.
	ReplicaCount uint32 `protobuf:"varint,6,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,7,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,8,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,9,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable            *IntOrStringForPB          `protobuf:"bytes,10,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"`                       // Deprecated: Do not use.
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,11,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	Tolerations                      []map[string]interface{} `protobuf:"bytes,13,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	// Controls whether auto scaling with a HorizontalPodAutoscaler is enabled.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,14,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// maxReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMax uint32 `protobuf:"varint,15,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// minReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMin uint32 `protobuf:"varint,16,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu                  *CPUTargetUtilizationConfig `protobuf:"bytes,17,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

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

var xxx_messageInfo_CoreDNSConfig proto.InternalMessageInfo

func (m *CoreDNSConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CoreDNSConfig) GetCoreDNSImage() string {
	if m != nil {
		return m.CoreDNSImage
	}
	return ""
}

func (m *CoreDNSConfig) GetCoreDNSTag() string {
	if m != nil {
		return m.CoreDNSTag
	}
	return ""
}

func (m *CoreDNSConfig) GetCoreDNSPluginImage() string {
	if m != nil {
		return m.CoreDNSPluginImage
	}
	return ""
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *CoreDNSConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *CoreDNSConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *CoreDNSConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

// DefaultPodDisruptionBudgetConfig specifies the default pod disruption budget configuration.
//
// See https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
type DefaultPodDisruptionBudgetConfig struct {
	// Controls whether a PodDisruptionBudget with a default minAvailable value of 1 is created for each deployment.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_DefaultPodDisruptionBudgetConfig proto.InternalMessageInfo

func (m *DefaultPodDisruptionBudgetConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// DefaultResourcesConfig specifies the default k8s resources settings for all Istio control plane components.
type DefaultResourcesConfig struct {
	// k8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Requests             *ResourcesRequestsConfig `protobuf:"bytes,1,opt,name=requests,proto3" json:"requests,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

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

var xxx_messageInfo_DefaultResourcesConfig proto.InternalMessageInfo

func (m *DefaultResourcesConfig) GetRequests() *ResourcesRequestsConfig {
	if m != nil {
		return m.Requests
	}
	return nil
}

// Configuration for an egress gateway.
type EgressGatewayConfig struct {
	// Controls whether auto scaling with a HorizontalPodAutoscaler is enabled.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// maxReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// minReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMin   uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	ConnectTimeout string `protobuf:"bytes,4,opt,name=connectTimeout,proto3" json:"connectTimeout,omitempty"`
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu           *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	DrainDuration *types.Duration             `protobuf:"bytes,6,opt,name=drainDuration,proto3" json:"drainDuration,omitempty"`
	// Controls whether an egress gateway is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,7,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the proxy container.
	Env    map[string]interface{} `protobuf:"bytes,8,opt,name=env,proto3" json:"env,omitempty"`
	Labels *GatewayLabelsConfig    `protobuf:"bytes,9,opt,name=labels,proto3" json:"labels,omitempty"`
	Name   string                  `protobuf:"bytes,25,opt,name=name,proto3" json:"name,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,10,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,11,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Pod anti-affinity label selector.
	//
	// Specify the pod anti-affinity that allows you to constrain which nodes
	// your pod is eligible to be scheduled based on labels on pods that are
	// already running on the node rather than based on labels on nodes.
	// There are currently two types of anti-affinity:
	//    "requiredDuringSchedulingIgnoredDuringExecution"
	//    "preferredDuringSchedulingIgnoredDuringExecution"
	// which denote “hard” vs. “soft” requirements, you can define your values
	// in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
	// correspondingly.
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
	//
	// Examples:
	// podAntiAffinityLabelSelector:
	//  - key: security
	//    operator: In
	//    values: S1,S2
	//    topologyKey: "kubernetes.io/hostname"
	//  This pod anti-affinity rule says that the pod requires not to be scheduled
	//  onto a node if that node is already running a pod with label having key
	//  “security” and value “S1”.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See PodAntiAffinityLabelSelector.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,13,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// Ports Configuration for the egress gateway service.
	Ports []*PortsConfig `protobuf:"bytes,14,rep,name=ports,proto3" json:"ports,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,15,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Config for secret volume mounts.
	SecretVolumes []*SecretVolume `protobuf:"bytes,16,rep,name=secretVolumes,proto3" json:"secretVolumes,omitempty"`
	// Annotations to add to the egress gateway service.
	ServiceAnnotations map[string]interface{} `protobuf:"bytes,17,opt,name=serviceAnnotations,proto3" json:"serviceAnnotations,omitempty"`
	// Service type.
	//
	// See https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type string `protobuf:"bytes,18,opt,name=type,proto3" json:"type,omitempty"`
	// Enables cross-cluster access using SNI matching.
	Zvpn        *ZeroVPNConfig                 `protobuf:"bytes,19,opt,name=zvpn,proto3" json:"zvpn,omitempty"`
	Tolerations []map[string]interface{} `protobuf:"bytes,20,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,21,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB          `protobuf:"bytes,22,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	ConfigVolumes         []map[string]interface{} `protobuf:"bytes,23,opt,name=configVolumes,proto3" json:"configVolumes,omitempty"`
	AdditionalContainers  []map[string]interface{} `protobuf:"bytes,24,opt,name=additionalContainers,proto3" json:"additionalContainers,omitempty"`
	RunAsRoot             *protobuf.BoolValue            `protobuf:"bytes,26,opt,name=runAsRoot,proto3" json:"runAsRoot,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                       `json:"-"`
	XXX_unrecognized      []byte                         `json:"-"`
	XXX_sizecache         int32                          `json:"-"`
}

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

var xxx_messageInfo_EgressGatewayConfig proto.InternalMessageInfo

func (m *EgressGatewayConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *EgressGatewayConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *EgressGatewayConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

func (m *EgressGatewayConfig) GetConnectTimeout() string {
	if m != nil {
		return m.ConnectTimeout
	}
	return ""
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *EgressGatewayConfig) GetDrainDuration() *types.Duration {
	if m != nil {
		return m.DrainDuration
	}
	return nil
}

func (m *EgressGatewayConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *EgressGatewayConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *EgressGatewayConfig) GetLabels() *GatewayLabelsConfig {
	if m != nil {
		return m.Labels
	}
	return nil
}

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

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

func (m *EgressGatewayConfig) GetPorts() []*PortsConfig {
	if m != nil {
		return m.Ports
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *EgressGatewayConfig) GetSecretVolumes() []*SecretVolume {
	if m != nil {
		return m.SecretVolumes
	}
	return nil
}

func (m *EgressGatewayConfig) GetServiceAnnotations() map[string]interface{} {
	if m != nil {
		return m.ServiceAnnotations
	}
	return nil
}

func (m *EgressGatewayConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *EgressGatewayConfig) GetZvpn() *ZeroVPNConfig {
	if m != nil {
		return m.Zvpn
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

func (m *EgressGatewayConfig) GetConfigVolumes() []map[string]interface{} {
	if m != nil {
		return m.ConfigVolumes
	}
	return nil
}

func (m *EgressGatewayConfig) GetAdditionalContainers() []map[string]interface{} {
	if m != nil {
		return m.AdditionalContainers
	}
	return nil
}

func (m *EgressGatewayConfig) GetRunAsRoot() *protobuf.BoolValue {
	if m != nil {
		return m.RunAsRoot
	}
	return nil
}

// GatewayLabelsConfig is a set of Configuration for gateway labels.
type GatewayLabelsConfig struct {
	App                  string   `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"`
	Istio                string   `protobuf:"bytes,2,opt,name=istio,proto3" json:"istio,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_GatewayLabelsConfig proto.InternalMessageInfo

func (m *GatewayLabelsConfig) GetApp() string {
	if m != nil {
		return m.App
	}
	return ""
}

func (m *GatewayLabelsConfig) GetIstio() string {
	if m != nil {
		return m.Istio
	}
	return ""
}

// Configuration for gateways.
type GatewaysConfig struct {
	// Configuration for an egress gateway.
	IstioEgressgateway *EgressGatewayConfig `protobuf:"bytes,1,opt,name=istio_egressgateway,json=istio-egressgateway,proto3" json:"istio_egressgateway,omitempty"`
	// Controls whether any gateways are enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Configuration for an ingress gateway.
	IstioIngressgateway  *IngressGatewayConfig `protobuf:"bytes,4,opt,name=istio_ingressgateway,json=istio-ingressgateway,proto3" json:"istio_ingressgateway,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

var xxx_messageInfo_GatewaysConfig proto.InternalMessageInfo

func (m *GatewaysConfig) GetIstioEgressgateway() *EgressGatewayConfig {
	if m != nil {
		return m.IstioEgressgateway
	}
	return nil
}

func (m *GatewaysConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *GatewaysConfig) GetIstioIngressgateway() *IngressGatewayConfig {
	if m != nil {
		return m.IstioIngressgateway
	}
	return nil
}

// Global Configuration for Istio components.
type GlobalConfig struct {
	// Specifies pod scheduling arch(amd64, ppc64le, s390x) and weight as follows:
	//   0 - Never scheduled
	//   1 - Least preferred
	//   2 - No preference
	//   3 - Most preferred
	Arch *ArchConfig `protobuf:"bytes,1,opt,name=arch,proto3" json:"arch,omitempty"`
	// Specifies the namespace for the configuration and validation component.
	ConfigNamespace     string `protobuf:"bytes,2,opt,name=configNamespace,proto3" json:"configNamespace,omitempty"`
	ConfigRootNamespace string `protobuf:"bytes,50,opt,name=configRootNamespace,proto3" json:"configRootNamespace,omitempty"`
	// Controls whether the server-side validation is enabled.
	ConfigValidation *protobuf.BoolValue `protobuf:"bytes,3,opt,name=configValidation,proto3" json:"configValidation,omitempty"`
	// Controls whether the MTLS for communication between the control plane components is enabled.
	ControlPlaneSecurityEnabled     *protobuf.BoolValue `protobuf:"bytes,4,opt,name=controlPlaneSecurityEnabled,proto3" json:"controlPlaneSecurityEnabled,omitempty"`
	DefaultConfigVisibilitySettings []string            `protobuf:"bytes,52,rep,name=defaultConfigVisibilitySettings,proto3" json:"defaultConfigVisibilitySettings,omitempty"`
	// Default k8s node selector for all the Istio control plane components
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	DefaultNodeSelector map[string]interface{} `protobuf:"bytes,6,opt,name=defaultNodeSelector,proto3" json:"defaultNodeSelector,omitempty"` // Deprecated: Do not use.
	// Specifies the default pod disruption budget configuration.
	DefaultPodDisruptionBudget *DefaultPodDisruptionBudgetConfig `protobuf:"bytes,7,opt,name=defaultPodDisruptionBudget,proto3" json:"defaultPodDisruptionBudget,omitempty"` // Deprecated: Do not use.
	// Default k8s resources settings for all Istio control plane components.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	DefaultResources   *DefaultResourcesConfig        `protobuf:"bytes,9,opt,name=defaultResources,proto3" json:"defaultResources,omitempty"`      // Deprecated: Do not use.
	DefaultTolerations []map[string]interface{} `protobuf:"bytes,55,opt,name=defaultTolerations,proto3" json:"defaultTolerations,omitempty"` // Deprecated: Do not use.
	// Controls whether the helm test templates are enabled.
	EnableHelmTest *protobuf.BoolValue `protobuf:"bytes,10,opt,name=enableHelmTest,proto3" json:"enableHelmTest,omitempty"`
	// Controls whether the distributed tracing for the applications is enabled.
	//
	// See https://opentracing.io/docs/overview/what-is-tracing/
	EnableTracing *protobuf.BoolValue `protobuf:"bytes,11,opt,name=enableTracing,proto3" json:"enableTracing,omitempty"`
	// Specifies the docker hub for Istio images.
	Hub string `protobuf:"bytes,12,opt,name=hub,proto3" json:"hub,omitempty"`
	// Specifies the image pull policy for the Istio images. one of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated.
	//
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	ImagePullPolicy  string   `protobuf:"bytes,13,opt,name=imagePullPolicy,proto3" json:"imagePullPolicy,omitempty"`
	ImagePullSecrets []string `protobuf:"bytes,37,rep,name=imagePullSecrets,proto3" json:"imagePullSecrets,omitempty"`
	// Specifies the default namespace for the Istio control plane components.
	IstioNamespace string `protobuf:"bytes,14,opt,name=istioNamespace,proto3" json:"istioNamespace,omitempty"`
	// Specifies the global locality load balancing settings.
	// Locality-weighted load balancing allows administrators to control the distribution of traffic to
	// endpoints based on the localities of where the traffic originates and where it will terminate.
	// Please set either failover or distribute configuration but not both.
	//
	// localityLbSetting:
	//   distribute:
	//   - from: "us-central1/*"
	//     to:
	//       "us-central1/*": 80
	//       "us-central2/*": 20
	//
	// localityLbSetting:
	//   failover:
	//   - from: us-east
	//     to: eu-west
	//   - from: us-west
	//     to: us-east
	LocalityLbSetting map[string]interface{} `protobuf:"bytes,15,opt,name=localityLbSetting,proto3" json:"localityLbSetting,omitempty"`
	LogAsJson         *protobuf.BoolValue     `protobuf:"bytes,36,opt,name=logAsJson,proto3" json:"logAsJson,omitempty"`
	// Specifies the global logging level settings for the Istio control plane components.
	Logging *GlobalLoggingConfig `protobuf:"bytes,17,opt,name=logging,proto3" json:"logging,omitempty"`
	// Specifies the Configuration for Istio mesh expansion to bare metal.
	MeshExpansion *MeshExpansionConfig `protobuf:"bytes,18,opt,name=meshExpansion,proto3" json:"meshExpansion,omitempty"`
	MeshID        string               `protobuf:"bytes,53,opt,name=meshID,proto3" json:"meshID,omitempty"`
	// Configure the mesh networks to be used by the Split Horizon EDS.
	//
	// The following example defines two networks with different endpoints association methods.
	// For `network1` all endpoints that their IP belongs to the provided CIDR range will be
	// mapped to network1. The gateway for this network example is specified by its public IP
	// address and port.
	// The second network, `network2`, in this example is defined differently with all endpoints
	// retrieved through the specified Multi-Cluster registry being mapped to network2. The
	// gateway is also defined differently with the name of the gateway service on the remote
	// cluster. The public IP for the gateway will be determined from that remote service (only
	// LoadBalancer gateway service type is currently supported, for a NodePort type gateway service,
	// it still need to be configured manually).
	//
	// meshNetworks:
	//   network1:
	//     endpoints:
	//     - fromCidr: "192.168.0.1/24"
	//     gateways:
	//     - address: 1.1.1.1
	//       port: 80
	//   network2:
	//     endpoints:
	//     - fromRegistry: reg1
	//     gateways:
	//     - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
	//       port: 443
	//
	MeshNetworks map[string]interface{} `protobuf:"bytes,19,opt,name=meshNetworks,proto3" json:"meshNetworks,omitempty"`
	// Specifies the monitor port number for all Istio control plane components.
	MonitoringPort uint32 `protobuf:"varint,20,opt,name=monitoringPort,proto3" json:"monitoringPort,omitempty"`
	// Specifies the Configuration for Istio mesh across multiple clusters through Istio gateways.
	MultiCluster *MultiClusterConfig `protobuf:"bytes,22,opt,name=multiCluster,proto3" json:"multiCluster,omitempty"`
	Network      string              `protobuf:"bytes,39,opt,name=network,proto3" json:"network,omitempty"`
	// Custom DNS config for the pod to resolve names of services in other
	// clusters. Use this to add additional search domains, and other settings.
	// see https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
	// This does not apply to gateway pods as they typically need a different
	// set of DNS settings than the normal application pods (e.g. in multicluster scenarios).
	PodDNSSearchNamespaces       []string            `protobuf:"bytes,43,rep,name=podDNSSearchNamespaces,proto3" json:"podDNSSearchNamespaces,omitempty"`
	OmitSidecarInjectorConfigMap *protobuf.BoolValue `protobuf:"bytes,38,opt,name=omitSidecarInjectorConfigMap,proto3" json:"omitSidecarInjectorConfigMap,omitempty"`
	// Controls whether to restrict the applications namespace the controller manages;
	// If set it to false, the controller watches all namespaces.
	OneNamespace           *protobuf.BoolValue `protobuf:"bytes,23,opt,name=oneNamespace,proto3" json:"oneNamespace,omitempty"`
	OperatorManageWebhooks *protobuf.BoolValue `protobuf:"bytes,41,opt,name=operatorManageWebhooks,proto3" json:"operatorManageWebhooks,omitempty"`
	// Controls the default behavior of the sidecar for handling outbound traffic from the application.
	OutboundTrafficPolicy *OutboundTrafficPolicyConfig `protobuf:"bytes,24,opt,name=outboundTrafficPolicy,proto3" json:"outboundTrafficPolicy,omitempty"`
	// Controls whether to allow traffic in cases when the mixer policy service cannot be reached.
	PolicyCheckFailOpen *protobuf.BoolValue `protobuf:"bytes,25,opt,name=policyCheckFailOpen,proto3" json:"policyCheckFailOpen,omitempty"`
	// Specifies the namespace for the policy component.
	PolicyNamespace string `protobuf:"bytes,26,opt,name=policyNamespace,proto3" json:"policyNamespace,omitempty"`
	// Specifies the k8s priorityClassName for the istio control plane components.
	//
	// See https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
	PriorityClassName   string `protobuf:"bytes,27,opt,name=priorityClassName,proto3" json:"priorityClassName,omitempty"` // Deprecated: Do not use.
	PrometheusNamespace string `protobuf:"bytes,51,opt,name=prometheusNamespace,proto3" json:"prometheusNamespace,omitempty"`
	// Specifies how proxies are configured within Istio.
	Proxy *ProxyConfig `protobuf:"bytes,28,opt,name=proxy,proto3" json:"proxy,omitempty"`
	// Specifies the Configuration for proxy_init container which sets the pods' networking to intercept the inbound/outbound traffic.
	ProxyInit *ProxyInitConfig `protobuf:"bytes,29,opt,name=proxy_init,proto3" json:"proxy_init,omitempty"`
	// Specifies the Configuration for the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
	Sds *SDSConfig `protobuf:"bytes,30,opt,name=sds,proto3" json:"sds,omitempty"`
	// Specifies the tag for the Istio docker images.
	Tag interface{} `protobuf:"bytes,31,opt,name=tag,proto3" json:"tag,omitempty"`
	// Specifies the namespace for the telemetry component.
	TelemetryNamespace string `protobuf:"bytes,32,opt,name=telemetryNamespace,proto3" json:"telemetryNamespace,omitempty"`
	// Specifies the Configuration for each of the supported tracers.
	Tracer *TracerConfig `protobuf:"bytes,33,opt,name=tracer,proto3" json:"tracer,omitempty"`
	// Specifies the trust domain that corresponds to the root cert of CA.
	TrustDomain string `protobuf:"bytes,34,opt,name=trustDomain,proto3" json:"trustDomain,omitempty"`
	// The trust domain aliases represent the aliases of trustDomain.
	TrustDomainAliases []string `protobuf:"bytes,42,rep,name=trustDomainAliases,proto3" json:"trustDomainAliases,omitempty"`
	// Controls whether to use of Mesh Configuration Protocol to distribute configuration.
	UseMCP *protobuf.BoolValue `protobuf:"bytes,35,opt,name=useMCP,proto3" json:"useMCP,omitempty"`
	// Settings for remote cluster.
	// Controls whether to use the Istio remote control plane
	IstioRemote              *protobuf.BoolValue `protobuf:"bytes,44,opt,name=istioRemote,proto3" json:"istioRemote,omitempty"`
	CreateRemoteSvcEndpoints *protobuf.BoolValue `protobuf:"bytes,45,opt,name=createRemoteSvcEndpoints,proto3" json:"createRemoteSvcEndpoints,omitempty"`
	// If set, a selector-less service and endpoint for istio-pilot are created with the remotePilotAddress IP,
	// which ensures the istio-pilot. is DNS resolvable in the remote cluster.
	RemotePilotCreateSvcEndpoint *protobuf.BoolValue `protobuf:"bytes,46,opt,name=remotePilotCreateSvcEndpoint,proto3" json:"remotePilotCreateSvcEndpoint,omitempty"`
	// Specifies the Istio control plane’s policy Pod IP address or remote cluster DNS resolvable hostname.
	RemotePolicyAddress string `protobuf:"bytes,47,opt,name=remotePolicyAddress,proto3" json:"remotePolicyAddress,omitempty"`
	// Specifies the Istio control plane’s pilot Pod IP address or remote cluster DNS resolvable hostname.
	RemotePilotAddress string `protobuf:"bytes,48,opt,name=remotePilotAddress,proto3" json:"remotePilotAddress,omitempty"`
	// Specifies the Istio control plane’s telemetry Pod IP address or remote cluster DNS resolvable hostname
	RemoteTelemetryAddress string `protobuf:"bytes,49,opt,name=remoteTelemetryAddress,proto3" json:"remoteTelemetryAddress,omitempty"`
	// Specifies the configution of istiod
	Istiod *IstiodConfig `protobuf:"bytes,54,opt,name=istiod,proto3" json:"istiod,omitempty"`
	// Configure the Pilot certificate provider.
	// Currently, two providers are supported: "kubernetes" and "citadel".
	PilotCertProvider string `protobuf:"bytes,56,opt,name=pilotCertProvider,proto3" json:"pilotCertProvider,omitempty"`
	// Configure the policy for validating JWT.
	// Currently, two options are supported: "third-party-jwt" and "first-party-jwt".
	JwtPolicy string `protobuf:"bytes,57,opt,name=jwtPolicy,proto3" json:"jwtPolicy,omitempty"`
	// Specifies the configuration for Security Token Service.
	Sts *STSConfig `protobuf:"bytes,58,opt,name=sts,proto3" json:"sts,omitempty"`
	// Configures the revision this control plane is a part of
	Revision string `protobuf:"bytes,59,opt,name=revision,proto3" json:"revision,omitempty"`
	// Controls whether the in-cluster MTLS key and certs are loaded from the secret volume mounts.
	MountMtlsCerts *protobuf.BoolValue `protobuf:"bytes,60,opt,name=mountMtlsCerts,proto3" json:"mountMtlsCerts,omitempty"`
	// The address of the CA for CSR.
	CaAddress string `protobuf:"bytes,61,opt,name=caAddress,proto3" json:"caAddress,omitempty"`
	// Controls whether one central istiod is enabled.
	CentralIstiod        *protobuf.BoolValue `protobuf:"bytes,62,opt,name=centralIstiod,proto3" json:"centralIstiod,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_GlobalConfig proto.InternalMessageInfo

func (m *GlobalConfig) GetArch() *ArchConfig {
	if m != nil {
		return m.Arch
	}
	return nil
}

func (m *GlobalConfig) GetConfigNamespace() string {
	if m != nil {
		return m.ConfigNamespace
	}
	return ""
}

func (m *GlobalConfig) GetConfigRootNamespace() string {
	if m != nil {
		return m.ConfigRootNamespace
	}
	return ""
}

func (m *GlobalConfig) GetConfigValidation() *protobuf.BoolValue {
	if m != nil {
		return m.ConfigValidation
	}
	return nil
}

func (m *GlobalConfig) GetControlPlaneSecurityEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.ControlPlaneSecurityEnabled
	}
	return nil
}

func (m *GlobalConfig) GetDefaultConfigVisibilitySettings() []string {
	if m != nil {
		return m.DefaultConfigVisibilitySettings
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultNodeSelector() map[string]interface{} {
	if m != nil {
		return m.DefaultNodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultPodDisruptionBudget() *DefaultPodDisruptionBudgetConfig {
	if m != nil {
		return m.DefaultPodDisruptionBudget
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultResources() *DefaultResourcesConfig {
	if m != nil {
		return m.DefaultResources
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultTolerations() []map[string]interface{} {
	if m != nil {
		return m.DefaultTolerations
	}
	return nil
}

func (m *GlobalConfig) GetEnableHelmTest() *protobuf.BoolValue {
	if m != nil {
		return m.EnableHelmTest
	}
	return nil
}

func (m *GlobalConfig) GetEnableTracing() *protobuf.BoolValue {
	if m != nil {
		return m.EnableTracing
	}
	return nil
}

func (m *GlobalConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *GlobalConfig) GetImagePullPolicy() string {
	if m != nil {
		return m.ImagePullPolicy
	}
	return ""
}

func (m *GlobalConfig) GetImagePullSecrets() []string {
	if m != nil {
		return m.ImagePullSecrets
	}
	return nil
}

func (m *GlobalConfig) GetIstioNamespace() string {
	if m != nil {
		return m.IstioNamespace
	}
	return ""
}

func (m *GlobalConfig) GetLocalityLbSetting() map[string]interface{} {
	if m != nil {
		return m.LocalityLbSetting
	}
	return nil
}

func (m *GlobalConfig) GetLogAsJson() *protobuf.BoolValue {
	if m != nil {
		return m.LogAsJson
	}
	return nil
}

func (m *GlobalConfig) GetLogging() *GlobalLoggingConfig {
	if m != nil {
		return m.Logging
	}
	return nil
}

func (m *GlobalConfig) GetMeshExpansion() *MeshExpansionConfig {
	if m != nil {
		return m.MeshExpansion
	}
	return nil
}

func (m *GlobalConfig) GetMeshID() string {
	if m != nil {
		return m.MeshID
	}
	return ""
}

func (m *GlobalConfig) GetMeshNetworks() map[string]interface{} {
	if m != nil {
		return m.MeshNetworks
	}
	return nil
}

func (m *GlobalConfig) GetMonitoringPort() uint32 {
	if m != nil {
		return m.MonitoringPort
	}
	return 0
}

func (m *GlobalConfig) GetMultiCluster() *MultiClusterConfig {
	if m != nil {
		return m.MultiCluster
	}
	return nil
}

func (m *GlobalConfig) GetNetwork() string {
	if m != nil {
		return m.Network
	}
	return ""
}

func (m *GlobalConfig) GetPodDNSSearchNamespaces() []string {
	if m != nil {
		return m.PodDNSSearchNamespaces
	}
	return nil
}

func (m *GlobalConfig) GetOmitSidecarInjectorConfigMap() *protobuf.BoolValue {
	if m != nil {
		return m.OmitSidecarInjectorConfigMap
	}
	return nil
}

func (m *GlobalConfig) GetOneNamespace() *protobuf.BoolValue {
	if m != nil {
		return m.OneNamespace
	}
	return nil
}

func (m *GlobalConfig) GetOperatorManageWebhooks() *protobuf.BoolValue {
	if m != nil {
		return m.OperatorManageWebhooks
	}
	return nil
}

func (m *GlobalConfig) GetOutboundTrafficPolicy() *OutboundTrafficPolicyConfig {
	if m != nil {
		return m.OutboundTrafficPolicy
	}
	return nil
}

func (m *GlobalConfig) GetPolicyCheckFailOpen() *protobuf.BoolValue {
	if m != nil {
		return m.PolicyCheckFailOpen
	}
	return nil
}

func (m *GlobalConfig) GetPolicyNamespace() string {
	if m != nil {
		return m.PolicyNamespace
	}
	return ""
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetPriorityClassName() string {
	if m != nil {
		return m.PriorityClassName
	}
	return ""
}

func (m *GlobalConfig) GetPrometheusNamespace() string {
	if m != nil {
		return m.PrometheusNamespace
	}
	return ""
}

func (m *GlobalConfig) GetProxy() *ProxyConfig {
	if m != nil {
		return m.Proxy
	}
	return nil
}

func (m *GlobalConfig) GetProxyInit() *ProxyInitConfig {
	if m != nil {
		return m.ProxyInit
	}
	return nil
}

func (m *GlobalConfig) GetSds() *SDSConfig {
	if m != nil {
		return m.Sds
	}
	return nil
}

func (m *GlobalConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *GlobalConfig) GetTelemetryNamespace() string {
	if m != nil {
		return m.TelemetryNamespace
	}
	return ""
}

func (m *GlobalConfig) GetTracer() *TracerConfig {
	if m != nil {
		return m.Tracer
	}
	return nil
}

func (m *GlobalConfig) GetTrustDomain() string {
	if m != nil {
		return m.TrustDomain
	}
	return ""
}

func (m *GlobalConfig) GetTrustDomainAliases() []string {
	if m != nil {
		return m.TrustDomainAliases
	}
	return nil
}

func (m *GlobalConfig) GetUseMCP() *protobuf.BoolValue {
	if m != nil {
		return m.UseMCP
	}
	return nil
}

func (m *GlobalConfig) GetIstioRemote() *protobuf.BoolValue {
	if m != nil {
		return m.IstioRemote
	}
	return nil
}

func (m *GlobalConfig) GetCreateRemoteSvcEndpoints() *protobuf.BoolValue {
	if m != nil {
		return m.CreateRemoteSvcEndpoints
	}
	return nil
}

func (m *GlobalConfig) GetRemotePilotCreateSvcEndpoint() *protobuf.BoolValue {
	if m != nil {
		return m.RemotePilotCreateSvcEndpoint
	}
	return nil
}

func (m *GlobalConfig) GetRemotePolicyAddress() string {
	if m != nil {
		return m.RemotePolicyAddress
	}
	return ""
}

func (m *GlobalConfig) GetRemotePilotAddress() string {
	if m != nil {
		return m.RemotePilotAddress
	}
	return ""
}

func (m *GlobalConfig) GetRemoteTelemetryAddress() string {
	if m != nil {
		return m.RemoteTelemetryAddress
	}
	return ""
}

func (m *GlobalConfig) GetIstiod() *IstiodConfig {
	if m != nil {
		return m.Istiod
	}
	return nil
}

func (m *GlobalConfig) GetPilotCertProvider() string {
	if m != nil {
		return m.PilotCertProvider
	}
	return ""
}

func (m *GlobalConfig) GetJwtPolicy() string {
	if m != nil {
		return m.JwtPolicy
	}
	return ""
}

func (m *GlobalConfig) GetSts() *STSConfig {
	if m != nil {
		return m.Sts
	}
	return nil
}

func (m *GlobalConfig) GetRevision() string {
	if m != nil {
		return m.Revision
	}
	return ""
}

func (m *GlobalConfig) GetMountMtlsCerts() *protobuf.BoolValue {
	if m != nil {
		return m.MountMtlsCerts
	}
	return nil
}

func (m *GlobalConfig) GetCaAddress() string {
	if m != nil {
		return m.CaAddress
	}
	return ""
}

func (m *GlobalConfig) GetCentralIstiod() *protobuf.BoolValue {
	if m != nil {
		return m.CentralIstiod
	}
	return nil
}

// Configuration for Security Token Service (STS) server.
//
// See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
type STSConfig struct {
	ServicePort          uint32   `protobuf:"varint,1,opt,name=servicePort,proto3" json:"servicePort,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_STSConfig proto.InternalMessageInfo

func (m *STSConfig) GetServicePort() uint32 {
	if m != nil {
		return m.ServicePort
	}
	return 0
}

type IstiodConfig struct {
	// If enabled, istiod will perform config analysis
	EnableAnalysis       *protobuf.BoolValue `protobuf:"bytes,2,opt,name=enableAnalysis,proto3" json:"enableAnalysis,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_IstiodConfig proto.InternalMessageInfo

func (m *IstiodConfig) GetEnableAnalysis() *protobuf.BoolValue {
	if m != nil {
		return m.EnableAnalysis
	}
	return nil
}

// GlobalLoggingConfig specifies the global logging level settings for the Istio control plane components.
type GlobalLoggingConfig struct {
	// Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
	// The control plane has different scopes depending on component, but can configure default log level across all components
	// If empty, default scope and level will be used as configured in code
	Level                string   `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_GlobalLoggingConfig proto.InternalMessageInfo

func (m *GlobalLoggingConfig) GetLevel() string {
	if m != nil {
		return m.Level
	}
	return ""
}

// Configuration for an ingress gateway.
type IngressGatewayConfig struct {
	// Controls whether auto scaling with a HorizontalPodAutoscaler is enabled.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// maxReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// minReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMin   uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	ConnectTimeout string `protobuf:"bytes,4,opt,name=connectTimeout,proto3" json:"connectTimeout,omitempty"`
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu           *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	CustomService *protobuf.BoolValue         `protobuf:"bytes,6,opt,name=customService,proto3" json:"customService,omitempty"`
	Debug         string                      `protobuf:"bytes,7,opt,name=debug,proto3" json:"debug,omitempty"`
	Domain        string                      `protobuf:"bytes,8,opt,name=domain,proto3" json:"domain,omitempty"`
	DrainDuration *types.Duration             `protobuf:"bytes,9,opt,name=drainDuration,proto3" json:"drainDuration,omitempty"`
	// Controls whether an ingress gateway is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the proxy container.
	Env                      map[string]interface{} `protobuf:"bytes,11,opt,name=env,proto3" json:"env,omitempty"`
	ExternalIPs              []string                `protobuf:"bytes,12,rep,name=externalIPs,proto3" json:"externalIPs,omitempty"`
	K8SIngress               *protobuf.BoolValue     `protobuf:"bytes,13,opt,name=k8sIngress,proto3" json:"k8sIngress,omitempty"`
	K8SIngressHttps          *protobuf.BoolValue     `protobuf:"bytes,14,opt,name=k8sIngressHttps,proto3" json:"k8sIngressHttps,omitempty"`
	Labels                   *GatewayLabelsConfig    `protobuf:"bytes,15,opt,name=labels,proto3" json:"labels,omitempty"`
	LoadBalancerIP           string                  `protobuf:"bytes,16,opt,name=loadBalancerIP,proto3" json:"loadBalancerIP,omitempty"`
	LoadBalancerSourceRanges []string                `protobuf:"bytes,17,rep,name=loadBalancerSourceRanges,proto3" json:"loadBalancerSourceRanges,omitempty"`
	MeshExpansionPorts       []*PortsConfig          `protobuf:"bytes,18,rep,name=meshExpansionPorts,proto3" json:"meshExpansionPorts,omitempty"`
	Name                     string                  `protobuf:"bytes,44,opt,name=name,proto3" json:"name,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,19,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,20,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,21,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,22,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// Port Configuration for the ingress gateway.
	Ports []*PortsConfig `protobuf:"bytes,23,rep,name=ports,proto3" json:"ports,omitempty"`
	// Number of replicas for the ingress gateway Deployment.
	ReplicaCount uint32 `protobuf:"varint,24,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources map[string]interface{} `protobuf:"bytes,25,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Secret Discovery Service (SDS) Configuration for ingress gateway.
	Sds *IngressGatewaySdsConfig `protobuf:"bytes,26,opt,name=sds,proto3" json:"sds,omitempty"`
	// Config for secret volume mounts.
	SecretVolumes []*SecretVolume `protobuf:"bytes,27,rep,name=secretVolumes,proto3" json:"secretVolumes,omitempty"`
	// Annotations to add to the egress gateway service.
	ServiceAnnotations map[string]interface{} `protobuf:"bytes,28,opt,name=serviceAnnotations,proto3" json:"serviceAnnotations,omitempty"`
	// Service type.
	//
	// See https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type string `protobuf:"bytes,29,opt,name=type,proto3" json:"type,omitempty"`
	// Enables cross-cluster access using SNI matching.
	Zvpn *IngressGatewayZvpnConfig `protobuf:"bytes,30,opt,name=zvpn,proto3" json:"zvpn,omitempty"`
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,31,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB `protobuf:"bytes,32,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	// Ports to explicitly check for readiness
	ApplicationPorts       string                         `protobuf:"bytes,33,opt,name=applicationPorts,proto3" json:"applicationPorts,omitempty"`
	ExternalTrafficPolicy  string                         `protobuf:"bytes,34,opt,name=externalTrafficPolicy,proto3" json:"externalTrafficPolicy,omitempty"`
	Tolerations            []map[string]interface{} `protobuf:"bytes,35,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	IngressPorts           []map[string]interface{} `protobuf:"bytes,36,opt,name=ingressPorts,proto3" json:"ingressPorts,omitempty"`
	AdditionalContainers   []map[string]interface{} `protobuf:"bytes,37,opt,name=additionalContainers,proto3" json:"additionalContainers,omitempty"`
	ConfigVolumes          []map[string]interface{} `protobuf:"bytes,38,opt,name=configVolumes,proto3" json:"configVolumes,omitempty"`
	Certificates           *protobuf.BoolValue            `protobuf:"bytes,39,opt,name=certificates,proto3" json:"certificates,omitempty"`
	Tls                    *protobuf.BoolValue            `protobuf:"bytes,40,opt,name=tls,proto3" json:"tls,omitempty"`
	TelemetryAddonGateways map[string]interface{}        `protobuf:"bytes,41,opt,name=telemetry_addon_gateways,json=telemetryAddonGateways,proto3" json:"telemetry_addon_gateways,omitempty"`
	Hosts                  []map[string]interface{} `protobuf:"bytes,42,opt,name=hosts,proto3" json:"hosts,omitempty"`
	TelemetryDomainName    string                         `protobuf:"bytes,43,opt,name=telemetry_domain_name,json=telemetryDomainName,proto3" json:"telemetry_domain_name,omitempty"`
	RunAsRoot              *protobuf.BoolValue            `protobuf:"bytes,45,opt,name=runAsRoot,proto3" json:"runAsRoot,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                       `json:"-"`
	XXX_unrecognized       []byte                         `json:"-"`
	XXX_sizecache          int32                          `json:"-"`
}

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

var xxx_messageInfo_IngressGatewayConfig proto.InternalMessageInfo

func (m *IngressGatewayConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *IngressGatewayConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *IngressGatewayConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

func (m *IngressGatewayConfig) GetConnectTimeout() string {
	if m != nil {
		return m.ConnectTimeout
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *IngressGatewayConfig) GetCustomService() *protobuf.BoolValue {
	if m != nil {
		return m.CustomService
	}
	return nil
}

func (m *IngressGatewayConfig) GetDebug() string {
	if m != nil {
		return m.Debug
	}
	return ""
}

func (m *IngressGatewayConfig) GetDomain() string {
	if m != nil {
		return m.Domain
	}
	return ""
}

func (m *IngressGatewayConfig) GetDrainDuration() *types.Duration {
	if m != nil {
		return m.DrainDuration
	}
	return nil
}

func (m *IngressGatewayConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewayConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *IngressGatewayConfig) GetExternalIPs() []string {
	if m != nil {
		return m.ExternalIPs
	}
	return nil
}

func (m *IngressGatewayConfig) GetK8SIngress() *protobuf.BoolValue {
	if m != nil {
		return m.K8SIngress
	}
	return nil
}

func (m *IngressGatewayConfig) GetK8SIngressHttps() *protobuf.BoolValue {
	if m != nil {
		return m.K8SIngressHttps
	}
	return nil
}

func (m *IngressGatewayConfig) GetLabels() *GatewayLabelsConfig {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *IngressGatewayConfig) GetLoadBalancerIP() string {
	if m != nil {
		return m.LoadBalancerIP
	}
	return ""
}

func (m *IngressGatewayConfig) GetLoadBalancerSourceRanges() []string {
	if m != nil {
		return m.LoadBalancerSourceRanges
	}
	return nil
}

func (m *IngressGatewayConfig) GetMeshExpansionPorts() []*PortsConfig {
	if m != nil {
		return m.MeshExpansionPorts
	}
	return nil
}

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

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

func (m *IngressGatewayConfig) GetPorts() []*PortsConfig {
	if m != nil {
		return m.Ports
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetResources() map[string]interface{} {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *IngressGatewayConfig) GetSds() *IngressGatewaySdsConfig {
	if m != nil {
		return m.Sds
	}
	return nil
}

func (m *IngressGatewayConfig) GetSecretVolumes() []*SecretVolume {
	if m != nil {
		return m.SecretVolumes
	}
	return nil
}

func (m *IngressGatewayConfig) GetServiceAnnotations() map[string]interface{} {
	if m != nil {
		return m.ServiceAnnotations
	}
	return nil
}

func (m *IngressGatewayConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *IngressGatewayConfig) GetZvpn() *IngressGatewayZvpnConfig {
	if m != nil {
		return m.Zvpn
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

func (m *IngressGatewayConfig) GetApplicationPorts() string {
	if m != nil {
		return m.ApplicationPorts
	}
	return ""
}

func (m *IngressGatewayConfig) GetExternalTrafficPolicy() string {
	if m != nil {
		return m.ExternalTrafficPolicy
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *IngressGatewayConfig) GetIngressPorts() []map[string]interface{} {
	if m != nil {
		return m.IngressPorts
	}
	return nil
}

func (m *IngressGatewayConfig) GetAdditionalContainers() []map[string]interface{} {
	if m != nil {
		return m.AdditionalContainers
	}
	return nil
}

func (m *IngressGatewayConfig) GetConfigVolumes() []map[string]interface{} {
	if m != nil {
		return m.ConfigVolumes
	}
	return nil
}

func (m *IngressGatewayConfig) GetCertificates() *protobuf.BoolValue {
	if m != nil {
		return m.Certificates
	}
	return nil
}

func (m *IngressGatewayConfig) GetTls() *protobuf.BoolValue {
	if m != nil {
		return m.Tls
	}
	return nil
}

func (m *IngressGatewayConfig) GetTelemetryAddonGateways() map[string]interface{} {
	if m != nil {
		return m.TelemetryAddonGateways
	}
	return nil
}

func (m *IngressGatewayConfig) GetHosts() []map[string]interface{} {
	if m != nil {
		return m.Hosts
	}
	return nil
}

func (m *IngressGatewayConfig) GetTelemetryDomainName() string {
	if m != nil {
		return m.TelemetryDomainName
	}
	return ""
}

func (m *IngressGatewayConfig) GetRunAsRoot() *protobuf.BoolValue {
	if m != nil {
		return m.RunAsRoot
	}
	return nil
}

// Secret Discovery Service (SDS) Configuration for ingress gateway.
type IngressGatewaySdsConfig struct {
	// If true, ingress gateway fetches credentials from SDS server to handle TLS connections.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// SDS server that watches kubernetes secrets and provisions credentials to ingress gateway.
	// This server runs in the same pod as ingress gateway.
	Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources            *Resources `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

var xxx_messageInfo_IngressGatewaySdsConfig proto.InternalMessageInfo

func (m *IngressGatewaySdsConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewaySdsConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewaySdsConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// IngressGatewayZvpnConfig enables cross-cluster access using SNI matching.
type IngressGatewayZvpnConfig struct {
	// Controls whether ZeroVPN is enabled.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Suffix               string              `protobuf:"bytes,2,opt,name=suffix,proto3" json:"suffix,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_IngressGatewayZvpnConfig proto.InternalMessageInfo

func (m *IngressGatewayZvpnConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewayZvpnConfig) GetSuffix() string {
	if m != nil {
		return m.Suffix
	}
	return ""
}

// Configuration for Kubernetes environment adapter in mixer.
type KubernetesEnvMixerAdapterConfig struct {
	// Enables the Kubernetes env adapter in Mixer.
	//
	// See: https://istio.io/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_KubernetesEnvMixerAdapterConfig proto.InternalMessageInfo

func (m *KubernetesEnvMixerAdapterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Configuration for when mixer starts rejecting grpc requests.
type LoadSheddingConfig struct {
	LatencyThreshold     string   `protobuf:"bytes,1,opt,name=latencyThreshold,proto3" json:"latencyThreshold,omitempty"`
	Mode                 Mode     `protobuf:"varint,2,opt,name=mode,proto3,enum=v1alpha1.Mode" json:"mode,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_LoadSheddingConfig proto.InternalMessageInfo

func (m *LoadSheddingConfig) GetLatencyThreshold() string {
	if m != nil {
		return m.LatencyThreshold
	}
	return ""
}

func (m *LoadSheddingConfig) GetMode() Mode {
	if m != nil {
		return m.Mode
	}
	return Mode_disabled
}

// Configuration for Istio mesh expansion to bare metal.
type MeshExpansionConfig struct {
	// Exposes Pilot and Citadel mTLS on the ingress gateway.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Exposes Pilot and Citadel mTLS and the plain text Pilot ports on an internal gateway.
	UseILB               *protobuf.BoolValue `protobuf:"bytes,2,opt,name=useILB,proto3" json:"useILB,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_MeshExpansionConfig proto.InternalMessageInfo

func (m *MeshExpansionConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MeshExpansionConfig) GetUseILB() *protobuf.BoolValue {
	if m != nil {
		return m.UseILB
	}
	return nil
}

// Configuration for Mixer Telemetry adapters.
type MixerTelemetryAdaptersConfig struct {
	// Configuration for Kubernetes environment adapter in mixer.
	Kubernetesenv *KubernetesEnvMixerAdapterConfig `protobuf:"bytes,1,opt,name=kubernetesenv,proto3" json:"kubernetesenv,omitempty"`
	// Configuration for Prometheus adapter in mixer.
	Prometheus *PrometheusMixerAdapterConfig `protobuf:"bytes,2,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	// Configuration for stdio adapter in mixer, recommended for debug usage only.
	Stdio *StdioMixerAdapterConfig `protobuf:"bytes,3,opt,name=stdio,proto3" json:"stdio,omitempty"`
	//
	Stackdriver *StackdriverMixerAdapterConfig `protobuf:"bytes,4,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	// Sets the --useAdapterCRDs mixer startup argument.
	UseAdapterCRDs       *protobuf.BoolValue `protobuf:"bytes,5,opt,name=useAdapterCRDs,proto3" json:"useAdapterCRDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_MixerTelemetryAdaptersConfig proto.InternalMessageInfo

func (m *MixerTelemetryAdaptersConfig) GetKubernetesenv() *KubernetesEnvMixerAdapterConfig {
	if m != nil {
		return m.Kubernetesenv
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetPrometheus() *PrometheusMixerAdapterConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetStdio() *StdioMixerAdapterConfig {
	if m != nil {
		return m.Stdio
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetStackdriver() *StackdriverMixerAdapterConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetUseAdapterCRDs() *protobuf.BoolValue {
	if m != nil {
		return m.UseAdapterCRDs
	}
	return nil
}

// Configuration for Mixer Policy adapters.
type MixerPolicyAdaptersConfig struct {
	// Configuration for Kubernetes environment adapter in mixer.
	Kubernetesenv *KubernetesEnvMixerAdapterConfig `protobuf:"bytes,1,opt,name=kubernetesenv,proto3" json:"kubernetesenv,omitempty"`
	// Configuration for Prometheus adapter in mixer.
	Prometheus *PrometheusMixerAdapterConfig `protobuf:"bytes,2,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	// Configuration for stdio adapter in mixer, recommended for debug usage only.
	Stdio *StdioMixerAdapterConfig `protobuf:"bytes,3,opt,name=stdio,proto3" json:"stdio,omitempty"`
	//
	Stackdriver *StackdriverMixerAdapterConfig `protobuf:"bytes,4,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	// Sets the --useAdapterCRDs mixer startup argument.
	UseAdapterCRDs       *protobuf.BoolValue `protobuf:"bytes,5,opt,name=useAdapterCRDs,proto3" json:"useAdapterCRDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_MixerPolicyAdaptersConfig proto.InternalMessageInfo

func (m *MixerPolicyAdaptersConfig) GetKubernetesenv() *KubernetesEnvMixerAdapterConfig {
	if m != nil {
		return m.Kubernetesenv
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetPrometheus() *PrometheusMixerAdapterConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetStdio() *StdioMixerAdapterConfig {
	if m != nil {
		return m.Stdio
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetStackdriver() *StackdriverMixerAdapterConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetUseAdapterCRDs() *protobuf.BoolValue {
	if m != nil {
		return m.UseAdapterCRDs
	}
	return nil
}

// Configuration for Mixer.
type MixerConfig struct {
	// MixerPolicyConfig is set of configurations for Mixer Policy
	Policy *MixerPolicyConfig `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
	// MixerTelemetryConfig is set of configurations for Mixer Telemetry
	Telemetry *MixerTelemetryConfig `protobuf:"bytes,2,opt,name=telemetry,proto3" json:"telemetry,omitempty"`
	// Configuration for different mixer adapters.
	Adapters             *MixerTelemetryAdaptersConfig `protobuf:"bytes,3,opt,name=adapters,proto3" json:"adapters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

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

var xxx_messageInfo_MixerConfig proto.InternalMessageInfo

func (m *MixerConfig) GetPolicy() *MixerPolicyConfig {
	if m != nil {
		return m.Policy
	}
	return nil
}

func (m *MixerConfig) GetTelemetry() *MixerTelemetryConfig {
	if m != nil {
		return m.Telemetry
	}
	return nil
}

func (m *MixerConfig) GetAdapters() *MixerTelemetryAdaptersConfig {
	if m != nil {
		return m.Adapters
	}
	return nil
}

// Configuration for Mixer Policy.
type MixerPolicyConfig struct {
	// Controls whether a HorizontalPodAutoscaler is installed for Mixer Policy.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// Maximum number of replicas in the HorizontalPodAutoscaler for Mixer Policy.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// Minimum number of replicas in the HorizontalPodAutoscaler for Mixer Policy.
	AutoscaleMin uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// Target CPU utilization used in HorizontalPodAutoscaler.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu *CPUTargetUtilizationConfig `protobuf:"bytes,4,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	// Controls whether Mixer Policy is enabled
	Enabled *protobuf.BoolValue `protobuf:"bytes,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Image name used for Mixer Policy.
	//
	// This can be set either to image name if hub is also set, or can be set to the full hub:name string.
	//
	// Examples: custom-mixer, docker.io/someuser:custom-mixer
	Image string `protobuf:"bytes,6,opt,name=image,proto3" json:"image,omitempty"`
	// K8s annotations to attach to mixer policy deployment
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,7,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Number of replicas in the Mixer Policy Deployment
	ReplicaCount uint32 `protobuf:"varint,8,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// Configuration for different mixer adapters.
	Adapters *MixerPolicyAdaptersConfig `protobuf:"bytes,9,opt,name=adapters,proto3" json:"adapters,omitempty"`
	// Controls whether to enable the sticky session setting when choosing backend pods.
	SessionAffinityEnabled *protobuf.BoolValue `protobuf:"bytes,10,opt,name=sessionAffinityEnabled,proto3" json:"sessionAffinityEnabled,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,11,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,12,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable            *IntOrStringForPB          `protobuf:"bytes,13,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"`                       // Deprecated: Do not use.
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,14,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,15,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,16,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Environment variables passed to the Mixer container.
	//
	// Examples:
	// env:
	//   ENV_VAR_1: value1
	//   ENV_VAR_2: value2
	Env                  map[string]interface{}        `protobuf:"bytes,17,opt,name=env,proto3" json:"env,omitempty"`
	Tolerations          []map[string]interface{} `protobuf:"bytes,18,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	Hub                  string                         `protobuf:"bytes,19,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                  interface{}                 `protobuf:"bytes,20,opt,name=tag,proto3" json:"tag,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

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

var xxx_messageInfo_MixerPolicyConfig proto.InternalMessageInfo

func (m *MixerPolicyConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *MixerPolicyConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *MixerPolicyConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *MixerPolicyConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MixerPolicyConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

func (m *MixerPolicyConfig) GetAdapters() *MixerPolicyAdaptersConfig {
	if m != nil {
		return m.Adapters
	}
	return nil
}

func (m *MixerPolicyConfig) GetSessionAffinityEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.SessionAffinityEnabled
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

func (m *MixerPolicyConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *MixerPolicyConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *MixerPolicyConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

// Configuration for Mixer Telemetry.
type MixerTelemetryConfig struct {
	// Controls whether a HorizontalPodAutoscaler is installed for Mixer Telemetry.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// Maximum number of replicas in the HorizontalPodAutoscaler for Mixer Telemetry.
	AutoscaleMax uint32 `protobuf:"varint,3,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// Minimum number of replicas in the HorizontalPodAutoscaler for Mixer Telemetry.
	AutoscaleMin uint32 `protobuf:"varint,4,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// Target CPU utilization used in HorizontalPodAutoscaler.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	// Controls whether Mixer Telemetry is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,6,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the Mixer container.
	//
	// Examples:
	// env:
	//   ENV_VAR_1: value1
	//   ENV_VAR_2: value2
	Env map[string]interface{} `protobuf:"bytes,7,opt,name=env,proto3" json:"env,omitempty"`
	// Image name used for Mixer Telemetry.
	//
	// This can be set either to image name if hub is also set, or can be set to the full hub:name string.
	//
	// Examples: custom-mixer, docker.io/someuser:custom-mixer
	Image string `protobuf:"bytes,8,opt,name=image,proto3" json:"image,omitempty"`
	// LoadSheddingConfig configs when mixer starts rejecting grpc requests.
	Loadshedding *LoadSheddingConfig `protobuf:"bytes,9,opt,name=loadshedding,proto3" json:"loadshedding,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,10,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations to attach to mixer telemetry deployment
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,11,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Number of replicas in the Mixer Telemetry Deployment.
	ReplicaCount uint32 `protobuf:"varint,12,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,15,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB `protobuf:"bytes,16,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	// Controls whether to use of Mesh Configuration Protocol to distribute configuration.
	UseMCP *protobuf.BoolValue `protobuf:"bytes,17,opt,name=useMCP,proto3" json:"useMCP,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,13,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Controls whether to enable the sticky session setting when choosing backend pods.
	SessionAffinityEnabled           *protobuf.BoolValue            `protobuf:"bytes,14,opt,name=sessionAffinityEnabled,proto3" json:"sessionAffinityEnabled,omitempty"`
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,20,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,21,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	Tolerations                      []map[string]interface{} `protobuf:"bytes,22,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	Hub                              string                         `protobuf:"bytes,23,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                              interface{}                 `protobuf:"bytes,24,opt,name=tag,proto3" json:"tag,omitempty"`
	XXX_NoUnkeyedLiteral             struct{}                       `json:"-"`
	XXX_unrecognized                 []byte                         `json:"-"`
	XXX_sizecache                    int32                          `json:"-"`
}

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

var xxx_messageInfo_MixerTelemetryConfig proto.InternalMessageInfo

func (m *MixerTelemetryConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *MixerTelemetryConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *MixerTelemetryConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *MixerTelemetryConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MixerTelemetryConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *MixerTelemetryConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *MixerTelemetryConfig) GetLoadshedding() *LoadSheddingConfig {
	if m != nil {
		return m.Loadshedding
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

func (m *MixerTelemetryConfig) GetUseMCP() *protobuf.BoolValue {
	if m != nil {
		return m.UseMCP
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *MixerTelemetryConfig) GetSessionAffinityEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.SessionAffinityEnabled
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerTelemetryConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *MixerTelemetryConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *MixerTelemetryConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

// MultiClusterConfig specifies the Configuration for Istio mesh across multiple clusters through the istio gateways.
type MultiClusterConfig struct {
	// Enables the connection between two kubernetes clusters via their respective ingressgateway services.
	// Use if the pods in each cluster cannot directly talk to one another.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ClusterName          string              `protobuf:"bytes,2,opt,name=clusterName,proto3" json:"clusterName,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_MultiClusterConfig proto.InternalMessageInfo

func (m *MultiClusterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MultiClusterConfig) GetClusterName() string {
	if m != nil {
		return m.ClusterName
	}
	return ""
}

// OutboundTrafficPolicyConfig controls the default behavior of the sidecar for handling outbound traffic from the application.
type OutboundTrafficPolicyConfig struct {
	Mode                 OutboundTrafficPolicyConfig_Mode `protobuf:"varint,2,opt,name=mode,proto3,enum=v1alpha1.OutboundTrafficPolicyConfig_Mode" json:"mode,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

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

var xxx_messageInfo_OutboundTrafficPolicyConfig proto.InternalMessageInfo

func (m *OutboundTrafficPolicyConfig) GetMode() OutboundTrafficPolicyConfig_Mode {
	if m != nil {
		return m.Mode
	}
	return OutboundTrafficPolicyConfig_ALLOW_ANY
}

// Configuration for Pilot.
type PilotConfig struct {
	// Controls whether Pilot is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Controls whether a HorizontalPodAutoscaler is installed for Pilot.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// Minimum number of replicas in the HorizontalPodAutoscaler for Pilot.
	AutoscaleMin uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// Maximum number of replicas in the HorizontalPodAutoscaler for Pilot.
	AutoscaleMax uint32 `protobuf:"varint,4,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// Number of replicas in the Pilot Deployment.
	ReplicaCount uint32 `protobuf:"varint,5,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// Image name used for Pilot.
	//
	// This can be set either to image name if hub is also set, or can be set to the full hub:name string.
	//
	// Examples: custom-pilot, docker.io/someuser:custom-pilot
	Image string `protobuf:"bytes,6,opt,name=image,proto3" json:"image,omitempty"`
	// Controls whether a sidecar proxy is installed in the Pilot pod.
	//
	// Setting to true installs a proxy in the Pilot pod, used primarily for collecting Pilot telemetry.
	Sidecar *protobuf.BoolValue `protobuf:"bytes,7,opt,name=sidecar,proto3" json:"sidecar,omitempty"`
	// Trace sampling fraction.
	//
	// Used to set the fraction of time that traces are sampled. Higher values are more accurate but add CPU overhead.
	//
	// Allowed values: 0.0 to 1.0
	TraceSampling float64 `protobuf:"fixed64,8,opt,name=traceSampling,proto3" json:"traceSampling,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,9,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Namespace that the configuration management feature is installed into, if different from Pilot namespace.
	ConfigNamespace string `protobuf:"bytes,10,opt,name=configNamespace,proto3" json:"configNamespace,omitempty"`
	// Target CPU utilization used in HorizontalPodAutoscaler.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu *CPUTargetUtilizationConfig `protobuf:"bytes,11,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,12,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Maximum duration that a sidecar can be connected to a pilot.
	//
	// This setting balances out load across pilot instances, but adds some resource overhead.
	//
	// Examples: 300s, 30m, 1h
	KeepaliveMaxServerConnectionAge *types.Duration `protobuf:"bytes,13,opt,name=keepaliveMaxServerConnectionAge,proto3" json:"keepaliveMaxServerConnectionAge,omitempty"`
	// Labels that are added to Pilot pods.
	//
	// See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
	DeploymentLabels map[string]interface{} `protobuf:"bytes,14,opt,name=deploymentLabels,proto3" json:"deploymentLabels,omitempty"`
	// See EgressGatewayConfig.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,16,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,17,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// Configuration settings passed to Pilot as a ConfigMap.
	//
	// This controls whether the mesh config map, generated from values.yaml is generated.
	// If false, pilot wil use default values or user-supplied values, in that order of preference.
	ConfigMap *protobuf.BoolValue `protobuf:"bytes,18,opt,name=configMap,proto3" json:"configMap,omitempty"`
	// Controls whether Pilot is configured through the Mesh Control Protocol (MCP).
	//
	// If set to true, Pilot requires an MCP server (like Galley) to be installed.
	UseMCP *protobuf.BoolValue `protobuf:"bytes,20,opt,name=useMCP,proto3" json:"useMCP,omitempty"`
	// Environment variables passed to the Pilot container.
	//
	// Examples:
	// env:
	//   ENV_VAR_1: value1
	//   ENV_VAR_2: value2
	Env map[string]interface{} `protobuf:"bytes,21,opt,name=env,proto3" json:"env,omitempty"`
	// Controls whether Istio policy is applied to Pilot.
	Policy *PilotPolicyConfig `protobuf:"bytes,22,opt,name=policy,proto3" json:"policy,omitempty"`
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,24,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB `protobuf:"bytes,25,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	//
	Tolerations   []map[string]interface{} `protobuf:"bytes,26,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	AppNamespaces []map[string]interface{} `protobuf:"bytes,27,opt,name=appNamespaces,proto3" json:"appNamespaces,omitempty"`
	// if protocol sniffing is enabled for outbound
	EnableProtocolSniffingForOutbound *protobuf.BoolValue `protobuf:"bytes,28,opt,name=enableProtocolSniffingForOutbound,proto3" json:"enableProtocolSniffingForOutbound,omitempty"`
	// if protocol sniffing is enabled for inbound
	EnableProtocolSniffingForInbound *protobuf.BoolValue `protobuf:"bytes,29,opt,name=enableProtocolSniffingForInbound,proto3" json:"enableProtocolSniffingForInbound,omitempty"`
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,30,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// ConfigSource describes a source of configuration data for networking
	// rules, and other Istio configuration artifacts. Multiple data sources
	// can be configured for a single control plane.
	ConfigSource            *PilotConfigSource `protobuf:"bytes,31,opt,name=configSource,proto3" json:"configSource,omitempty"`
	JwksResolverExtraRootCA string             `protobuf:"bytes,32,opt,name=jwksResolverExtraRootCA,proto3" json:"jwksResolverExtraRootCA,omitempty"`
	Plugins                 []string   `protobuf:"bytes,33,opt,name=plugins,proto3" json:"plugins,omitempty"`
	Hub                     string             `protobuf:"bytes,34,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                     interface{}     `protobuf:"bytes,35,opt,name=tag,proto3" json:"tag,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}           `json:"-"`
	XXX_unrecognized        []byte             `json:"-"`
	XXX_sizecache           int32              `json:"-"`
}

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

var xxx_messageInfo_PilotConfig proto.InternalMessageInfo

func (m *PilotConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *PilotConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *PilotConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

func (m *PilotConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

// Deprecated: Do not use.
func (m *PilotConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

func (m *PilotConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *PilotConfig) GetSidecar() *protobuf.BoolValue {
	if m != nil {
		return m.Sidecar
	}
	return nil
}

func (m *PilotConfig) GetTraceSampling() float64 {
	if m != nil {
		return m.TraceSampling
	}
	return 0
}

// Deprecated: Do not use.
func (m *PilotConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *PilotConfig) GetConfigNamespace() string {
	if m != nil {
		return m.ConfigNamespace
	}
	return ""
}

// Deprecated: Do not use.
func (m *PilotConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

func (m *PilotConfig) GetKeepaliveMaxServerConnectionAge() *types.Duration {
	if m != nil {
		return m.KeepaliveMaxServerConnectionAge
	}
	return nil
}

func (m *PilotConfig) GetDeploymentLabels() map[string]interface{} {
	if m != nil {
		return m.DeploymentLabels
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

func (m *PilotConfig) GetConfigMap() *protobuf.BoolValue {
	if m != nil {
		return m.ConfigMap
	}
	return nil
}

func (m *PilotConfig) GetUseMCP() *protobuf.BoolValue {
	if m != nil {
		return m.UseMCP
	}
	return nil
}

func (m *PilotConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *PilotConfig) GetPolicy() *PilotPolicyConfig {
	if m != nil {
		return m.Policy
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *PilotConfig) GetAppNamespaces() []map[string]interface{} {
	if m != nil {
		return m.AppNamespaces
	}
	return nil
}

func (m *PilotConfig) GetEnableProtocolSniffingForOutbound() *protobuf.BoolValue {
	if m != nil {
		return m.EnableProtocolSniffingForOutbound
	}
	return nil
}

func (m *PilotConfig) GetEnableProtocolSniffingForInbound() *protobuf.BoolValue {
	if m != nil {
		return m.EnableProtocolSniffingForInbound
	}
	return nil
}

// Deprecated: Do not use.
func (m *PilotConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

func (m *PilotConfig) GetConfigSource() *PilotConfigSource {
	if m != nil {
		return m.ConfigSource
	}
	return nil
}

func (m *PilotConfig) GetJwksResolverExtraRootCA() string {
	if m != nil {
		return m.JwksResolverExtraRootCA
	}
	return ""
}

func (m *PilotConfig) GetPlugins() []string {
	if m != nil {
		return m.Plugins
	}
	return nil
}

func (m *PilotConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *PilotConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

// Controls legacy k8s ingress. Only one pilot profile should enable ingress support.
type PilotIngressConfig struct {
	// Sets the type ingress service for Pilot.
	//
	// If empty, node-port is assumed.
	//
	// Allowed values: node-port, istio-ingressgateway, ingress
	IngressService        string                `protobuf:"bytes,1,opt,name=ingressService,proto3" json:"ingressService,omitempty"`
	IngressControllerMode IngressControllerMode `protobuf:"varint,2,opt,name=ingressControllerMode,proto3,enum=v1alpha1.IngressControllerMode" json:"ingressControllerMode,omitempty"`
	// If mode is STRICT, this value must be set on "kubernetes.io/ingress.class" annotation to activate.
	IngressClass         string   `protobuf:"bytes,3,opt,name=ingressClass,proto3" json:"ingressClass,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_PilotIngressConfig proto.InternalMessageInfo

func (m *PilotIngressConfig) GetIngressService() string {
	if m != nil {
		return m.IngressService
	}
	return ""
}

func (m *PilotIngressConfig) GetIngressControllerMode() IngressControllerMode {
	if m != nil {
		return m.IngressControllerMode
	}
	return IngressControllerMode_UNSPECIFIED
}

func (m *PilotIngressConfig) GetIngressClass() string {
	if m != nil {
		return m.IngressClass
	}
	return ""
}

// Controls whether Istio policy is applied to Pilot.
type PilotPolicyConfig struct {
	// Controls whether Istio policy is applied to Pilot.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_PilotPolicyConfig proto.InternalMessageInfo

func (m *PilotPolicyConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Controls telemetry configuration
type TelemetryConfig struct {
	// Controls whether telemetry is exported for Pilot.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Use telemetry v1.
	V1 *TelemetryV1Config `protobuf:"bytes,2,opt,name=v1,proto3" json:"v1,omitempty"`
	// Use telemetry v2.
	V2                   *TelemetryV2Config `protobuf:"bytes,3,opt,name=v2,proto3" json:"v2,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

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

var xxx_messageInfo_TelemetryConfig proto.InternalMessageInfo

func (m *TelemetryConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TelemetryConfig) GetV1() *TelemetryV1Config {
	if m != nil {
		return m.V1
	}
	return nil
}

func (m *TelemetryConfig) GetV2() *TelemetryV2Config {
	if m != nil {
		return m.V2
	}
	return nil
}

// Controls whether pilot will configure telemetry v1.
type TelemetryV1Config struct {
	// Controls whether pilot will configure telemetry v1.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_TelemetryV1Config proto.InternalMessageInfo

func (m *TelemetryV1Config) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Controls whether pilot will configure telemetry v2.
type TelemetryV2Config struct {
	// Controls whether pilot will configure telemetry v2.
	Enabled              *protobuf.BoolValue                     `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	MetadataExchange     *TelemetryV2MetadataExchangeConfig      `protobuf:"bytes,4,opt,name=metadata_exchange,json=metadataExchange,proto3" json:"metadata_exchange,omitempty"`
	Prometheus           *TelemetryV2PrometheusConfig            `protobuf:"bytes,2,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	Stackdriver          *TelemetryV2StackDriverConfig           `protobuf:"bytes,3,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	AccessLogPolicy      *TelemetryV2AccessLogPolicyFilterConfig `protobuf:"bytes,5,opt,name=access_log_policy,json=accessLogPolicy,proto3" json:"access_log_policy,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
	XXX_unrecognized     []byte                                  `json:"-"`
	XXX_sizecache        int32                                   `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2Config proto.InternalMessageInfo

func (m *TelemetryV2Config) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TelemetryV2Config) GetMetadataExchange() *TelemetryV2MetadataExchangeConfig {
	if m != nil {
		return m.MetadataExchange
	}
	return nil
}

func (m *TelemetryV2Config) GetPrometheus() *TelemetryV2PrometheusConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *TelemetryV2Config) GetStackdriver() *TelemetryV2StackDriverConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

func (m *TelemetryV2Config) GetAccessLogPolicy() *TelemetryV2AccessLogPolicyFilterConfig {
	if m != nil {
		return m.AccessLogPolicy
	}
	return nil
}

type TelemetryV2MetadataExchangeConfig struct {
	// Controls whether enabled WebAssembly runtime for metadata exchange filter.
	WasmEnabled          *protobuf.BoolValue `protobuf:"bytes,2,opt,name=wasmEnabled,proto3" json:"wasmEnabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2MetadataExchangeConfig proto.InternalMessageInfo

func (m *TelemetryV2MetadataExchangeConfig) GetWasmEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.WasmEnabled
	}
	return nil
}

// Conrols telemetry v2 prometheus settings.
type TelemetryV2PrometheusConfig struct {
	// Controls whether stats envoyfilter would be enabled or not.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Controls whether enabled WebAssembly runtime for stats filter.
	WasmEnabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=wasmEnabled,proto3" json:"wasmEnabled,omitempty"`
	// Overrides default telemetry v2 filter configuration.
	ConfigOverride       *TelemetryV2PrometheusConfig_ConfigOverride `protobuf:"bytes,3,opt,name=config_override,json=configOverride,proto3" json:"config_override,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                    `json:"-"`
	XXX_unrecognized     []byte                                      `json:"-"`
	XXX_sizecache        int32                                       `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2PrometheusConfig proto.InternalMessageInfo

func (m *TelemetryV2PrometheusConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TelemetryV2PrometheusConfig) GetWasmEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.WasmEnabled
	}
	return nil
}

func (m *TelemetryV2PrometheusConfig) GetConfigOverride() *TelemetryV2PrometheusConfig_ConfigOverride {
	if m != nil {
		return m.ConfigOverride
	}
	return nil
}

type TelemetryV2PrometheusConfig_ConfigOverride struct {
	// Overrides default gateway telemetry v2 configuration.
	Gateway map[string]interface{} `protobuf:"bytes,1,opt,name=gateway,proto3" json:"gateway,omitempty"`
	// Overrides default inbound sidecar telemetry v2 configuration.
	InboundSidecar map[string]interface{} `protobuf:"bytes,2,opt,name=inboundSidecar,proto3" json:"inboundSidecar,omitempty"`
	// Overrides default outbound sidecar telemetry v2 configuration.
	OutboundSidecar      map[string]interface{} `protobuf:"bytes,3,opt,name=outboundSidecar,proto3" json:"outboundSidecar,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2PrometheusConfig_ConfigOverride proto.InternalMessageInfo

func (m *TelemetryV2PrometheusConfig_ConfigOverride) GetGateway() map[string]interface{} {
	if m != nil {
		return m.Gateway
	}
	return nil
}

func (m *TelemetryV2PrometheusConfig_ConfigOverride) GetInboundSidecar() map[string]interface{} {
	if m != nil {
		return m.InboundSidecar
	}
	return nil
}

func (m *TelemetryV2PrometheusConfig_ConfigOverride) GetOutboundSidecar() map[string]interface{} {
	if m != nil {
		return m.OutboundSidecar
	}
	return nil
}

// Conrols telemetry v2 stackdriver settings.
type TelemetryV2StackDriverConfig struct {
	Enabled              *protobuf.BoolValue     `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Logging              *protobuf.BoolValue     `protobuf:"bytes,2,opt,name=logging,proto3" json:"logging,omitempty"`
	Monitoring           *protobuf.BoolValue     `protobuf:"bytes,3,opt,name=monitoring,proto3" json:"monitoring,omitempty"`
	Topology             *protobuf.BoolValue     `protobuf:"bytes,4,opt,name=topology,proto3" json:"topology,omitempty"`
	DisableOutbound      *protobuf.BoolValue     `protobuf:"bytes,6,opt,name=disableOutbound,proto3" json:"disableOutbound,omitempty"`
	ConfigOverride       map[string]interface{} `protobuf:"bytes,5,opt,name=configOverride,proto3" json:"configOverride,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2StackDriverConfig proto.InternalMessageInfo

func (m *TelemetryV2StackDriverConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TelemetryV2StackDriverConfig) GetLogging() *protobuf.BoolValue {
	if m != nil {
		return m.Logging
	}
	return nil
}

func (m *TelemetryV2StackDriverConfig) GetMonitoring() *protobuf.BoolValue {
	if m != nil {
		return m.Monitoring
	}
	return nil
}

func (m *TelemetryV2StackDriverConfig) GetTopology() *protobuf.BoolValue {
	if m != nil {
		return m.Topology
	}
	return nil
}

func (m *TelemetryV2StackDriverConfig) GetDisableOutbound() *protobuf.BoolValue {
	if m != nil {
		return m.DisableOutbound
	}
	return nil
}

func (m *TelemetryV2StackDriverConfig) GetConfigOverride() map[string]interface{} {
	if m != nil {
		return m.ConfigOverride
	}
	return nil
}

// Conrols telemetry v2 access log policy filter settings.
type TelemetryV2AccessLogPolicyFilterConfig struct {
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	LogWindowDuration    *types.Duration     `protobuf:"bytes,2,opt,name=logWindowDuration,proto3" json:"logWindowDuration,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_TelemetryV2AccessLogPolicyFilterConfig proto.InternalMessageInfo

func (m *TelemetryV2AccessLogPolicyFilterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TelemetryV2AccessLogPolicyFilterConfig) GetLogWindowDuration() *types.Duration {
	if m != nil {
		return m.LogWindowDuration
	}
	return nil
}

// PilotConfigSource describes information about a configuration store inside a
// mesh. A single control plane instance can interact with one or more data
// sources.
type PilotConfigSource struct {
	// Describes the source of configuration, if nothing is specified default is MCP.
	SubscribedResources  []string `protobuf:"bytes,1,rep,name=subscribedResources,proto3" json:"subscribedResources,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_PilotConfigSource proto.InternalMessageInfo

func (m *PilotConfigSource) GetSubscribedResources() []string {
	if m != nil {
		return m.SubscribedResources
	}
	return nil
}

// Configuration for a port.
type PortsConfig struct {
	// Port name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Port number.
	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// NodePort number.
	NodePort int32 `protobuf:"varint,3,opt,name=nodePort,proto3" json:"nodePort,omitempty"`
	// Target port number.
	TargetPort           int32    `protobuf:"varint,4,opt,name=targetPort,proto3" json:"targetPort,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_PortsConfig proto.InternalMessageInfo

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

func (m *PortsConfig) GetPort() int32 {
	if m != nil {
		return m.Port
	}
	return 0
}

func (m *PortsConfig) GetNodePort() int32 {
	if m != nil {
		return m.NodePort
	}
	return 0
}

func (m *PortsConfig) GetTargetPort() int32 {
	if m != nil {
		return m.TargetPort
	}
	return 0
}

// Configuration for Prometheus.
type PrometheusConfig struct {
	CreatePrometheusResource         *protobuf.BoolValue            `protobuf:"bytes,1,opt,name=createPrometheusResource,proto3" json:"createPrometheusResource,omitempty"`
	Enabled                          *protobuf.BoolValue            `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ReplicaCount                     uint32                         `protobuf:"varint,3,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	Hub                              string                         `protobuf:"bytes,4,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                              interface{}                 `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"`
	Retention                        string                         `protobuf:"bytes,6,opt,name=retention,proto3" json:"retention,omitempty"`
	NodeSelector                     map[string]interface{}        `protobuf:"bytes,7,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	ScrapeInterval                   *types.Duration                `protobuf:"bytes,8,opt,name=scrapeInterval,proto3" json:"scrapeInterval,omitempty"`
	ContextPath                      string                         `protobuf:"bytes,9,opt,name=contextPath,proto3" json:"contextPath,omitempty"`
	Service                          *PrometheusServiceConfig       `protobuf:"bytes,11,opt,name=service,proto3" json:"service,omitempty"`
	Security                         *PrometheusSecurityConfig      `protobuf:"bytes,12,opt,name=security,proto3" json:"security,omitempty"`
	Tolerations                      []map[string]interface{} `protobuf:"bytes,13,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,14,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,15,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources   *Resources                     `protobuf:"bytes,16,opt,name=resources,proto3" json:"resources,omitempty"`     // Deprecated: Do not use.
	Datasources []map[string]interface{} `protobuf:"bytes,17,opt,name=datasources,proto3" json:"datasources,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,18,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	Image          string                  `protobuf:"bytes,19,opt,name=image,proto3" json:"image,omitempty"`                   // Deprecated: Do not use.
	// Configure whether provisions a certificate to Prometheus through Istio Agent.
	// When this option is set as true, a sidecar is deployed along Prometheus to
	// provision a certificate through Istio Agent to Prometheus. The provisioned certificate
	// is shared with Prometheus through mounted files.
	// When this option is set as false, this certificate provisioning mechanism is disabled.
	ProvisionPrometheusCert *protobuf.BoolValue `protobuf:"bytes,20,opt,name=provisionPrometheusCert,proto3" json:"provisionPrometheusCert,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}            `json:"-"`
	XXX_unrecognized        []byte              `json:"-"`
	XXX_sizecache           int32               `json:"-"`
}

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

var xxx_messageInfo_PrometheusConfig proto.InternalMessageInfo

func (m *PrometheusConfig) GetCreatePrometheusResource() *protobuf.BoolValue {
	if m != nil {
		return m.CreatePrometheusResource
	}
	return nil
}

func (m *PrometheusConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

func (m *PrometheusConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *PrometheusConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *PrometheusConfig) GetRetention() string {
	if m != nil {
		return m.Retention
	}
	return ""
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

func (m *PrometheusConfig) GetScrapeInterval() *types.Duration {
	if m != nil {
		return m.ScrapeInterval
	}
	return nil
}

func (m *PrometheusConfig) GetContextPath() string {
	if m != nil {
		return m.ContextPath
	}
	return ""
}

func (m *PrometheusConfig) GetService() *PrometheusServiceConfig {
	if m != nil {
		return m.Service
	}
	return nil
}

func (m *PrometheusConfig) GetSecurity() *PrometheusSecurityConfig {
	if m != nil {
		return m.Security
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetDatasources() []map[string]interface{} {
	if m != nil {
		return m.Datasources
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *PrometheusConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *PrometheusConfig) GetProvisionPrometheusCert() *protobuf.BoolValue {
	if m != nil {
		return m.ProvisionPrometheusCert
	}
	return nil
}

// Configuration for Prometheus adapter in mixer.
type PrometheusMixerAdapterConfig struct {
	// Enables the Prometheus adapter in Mixer.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Sets the duration after which Prometheus registry purges a metric.
	//
	// See: https://istio.io/docs/reference/config/policy-and-telemetry/adapters/prometheus/#Params
	MetricsExpiryDuration *types.Duration `protobuf:"bytes,2,opt,name=metricsExpiryDuration,proto3" json:"metricsExpiryDuration,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}        `json:"-"`
	XXX_unrecognized      []byte          `json:"-"`
	XXX_sizecache         int32           `json:"-"`
}

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

var xxx_messageInfo_PrometheusMixerAdapterConfig proto.InternalMessageInfo

func (m *PrometheusMixerAdapterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *PrometheusMixerAdapterConfig) GetMetricsExpiryDuration() *types.Duration {
	if m != nil {
		return m.MetricsExpiryDuration
	}
	return nil
}

// Configuration for Prometheus adapter security.
type PrometheusSecurityConfig struct {
	// Controls whether Prometheus security is enabled.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_PrometheusSecurityConfig proto.InternalMessageInfo

func (m *PrometheusSecurityConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Configuration for Prometheus adapter service.
type PrometheusServiceConfig struct {
	Annotations          map[string]interface{}          `protobuf:"bytes,1,opt,name=annotations,proto3" json:"annotations,omitempty"`
	NodePort             *PrometheusServiceNodePortConfig `protobuf:"bytes,2,opt,name=nodePort,proto3" json:"nodePort,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

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

var xxx_messageInfo_PrometheusServiceConfig proto.InternalMessageInfo

func (m *PrometheusServiceConfig) GetAnnotations() map[string]interface{} {
	if m != nil {
		return m.Annotations
	}
	return nil
}

func (m *PrometheusServiceConfig) GetNodePort() *PrometheusServiceNodePortConfig {
	if m != nil {
		return m.NodePort
	}
	return nil
}

// Configuration for Prometheus Service NodePort.
type PrometheusServiceNodePortConfig struct {
	// Controls whether Prometheus NodePort config is enabled.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Port                 uint32              `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_PrometheusServiceNodePortConfig proto.InternalMessageInfo

func (m *PrometheusServiceNodePortConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *PrometheusServiceNodePortConfig) GetPort() uint32 {
	if m != nil {
		return m.Port
	}
	return 0
}

// Configuration for Proxy.
type ProxyConfig struct {
	AutoInject string `protobuf:"bytes,4,opt,name=autoInject,proto3" json:"autoInject,omitempty"`
	// Domain for the cluster, default: "cluster.local".
	//
	// K8s allows this to be customized, see https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/
	ClusterDomain string `protobuf:"bytes,5,opt,name=clusterDomain,proto3" json:"clusterDomain,omitempty"`
	// Per Component log level for proxy, applies to gateways and sidecars.
	//
	// If a component level is not set, then the global "logLevel" will be used. If left empty, "misc:error" is used.
	ComponentLogLevel string `protobuf:"bytes,6,opt,name=componentLogLevel,proto3" json:"componentLogLevel,omitempty"`
	// Enables core dumps for newly injected sidecars.
	//
	// If set, newly injected sidecars will have core dumps enabled.
	EnableCoreDump *protobuf.BoolValue `protobuf:"bytes,9,opt,name=enableCoreDump,proto3" json:"enableCoreDump,omitempty"`
	// Specifies the Istio ingress ports not to capture.
	ExcludeInboundPorts string `protobuf:"bytes,12,opt,name=excludeInboundPorts,proto3" json:"excludeInboundPorts,omitempty"`
	// Lists the excluded IP ranges of Istio egress traffic that the sidecar captures.
	ExcludeIPRanges string `protobuf:"bytes,13,opt,name=excludeIPRanges,proto3" json:"excludeIPRanges,omitempty"`
	// Image name or path for the proxy, default: "proxyv2".
	//
	// If registry or tag are not specified, global.hub and global.tag are used.
	//
	// Examples: my-proxy (uses global.hub/tag), docker.io/myrepo/my-proxy:v1.0.0
	Image string `protobuf:"bytes,14,opt,name=image,proto3" json:"image,omitempty"`
	// Lists the IP ranges of Istio egress traffic that the sidecar captures.
	//
	// Example: "172.30.0.0/16,172.20.0.0/16"
	// This would only capture egress traffic on those two IP Ranges, all other outbound traffic would # be allowed by the sidecar."
	IncludeIPRanges string `protobuf:"bytes,16,opt,name=includeIPRanges,proto3" json:"includeIPRanges,omitempty"`
	// Log level for proxy, applies to gateways and sidecars. If left empty, "warning" is used. Expected values are: trace\|debug\|info\|warning\|error\|critical\|off
	LogLevel string `protobuf:"bytes,18,opt,name=logLevel,proto3" json:"logLevel,omitempty"`
	// Enables privileged securityContext for the istio-proxy container.
	//
	// See https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	Privileged *protobuf.BoolValue `protobuf:"bytes,19,opt,name=privileged,proto3" json:"privileged,omitempty"`
	// Sets the initial delay for readiness probes in seconds.
	ReadinessInitialDelaySeconds uint32 `protobuf:"varint,20,opt,name=readinessInitialDelaySeconds,proto3" json:"readinessInitialDelaySeconds,omitempty"`
	// Sets the interval between readiness probes in seconds.
	ReadinessPeriodSeconds uint32 `protobuf:"varint,21,opt,name=readinessPeriodSeconds,proto3" json:"readinessPeriodSeconds,omitempty"`
	// Sets the number of successive failed probes before indicating readiness failure.
	ReadinessFailureThreshold uint32 `protobuf:"varint,22,opt,name=readinessFailureThreshold,proto3" json:"readinessFailureThreshold,omitempty"`
	// Default port used for the Pilot agent's health checks.
	StatusPort uint32 `protobuf:"varint,23,opt,name=statusPort,proto3" json:"statusPort,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources            *Resources              `protobuf:"bytes,24,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	Tracer               Tracer                  `protobuf:"varint,25,opt,name=tracer,proto3,enum=v1alpha1.Tracer" json:"tracer,omitempty"`
	ExcludeOutboundPorts string                  `protobuf:"bytes,28,opt,name=excludeOutboundPorts,proto3" json:"excludeOutboundPorts,omitempty"`
	Lifecycle            map[string]interface{} `protobuf:"bytes,36,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
	// Controls if sidecar is injected at the front of the container list and blocks the start of the other containers until the proxy is ready
	HoldApplicationUntilProxyStarts *protobuf.BoolValue `protobuf:"bytes,37,opt,name=holdApplicationUntilProxyStarts,proto3" json:"holdApplicationUntilProxyStarts,omitempty"`
	XXX_NoUnkeyedLiteral            struct{}            `json:"-"`
	XXX_unrecognized                []byte              `json:"-"`
	XXX_sizecache                   int32               `json:"-"`
}

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

var xxx_messageInfo_ProxyConfig proto.InternalMessageInfo

func (m *ProxyConfig) GetAutoInject() string {
	if m != nil {
		return m.AutoInject
	}
	return ""
}

func (m *ProxyConfig) GetClusterDomain() string {
	if m != nil {
		return m.ClusterDomain
	}
	return ""
}

func (m *ProxyConfig) GetComponentLogLevel() string {
	if m != nil {
		return m.ComponentLogLevel
	}
	return ""
}

func (m *ProxyConfig) GetEnableCoreDump() *protobuf.BoolValue {
	if m != nil {
		return m.EnableCoreDump
	}
	return nil
}

func (m *ProxyConfig) GetExcludeInboundPorts() string {
	if m != nil {
		return m.ExcludeInboundPorts
	}
	return ""
}

func (m *ProxyConfig) GetExcludeIPRanges() string {
	if m != nil {
		return m.ExcludeIPRanges
	}
	return ""
}

func (m *ProxyConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *ProxyConfig) GetIncludeIPRanges() string {
	if m != nil {
		return m.IncludeIPRanges
	}
	return ""
}

func (m *ProxyConfig) GetLogLevel() string {
	if m != nil {
		return m.LogLevel
	}
	return ""
}

func (m *ProxyConfig) GetPrivileged() *protobuf.BoolValue {
	if m != nil {
		return m.Privileged
	}
	return nil
}

func (m *ProxyConfig) GetReadinessInitialDelaySeconds() uint32 {
	if m != nil {
		return m.ReadinessInitialDelaySeconds
	}
	return 0
}

func (m *ProxyConfig) GetReadinessPeriodSeconds() uint32 {
	if m != nil {
		return m.ReadinessPeriodSeconds
	}
	return 0
}

func (m *ProxyConfig) GetReadinessFailureThreshold() uint32 {
	if m != nil {
		return m.ReadinessFailureThreshold
	}
	return 0
}

func (m *ProxyConfig) GetStatusPort() uint32 {
	if m != nil {
		return m.StatusPort
	}
	return 0
}

// Deprecated: Do not use.
func (m *ProxyConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *ProxyConfig) GetTracer() Tracer {
	if m != nil {
		return m.Tracer
	}
	return Tracer_zipkin
}

func (m *ProxyConfig) GetExcludeOutboundPorts() string {
	if m != nil {
		return m.ExcludeOutboundPorts
	}
	return ""
}

func (m *ProxyConfig) GetLifecycle() map[string]interface{} {
	if m != nil {
		return m.Lifecycle
	}
	return nil
}

func (m *ProxyConfig) GetHoldApplicationUntilProxyStarts() *protobuf.BoolValue {
	if m != nil {
		return m.HoldApplicationUntilProxyStarts
	}
	return nil
}

// Configuration for proxy_init container which sets the pods' networking to intercept the inbound/outbound traffic.
type ProxyInitConfig struct {
	// Specifies the image for the proxy_init container.
	Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources            *Resources `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

var xxx_messageInfo_ProxyInitConfig proto.InternalMessageInfo

func (m *ProxyInitConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *ProxyInitConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Configuration for K8s resource requests.
type ResourcesRequestsConfig struct {
	Cpu                  string   `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory               string   `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ResourcesRequestsConfig proto.InternalMessageInfo

func (m *ResourcesRequestsConfig) GetCpu() string {
	if m != nil {
		return m.Cpu
	}
	return ""
}

func (m *ResourcesRequestsConfig) GetMemory() string {
	if m != nil {
		return m.Memory
	}
	return ""
}

// Configuration for the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
type SDSConfig struct {
	Token                map[string]interface{} `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_SDSConfig proto.InternalMessageInfo

// Deprecated: Do not use.
func (m *SDSConfig) GetToken() map[string]interface{} {
	if m != nil {
		return m.Token
	}
	return nil
}

// Configuration for secret volume mounts.
//
// See https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets.
type SecretVolume struct {
	MountPath            string   `protobuf:"bytes,1,opt,name=mountPath,proto3" json:"mountPath,omitempty"`
	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	SecretName           string   `protobuf:"bytes,3,opt,name=secretName,proto3" json:"secretName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_SecretVolume proto.InternalMessageInfo

func (m *SecretVolume) GetMountPath() string {
	if m != nil {
		return m.MountPath
	}
	return ""
}

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

func (m *SecretVolume) GetSecretName() string {
	if m != nil {
		return m.SecretName
	}
	return ""
}

// ServiceConfig is described in istio.io documentation.
type ServiceConfig struct {
	Annotations          map[string]interface{} `protobuf:"bytes,1,opt,name=annotations,proto3" json:"annotations,omitempty"`
	ExternalPort         uint32                  `protobuf:"varint,2,opt,name=externalPort,proto3" json:"externalPort,omitempty"`
	Name                 string                  `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Type                 string                  `protobuf:"bytes,18,opt,name=type,proto3" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_ServiceConfig proto.InternalMessageInfo

func (m *ServiceConfig) GetAnnotations() map[string]interface{} {
	if m != nil {
		return m.Annotations
	}
	return nil
}

func (m *ServiceConfig) GetExternalPort() uint32 {
	if m != nil {
		return m.ExternalPort
	}
	return 0
}

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

func (m *ServiceConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

// SidecarInjectorConfig is described in istio.io documentation.
type SidecarInjectorConfig struct {
	// Enables sidecar auto-injection in namespaces by default.
	EnableNamespacesByDefault *protobuf.BoolValue `protobuf:"bytes,2,opt,name=enableNamespacesByDefault,proto3" json:"enableNamespacesByDefault,omitempty"`
	// Instructs Istio to not inject the sidecar on those pods, based on labels that are present in those pods.
	//
	// Annotations in the pods have higher precedence than the label selectors.
	// Order of evaluation: Pod Annotations → NeverInjectSelector → AlwaysInjectSelector → Default Policy.
	// See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/#more-control-adding-exceptions
	NeverInjectSelector []map[string]interface{} `protobuf:"bytes,11,opt,name=neverInjectSelector,proto3" json:"neverInjectSelector,omitempty"`
	// See NeverInjectSelector.
	AlwaysInjectSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=alwaysInjectSelector,proto3" json:"alwaysInjectSelector,omitempty"`
	//  If true, webhook or istioctl injector will rewrite PodSpec for liveness health check to redirect request to sidecar. This makes liveness check work even when mTLS is enabled.
	RewriteAppHTTPProbe *protobuf.BoolValue `protobuf:"bytes,16,opt,name=rewriteAppHTTPProbe,proto3" json:"rewriteAppHTTPProbe,omitempty"`
	InjectLabel         string              `protobuf:"bytes,18,opt,name=injectLabel,proto3" json:"injectLabel,omitempty"`
	// injectedAnnotations are additional annotations that will be added to the pod spec after injection
	// This is primarily to support PSP annotations.
	InjectedAnnotations map[string]interface{} `protobuf:"bytes,19,opt,name=injectedAnnotations,proto3" json:"injectedAnnotations,omitempty"`
	// Enable objectSelector to filter out pods with no need for sidecar before calling istio-sidecar-injector.
	ObjectSelector map[string]interface{} `protobuf:"bytes,21,opt,name=objectSelector,proto3" json:"objectSelector,omitempty"`
	// Configure the injection url for sidecar injector webhook
	InjectionURL         string   `protobuf:"bytes,22,opt,name=injectionURL,proto3" json:"injectionURL,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_SidecarInjectorConfig proto.InternalMessageInfo

func (m *SidecarInjectorConfig) GetEnableNamespacesByDefault() *protobuf.BoolValue {
	if m != nil {
		return m.EnableNamespacesByDefault
	}
	return nil
}

func (m *SidecarInjectorConfig) GetNeverInjectSelector() []map[string]interface{} {
	if m != nil {
		return m.NeverInjectSelector
	}
	return nil
}

func (m *SidecarInjectorConfig) GetAlwaysInjectSelector() []map[string]interface{} {
	if m != nil {
		return m.AlwaysInjectSelector
	}
	return nil
}

func (m *SidecarInjectorConfig) GetRewriteAppHTTPProbe() *protobuf.BoolValue {
	if m != nil {
		return m.RewriteAppHTTPProbe
	}
	return nil
}

func (m *SidecarInjectorConfig) GetInjectLabel() string {
	if m != nil {
		return m.InjectLabel
	}
	return ""
}

func (m *SidecarInjectorConfig) GetInjectedAnnotations() map[string]interface{} {
	if m != nil {
		return m.InjectedAnnotations
	}
	return nil
}

func (m *SidecarInjectorConfig) GetObjectSelector() map[string]interface{} {
	if m != nil {
		return m.ObjectSelector
	}
	return nil
}

func (m *SidecarInjectorConfig) GetInjectionURL() string {
	if m != nil {
		return m.InjectionURL
	}
	return ""
}

// Configuration for stdio adapter in mixer, recommended for debug usage only.
type StdioMixerAdapterConfig struct {
	// Enable stdio adapter to output logs and metrics to local machine.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Whether to output a console-friendly or json-friendly format.
	OutputAsJson         *protobuf.BoolValue `protobuf:"bytes,2,opt,name=outputAsJson,proto3" json:"outputAsJson,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_StdioMixerAdapterConfig proto.InternalMessageInfo

func (m *StdioMixerAdapterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *StdioMixerAdapterConfig) GetOutputAsJson() *protobuf.BoolValue {
	if m != nil {
		return m.OutputAsJson
	}
	return nil
}

// Configuration for stackdriver adapter in mixer.
type StackdriverMixerAdapterConfig struct {
	Enabled              *protobuf.BoolValue                          `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Auth                 *StackdriverAuthConfig                       `protobuf:"bytes,2,opt,name=auth,proto3" json:"auth,omitempty"`
	Tracer               *StackdriverTracerConfig                     `protobuf:"bytes,3,opt,name=tracer,proto3" json:"tracer,omitempty"`
	ContextGraph         *StackdriverContextGraph                     `protobuf:"bytes,4,opt,name=contextGraph,proto3" json:"contextGraph,omitempty"`
	Logging              *StackdriverMixerAdapterConfig_EnabledConfig `protobuf:"bytes,5,opt,name=logging,proto3" json:"logging,omitempty"`
	Metrics              *StackdriverMixerAdapterConfig_EnabledConfig `protobuf:"bytes,6,opt,name=metrics,proto3" json:"metrics,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
	XXX_unrecognized     []byte                                       `json:"-"`
	XXX_sizecache        int32                                        `json:"-"`
}

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

var xxx_messageInfo_StackdriverMixerAdapterConfig proto.InternalMessageInfo

func (m *StackdriverMixerAdapterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *StackdriverMixerAdapterConfig) GetAuth() *StackdriverAuthConfig {
	if m != nil {
		return m.Auth
	}
	return nil
}

func (m *StackdriverMixerAdapterConfig) GetTracer() *StackdriverTracerConfig {
	if m != nil {
		return m.Tracer
	}
	return nil
}

func (m *StackdriverMixerAdapterConfig) GetContextGraph() *StackdriverContextGraph {
	if m != nil {
		return m.ContextGraph
	}
	return nil
}

func (m *StackdriverMixerAdapterConfig) GetLogging() *StackdriverMixerAdapterConfig_EnabledConfig {
	if m != nil {
		return m.Logging
	}
	return nil
}

func (m *StackdriverMixerAdapterConfig) GetMetrics() *StackdriverMixerAdapterConfig_EnabledConfig {
	if m != nil {
		return m.Metrics
	}
	return nil
}

type StackdriverMixerAdapterConfig_EnabledConfig struct {
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_StackdriverMixerAdapterConfig_EnabledConfig proto.InternalMessageInfo

func (m *StackdriverMixerAdapterConfig_EnabledConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

type StackdriverAuthConfig struct {
	AppCredentials       *protobuf.BoolValue `protobuf:"bytes,1,opt,name=appCredentials,proto3" json:"appCredentials,omitempty"`
	ApiKey               string              `protobuf:"bytes,2,opt,name=apiKey,proto3" json:"apiKey,omitempty"`
	ServiceAccountPath   string              `protobuf:"bytes,3,opt,name=serviceAccountPath,proto3" json:"serviceAccountPath,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_StackdriverAuthConfig proto.InternalMessageInfo

func (m *StackdriverAuthConfig) GetAppCredentials() *protobuf.BoolValue {
	if m != nil {
		return m.AppCredentials
	}
	return nil
}

func (m *StackdriverAuthConfig) GetApiKey() string {
	if m != nil {
		return m.ApiKey
	}
	return ""
}

func (m *StackdriverAuthConfig) GetServiceAccountPath() string {
	if m != nil {
		return m.ServiceAccountPath
	}
	return ""
}

type StackdriverTracerConfig struct {
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	SampleProbability    uint32              `protobuf:"varint,2,opt,name=sampleProbability,proto3" json:"sampleProbability,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_StackdriverTracerConfig proto.InternalMessageInfo

func (m *StackdriverTracerConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *StackdriverTracerConfig) GetSampleProbability() uint32 {
	if m != nil {
		return m.SampleProbability
	}
	return 0
}

type StackdriverContextGraph struct {
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_StackdriverContextGraph proto.InternalMessageInfo

func (m *StackdriverContextGraph) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Configuration for each of the supported tracers.
type TracerConfig struct {
	// Configuration for the datadog tracing service.
	Datadog *TracerDatadogConfig `protobuf:"bytes,1,opt,name=datadog,proto3" json:"datadog,omitempty"`
	// Configuration for the lightstep tracing service.
	Lightstep *TracerLightStepConfig `protobuf:"bytes,2,opt,name=lightstep,proto3" json:"lightstep,omitempty"`
	// Configuration for the zipkin tracing service.
	Zipkin *TracerZipkinConfig `protobuf:"bytes,3,opt,name=zipkin,proto3" json:"zipkin,omitempty"`
	// Configuration for the stackdriver tracing service.
	Stackdriver          *TracerStackdriverConfig `protobuf:"bytes,4,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

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

var xxx_messageInfo_TracerConfig proto.InternalMessageInfo

func (m *TracerConfig) GetDatadog() *TracerDatadogConfig {
	if m != nil {
		return m.Datadog
	}
	return nil
}

func (m *TracerConfig) GetLightstep() *TracerLightStepConfig {
	if m != nil {
		return m.Lightstep
	}
	return nil
}

func (m *TracerConfig) GetZipkin() *TracerZipkinConfig {
	if m != nil {
		return m.Zipkin
	}
	return nil
}

func (m *TracerConfig) GetStackdriver() *TracerStackdriverConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

// Configuration for the datadog tracing service.
type TracerDatadogConfig struct {
	// Address in host:port format for reporting trace data to the Datadog agent.
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_TracerDatadogConfig proto.InternalMessageInfo

func (m *TracerDatadogConfig) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

// Configuration for the lightstep tracing service.
type TracerLightStepConfig struct {
	// Sets the lightstep satellite pool address in host:port format for reporting trace data.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Sets the lightstep access token.
	AccessToken          string   `protobuf:"bytes,2,opt,name=accessToken,proto3" json:"accessToken,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_TracerLightStepConfig proto.InternalMessageInfo

func (m *TracerLightStepConfig) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *TracerLightStepConfig) GetAccessToken() string {
	if m != nil {
		return m.AccessToken
	}
	return ""
}

// Configuration for the zipkin tracing service.
type TracerZipkinConfig struct {
	// Address of zipkin instance in host:port format for reporting trace data.
	//
	// Example: <zipkin-collector-service>.<zipkin-collector-namespace>:941
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_TracerZipkinConfig proto.InternalMessageInfo

func (m *TracerZipkinConfig) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

// Configuration for the stackdriver tracing service.
type TracerStackdriverConfig struct {
	// enables trace output to stdout.
	Debug *protobuf.BoolValue `protobuf:"bytes,1,opt,name=debug,proto3" json:"debug,omitempty"`
	// The global default max number of attributes per span.
	MaxNumberOfAttributes uint32 `protobuf:"varint,2,opt,name=maxNumberOfAttributes,proto3" json:"maxNumberOfAttributes,omitempty"`
	// The global default max number of annotation events per span.
	MaxNumberOfAnnotations uint32 `protobuf:"varint,3,opt,name=maxNumberOfAnnotations,proto3" json:"maxNumberOfAnnotations,omitempty"`
	// The global default max number of message events per span.
	MaxNumberOfMessageEvents uint32   `protobuf:"varint,4,opt,name=maxNumberOfMessageEvents,proto3" json:"maxNumberOfMessageEvents,omitempty"`
	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
	XXX_unrecognized         []byte   `json:"-"`
	XXX_sizecache            int32    `json:"-"`
}

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

var xxx_messageInfo_TracerStackdriverConfig proto.InternalMessageInfo

func (m *TracerStackdriverConfig) GetDebug() *protobuf.BoolValue {
	if m != nil {
		return m.Debug
	}
	return nil
}

func (m *TracerStackdriverConfig) GetMaxNumberOfAttributes() uint32 {
	if m != nil {
		return m.MaxNumberOfAttributes
	}
	return 0
}

func (m *TracerStackdriverConfig) GetMaxNumberOfAnnotations() uint32 {
	if m != nil {
		return m.MaxNumberOfAnnotations
	}
	return 0
}

func (m *TracerStackdriverConfig) GetMaxNumberOfMessageEvents() uint32 {
	if m != nil {
		return m.MaxNumberOfMessageEvents
	}
	return 0
}

// Configurations for different tracing system to be installed.
type TracingConfig struct {
	// Enables tracing systems installation.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Defines Configuration for addon Jaeger tracing.
	Jaeger *TracingJaegerConfig `protobuf:"bytes,3,opt,name=jaeger,proto3" json:"jaeger,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,4,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Configures which tracing system to be installed.
	Provider string `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	// Controls K8s service for addon tracing components.
	Service *ServiceConfig `protobuf:"bytes,6,opt,name=service,proto3" json:"service,omitempty"`
	// Defines Configuration for addon Zipkin tracing.
	Zipkin      *TracingZipkinConfig     `protobuf:"bytes,7,opt,name=zipkin,proto3" json:"zipkin,omitempty"`
	Opencensus  *TracingOpencensusConfig `protobuf:"bytes,8,opt,name=opencensus,proto3" json:"opencensus,omitempty"`
	ContextPath string                   `protobuf:"bytes,9,opt,name=contextPath,proto3" json:"contextPath,omitempty"`
	// See EgressGatewayConfig.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,13,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,14,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	Tolerations                      []map[string]interface{} `protobuf:"bytes,15,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral             struct{}                       `json:"-"`
	XXX_unrecognized                 []byte                         `json:"-"`
	XXX_sizecache                    int32                          `json:"-"`
}

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

var xxx_messageInfo_TracingConfig proto.InternalMessageInfo

func (m *TracingConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *TracingConfig) GetJaeger() *TracingJaegerConfig {
	if m != nil {
		return m.Jaeger
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

func (m *TracingConfig) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

func (m *TracingConfig) GetService() *ServiceConfig {
	if m != nil {
		return m.Service
	}
	return nil
}

func (m *TracingConfig) GetZipkin() *TracingZipkinConfig {
	if m != nil {
		return m.Zipkin
	}
	return nil
}

func (m *TracingConfig) GetOpencensus() *TracingOpencensusConfig {
	if m != nil {
		return m.Opencensus
	}
	return nil
}

func (m *TracingConfig) GetContextPath() string {
	if m != nil {
		return m.ContextPath
	}
	return ""
}

// Deprecated: Do not use.
func (m *TracingConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

type TracingOpencensusConfig struct {
	// Image hub for Opencensus tracing deployment.
	Hub string `protobuf:"bytes,1,opt,name=hub,proto3" json:"hub,omitempty"`
	// Image tag for Opencensus tracing deployment.
	Tag       interface{}                    `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	Exporters *TracingOpencensusExportersConfig `protobuf:"bytes,3,opt,name=exporters,proto3" json:"exporters,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources map[string]interface{} `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations       map[string]interface{} `protobuf:"bytes,6,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TracingOpencensusConfig proto.InternalMessageInfo

func (m *TracingOpencensusConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *TracingOpencensusConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *TracingOpencensusConfig) GetExporters() *TracingOpencensusExportersConfig {
	if m != nil {
		return m.Exporters
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingOpencensusConfig) GetResources() map[string]interface{} {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingOpencensusConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

type TracingOpencensusExportersConfig struct {
	Stackdriver          map[string]interface{} `protobuf:"bytes,1,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TracingOpencensusExportersConfig proto.InternalMessageInfo

func (m *TracingOpencensusExportersConfig) GetStackdriver() map[string]interface{} {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

// Configuration for addon Jaeger tracing.
type TracingJaegerConfig struct {
	// Image hub for Jaeger tracing deployment.
	Hub string `protobuf:"bytes,1,opt,name=hub,proto3" json:"hub,omitempty"`
	// Image tag for Jaeger tracing deployment.
	Tag   interface{} `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	Image string         `protobuf:"bytes,10,opt,name=image,proto3" json:"image,omitempty"`
	// Configures Jaeger in-memory storage setting.
	Memory           *TracingJaegerMemoryConfig `protobuf:"bytes,3,opt,name=memory,proto3" json:"memory,omitempty"`
	SpanStorageType  string                     `protobuf:"bytes,4,opt,name=spanStorageType,proto3" json:"spanStorageType,omitempty"`
	Persist          *protobuf.BoolValue        `protobuf:"bytes,5,opt,name=persist,proto3" json:"persist,omitempty"`
	StorageClassName string                     `protobuf:"bytes,6,opt,name=storageClassName,proto3" json:"storageClassName,omitempty"`
	AccessMode       string                     `protobuf:"bytes,7,opt,name=accessMode,proto3" json:"accessMode,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources map[string]interface{} `protobuf:"bytes,8,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations       map[string]interface{} `protobuf:"bytes,9,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TracingJaegerConfig proto.InternalMessageInfo

func (m *TracingJaegerConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *TracingJaegerConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *TracingJaegerConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *TracingJaegerConfig) GetMemory() *TracingJaegerMemoryConfig {
	if m != nil {
		return m.Memory
	}
	return nil
}

func (m *TracingJaegerConfig) GetSpanStorageType() string {
	if m != nil {
		return m.SpanStorageType
	}
	return ""
}

func (m *TracingJaegerConfig) GetPersist() *protobuf.BoolValue {
	if m != nil {
		return m.Persist
	}
	return nil
}

func (m *TracingJaegerConfig) GetStorageClassName() string {
	if m != nil {
		return m.StorageClassName
	}
	return ""
}

func (m *TracingJaegerConfig) GetAccessMode() string {
	if m != nil {
		return m.AccessMode
	}
	return ""
}

// Deprecated: Do not use.
func (m *TracingJaegerConfig) GetResources() map[string]interface{} {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingJaegerConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Configuration for Jaeger in-memory storage setting.
type TracingJaegerMemoryConfig struct {
	// Set limit of the amount of traces stored in memory for Jaeger
	MaxTraces            uint32   `protobuf:"varint,1,opt,name=max_traces,json=maxTraces,proto3" json:"max_traces,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_TracingJaegerMemoryConfig proto.InternalMessageInfo

func (m *TracingJaegerMemoryConfig) GetMaxTraces() uint32 {
	if m != nil {
		return m.MaxTraces
	}
	return 0
}

// Configuration for Zipkin.
type TracingZipkinConfig struct {
	// Image hub for Zipkin tracing deployment.
	Hub string `protobuf:"bytes,1,opt,name=hub,proto3" json:"hub,omitempty"`
	// Image tag for Zipkin tracing deployment.
	Tag   interface{} `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	Image string         `protobuf:"bytes,9,opt,name=image,proto3" json:"image,omitempty"`
	// InitialDelaySeconds of readiness probe for Zipkin deployment
	ProbeStartupDelay uint32 `protobuf:"varint,3,opt,name=probeStartupDelay,proto3" json:"probeStartupDelay,omitempty"`
	// InitialDelaySeconds of liveness probe for Zipkin deployment
	LivenessProbeStartupDelay uint32 `protobuf:"varint,11,opt,name=livenessProbeStartupDelay,proto3" json:"livenessProbeStartupDelay,omitempty"`
	// Container port for Zipkin deployment
	QueryPort uint32 `protobuf:"varint,4,opt,name=queryPort,proto3" json:"queryPort,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Configure java heap opts for Zipkin deployment
	JavaOptsHeap uint32 `protobuf:"varint,6,opt,name=javaOptsHeap,proto3" json:"javaOptsHeap,omitempty"`
	// Configures number of max spans to keep in Zipkin memory storage.
	//
	// Example: A safe estimate is 1K of memory per span (each span with 2 annotations + 1 binary annotation), plus 100 MB for a safety buffer
	MaxSpans uint32 `protobuf:"varint,7,opt,name=maxSpans,proto3" json:"maxSpans,omitempty"`
	// Configures GC values of JAVA_OPTS for Zipkin deployment
	Node *TracingZipkinNodeConfig `protobuf:"bytes,8,opt,name=node,proto3" json:"node,omitempty"`
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations       map[string]interface{} `protobuf:"bytes,10,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_TracingZipkinConfig proto.InternalMessageInfo

func (m *TracingZipkinConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *TracingZipkinConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *TracingZipkinConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *TracingZipkinConfig) GetProbeStartupDelay() uint32 {
	if m != nil {
		return m.ProbeStartupDelay
	}
	return 0
}

func (m *TracingZipkinConfig) GetLivenessProbeStartupDelay() uint32 {
	if m != nil {
		return m.LivenessProbeStartupDelay
	}
	return 0
}

func (m *TracingZipkinConfig) GetQueryPort() uint32 {
	if m != nil {
		return m.QueryPort
	}
	return 0
}

// Deprecated: Do not use.
func (m *TracingZipkinConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *TracingZipkinConfig) GetJavaOptsHeap() uint32 {
	if m != nil {
		return m.JavaOptsHeap
	}
	return 0
}

func (m *TracingZipkinConfig) GetMaxSpans() uint32 {
	if m != nil {
		return m.MaxSpans
	}
	return 0
}

func (m *TracingZipkinConfig) GetNode() *TracingZipkinNodeConfig {
	if m != nil {
		return m.Node
	}
	return nil
}

// Deprecated: Do not use.
func (m *TracingZipkinConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Configuration for GC values of JAVA_OPTS for Zipkin deployment
type TracingZipkinNodeConfig struct {
	// Configures -XX:ConcGCThreads value of JAVA_OPTS for Zipkin deployment
	Cpus                 uint32   `protobuf:"varint,1,opt,name=cpus,proto3" json:"cpus,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_TracingZipkinNodeConfig proto.InternalMessageInfo

func (m *TracingZipkinNodeConfig) GetCpus() uint32 {
	if m != nil {
		return m.Cpus
	}
	return 0
}

type KialiSecurityConfig struct {
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	CertFile             string              `protobuf:"bytes,2,opt,name=cert_file,json=certFile,proto3" json:"cert_file,omitempty"`
	PrivateKeyFile       string              `protobuf:"bytes,3,opt,name=private_key_file,json=privateKeyFile,proto3" json:"private_key_file,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_KialiSecurityConfig proto.InternalMessageInfo

func (m *KialiSecurityConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *KialiSecurityConfig) GetCertFile() string {
	if m != nil {
		return m.CertFile
	}
	return ""
}

func (m *KialiSecurityConfig) GetPrivateKeyFile() string {
	if m != nil {
		return m.PrivateKeyFile
	}
	return ""
}

type KialiServiceConfig struct {
	Annotations map[string]interface{} `protobuf:"bytes,1,opt,name=annotations,proto3" json:"annotations,omitempty"`
	// Service type.
	//
	// See https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type                 string   `protobuf:"bytes,18,opt,name=type,proto3" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_KialiServiceConfig proto.InternalMessageInfo

func (m *KialiServiceConfig) GetAnnotations() map[string]interface{} {
	if m != nil {
		return m.Annotations
	}
	return nil
}

func (m *KialiServiceConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

type KialiDashboardConfig struct {
	SecretName           string                  `protobuf:"bytes,1,opt,name=secretName,proto3" json:"secretName,omitempty"`
	UsernameKey          string                  `protobuf:"bytes,2,opt,name=usernameKey,proto3" json:"usernameKey,omitempty"`
	PassphraseKey        string                  `protobuf:"bytes,3,opt,name=passphraseKey,proto3" json:"passphraseKey,omitempty"`
	ViewOnlyMode         *protobuf.BoolValue     `protobuf:"bytes,4,opt,name=viewOnlyMode,proto3" json:"viewOnlyMode,omitempty"`
	GrafanaURL           string                  `protobuf:"bytes,5,opt,name=grafanaURL,proto3" json:"grafanaURL,omitempty"`
	JaegerURL            string                  `protobuf:"bytes,6,opt,name=jaegerURL,proto3" json:"jaegerURL,omitempty"`
	Auth                 map[string]interface{} `protobuf:"bytes,7,opt,name=auth,proto3" json:"auth,omitempty"`
	GrafanaInClusterURL  string                  `protobuf:"bytes,8,opt,name=grafanaInClusterURL,proto3" json:"grafanaInClusterURL,omitempty"`
	JaegerInClusterURL   string                  `protobuf:"bytes,9,opt,name=jaegerInClusterURL,proto3" json:"jaegerInClusterURL,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

var xxx_messageInfo_KialiDashboardConfig proto.InternalMessageInfo

func (m *KialiDashboardConfig) GetSecretName() string {
	if m != nil {
		return m.SecretName
	}
	return ""
}

func (m *KialiDashboardConfig) GetUsernameKey() string {
	if m != nil {
		return m.UsernameKey
	}
	return ""
}

func (m *KialiDashboardConfig) GetPassphraseKey() string {
	if m != nil {
		return m.PassphraseKey
	}
	return ""
}

func (m *KialiDashboardConfig) GetViewOnlyMode() *protobuf.BoolValue {
	if m != nil {
		return m.ViewOnlyMode
	}
	return nil
}

func (m *KialiDashboardConfig) GetGrafanaURL() string {
	if m != nil {
		return m.GrafanaURL
	}
	return ""
}

func (m *KialiDashboardConfig) GetJaegerURL() string {
	if m != nil {
		return m.JaegerURL
	}
	return ""
}

func (m *KialiDashboardConfig) GetAuth() map[string]interface{} {
	if m != nil {
		return m.Auth
	}
	return nil
}

func (m *KialiDashboardConfig) GetGrafanaInClusterURL() string {
	if m != nil {
		return m.GrafanaInClusterURL
	}
	return ""
}

func (m *KialiDashboardConfig) GetJaegerInClusterURL() string {
	if m != nil {
		return m.JaegerInClusterURL
	}
	return ""
}

// Configuration for Kiali addon.
type KialiConfig struct {
	Enabled          *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	CreateDemoSecret *protobuf.BoolValue `protobuf:"bytes,2,opt,name=createDemoSecret,proto3" json:"createDemoSecret,omitempty"`
	// Image hub for kiali deployment.
	Hub string `protobuf:"bytes,3,opt,name=hub,proto3" json:"hub,omitempty"`
	// Image tag for kiali deployment.
	Tag interface{} `protobuf:"bytes,4,opt,name=tag,proto3" json:"tag,omitempty"`
	// Number of replicas for Kiali.
	ReplicaCount        uint32                `protobuf:"varint,5,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	PrometheusNamespace string                `protobuf:"bytes,6,opt,name=prometheusNamespace,proto3" json:"prometheusNamespace,omitempty"`
	Security            *KialiSecurityConfig  `protobuf:"bytes,7,opt,name=security,proto3" json:"security,omitempty"`
	Dashboard           *KialiDashboardConfig `protobuf:"bytes,8,opt,name=dashboard,proto3" json:"dashboard,omitempty"`
	ContextPath         string                `protobuf:"bytes,15,opt,name=contextPath,proto3" json:"contextPath,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,10,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,11,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Pod anti-affinity label selector.
	//
	// Specify the pod anti-affinity that allows you to constrain which nodes
	// your pod is eligible to be scheduled based on labels on pods that are
	// already running on the node rather than based on labels on nodes.
	// There are currently two types of anti-affinity:
	//    "requiredDuringSchedulingIgnoredDuringExecution"
	//    "preferredDuringSchedulingIgnoredDuringExecution"
	// which denote “hard” vs. “soft” requirements, you can define your values
	// in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
	// correspondingly.
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
	//
	// Examples:
	// podAntiAffinityLabelSelector:
	//  - key: security
	//    operator: In
	//    values: S1,S2
	//    topologyKey: "kubernetes.io/hostname"
	//  This pod anti-affinity rule says that the pod requires not to be scheduled
	//  onto a node if that node is already running a pod with label having key
	//  “security” and value “S1”.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See PodAntiAffinityLabelSelector.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,13,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	Tolerations                      []map[string]interface{} `protobuf:"bytes,14,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	Image                            string                         `protobuf:"bytes,16,opt,name=image,proto3" json:"image,omitempty"`                                                       // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources            *Resources          `protobuf:"bytes,17,opt,name=resources,proto3" json:"resources,omitempty"`           // Deprecated: Do not use.
	PrometheusAddr       string              `protobuf:"bytes,18,opt,name=prometheusAddr,proto3" json:"prometheusAddr,omitempty"` // Deprecated: Do not use.
	Service              *KialiServiceConfig `protobuf:"bytes,19,opt,name=service,proto3" json:"service,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_KialiConfig proto.InternalMessageInfo

func (m *KialiConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *KialiConfig) GetCreateDemoSecret() *protobuf.BoolValue {
	if m != nil {
		return m.CreateDemoSecret
	}
	return nil
}

func (m *KialiConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *KialiConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

func (m *KialiConfig) GetPrometheusNamespace() string {
	if m != nil {
		return m.PrometheusNamespace
	}
	return ""
}

func (m *KialiConfig) GetSecurity() *KialiSecurityConfig {
	if m != nil {
		return m.Security
	}
	return nil
}

func (m *KialiConfig) GetDashboard() *KialiDashboardConfig {
	if m != nil {
		return m.Dashboard
	}
	return nil
}

func (m *KialiConfig) GetContextPath() string {
	if m != nil {
		return m.ContextPath
	}
	return ""
}

// Deprecated: Do not use.
func (m *KialiConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *KialiConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *KialiConfig) GetPrometheusAddr() string {
	if m != nil {
		return m.PrometheusAddr
	}
	return ""
}

func (m *KialiConfig) GetService() *KialiServiceConfig {
	if m != nil {
		return m.Service
	}
	return nil
}

type BaseConfig struct {
	// For Helm2 use, adds the CRDs to templates.
	EnableCRDTemplates *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enableCRDTemplates,proto3" json:"enableCRDTemplates,omitempty"`
	// URL to use for validating webhook.
	ValidationURL        string   `protobuf:"bytes,2,opt,name=validationURL,proto3" json:"validationURL,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_BaseConfig proto.InternalMessageInfo

func (m *BaseConfig) GetEnableCRDTemplates() *protobuf.BoolValue {
	if m != nil {
		return m.EnableCRDTemplates
	}
	return nil
}

func (m *BaseConfig) GetValidationURL() string {
	if m != nil {
		return m.ValidationURL
	}
	return ""
}

type IstiodRemoteConfig struct {
	// URL to use for sidecar injector webhook.
	InjectionURL         string   `protobuf:"bytes,1,opt,name=injectionURL,proto3" json:"injectionURL,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_IstiodRemoteConfig proto.InternalMessageInfo

func (m *IstiodRemoteConfig) GetInjectionURL() string {
	if m != nil {
		return m.InjectionURL
	}
	return ""
}

type Values struct {
	Cni          *CNIConfig              `protobuf:"bytes,2,opt,name=cni,proto3" json:"cni,omitempty"`
	Istiocoredns *CoreDNSConfig          `protobuf:"bytes,3,opt,name=istiocoredns,proto3" json:"istiocoredns,omitempty"`
	Gateways     *GatewaysConfig         `protobuf:"bytes,5,opt,name=gateways,proto3" json:"gateways,omitempty"`
	Global       *GlobalConfig           `protobuf:"bytes,6,opt,name=global,proto3" json:"global,omitempty"`
	Grafana      map[string]interface{} `protobuf:"bytes,7,opt,name=grafana,proto3" json:"grafana,omitempty"`
	Mixer        *MixerConfig            `protobuf:"bytes,8,opt,name=mixer,proto3" json:"mixer,omitempty"`
	Pilot        *PilotConfig            `protobuf:"bytes,10,opt,name=pilot,proto3" json:"pilot,omitempty"`
	// Controls whether telemetry is exported for Pilot.
	Telemetry              *TelemetryConfig       `protobuf:"bytes,23,opt,name=telemetry,proto3" json:"telemetry,omitempty"`
	Prometheus             *PrometheusConfig      `protobuf:"bytes,11,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	SidecarInjectorWebhook *SidecarInjectorConfig `protobuf:"bytes,13,opt,name=sidecarInjectorWebhook,proto3" json:"sidecarInjectorWebhook,omitempty"`
	Tracing                *TracingConfig         `protobuf:"bytes,14,opt,name=tracing,proto3" json:"tracing,omitempty"`
	Kiali                  *KialiConfig           `protobuf:"bytes,15,opt,name=kiali,proto3" json:"kiali,omitempty"`
	// Deprecated.
	Version          string              `protobuf:"bytes,16,opt,name=version,proto3" json:"version,omitempty"`
	ClusterResources *protobuf.BoolValue `protobuf:"bytes,17,opt,name=clusterResources,proto3" json:"clusterResources,omitempty"`
	// TODO: populate these.
	PrometheusOperator map[string]interface{} `protobuf:"bytes,18,opt,name=prometheusOperator,proto3" json:"prometheusOperator,omitempty"`
	IstioCni           *CNIConfig              `protobuf:"bytes,19,opt,name=istio_cni,json=istioCni,proto3" json:"istio_cni,omitempty"`
	Kustomize          *protobuf.BoolValue     `protobuf:"bytes,20,opt,name=kustomize,proto3" json:"kustomize,omitempty"`
	Revision           string                  `protobuf:"bytes,21,opt,name=revision,proto3" json:"revision,omitempty"`
	// TODO can this import the real mesh config API?
	MeshConfig           interface{}      `protobuf:"bytes,36,opt,name=meshConfig,proto3" json:"meshConfig,omitempty"`
	Base                 *BaseConfig         `protobuf:"bytes,37,opt,name=base,proto3" json:"base,omitempty"`
	IstiodRemote         *IstiodRemoteConfig `protobuf:"bytes,38,opt,name=istiodRemote,proto3" json:"istiodRemote,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_Values proto.InternalMessageInfo

func (m *Values) GetCni() *CNIConfig {
	if m != nil {
		return m.Cni
	}
	return nil
}

func (m *Values) GetIstiocoredns() *CoreDNSConfig {
	if m != nil {
		return m.Istiocoredns
	}
	return nil
}

func (m *Values) GetGateways() *GatewaysConfig {
	if m != nil {
		return m.Gateways
	}
	return nil
}

func (m *Values) GetGlobal() *GlobalConfig {
	if m != nil {
		return m.Global
	}
	return nil
}

func (m *Values) GetGrafana() map[string]interface{} {
	if m != nil {
		return m.Grafana
	}
	return nil
}

func (m *Values) GetMixer() *MixerConfig {
	if m != nil {
		return m.Mixer
	}
	return nil
}

func (m *Values) GetPilot() *PilotConfig {
	if m != nil {
		return m.Pilot
	}
	return nil
}

func (m *Values) GetTelemetry() *TelemetryConfig {
	if m != nil {
		return m.Telemetry
	}
	return nil
}

func (m *Values) GetPrometheus() *PrometheusConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *Values) GetSidecarInjectorWebhook() *SidecarInjectorConfig {
	if m != nil {
		return m.SidecarInjectorWebhook
	}
	return nil
}

func (m *Values) GetTracing() *TracingConfig {
	if m != nil {
		return m.Tracing
	}
	return nil
}

func (m *Values) GetKiali() *KialiConfig {
	if m != nil {
		return m.Kiali
	}
	return nil
}

func (m *Values) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *Values) GetClusterResources() *protobuf.BoolValue {
	if m != nil {
		return m.ClusterResources
	}
	return nil
}

func (m *Values) GetPrometheusOperator() map[string]interface{} {
	if m != nil {
		return m.PrometheusOperator
	}
	return nil
}

func (m *Values) GetIstioCni() *CNIConfig {
	if m != nil {
		return m.IstioCni
	}
	return nil
}

func (m *Values) GetKustomize() *protobuf.BoolValue {
	if m != nil {
		return m.Kustomize
	}
	return nil
}

func (m *Values) GetRevision() string {
	if m != nil {
		return m.Revision
	}
	return ""
}

func (m *Values) GetMeshConfig() interface{} {
	if m != nil {
		return m.MeshConfig
	}
	return nil
}

func (m *Values) GetBase() *BaseConfig {
	if m != nil {
		return m.Base
	}
	return nil
}

func (m *Values) GetIstiodRemote() *IstiodRemoteConfig {
	if m != nil {
		return m.IstiodRemote
	}
	return nil
}





// ZeroVPNConfig enables cross-cluster access using SNI matching.
type ZeroVPNConfig struct {
	// Controls whether ZeroVPN is enabled.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Suffix               string              `protobuf:"bytes,2,opt,name=suffix,proto3" json:"suffix,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_ZeroVPNConfig proto.InternalMessageInfo

func (m *ZeroVPNConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *ZeroVPNConfig) GetSuffix() string {
	if m != nil {
		return m.Suffix
	}
	return ""
}


func init() {
	proto.RegisterEnum("v1alpha1.Mode", Mode_name, Mode_value)
	proto.RegisterEnum("v1alpha1.IngressControllerMode", IngressControllerMode_name, IngressControllerMode_value)
	proto.RegisterEnum("v1alpha1.AccessLogEncoding", AccessLogEncoding_name, AccessLogEncoding_value)
	proto.RegisterEnum("v1alpha1.Tracer", Tracer_name, Tracer_value)
	proto.RegisterEnum("v1alpha1.OutboundTrafficPolicyConfig_Mode", OutboundTrafficPolicyConfig_Mode_name, OutboundTrafficPolicyConfig_Mode_value)
	proto.RegisterType((*ArchConfig)(nil), "v1alpha1.ArchConfig")
	proto.RegisterType((*CNIConfig)(nil), "v1alpha1.CNIConfig")
	proto.RegisterType((*CNIRepairConfig)(nil), "v1alpha1.CNIRepairConfig")
	proto.RegisterType((*CPUTargetUtilizationConfig)(nil), "v1alpha1.CPUTargetUtilizationConfig")
	proto.RegisterType((*Resources)(nil), "v1alpha1.Resources")
	proto.RegisterMapType((map[string]string)(nil), "v1alpha1.Resources.LimitsEntry")
	proto.RegisterMapType((map[string]string)(nil), "v1alpha1.Resources.RequestsEntry")
	proto.RegisterType((*CoreDNSConfig)(nil), "v1alpha1.CoreDNSConfig")
	proto.RegisterType((*DefaultPodDisruptionBudgetConfig)(nil), "v1alpha1.DefaultPodDisruptionBudgetConfig")
	proto.RegisterType((*DefaultResourcesConfig)(nil), "v1alpha1.DefaultResourcesConfig")
	proto.RegisterType((*EgressGatewayConfig)(nil), "v1alpha1.EgressGatewayConfig")
	proto.RegisterType((*GatewayLabelsConfig)(nil), "v1alpha1.GatewayLabelsConfig")
	proto.RegisterType((*GatewaysConfig)(nil), "v1alpha1.GatewaysConfig")
	proto.RegisterType((*GlobalConfig)(nil), "v1alpha1.GlobalConfig")
	proto.RegisterType((*STSConfig)(nil), "v1alpha1.STSConfig")
	proto.RegisterType((*IstiodConfig)(nil), "v1alpha1.IstiodConfig")
	proto.RegisterType((*GlobalLoggingConfig)(nil), "v1alpha1.GlobalLoggingConfig")
	proto.RegisterType((*IngressGatewayConfig)(nil), "v1alpha1.IngressGatewayConfig")
	proto.RegisterType((*IngressGatewaySdsConfig)(nil), "v1alpha1.IngressGatewaySdsConfig")
	proto.RegisterType((*IngressGatewayZvpnConfig)(nil), "v1alpha1.IngressGatewayZvpnConfig")
	proto.RegisterType((*KubernetesEnvMixerAdapterConfig)(nil), "v1alpha1.KubernetesEnvMixerAdapterConfig")
	proto.RegisterType((*LoadSheddingConfig)(nil), "v1alpha1.LoadSheddingConfig")
	proto.RegisterType((*MeshExpansionConfig)(nil), "v1alpha1.MeshExpansionConfig")
	proto.RegisterType((*MixerTelemetryAdaptersConfig)(nil), "v1alpha1.MixerTelemetryAdaptersConfig")
	proto.RegisterType((*MixerPolicyAdaptersConfig)(nil), "v1alpha1.MixerPolicyAdaptersConfig")
	proto.RegisterType((*MixerConfig)(nil), "v1alpha1.MixerConfig")
	proto.RegisterType((*MixerPolicyConfig)(nil), "v1alpha1.MixerPolicyConfig")
	proto.RegisterType((*MixerTelemetryConfig)(nil), "v1alpha1.MixerTelemetryConfig")
	proto.RegisterType((*MultiClusterConfig)(nil), "v1alpha1.MultiClusterConfig")
	proto.RegisterType((*OutboundTrafficPolicyConfig)(nil), "v1alpha1.OutboundTrafficPolicyConfig")
	proto.RegisterType((*PilotConfig)(nil), "v1alpha1.PilotConfig")
	proto.RegisterType((*PilotIngressConfig)(nil), "v1alpha1.PilotIngressConfig")
	proto.RegisterType((*PilotPolicyConfig)(nil), "v1alpha1.PilotPolicyConfig")
	proto.RegisterType((*TelemetryConfig)(nil), "v1alpha1.TelemetryConfig")
	proto.RegisterType((*TelemetryV1Config)(nil), "v1alpha1.TelemetryV1Config")
	proto.RegisterType((*TelemetryV2Config)(nil), "v1alpha1.TelemetryV2Config")
	proto.RegisterType((*TelemetryV2MetadataExchangeConfig)(nil), "v1alpha1.TelemetryV2MetadataExchangeConfig")
	proto.RegisterType((*TelemetryV2PrometheusConfig)(nil), "v1alpha1.TelemetryV2PrometheusConfig")
	proto.RegisterType((*TelemetryV2PrometheusConfig_ConfigOverride)(nil), "v1alpha1.TelemetryV2PrometheusConfig.ConfigOverride")
	proto.RegisterType((*TelemetryV2StackDriverConfig)(nil), "v1alpha1.TelemetryV2StackDriverConfig")
	proto.RegisterType((*TelemetryV2AccessLogPolicyFilterConfig)(nil), "v1alpha1.TelemetryV2AccessLogPolicyFilterConfig")
	proto.RegisterType((*PilotConfigSource)(nil), "v1alpha1.PilotConfigSource")
	proto.RegisterType((*PortsConfig)(nil), "v1alpha1.PortsConfig")
	proto.RegisterType((*PrometheusConfig)(nil), "v1alpha1.PrometheusConfig")
	proto.RegisterType((*PrometheusMixerAdapterConfig)(nil), "v1alpha1.PrometheusMixerAdapterConfig")
	proto.RegisterType((*PrometheusSecurityConfig)(nil), "v1alpha1.PrometheusSecurityConfig")
	proto.RegisterType((*PrometheusServiceConfig)(nil), "v1alpha1.PrometheusServiceConfig")
	proto.RegisterType((*PrometheusServiceNodePortConfig)(nil), "v1alpha1.PrometheusServiceNodePortConfig")
	proto.RegisterType((*ProxyConfig)(nil), "v1alpha1.ProxyConfig")
	proto.RegisterType((*ProxyInitConfig)(nil), "v1alpha1.ProxyInitConfig")
	proto.RegisterType((*ResourcesRequestsConfig)(nil), "v1alpha1.ResourcesRequestsConfig")
	proto.RegisterType((*SDSConfig)(nil), "v1alpha1.SDSConfig")
	proto.RegisterType((*SecretVolume)(nil), "v1alpha1.SecretVolume")
	proto.RegisterType((*ServiceConfig)(nil), "v1alpha1.ServiceConfig")
	proto.RegisterType((*SidecarInjectorConfig)(nil), "v1alpha1.SidecarInjectorConfig")
	proto.RegisterType((*StdioMixerAdapterConfig)(nil), "v1alpha1.StdioMixerAdapterConfig")
	proto.RegisterType((*StackdriverMixerAdapterConfig)(nil), "v1alpha1.StackdriverMixerAdapterConfig")
	proto.RegisterType((*StackdriverMixerAdapterConfig_EnabledConfig)(nil), "v1alpha1.StackdriverMixerAdapterConfig.EnabledConfig")
	proto.RegisterType((*StackdriverAuthConfig)(nil), "v1alpha1.StackdriverAuthConfig")
	proto.RegisterType((*StackdriverTracerConfig)(nil), "v1alpha1.StackdriverTracerConfig")
	proto.RegisterType((*StackdriverContextGraph)(nil), "v1alpha1.StackdriverContextGraph")
	proto.RegisterType((*TracerConfig)(nil), "v1alpha1.TracerConfig")
	proto.RegisterType((*TracerDatadogConfig)(nil), "v1alpha1.TracerDatadogConfig")
	proto.RegisterType((*TracerLightStepConfig)(nil), "v1alpha1.TracerLightStepConfig")
	proto.RegisterType((*TracerZipkinConfig)(nil), "v1alpha1.TracerZipkinConfig")
	proto.RegisterType((*TracerStackdriverConfig)(nil), "v1alpha1.TracerStackdriverConfig")
	proto.RegisterType((*TracingConfig)(nil), "v1alpha1.TracingConfig")
	proto.RegisterType((*TracingOpencensusConfig)(nil), "v1alpha1.TracingOpencensusConfig")
	proto.RegisterType((*TracingOpencensusExportersConfig)(nil), "v1alpha1.TracingOpencensusExportersConfig")
	proto.RegisterType((*TracingJaegerConfig)(nil), "v1alpha1.TracingJaegerConfig")
	proto.RegisterType((*TracingJaegerMemoryConfig)(nil), "v1alpha1.TracingJaegerMemoryConfig")
	proto.RegisterType((*TracingZipkinConfig)(nil), "v1alpha1.TracingZipkinConfig")
	proto.RegisterType((*TracingZipkinNodeConfig)(nil), "v1alpha1.TracingZipkinNodeConfig")
	proto.RegisterType((*KialiSecurityConfig)(nil), "v1alpha1.KialiSecurityConfig")
	proto.RegisterType((*KialiServiceConfig)(nil), "v1alpha1.KialiServiceConfig")
	proto.RegisterType((*KialiDashboardConfig)(nil), "v1alpha1.KialiDashboardConfig")
	proto.RegisterType((*KialiConfig)(nil), "v1alpha1.KialiConfig")
	proto.RegisterType((*BaseConfig)(nil), "v1alpha1.BaseConfig")
	proto.RegisterType((*IstiodRemoteConfig)(nil), "v1alpha1.IstiodRemoteConfig")
	proto.RegisterType((*Values)(nil), "v1alpha1.Values")
	proto.RegisterType((*ZeroVPNConfig)(nil), "v1alpha1.ZeroVPNConfig")
}

func init() {
	proto.RegisterFile("pkg/apis/istio/v1alpha1/values_types.proto", fileDescriptor_261260e22432516f)
}

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