open-consul/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster.pb.go

1851 lines
83 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: envoy/api/v2/cluster.proto
package envoy_api_v2
import (
fmt "fmt"
_ "github.com/cncf/udpa/go/udpa/annotations"
_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth"
cluster "github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster"
core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
_type "github.com/envoyproxy/go-control-plane/envoy/type"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
proto "github.com/golang/protobuf/proto"
any "github.com/golang/protobuf/ptypes/any"
duration "github.com/golang/protobuf/ptypes/duration"
_struct "github.com/golang/protobuf/ptypes/struct"
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 Cluster_DiscoveryType int32
const (
Cluster_STATIC Cluster_DiscoveryType = 0
Cluster_STRICT_DNS Cluster_DiscoveryType = 1
Cluster_LOGICAL_DNS Cluster_DiscoveryType = 2
Cluster_EDS Cluster_DiscoveryType = 3
Cluster_ORIGINAL_DST Cluster_DiscoveryType = 4
)
var Cluster_DiscoveryType_name = map[int32]string{
0: "STATIC",
1: "STRICT_DNS",
2: "LOGICAL_DNS",
3: "EDS",
4: "ORIGINAL_DST",
}
var Cluster_DiscoveryType_value = map[string]int32{
"STATIC": 0,
"STRICT_DNS": 1,
"LOGICAL_DNS": 2,
"EDS": 3,
"ORIGINAL_DST": 4,
}
func (x Cluster_DiscoveryType) String() string {
return proto.EnumName(Cluster_DiscoveryType_name, int32(x))
}
func (Cluster_DiscoveryType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 0}
}
type Cluster_LbPolicy int32
const (
Cluster_ROUND_ROBIN Cluster_LbPolicy = 0
Cluster_LEAST_REQUEST Cluster_LbPolicy = 1
Cluster_RING_HASH Cluster_LbPolicy = 2
Cluster_RANDOM Cluster_LbPolicy = 3
Cluster_ORIGINAL_DST_LB Cluster_LbPolicy = 4 // Deprecated: Do not use.
Cluster_MAGLEV Cluster_LbPolicy = 5
Cluster_CLUSTER_PROVIDED Cluster_LbPolicy = 6
Cluster_LOAD_BALANCING_POLICY_CONFIG Cluster_LbPolicy = 7
)
var Cluster_LbPolicy_name = map[int32]string{
0: "ROUND_ROBIN",
1: "LEAST_REQUEST",
2: "RING_HASH",
3: "RANDOM",
4: "ORIGINAL_DST_LB",
5: "MAGLEV",
6: "CLUSTER_PROVIDED",
7: "LOAD_BALANCING_POLICY_CONFIG",
}
var Cluster_LbPolicy_value = map[string]int32{
"ROUND_ROBIN": 0,
"LEAST_REQUEST": 1,
"RING_HASH": 2,
"RANDOM": 3,
"ORIGINAL_DST_LB": 4,
"MAGLEV": 5,
"CLUSTER_PROVIDED": 6,
"LOAD_BALANCING_POLICY_CONFIG": 7,
}
func (x Cluster_LbPolicy) String() string {
return proto.EnumName(Cluster_LbPolicy_name, int32(x))
}
func (Cluster_LbPolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 1}
}
type Cluster_DnsLookupFamily int32
const (
Cluster_AUTO Cluster_DnsLookupFamily = 0
Cluster_V4_ONLY Cluster_DnsLookupFamily = 1
Cluster_V6_ONLY Cluster_DnsLookupFamily = 2
)
var Cluster_DnsLookupFamily_name = map[int32]string{
0: "AUTO",
1: "V4_ONLY",
2: "V6_ONLY",
}
var Cluster_DnsLookupFamily_value = map[string]int32{
"AUTO": 0,
"V4_ONLY": 1,
"V6_ONLY": 2,
}
func (x Cluster_DnsLookupFamily) String() string {
return proto.EnumName(Cluster_DnsLookupFamily_name, int32(x))
}
func (Cluster_DnsLookupFamily) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 2}
}
type Cluster_ClusterProtocolSelection int32
const (
Cluster_USE_CONFIGURED_PROTOCOL Cluster_ClusterProtocolSelection = 0
Cluster_USE_DOWNSTREAM_PROTOCOL Cluster_ClusterProtocolSelection = 1
)
var Cluster_ClusterProtocolSelection_name = map[int32]string{
0: "USE_CONFIGURED_PROTOCOL",
1: "USE_DOWNSTREAM_PROTOCOL",
}
var Cluster_ClusterProtocolSelection_value = map[string]int32{
"USE_CONFIGURED_PROTOCOL": 0,
"USE_DOWNSTREAM_PROTOCOL": 1,
}
func (x Cluster_ClusterProtocolSelection) String() string {
return proto.EnumName(Cluster_ClusterProtocolSelection_name, int32(x))
}
func (Cluster_ClusterProtocolSelection) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 3}
}
type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy int32
const (
Cluster_LbSubsetConfig_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 0
Cluster_LbSubsetConfig_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 1
Cluster_LbSubsetConfig_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 2
)
var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{
0: "NO_FALLBACK",
1: "ANY_ENDPOINT",
2: "DEFAULT_SUBSET",
}
var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{
"NO_FALLBACK": 0,
"ANY_ENDPOINT": 1,
"DEFAULT_SUBSET": 2,
}
func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String() string {
return proto.EnumName(Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name, int32(x))
}
func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 3, 0}
}
type Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy int32
const (
Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 0
Cluster_LbSubsetConfig_LbSubsetSelector_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 1
Cluster_LbSubsetConfig_LbSubsetSelector_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 2
Cluster_LbSubsetConfig_LbSubsetSelector_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 3
Cluster_LbSubsetConfig_LbSubsetSelector_KEYS_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 4
)
var Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name = map[int32]string{
0: "NOT_DEFINED",
1: "NO_FALLBACK",
2: "ANY_ENDPOINT",
3: "DEFAULT_SUBSET",
4: "KEYS_SUBSET",
}
var Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_value = map[string]int32{
"NOT_DEFINED": 0,
"NO_FALLBACK": 1,
"ANY_ENDPOINT": 2,
"DEFAULT_SUBSET": 3,
"KEYS_SUBSET": 4,
}
func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) String() string {
return proto.EnumName(Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name, int32(x))
}
func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 3, 0, 0}
}
type Cluster_RingHashLbConfig_HashFunction int32
const (
Cluster_RingHashLbConfig_XX_HASH Cluster_RingHashLbConfig_HashFunction = 0
Cluster_RingHashLbConfig_MURMUR_HASH_2 Cluster_RingHashLbConfig_HashFunction = 1
)
var Cluster_RingHashLbConfig_HashFunction_name = map[int32]string{
0: "XX_HASH",
1: "MURMUR_HASH_2",
}
var Cluster_RingHashLbConfig_HashFunction_value = map[string]int32{
"XX_HASH": 0,
"MURMUR_HASH_2": 1,
}
func (x Cluster_RingHashLbConfig_HashFunction) String() string {
return proto.EnumName(Cluster_RingHashLbConfig_HashFunction_name, int32(x))
}
func (Cluster_RingHashLbConfig_HashFunction) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 5, 0}
}
type Cluster struct {
TransportSocketMatches []*Cluster_TransportSocketMatch `protobuf:"bytes,43,rep,name=transport_socket_matches,json=transportSocketMatches,proto3" json:"transport_socket_matches,omitempty"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"`
// Types that are valid to be assigned to ClusterDiscoveryType:
// *Cluster_Type
// *Cluster_ClusterType
ClusterDiscoveryType isCluster_ClusterDiscoveryType `protobuf_oneof:"cluster_discovery_type"`
EdsClusterConfig *Cluster_EdsClusterConfig `protobuf:"bytes,3,opt,name=eds_cluster_config,json=edsClusterConfig,proto3" json:"eds_cluster_config,omitempty"`
ConnectTimeout *duration.Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"`
LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.api.v2.Cluster_LbPolicy" json:"lb_policy,omitempty"`
Hosts []*core.Address `protobuf:"bytes,7,rep,name=hosts,proto3" json:"hosts,omitempty"` // Deprecated: Do not use.
LoadAssignment *ClusterLoadAssignment `protobuf:"bytes,33,opt,name=load_assignment,json=loadAssignment,proto3" json:"load_assignment,omitempty"`
HealthChecks []*core.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
MaxRequestsPerConnection *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
CircuitBreakers *cluster.CircuitBreakers `protobuf:"bytes,10,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
TlsContext *auth.UpstreamTlsContext `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"` // Deprecated: Do not use.
UpstreamHttpProtocolOptions *core.UpstreamHttpProtocolOptions `protobuf:"bytes,46,opt,name=upstream_http_protocol_options,json=upstreamHttpProtocolOptions,proto3" json:"upstream_http_protocol_options,omitempty"`
CommonHttpProtocolOptions *core.HttpProtocolOptions `protobuf:"bytes,29,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"`
HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"`
Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
ExtensionProtocolOptions map[string]*_struct.Struct `protobuf:"bytes,35,rep,name=extension_protocol_options,json=extensionProtocolOptions,proto3" json:"extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
TypedExtensionProtocolOptions map[string]*any.Any `protobuf:"bytes,36,rep,name=typed_extension_protocol_options,json=typedExtensionProtocolOptions,proto3" json:"typed_extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
DnsRefreshRate *duration.Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
DnsFailureRefreshRate *Cluster_RefreshRate `protobuf:"bytes,44,opt,name=dns_failure_refresh_rate,json=dnsFailureRefreshRate,proto3" json:"dns_failure_refresh_rate,omitempty"`
RespectDnsTtl bool `protobuf:"varint,39,opt,name=respect_dns_ttl,json=respectDnsTtl,proto3" json:"respect_dns_ttl,omitempty"`
DnsLookupFamily Cluster_DnsLookupFamily `protobuf:"varint,17,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.api.v2.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"`
DnsResolvers []*core.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers,proto3" json:"dns_resolvers,omitempty"`
UseTcpForDnsLookups bool `protobuf:"varint,45,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"`
OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,19,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
CleanupInterval *duration.Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,proto3" json:"cleanup_interval,omitempty"`
UpstreamBindConfig *core.BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"`
LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig,proto3" json:"lb_subset_config,omitempty"`
// Types that are valid to be assigned to LbConfig:
// *Cluster_RingHashLbConfig_
// *Cluster_OriginalDstLbConfig_
// *Cluster_LeastRequestLbConfig_
LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"`
CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig,proto3" json:"common_lb_config,omitempty"`
TransportSocket *core.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
Metadata *core.Metadata `protobuf:"bytes,25,opt,name=metadata,proto3" json:"metadata,omitempty"`
ProtocolSelection Cluster_ClusterProtocolSelection `protobuf:"varint,26,opt,name=protocol_selection,json=protocolSelection,proto3,enum=envoy.api.v2.Cluster_ClusterProtocolSelection" json:"protocol_selection,omitempty"`
UpstreamConnectionOptions *UpstreamConnectionOptions `protobuf:"bytes,30,opt,name=upstream_connection_options,json=upstreamConnectionOptions,proto3" json:"upstream_connection_options,omitempty"`
CloseConnectionsOnHostHealthFailure bool `protobuf:"varint,31,opt,name=close_connections_on_host_health_failure,json=closeConnectionsOnHostHealthFailure,proto3" json:"close_connections_on_host_health_failure,omitempty"`
DrainConnectionsOnHostRemoval bool `protobuf:"varint,32,opt,name=drain_connections_on_host_removal,json=drainConnectionsOnHostRemoval,proto3" json:"drain_connections_on_host_removal,omitempty"`
Filters []*cluster.Filter `protobuf:"bytes,40,rep,name=filters,proto3" json:"filters,omitempty"`
LoadBalancingPolicy *LoadBalancingPolicy `protobuf:"bytes,41,opt,name=load_balancing_policy,json=loadBalancingPolicy,proto3" json:"load_balancing_policy,omitempty"`
LrsServer *core.ConfigSource `protobuf:"bytes,42,opt,name=lrs_server,json=lrsServer,proto3" json:"lrs_server,omitempty"`
TrackTimeoutBudgets bool `protobuf:"varint,47,opt,name=track_timeout_budgets,json=trackTimeoutBudgets,proto3" json:"track_timeout_budgets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster) Reset() { *m = Cluster{} }
func (m *Cluster) String() string { return proto.CompactTextString(m) }
func (*Cluster) ProtoMessage() {}
func (*Cluster) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0}
}
func (m *Cluster) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster.Unmarshal(m, b)
}
func (m *Cluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster.Marshal(b, m, deterministic)
}
func (m *Cluster) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster.Merge(m, src)
}
func (m *Cluster) XXX_Size() int {
return xxx_messageInfo_Cluster.Size(m)
}
func (m *Cluster) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster proto.InternalMessageInfo
func (m *Cluster) GetTransportSocketMatches() []*Cluster_TransportSocketMatch {
if m != nil {
return m.TransportSocketMatches
}
return nil
}
func (m *Cluster) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Cluster) GetAltStatName() string {
if m != nil {
return m.AltStatName
}
return ""
}
type isCluster_ClusterDiscoveryType interface {
isCluster_ClusterDiscoveryType()
}
type Cluster_Type struct {
Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=envoy.api.v2.Cluster_DiscoveryType,oneof"`
}
type Cluster_ClusterType struct {
ClusterType *Cluster_CustomClusterType `protobuf:"bytes,38,opt,name=cluster_type,json=clusterType,proto3,oneof"`
}
func (*Cluster_Type) isCluster_ClusterDiscoveryType() {}
func (*Cluster_ClusterType) isCluster_ClusterDiscoveryType() {}
func (m *Cluster) GetClusterDiscoveryType() isCluster_ClusterDiscoveryType {
if m != nil {
return m.ClusterDiscoveryType
}
return nil
}
func (m *Cluster) GetType() Cluster_DiscoveryType {
if x, ok := m.GetClusterDiscoveryType().(*Cluster_Type); ok {
return x.Type
}
return Cluster_STATIC
}
func (m *Cluster) GetClusterType() *Cluster_CustomClusterType {
if x, ok := m.GetClusterDiscoveryType().(*Cluster_ClusterType); ok {
return x.ClusterType
}
return nil
}
func (m *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig {
if m != nil {
return m.EdsClusterConfig
}
return nil
}
func (m *Cluster) GetConnectTimeout() *duration.Duration {
if m != nil {
return m.ConnectTimeout
}
return nil
}
func (m *Cluster) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value {
if m != nil {
return m.PerConnectionBufferLimitBytes
}
return nil
}
func (m *Cluster) GetLbPolicy() Cluster_LbPolicy {
if m != nil {
return m.LbPolicy
}
return Cluster_ROUND_ROBIN
}
// Deprecated: Do not use.
func (m *Cluster) GetHosts() []*core.Address {
if m != nil {
return m.Hosts
}
return nil
}
func (m *Cluster) GetLoadAssignment() *ClusterLoadAssignment {
if m != nil {
return m.LoadAssignment
}
return nil
}
func (m *Cluster) GetHealthChecks() []*core.HealthCheck {
if m != nil {
return m.HealthChecks
}
return nil
}
func (m *Cluster) GetMaxRequestsPerConnection() *wrappers.UInt32Value {
if m != nil {
return m.MaxRequestsPerConnection
}
return nil
}
func (m *Cluster) GetCircuitBreakers() *cluster.CircuitBreakers {
if m != nil {
return m.CircuitBreakers
}
return nil
}
// Deprecated: Do not use.
func (m *Cluster) GetTlsContext() *auth.UpstreamTlsContext {
if m != nil {
return m.TlsContext
}
return nil
}
func (m *Cluster) GetUpstreamHttpProtocolOptions() *core.UpstreamHttpProtocolOptions {
if m != nil {
return m.UpstreamHttpProtocolOptions
}
return nil
}
func (m *Cluster) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions {
if m != nil {
return m.CommonHttpProtocolOptions
}
return nil
}
func (m *Cluster) GetHttpProtocolOptions() *core.Http1ProtocolOptions {
if m != nil {
return m.HttpProtocolOptions
}
return nil
}
func (m *Cluster) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions {
if m != nil {
return m.Http2ProtocolOptions
}
return nil
}
// Deprecated: Do not use.
func (m *Cluster) GetExtensionProtocolOptions() map[string]*_struct.Struct {
if m != nil {
return m.ExtensionProtocolOptions
}
return nil
}
func (m *Cluster) GetTypedExtensionProtocolOptions() map[string]*any.Any {
if m != nil {
return m.TypedExtensionProtocolOptions
}
return nil
}
func (m *Cluster) GetDnsRefreshRate() *duration.Duration {
if m != nil {
return m.DnsRefreshRate
}
return nil
}
func (m *Cluster) GetDnsFailureRefreshRate() *Cluster_RefreshRate {
if m != nil {
return m.DnsFailureRefreshRate
}
return nil
}
func (m *Cluster) GetRespectDnsTtl() bool {
if m != nil {
return m.RespectDnsTtl
}
return false
}
func (m *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily {
if m != nil {
return m.DnsLookupFamily
}
return Cluster_AUTO
}
func (m *Cluster) GetDnsResolvers() []*core.Address {
if m != nil {
return m.DnsResolvers
}
return nil
}
func (m *Cluster) GetUseTcpForDnsLookups() bool {
if m != nil {
return m.UseTcpForDnsLookups
}
return false
}
func (m *Cluster) GetOutlierDetection() *cluster.OutlierDetection {
if m != nil {
return m.OutlierDetection
}
return nil
}
func (m *Cluster) GetCleanupInterval() *duration.Duration {
if m != nil {
return m.CleanupInterval
}
return nil
}
func (m *Cluster) GetUpstreamBindConfig() *core.BindConfig {
if m != nil {
return m.UpstreamBindConfig
}
return nil
}
func (m *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig {
if m != nil {
return m.LbSubsetConfig
}
return nil
}
type isCluster_LbConfig interface {
isCluster_LbConfig()
}
type Cluster_RingHashLbConfig_ struct {
RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,proto3,oneof"`
}
type Cluster_OriginalDstLbConfig_ struct {
OriginalDstLbConfig *Cluster_OriginalDstLbConfig `protobuf:"bytes,34,opt,name=original_dst_lb_config,json=originalDstLbConfig,proto3,oneof"`
}
type Cluster_LeastRequestLbConfig_ struct {
LeastRequestLbConfig *Cluster_LeastRequestLbConfig `protobuf:"bytes,37,opt,name=least_request_lb_config,json=leastRequestLbConfig,proto3,oneof"`
}
func (*Cluster_RingHashLbConfig_) isCluster_LbConfig() {}
func (*Cluster_OriginalDstLbConfig_) isCluster_LbConfig() {}
func (*Cluster_LeastRequestLbConfig_) isCluster_LbConfig() {}
func (m *Cluster) GetLbConfig() isCluster_LbConfig {
if m != nil {
return m.LbConfig
}
return nil
}
func (m *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig {
if x, ok := m.GetLbConfig().(*Cluster_RingHashLbConfig_); ok {
return x.RingHashLbConfig
}
return nil
}
func (m *Cluster) GetOriginalDstLbConfig() *Cluster_OriginalDstLbConfig {
if x, ok := m.GetLbConfig().(*Cluster_OriginalDstLbConfig_); ok {
return x.OriginalDstLbConfig
}
return nil
}
func (m *Cluster) GetLeastRequestLbConfig() *Cluster_LeastRequestLbConfig {
if x, ok := m.GetLbConfig().(*Cluster_LeastRequestLbConfig_); ok {
return x.LeastRequestLbConfig
}
return nil
}
func (m *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig {
if m != nil {
return m.CommonLbConfig
}
return nil
}
func (m *Cluster) GetTransportSocket() *core.TransportSocket {
if m != nil {
return m.TransportSocket
}
return nil
}
func (m *Cluster) GetMetadata() *core.Metadata {
if m != nil {
return m.Metadata
}
return nil
}
func (m *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection {
if m != nil {
return m.ProtocolSelection
}
return Cluster_USE_CONFIGURED_PROTOCOL
}
func (m *Cluster) GetUpstreamConnectionOptions() *UpstreamConnectionOptions {
if m != nil {
return m.UpstreamConnectionOptions
}
return nil
}
func (m *Cluster) GetCloseConnectionsOnHostHealthFailure() bool {
if m != nil {
return m.CloseConnectionsOnHostHealthFailure
}
return false
}
func (m *Cluster) GetDrainConnectionsOnHostRemoval() bool {
if m != nil {
return m.DrainConnectionsOnHostRemoval
}
return false
}
func (m *Cluster) GetFilters() []*cluster.Filter {
if m != nil {
return m.Filters
}
return nil
}
func (m *Cluster) GetLoadBalancingPolicy() *LoadBalancingPolicy {
if m != nil {
return m.LoadBalancingPolicy
}
return nil
}
func (m *Cluster) GetLrsServer() *core.ConfigSource {
if m != nil {
return m.LrsServer
}
return nil
}
func (m *Cluster) GetTrackTimeoutBudgets() bool {
if m != nil {
return m.TrackTimeoutBudgets
}
return false
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Cluster) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Cluster_Type)(nil),
(*Cluster_ClusterType)(nil),
(*Cluster_RingHashLbConfig_)(nil),
(*Cluster_OriginalDstLbConfig_)(nil),
(*Cluster_LeastRequestLbConfig_)(nil),
}
}
type Cluster_TransportSocketMatch struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Match *_struct.Struct `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
TransportSocket *core.TransportSocket `protobuf:"bytes,3,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_TransportSocketMatch) Reset() { *m = Cluster_TransportSocketMatch{} }
func (m *Cluster_TransportSocketMatch) String() string { return proto.CompactTextString(m) }
func (*Cluster_TransportSocketMatch) ProtoMessage() {}
func (*Cluster_TransportSocketMatch) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 0}
}
func (m *Cluster_TransportSocketMatch) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_TransportSocketMatch.Unmarshal(m, b)
}
func (m *Cluster_TransportSocketMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_TransportSocketMatch.Marshal(b, m, deterministic)
}
func (m *Cluster_TransportSocketMatch) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_TransportSocketMatch.Merge(m, src)
}
func (m *Cluster_TransportSocketMatch) XXX_Size() int {
return xxx_messageInfo_Cluster_TransportSocketMatch.Size(m)
}
func (m *Cluster_TransportSocketMatch) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_TransportSocketMatch.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_TransportSocketMatch proto.InternalMessageInfo
func (m *Cluster_TransportSocketMatch) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Cluster_TransportSocketMatch) GetMatch() *_struct.Struct {
if m != nil {
return m.Match
}
return nil
}
func (m *Cluster_TransportSocketMatch) GetTransportSocket() *core.TransportSocket {
if m != nil {
return m.TransportSocket
}
return nil
}
type Cluster_CustomClusterType struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
TypedConfig *any.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_CustomClusterType) Reset() { *m = Cluster_CustomClusterType{} }
func (m *Cluster_CustomClusterType) String() string { return proto.CompactTextString(m) }
func (*Cluster_CustomClusterType) ProtoMessage() {}
func (*Cluster_CustomClusterType) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 1}
}
func (m *Cluster_CustomClusterType) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_CustomClusterType.Unmarshal(m, b)
}
func (m *Cluster_CustomClusterType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_CustomClusterType.Marshal(b, m, deterministic)
}
func (m *Cluster_CustomClusterType) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_CustomClusterType.Merge(m, src)
}
func (m *Cluster_CustomClusterType) XXX_Size() int {
return xxx_messageInfo_Cluster_CustomClusterType.Size(m)
}
func (m *Cluster_CustomClusterType) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_CustomClusterType.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_CustomClusterType proto.InternalMessageInfo
func (m *Cluster_CustomClusterType) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Cluster_CustomClusterType) GetTypedConfig() *any.Any {
if m != nil {
return m.TypedConfig
}
return nil
}
type Cluster_EdsClusterConfig struct {
EdsConfig *core.ConfigSource `protobuf:"bytes,1,opt,name=eds_config,json=edsConfig,proto3" json:"eds_config,omitempty"`
ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_EdsClusterConfig) Reset() { *m = Cluster_EdsClusterConfig{} }
func (m *Cluster_EdsClusterConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_EdsClusterConfig) ProtoMessage() {}
func (*Cluster_EdsClusterConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 2}
}
func (m *Cluster_EdsClusterConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_EdsClusterConfig.Unmarshal(m, b)
}
func (m *Cluster_EdsClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_EdsClusterConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_EdsClusterConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_EdsClusterConfig.Merge(m, src)
}
func (m *Cluster_EdsClusterConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_EdsClusterConfig.Size(m)
}
func (m *Cluster_EdsClusterConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_EdsClusterConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_EdsClusterConfig proto.InternalMessageInfo
func (m *Cluster_EdsClusterConfig) GetEdsConfig() *core.ConfigSource {
if m != nil {
return m.EdsConfig
}
return nil
}
func (m *Cluster_EdsClusterConfig) GetServiceName() string {
if m != nil {
return m.ServiceName
}
return ""
}
type Cluster_LbSubsetConfig struct {
FallbackPolicy Cluster_LbSubsetConfig_LbSubsetFallbackPolicy `protobuf:"varint,1,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy" json:"fallback_policy,omitempty"`
DefaultSubset *_struct.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" json:"default_subset,omitempty"`
SubsetSelectors []*Cluster_LbSubsetConfig_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors,proto3" json:"subset_selectors,omitempty"`
LocalityWeightAware bool `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"`
ScaleLocalityWeight bool `protobuf:"varint,5,opt,name=scale_locality_weight,json=scaleLocalityWeight,proto3" json:"scale_locality_weight,omitempty"`
PanicModeAny bool `protobuf:"varint,6,opt,name=panic_mode_any,json=panicModeAny,proto3" json:"panic_mode_any,omitempty"`
ListAsAny bool `protobuf:"varint,7,opt,name=list_as_any,json=listAsAny,proto3" json:"list_as_any,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_LbSubsetConfig) Reset() { *m = Cluster_LbSubsetConfig{} }
func (m *Cluster_LbSubsetConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_LbSubsetConfig) ProtoMessage() {}
func (*Cluster_LbSubsetConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 3}
}
func (m *Cluster_LbSubsetConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_LbSubsetConfig.Unmarshal(m, b)
}
func (m *Cluster_LbSubsetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_LbSubsetConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_LbSubsetConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_LbSubsetConfig.Merge(m, src)
}
func (m *Cluster_LbSubsetConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_LbSubsetConfig.Size(m)
}
func (m *Cluster_LbSubsetConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_LbSubsetConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_LbSubsetConfig proto.InternalMessageInfo
func (m *Cluster_LbSubsetConfig) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetFallbackPolicy {
if m != nil {
return m.FallbackPolicy
}
return Cluster_LbSubsetConfig_NO_FALLBACK
}
func (m *Cluster_LbSubsetConfig) GetDefaultSubset() *_struct.Struct {
if m != nil {
return m.DefaultSubset
}
return nil
}
func (m *Cluster_LbSubsetConfig) GetSubsetSelectors() []*Cluster_LbSubsetConfig_LbSubsetSelector {
if m != nil {
return m.SubsetSelectors
}
return nil
}
func (m *Cluster_LbSubsetConfig) GetLocalityWeightAware() bool {
if m != nil {
return m.LocalityWeightAware
}
return false
}
func (m *Cluster_LbSubsetConfig) GetScaleLocalityWeight() bool {
if m != nil {
return m.ScaleLocalityWeight
}
return false
}
func (m *Cluster_LbSubsetConfig) GetPanicModeAny() bool {
if m != nil {
return m.PanicModeAny
}
return false
}
func (m *Cluster_LbSubsetConfig) GetListAsAny() bool {
if m != nil {
return m.ListAsAny
}
return false
}
type Cluster_LbSubsetConfig_LbSubsetSelector struct {
Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
FallbackPolicy Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy `protobuf:"varint,2,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy" json:"fallback_policy,omitempty"`
FallbackKeysSubset []string `protobuf:"bytes,3,rep,name=fallback_keys_subset,json=fallbackKeysSubset,proto3" json:"fallback_keys_subset,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Reset() {
*m = Cluster_LbSubsetConfig_LbSubsetSelector{}
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) String() string { return proto.CompactTextString(m) }
func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage() {}
func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 3, 0}
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Unmarshal(m, b)
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Marshal(b, m, deterministic)
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Merge(m, src)
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Size() int {
return xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Size(m)
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector proto.InternalMessageInfo
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys() []string {
if m != nil {
return m.Keys
}
return nil
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy {
if m != nil {
return m.FallbackPolicy
}
return Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED
}
func (m *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackKeysSubset() []string {
if m != nil {
return m.FallbackKeysSubset
}
return nil
}
type Cluster_LeastRequestLbConfig struct {
ChoiceCount *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_LeastRequestLbConfig) Reset() { *m = Cluster_LeastRequestLbConfig{} }
func (m *Cluster_LeastRequestLbConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_LeastRequestLbConfig) ProtoMessage() {}
func (*Cluster_LeastRequestLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 4}
}
func (m *Cluster_LeastRequestLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_LeastRequestLbConfig.Unmarshal(m, b)
}
func (m *Cluster_LeastRequestLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_LeastRequestLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_LeastRequestLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_LeastRequestLbConfig.Merge(m, src)
}
func (m *Cluster_LeastRequestLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_LeastRequestLbConfig.Size(m)
}
func (m *Cluster_LeastRequestLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_LeastRequestLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_LeastRequestLbConfig proto.InternalMessageInfo
func (m *Cluster_LeastRequestLbConfig) GetChoiceCount() *wrappers.UInt32Value {
if m != nil {
return m.ChoiceCount
}
return nil
}
type Cluster_RingHashLbConfig struct {
MinimumRingSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
HashFunction Cluster_RingHashLbConfig_HashFunction `protobuf:"varint,3,opt,name=hash_function,json=hashFunction,proto3,enum=envoy.api.v2.Cluster_RingHashLbConfig_HashFunction" json:"hash_function,omitempty"`
MaximumRingSize *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_RingHashLbConfig) Reset() { *m = Cluster_RingHashLbConfig{} }
func (m *Cluster_RingHashLbConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_RingHashLbConfig) ProtoMessage() {}
func (*Cluster_RingHashLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 5}
}
func (m *Cluster_RingHashLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_RingHashLbConfig.Unmarshal(m, b)
}
func (m *Cluster_RingHashLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_RingHashLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_RingHashLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_RingHashLbConfig.Merge(m, src)
}
func (m *Cluster_RingHashLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_RingHashLbConfig.Size(m)
}
func (m *Cluster_RingHashLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_RingHashLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_RingHashLbConfig proto.InternalMessageInfo
func (m *Cluster_RingHashLbConfig) GetMinimumRingSize() *wrappers.UInt64Value {
if m != nil {
return m.MinimumRingSize
}
return nil
}
func (m *Cluster_RingHashLbConfig) GetHashFunction() Cluster_RingHashLbConfig_HashFunction {
if m != nil {
return m.HashFunction
}
return Cluster_RingHashLbConfig_XX_HASH
}
func (m *Cluster_RingHashLbConfig) GetMaximumRingSize() *wrappers.UInt64Value {
if m != nil {
return m.MaximumRingSize
}
return nil
}
type Cluster_OriginalDstLbConfig struct {
UseHttpHeader bool `protobuf:"varint,1,opt,name=use_http_header,json=useHttpHeader,proto3" json:"use_http_header,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_OriginalDstLbConfig) Reset() { *m = Cluster_OriginalDstLbConfig{} }
func (m *Cluster_OriginalDstLbConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_OriginalDstLbConfig) ProtoMessage() {}
func (*Cluster_OriginalDstLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 6}
}
func (m *Cluster_OriginalDstLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_OriginalDstLbConfig.Unmarshal(m, b)
}
func (m *Cluster_OriginalDstLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_OriginalDstLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_OriginalDstLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_OriginalDstLbConfig.Merge(m, src)
}
func (m *Cluster_OriginalDstLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_OriginalDstLbConfig.Size(m)
}
func (m *Cluster_OriginalDstLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_OriginalDstLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_OriginalDstLbConfig proto.InternalMessageInfo
func (m *Cluster_OriginalDstLbConfig) GetUseHttpHeader() bool {
if m != nil {
return m.UseHttpHeader
}
return false
}
type Cluster_CommonLbConfig struct {
HealthyPanicThreshold *_type.Percent `protobuf:"bytes,1,opt,name=healthy_panic_threshold,json=healthyPanicThreshold,proto3" json:"healthy_panic_threshold,omitempty"`
// Types that are valid to be assigned to LocalityConfigSpecifier:
// *Cluster_CommonLbConfig_ZoneAwareLbConfig_
// *Cluster_CommonLbConfig_LocalityWeightedLbConfig_
LocalityConfigSpecifier isCluster_CommonLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"`
UpdateMergeWindow *duration.Duration `protobuf:"bytes,4,opt,name=update_merge_window,json=updateMergeWindow,proto3" json:"update_merge_window,omitempty"`
IgnoreNewHostsUntilFirstHc bool `protobuf:"varint,5,opt,name=ignore_new_hosts_until_first_hc,json=ignoreNewHostsUntilFirstHc,proto3" json:"ignore_new_hosts_until_first_hc,omitempty"`
CloseConnectionsOnHostSetChange bool `protobuf:"varint,6,opt,name=close_connections_on_host_set_change,json=closeConnectionsOnHostSetChange,proto3" json:"close_connections_on_host_set_change,omitempty"`
ConsistentHashingLbConfig *Cluster_CommonLbConfig_ConsistentHashingLbConfig `protobuf:"bytes,7,opt,name=consistent_hashing_lb_config,json=consistentHashingLbConfig,proto3" json:"consistent_hashing_lb_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_CommonLbConfig) Reset() { *m = Cluster_CommonLbConfig{} }
func (m *Cluster_CommonLbConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_CommonLbConfig) ProtoMessage() {}
func (*Cluster_CommonLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 7}
}
func (m *Cluster_CommonLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_CommonLbConfig.Unmarshal(m, b)
}
func (m *Cluster_CommonLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_CommonLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_CommonLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_CommonLbConfig.Merge(m, src)
}
func (m *Cluster_CommonLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_CommonLbConfig.Size(m)
}
func (m *Cluster_CommonLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_CommonLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_CommonLbConfig proto.InternalMessageInfo
func (m *Cluster_CommonLbConfig) GetHealthyPanicThreshold() *_type.Percent {
if m != nil {
return m.HealthyPanicThreshold
}
return nil
}
type isCluster_CommonLbConfig_LocalityConfigSpecifier interface {
isCluster_CommonLbConfig_LocalityConfigSpecifier()
}
type Cluster_CommonLbConfig_ZoneAwareLbConfig_ struct {
ZoneAwareLbConfig *Cluster_CommonLbConfig_ZoneAwareLbConfig `protobuf:"bytes,2,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,proto3,oneof"`
}
type Cluster_CommonLbConfig_LocalityWeightedLbConfig_ struct {
LocalityWeightedLbConfig *Cluster_CommonLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"`
}
func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() {}
func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() {
}
func (m *Cluster_CommonLbConfig) GetLocalityConfigSpecifier() isCluster_CommonLbConfig_LocalityConfigSpecifier {
if m != nil {
return m.LocalityConfigSpecifier
}
return nil
}
func (m *Cluster_CommonLbConfig) GetZoneAwareLbConfig() *Cluster_CommonLbConfig_ZoneAwareLbConfig {
if x, ok := m.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_ZoneAwareLbConfig_); ok {
return x.ZoneAwareLbConfig
}
return nil
}
func (m *Cluster_CommonLbConfig) GetLocalityWeightedLbConfig() *Cluster_CommonLbConfig_LocalityWeightedLbConfig {
if x, ok := m.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_); ok {
return x.LocalityWeightedLbConfig
}
return nil
}
func (m *Cluster_CommonLbConfig) GetUpdateMergeWindow() *duration.Duration {
if m != nil {
return m.UpdateMergeWindow
}
return nil
}
func (m *Cluster_CommonLbConfig) GetIgnoreNewHostsUntilFirstHc() bool {
if m != nil {
return m.IgnoreNewHostsUntilFirstHc
}
return false
}
func (m *Cluster_CommonLbConfig) GetCloseConnectionsOnHostSetChange() bool {
if m != nil {
return m.CloseConnectionsOnHostSetChange
}
return false
}
func (m *Cluster_CommonLbConfig) GetConsistentHashingLbConfig() *Cluster_CommonLbConfig_ConsistentHashingLbConfig {
if m != nil {
return m.ConsistentHashingLbConfig
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Cluster_CommonLbConfig) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Cluster_CommonLbConfig_ZoneAwareLbConfig_)(nil),
(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_)(nil),
}
}
type Cluster_CommonLbConfig_ZoneAwareLbConfig struct {
RoutingEnabled *_type.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled,proto3" json:"routing_enabled,omitempty"`
MinClusterSize *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize,proto3" json:"min_cluster_size,omitempty"`
FailTrafficOnPanic bool `protobuf:"varint,3,opt,name=fail_traffic_on_panic,json=failTrafficOnPanic,proto3" json:"fail_traffic_on_panic,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset() {
*m = Cluster_CommonLbConfig_ZoneAwareLbConfig{}
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) String() string { return proto.CompactTextString(m) }
func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage() {}
func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 7, 0}
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Unmarshal(m, b)
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Merge(m, src)
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Size(m)
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig proto.InternalMessageInfo
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *_type.Percent {
if m != nil {
return m.RoutingEnabled
}
return nil
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrappers.UInt64Value {
if m != nil {
return m.MinClusterSize
}
return nil
}
func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool {
if m != nil {
return m.FailTrafficOnPanic
}
return false
}
type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset() {
*m = Cluster_CommonLbConfig_LocalityWeightedLbConfig{}
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) String() string {
return proto.CompactTextString(m)
}
func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage() {}
func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 7, 1}
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Unmarshal(m, b)
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Merge(m, src)
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Size(m)
}
func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig proto.InternalMessageInfo
type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct {
UseHostnameForHashing bool `protobuf:"varint,1,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Reset() {
*m = Cluster_CommonLbConfig_ConsistentHashingLbConfig{}
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) String() string {
return proto.CompactTextString(m)
}
func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoMessage() {}
func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 7, 2}
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig.Unmarshal(m, b)
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig.Marshal(b, m, deterministic)
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig.Merge(m, src)
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) XXX_Size() int {
return xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig.Size(m)
}
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_CommonLbConfig_ConsistentHashingLbConfig proto.InternalMessageInfo
func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) GetUseHostnameForHashing() bool {
if m != nil {
return m.UseHostnameForHashing
}
return false
}
type Cluster_RefreshRate struct {
BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"`
MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cluster_RefreshRate) Reset() { *m = Cluster_RefreshRate{} }
func (m *Cluster_RefreshRate) String() string { return proto.CompactTextString(m) }
func (*Cluster_RefreshRate) ProtoMessage() {}
func (*Cluster_RefreshRate) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{0, 8}
}
func (m *Cluster_RefreshRate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cluster_RefreshRate.Unmarshal(m, b)
}
func (m *Cluster_RefreshRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cluster_RefreshRate.Marshal(b, m, deterministic)
}
func (m *Cluster_RefreshRate) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cluster_RefreshRate.Merge(m, src)
}
func (m *Cluster_RefreshRate) XXX_Size() int {
return xxx_messageInfo_Cluster_RefreshRate.Size(m)
}
func (m *Cluster_RefreshRate) XXX_DiscardUnknown() {
xxx_messageInfo_Cluster_RefreshRate.DiscardUnknown(m)
}
var xxx_messageInfo_Cluster_RefreshRate proto.InternalMessageInfo
func (m *Cluster_RefreshRate) GetBaseInterval() *duration.Duration {
if m != nil {
return m.BaseInterval
}
return nil
}
func (m *Cluster_RefreshRate) GetMaxInterval() *duration.Duration {
if m != nil {
return m.MaxInterval
}
return nil
}
type LoadBalancingPolicy struct {
Policies []*LoadBalancingPolicy_Policy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoadBalancingPolicy) Reset() { *m = LoadBalancingPolicy{} }
func (m *LoadBalancingPolicy) String() string { return proto.CompactTextString(m) }
func (*LoadBalancingPolicy) ProtoMessage() {}
func (*LoadBalancingPolicy) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{1}
}
func (m *LoadBalancingPolicy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoadBalancingPolicy.Unmarshal(m, b)
}
func (m *LoadBalancingPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoadBalancingPolicy.Marshal(b, m, deterministic)
}
func (m *LoadBalancingPolicy) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoadBalancingPolicy.Merge(m, src)
}
func (m *LoadBalancingPolicy) XXX_Size() int {
return xxx_messageInfo_LoadBalancingPolicy.Size(m)
}
func (m *LoadBalancingPolicy) XXX_DiscardUnknown() {
xxx_messageInfo_LoadBalancingPolicy.DiscardUnknown(m)
}
var xxx_messageInfo_LoadBalancingPolicy proto.InternalMessageInfo
func (m *LoadBalancingPolicy) GetPolicies() []*LoadBalancingPolicy_Policy {
if m != nil {
return m.Policies
}
return nil
}
type LoadBalancingPolicy_Policy struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` // Deprecated: Do not use.
TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoadBalancingPolicy_Policy) Reset() { *m = LoadBalancingPolicy_Policy{} }
func (m *LoadBalancingPolicy_Policy) String() string { return proto.CompactTextString(m) }
func (*LoadBalancingPolicy_Policy) ProtoMessage() {}
func (*LoadBalancingPolicy_Policy) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{1, 0}
}
func (m *LoadBalancingPolicy_Policy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoadBalancingPolicy_Policy.Unmarshal(m, b)
}
func (m *LoadBalancingPolicy_Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoadBalancingPolicy_Policy.Marshal(b, m, deterministic)
}
func (m *LoadBalancingPolicy_Policy) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoadBalancingPolicy_Policy.Merge(m, src)
}
func (m *LoadBalancingPolicy_Policy) XXX_Size() int {
return xxx_messageInfo_LoadBalancingPolicy_Policy.Size(m)
}
func (m *LoadBalancingPolicy_Policy) XXX_DiscardUnknown() {
xxx_messageInfo_LoadBalancingPolicy_Policy.DiscardUnknown(m)
}
var xxx_messageInfo_LoadBalancingPolicy_Policy proto.InternalMessageInfo
func (m *LoadBalancingPolicy_Policy) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Deprecated: Do not use.
func (m *LoadBalancingPolicy_Policy) GetConfig() *_struct.Struct {
if m != nil {
return m.Config
}
return nil
}
func (m *LoadBalancingPolicy_Policy) GetTypedConfig() *any.Any {
if m != nil {
return m.TypedConfig
}
return nil
}
type UpstreamBindConfig struct {
SourceAddress *core.Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpstreamBindConfig) Reset() { *m = UpstreamBindConfig{} }
func (m *UpstreamBindConfig) String() string { return proto.CompactTextString(m) }
func (*UpstreamBindConfig) ProtoMessage() {}
func (*UpstreamBindConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{2}
}
func (m *UpstreamBindConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpstreamBindConfig.Unmarshal(m, b)
}
func (m *UpstreamBindConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpstreamBindConfig.Marshal(b, m, deterministic)
}
func (m *UpstreamBindConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpstreamBindConfig.Merge(m, src)
}
func (m *UpstreamBindConfig) XXX_Size() int {
return xxx_messageInfo_UpstreamBindConfig.Size(m)
}
func (m *UpstreamBindConfig) XXX_DiscardUnknown() {
xxx_messageInfo_UpstreamBindConfig.DiscardUnknown(m)
}
var xxx_messageInfo_UpstreamBindConfig proto.InternalMessageInfo
func (m *UpstreamBindConfig) GetSourceAddress() *core.Address {
if m != nil {
return m.SourceAddress
}
return nil
}
type UpstreamConnectionOptions struct {
TcpKeepalive *core.TcpKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpstreamConnectionOptions) Reset() { *m = UpstreamConnectionOptions{} }
func (m *UpstreamConnectionOptions) String() string { return proto.CompactTextString(m) }
func (*UpstreamConnectionOptions) ProtoMessage() {}
func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int) {
return fileDescriptor_72da53dee26868ef, []int{3}
}
func (m *UpstreamConnectionOptions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpstreamConnectionOptions.Unmarshal(m, b)
}
func (m *UpstreamConnectionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpstreamConnectionOptions.Marshal(b, m, deterministic)
}
func (m *UpstreamConnectionOptions) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpstreamConnectionOptions.Merge(m, src)
}
func (m *UpstreamConnectionOptions) XXX_Size() int {
return xxx_messageInfo_UpstreamConnectionOptions.Size(m)
}
func (m *UpstreamConnectionOptions) XXX_DiscardUnknown() {
xxx_messageInfo_UpstreamConnectionOptions.DiscardUnknown(m)
}
var xxx_messageInfo_UpstreamConnectionOptions proto.InternalMessageInfo
func (m *UpstreamConnectionOptions) GetTcpKeepalive() *core.TcpKeepalive {
if m != nil {
return m.TcpKeepalive
}
return nil
}
func init() {
proto.RegisterEnum("envoy.api.v2.Cluster_DiscoveryType", Cluster_DiscoveryType_name, Cluster_DiscoveryType_value)
proto.RegisterEnum("envoy.api.v2.Cluster_LbPolicy", Cluster_LbPolicy_name, Cluster_LbPolicy_value)
proto.RegisterEnum("envoy.api.v2.Cluster_DnsLookupFamily", Cluster_DnsLookupFamily_name, Cluster_DnsLookupFamily_value)
proto.RegisterEnum("envoy.api.v2.Cluster_ClusterProtocolSelection", Cluster_ClusterProtocolSelection_name, Cluster_ClusterProtocolSelection_value)
proto.RegisterEnum("envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy", Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name, Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value)
proto.RegisterEnum("envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy", Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name, Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_value)
proto.RegisterEnum("envoy.api.v2.Cluster_RingHashLbConfig_HashFunction", Cluster_RingHashLbConfig_HashFunction_name, Cluster_RingHashLbConfig_HashFunction_value)
proto.RegisterType((*Cluster)(nil), "envoy.api.v2.Cluster")
proto.RegisterMapType((map[string]*_struct.Struct)(nil), "envoy.api.v2.Cluster.ExtensionProtocolOptionsEntry")
proto.RegisterMapType((map[string]*any.Any)(nil), "envoy.api.v2.Cluster.TypedExtensionProtocolOptionsEntry")
proto.RegisterType((*Cluster_TransportSocketMatch)(nil), "envoy.api.v2.Cluster.TransportSocketMatch")
proto.RegisterType((*Cluster_CustomClusterType)(nil), "envoy.api.v2.Cluster.CustomClusterType")
proto.RegisterType((*Cluster_EdsClusterConfig)(nil), "envoy.api.v2.Cluster.EdsClusterConfig")
proto.RegisterType((*Cluster_LbSubsetConfig)(nil), "envoy.api.v2.Cluster.LbSubsetConfig")
proto.RegisterType((*Cluster_LbSubsetConfig_LbSubsetSelector)(nil), "envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector")
proto.RegisterType((*Cluster_LeastRequestLbConfig)(nil), "envoy.api.v2.Cluster.LeastRequestLbConfig")
proto.RegisterType((*Cluster_RingHashLbConfig)(nil), "envoy.api.v2.Cluster.RingHashLbConfig")
proto.RegisterType((*Cluster_OriginalDstLbConfig)(nil), "envoy.api.v2.Cluster.OriginalDstLbConfig")
proto.RegisterType((*Cluster_CommonLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig")
proto.RegisterType((*Cluster_CommonLbConfig_ZoneAwareLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig")
proto.RegisterType((*Cluster_CommonLbConfig_LocalityWeightedLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig")
proto.RegisterType((*Cluster_CommonLbConfig_ConsistentHashingLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig")
proto.RegisterType((*Cluster_RefreshRate)(nil), "envoy.api.v2.Cluster.RefreshRate")
proto.RegisterType((*LoadBalancingPolicy)(nil), "envoy.api.v2.LoadBalancingPolicy")
proto.RegisterType((*LoadBalancingPolicy_Policy)(nil), "envoy.api.v2.LoadBalancingPolicy.Policy")
proto.RegisterType((*UpstreamBindConfig)(nil), "envoy.api.v2.UpstreamBindConfig")
proto.RegisterType((*UpstreamConnectionOptions)(nil), "envoy.api.v2.UpstreamConnectionOptions")
}
func init() { proto.RegisterFile("envoy/api/v2/cluster.proto", fileDescriptor_72da53dee26868ef) }
var fileDescriptor_72da53dee26868ef = []byte{
// 3226 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x59, 0xbb, 0x6f, 0x23, 0x49,
0x7a, 0x57, 0x53, 0x9a, 0x11, 0x55, 0xa4, 0xa8, 0x56, 0x49, 0x33, 0x6a, 0x51, 0x8f, 0xd1, 0x68,
0x67, 0xf6, 0x74, 0xe3, 0x3b, 0xca, 0xa7, 0xd9, 0xdb, 0x3d, 0x3f, 0x76, 0x0d, 0xbe, 0x34, 0xd2,
0x0e, 0x45, 0xea, 0x9a, 0xe4, 0xce, 0xed, 0x2d, 0x0e, 0xb5, 0xc5, 0xee, 0xa2, 0xd8, 0x50, 0xb3,
0xbb, 0xdd, 0x55, 0xad, 0x11, 0xd7, 0x80, 0x3d, 0x67, 0x18, 0x36, 0x60, 0x07, 0x4e, 0xfd, 0x27,
0xd8, 0x0b, 0x27, 0x06, 0x1c, 0x18, 0x8e, 0x1c, 0x3a, 0x70, 0x62, 0x47, 0x97, 0x38, 0x77, 0xe4,
0xe0, 0x12, 0x03, 0x13, 0x18, 0x87, 0x7a, 0x34, 0xc5, 0x47, 0x53, 0xd2, 0x5e, 0x24, 0x55, 0x7d,
0xbf, 0xef, 0xf7, 0x55, 0x57, 0x7d, 0xf5, 0x3d, 0x8a, 0x20, 0x4f, 0xbc, 0x2b, 0x7f, 0x70, 0x88,
0x03, 0xe7, 0xf0, 0xea, 0xe8, 0xd0, 0x72, 0x23, 0xca, 0x48, 0x58, 0x08, 0x42, 0x9f, 0xf9, 0x30,
0x2b, 0x64, 0x05, 0x1c, 0x38, 0x85, 0xab, 0xa3, 0xfc, 0xf6, 0x18, 0x12, 0x47, 0xac, 0x77, 0x68,
0x91, 0x90, 0x49, 0x6c, 0xfe, 0x45, 0x12, 0xcf, 0xa1, 0xe5, 0x84, 0x56, 0xe4, 0x30, 0xd4, 0x09,
0x09, 0xbe, 0x8c, 0x79, 0xf3, 0x4f, 0x13, 0xb1, 0x5d, 0xc7, 0x1d, 0x9a, 0xce, 0xff, 0x20, 0x11,
0xe2, 0x47, 0xcc, 0x75, 0x48, 0x88, 0x6c, 0xc2, 0x88, 0xc5, 0x1c, 0xdf, 0x53, 0xe8, 0x27, 0xe3,
0x68, 0x3f, 0x24, 0x87, 0xd8, 0xb6, 0x43, 0x42, 0xa9, 0x02, 0x6c, 0x4f, 0x03, 0x3a, 0x98, 0x12,
0x25, 0x7d, 0x3e, 0x2d, 0xb5, 0x7c, 0xaf, 0xeb, 0x5c, 0x20, 0xea, 0x47, 0xa1, 0x15, 0xc3, 0x9e,
0x4d, 0xc3, 0x7a, 0x04, 0xbb, 0xac, 0x87, 0xac, 0x1e, 0xb1, 0x2e, 0x15, 0x6a, 0x6f, 0x1a, 0x25,
0x04, 0x96, 0xef, 0x2a, 0xc4, 0xd6, 0x18, 0x82, 0x78, 0x76, 0xe0, 0x3b, 0x5e, 0xbc, 0x8f, 0x86,
0x14, 0xb2, 0x41, 0x40, 0x0e, 0x03, 0x12, 0x5a, 0x64, 0x28, 0xd9, 0xbc, 0xf0, 0xfd, 0x0b, 0x57,
0xb1, 0x75, 0xa2, 0xee, 0x21, 0xf6, 0x06, 0x4a, 0xb4, 0x3b, 0x29, 0xb2, 0xa3, 0x10, 0x8f, 0xec,
0xcf, 0xf6, 0xa4, 0x9c, 0xb2, 0x30, 0xb2, 0xd8, 0x2c, 0xed, 0xb7, 0x21, 0x0e, 0x02, 0x12, 0xc6,
0x9b, 0xf7, 0x81, 0x5a, 0xaf, 0xe7, 0xf9, 0x4c, 0xb0, 0xd2, 0x43, 0x9b, 0x04, 0x21, 0xb1, 0x46,
0x4d, 0xec, 0x46, 0x76, 0x80, 0xc7, 0x30, 0x7d, 0xe7, 0x22, 0xc4, 0x2c, 0xde, 0xbc, 0x9d, 0x29,
0x39, 0x65, 0x98, 0x45, 0xb1, 0x8d, 0x8d, 0x2b, 0xec, 0x3a, 0x36, 0x66, 0xe4, 0x30, 0xfe, 0x47,
0x0a, 0xf6, 0x7f, 0xf5, 0x7b, 0x60, 0xb1, 0x2c, 0x8f, 0x1f, 0xda, 0xc0, 0x60, 0x21, 0xf6, 0x68,
0xe0, 0x87, 0x0c, 0x51, 0xdf, 0xba, 0x24, 0x0c, 0xf5, 0x31, 0xb3, 0x7a, 0x84, 0x1a, 0xbf, 0xb3,
0x37, 0x7f, 0x90, 0x39, 0x7a, 0x51, 0x18, 0x75, 0xd9, 0x82, 0x52, 0x2c, 0xb4, 0x62, 0xad, 0xa6,
0x50, 0x3a, 0xe3, 0x3a, 0xe6, 0x63, 0x96, 0x30, 0x4b, 0x28, 0xdc, 0x02, 0x0b, 0x1e, 0xee, 0x13,
0x43, 0xdb, 0xd3, 0x0e, 0x96, 0x4a, 0x8b, 0xef, 0x4b, 0x0b, 0x61, 0x6a, 0x4f, 0x33, 0xc5, 0x24,
0xdc, 0x07, 0xcb, 0xd8, 0x65, 0x88, 0xaf, 0x1d, 0x09, 0xd4, 0x36, 0x47, 0x99, 0x19, 0xec, 0xb2,
0x26, 0xc3, 0xac, 0xce, 0x31, 0x65, 0xb0, 0xc0, 0x8f, 0xcf, 0x48, 0xed, 0x69, 0x07, 0xb9, 0xa3,
0x0f, 0x92, 0x97, 0x54, 0x71, 0xa8, 0xe5, 0x5f, 0x91, 0x70, 0xd0, 0x1a, 0x04, 0xa4, 0x94, 0x7e,
0x5f, 0x7a, 0xf0, 0xe7, 0x5a, 0x4a, 0xd7, 0x4e, 0xe6, 0x4c, 0xa1, 0x0c, 0x6b, 0x20, 0xab, 0xbc,
0x1e, 0x09, 0xb2, 0x0f, 0xf7, 0xb4, 0x83, 0xcc, 0xd1, 0xf7, 0x92, 0xc9, 0xca, 0x11, 0x65, 0x7e,
0x5f, 0x8d, 0x38, 0xe1, 0xc9, 0x9c, 0x99, 0xb1, 0x6e, 0x86, 0xb0, 0x05, 0x20, 0xb1, 0x29, 0x8a,
0x19, 0xa5, 0x77, 0x1b, 0xf3, 0x82, 0xf3, 0xc3, 0x64, 0xce, 0xaa, 0x4d, 0xd5, 0xbf, 0x65, 0x81,
0x36, 0x75, 0x32, 0x31, 0x03, 0x6b, 0x60, 0xc5, 0xf2, 0x3d, 0x8f, 0x58, 0x0c, 0x31, 0xa7, 0x4f,
0xfc, 0x88, 0x19, 0x0b, 0x82, 0x72, 0xb3, 0x20, 0x5d, 0xaa, 0x10, 0xbb, 0x54, 0xa1, 0xa2, 0x1c,
0x52, 0x7c, 0xe9, 0xb7, 0x5a, 0xea, 0xc5, 0x9c, 0x99, 0x53, 0xba, 0x2d, 0xa9, 0x0a, 0xbb, 0xe0,
0x69, 0x20, 0xd7, 0xe6, 0xc9, 0xcb, 0x8d, 0x3a, 0x51, 0xb7, 0x4b, 0x42, 0xe4, 0x3a, 0x7d, 0x1e,
0x42, 0x06, 0x8c, 0x50, 0xe3, 0x81, 0xe0, 0xdf, 0x9e, 0xe2, 0x6f, 0x9f, 0x7a, 0xec, 0xe5, 0xd1,
0x17, 0xd8, 0x8d, 0x88, 0xb9, 0x13, 0x88, 0x15, 0x2a, 0x96, 0x92, 0x20, 0xa9, 0x71, 0x8e, 0x12,
0xa7, 0x80, 0x55, 0xb0, 0xe4, 0x76, 0x50, 0xe0, 0xbb, 0x8e, 0x35, 0x30, 0x1e, 0x8a, 0x33, 0xda,
0x4d, 0xde, 0x82, 0x5a, 0xe7, 0x5c, 0xa0, 0x6e, 0x8e, 0xc7, 0x4c, 0xbb, 0x6a, 0x0e, 0x7e, 0x04,
0x1e, 0xf4, 0x7c, 0xca, 0xa8, 0xb1, 0x28, 0x3c, 0x2f, 0x3f, 0x4e, 0xc1, 0xef, 0x7d, 0xa1, 0x28,
0x63, 0x50, 0x29, 0x65, 0x68, 0xa6, 0x04, 0xf3, 0x2d, 0x73, 0x7d, 0x6c, 0x23, 0x4c, 0xa9, 0x73,
0xe1, 0xf5, 0x89, 0xc7, 0x8c, 0xa7, 0xe2, 0x93, 0x92, 0xdd, 0xa4, 0xe6, 0x63, 0xbb, 0x38, 0x84,
0x9a, 0x39, 0x77, 0x6c, 0x0c, 0xcb, 0x60, 0x79, 0x34, 0x02, 0x51, 0x23, 0x2d, 0xd6, 0xb2, 0x9b,
0xb0, 0x96, 0x13, 0x81, 0x2b, 0x73, 0x98, 0x99, 0xed, 0xdd, 0x0c, 0x28, 0xfc, 0x0a, 0x6c, 0xf5,
0xf1, 0x35, 0x0a, 0xc9, 0x1f, 0x47, 0x84, 0x32, 0x8a, 0xc6, 0x0f, 0xc1, 0x58, 0xba, 0xc7, 0x8e,
0x1b, 0x7d, 0x7c, 0x6d, 0x2a, 0xfd, 0xf3, 0xd1, 0xcd, 0x87, 0xe7, 0x40, 0x9f, 0xc8, 0x01, 0xd4,
0x00, 0x82, 0xf1, 0xf9, 0xc4, 0x22, 0x63, 0x57, 0x96, 0xe8, 0x92, 0x02, 0x9b, 0x2b, 0xd6, 0xf8,
0x04, 0x3c, 0x07, 0x19, 0xe6, 0x52, 0xbe, 0x42, 0x46, 0xae, 0x99, 0x91, 0x49, 0x22, 0xe3, 0xc9,
0xa9, 0xd0, 0x0e, 0x28, 0x0b, 0x09, 0xee, 0xb7, 0x5c, 0x5a, 0x96, 0xe0, 0x52, 0xfa, 0x5f, 0xfe,
0xf7, 0xd7, 0xff, 0xf5, 0x40, 0x33, 0x34, 0x13, 0xb0, 0xe1, 0x2c, 0xa4, 0x60, 0x37, 0x52, 0x58,
0xd4, 0x63, 0x2c, 0x40, 0x71, 0xbc, 0x46, 0x7e, 0x20, 0x42, 0x95, 0x51, 0x10, 0x46, 0x0a, 0x09,
0xdb, 0x1a, 0x1b, 0x39, 0x61, 0x2c, 0x38, 0x57, 0x6a, 0x0d, 0xa9, 0x65, 0x6e, 0x45, 0xb3, 0x85,
0xf0, 0x02, 0x6c, 0x5b, 0x7e, 0xbf, 0xef, 0x7b, 0x33, 0x4c, 0xee, 0x24, 0xdd, 0x4d, 0x79, 0x92,
0x09, 0xa6, 0x36, 0x25, 0x57, 0x92, 0xa1, 0xaf, 0xc0, 0xa3, 0x64, 0x0b, 0xcb, 0x49, 0x11, 0x65,
0x68, 0xe1, 0x47, 0x93, 0x26, 0xd6, 0x7a, 0x09, 0xe4, 0xbf, 0x00, 0x8f, 0xf9, 0xf4, 0xd1, 0x34,
0x7b, 0xee, 0x56, 0xf6, 0xa3, 0x49, 0xf6, 0xf5, 0x5e, 0xc2, 0x2c, 0xfc, 0x13, 0x90, 0x27, 0xd7,
0x8c, 0x78, 0x94, 0x47, 0x83, 0x29, 0x13, 0x1f, 0x08, 0x67, 0x7f, 0x39, 0x23, 0x7c, 0xc5, 0x7a,
0x13, 0x9c, 0x55, 0x8f, 0x85, 0x83, 0x11, 0x47, 0x30, 0xc8, 0x0c, 0x20, 0xfc, 0xa5, 0x06, 0xf6,
0x78, 0xe8, 0xb5, 0xd1, 0x2d, 0x6b, 0x78, 0x26, 0xd6, 0xf0, 0x93, 0x19, 0x69, 0x87, 0x6b, 0xdf,
0xba, 0x10, 0x73, 0x87, 0xdd, 0x86, 0x81, 0x3f, 0x05, 0xba, 0xed, 0x51, 0x14, 0x92, 0x6e, 0x48,
0x68, 0x0f, 0xf1, 0x7c, 0x6a, 0xe8, 0x77, 0x85, 0xd8, 0xec, 0xfb, 0xd2, 0xd2, 0xb7, 0xda, 0xc3,
0x17, 0x0b, 0xfa, 0xbf, 0xfd, 0xc5, 0xa7, 0x66, 0xce, 0xf6, 0xa8, 0x29, 0xf5, 0x4d, 0xcc, 0x08,
0xfc, 0x39, 0x30, 0x38, 0x65, 0x17, 0x3b, 0x6e, 0x14, 0x92, 0x71, 0xea, 0x1f, 0x08, 0xea, 0xa7,
0xc9, 0x5f, 0x33, 0x42, 0x62, 0x3e, 0xb2, 0x3d, 0x7a, 0x2c, 0x19, 0x46, 0xb9, 0x3f, 0x04, 0x2b,
0x21, 0xa1, 0x01, 0x4f, 0x08, 0xdc, 0x06, 0x63, 0xae, 0xf1, 0xbd, 0x3d, 0xed, 0x20, 0x6d, 0x2e,
0xab, 0xe9, 0x8a, 0x47, 0x5b, 0xcc, 0x85, 0x5f, 0x81, 0x55, 0x2e, 0x77, 0x7d, 0xff, 0x32, 0x0a,
0x50, 0x17, 0xf7, 0x1d, 0x77, 0x60, 0xac, 0x8a, 0x50, 0xfc, 0x7c, 0x46, 0xba, 0xf4, 0x68, 0x4d,
0xa0, 0x8f, 0x05, 0x78, 0x24, 0x22, 0xaf, 0xd8, 0xe3, 0x22, 0xf8, 0x47, 0x60, 0x59, 0xee, 0x19,
0xf5, 0xdd, 0x2b, 0x1e, 0x6f, 0xe0, 0x5d, 0x01, 0xda, 0xcc, 0x8a, 0x3d, 0x52, 0x78, 0xf8, 0x11,
0xd8, 0x88, 0x28, 0x41, 0xcc, 0x0a, 0x50, 0xd7, 0x0f, 0xd1, 0xcd, 0x4a, 0xa9, 0xf1, 0x43, 0xf1,
0x35, 0x6b, 0x11, 0x25, 0x2d, 0x2b, 0x38, 0xf6, 0xc3, 0xe1, 0xb2, 0x28, 0x6c, 0x82, 0xd5, 0xa9,
0xf2, 0xd4, 0x58, 0x4b, 0xbc, 0xc5, 0xea, 0x9b, 0x1a, 0x12, 0x5e, 0x89, 0xd1, 0xa6, 0xee, 0x4f,
0xcc, 0xc0, 0x3a, 0xd0, 0x2d, 0x97, 0x60, 0x2f, 0x0a, 0x90, 0xe3, 0x31, 0x12, 0x5e, 0x61, 0xd7,
0x58, 0xbf, 0x7f, 0x8a, 0x5d, 0x51, 0xca, 0xa7, 0x4a, 0x17, 0x36, 0xc0, 0xfa, 0x30, 0xd4, 0x75,
0x1c, 0xcf, 0x8e, 0x2b, 0x81, 0x47, 0x82, 0x73, 0x27, 0x61, 0x8b, 0x4a, 0x8e, 0x67, 0xab, 0x02,
0x00, 0xc6, 0xaa, 0x37, 0x73, 0x7c, 0x81, 0x6e, 0x07, 0xd1, 0xa8, 0x43, 0x09, 0x8b, 0xc9, 0x1e,
0x0b, 0xb2, 0x67, 0xb3, 0x72, 0x6a, 0x53, 0x80, 0x15, 0x67, 0xce, 0x1d, 0x1b, 0xc3, 0x37, 0x60,
0x2d, 0x74, 0xbc, 0x0b, 0xd4, 0xc3, 0xb4, 0x87, 0xdc, 0x4e, 0x4c, 0xb9, 0x71, 0x5b, 0xa5, 0x62,
0x3a, 0xde, 0xc5, 0x09, 0xa6, 0xbd, 0x5a, 0x47, 0x92, 0x9c, 0x68, 0xa6, 0x1e, 0x4e, 0xcc, 0xc1,
0xaf, 0xc1, 0x63, 0x3f, 0x74, 0x2e, 0x1c, 0x0f, 0xbb, 0xc8, 0xa6, 0x6c, 0x84, 0x7b, 0x5f, 0x70,
0x7f, 0x3f, 0x99, 0xbb, 0xa1, 0x74, 0x2a, 0x94, 0x8d, 0xd0, 0xaf, 0xf9, 0xd3, 0xd3, 0xd0, 0x02,
0x1b, 0x2e, 0xc1, 0x94, 0xc5, 0x99, 0x74, 0xc4, 0xc4, 0x73, 0x61, 0x62, 0x46, 0x71, 0x5a, 0xe3,
0x4a, 0x2a, 0x7b, 0x8e, 0xd8, 0x58, 0x77, 0x13, 0xe6, 0x85, 0x43, 0xc8, 0xb4, 0x71, 0xc3, 0xbe,
0x75, 0xdb, 0x7e, 0x97, 0x05, 0x3a, 0xd6, 0xe7, 0x45, 0xd7, 0xe8, 0x18, 0x9e, 0x01, 0x7d, 0xb2,
0xa4, 0x36, 0x0c, 0xc1, 0xb7, 0x9f, 0xe0, 0x0c, 0x13, 0x75, 0xb4, 0xb9, 0x32, 0x51, 0x42, 0xc3,
0x4f, 0x40, 0xba, 0x4f, 0x18, 0xb6, 0x31, 0xc3, 0xc6, 0xa6, 0xa0, 0xd9, 0x4a, 0xa0, 0x39, 0x53,
0x10, 0x73, 0x08, 0x86, 0xbf, 0x00, 0x70, 0x18, 0x5b, 0x29, 0x71, 0xd5, 0xf5, 0xc9, 0x8b, 0x90,
0x50, 0x98, 0xf1, 0x65, 0xf2, 0x6f, 0x1c, 0x32, 0x9b, 0xb1, 0x96, 0xb9, 0x1a, 0x4c, 0x4e, 0xc1,
0x0b, 0x30, 0x4c, 0xc6, 0xa3, 0x05, 0x66, 0x1c, 0xc5, 0x77, 0x93, 0x92, 0x55, 0x9c, 0xda, 0x6f,
0xaa, 0x99, 0x61, 0xb6, 0x8d, 0x66, 0x89, 0x60, 0x1b, 0x1c, 0x58, 0xae, 0x4f, 0xc9, 0x88, 0x15,
0x8a, 0x78, 0x92, 0xf7, 0x29, 0x43, 0xaa, 0x56, 0x53, 0xa1, 0xd7, 0x78, 0x22, 0x82, 0xc9, 0x07,
0x02, 0x7f, 0xc3, 0x44, 0x1b, 0xde, 0x89, 0x4f, 0x99, 0xac, 0xd7, 0x54, 0x8c, 0x85, 0x3e, 0x78,
0x6a, 0x87, 0xd8, 0xf1, 0x12, 0x69, 0x43, 0xd2, 0xf7, 0x79, 0x60, 0xd8, 0xe3, 0x7c, 0xa5, 0xe7,
0xbf, 0xfe, 0xbb, 0xff, 0xff, 0xdb, 0x07, 0x4f, 0xc0, 0x8e, 0x73, 0xe1, 0xf9, 0x21, 0x89, 0x8d,
0x4e, 0x80, 0xcd, 0x1d, 0xc1, 0x37, 0x65, 0xd6, 0x94, 0x62, 0xf8, 0x31, 0x58, 0x94, 0xfd, 0x38,
0x35, 0x0e, 0x44, 0xf8, 0xdc, 0x4e, 0x8e, 0x61, 0xc7, 0x02, 0x64, 0xc6, 0x60, 0xd8, 0x06, 0x8f,
0x44, 0x7d, 0xdb, 0xc1, 0x2e, 0xf6, 0x2c, 0x7e, 0x93, 0x55, 0xa1, 0xfd, 0xfd, 0xa4, 0xd4, 0xc2,
0xcb, 0xdb, 0x52, 0x8c, 0x94, 0x75, 0xb5, 0xb9, 0xe6, 0x4e, 0x4f, 0xc2, 0xcf, 0x00, 0x70, 0x43,
0x8a, 0x28, 0x09, 0xaf, 0x48, 0x68, 0xbc, 0x10, 0x5c, 0x4f, 0x12, 0x3c, 0x4b, 0x7a, 0x75, 0x53,
0x74, 0xed, 0xe6, 0x92, 0x1b, 0xd2, 0xa6, 0xd0, 0x80, 0x47, 0xe0, 0x11, 0x0b, 0xb1, 0x75, 0x19,
0xf7, 0x29, 0xa8, 0x13, 0xd9, 0x17, 0x84, 0x51, 0xe3, 0x50, 0x06, 0x74, 0x21, 0x54, 0x8d, 0x48,
0x49, 0x8a, 0xf2, 0xff, 0xa4, 0x81, 0xf5, 0xa4, 0xc6, 0x31, 0xb1, 0x41, 0xd4, 0xe3, 0x06, 0xf1,
0x87, 0xe0, 0x81, 0x68, 0x49, 0x45, 0xf7, 0x97, 0x39, 0xda, 0x98, 0x0a, 0xd3, 0x4d, 0xd1, 0x7a,
0x9b, 0x12, 0x95, 0x78, 0xff, 0xe6, 0x7f, 0xeb, 0xfb, 0x97, 0x77, 0xc0, 0xea, 0x54, 0x2f, 0x78,
0x7b, 0x43, 0xfb, 0x09, 0xc8, 0xca, 0x22, 0x47, 0x05, 0x13, 0xb9, 0xec, 0xf5, 0xa9, 0x65, 0x17,
0xbd, 0x81, 0x99, 0x11, 0x48, 0xb9, 0xc7, 0xf9, 0x08, 0xe8, 0x93, 0x2d, 0x22, 0x3f, 0x26, 0xd1,
0x66, 0x4a, 0x2a, 0xed, 0x9e, 0xc7, 0xc4, 0xfb, 0x4a, 0xa9, 0xff, 0x14, 0x64, 0xf9, 0x11, 0x3b,
0x16, 0x91, 0xcd, 0x75, 0x4a, 0x36, 0xd7, 0x6a, 0x8e, 0x37, 0xd7, 0xf9, 0x5f, 0x2e, 0x82, 0xdc,
0x78, 0x0e, 0x81, 0x1e, 0x58, 0xe9, 0x62, 0xd7, 0xed, 0xf0, 0xf3, 0x55, 0xde, 0xa6, 0x89, 0xc0,
0xf1, 0x07, 0xf7, 0x49, 0x41, 0xc3, 0xe1, 0xb1, 0xe2, 0x98, 0xea, 0xf9, 0x72, 0xdd, 0x31, 0x09,
0xfc, 0x0c, 0xe4, 0x6c, 0xd2, 0xc5, 0x91, 0xcb, 0x54, 0xe2, 0xbb, 0xeb, 0xac, 0x97, 0x15, 0x5c,
0xda, 0x81, 0x5f, 0x03, 0x5d, 0x25, 0x4c, 0x19, 0xe9, 0xfc, 0x90, 0x1a, 0xf3, 0xe2, 0x92, 0xfd,
0xf8, 0x3b, 0x2d, 0xb8, 0xa9, 0xb4, 0xcd, 0x15, 0x3a, 0x36, 0xa6, 0xdc, 0xdd, 0x5d, 0xdf, 0xc2,
0xae, 0xc3, 0x06, 0xe8, 0x2d, 0x71, 0x2e, 0x7a, 0x0c, 0xe1, 0xb7, 0x38, 0x24, 0xa2, 0x3d, 0x4f,
0xf3, 0x2b, 0x26, 0x85, 0x6f, 0x84, 0xac, 0xc8, 0x45, 0x5c, 0x87, 0x5a, 0xd8, 0x25, 0x68, 0x42,
0x53, 0xb4, 0xdc, 0x69, 0x73, 0x4d, 0x08, 0x6b, 0x63, 0x8a, 0xf0, 0x19, 0xc8, 0x05, 0xd8, 0x73,
0x2c, 0xd4, 0xf7, 0x6d, 0x82, 0xb0, 0x27, 0xfb, 0xe9, 0xb4, 0x99, 0x15, 0xb3, 0x67, 0xbe, 0x4d,
0x8a, 0xde, 0x00, 0xee, 0x82, 0x8c, 0xeb, 0x50, 0x86, 0x30, 0x15, 0x90, 0x45, 0x01, 0x59, 0xe2,
0x53, 0x45, 0x5a, 0xf4, 0x06, 0xf9, 0xff, 0x4e, 0x01, 0x7d, 0xf2, 0x9b, 0x20, 0x04, 0x0b, 0x97,
0x64, 0x40, 0x0d, 0x6d, 0x6f, 0xfe, 0x60, 0xc9, 0x14, 0xff, 0xc3, 0xbf, 0xd2, 0xa6, 0x4f, 0x5a,
0x3e, 0xb2, 0xb4, 0x7e, 0xab, 0x8d, 0x9b, 0x9a, 0xb8, 0xb7, 0x0b, 0xfc, 0x2e, 0x58, 0x1f, 0x2e,
0x84, 0x2f, 0x2d, 0x76, 0x84, 0x79, 0xb1, 0x5a, 0x18, 0xcb, 0x5e, 0x93, 0x01, 0x95, 0x16, 0xf6,
0x07, 0x60, 0xf7, 0x76, 0x6b, 0x70, 0x05, 0x64, 0xea, 0x8d, 0x16, 0xaa, 0x54, 0x8f, 0x4f, 0xeb,
0xd5, 0x8a, 0x3e, 0x27, 0x27, 0xd0, 0x71, 0xb1, 0x56, 0x2b, 0x15, 0xcb, 0xaf, 0x75, 0x0d, 0xea,
0x20, 0x5b, 0xac, 0x7f, 0x89, 0xaa, 0xf5, 0xca, 0x79, 0xe3, 0xb4, 0xde, 0xd2, 0x53, 0x10, 0x82,
0x5c, 0xa5, 0x7a, 0x5c, 0x6c, 0xd7, 0x5a, 0xa8, 0xd9, 0x2e, 0x35, 0xab, 0x2d, 0x7d, 0x9e, 0xab,
0xbd, 0xae, 0x7e, 0xd9, 0x8c, 0x27, 0x16, 0xf6, 0x1b, 0xe0, 0x71, 0xb2, 0x8f, 0x4f, 0x5a, 0x98,
0x9b, 0xb2, 0xa0, 0x25, 0x58, 0x48, 0xe5, 0xbf, 0x06, 0xeb, 0x49, 0x45, 0x0b, 0x3c, 0x01, 0x59,
0xab, 0xe7, 0xf3, 0xdb, 0x6b, 0xf9, 0x91, 0xc7, 0x54, 0x00, 0xb8, 0xf5, 0xe9, 0x40, 0x84, 0xa3,
0x17, 0xa9, 0x83, 0x94, 0x99, 0x91, 0xaa, 0x65, 0xae, 0x99, 0xff, 0x55, 0x0a, 0xe8, 0x93, 0x65,
0x1d, 0x6c, 0x81, 0xd5, 0xbe, 0xe3, 0x39, 0xfd, 0xa8, 0x8f, 0x44, 0x8d, 0x48, 0x9d, 0x6f, 0xc8,
0xad, 0x36, 0x3e, 0xfe, 0x48, 0xda, 0x00, 0xef, 0x4b, 0x8b, 0x47, 0x0f, 0x8c, 0x77, 0xef, 0xde,
0x2d, 0x98, 0x2b, 0x8a, 0x82, 0xb3, 0x37, 0x9d, 0x6f, 0x08, 0xec, 0x80, 0x65, 0x51, 0x6c, 0x76,
0x23, 0x4f, 0x16, 0x1d, 0xf3, 0xc2, 0xa3, 0x5e, 0xde, 0xaf, 0xd6, 0x2c, 0xf0, 0xc1, 0xb1, 0x52,
0x1d, 0x71, 0x98, 0x6c, 0x6f, 0x64, 0x5e, 0xac, 0x1c, 0x5f, 0x4f, 0xac, 0x7c, 0xe1, 0x3b, 0xaf,
0x5c, 0x52, 0xc4, 0x2b, 0xdf, 0x2f, 0x80, 0xec, 0xa8, 0x75, 0x98, 0x01, 0x8b, 0x3f, 0xfb, 0x19,
0x3a, 0x29, 0x36, 0x4f, 0xf4, 0x39, 0xb8, 0x0a, 0x96, 0xcf, 0xda, 0xe6, 0x59, 0xdb, 0x14, 0x13,
0xe8, 0x48, 0xd7, 0x3e, 0x5f, 0x48, 0xa7, 0xf4, 0xf9, 0xfc, 0xa7, 0x60, 0x2d, 0xa1, 0xa8, 0xe5,
0xad, 0x1b, 0x6f, 0x7a, 0xc4, 0x53, 0x41, 0x8f, 0x60, 0x9b, 0x84, 0x62, 0x6b, 0xd3, 0xe6, 0x72,
0x44, 0x09, 0x6f, 0xd9, 0x4f, 0xc4, 0x64, 0xfe, 0x2f, 0xd3, 0x20, 0x37, 0x5e, 0x53, 0xc2, 0xd7,
0x60, 0x43, 0x16, 0x19, 0x03, 0x24, 0xa3, 0x01, 0xeb, 0xf1, 0x8e, 0xd0, 0x77, 0x6d, 0x75, 0x3a,
0x6b, 0x6a, 0x2f, 0x79, 0xfa, 0x28, 0x9c, 0xcb, 0x47, 0x6d, 0xf3, 0x91, 0xd2, 0x39, 0xe7, 0x2a,
0xad, 0x58, 0x03, 0x3a, 0x60, 0xfd, 0x1b, 0xdf, 0x23, 0x32, 0x5e, 0x8d, 0x14, 0xb9, 0x32, 0xc4,
0x7e, 0x7c, 0x9f, 0x22, 0xb7, 0xf0, 0x73, 0xdf, 0x23, 0x22, 0xa8, 0x0d, 0xcb, 0xe9, 0x39, 0x73,
0xf5, 0x9b, 0xc9, 0x49, 0xf8, 0xa7, 0x60, 0x6b, 0x22, 0xd6, 0x11, 0x7b, 0xc4, 0xa2, 0x4c, 0xc3,
0x9f, 0xde, 0xcb, 0xe2, 0x78, 0x5c, 0x24, 0xf6, 0x88, 0x61, 0xc3, 0x9d, 0x21, 0x83, 0xa7, 0x60,
0x2d, 0x0a, 0x6c, 0xcc, 0x08, 0xea, 0x93, 0xf0, 0x82, 0xa0, 0xb7, 0x8e, 0x67, 0xfb, 0x6f, 0xef,
0x7c, 0x42, 0x35, 0x57, 0xa5, 0xd6, 0x19, 0x57, 0x7a, 0x23, 0x74, 0x60, 0x19, 0x3c, 0x51, 0xe5,
0x9e, 0x47, 0xde, 0x8a, 0x42, 0x8f, 0xa2, 0xc8, 0x63, 0x8e, 0x8b, 0xba, 0x4e, 0xc8, 0x2b, 0x4f,
0x4b, 0x85, 0xf1, 0xbc, 0x84, 0xd5, 0xc9, 0x5b, 0x5e, 0xed, 0xd1, 0x36, 0xc7, 0x1c, 0x73, 0xc8,
0x89, 0x05, 0xcf, 0xc0, 0xb3, 0xd9, 0xb5, 0xab, 0xe8, 0xef, 0x7a, 0xd8, 0xbb, 0x20, 0x2a, 0xc6,
0x3f, 0x49, 0xae, 0x5b, 0x9b, 0x84, 0x95, 0x05, 0x0c, 0xfe, 0x19, 0xd8, 0xb6, 0x7c, 0x8f, 0x3a,
0x94, 0x11, 0x8f, 0x89, 0x86, 0x8e, 0xbb, 0xfe, 0xcd, 0xfe, 0x2e, 0x8a, 0xef, 0xfc, 0xec, 0x5e,
0xfb, 0x5b, 0x1e, 0x12, 0x9d, 0x48, 0x9e, 0x61, 0x43, 0xb3, 0x69, 0xcd, 0x12, 0xe5, 0xff, 0x43,
0x03, 0xab, 0x53, 0xae, 0x00, 0xff, 0x10, 0xac, 0x84, 0x7e, 0xc4, 0xf8, 0x5a, 0x88, 0x87, 0x3b,
0x2e, 0xb9, 0xd5, 0x4b, 0x73, 0x0a, 0x5b, 0x95, 0x50, 0x78, 0x0c, 0xf4, 0x3e, 0x2f, 0xc3, 0xd5,
0x43, 0xba, 0xb8, 0xc8, 0xa9, 0xbb, 0x2f, 0xb2, 0x99, 0xeb, 0x3b, 0x9e, 0xfa, 0x36, 0x11, 0x75,
0x7e, 0x04, 0x1e, 0xf1, 0x36, 0x00, 0xb1, 0x10, 0x77, 0xbb, 0x8e, 0xc5, 0xb7, 0x59, 0xdc, 0x1d,
0xe1, 0x75, 0x69, 0x9e, 0x41, 0x1c, 0xb7, 0x25, 0x65, 0x0d, 0x4f, 0x5c, 0x91, 0x7c, 0x1e, 0x18,
0xb3, 0xdc, 0x2c, 0xdf, 0x02, 0x9b, 0x33, 0xb7, 0x08, 0x7e, 0x02, 0x0c, 0x71, 0xb5, 0x7d, 0xca,
0x78, 0x55, 0x25, 0x1e, 0x35, 0xd4, 0x71, 0xa8, 0x3b, 0xfe, 0x88, 0xdf, 0x71, 0x25, 0x3e, 0xf6,
0x43, 0x45, 0x50, 0xda, 0x02, 0x9b, 0xc3, 0x0b, 0x12, 0xff, 0x20, 0x16, 0x10, 0xcb, 0xe9, 0x3a,
0x24, 0xcc, 0xff, 0x83, 0x06, 0x32, 0xa3, 0x6f, 0x3f, 0x75, 0xb0, 0xdc, 0xc1, 0x94, 0xdc, 0xbc,
0x53, 0x68, 0x77, 0xbd, 0x53, 0xe4, 0xde, 0x97, 0x32, 0xdf, 0x6a, 0xe9, 0xb4, 0xa6, 0x5e, 0xaa,
0xb2, 0x5c, 0x7f, 0xf8, 0x54, 0xf1, 0x39, 0xc8, 0xf6, 0xf1, 0xf5, 0x0d, 0x5d, 0xea, 0xbb, 0x3d,
0x7b, 0x65, 0xfa, 0xf8, 0x3a, 0xe6, 0xca, 0xdb, 0x60, 0xe7, 0xd6, 0x67, 0x38, 0xa8, 0x83, 0xf9,
0x4b, 0x22, 0xcb, 0xc6, 0x25, 0x93, 0xff, 0xcb, 0xeb, 0xf8, 0x2b, 0x7e, 0x72, 0x77, 0xd6, 0xf1,
0x02, 0xf5, 0xfb, 0xa9, 0x9f, 0x68, 0xf9, 0x2e, 0xd8, 0xbf, 0xfb, 0xc5, 0x2f, 0xc1, 0xd4, 0x8b,
0x71, 0x53, 0xc9, 0xb5, 0xf7, 0x8d, 0x9d, 0xfd, 0x37, 0x60, 0x79, 0xec, 0xd7, 0x23, 0x08, 0xc0,
0xc3, 0x66, 0xab, 0xd8, 0x3a, 0x2d, 0xeb, 0x73, 0x30, 0x07, 0x40, 0xb3, 0x65, 0x9e, 0x96, 0x5b,
0xa8, 0x52, 0x6f, 0xea, 0x1a, 0x4f, 0xf1, 0xb5, 0xc6, 0xab, 0xd3, 0x72, 0xb1, 0x26, 0x26, 0x52,
0x70, 0x11, 0xcc, 0x57, 0x2b, 0x4d, 0x7d, 0x9e, 0xe7, 0xfa, 0x86, 0x79, 0xfa, 0xea, 0xb4, 0xce,
0x45, 0x4d, 0x5e, 0x28, 0xfc, 0xa3, 0x06, 0xd2, 0xf1, 0x6f, 0x1e, 0x5c, 0xd1, 0x6c, 0xb4, 0xeb,
0x15, 0x64, 0x36, 0x4a, 0xa7, 0x75, 0x99, 0x51, 0x6a, 0xd5, 0x62, 0xb3, 0x85, 0xcc, 0xea, 0x4f,
0xdb, 0xd5, 0x26, 0x2f, 0x0e, 0x96, 0xc1, 0x92, 0x79, 0x5a, 0x7f, 0x25, 0x73, 0x4e, 0x8a, 0xaf,
0xc3, 0x2c, 0xd6, 0x2b, 0x8d, 0x33, 0x7d, 0x1e, 0xee, 0x80, 0x95, 0x51, 0x76, 0x54, 0x2b, 0xe9,
0x0b, 0xf9, 0xf4, 0xdf, 0xff, 0xdf, 0x3f, 0xff, 0x4d, 0x4a, 0x4b, 0x6b, 0x1c, 0x7a, 0x56, 0x7c,
0x55, 0xab, 0x7e, 0xa1, 0x3f, 0x80, 0xeb, 0x40, 0x2f, 0xd7, 0xda, 0xcd, 0x56, 0xd5, 0x44, 0xe7,
0x66, 0xe3, 0x8b, 0xd3, 0x4a, 0xb5, 0xa2, 0x3f, 0x84, 0x7b, 0x60, 0xbb, 0xd6, 0x28, 0x56, 0x50,
0xa9, 0x58, 0x2b, 0xd6, 0xcb, 0xdc, 0xca, 0x79, 0xa3, 0x76, 0x5a, 0xfe, 0x12, 0x95, 0x1b, 0xf5,
0xe3, 0xd3, 0x57, 0xfa, 0xe2, 0xfe, 0x8f, 0xc1, 0xca, 0xc4, 0xb3, 0x20, 0x4c, 0x83, 0x85, 0x62,
0xbb, 0xd5, 0xd0, 0xe7, 0x78, 0x32, 0xfc, 0xe2, 0x23, 0xd4, 0xa8, 0xd7, 0xbe, 0xd4, 0x35, 0x31,
0xf8, 0x58, 0x0e, 0x52, 0xfb, 0x2d, 0x60, 0xcc, 0x7a, 0x3a, 0x80, 0x5b, 0x60, 0xa3, 0xdd, 0xac,
0x2a, 0x13, 0x6d, 0xb3, 0x5a, 0xe1, 0x2b, 0x6a, 0x35, 0xca, 0x8d, 0x9a, 0x3e, 0x17, 0x0b, 0x2b,
0x8d, 0x37, 0xf5, 0x66, 0xcb, 0xac, 0x16, 0xcf, 0x6e, 0x84, 0x5a, 0xc9, 0x00, 0x8f, 0xe3, 0xa0,
0x60, 0xc7, 0x87, 0x23, 0x7e, 0xb9, 0x2b, 0x65, 0xc4, 0xef, 0x4d, 0xf2, 0xfe, 0x7c, 0xbe, 0x90,
0xce, 0xea, 0xcb, 0x9f, 0x2f, 0xa4, 0x57, 0x74, 0x7d, 0xff, 0x7f, 0x34, 0xb0, 0x96, 0xd0, 0x01,
0xc3, 0x0a, 0x48, 0x8b, 0xe2, 0xd6, 0x21, 0xb2, 0xfc, 0xcd, 0x1c, 0x1d, 0xdc, 0xd9, 0x36, 0x17,
0x54, 0xf7, 0x3c, 0xd4, 0xcc, 0xff, 0xb5, 0x06, 0x1e, 0x2a, 0x42, 0x38, 0xda, 0x00, 0xaa, 0xbe,
0xef, 0x25, 0x78, 0x38, 0x96, 0x59, 0x67, 0x39, 0xb8, 0xf8, 0xf1, 0x4a, 0x41, 0xa7, 0x9a, 0xc5,
0xf9, 0x7b, 0x36, 0x8b, 0xfb, 0x6f, 0x00, 0x6c, 0x4f, 0x3f, 0x1e, 0x16, 0x41, 0x4e, 0xfe, 0xc0,
0x8e, 0xd4, 0xaf, 0xf5, 0x2a, 0x66, 0xdc, 0xf6, 0x54, 0xbb, 0x2c, 0x35, 0xd4, 0x70, 0x1f, 0x83,
0xcd, 0x99, 0xef, 0x34, 0xb0, 0x02, 0x96, 0x99, 0x15, 0xa0, 0x4b, 0x42, 0x02, 0xec, 0x3a, 0x57,
0xe4, 0x96, 0x8e, 0xb4, 0x65, 0x05, 0xaf, 0x63, 0x98, 0x99, 0x65, 0x23, 0xa3, 0x52, 0x53, 0x3c,
0xa8, 0x6c, 0xc2, 0x0d, 0xa9, 0x25, 0x3f, 0x7d, 0xf8, 0x00, 0x72, 0xf5, 0xf2, 0x5f, 0xdf, 0xfd,
0xfb, 0x7f, 0x3e, 0x4c, 0xe9, 0x1a, 0xc8, 0x3b, 0xbe, 0x64, 0x0e, 0x42, 0xff, 0x7a, 0x30, 0x66,
0xa4, 0x94, 0x1d, 0x75, 0xb9, 0x73, 0xad, 0xf3, 0x50, 0xec, 0xd5, 0xcb, 0xdf, 0x04, 0x00, 0x00,
0xff, 0xff, 0x19, 0x3a, 0xcd, 0x56, 0x7f, 0x21, 0x00, 0x00,
}