rts-sim-testing-service/ats/verify/protos/graphicData/stationLayoutGraphics.pb.go
2023-08-07 16:20:56 +08:00

3879 lines
139 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: stationLayoutGraphics.proto
package graphicData
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// * 左右行 *
type Direction int32
const (
Direction_LEFT Direction = 0
Direction_RIGHT Direction = 1
)
// Enum value maps for Direction.
var (
Direction_name = map[int32]string{
0: "LEFT",
1: "RIGHT",
}
Direction_value = map[string]int32{
"LEFT": 0,
"RIGHT": 1,
}
)
func (x Direction) Enum() *Direction {
p := new(Direction)
*p = x
return p
}
func (x Direction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Direction) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[0].Descriptor()
}
func (Direction) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[0]
}
func (x Direction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Direction.Descriptor instead.
func (Direction) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{0}
}
type Section_SectionType int32
const (
Section_Physical Section_SectionType = 0
Section_TurnoutPhysical Section_SectionType = 2
)
// Enum value maps for Section_SectionType.
var (
Section_SectionType_name = map[int32]string{
0: "Physical",
2: "TurnoutPhysical",
}
Section_SectionType_value = map[string]int32{
"Physical": 0,
"TurnoutPhysical": 2,
}
)
func (x Section_SectionType) Enum() *Section_SectionType {
p := new(Section_SectionType)
*p = x
return p
}
func (x Section_SectionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Section_SectionType) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[1].Descriptor()
}
func (Section_SectionType) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[1]
}
func (x Section_SectionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Section_SectionType.Descriptor instead.
func (Section_SectionType) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{13, 0}
}
type RelatedRef_DeviceType int32
const (
RelatedRef_Section RelatedRef_DeviceType = 0
RelatedRef_Turnout RelatedRef_DeviceType = 1
RelatedRef_TrainWindow RelatedRef_DeviceType = 2
RelatedRef_AxleCounting RelatedRef_DeviceType = 3
RelatedRef_SectionLink RelatedRef_DeviceType = 4
)
// Enum value maps for RelatedRef_DeviceType.
var (
RelatedRef_DeviceType_name = map[int32]string{
0: "Section",
1: "Turnout",
2: "TrainWindow",
3: "AxleCounting",
4: "SectionLink",
}
RelatedRef_DeviceType_value = map[string]int32{
"Section": 0,
"Turnout": 1,
"TrainWindow": 2,
"AxleCounting": 3,
"SectionLink": 4,
}
)
func (x RelatedRef_DeviceType) Enum() *RelatedRef_DeviceType {
p := new(RelatedRef_DeviceType)
*p = x
return p
}
func (x RelatedRef_DeviceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RelatedRef_DeviceType) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[2].Descriptor()
}
func (RelatedRef_DeviceType) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[2]
}
func (x RelatedRef_DeviceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RelatedRef_DeviceType.Descriptor instead.
func (RelatedRef_DeviceType) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14, 0}
}
type RelatedRef_DevicePort int32
const (
RelatedRef_A RelatedRef_DevicePort = 0
RelatedRef_B RelatedRef_DevicePort = 1
RelatedRef_C RelatedRef_DevicePort = 2
)
// Enum value maps for RelatedRef_DevicePort.
var (
RelatedRef_DevicePort_name = map[int32]string{
0: "A",
1: "B",
2: "C",
}
RelatedRef_DevicePort_value = map[string]int32{
"A": 0,
"B": 1,
"C": 2,
}
)
func (x RelatedRef_DevicePort) Enum() *RelatedRef_DevicePort {
p := new(RelatedRef_DevicePort)
*p = x
return p
}
func (x RelatedRef_DevicePort) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RelatedRef_DevicePort) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[3].Descriptor()
}
func (RelatedRef_DevicePort) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[3]
}
func (x RelatedRef_DevicePort) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RelatedRef_DevicePort.Descriptor instead.
func (RelatedRef_DevicePort) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14, 1}
}
type SimpleRef_DeviceType int32
const (
SimpleRef_Turnout SimpleRef_DeviceType = 0
SimpleRef_AxleCounting SimpleRef_DeviceType = 1
)
// Enum value maps for SimpleRef_DeviceType.
var (
SimpleRef_DeviceType_name = map[int32]string{
0: "Turnout",
1: "AxleCounting",
}
SimpleRef_DeviceType_value = map[string]int32{
"Turnout": 0,
"AxleCounting": 1,
}
)
func (x SimpleRef_DeviceType) Enum() *SimpleRef_DeviceType {
p := new(SimpleRef_DeviceType)
*p = x
return p
}
func (x SimpleRef_DeviceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SimpleRef_DeviceType) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[4].Descriptor()
}
func (SimpleRef_DeviceType) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[4]
}
func (x SimpleRef_DeviceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SimpleRef_DeviceType.Descriptor instead.
func (SimpleRef_DeviceType) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18, 0}
}
type StopPosition_CoachNum int32
const (
StopPosition_Four StopPosition_CoachNum = 0
StopPosition_Six StopPosition_CoachNum = 1
)
// Enum value maps for StopPosition_CoachNum.
var (
StopPosition_CoachNum_name = map[int32]string{
0: "Four",
1: "Six",
}
StopPosition_CoachNum_value = map[string]int32{
"Four": 0,
"Six": 1,
}
)
func (x StopPosition_CoachNum) Enum() *StopPosition_CoachNum {
p := new(StopPosition_CoachNum)
*p = x
return p
}
func (x StopPosition_CoachNum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (StopPosition_CoachNum) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[5].Descriptor()
}
func (StopPosition_CoachNum) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[5]
}
func (x StopPosition_CoachNum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use StopPosition_CoachNum.Descriptor instead.
func (StopPosition_CoachNum) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{22, 0}
}
type RtssGraphicStorage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Canvas *Canvas `protobuf:"bytes,1,opt,name=canvas,proto3" json:"canvas,omitempty"`
// repeated Link links = 2;
// repeated IscsFan iscsFans = 3;
Platforms []*Platform `protobuf:"bytes,4,rep,name=Platforms,proto3" json:"Platforms,omitempty"`
Stations []*Station `protobuf:"bytes,5,rep,name=stations,proto3" json:"stations,omitempty"`
// repeated Rect rects = 6;
// repeated Train train = 7;
Signals []*Signal `protobuf:"bytes,8,rep,name=signals,proto3" json:"signals,omitempty"`
Turnouts []*Turnout `protobuf:"bytes,9,rep,name=turnouts,proto3" json:"turnouts,omitempty"`
Section []*Section `protobuf:"bytes,10,rep,name=section,proto3" json:"section,omitempty"`
// repeated Polygon polygons = 11;
TrainWindows []*TrainWindow `protobuf:"bytes,12,rep,name=trainWindows,proto3" json:"trainWindows,omitempty"`
AxleCountings []*AxleCounting `protobuf:"bytes,13,rep,name=axleCountings,proto3" json:"axleCountings,omitempty"`
Separators []*Separator `protobuf:"bytes,14,rep,name=separators,proto3" json:"separators,omitempty"`
SectionLinks []*SectionLink `protobuf:"bytes,15,rep,name=sectionLinks,proto3" json:"sectionLinks,omitempty"`
AxleCountingSections []*AxleCountingSection `protobuf:"bytes,16,rep,name=axleCountingSections,proto3" json:"axleCountingSections,omitempty"`
LogicSections []*LogicSection `protobuf:"bytes,17,rep,name=logicSections,proto3" json:"logicSections,omitempty"`
StopPositions []*StopPosition `protobuf:"bytes,18,rep,name=stopPositions,proto3" json:"stopPositions,omitempty"`
SpksSwitchs []*SpksSwitch `protobuf:"bytes,19,rep,name=spksSwitchs,proto3" json:"spksSwitchs,omitempty"`
EsbButtons []*EsbButton `protobuf:"bytes,20,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"` // 紧急关闭按钮
GateBoxs []*GatedBox `protobuf:"bytes,21,rep,name=gateBoxs,proto3" json:"gateBoxs,omitempty"` // 站台开门/关门/发车按钮整合控制箱
Transponders []*Transponder `protobuf:"bytes,22,rep,name=transponders,proto3" json:"transponders,omitempty"` // 应答器
Slopes []*Slope `protobuf:"bytes,23,rep,name=slopes,proto3" json:"slopes,omitempty"` // 坡度
CalculateLink []*CalculateLink `protobuf:"bytes,24,rep,name=CalculateLink,proto3" json:"CalculateLink,omitempty"` // 计算link信息
SlopeKiloMarker []*SlopeKiloMarker `protobuf:"bytes,25,rep,name=slopeKiloMarker,proto3" json:"slopeKiloMarker,omitempty"` //坡度公里标
}
func (x *RtssGraphicStorage) Reset() {
*x = RtssGraphicStorage{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RtssGraphicStorage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RtssGraphicStorage) ProtoMessage() {}
func (x *RtssGraphicStorage) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RtssGraphicStorage.ProtoReflect.Descriptor instead.
func (*RtssGraphicStorage) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{0}
}
func (x *RtssGraphicStorage) GetCanvas() *Canvas {
if x != nil {
return x.Canvas
}
return nil
}
func (x *RtssGraphicStorage) GetPlatforms() []*Platform {
if x != nil {
return x.Platforms
}
return nil
}
func (x *RtssGraphicStorage) GetStations() []*Station {
if x != nil {
return x.Stations
}
return nil
}
func (x *RtssGraphicStorage) GetSignals() []*Signal {
if x != nil {
return x.Signals
}
return nil
}
func (x *RtssGraphicStorage) GetTurnouts() []*Turnout {
if x != nil {
return x.Turnouts
}
return nil
}
func (x *RtssGraphicStorage) GetSection() []*Section {
if x != nil {
return x.Section
}
return nil
}
func (x *RtssGraphicStorage) GetTrainWindows() []*TrainWindow {
if x != nil {
return x.TrainWindows
}
return nil
}
func (x *RtssGraphicStorage) GetAxleCountings() []*AxleCounting {
if x != nil {
return x.AxleCountings
}
return nil
}
func (x *RtssGraphicStorage) GetSeparators() []*Separator {
if x != nil {
return x.Separators
}
return nil
}
func (x *RtssGraphicStorage) GetSectionLinks() []*SectionLink {
if x != nil {
return x.SectionLinks
}
return nil
}
func (x *RtssGraphicStorage) GetAxleCountingSections() []*AxleCountingSection {
if x != nil {
return x.AxleCountingSections
}
return nil
}
func (x *RtssGraphicStorage) GetLogicSections() []*LogicSection {
if x != nil {
return x.LogicSections
}
return nil
}
func (x *RtssGraphicStorage) GetStopPositions() []*StopPosition {
if x != nil {
return x.StopPositions
}
return nil
}
func (x *RtssGraphicStorage) GetSpksSwitchs() []*SpksSwitch {
if x != nil {
return x.SpksSwitchs
}
return nil
}
func (x *RtssGraphicStorage) GetEsbButtons() []*EsbButton {
if x != nil {
return x.EsbButtons
}
return nil
}
func (x *RtssGraphicStorage) GetGateBoxs() []*GatedBox {
if x != nil {
return x.GateBoxs
}
return nil
}
func (x *RtssGraphicStorage) GetTransponders() []*Transponder {
if x != nil {
return x.Transponders
}
return nil
}
func (x *RtssGraphicStorage) GetSlopes() []*Slope {
if x != nil {
return x.Slopes
}
return nil
}
func (x *RtssGraphicStorage) GetCalculateLink() []*CalculateLink {
if x != nil {
return x.CalculateLink
}
return nil
}
func (x *RtssGraphicStorage) GetSlopeKiloMarker() []*SlopeKiloMarker {
if x != nil {
return x.SlopeKiloMarker
}
return nil
}
type Canvas struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 画布宽
Width int32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
// 画布高
Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
// 背景色
BackgroundColor string `protobuf:"bytes,3,opt,name=backgroundColor,proto3" json:"backgroundColor,omitempty"`
// 视口变换
ViewportTransform *Transform `protobuf:"bytes,4,opt,name=viewportTransform,proto3" json:"viewportTransform,omitempty"`
}
func (x *Canvas) Reset() {
*x = Canvas{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Canvas) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Canvas) ProtoMessage() {}
func (x *Canvas) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Canvas.ProtoReflect.Descriptor instead.
func (*Canvas) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{1}
}
func (x *Canvas) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *Canvas) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *Canvas) GetBackgroundColor() string {
if x != nil {
return x.BackgroundColor
}
return ""
}
func (x *Canvas) GetViewportTransform() *Transform {
if x != nil {
return x.ViewportTransform
}
return nil
}
type Point struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// x坐标
X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
// y坐标
Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
}
func (x *Point) Reset() {
*x = Point{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Point) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Point) ProtoMessage() {}
func (x *Point) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Point.ProtoReflect.Descriptor instead.
func (*Point) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{2}
}
func (x *Point) GetX() float32 {
if x != nil {
return x.X
}
return 0
}
func (x *Point) GetY() float32 {
if x != nil {
return x.Y
}
return 0
}
// 变换
type Transform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 位移
Position *Point `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
// 缩放
Scale *Point `protobuf:"bytes,2,opt,name=scale,proto3" json:"scale,omitempty"`
// 旋转弧度
Rotation float32 `protobuf:"fixed32,3,opt,name=rotation,proto3" json:"rotation,omitempty"`
// 歪斜
Skew *Point `protobuf:"bytes,4,opt,name=skew,proto3" json:"skew,omitempty"`
}
func (x *Transform) Reset() {
*x = Transform{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transform) ProtoMessage() {}
func (x *Transform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transform.ProtoReflect.Descriptor instead.
func (*Transform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{3}
}
func (x *Transform) GetPosition() *Point {
if x != nil {
return x.Position
}
return nil
}
func (x *Transform) GetScale() *Point {
if x != nil {
return x.Scale
}
return nil
}
func (x *Transform) GetRotation() float32 {
if x != nil {
return x.Rotation
}
return 0
}
func (x *Transform) GetSkew() *Point {
if x != nil {
return x.Skew
}
return nil
}
// 子元素变换
type ChildTransform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 子元素名称
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// 子元素变换
Transform *Transform `protobuf:"bytes,2,opt,name=transform,proto3" json:"transform,omitempty"`
}
func (x *ChildTransform) Reset() {
*x = ChildTransform{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChildTransform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChildTransform) ProtoMessage() {}
func (x *ChildTransform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChildTransform.ProtoReflect.Descriptor instead.
func (*ChildTransform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{4}
}
func (x *ChildTransform) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ChildTransform) GetTransform() *Transform {
if x != nil {
return x.Transform
}
return nil
}
// 公共属性
type CommonInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
GraphicType string `protobuf:"bytes,2,opt,name=graphicType,proto3" json:"graphicType,omitempty"`
Transform *Transform `protobuf:"bytes,3,opt,name=transform,proto3" json:"transform,omitempty"`
ChildTransforms []*ChildTransform `protobuf:"bytes,4,rep,name=childTransforms,proto3" json:"childTransforms,omitempty"`
}
func (x *CommonInfo) Reset() {
*x = CommonInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonInfo) ProtoMessage() {}
func (x *CommonInfo) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonInfo.ProtoReflect.Descriptor instead.
func (*CommonInfo) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{5}
}
func (x *CommonInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *CommonInfo) GetGraphicType() string {
if x != nil {
return x.GraphicType
}
return ""
}
func (x *CommonInfo) GetTransform() *Transform {
if x != nil {
return x.Transform
}
return nil
}
func (x *CommonInfo) GetChildTransforms() []*ChildTransform {
if x != nil {
return x.ChildTransforms
}
return nil
}
type Platform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Hasdoor bool `protobuf:"varint,3,opt,name=hasdoor,proto3" json:"hasdoor,omitempty"` // 是否有屏蔽门
Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` // 行驶方向--屏蔽门上下
Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //索引
RefStationIndex int32 `protobuf:"varint,6,opt,name=refStationIndex,proto3" json:"refStationIndex,omitempty"` //关联车站索引
}
func (x *Platform) Reset() {
*x = Platform{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Platform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Platform) ProtoMessage() {}
func (x *Platform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Platform.ProtoReflect.Descriptor instead.
func (*Platform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{6}
}
func (x *Platform) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Platform) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Platform) GetHasdoor() bool {
if x != nil {
return x.Hasdoor
}
return false
}
func (x *Platform) GetDirection() string {
if x != nil {
return x.Direction
}
return ""
}
func (x *Platform) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *Platform) GetRefStationIndex() int32 {
if x != nil {
return x.RefStationIndex
}
return 0
}
type Station struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// bool hasControl = 3; // 是否有控制
ConcentrationStations bool `protobuf:"varint,4,opt,name=concentrationStations,proto3" json:"concentrationStations,omitempty"` //是否集中站
// string kilometerCode = 5; //公里标
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
}
func (x *Station) Reset() {
*x = Station{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Station) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Station) ProtoMessage() {}
func (x *Station) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Station.ProtoReflect.Descriptor instead.
func (*Station) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{7}
}
func (x *Station) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Station) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Station) GetConcentrationStations() bool {
if x != nil {
return x.ConcentrationStations
}
return false
}
func (x *Station) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *Station) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
type TrainWindow struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
SectionId string `protobuf:"bytes,3,opt,name=sectionId,proto3" json:"sectionId,omitempty"`
}
func (x *TrainWindow) Reset() {
*x = TrainWindow{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrainWindow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrainWindow) ProtoMessage() {}
func (x *TrainWindow) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TrainWindow.ProtoReflect.Descriptor instead.
func (*TrainWindow) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{8}
}
func (x *TrainWindow) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *TrainWindow) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *TrainWindow) GetSectionId() string {
if x != nil {
return x.SectionId
}
return ""
}
type AxleCounting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
KilometerSystem *KilometerSystem `protobuf:"bytes,3,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
AxleCountingRef []*RelatedRef `protobuf:"bytes,4,rep,name=axleCountingRef,proto3" json:"axleCountingRef,omitempty"` // 计轴关联的非岔区物理区段和道岔设备id和端口
Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //计轴的索引编号
Invent bool `protobuf:"varint,6,opt,name=invent,proto3" json:"invent,omitempty"` //是否虚拟计轴--一般是最末端
}
func (x *AxleCounting) Reset() {
*x = AxleCounting{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AxleCounting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AxleCounting) ProtoMessage() {}
func (x *AxleCounting) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AxleCounting.ProtoReflect.Descriptor instead.
func (*AxleCounting) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{9}
}
func (x *AxleCounting) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *AxleCounting) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *AxleCounting) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *AxleCounting) GetAxleCountingRef() []*RelatedRef {
if x != nil {
return x.AxleCountingRef
}
return nil
}
func (x *AxleCounting) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *AxleCounting) GetInvent() bool {
if x != nil {
return x.Invent
}
return false
}
type Turnout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
PointA []*Point `protobuf:"bytes,6,rep,name=pointA,proto3" json:"pointA,omitempty"` // A端坐标列表
PointB []*Point `protobuf:"bytes,7,rep,name=pointB,proto3" json:"pointB,omitempty"` // B端坐标列表
PointC []*Point `protobuf:"bytes,8,rep,name=pointC,proto3" json:"pointC,omitempty"` // C端坐标列表
PaRef *RelatedRef `protobuf:"bytes,9,opt,name=paRef,proto3" json:"paRef,omitempty"` // 道岔A端关联的设备
PbRef *RelatedRef `protobuf:"bytes,10,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 道岔B端关联的设备
PcRef *RelatedRef `protobuf:"bytes,11,opt,name=pcRef,proto3" json:"pcRef,omitempty"` // 道岔C端关联的设备
// KilometerSystem kilometerSystem = 12; // 道岔公里标
KilometerSystem []*KilometerSystem `protobuf:"bytes,13,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` // 道岔公里标
Index int32 `protobuf:"varint,14,opt,name=index,proto3" json:"index,omitempty"` //索引
}
func (x *Turnout) Reset() {
*x = Turnout{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Turnout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Turnout) ProtoMessage() {}
func (x *Turnout) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Turnout.ProtoReflect.Descriptor instead.
func (*Turnout) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{10}
}
func (x *Turnout) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Turnout) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Turnout) GetPointA() []*Point {
if x != nil {
return x.PointA
}
return nil
}
func (x *Turnout) GetPointB() []*Point {
if x != nil {
return x.PointB
}
return nil
}
func (x *Turnout) GetPointC() []*Point {
if x != nil {
return x.PointC
}
return nil
}
func (x *Turnout) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *Turnout) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *Turnout) GetPcRef() *RelatedRef {
if x != nil {
return x.PcRef
}
return nil
}
func (x *Turnout) GetKilometerSystem() []*KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *Turnout) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
type KilometerSystem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Kilometer int64 `protobuf:"varint,1,opt,name=kilometer,proto3" json:"kilometer,omitempty"` //公里标mm
CoordinateSystem string `protobuf:"bytes,2,opt,name=coordinateSystem,proto3" json:"coordinateSystem,omitempty"` //坐标系
Direction Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=graphicData.Direction" json:"direction,omitempty"` //左右行
}
func (x *KilometerSystem) Reset() {
*x = KilometerSystem{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KilometerSystem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KilometerSystem) ProtoMessage() {}
func (x *KilometerSystem) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KilometerSystem.ProtoReflect.Descriptor instead.
func (*KilometerSystem) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{11}
}
func (x *KilometerSystem) GetKilometer() int64 {
if x != nil {
return x.Kilometer
}
return 0
}
func (x *KilometerSystem) GetCoordinateSystem() string {
if x != nil {
return x.CoordinateSystem
}
return ""
}
func (x *KilometerSystem) GetDirection() Direction {
if x != nil {
return x.Direction
}
return Direction_LEFT
}
type Signal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Mirror bool `protobuf:"varint,3,opt,name=mirror,proto3" json:"mirror,omitempty"`
// int64 kilometer = 4;
// string coordinateSystem = 5;
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` //索引
RefDev *RelatedRef `protobuf:"bytes,8,opt,name=refDev,proto3" json:"refDev,omitempty"` //关联设备(区段/道岔)
}
func (x *Signal) Reset() {
*x = Signal{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Signal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Signal) ProtoMessage() {}
func (x *Signal) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Signal.ProtoReflect.Descriptor instead.
func (*Signal) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{12}
}
func (x *Signal) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Signal) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Signal) GetMirror() bool {
if x != nil {
return x.Mirror
}
return false
}
func (x *Signal) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *Signal) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *Signal) GetRefDev() *RelatedRef {
if x != nil {
return x.RefDev
}
return nil
}
// * 物理区段(包含岔区和非岔区)
type Section struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 编号
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` // 点列表
PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 区段A端关联的设备(非岔区)(后端不关注)
PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 区段B端关联的设备(非岔区)(后端不关注)
SectionType Section_SectionType `protobuf:"varint,6,opt,name=sectionType,proto3,enum=graphicData.Section_SectionType" json:"sectionType,omitempty"` // 区段类型
AxleCountings []string `protobuf:"bytes,7,rep,name=axleCountings,proto3" json:"axleCountings,omitempty"` // 区段对应的计轴
Index int32 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"` // 索引
}
func (x *Section) Reset() {
*x = Section{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Section) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Section) ProtoMessage() {}
func (x *Section) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Section.ProtoReflect.Descriptor instead.
func (*Section) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{13}
}
func (x *Section) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Section) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Section) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *Section) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *Section) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *Section) GetSectionType() Section_SectionType {
if x != nil {
return x.SectionType
}
return Section_Physical
}
func (x *Section) GetAxleCountings() []string {
if x != nil {
return x.AxleCountings
}
return nil
}
func (x *Section) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
// 关联设备
type RelatedRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DeviceType RelatedRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.RelatedRef_DeviceType" json:"deviceType,omitempty"` //关联的设备类型
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` //关联的设备ID
DevicePort RelatedRef_DevicePort `protobuf:"varint,3,opt,name=devicePort,proto3,enum=graphicData.RelatedRef_DevicePort" json:"devicePort,omitempty"` //关联的设备端口
}
func (x *RelatedRef) Reset() {
*x = RelatedRef{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RelatedRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RelatedRef) ProtoMessage() {}
func (x *RelatedRef) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RelatedRef.ProtoReflect.Descriptor instead.
func (*RelatedRef) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14}
}
func (x *RelatedRef) GetDeviceType() RelatedRef_DeviceType {
if x != nil {
return x.DeviceType
}
return RelatedRef_Section
}
func (x *RelatedRef) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *RelatedRef) GetDevicePort() RelatedRef_DevicePort {
if x != nil {
return x.DevicePort
}
return RelatedRef_A
}
// 计轴区段与道岔的位置关系
type TurnoutPosRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` //道岔的ID
Position int32 `protobuf:"varint,2,opt,name=position,proto3" json:"position,omitempty"` //道岔的正反为0是定位1是反位
}
func (x *TurnoutPosRef) Reset() {
*x = TurnoutPosRef{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TurnoutPosRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TurnoutPosRef) ProtoMessage() {}
func (x *TurnoutPosRef) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TurnoutPosRef.ProtoReflect.Descriptor instead.
func (*TurnoutPosRef) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{15}
}
func (x *TurnoutPosRef) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TurnoutPosRef) GetPosition() int32 {
if x != nil {
return x.Position
}
return 0
}
type Separator struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
SeparatorType string `protobuf:"bytes,3,opt,name=separatorType,proto3" json:"separatorType,omitempty"`
}
func (x *Separator) Reset() {
*x = Separator{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Separator) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Separator) ProtoMessage() {}
func (x *Separator) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Separator.ProtoReflect.Descriptor instead.
func (*Separator) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{16}
}
func (x *Separator) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Separator) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Separator) GetSeparatorType() string {
if x != nil {
return x.SeparatorType
}
return ""
}
type Transponder struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
TransponderType int32 `protobuf:"varint,3,opt,name=transponderType,proto3" json:"transponderType,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` // 索引编号
KilometerSystem *KilometerSystem `protobuf:"bytes,5,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
TransponderRef *RelatedRef `protobuf:"bytes,6,opt,name=TransponderRef,proto3" json:"TransponderRef,omitempty"` //关联关系
}
func (x *Transponder) Reset() {
*x = Transponder{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transponder) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transponder) ProtoMessage() {}
func (x *Transponder) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transponder.ProtoReflect.Descriptor instead.
func (*Transponder) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{17}
}
func (x *Transponder) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Transponder) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Transponder) GetTransponderType() int32 {
if x != nil {
return x.TransponderType
}
return 0
}
func (x *Transponder) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *Transponder) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *Transponder) GetTransponderRef() *RelatedRef {
if x != nil {
return x.TransponderRef
}
return nil
}
type SimpleRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DeviceType SimpleRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.SimpleRef_DeviceType" json:"deviceType,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *SimpleRef) Reset() {
*x = SimpleRef{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SimpleRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleRef) ProtoMessage() {}
func (x *SimpleRef) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleRef.ProtoReflect.Descriptor instead.
func (*SimpleRef) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18}
}
func (x *SimpleRef) GetDeviceType() SimpleRef_DeviceType {
if x != nil {
return x.DeviceType
}
return SimpleRef_Turnout
}
func (x *SimpleRef) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type SectionLink struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
Up bool `protobuf:"varint,4,opt,name=up,proto3" json:"up,omitempty"` // 是否上行
ASimRef *SimpleRef `protobuf:"bytes,5,opt,name=aSimRef,proto3" json:"aSimRef,omitempty"` // SectionLink A端连接设备构建关系 AxleCounting/Turnout //端点
BSimRef *SimpleRef `protobuf:"bytes,6,opt,name=bSimRef,proto3" json:"bSimRef,omitempty"` // SectionLink B端连接设备构建关系 AxleCounting/Turnout //端点
ARef *RelatedRef `protobuf:"bytes,7,opt,name=aRef,proto3" json:"aRef,omitempty"` // SectionLink A端连接设备端口关系 SectionLink/Turnout
BRef *RelatedRef `protobuf:"bytes,8,opt,name=bRef,proto3" json:"bRef,omitempty"` // SectionLink B端连接设备端口关系
// SectionLink/Turnout
Index int32 `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"` // 索引编号
}
func (x *SectionLink) Reset() {
*x = SectionLink{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SectionLink) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SectionLink) ProtoMessage() {}
func (x *SectionLink) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SectionLink.ProtoReflect.Descriptor instead.
func (*SectionLink) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{19}
}
func (x *SectionLink) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *SectionLink) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *SectionLink) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *SectionLink) GetUp() bool {
if x != nil {
return x.Up
}
return false
}
func (x *SectionLink) GetASimRef() *SimpleRef {
if x != nil {
return x.ASimRef
}
return nil
}
func (x *SectionLink) GetBSimRef() *SimpleRef {
if x != nil {
return x.BSimRef
}
return nil
}
func (x *SectionLink) GetARef() *RelatedRef {
if x != nil {
return x.ARef
}
return nil
}
func (x *SectionLink) GetBRef() *RelatedRef {
if x != nil {
return x.BRef
}
return nil
}
func (x *SectionLink) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
type AxleCountingSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 计轴区段A端关联的计轴
PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 计轴区段B端关联的计轴
TurnoutPos []*TurnoutPosRef `protobuf:"bytes,6,rep,name=turnoutPos,proto3" json:"turnoutPos,omitempty"` //关联道岔的正反位--0是定位1是反位
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` //计轴区段的索引编号
}
func (x *AxleCountingSection) Reset() {
*x = AxleCountingSection{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AxleCountingSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AxleCountingSection) ProtoMessage() {}
func (x *AxleCountingSection) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AxleCountingSection.ProtoReflect.Descriptor instead.
func (*AxleCountingSection) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{20}
}
func (x *AxleCountingSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *AxleCountingSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *AxleCountingSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *AxleCountingSection) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *AxleCountingSection) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *AxleCountingSection) GetTurnoutPos() []*TurnoutPosRef {
if x != nil {
return x.TurnoutPos
}
return nil
}
func (x *AxleCountingSection) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
type LogicSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
AxleSectionId string `protobuf:"bytes,4,opt,name=axleSectionId,proto3" json:"axleSectionId,omitempty"` // 关联的计轴区段Id
Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` // 索引编号
TurnoutId string `protobuf:"bytes,6,opt,name=turnoutId,proto3" json:"turnoutId,omitempty"` // 关联的岔芯对应的道岔id此时该逻辑区段为该道岔C端关联的轨道link
}
func (x *LogicSection) Reset() {
*x = LogicSection{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LogicSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogicSection) ProtoMessage() {}
func (x *LogicSection) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LogicSection.ProtoReflect.Descriptor instead.
func (*LogicSection) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{21}
}
func (x *LogicSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *LogicSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *LogicSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *LogicSection) GetAxleSectionId() string {
if x != nil {
return x.AxleSectionId
}
return ""
}
func (x *LogicSection) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *LogicSection) GetTurnoutId() string {
if x != nil {
return x.TurnoutId
}
return ""
}
type StopPosition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
CoachNum StopPosition_CoachNum `protobuf:"varint,4,opt,name=coachNum,proto3,enum=graphicData.StopPosition_CoachNum" json:"coachNum,omitempty"` //编组数量
Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //索引
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"`
RefDev *RelatedRef `protobuf:"bytes,7,opt,name=refDev,proto3" json:"refDev,omitempty"` // 关联设备(区段)
}
func (x *StopPosition) Reset() {
*x = StopPosition{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopPosition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopPosition) ProtoMessage() {}
func (x *StopPosition) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopPosition.ProtoReflect.Descriptor instead.
func (*StopPosition) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{22}
}
func (x *StopPosition) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *StopPosition) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *StopPosition) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *StopPosition) GetCoachNum() StopPosition_CoachNum {
if x != nil {
return x.CoachNum
}
return StopPosition_Four
}
func (x *StopPosition) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *StopPosition) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *StopPosition) GetRefDev() *RelatedRef {
if x != nil {
return x.RefDev
}
return nil
}
type SpksSwitch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引
RefStand int32 `protobuf:"varint,5,opt,name=refStand,proto3" json:"refStand,omitempty"` //关联站台索引
RefSections []string `protobuf:"bytes,6,rep,name=refSections,proto3" json:"refSections,omitempty"` // 关联物理区段id
}
func (x *SpksSwitch) Reset() {
*x = SpksSwitch{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SpksSwitch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SpksSwitch) ProtoMessage() {}
func (x *SpksSwitch) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SpksSwitch.ProtoReflect.Descriptor instead.
func (*SpksSwitch) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{23}
}
func (x *SpksSwitch) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *SpksSwitch) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *SpksSwitch) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *SpksSwitch) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *SpksSwitch) GetRefStand() int32 {
if x != nil {
return x.RefStand
}
return 0
}
func (x *SpksSwitch) GetRefSections() []string {
if x != nil {
return x.RefSections
}
return nil
}
type EsbButton struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引
RefStand int32 `protobuf:"varint,5,opt,name=refStand,proto3" json:"refStand,omitempty"` // 关联站台索引
}
func (x *EsbButton) Reset() {
*x = EsbButton{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EsbButton) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EsbButton) ProtoMessage() {}
func (x *EsbButton) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EsbButton.ProtoReflect.Descriptor instead.
func (*EsbButton) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{24}
}
func (x *EsbButton) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *EsbButton) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *EsbButton) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *EsbButton) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *EsbButton) GetRefStand() int32 {
if x != nil {
return x.RefStand
}
return 0
}
type GatedBox struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引
}
func (x *GatedBox) Reset() {
*x = GatedBox{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GatedBox) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GatedBox) ProtoMessage() {}
func (x *GatedBox) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GatedBox.ProtoReflect.Descriptor instead.
func (*GatedBox) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{25}
}
func (x *GatedBox) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *GatedBox) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *GatedBox) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *GatedBox) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
// * 坡度公里标
type SlopeKiloMarker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
KilometerSystem []*KilometerSystem `protobuf:"bytes,4,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标数据
}
func (x *SlopeKiloMarker) Reset() {
*x = SlopeKiloMarker{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SlopeKiloMarker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SlopeKiloMarker) ProtoMessage() {}
func (x *SlopeKiloMarker) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SlopeKiloMarker.ProtoReflect.Descriptor instead.
func (*SlopeKiloMarker) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{26}
}
func (x *SlopeKiloMarker) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *SlopeKiloMarker) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *SlopeKiloMarker) GetKilometerSystem() []*KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
// * 曲度公里标
type CurvatureKiloMarker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
KilometerSystem []*KilometerSystem `protobuf:"bytes,4,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标数据
}
func (x *CurvatureKiloMarker) Reset() {
*x = CurvatureKiloMarker{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CurvatureKiloMarker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CurvatureKiloMarker) ProtoMessage() {}
func (x *CurvatureKiloMarker) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CurvatureKiloMarker.ProtoReflect.Descriptor instead.
func (*CurvatureKiloMarker) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{27}
}
func (x *CurvatureKiloMarker) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *CurvatureKiloMarker) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *CurvatureKiloMarker) GetKilometerSystem() []*KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
type Slope struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
SlopeNumber int32 `protobuf:"zigzag32,3,opt,name=slopeNumber,proto3" json:"slopeNumber,omitempty"` //坡度的值--正负代表上下坡
RefDeviceId []string `protobuf:"bytes,4,rep,name=refDeviceId,proto3" json:"refDeviceId,omitempty"` // 坡度关联的(坡度公里标)
}
func (x *Slope) Reset() {
*x = Slope{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Slope) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Slope) ProtoMessage() {}
func (x *Slope) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Slope.ProtoReflect.Descriptor instead.
func (*Slope) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{28}
}
func (x *Slope) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Slope) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *Slope) GetSlopeNumber() int32 {
if x != nil {
return x.SlopeNumber
}
return 0
}
func (x *Slope) GetRefDeviceId() []string {
if x != nil {
return x.RefDeviceId
}
return nil
}
// 计算link结构
type CalculateLink struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
Length int32 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"` //长度mm
ARelatedRef *RelatedRef `protobuf:"bytes,4,opt,name=aRelatedRef,proto3" json:"aRelatedRef,omitempty"` // A端最小端关联的端点
BRelatedRef *RelatedRef `protobuf:"bytes,5,opt,name=bRelatedRef,proto3" json:"bRelatedRef,omitempty"` // B端最大端关联的端点
DevicePositions []*CalculateLink_DevicePosition `protobuf:"bytes,6,rep,name=devicePositions,proto3" json:"devicePositions,omitempty"` //设备在link上的位置
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` //link唯一标识
}
func (x *CalculateLink) Reset() {
*x = CalculateLink{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CalculateLink) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CalculateLink) ProtoMessage() {}
func (x *CalculateLink) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CalculateLink.ProtoReflect.Descriptor instead.
func (*CalculateLink) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{29}
}
func (x *CalculateLink) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *CalculateLink) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *CalculateLink) GetLength() int32 {
if x != nil {
return x.Length
}
return 0
}
func (x *CalculateLink) GetARelatedRef() *RelatedRef {
if x != nil {
return x.ARelatedRef
}
return nil
}
func (x *CalculateLink) GetBRelatedRef() *RelatedRef {
if x != nil {
return x.BRelatedRef
}
return nil
}
func (x *CalculateLink) GetDevicePositions() []*CalculateLink_DevicePosition {
if x != nil {
return x.DevicePositions
}
return nil
}
func (x *CalculateLink) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
type CalculateLink_DevicePosition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Offset int32 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
DeviceId string `protobuf:"bytes,2,opt,name=deviceId,proto3" json:"deviceId,omitempty"`
}
func (x *CalculateLink_DevicePosition) Reset() {
*x = CalculateLink_DevicePosition{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CalculateLink_DevicePosition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CalculateLink_DevicePosition) ProtoMessage() {}
func (x *CalculateLink_DevicePosition) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CalculateLink_DevicePosition.ProtoReflect.Descriptor instead.
func (*CalculateLink_DevicePosition) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{29, 0}
}
func (x *CalculateLink_DevicePosition) GetOffset() int32 {
if x != nil {
return x.Offset
}
return 0
}
func (x *CalculateLink_DevicePosition) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
var File_stationLayoutGraphics_proto protoreflect.FileDescriptor
var file_stationLayoutGraphics_proto_rawDesc = []byte{
0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x09, 0x0a, 0x12, 0x52,
0x74, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x12, 0x33,
0x0a, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73,
0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x73, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x74, 0x75,
0x72, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57,
0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e,
0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e,
0x64, 0x6f, 0x77, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x52, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3c, 0x0a,
0x0c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0f, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0c, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x54, 0x0a, 0x14, 0x61,
0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x78, 0x6c,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x52, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x73, 0x12, 0x36,
0x0a, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x73, 0x62, 0x42,
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x42, 0x6f,
0x78, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x52,
0x08, 0x67, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x18, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73,
0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6c, 0x6f, 0x70, 0x65,
0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x06, 0x73, 0x6c, 0x6f,
0x70, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65,
0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61,
0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0d, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x4b, 0x69,
0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x6f,
0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x6c,
0x6f, 0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xa6, 0x01,
0x0a, 0x06, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74,
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16,
0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72,
0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
0x12, 0x44, 0x0a, 0x11, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x6f, 0x72, 0x6d, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x23, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12,
0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a,
0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0xa9, 0x01, 0x0a, 0x09,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x6f, 0x73,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x63, 0x61,
0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x63,
0x61, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x26, 0x0a, 0x04, 0x73, 0x6b, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x52, 0x04, 0x73, 0x6b, 0x65, 0x77, 0x22, 0x5a, 0x0a, 0x0e, 0x43, 0x68, 0x69, 0x6c, 0x64,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a,
0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x6f, 0x72, 0x6d, 0x22, 0xbb, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52,
0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x68,
0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
0x52, 0x0f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
0x73, 0x22, 0xc7, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2f,
0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x64, 0x6f, 0x6f, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x1c, 0x0a,
0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xe2, 0x01, 0x0a, 0x07,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x15,
0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6e,
0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x22, 0x70, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12,
0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52,
0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x12, 0x41, 0x0a, 0x0f, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x66, 0x52, 0x0f, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76,
0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x6e,
0x74, 0x22, 0xbd, 0x03, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x2f, 0x0a,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x18, 0x06, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x12, 0x2a,
0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69,
0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x43, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18,
0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05,
0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70,
0x62, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x63, 0x52, 0x65, 0x66, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x63,
0x52, 0x65, 0x66, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74,
0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63,
0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12,
0x34, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18,
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a,
0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x06, 0x72,
0x65, 0x66, 0x44, 0x65, 0x76, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65,
0x64, 0x52, 0x65, 0x66, 0x52, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x22, 0x8a, 0x03, 0x0a,
0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a,
0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52,
0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65,
0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65,
0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66,
0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61,
0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x30, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63,
0x61, 0x6c, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50,
0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x10, 0x02, 0x22, 0xa3, 0x02, 0x0a, 0x0a, 0x52, 0x65,
0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
0x22, 0x5a, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b,
0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54,
0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69,
0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x78, 0x6c,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x04, 0x22, 0x21, 0x0a, 0x0a,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10,
0x00, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x02, 0x22,
0x3b, 0x0a, 0x0d, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x09,
0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24,
0x0a, 0x0d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72,
0x54, 0x79, 0x70, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
0x6e, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54,
0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c,
0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x12, 0x3f, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
0x52, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x66, 0x52, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52,
0x65, 0x66, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66,
0x12, 0x41, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x00, 0x12, 0x10,
0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01,
0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b,
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75,
0x70, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x61, 0x53, 0x69, 0x6d,
0x52, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x62, 0x53,
0x69, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x52, 0x65, 0x66, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x61, 0x52,
0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x52, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x62, 0x52, 0x65, 0x66, 0x12,
0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d,
0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61,
0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a,
0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x0a,
0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54,
0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x74, 0x75,
0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xd9,
0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09,
0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0c, 0x53,
0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
0x66, 0x6c, 0x69, 0x70, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x2e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x6f, 0x61, 0x63,
0x68, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69,
0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x06, 0x72, 0x65, 0x66,
0x44, 0x65, 0x76, 0x22, 0x1d, 0x0a, 0x08, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12,
0x08, 0x0a, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x69, 0x78,
0x10, 0x01, 0x22, 0xb9, 0x01, 0x0a, 0x0a, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b,
0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x96,
0x01, 0x0a, 0x09, 0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x72,
0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72,
0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0x79, 0x0a, 0x08, 0x47, 0x61, 0x74, 0x65, 0x64,
0x42, 0x6f, 0x78, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64,
0x65, 0x78, 0x22, 0x9e, 0x01, 0x0a, 0x0f, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f,
0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b,
0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
0x74, 0x65, 0x6d, 0x22, 0xa2, 0x01, 0x0a, 0x13, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72,
0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0xa8, 0x01, 0x0a, 0x05, 0x53, 0x6c, 0x6f,
0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12,
0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x49, 0x64, 0x22, 0xab, 0x03, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0b, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x66, 0x12, 0x39, 0x0a, 0x0b, 0x62, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65,
0x64, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
0x52, 0x65, 0x66, 0x52, 0x0b, 0x62, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66,
0x12, 0x53, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x44, 0x0a, 0x0e, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x2a, 0x20, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08,
0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x49, 0x47, 0x48,
0x54, 0x10, 0x01, 0x42, 0x5d, 0x0a, 0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c,
0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76,
0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x13, 0x4c, 0x61,
0x79, 0x6f, 0x75, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x5a, 0x1f, 0x2e, 0x2f, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_stationLayoutGraphics_proto_rawDescOnce sync.Once
file_stationLayoutGraphics_proto_rawDescData = file_stationLayoutGraphics_proto_rawDesc
)
func file_stationLayoutGraphics_proto_rawDescGZIP() []byte {
file_stationLayoutGraphics_proto_rawDescOnce.Do(func() {
file_stationLayoutGraphics_proto_rawDescData = protoimpl.X.CompressGZIP(file_stationLayoutGraphics_proto_rawDescData)
})
return file_stationLayoutGraphics_proto_rawDescData
}
var file_stationLayoutGraphics_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_stationLayoutGraphics_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
var file_stationLayoutGraphics_proto_goTypes = []interface{}{
(Direction)(0), // 0: graphicData.Direction
(Section_SectionType)(0), // 1: graphicData.Section.SectionType
(RelatedRef_DeviceType)(0), // 2: graphicData.RelatedRef.DeviceType
(RelatedRef_DevicePort)(0), // 3: graphicData.RelatedRef.DevicePort
(SimpleRef_DeviceType)(0), // 4: graphicData.SimpleRef.DeviceType
(StopPosition_CoachNum)(0), // 5: graphicData.StopPosition.CoachNum
(*RtssGraphicStorage)(nil), // 6: graphicData.RtssGraphicStorage
(*Canvas)(nil), // 7: graphicData.Canvas
(*Point)(nil), // 8: graphicData.Point
(*Transform)(nil), // 9: graphicData.Transform
(*ChildTransform)(nil), // 10: graphicData.ChildTransform
(*CommonInfo)(nil), // 11: graphicData.CommonInfo
(*Platform)(nil), // 12: graphicData.Platform
(*Station)(nil), // 13: graphicData.Station
(*TrainWindow)(nil), // 14: graphicData.TrainWindow
(*AxleCounting)(nil), // 15: graphicData.AxleCounting
(*Turnout)(nil), // 16: graphicData.Turnout
(*KilometerSystem)(nil), // 17: graphicData.KilometerSystem
(*Signal)(nil), // 18: graphicData.Signal
(*Section)(nil), // 19: graphicData.Section
(*RelatedRef)(nil), // 20: graphicData.RelatedRef
(*TurnoutPosRef)(nil), // 21: graphicData.TurnoutPosRef
(*Separator)(nil), // 22: graphicData.Separator
(*Transponder)(nil), // 23: graphicData.Transponder
(*SimpleRef)(nil), // 24: graphicData.SimpleRef
(*SectionLink)(nil), // 25: graphicData.SectionLink
(*AxleCountingSection)(nil), // 26: graphicData.AxleCountingSection
(*LogicSection)(nil), // 27: graphicData.LogicSection
(*StopPosition)(nil), // 28: graphicData.StopPosition
(*SpksSwitch)(nil), // 29: graphicData.SpksSwitch
(*EsbButton)(nil), // 30: graphicData.EsbButton
(*GatedBox)(nil), // 31: graphicData.GatedBox
(*SlopeKiloMarker)(nil), // 32: graphicData.SlopeKiloMarker
(*CurvatureKiloMarker)(nil), // 33: graphicData.CurvatureKiloMarker
(*Slope)(nil), // 34: graphicData.Slope
(*CalculateLink)(nil), // 35: graphicData.CalculateLink
(*CalculateLink_DevicePosition)(nil), // 36: graphicData.CalculateLink.DevicePosition
}
var file_stationLayoutGraphics_proto_depIdxs = []int32{
7, // 0: graphicData.RtssGraphicStorage.canvas:type_name -> graphicData.Canvas
12, // 1: graphicData.RtssGraphicStorage.Platforms:type_name -> graphicData.Platform
13, // 2: graphicData.RtssGraphicStorage.stations:type_name -> graphicData.Station
18, // 3: graphicData.RtssGraphicStorage.signals:type_name -> graphicData.Signal
16, // 4: graphicData.RtssGraphicStorage.turnouts:type_name -> graphicData.Turnout
19, // 5: graphicData.RtssGraphicStorage.section:type_name -> graphicData.Section
14, // 6: graphicData.RtssGraphicStorage.trainWindows:type_name -> graphicData.TrainWindow
15, // 7: graphicData.RtssGraphicStorage.axleCountings:type_name -> graphicData.AxleCounting
22, // 8: graphicData.RtssGraphicStorage.separators:type_name -> graphicData.Separator
25, // 9: graphicData.RtssGraphicStorage.sectionLinks:type_name -> graphicData.SectionLink
26, // 10: graphicData.RtssGraphicStorage.axleCountingSections:type_name -> graphicData.AxleCountingSection
27, // 11: graphicData.RtssGraphicStorage.logicSections:type_name -> graphicData.LogicSection
28, // 12: graphicData.RtssGraphicStorage.stopPositions:type_name -> graphicData.StopPosition
29, // 13: graphicData.RtssGraphicStorage.spksSwitchs:type_name -> graphicData.SpksSwitch
30, // 14: graphicData.RtssGraphicStorage.esbButtons:type_name -> graphicData.EsbButton
31, // 15: graphicData.RtssGraphicStorage.gateBoxs:type_name -> graphicData.GatedBox
23, // 16: graphicData.RtssGraphicStorage.transponders:type_name -> graphicData.Transponder
34, // 17: graphicData.RtssGraphicStorage.slopes:type_name -> graphicData.Slope
35, // 18: graphicData.RtssGraphicStorage.CalculateLink:type_name -> graphicData.CalculateLink
32, // 19: graphicData.RtssGraphicStorage.slopeKiloMarker:type_name -> graphicData.SlopeKiloMarker
9, // 20: graphicData.Canvas.viewportTransform:type_name -> graphicData.Transform
8, // 21: graphicData.Transform.position:type_name -> graphicData.Point
8, // 22: graphicData.Transform.scale:type_name -> graphicData.Point
8, // 23: graphicData.Transform.skew:type_name -> graphicData.Point
9, // 24: graphicData.ChildTransform.transform:type_name -> graphicData.Transform
9, // 25: graphicData.CommonInfo.transform:type_name -> graphicData.Transform
10, // 26: graphicData.CommonInfo.childTransforms:type_name -> graphicData.ChildTransform
11, // 27: graphicData.Platform.common:type_name -> graphicData.CommonInfo
11, // 28: graphicData.Station.common:type_name -> graphicData.CommonInfo
17, // 29: graphicData.Station.kilometerSystem:type_name -> graphicData.KilometerSystem
11, // 30: graphicData.TrainWindow.common:type_name -> graphicData.CommonInfo
11, // 31: graphicData.AxleCounting.common:type_name -> graphicData.CommonInfo
17, // 32: graphicData.AxleCounting.kilometerSystem:type_name -> graphicData.KilometerSystem
20, // 33: graphicData.AxleCounting.axleCountingRef:type_name -> graphicData.RelatedRef
11, // 34: graphicData.Turnout.common:type_name -> graphicData.CommonInfo
8, // 35: graphicData.Turnout.pointA:type_name -> graphicData.Point
8, // 36: graphicData.Turnout.pointB:type_name -> graphicData.Point
8, // 37: graphicData.Turnout.pointC:type_name -> graphicData.Point
20, // 38: graphicData.Turnout.paRef:type_name -> graphicData.RelatedRef
20, // 39: graphicData.Turnout.pbRef:type_name -> graphicData.RelatedRef
20, // 40: graphicData.Turnout.pcRef:type_name -> graphicData.RelatedRef
17, // 41: graphicData.Turnout.kilometerSystem:type_name -> graphicData.KilometerSystem
0, // 42: graphicData.KilometerSystem.direction:type_name -> graphicData.Direction
11, // 43: graphicData.Signal.common:type_name -> graphicData.CommonInfo
17, // 44: graphicData.Signal.kilometerSystem:type_name -> graphicData.KilometerSystem
20, // 45: graphicData.Signal.refDev:type_name -> graphicData.RelatedRef
11, // 46: graphicData.Section.common:type_name -> graphicData.CommonInfo
8, // 47: graphicData.Section.points:type_name -> graphicData.Point
20, // 48: graphicData.Section.paRef:type_name -> graphicData.RelatedRef
20, // 49: graphicData.Section.pbRef:type_name -> graphicData.RelatedRef
1, // 50: graphicData.Section.sectionType:type_name -> graphicData.Section.SectionType
2, // 51: graphicData.RelatedRef.deviceType:type_name -> graphicData.RelatedRef.DeviceType
3, // 52: graphicData.RelatedRef.devicePort:type_name -> graphicData.RelatedRef.DevicePort
11, // 53: graphicData.Separator.common:type_name -> graphicData.CommonInfo
11, // 54: graphicData.Transponder.common:type_name -> graphicData.CommonInfo
17, // 55: graphicData.Transponder.kilometerSystem:type_name -> graphicData.KilometerSystem
20, // 56: graphicData.Transponder.TransponderRef:type_name -> graphicData.RelatedRef
4, // 57: graphicData.SimpleRef.deviceType:type_name -> graphicData.SimpleRef.DeviceType
11, // 58: graphicData.SectionLink.common:type_name -> graphicData.CommonInfo
8, // 59: graphicData.SectionLink.points:type_name -> graphicData.Point
24, // 60: graphicData.SectionLink.aSimRef:type_name -> graphicData.SimpleRef
24, // 61: graphicData.SectionLink.bSimRef:type_name -> graphicData.SimpleRef
20, // 62: graphicData.SectionLink.aRef:type_name -> graphicData.RelatedRef
20, // 63: graphicData.SectionLink.bRef:type_name -> graphicData.RelatedRef
11, // 64: graphicData.AxleCountingSection.common:type_name -> graphicData.CommonInfo
8, // 65: graphicData.AxleCountingSection.points:type_name -> graphicData.Point
20, // 66: graphicData.AxleCountingSection.paRef:type_name -> graphicData.RelatedRef
20, // 67: graphicData.AxleCountingSection.pbRef:type_name -> graphicData.RelatedRef
21, // 68: graphicData.AxleCountingSection.turnoutPos:type_name -> graphicData.TurnoutPosRef
11, // 69: graphicData.LogicSection.common:type_name -> graphicData.CommonInfo
8, // 70: graphicData.LogicSection.points:type_name -> graphicData.Point
11, // 71: graphicData.StopPosition.common:type_name -> graphicData.CommonInfo
5, // 72: graphicData.StopPosition.coachNum:type_name -> graphicData.StopPosition.CoachNum
17, // 73: graphicData.StopPosition.kilometerSystem:type_name -> graphicData.KilometerSystem
20, // 74: graphicData.StopPosition.refDev:type_name -> graphicData.RelatedRef
11, // 75: graphicData.SpksSwitch.common:type_name -> graphicData.CommonInfo
11, // 76: graphicData.EsbButton.common:type_name -> graphicData.CommonInfo
11, // 77: graphicData.GatedBox.common:type_name -> graphicData.CommonInfo
11, // 78: graphicData.SlopeKiloMarker.common:type_name -> graphicData.CommonInfo
17, // 79: graphicData.SlopeKiloMarker.kilometerSystem:type_name -> graphicData.KilometerSystem
11, // 80: graphicData.CurvatureKiloMarker.common:type_name -> graphicData.CommonInfo
17, // 81: graphicData.CurvatureKiloMarker.kilometerSystem:type_name -> graphicData.KilometerSystem
11, // 82: graphicData.Slope.common:type_name -> graphicData.CommonInfo
8, // 83: graphicData.Slope.points:type_name -> graphicData.Point
11, // 84: graphicData.CalculateLink.common:type_name -> graphicData.CommonInfo
8, // 85: graphicData.CalculateLink.points:type_name -> graphicData.Point
20, // 86: graphicData.CalculateLink.aRelatedRef:type_name -> graphicData.RelatedRef
20, // 87: graphicData.CalculateLink.bRelatedRef:type_name -> graphicData.RelatedRef
36, // 88: graphicData.CalculateLink.devicePositions:type_name -> graphicData.CalculateLink.DevicePosition
89, // [89:89] is the sub-list for method output_type
89, // [89:89] is the sub-list for method input_type
89, // [89:89] is the sub-list for extension type_name
89, // [89:89] is the sub-list for extension extendee
0, // [0:89] is the sub-list for field type_name
}
func init() { file_stationLayoutGraphics_proto_init() }
func file_stationLayoutGraphics_proto_init() {
if File_stationLayoutGraphics_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_stationLayoutGraphics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtssGraphicStorage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Canvas); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Point); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChildTransform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Platform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Station); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrainWindow); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AxleCounting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Turnout); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KilometerSystem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Signal); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Section); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RelatedRef); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TurnoutPosRef); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Separator); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transponder); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SimpleRef); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SectionLink); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AxleCountingSection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LogicSection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopPosition); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SpksSwitch); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EsbButton); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GatedBox); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SlopeKiloMarker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CurvatureKiloMarker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Slope); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CalculateLink); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CalculateLink_DevicePosition); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_stationLayoutGraphics_proto_rawDesc,
NumEnums: 6,
NumMessages: 31,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_stationLayoutGraphics_proto_goTypes,
DependencyIndexes: file_stationLayoutGraphics_proto_depIdxs,
EnumInfos: file_stationLayoutGraphics_proto_enumTypes,
MessageInfos: file_stationLayoutGraphics_proto_msgTypes,
}.Build()
File_stationLayoutGraphics_proto = out.File
file_stationLayoutGraphics_proto_rawDesc = nil
file_stationLayoutGraphics_proto_goTypes = nil
file_stationLayoutGraphics_proto_depIdxs = nil
}