Files
ziti/pb/ctrl_pb/ctrl.pb.go
T
Paul Lorenz 6fdd5bcda5 Add support for multiple endpoints to services and sync model abstrac… (#53)
* Add support for multiple terminators to services and sync model abstractions with edge

* Add Snapshot to db.Db

* Make API friendly errors

* Add association querying. Consolidate Entity* interfaces
2020-03-19 13:23:16 -04:00

1321 lines
49 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ctrl.proto
package ctrl_pb
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type ContentType int32
const (
ContentType_Zero ContentType = 0
ContentType_SessionRequestType ContentType = 1000
ContentType_SessionSuccessType ContentType = 1001
ContentType_DialType ContentType = 1002
ContentType_LinkType ContentType = 1003
ContentType_FaultType ContentType = 1004
ContentType_RouteType ContentType = 1005
ContentType_UnrouteType ContentType = 1006
ContentType_MetricsType ContentType = 1007
ContentType_TogglePipeTracesRequestType ContentType = 1008
ContentType_TraceEventType ContentType = 1010
ContentType_CreateTerminatorRequestType ContentType = 1011
ContentType_RemoveTerminatorRequestType ContentType = 1012
ContentType_InspectRequestType ContentType = 1013
ContentType_InspectResponseType ContentType = 1014
ContentType_StartXgressType ContentType = 1015
ContentType_SessionFailedType ContentType = 1016
)
var ContentType_name = map[int32]string{
0: "Zero",
1000: "SessionRequestType",
1001: "SessionSuccessType",
1002: "DialType",
1003: "LinkType",
1004: "FaultType",
1005: "RouteType",
1006: "UnrouteType",
1007: "MetricsType",
1008: "TogglePipeTracesRequestType",
1010: "TraceEventType",
1011: "CreateTerminatorRequestType",
1012: "RemoveTerminatorRequestType",
1013: "InspectRequestType",
1014: "InspectResponseType",
1015: "StartXgressType",
1016: "SessionFailedType",
}
var ContentType_value = map[string]int32{
"Zero": 0,
"SessionRequestType": 1000,
"SessionSuccessType": 1001,
"DialType": 1002,
"LinkType": 1003,
"FaultType": 1004,
"RouteType": 1005,
"UnrouteType": 1006,
"MetricsType": 1007,
"TogglePipeTracesRequestType": 1008,
"TraceEventType": 1010,
"CreateTerminatorRequestType": 1011,
"RemoveTerminatorRequestType": 1012,
"InspectRequestType": 1013,
"InspectResponseType": 1014,
"StartXgressType": 1015,
"SessionFailedType": 1016,
}
func (x ContentType) String() string {
return proto.EnumName(ContentType_name, int32(x))
}
func (ContentType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{0}
}
type FaultSubject int32
const (
FaultSubject_IngressFault FaultSubject = 0
FaultSubject_EgressFault FaultSubject = 1
FaultSubject_LinkFault FaultSubject = 2
)
var FaultSubject_name = map[int32]string{
0: "IngressFault",
1: "EgressFault",
2: "LinkFault",
}
var FaultSubject_value = map[string]int32{
"IngressFault": 0,
"EgressFault": 1,
"LinkFault": 2,
}
func (x FaultSubject) String() string {
return proto.EnumName(FaultSubject_name, int32(x))
}
func (FaultSubject) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{1}
}
type MetricsSourceType int32
const (
MetricsSourceType_Ingress MetricsSourceType = 0
MetricsSourceType_Egress MetricsSourceType = 1
MetricsSourceType_Internal MetricsSourceType = 2
)
var MetricsSourceType_name = map[int32]string{
0: "Ingress",
1: "Egress",
2: "Internal",
}
var MetricsSourceType_value = map[string]int32{
"Ingress": 0,
"Egress": 1,
"Internal": 2,
}
func (x MetricsSourceType) String() string {
return proto.EnumName(MetricsSourceType_name, int32(x))
}
func (MetricsSourceType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{2}
}
type SessionRequest struct {
IngressId string `protobuf:"bytes,1,opt,name=ingressId,proto3" json:"ingressId,omitempty"`
ServiceId string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"`
PeerData map[uint32][]byte `protobuf:"bytes,3,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SessionRequest) Reset() { *m = SessionRequest{} }
func (m *SessionRequest) String() string { return proto.CompactTextString(m) }
func (*SessionRequest) ProtoMessage() {}
func (*SessionRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{0}
}
func (m *SessionRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SessionRequest.Unmarshal(m, b)
}
func (m *SessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SessionRequest.Marshal(b, m, deterministic)
}
func (m *SessionRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SessionRequest.Merge(m, src)
}
func (m *SessionRequest) XXX_Size() int {
return xxx_messageInfo_SessionRequest.Size(m)
}
func (m *SessionRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SessionRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SessionRequest proto.InternalMessageInfo
func (m *SessionRequest) GetIngressId() string {
if m != nil {
return m.IngressId
}
return ""
}
func (m *SessionRequest) GetServiceId() string {
if m != nil {
return m.ServiceId
}
return ""
}
func (m *SessionRequest) GetPeerData() map[uint32][]byte {
if m != nil {
return m.PeerData
}
return nil
}
type CreateTerminatorRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ServiceId string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"`
Binding string `protobuf:"bytes,3,opt,name=binding,proto3" json:"binding,omitempty"`
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
PeerData map[uint32][]byte `protobuf:"bytes,5,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateTerminatorRequest) Reset() { *m = CreateTerminatorRequest{} }
func (m *CreateTerminatorRequest) String() string { return proto.CompactTextString(m) }
func (*CreateTerminatorRequest) ProtoMessage() {}
func (*CreateTerminatorRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{1}
}
func (m *CreateTerminatorRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTerminatorRequest.Unmarshal(m, b)
}
func (m *CreateTerminatorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateTerminatorRequest.Marshal(b, m, deterministic)
}
func (m *CreateTerminatorRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateTerminatorRequest.Merge(m, src)
}
func (m *CreateTerminatorRequest) XXX_Size() int {
return xxx_messageInfo_CreateTerminatorRequest.Size(m)
}
func (m *CreateTerminatorRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateTerminatorRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateTerminatorRequest proto.InternalMessageInfo
func (m *CreateTerminatorRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *CreateTerminatorRequest) GetServiceId() string {
if m != nil {
return m.ServiceId
}
return ""
}
func (m *CreateTerminatorRequest) GetBinding() string {
if m != nil {
return m.Binding
}
return ""
}
func (m *CreateTerminatorRequest) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *CreateTerminatorRequest) GetPeerData() map[uint32][]byte {
if m != nil {
return m.PeerData
}
return nil
}
type RemoveTerminatorRequest struct {
TerminatorId string `protobuf:"bytes,1,opt,name=terminatorId,proto3" json:"terminatorId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RemoveTerminatorRequest) Reset() { *m = RemoveTerminatorRequest{} }
func (m *RemoveTerminatorRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveTerminatorRequest) ProtoMessage() {}
func (*RemoveTerminatorRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{2}
}
func (m *RemoveTerminatorRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RemoveTerminatorRequest.Unmarshal(m, b)
}
func (m *RemoveTerminatorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RemoveTerminatorRequest.Marshal(b, m, deterministic)
}
func (m *RemoveTerminatorRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RemoveTerminatorRequest.Merge(m, src)
}
func (m *RemoveTerminatorRequest) XXX_Size() int {
return xxx_messageInfo_RemoveTerminatorRequest.Size(m)
}
func (m *RemoveTerminatorRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RemoveTerminatorRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RemoveTerminatorRequest proto.InternalMessageInfo
func (m *RemoveTerminatorRequest) GetTerminatorId() string {
if m != nil {
return m.TerminatorId
}
return ""
}
type Dial struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Dial) Reset() { *m = Dial{} }
func (m *Dial) String() string { return proto.CompactTextString(m) }
func (*Dial) ProtoMessage() {}
func (*Dial) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{3}
}
func (m *Dial) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Dial.Unmarshal(m, b)
}
func (m *Dial) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Dial.Marshal(b, m, deterministic)
}
func (m *Dial) XXX_Merge(src proto.Message) {
xxx_messageInfo_Dial.Merge(m, src)
}
func (m *Dial) XXX_Size() int {
return xxx_messageInfo_Dial.Size(m)
}
func (m *Dial) XXX_DiscardUnknown() {
xxx_messageInfo_Dial.DiscardUnknown(m)
}
var xxx_messageInfo_Dial proto.InternalMessageInfo
func (m *Dial) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *Dial) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
type Link struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Link) Reset() { *m = Link{} }
func (m *Link) String() string { return proto.CompactTextString(m) }
func (*Link) ProtoMessage() {}
func (*Link) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{4}
}
func (m *Link) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Link.Unmarshal(m, b)
}
func (m *Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Link.Marshal(b, m, deterministic)
}
func (m *Link) XXX_Merge(src proto.Message) {
xxx_messageInfo_Link.Merge(m, src)
}
func (m *Link) XXX_Size() int {
return xxx_messageInfo_Link.Size(m)
}
func (m *Link) XXX_DiscardUnknown() {
xxx_messageInfo_Link.DiscardUnknown(m)
}
var xxx_messageInfo_Link proto.InternalMessageInfo
func (m *Link) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type Fault struct {
Subject FaultSubject `protobuf:"varint,1,opt,name=subject,proto3,enum=ctrl.pb.FaultSubject" json:"subject,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Fault) Reset() { *m = Fault{} }
func (m *Fault) String() string { return proto.CompactTextString(m) }
func (*Fault) ProtoMessage() {}
func (*Fault) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{5}
}
func (m *Fault) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Fault.Unmarshal(m, b)
}
func (m *Fault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Fault.Marshal(b, m, deterministic)
}
func (m *Fault) XXX_Merge(src proto.Message) {
xxx_messageInfo_Fault.Merge(m, src)
}
func (m *Fault) XXX_Size() int {
return xxx_messageInfo_Fault.Size(m)
}
func (m *Fault) XXX_DiscardUnknown() {
xxx_messageInfo_Fault.DiscardUnknown(m)
}
var xxx_messageInfo_Fault proto.InternalMessageInfo
func (m *Fault) GetSubject() FaultSubject {
if m != nil {
return m.Subject
}
return FaultSubject_IngressFault
}
func (m *Fault) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type Route struct {
SessionId string `protobuf:"bytes,1,opt,name=sessionId,proto3" json:"sessionId,omitempty"`
Egress *Route_Egress `protobuf:"bytes,2,opt,name=egress,proto3" json:"egress,omitempty"`
Forwards []*Route_Forward `protobuf:"bytes,3,rep,name=forwards,proto3" json:"forwards,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{6}
}
func (m *Route) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route.Unmarshal(m, b)
}
func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Route.Marshal(b, m, deterministic)
}
func (m *Route) XXX_Merge(src proto.Message) {
xxx_messageInfo_Route.Merge(m, src)
}
func (m *Route) XXX_Size() int {
return xxx_messageInfo_Route.Size(m)
}
func (m *Route) XXX_DiscardUnknown() {
xxx_messageInfo_Route.DiscardUnknown(m)
}
var xxx_messageInfo_Route proto.InternalMessageInfo
func (m *Route) GetSessionId() string {
if m != nil {
return m.SessionId
}
return ""
}
func (m *Route) GetEgress() *Route_Egress {
if m != nil {
return m.Egress
}
return nil
}
func (m *Route) GetForwards() []*Route_Forward {
if m != nil {
return m.Forwards
}
return nil
}
type Route_Egress struct {
Binding string `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"`
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
PeerData map[uint32][]byte `protobuf:"bytes,4,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Route_Egress) Reset() { *m = Route_Egress{} }
func (m *Route_Egress) String() string { return proto.CompactTextString(m) }
func (*Route_Egress) ProtoMessage() {}
func (*Route_Egress) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{6, 0}
}
func (m *Route_Egress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route_Egress.Unmarshal(m, b)
}
func (m *Route_Egress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Route_Egress.Marshal(b, m, deterministic)
}
func (m *Route_Egress) XXX_Merge(src proto.Message) {
xxx_messageInfo_Route_Egress.Merge(m, src)
}
func (m *Route_Egress) XXX_Size() int {
return xxx_messageInfo_Route_Egress.Size(m)
}
func (m *Route_Egress) XXX_DiscardUnknown() {
xxx_messageInfo_Route_Egress.DiscardUnknown(m)
}
var xxx_messageInfo_Route_Egress proto.InternalMessageInfo
func (m *Route_Egress) GetBinding() string {
if m != nil {
return m.Binding
}
return ""
}
func (m *Route_Egress) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *Route_Egress) GetDestination() string {
if m != nil {
return m.Destination
}
return ""
}
func (m *Route_Egress) GetPeerData() map[uint32][]byte {
if m != nil {
return m.PeerData
}
return nil
}
type Route_Forward struct {
SrcAddress string `protobuf:"bytes,1,opt,name=srcAddress,proto3" json:"srcAddress,omitempty"`
DstAddress string `protobuf:"bytes,2,opt,name=dstAddress,proto3" json:"dstAddress,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Route_Forward) Reset() { *m = Route_Forward{} }
func (m *Route_Forward) String() string { return proto.CompactTextString(m) }
func (*Route_Forward) ProtoMessage() {}
func (*Route_Forward) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{6, 1}
}
func (m *Route_Forward) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route_Forward.Unmarshal(m, b)
}
func (m *Route_Forward) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Route_Forward.Marshal(b, m, deterministic)
}
func (m *Route_Forward) XXX_Merge(src proto.Message) {
xxx_messageInfo_Route_Forward.Merge(m, src)
}
func (m *Route_Forward) XXX_Size() int {
return xxx_messageInfo_Route_Forward.Size(m)
}
func (m *Route_Forward) XXX_DiscardUnknown() {
xxx_messageInfo_Route_Forward.DiscardUnknown(m)
}
var xxx_messageInfo_Route_Forward proto.InternalMessageInfo
func (m *Route_Forward) GetSrcAddress() string {
if m != nil {
return m.SrcAddress
}
return ""
}
func (m *Route_Forward) GetDstAddress() string {
if m != nil {
return m.DstAddress
}
return ""
}
type Unroute struct {
SessionId string `protobuf:"bytes,1,opt,name=sessionId,proto3" json:"sessionId,omitempty"`
Now bool `protobuf:"varint,2,opt,name=now,proto3" json:"now,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Unroute) Reset() { *m = Unroute{} }
func (m *Unroute) String() string { return proto.CompactTextString(m) }
func (*Unroute) ProtoMessage() {}
func (*Unroute) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{7}
}
func (m *Unroute) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Unroute.Unmarshal(m, b)
}
func (m *Unroute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Unroute.Marshal(b, m, deterministic)
}
func (m *Unroute) XXX_Merge(src proto.Message) {
xxx_messageInfo_Unroute.Merge(m, src)
}
func (m *Unroute) XXX_Size() int {
return xxx_messageInfo_Unroute.Size(m)
}
func (m *Unroute) XXX_DiscardUnknown() {
xxx_messageInfo_Unroute.DiscardUnknown(m)
}
var xxx_messageInfo_Unroute proto.InternalMessageInfo
func (m *Unroute) GetSessionId() string {
if m != nil {
return m.SessionId
}
return ""
}
func (m *Unroute) GetNow() bool {
if m != nil {
return m.Now
}
return false
}
type MetricsMessage struct {
SourceType MetricsSourceType `protobuf:"varint,1,opt,name=sourceType,proto3,enum=ctrl.pb.MetricsSourceType" json:"sourceType,omitempty"`
SourceId string `protobuf:"bytes,2,opt,name=sourceId,proto3" json:"sourceId,omitempty"`
Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Tags map[string]string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
IntValues map[string]int64 `protobuf:"bytes,5,rep,name=intValues,proto3" json:"intValues,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
FloatValues map[string]float64 `protobuf:"bytes,6,rep,name=floatValues,proto3" json:"floatValues,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
Meters map[string]*MetricsMessage_Meter `protobuf:"bytes,7,rep,name=meters,proto3" json:"meters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Histograms map[string]*MetricsMessage_Histogram `protobuf:"bytes,8,rep,name=histograms,proto3" json:"histograms,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
IntervalCounters map[string]*MetricsMessage_IntervalCounter `protobuf:"bytes,9,rep,name=intervalCounters,proto3" json:"intervalCounters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MetricsMessage) Reset() { *m = MetricsMessage{} }
func (m *MetricsMessage) String() string { return proto.CompactTextString(m) }
func (*MetricsMessage) ProtoMessage() {}
func (*MetricsMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{8}
}
func (m *MetricsMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MetricsMessage.Unmarshal(m, b)
}
func (m *MetricsMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MetricsMessage.Marshal(b, m, deterministic)
}
func (m *MetricsMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_MetricsMessage.Merge(m, src)
}
func (m *MetricsMessage) XXX_Size() int {
return xxx_messageInfo_MetricsMessage.Size(m)
}
func (m *MetricsMessage) XXX_DiscardUnknown() {
xxx_messageInfo_MetricsMessage.DiscardUnknown(m)
}
var xxx_messageInfo_MetricsMessage proto.InternalMessageInfo
func (m *MetricsMessage) GetSourceType() MetricsSourceType {
if m != nil {
return m.SourceType
}
return MetricsSourceType_Ingress
}
func (m *MetricsMessage) GetSourceId() string {
if m != nil {
return m.SourceId
}
return ""
}
func (m *MetricsMessage) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *MetricsMessage) GetTags() map[string]string {
if m != nil {
return m.Tags
}
return nil
}
func (m *MetricsMessage) GetIntValues() map[string]int64 {
if m != nil {
return m.IntValues
}
return nil
}
func (m *MetricsMessage) GetFloatValues() map[string]float64 {
if m != nil {
return m.FloatValues
}
return nil
}
func (m *MetricsMessage) GetMeters() map[string]*MetricsMessage_Meter {
if m != nil {
return m.Meters
}
return nil
}
func (m *MetricsMessage) GetHistograms() map[string]*MetricsMessage_Histogram {
if m != nil {
return m.Histograms
}
return nil
}
func (m *MetricsMessage) GetIntervalCounters() map[string]*MetricsMessage_IntervalCounter {
if m != nil {
return m.IntervalCounters
}
return nil
}
type MetricsMessage_Meter struct {
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
M1Rate float64 `protobuf:"fixed64,2,opt,name=m1Rate,proto3" json:"m1Rate,omitempty"`
M5Rate float64 `protobuf:"fixed64,3,opt,name=m5Rate,proto3" json:"m5Rate,omitempty"`
M15Rate float64 `protobuf:"fixed64,4,opt,name=m15Rate,proto3" json:"m15Rate,omitempty"`
MeanRate float64 `protobuf:"fixed64,5,opt,name=meanRate,proto3" json:"meanRate,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MetricsMessage_Meter) Reset() { *m = MetricsMessage_Meter{} }
func (m *MetricsMessage_Meter) String() string { return proto.CompactTextString(m) }
func (*MetricsMessage_Meter) ProtoMessage() {}
func (*MetricsMessage_Meter) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{8, 6}
}
func (m *MetricsMessage_Meter) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MetricsMessage_Meter.Unmarshal(m, b)
}
func (m *MetricsMessage_Meter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MetricsMessage_Meter.Marshal(b, m, deterministic)
}
func (m *MetricsMessage_Meter) XXX_Merge(src proto.Message) {
xxx_messageInfo_MetricsMessage_Meter.Merge(m, src)
}
func (m *MetricsMessage_Meter) XXX_Size() int {
return xxx_messageInfo_MetricsMessage_Meter.Size(m)
}
func (m *MetricsMessage_Meter) XXX_DiscardUnknown() {
xxx_messageInfo_MetricsMessage_Meter.DiscardUnknown(m)
}
var xxx_messageInfo_MetricsMessage_Meter proto.InternalMessageInfo
func (m *MetricsMessage_Meter) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
func (m *MetricsMessage_Meter) GetM1Rate() float64 {
if m != nil {
return m.M1Rate
}
return 0
}
func (m *MetricsMessage_Meter) GetM5Rate() float64 {
if m != nil {
return m.M5Rate
}
return 0
}
func (m *MetricsMessage_Meter) GetM15Rate() float64 {
if m != nil {
return m.M15Rate
}
return 0
}
func (m *MetricsMessage_Meter) GetMeanRate() float64 {
if m != nil {
return m.MeanRate
}
return 0
}
type MetricsMessage_Histogram struct {
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
Max int64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"`
Mean float64 `protobuf:"fixed64,3,opt,name=mean,proto3" json:"mean,omitempty"`
Min int64 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"`
StdDev float64 `protobuf:"fixed64,5,opt,name=stdDev,proto3" json:"stdDev,omitempty"`
Variance float64 `protobuf:"fixed64,6,opt,name=variance,proto3" json:"variance,omitempty"`
P50 float64 `protobuf:"fixed64,7,opt,name=p50,proto3" json:"p50,omitempty"`
P75 float64 `protobuf:"fixed64,8,opt,name=p75,proto3" json:"p75,omitempty"`
P95 float64 `protobuf:"fixed64,9,opt,name=p95,proto3" json:"p95,omitempty"`
P99 float64 `protobuf:"fixed64,10,opt,name=p99,proto3" json:"p99,omitempty"`
P999 float64 `protobuf:"fixed64,11,opt,name=p999,proto3" json:"p999,omitempty"`
P9999 float64 `protobuf:"fixed64,12,opt,name=p9999,proto3" json:"p9999,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MetricsMessage_Histogram) Reset() { *m = MetricsMessage_Histogram{} }
func (m *MetricsMessage_Histogram) String() string { return proto.CompactTextString(m) }
func (*MetricsMessage_Histogram) ProtoMessage() {}
func (*MetricsMessage_Histogram) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{8, 7}
}
func (m *MetricsMessage_Histogram) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MetricsMessage_Histogram.Unmarshal(m, b)
}
func (m *MetricsMessage_Histogram) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MetricsMessage_Histogram.Marshal(b, m, deterministic)
}
func (m *MetricsMessage_Histogram) XXX_Merge(src proto.Message) {
xxx_messageInfo_MetricsMessage_Histogram.Merge(m, src)
}
func (m *MetricsMessage_Histogram) XXX_Size() int {
return xxx_messageInfo_MetricsMessage_Histogram.Size(m)
}
func (m *MetricsMessage_Histogram) XXX_DiscardUnknown() {
xxx_messageInfo_MetricsMessage_Histogram.DiscardUnknown(m)
}
var xxx_messageInfo_MetricsMessage_Histogram proto.InternalMessageInfo
func (m *MetricsMessage_Histogram) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
func (m *MetricsMessage_Histogram) GetMax() int64 {
if m != nil {
return m.Max
}
return 0
}
func (m *MetricsMessage_Histogram) GetMean() float64 {
if m != nil {
return m.Mean
}
return 0
}
func (m *MetricsMessage_Histogram) GetMin() int64 {
if m != nil {
return m.Min
}
return 0
}
func (m *MetricsMessage_Histogram) GetStdDev() float64 {
if m != nil {
return m.StdDev
}
return 0
}
func (m *MetricsMessage_Histogram) GetVariance() float64 {
if m != nil {
return m.Variance
}
return 0
}
func (m *MetricsMessage_Histogram) GetP50() float64 {
if m != nil {
return m.P50
}
return 0
}
func (m *MetricsMessage_Histogram) GetP75() float64 {
if m != nil {
return m.P75
}
return 0
}
func (m *MetricsMessage_Histogram) GetP95() float64 {
if m != nil {
return m.P95
}
return 0
}
func (m *MetricsMessage_Histogram) GetP99() float64 {
if m != nil {
return m.P99
}
return 0
}
func (m *MetricsMessage_Histogram) GetP999() float64 {
if m != nil {
return m.P999
}
return 0
}
func (m *MetricsMessage_Histogram) GetP9999() float64 {
if m != nil {
return m.P9999
}
return 0
}
type MetricsMessage_IntervalCounter struct {
IntervalLength uint64 `protobuf:"varint,1,opt,name=intervalLength,proto3" json:"intervalLength,omitempty"`
Buckets []*MetricsMessage_IntervalBucket `protobuf:"bytes,2,rep,name=buckets,proto3" json:"buckets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MetricsMessage_IntervalCounter) Reset() { *m = MetricsMessage_IntervalCounter{} }
func (m *MetricsMessage_IntervalCounter) String() string { return proto.CompactTextString(m) }
func (*MetricsMessage_IntervalCounter) ProtoMessage() {}
func (*MetricsMessage_IntervalCounter) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{8, 8}
}
func (m *MetricsMessage_IntervalCounter) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MetricsMessage_IntervalCounter.Unmarshal(m, b)
}
func (m *MetricsMessage_IntervalCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MetricsMessage_IntervalCounter.Marshal(b, m, deterministic)
}
func (m *MetricsMessage_IntervalCounter) XXX_Merge(src proto.Message) {
xxx_messageInfo_MetricsMessage_IntervalCounter.Merge(m, src)
}
func (m *MetricsMessage_IntervalCounter) XXX_Size() int {
return xxx_messageInfo_MetricsMessage_IntervalCounter.Size(m)
}
func (m *MetricsMessage_IntervalCounter) XXX_DiscardUnknown() {
xxx_messageInfo_MetricsMessage_IntervalCounter.DiscardUnknown(m)
}
var xxx_messageInfo_MetricsMessage_IntervalCounter proto.InternalMessageInfo
func (m *MetricsMessage_IntervalCounter) GetIntervalLength() uint64 {
if m != nil {
return m.IntervalLength
}
return 0
}
func (m *MetricsMessage_IntervalCounter) GetBuckets() []*MetricsMessage_IntervalBucket {
if m != nil {
return m.Buckets
}
return nil
}
type MetricsMessage_IntervalBucket struct {
IntervalStartUTC int64 `protobuf:"varint,1,opt,name=intervalStartUTC,proto3" json:"intervalStartUTC,omitempty"`
Values map[string]uint64 `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MetricsMessage_IntervalBucket) Reset() { *m = MetricsMessage_IntervalBucket{} }
func (m *MetricsMessage_IntervalBucket) String() string { return proto.CompactTextString(m) }
func (*MetricsMessage_IntervalBucket) ProtoMessage() {}
func (*MetricsMessage_IntervalBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{8, 9}
}
func (m *MetricsMessage_IntervalBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MetricsMessage_IntervalBucket.Unmarshal(m, b)
}
func (m *MetricsMessage_IntervalBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MetricsMessage_IntervalBucket.Marshal(b, m, deterministic)
}
func (m *MetricsMessage_IntervalBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_MetricsMessage_IntervalBucket.Merge(m, src)
}
func (m *MetricsMessage_IntervalBucket) XXX_Size() int {
return xxx_messageInfo_MetricsMessage_IntervalBucket.Size(m)
}
func (m *MetricsMessage_IntervalBucket) XXX_DiscardUnknown() {
xxx_messageInfo_MetricsMessage_IntervalBucket.DiscardUnknown(m)
}
var xxx_messageInfo_MetricsMessage_IntervalBucket proto.InternalMessageInfo
func (m *MetricsMessage_IntervalBucket) GetIntervalStartUTC() int64 {
if m != nil {
return m.IntervalStartUTC
}
return 0
}
func (m *MetricsMessage_IntervalBucket) GetValues() map[string]uint64 {
if m != nil {
return m.Values
}
return nil
}
type InspectRequest struct {
RequestedValues []string `protobuf:"bytes,1,rep,name=requestedValues,proto3" json:"requestedValues,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectRequest) Reset() { *m = InspectRequest{} }
func (m *InspectRequest) String() string { return proto.CompactTextString(m) }
func (*InspectRequest) ProtoMessage() {}
func (*InspectRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{9}
}
func (m *InspectRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectRequest.Unmarshal(m, b)
}
func (m *InspectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectRequest.Marshal(b, m, deterministic)
}
func (m *InspectRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectRequest.Merge(m, src)
}
func (m *InspectRequest) XXX_Size() int {
return xxx_messageInfo_InspectRequest.Size(m)
}
func (m *InspectRequest) XXX_DiscardUnknown() {
xxx_messageInfo_InspectRequest.DiscardUnknown(m)
}
var xxx_messageInfo_InspectRequest proto.InternalMessageInfo
func (m *InspectRequest) GetRequestedValues() []string {
if m != nil {
return m.RequestedValues
}
return nil
}
type InspectResponse struct {
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
Values []*InspectResponse_InspectValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectResponse) Reset() { *m = InspectResponse{} }
func (m *InspectResponse) String() string { return proto.CompactTextString(m) }
func (*InspectResponse) ProtoMessage() {}
func (*InspectResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{10}
}
func (m *InspectResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectResponse.Unmarshal(m, b)
}
func (m *InspectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectResponse.Marshal(b, m, deterministic)
}
func (m *InspectResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectResponse.Merge(m, src)
}
func (m *InspectResponse) XXX_Size() int {
return xxx_messageInfo_InspectResponse.Size(m)
}
func (m *InspectResponse) XXX_DiscardUnknown() {
xxx_messageInfo_InspectResponse.DiscardUnknown(m)
}
var xxx_messageInfo_InspectResponse proto.InternalMessageInfo
func (m *InspectResponse) GetSuccess() bool {
if m != nil {
return m.Success
}
return false
}
func (m *InspectResponse) GetErrors() []string {
if m != nil {
return m.Errors
}
return nil
}
func (m *InspectResponse) GetValues() []*InspectResponse_InspectValue {
if m != nil {
return m.Values
}
return nil
}
type InspectResponse_InspectValue struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectResponse_InspectValue) Reset() { *m = InspectResponse_InspectValue{} }
func (m *InspectResponse_InspectValue) String() string { return proto.CompactTextString(m) }
func (*InspectResponse_InspectValue) ProtoMessage() {}
func (*InspectResponse_InspectValue) Descriptor() ([]byte, []int) {
return fileDescriptor_a0572e205f89e843, []int{10, 0}
}
func (m *InspectResponse_InspectValue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectResponse_InspectValue.Unmarshal(m, b)
}
func (m *InspectResponse_InspectValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectResponse_InspectValue.Marshal(b, m, deterministic)
}
func (m *InspectResponse_InspectValue) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectResponse_InspectValue.Merge(m, src)
}
func (m *InspectResponse_InspectValue) XXX_Size() int {
return xxx_messageInfo_InspectResponse_InspectValue.Size(m)
}
func (m *InspectResponse_InspectValue) XXX_DiscardUnknown() {
xxx_messageInfo_InspectResponse_InspectValue.DiscardUnknown(m)
}
var xxx_messageInfo_InspectResponse_InspectValue proto.InternalMessageInfo
func (m *InspectResponse_InspectValue) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *InspectResponse_InspectValue) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
func init() {
proto.RegisterEnum("ctrl.pb.ContentType", ContentType_name, ContentType_value)
proto.RegisterEnum("ctrl.pb.FaultSubject", FaultSubject_name, FaultSubject_value)
proto.RegisterEnum("ctrl.pb.MetricsSourceType", MetricsSourceType_name, MetricsSourceType_value)
proto.RegisterType((*SessionRequest)(nil), "ctrl.pb.SessionRequest")
proto.RegisterMapType((map[uint32][]byte)(nil), "ctrl.pb.SessionRequest.PeerDataEntry")
proto.RegisterType((*CreateTerminatorRequest)(nil), "ctrl.pb.CreateTerminatorRequest")
proto.RegisterMapType((map[uint32][]byte)(nil), "ctrl.pb.CreateTerminatorRequest.PeerDataEntry")
proto.RegisterType((*RemoveTerminatorRequest)(nil), "ctrl.pb.RemoveTerminatorRequest")
proto.RegisterType((*Dial)(nil), "ctrl.pb.Dial")
proto.RegisterType((*Link)(nil), "ctrl.pb.Link")
proto.RegisterType((*Fault)(nil), "ctrl.pb.Fault")
proto.RegisterType((*Route)(nil), "ctrl.pb.Route")
proto.RegisterType((*Route_Egress)(nil), "ctrl.pb.Route.Egress")
proto.RegisterMapType((map[uint32][]byte)(nil), "ctrl.pb.Route.Egress.PeerDataEntry")
proto.RegisterType((*Route_Forward)(nil), "ctrl.pb.Route.Forward")
proto.RegisterType((*Unroute)(nil), "ctrl.pb.Unroute")
proto.RegisterType((*MetricsMessage)(nil), "ctrl.pb.MetricsMessage")
proto.RegisterMapType((map[string]float64)(nil), "ctrl.pb.MetricsMessage.FloatValuesEntry")
proto.RegisterMapType((map[string]*MetricsMessage_Histogram)(nil), "ctrl.pb.MetricsMessage.HistogramsEntry")
proto.RegisterMapType((map[string]int64)(nil), "ctrl.pb.MetricsMessage.IntValuesEntry")
proto.RegisterMapType((map[string]*MetricsMessage_IntervalCounter)(nil), "ctrl.pb.MetricsMessage.IntervalCountersEntry")
proto.RegisterMapType((map[string]*MetricsMessage_Meter)(nil), "ctrl.pb.MetricsMessage.MetersEntry")
proto.RegisterMapType((map[string]string)(nil), "ctrl.pb.MetricsMessage.TagsEntry")
proto.RegisterType((*MetricsMessage_Meter)(nil), "ctrl.pb.MetricsMessage.Meter")
proto.RegisterType((*MetricsMessage_Histogram)(nil), "ctrl.pb.MetricsMessage.Histogram")
proto.RegisterType((*MetricsMessage_IntervalCounter)(nil), "ctrl.pb.MetricsMessage.IntervalCounter")
proto.RegisterType((*MetricsMessage_IntervalBucket)(nil), "ctrl.pb.MetricsMessage.IntervalBucket")
proto.RegisterMapType((map[string]uint64)(nil), "ctrl.pb.MetricsMessage.IntervalBucket.ValuesEntry")
proto.RegisterType((*InspectRequest)(nil), "ctrl.pb.InspectRequest")
proto.RegisterType((*InspectResponse)(nil), "ctrl.pb.InspectResponse")
proto.RegisterType((*InspectResponse_InspectValue)(nil), "ctrl.pb.InspectResponse.InspectValue")
}
func init() { proto.RegisterFile("ctrl.proto", fileDescriptor_a0572e205f89e843) }
var fileDescriptor_a0572e205f89e843 = []byte{
// 1371 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5b, 0x93, 0x13, 0xc5,
0x17, 0xff, 0x4f, 0x92, 0xdd, 0xc9, 0x9c, 0xd9, 0xcd, 0x86, 0xe6, 0x0f, 0xa4, 0xe2, 0x0d, 0x62,
0x09, 0x5b, 0x5b, 0x45, 0x80, 0xa5, 0x52, 0x4b, 0x16, 0x51, 0x70, 0x2f, 0x82, 0x05, 0x55, 0xd4,
0x6c, 0xb0, 0xd0, 0x27, 0x7b, 0x93, 0x26, 0x8c, 0x24, 0x33, 0xb1, 0x67, 0x12, 0xa4, 0x7c, 0xd4,
0x2a, 0xbf, 0x8f, 0xcf, 0xbe, 0xf9, 0xea, 0x47, 0xf0, 0x03, 0x78, 0xd7, 0xf2, 0xca, 0x9b, 0x76,
0x9f, 0xee, 0x99, 0xf4, 0xcc, 0x26, 0xec, 0xfa, 0xc0, 0x53, 0xfa, 0xfc, 0xce, 0xa5, 0xcf, 0xad,
0xcf, 0x9c, 0x00, 0x74, 0x63, 0x3e, 0x68, 0x8e, 0x78, 0x18, 0x87, 0xc4, 0x56, 0xe7, 0xfd, 0xfa,
0x2b, 0xfd, 0x30, 0xec, 0x0f, 0xd8, 0x05, 0x84, 0xf7, 0xc7, 0x0f, 0x2e, 0xc4, 0xfe, 0x90, 0x45,
0x31, 0x1d, 0x8e, 0x94, 0x64, 0xe3, 0x6b, 0x0b, 0x2a, 0x7b, 0x2c, 0x8a, 0xfc, 0x30, 0xf0, 0xd8,
0x47, 0x63, 0xc1, 0x23, 0x2f, 0x82, 0xe3, 0x07, 0x7d, 0x2e, 0xc0, 0x5b, 0xbd, 0x9a, 0x75, 0xda,
0x5a, 0x75, 0xbc, 0x29, 0x20, 0xb9, 0x11, 0xe3, 0x13, 0xbf, 0xcb, 0x04, 0xb7, 0xa0, 0xb8, 0x29,
0x40, 0x6e, 0x40, 0x79, 0xc4, 0x18, 0xdf, 0xa6, 0x31, 0xad, 0x15, 0x4f, 0x17, 0x57, 0xdd, 0xf5,
0xd7, 0x9a, 0xda, 0x97, 0x66, 0xf6, 0x9a, 0xe6, 0x5d, 0x2d, 0xb7, 0x13, 0xc4, 0xfc, 0x89, 0x97,
0xaa, 0xd5, 0xaf, 0xc2, 0x72, 0x86, 0x45, 0xaa, 0x50, 0x7c, 0xc4, 0x9e, 0xa0, 0x27, 0xcb, 0x9e,
0x3c, 0x92, 0xff, 0xc3, 0xc2, 0x84, 0x0e, 0xc6, 0x0c, 0xef, 0x5f, 0xf2, 0x14, 0xb1, 0x59, 0xb8,
0x62, 0x35, 0x3e, 0x2b, 0xc0, 0xa9, 0x2d, 0xce, 0x68, 0xcc, 0x3a, 0x8c, 0x0f, 0xfd, 0x80, 0xc6,
0x21, 0x4f, 0xe2, 0xaa, 0x40, 0xc1, 0x4f, 0x02, 0x12, 0xa7, 0x43, 0x22, 0xa9, 0x81, 0xbd, 0xef,
0x07, 0x3d, 0x11, 0xb8, 0x08, 0x44, 0xf2, 0x12, 0x52, 0x72, 0x68, 0xaf, 0x27, 0xd3, 0x51, 0x2b,
0x29, 0x8e, 0x26, 0xc9, 0x3b, 0x46, 0xf4, 0x0b, 0x18, 0x7d, 0x33, 0x8d, 0x7e, 0x8e, 0x57, 0xcf,
0x27, 0x0d, 0xd7, 0xe0, 0x94, 0xc7, 0x86, 0xe1, 0x64, 0x46, 0x16, 0x1a, 0xb0, 0x14, 0xa7, 0x60,
0x5a, 0xe0, 0x0c, 0xd6, 0xb8, 0x08, 0xa5, 0x6d, 0x9f, 0x0e, 0x0e, 0x64, 0xcc, 0x88, 0xbc, 0x90,
0x89, 0xbc, 0x71, 0x12, 0x4a, 0xb7, 0xfd, 0xe0, 0x51, 0x5e, 0xa3, 0x71, 0x13, 0x16, 0x76, 0xe9,
0x78, 0x10, 0x93, 0x0b, 0x60, 0x47, 0xe3, 0xfd, 0x0f, 0x59, 0x37, 0x46, 0x6e, 0x65, 0xfd, 0x44,
0x9a, 0x19, 0x14, 0xd8, 0x53, 0x4c, 0x2f, 0x91, 0xd2, 0x96, 0x0a, 0xa9, 0xa5, 0x2f, 0x8a, 0xb0,
0xe0, 0x85, 0xe3, 0x98, 0xa9, 0xba, 0x61, 0x2b, 0x4d, 0xfb, 0x33, 0x05, 0xc8, 0x79, 0x58, 0x64,
0xfd, 0xd4, 0x45, 0xd7, 0xb8, 0x07, 0xb5, 0x9b, 0x3b, 0xc8, 0xf4, 0xb4, 0x10, 0x59, 0x87, 0xf2,
0x83, 0x90, 0x3f, 0xa6, 0xbc, 0x17, 0xe9, 0x86, 0x3d, 0x99, 0x53, 0xd8, 0x55, 0x6c, 0x2f, 0x95,
0xab, 0x7f, 0x63, 0xc1, 0xa2, 0x32, 0x63, 0x76, 0x89, 0x35, 0xb7, 0x4b, 0xb2, 0xb9, 0x22, 0xa7,
0xc1, 0xed, 0x89, 0x4a, 0xc8, 0x6c, 0x0b, 0x97, 0x75, 0x77, 0x99, 0x10, 0x79, 0xd3, 0xe8, 0xa3,
0x12, 0x3a, 0xf5, 0xea, 0xcc, 0x28, 0x9e, 0x4b, 0xf3, 0xd4, 0x6f, 0x81, 0xad, 0x63, 0x26, 0x2f,
0x03, 0x44, 0xbc, 0x7b, 0x43, 0xc7, 0xa1, 0x22, 0x34, 0x10, 0xc9, 0xef, 0x45, 0xf1, 0x8d, 0x4c,
0x9c, 0x06, 0xd2, 0x68, 0x83, 0x7d, 0x2f, 0xe0, 0x47, 0xa8, 0x9a, 0xf0, 0x2f, 0x08, 0x1f, 0xa3,
0x85, 0xb2, 0x27, 0x8f, 0x8d, 0xa7, 0xcb, 0x50, 0xb9, 0xc3, 0x62, 0xee, 0x77, 0xa3, 0x3b, 0x42,
0x8c, 0xf6, 0x19, 0xd9, 0x14, 0xde, 0x84, 0x63, 0xde, 0x65, 0x9d, 0x27, 0x23, 0xa6, 0xdb, 0xa8,
0x9e, 0x26, 0x46, 0x0b, 0xef, 0xa5, 0x12, 0x9e, 0x21, 0x4d, 0xea, 0x50, 0x56, 0x54, 0xfa, 0xd6,
0x53, 0x9a, 0x5c, 0x01, 0x27, 0x1d, 0x8b, 0x58, 0x0e, 0x57, 0x98, 0x55, 0x83, 0xb3, 0x99, 0x0c,
0xce, 0x66, 0x27, 0x91, 0xf0, 0xa6, 0xc2, 0xa4, 0x05, 0xa5, 0x98, 0xf6, 0x23, 0x5d, 0xa4, 0x33,
0x79, 0x5f, 0xb4, 0xe3, 0xcd, 0x8e, 0x90, 0x51, 0x25, 0x42, 0x71, 0xb2, 0x2d, 0x27, 0x6c, 0xfc,
0xae, 0xcc, 0x78, 0xa4, 0x07, 0xc5, 0xd9, 0x79, 0xba, 0xb7, 0x12, 0x41, 0x65, 0x60, 0xaa, 0x28,
0xa6, 0x8d, 0xfb, 0x60, 0x10, 0xd2, 0xc4, 0xce, 0x22, 0xda, 0x59, 0x9d, 0x67, 0x67, 0x77, 0x2a,
0xaa, 0x2c, 0x99, 0xca, 0xe4, 0x2a, 0x2c, 0x0e, 0x99, 0x98, 0x01, 0x51, 0xcd, 0xce, 0xf5, 0x5b,
0xce, 0xcc, 0x1d, 0x94, 0x52, 0x16, 0xb4, 0x0a, 0x79, 0x1b, 0xe0, 0xa1, 0x1f, 0xc5, 0x61, 0x9f,
0xd3, 0x61, 0x54, 0x2b, 0xa3, 0x81, 0x73, 0xf3, 0x0c, 0xdc, 0x4c, 0x25, 0x95, 0x11, 0x43, 0x95,
0xbc, 0x07, 0x55, 0x11, 0x9e, 0x18, 0xc1, 0x74, 0xb0, 0x15, 0x8e, 0x03, 0xf4, 0xc7, 0x41, 0x73,
0xe7, 0x9f, 0x91, 0x9e, 0x8c, 0xbc, 0x32, 0x7a, 0xc0, 0x4c, 0x7d, 0x03, 0x9c, 0xb4, 0x0a, 0xe6,
0x6b, 0x70, 0x66, 0xbc, 0x06, 0xc7, 0x7c, 0x0d, 0xaf, 0x43, 0x25, 0x5b, 0x82, 0xc3, 0xb4, 0x8b,
0xa6, 0xf6, 0x1b, 0x50, 0xcd, 0x27, 0xfe, 0x30, 0x7d, 0xcb, 0xd4, 0xbf, 0x0f, 0xae, 0x91, 0xf1,
0x19, 0xaa, 0x97, 0x4d, 0x55, 0x77, 0xfd, 0xa5, 0x67, 0xd6, 0xcd, 0xb4, 0xfc, 0x01, 0xac, 0xe4,
0x4a, 0x31, 0xc3, 0xfa, 0x46, 0xd6, 0xfa, 0x99, 0x43, 0x8b, 0x6a, 0xde, 0x30, 0x80, 0x13, 0x33,
0xab, 0x33, 0xe3, 0x9e, 0x6b, 0xd9, 0x7b, 0xce, 0x1d, 0xb1, 0xda, 0xe6, 0x6d, 0x9f, 0x5a, 0xb0,
0x80, 0x41, 0xca, 0x6c, 0x76, 0x25, 0x1f, 0x2f, 0x10, 0xd5, 0x40, 0x82, 0x9c, 0x14, 0x1d, 0x7e,
0xc9, 0x13, 0x9f, 0x60, 0x9d, 0x64, 0x4d, 0x21, 0xde, 0x42, 0xbc, 0xa8, 0x71, 0xa4, 0xe4, 0xfc,
0x1e, 0x5e, 0x52, 0x8c, 0x12, 0x32, 0x12, 0x52, 0x8e, 0x92, 0x21, 0xa3, 0x01, 0xb2, 0x16, 0x90,
0x95, 0xd2, 0xf5, 0x7f, 0x2c, 0x70, 0xd2, 0x64, 0xcc, 0xf1, 0x44, 0x84, 0x3f, 0xa4, 0x1f, 0xeb,
0x5e, 0x91, 0x47, 0x42, 0xa0, 0x24, 0x2d, 0x68, 0x0f, 0xf0, 0x8c, 0x52, 0x7e, 0x80, 0x77, 0x4b,
0x29, 0x3f, 0x90, 0x9e, 0x46, 0x71, 0x6f, 0x9b, 0x4d, 0xf4, 0xad, 0x9a, 0x92, 0xfe, 0x4c, 0x28,
0xf7, 0x69, 0xd0, 0x65, 0x62, 0x08, 0xa0, 0x3f, 0x09, 0x2d, 0xad, 0x8c, 0x5a, 0x17, 0xc5, 0xa3,
0x96, 0xb0, 0x3c, 0x22, 0xb2, 0xd1, 0x12, 0xaf, 0x54, 0x21, 0x1b, 0x2d, 0x44, 0xda, 0x2d, 0xf1,
0xd0, 0x14, 0xd2, 0xd6, 0x48, 0xbb, 0x06, 0x09, 0xd2, 0x96, 0x1e, 0x8a, 0x9f, 0x76, 0xcd, 0x55,
0x1e, 0xca, 0xb3, 0x8c, 0x4e, 0xfe, 0xb6, 0x6b, 0x4b, 0xaa, 0x6b, 0x91, 0xa8, 0x7f, 0x02, 0x2b,
0xb9, 0x2a, 0x91, 0xb3, 0x50, 0x49, 0xde, 0xe3, 0x6d, 0x16, 0xf4, 0xe3, 0x87, 0x98, 0x8f, 0x92,
0x97, 0x43, 0xc9, 0x75, 0xf1, 0x31, 0x1d, 0x77, 0x1f, 0xb1, 0x58, 0x7e, 0x4a, 0x0e, 0x1b, 0x8a,
0xa8, 0xf8, 0x16, 0x8a, 0x7b, 0x89, 0x5a, 0xfd, 0x2b, 0x0b, 0x5f, 0xab, 0xc1, 0x23, 0x6b, 0xd3,
0x99, 0xb2, 0x17, 0x53, 0x1e, 0xdf, 0xeb, 0x6c, 0xe9, 0x72, 0x1c, 0xc0, 0xc5, 0x44, 0x5d, 0x9c,
0xa8, 0x61, 0xaa, 0x56, 0x81, 0xf5, 0xa3, 0xdd, 0xdf, 0x34, 0xc7, 0xaa, 0xb6, 0x50, 0x6f, 0x83,
0xfb, 0x1f, 0x1e, 0x7d, 0xc9, 0xdc, 0xde, 0x36, 0x65, 0x10, 0xd1, 0x48, 0xae, 0x43, 0x7a, 0x69,
0x5b, 0x85, 0x15, 0xae, 0x8e, 0xac, 0xa7, 0xc7, 0xbd, 0x25, 0x3c, 0x74, 0xbc, 0x3c, 0xdc, 0xf8,
0xd2, 0x92, 0xf9, 0xd7, 0xca, 0xd1, 0x28, 0x0c, 0x22, 0x6c, 0xe5, 0x68, 0xdc, 0xed, 0x26, 0x9f,
0xf0, 0xb2, 0x97, 0x90, 0xb2, 0xa5, 0x18, 0xe7, 0x21, 0x57, 0x09, 0x77, 0x3c, 0x4d, 0x89, 0xf7,
0x98, 0x4d, 0xc4, 0x74, 0x89, 0xcf, 0xd9, 0x4e, 0x68, 0xbc, 0x3d, 0x8d, 0xfd, 0x0a, 0x2c, 0x99,
0xb8, 0xec, 0x9e, 0x80, 0x0e, 0x99, 0x8e, 0x1e, 0xcf, 0xb3, 0x27, 0xee, 0xda, 0xe7, 0x45, 0x70,
0xb7, 0x42, 0x91, 0xdd, 0x20, 0xc6, 0xcf, 0x76, 0x19, 0x4a, 0xef, 0x33, 0x1e, 0x56, 0xff, 0x47,
0x4e, 0x01, 0xc9, 0xfe, 0x81, 0x90, 0xfc, 0xea, 0xb7, 0xb6, 0xc1, 0xd8, 0x53, 0x51, 0x21, 0xe3,
0x3b, 0x9b, 0x2c, 0x43, 0x59, 0x6e, 0xb1, 0x48, 0x7e, 0x8f, 0xa4, 0x5c, 0x51, 0x91, 0xfc, 0xc1,
0x16, 0xfb, 0xa5, 0x83, 0x8b, 0x27, 0xd2, 0x3f, 0x22, 0x8d, 0xab, 0x15, 0xd2, 0x3f, 0xd9, 0xa2,
0x60, 0xae, 0x5e, 0x5d, 0x10, 0xf9, 0x19, 0x11, 0xdd, 0x06, 0x88, 0xfc, 0x62, 0x8b, 0x4d, 0xee,
0x85, 0x4e, 0xd8, 0x17, 0x6b, 0xc2, 0x5d, 0x7f, 0xc4, 0x3a, 0x9c, 0x8a, 0xdb, 0x4d, 0xe7, 0x7e,
0xb5, 0xc9, 0x71, 0xa8, 0x20, 0xbe, 0x33, 0xd1, 0x11, 0x55, 0x7f, 0x43, 0xb5, 0x39, 0xff, 0x06,
0x50, 0xe2, 0x77, 0x94, 0x98, 0xb3, 0xbf, 0xa3, 0xc4, 0x1f, 0x18, 0x75, 0xb6, 0x47, 0x90, 0xf1,
0xa7, 0x2d, 0x8a, 0x7d, 0x3c, 0x57, 0x23, 0xe4, 0xfc, 0x65, 0x8b, 0x8c, 0xaf, 0x60, 0xa7, 0xdf,
0xc7, 0xdd, 0x11, 0xd1, 0xbf, 0x6d, 0xd1, 0x02, 0xc7, 0x74, 0xfa, 0x76, 0xa9, 0x3f, 0x60, 0x3d,
0xc4, 0x9f, 0xda, 0x6b, 0xd7, 0x61, 0xc9, 0x5c, 0xcc, 0x45, 0xf4, 0xa2, 0xa6, 0xa8, 0x89, 0xb0,
0xa8, 0xc8, 0x0a, 0xb8, 0x3b, 0x06, 0x60, 0x89, 0x0c, 0x3b, 0x32, 0xc3, 0x8a, 0x2c, 0xac, 0x6d,
0xc2, 0xb1, 0x03, 0x3b, 0x19, 0x71, 0xc1, 0xd6, 0x66, 0x84, 0x05, 0x48, 0xf6, 0x68, 0xa1, 0xbc,
0x04, 0x65, 0x7c, 0x55, 0x01, 0x1d, 0x54, 0x0b, 0xfb, 0x8b, 0xb8, 0x77, 0x5d, 0xfe, 0x37, 0x00,
0x00, 0xff, 0xff, 0xf2, 0xab, 0x3d, 0x7c, 0xd5, 0x0e, 0x00, 0x00,
}