package envoy_api_v2_core

import (
	fmt "fmt"
	_ "github.com/cncf/udpa/go/udpa/annotations"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	wrappers "github.com/golang/protobuf/ptypes/wrappers"
	math "math"
)

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

const _ = proto.ProtoPackageIsVersion3 

type ApiVersion int32

const (
	ApiVersion_AUTO    ApiVersion = 0
	ApiVersion_V2      ApiVersion = 1
	ApiVersion_V3ALPHA ApiVersion = 2
)

var ApiVersion_name = map[int32]string{
	0: "AUTO",
	1: "V2",
	2: "V3ALPHA",
}

var ApiVersion_value = map[string]int32{
	"AUTO":    0,
	"V2":      1,
	"V3ALPHA": 2,
}

func (x ApiVersion) String() string {
	return proto.EnumName(ApiVersion_name, int32(x))
}

func (ApiVersion) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1ffcc55cf4c30535, []int{0}
}

type ApiConfigSource_ApiType int32

const (
	ApiConfigSource_UNSUPPORTED_REST_LEGACY ApiConfigSource_ApiType = 0 
	ApiConfigSource_REST                    ApiConfigSource_ApiType = 1
	ApiConfigSource_GRPC                    ApiConfigSource_ApiType = 2
	ApiConfigSource_DELTA_GRPC              ApiConfigSource_ApiType = 3
)

var ApiConfigSource_ApiType_name = map[int32]string{
	0: "UNSUPPORTED_REST_LEGACY",
	1: "REST",
	2: "GRPC",
	3: "DELTA_GRPC",
}

var ApiConfigSource_ApiType_value = map[string]int32{
	"UNSUPPORTED_REST_LEGACY": 0,
	"REST":                    1,
	"GRPC":                    2,
	"DELTA_GRPC":              3,
}

func (x ApiConfigSource_ApiType) String() string {
	return proto.EnumName(ApiConfigSource_ApiType_name, int32(x))
}

func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1ffcc55cf4c30535, []int{0, 0}
}

type ApiConfigSource struct {
	ApiType                   ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.api.v2.core.ApiConfigSource_ApiType" json:"api_type,omitempty"`
	TransportApiVersion       ApiVersion              `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"`
	ClusterNames              []string                `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"`
	GrpcServices              []*GrpcService          `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"`
	RefreshDelay              *duration.Duration      `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"`
	RequestTimeout            *duration.Duration      `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	RateLimitSettings         *RateLimitSettings      `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"`
	SetNodeOnFirstMessageOnly bool                    `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}                `json:"-"`
	XXX_unrecognized          []byte                  `json:"-"`
	XXX_sizecache             int32                   `json:"-"`
}

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

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

var xxx_messageInfo_ApiConfigSource proto.InternalMessageInfo

func (m *ApiConfigSource) GetApiType() ApiConfigSource_ApiType {
	if m != nil {
		return m.ApiType
	}
	return ApiConfigSource_UNSUPPORTED_REST_LEGACY
}

func (m *ApiConfigSource) GetTransportApiVersion() ApiVersion {
	if m != nil {
		return m.TransportApiVersion
	}
	return ApiVersion_AUTO
}

func (m *ApiConfigSource) GetClusterNames() []string {
	if m != nil {
		return m.ClusterNames
	}
	return nil
}

func (m *ApiConfigSource) GetGrpcServices() []*GrpcService {
	if m != nil {
		return m.GrpcServices
	}
	return nil
}

func (m *ApiConfigSource) GetRefreshDelay() *duration.Duration {
	if m != nil {
		return m.RefreshDelay
	}
	return nil
}

func (m *ApiConfigSource) GetRequestTimeout() *duration.Duration {
	if m != nil {
		return m.RequestTimeout
	}
	return nil
}

func (m *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings {
	if m != nil {
		return m.RateLimitSettings
	}
	return nil
}

func (m *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool {
	if m != nil {
		return m.SetNodeOnFirstMessageOnly
	}
	return false
}

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

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

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

var xxx_messageInfo_AggregatedConfigSource proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_SelfConfigSource proto.InternalMessageInfo

type RateLimitSettings struct {
	MaxTokens            *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	FillRate             *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

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

var xxx_messageInfo_RateLimitSettings proto.InternalMessageInfo

func (m *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value {
	if m != nil {
		return m.MaxTokens
	}
	return nil
}

func (m *RateLimitSettings) GetFillRate() *wrappers.DoubleValue {
	if m != nil {
		return m.FillRate
	}
	return nil
}

type ConfigSource struct {

	ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
	InitialFetchTimeout   *duration.Duration                   `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"`
	ResourceApiVersion    ApiVersion                           `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"resource_api_version,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                             `json:"-"`
	XXX_unrecognized      []byte                               `json:"-"`
	XXX_sizecache         int32                                `json:"-"`
}

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

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

var xxx_messageInfo_ConfigSource proto.InternalMessageInfo

type isConfigSource_ConfigSourceSpecifier interface {
	isConfigSource_ConfigSourceSpecifier()
}

type ConfigSource_Path struct {
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type ConfigSource_ApiConfigSource struct {
	ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"`
}

type ConfigSource_Ads struct {
	Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"`
}

type ConfigSource_Self struct {
	Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"`
}

func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {}

func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier {
	if m != nil {
		return m.ConfigSourceSpecifier
	}
	return nil
}

func (m *ConfigSource) GetPath() string {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Path); ok {
		return x.Path
	}
	return ""
}

func (m *ConfigSource) GetApiConfigSource() *ApiConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok {
		return x.ApiConfigSource
	}
	return nil
}

func (m *ConfigSource) GetAds() *AggregatedConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok {
		return x.Ads
	}
	return nil
}

func (m *ConfigSource) GetSelf() *SelfConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Self); ok {
		return x.Self
	}
	return nil
}

func (m *ConfigSource) GetInitialFetchTimeout() *duration.Duration {
	if m != nil {
		return m.InitialFetchTimeout
	}
	return nil
}

func (m *ConfigSource) GetResourceApiVersion() ApiVersion {
	if m != nil {
		return m.ResourceApiVersion
	}
	return ApiVersion_AUTO
}

func (*ConfigSource) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ConfigSource_Path)(nil),
		(*ConfigSource_ApiConfigSource)(nil),
		(*ConfigSource_Ads)(nil),
		(*ConfigSource_Self)(nil),
	}
}

func init() {
	proto.RegisterEnum("envoy.api.v2.core.ApiVersion", ApiVersion_name, ApiVersion_value)
	proto.RegisterEnum("envoy.api.v2.core.ApiConfigSource_ApiType", ApiConfigSource_ApiType_name, ApiConfigSource_ApiType_value)
	proto.RegisterType((*ApiConfigSource)(nil), "envoy.api.v2.core.ApiConfigSource")
	proto.RegisterType((*AggregatedConfigSource)(nil), "envoy.api.v2.core.AggregatedConfigSource")
	proto.RegisterType((*SelfConfigSource)(nil), "envoy.api.v2.core.SelfConfigSource")
	proto.RegisterType((*RateLimitSettings)(nil), "envoy.api.v2.core.RateLimitSettings")
	proto.RegisterType((*ConfigSource)(nil), "envoy.api.v2.core.ConfigSource")
}

func init() {
	proto.RegisterFile("envoy/api/v2/core/config_source.proto", fileDescriptor_1ffcc55cf4c30535)
}

var fileDescriptor_1ffcc55cf4c30535 = []byte{

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

package envoy_api_v2_core

import (
	fmt "fmt"
	_ "github.com/cncf/udpa/go/udpa/annotations"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	wrappers "github.com/golang/protobuf/ptypes/wrappers"
	math "math"
)

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

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

type ApiVersion int32

const (
	ApiVersion_AUTO    ApiVersion = 0
	ApiVersion_V2      ApiVersion = 1
	ApiVersion_V3ALPHA ApiVersion = 2
)

var ApiVersion_name = map[int32]string{
	0: "AUTO",
	1: "V2",
	2: "V3ALPHA",
}

var ApiVersion_value = map[string]int32{
	"AUTO":    0,
	"V2":      1,
	"V3ALPHA": 2,
}

func (x ApiVersion) String() string {
	return proto.EnumName(ApiVersion_name, int32(x))
}

func (ApiVersion) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1ffcc55cf4c30535, []int{0}
}

type ApiConfigSource_ApiType int32

const (
	ApiConfigSource_UNSUPPORTED_REST_LEGACY ApiConfigSource_ApiType = 0 // Deprecated: Do not use.
	ApiConfigSource_REST                    ApiConfigSource_ApiType = 1
	ApiConfigSource_GRPC                    ApiConfigSource_ApiType = 2
	ApiConfigSource_DELTA_GRPC              ApiConfigSource_ApiType = 3
)

var ApiConfigSource_ApiType_name = map[int32]string{
	0: "UNSUPPORTED_REST_LEGACY",
	1: "REST",
	2: "GRPC",
	3: "DELTA_GRPC",
}

var ApiConfigSource_ApiType_value = map[string]int32{
	"UNSUPPORTED_REST_LEGACY": 0,
	"REST":                    1,
	"GRPC":                    2,
	"DELTA_GRPC":              3,
}

func (x ApiConfigSource_ApiType) String() string {
	return proto.EnumName(ApiConfigSource_ApiType_name, int32(x))
}

func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1ffcc55cf4c30535, []int{0, 0}
}

type ApiConfigSource struct {
	ApiType                   ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.api.v2.core.ApiConfigSource_ApiType" json:"api_type,omitempty"`
	TransportApiVersion       ApiVersion              `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"`
	ClusterNames              []string                `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"`
	GrpcServices              []*GrpcService          `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"`
	RefreshDelay              *duration.Duration      `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"`
	RequestTimeout            *duration.Duration      `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	RateLimitSettings         *RateLimitSettings      `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"`
	SetNodeOnFirstMessageOnly bool                    `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}                `json:"-"`
	XXX_unrecognized          []byte                  `json:"-"`
	XXX_sizecache             int32                   `json:"-"`
}

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

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

var xxx_messageInfo_ApiConfigSource proto.InternalMessageInfo

func (m *ApiConfigSource) GetApiType() ApiConfigSource_ApiType {
	if m != nil {
		return m.ApiType
	}
	return ApiConfigSource_UNSUPPORTED_REST_LEGACY
}

func (m *ApiConfigSource) GetTransportApiVersion() ApiVersion {
	if m != nil {
		return m.TransportApiVersion
	}
	return ApiVersion_AUTO
}

func (m *ApiConfigSource) GetClusterNames() []string {
	if m != nil {
		return m.ClusterNames
	}
	return nil
}

func (m *ApiConfigSource) GetGrpcServices() []*GrpcService {
	if m != nil {
		return m.GrpcServices
	}
	return nil
}

func (m *ApiConfigSource) GetRefreshDelay() *duration.Duration {
	if m != nil {
		return m.RefreshDelay
	}
	return nil
}

func (m *ApiConfigSource) GetRequestTimeout() *duration.Duration {
	if m != nil {
		return m.RequestTimeout
	}
	return nil
}

func (m *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings {
	if m != nil {
		return m.RateLimitSettings
	}
	return nil
}

func (m *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool {
	if m != nil {
		return m.SetNodeOnFirstMessageOnly
	}
	return false
}

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

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

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

var xxx_messageInfo_AggregatedConfigSource proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_SelfConfigSource proto.InternalMessageInfo

type RateLimitSettings struct {
	MaxTokens            *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	FillRate             *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

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

var xxx_messageInfo_RateLimitSettings proto.InternalMessageInfo

func (m *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value {
	if m != nil {
		return m.MaxTokens
	}
	return nil
}

func (m *RateLimitSettings) GetFillRate() *wrappers.DoubleValue {
	if m != nil {
		return m.FillRate
	}
	return nil
}

type ConfigSource struct {
	// Types that are valid to be assigned to ConfigSourceSpecifier:
	//	*ConfigSource_Path
	//	*ConfigSource_ApiConfigSource
	//	*ConfigSource_Ads
	//	*ConfigSource_Self
	ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
	InitialFetchTimeout   *duration.Duration                   `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"`
	ResourceApiVersion    ApiVersion                           `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"resource_api_version,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                             `json:"-"`
	XXX_unrecognized      []byte                               `json:"-"`
	XXX_sizecache         int32                                `json:"-"`
}

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

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

var xxx_messageInfo_ConfigSource proto.InternalMessageInfo

type isConfigSource_ConfigSourceSpecifier interface {
	isConfigSource_ConfigSourceSpecifier()
}

type ConfigSource_Path struct {
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type ConfigSource_ApiConfigSource struct {
	ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"`
}

type ConfigSource_Ads struct {
	Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"`
}

type ConfigSource_Self struct {
	Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"`
}

func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {}

func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {}

func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier {
	if m != nil {
		return m.ConfigSourceSpecifier
	}
	return nil
}

func (m *ConfigSource) GetPath() string {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Path); ok {
		return x.Path
	}
	return ""
}

func (m *ConfigSource) GetApiConfigSource() *ApiConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok {
		return x.ApiConfigSource
	}
	return nil
}

func (m *ConfigSource) GetAds() *AggregatedConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok {
		return x.Ads
	}
	return nil
}

func (m *ConfigSource) GetSelf() *SelfConfigSource {
	if x, ok := m.GetConfigSourceSpecifier().(*ConfigSource_Self); ok {
		return x.Self
	}
	return nil
}

func (m *ConfigSource) GetInitialFetchTimeout() *duration.Duration {
	if m != nil {
		return m.InitialFetchTimeout
	}
	return nil
}

func (m *ConfigSource) GetResourceApiVersion() ApiVersion {
	if m != nil {
		return m.ResourceApiVersion
	}
	return ApiVersion_AUTO
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ConfigSource) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ConfigSource_Path)(nil),
		(*ConfigSource_ApiConfigSource)(nil),
		(*ConfigSource_Ads)(nil),
		(*ConfigSource_Self)(nil),
	}
}

func init() {
	proto.RegisterEnum("envoy.api.v2.core.ApiVersion", ApiVersion_name, ApiVersion_value)
	proto.RegisterEnum("envoy.api.v2.core.ApiConfigSource_ApiType", ApiConfigSource_ApiType_name, ApiConfigSource_ApiType_value)
	proto.RegisterType((*ApiConfigSource)(nil), "envoy.api.v2.core.ApiConfigSource")
	proto.RegisterType((*AggregatedConfigSource)(nil), "envoy.api.v2.core.AggregatedConfigSource")
	proto.RegisterType((*SelfConfigSource)(nil), "envoy.api.v2.core.SelfConfigSource")
	proto.RegisterType((*RateLimitSettings)(nil), "envoy.api.v2.core.RateLimitSettings")
	proto.RegisterType((*ConfigSource)(nil), "envoy.api.v2.core.ConfigSource")
}

func init() {
	proto.RegisterFile("envoy/api/v2/core/config_source.proto", fileDescriptor_1ffcc55cf4c30535)
}

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