// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.13.0
// source: sysl.proto

package sysl

import (
	reflect "reflect"
	sync "sync"

	proto "github.com/golang/protobuf/proto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// Deltas are diff annotations set for each major element in a model.
// TODO: Is this really needed? Investigate protobuf diff tools.
type Delta int32

const (
	Delta_NO_Delta     Delta = 0
	Delta_DELTA_SAME   Delta = 1
	Delta_DELTA_CHANGE Delta = 2
	Delta_DELTA_ADD    Delta = 3
	Delta_DELTA_REMOVE Delta = 4
)

// Enum value maps for Delta.
var (
	Delta_name = map[int32]string{
		0: "NO_Delta",
		1: "DELTA_SAME",
		2: "DELTA_CHANGE",
		3: "DELTA_ADD",
		4: "DELTA_REMOVE",
	}
	Delta_value = map[string]int32{
		"NO_Delta":     0,
		"DELTA_SAME":   1,
		"DELTA_CHANGE": 2,
		"DELTA_ADD":    3,
		"DELTA_REMOVE": 4,
	}
)

func (x Delta) Enum() *Delta {
	p := new(Delta)
	*p = x
	return p
}

func (x Delta) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Delta) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[0].Descriptor()
}

func (Delta) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[0]
}

func (x Delta) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Delta.Descriptor instead.
func (Delta) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{0}
}

type Endpoint_RestParams_Method int32

const (
	Endpoint_RestParams_NO_Method        Endpoint_RestParams_Method = 0
	Endpoint_RestParams_GET              Endpoint_RestParams_Method = 1
	Endpoint_RestParams_PUT              Endpoint_RestParams_Method = 3
	Endpoint_RestParams_POST             Endpoint_RestParams_Method = 4
	Endpoint_RestParams_DELETE           Endpoint_RestParams_Method = 5
	Endpoint_RestParams_PATCH            Endpoint_RestParams_Method = 6
	Endpoint_RestParams_DONOTUSE_OPTIONS Endpoint_RestParams_Method = 7 // plumbing
	Endpoint_RestParams_DONOTUSE_HEAD    Endpoint_RestParams_Method = 2 // derivative of GET
)

// Enum value maps for Endpoint_RestParams_Method.
var (
	Endpoint_RestParams_Method_name = map[int32]string{
		0: "NO_Method",
		1: "GET",
		3: "PUT",
		4: "POST",
		5: "DELETE",
		6: "PATCH",
		7: "DONOTUSE_OPTIONS",
		2: "DONOTUSE_HEAD",
	}
	Endpoint_RestParams_Method_value = map[string]int32{
		"NO_Method":        0,
		"GET":              1,
		"PUT":              3,
		"POST":             4,
		"DELETE":           5,
		"PATCH":            6,
		"DONOTUSE_OPTIONS": 7,
		"DONOTUSE_HEAD":    2,
	}
)

func (x Endpoint_RestParams_Method) Enum() *Endpoint_RestParams_Method {
	p := new(Endpoint_RestParams_Method)
	*p = x
	return p
}

func (x Endpoint_RestParams_Method) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Endpoint_RestParams_Method) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[1].Descriptor()
}

func (Endpoint_RestParams_Method) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[1]
}

func (x Endpoint_RestParams_Method) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Endpoint_RestParams_Method.Descriptor instead.
func (Endpoint_RestParams_Method) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{6, 1, 0}
}

type Loop_Mode int32

const (
	Loop_NO_Mode Loop_Mode = 0
	Loop_WHILE   Loop_Mode = 1
	Loop_UNTIL   Loop_Mode = 2
)

// Enum value maps for Loop_Mode.
var (
	Loop_Mode_name = map[int32]string{
		0: "NO_Mode",
		1: "WHILE",
		2: "UNTIL",
	}
	Loop_Mode_value = map[string]int32{
		"NO_Mode": 0,
		"WHILE":   1,
		"UNTIL":   2,
	}
)

func (x Loop_Mode) Enum() *Loop_Mode {
	p := new(Loop_Mode)
	*p = x
	return p
}

func (x Loop_Mode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Loop_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[2].Descriptor()
}

func (Loop_Mode) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[2]
}

func (x Loop_Mode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Loop_Mode.Descriptor instead.
func (Loop_Mode) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{12, 0}
}

type Type_Primitive int32

const (
	Type_NO_Primitive Type_Primitive = 0 //NO_Primitive is an interface that can be used to evaluate whether a type is a primitive or not
	Type_EMPTY        Type_Primitive = 1
	Type_ANY          Type_Primitive = 2
	Type_BOOL         Type_Primitive = 3
	Type_INT          Type_Primitive = 4
	Type_FLOAT        Type_Primitive = 5
	Type_DECIMAL      Type_Primitive = 12
	// Unicode string (Python 2 unicode, Python 3 str, and SQL nvarchar).
	Type_STRING Type_Primitive = 6
	// Octet sequence, like Python 3 bytes and SQL varbinary.
	Type_BYTES Type_Primitive = 7
	// = STRING, but only 8-bit, like Python 2 str or SQL varchar.
	Type_STRING_8 Type_Primitive = 8
	Type_DATE     Type_Primitive = 9
	Type_DATETIME Type_Primitive = 10
	Type_XML      Type_Primitive = 11
	Type_UUID     Type_Primitive = 13
)

// Enum value maps for Type_Primitive.
var (
	Type_Primitive_name = map[int32]string{
		0:  "NO_Primitive",
		1:  "EMPTY",
		2:  "ANY",
		3:  "BOOL",
		4:  "INT",
		5:  "FLOAT",
		12: "DECIMAL",
		6:  "STRING",
		7:  "BYTES",
		8:  "STRING_8",
		9:  "DATE",
		10: "DATETIME",
		11: "XML",
		13: "UUID",
	}
	Type_Primitive_value = map[string]int32{
		"NO_Primitive": 0,
		"EMPTY":        1,
		"ANY":          2,
		"BOOL":         3,
		"INT":          4,
		"FLOAT":        5,
		"DECIMAL":      12,
		"STRING":       6,
		"BYTES":        7,
		"STRING_8":     8,
		"DATE":         9,
		"DATETIME":     10,
		"XML":          11,
		"UUID":         13,
	}
)

func (x Type_Primitive) Enum() *Type_Primitive {
	p := new(Type_Primitive)
	*p = x
	return p
}

func (x Type_Primitive) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Type_Primitive) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[3].Descriptor()
}

func (Type_Primitive) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[3]
}

func (x Type_Primitive) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Type_Primitive.Descriptor instead.
func (Type_Primitive) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 0}
}

type Expr_UnExpr_Op int32

const (
	Expr_UnExpr_NO_Op          Expr_UnExpr_Op = 0
	Expr_UnExpr_NEG            Expr_UnExpr_Op = 1
	Expr_UnExpr_POS            Expr_UnExpr_Op = 2
	Expr_UnExpr_NOT            Expr_UnExpr_Op = 3
	Expr_UnExpr_INV            Expr_UnExpr_Op = 4
	Expr_UnExpr_SINGLE         Expr_UnExpr_Op = 5
	Expr_UnExpr_SINGLE_OR_NULL Expr_UnExpr_Op = 6
	Expr_UnExpr_STRING         Expr_UnExpr_Op = 7
)

// Enum value maps for Expr_UnExpr_Op.
var (
	Expr_UnExpr_Op_name = map[int32]string{
		0: "NO_Op",
		1: "NEG",
		2: "POS",
		3: "NOT",
		4: "INV",
		5: "SINGLE",
		6: "SINGLE_OR_NULL",
		7: "STRING",
	}
	Expr_UnExpr_Op_value = map[string]int32{
		"NO_Op":          0,
		"NEG":            1,
		"POS":            2,
		"NOT":            3,
		"INV":            4,
		"SINGLE":         5,
		"SINGLE_OR_NULL": 6,
		"STRING":         7,
	}
)

func (x Expr_UnExpr_Op) Enum() *Expr_UnExpr_Op {
	p := new(Expr_UnExpr_Op)
	*p = x
	return p
}

func (x Expr_UnExpr_Op) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Expr_UnExpr_Op) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[4].Descriptor()
}

func (Expr_UnExpr_Op) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[4]
}

func (x Expr_UnExpr_Op) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Expr_UnExpr_Op.Descriptor instead.
func (Expr_UnExpr_Op) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 6, 0}
}

type Expr_BinExpr_Op int32

const (
	Expr_BinExpr_NO_Op           Expr_BinExpr_Op = 0
	Expr_BinExpr_EQ              Expr_BinExpr_Op = 1
	Expr_BinExpr_NE              Expr_BinExpr_Op = 2
	Expr_BinExpr_LT              Expr_BinExpr_Op = 3
	Expr_BinExpr_LE              Expr_BinExpr_Op = 4
	Expr_BinExpr_GT              Expr_BinExpr_Op = 5
	Expr_BinExpr_GE              Expr_BinExpr_Op = 6
	Expr_BinExpr_IN              Expr_BinExpr_Op = 24
	Expr_BinExpr_CONTAINS        Expr_BinExpr_Op = 25
	Expr_BinExpr_NOT_IN          Expr_BinExpr_Op = 26
	Expr_BinExpr_NOT_CONTAINS    Expr_BinExpr_Op = 27
	Expr_BinExpr_ADD             Expr_BinExpr_Op = 7
	Expr_BinExpr_SUB             Expr_BinExpr_Op = 8
	Expr_BinExpr_MUL             Expr_BinExpr_Op = 9
	Expr_BinExpr_DIV             Expr_BinExpr_Op = 10
	Expr_BinExpr_MOD             Expr_BinExpr_Op = 11
	Expr_BinExpr_POW             Expr_BinExpr_Op = 12
	Expr_BinExpr_AND             Expr_BinExpr_Op = 13
	Expr_BinExpr_OR              Expr_BinExpr_Op = 14
	Expr_BinExpr_BUTNOT          Expr_BinExpr_Op = 21
	Expr_BinExpr_BITAND          Expr_BinExpr_Op = 15
	Expr_BinExpr_BITOR           Expr_BinExpr_Op = 16
	Expr_BinExpr_BITXOR          Expr_BinExpr_Op = 17
	Expr_BinExpr_COALESCE        Expr_BinExpr_Op = 18
	Expr_BinExpr_WHERE           Expr_BinExpr_Op = 19
	Expr_BinExpr_TO_MATCHING     Expr_BinExpr_Op = 20
	Expr_BinExpr_TO_NOT_MATCHING Expr_BinExpr_Op = 23
	Expr_BinExpr_FLATTEN         Expr_BinExpr_Op = 22
)

// Enum value maps for Expr_BinExpr_Op.
var (
	Expr_BinExpr_Op_name = map[int32]string{
		0:  "NO_Op",
		1:  "EQ",
		2:  "NE",
		3:  "LT",
		4:  "LE",
		5:  "GT",
		6:  "GE",
		24: "IN",
		25: "CONTAINS",
		26: "NOT_IN",
		27: "NOT_CONTAINS",
		7:  "ADD",
		8:  "SUB",
		9:  "MUL",
		10: "DIV",
		11: "MOD",
		12: "POW",
		13: "AND",
		14: "OR",
		21: "BUTNOT",
		15: "BITAND",
		16: "BITOR",
		17: "BITXOR",
		18: "COALESCE",
		19: "WHERE",
		20: "TO_MATCHING",
		23: "TO_NOT_MATCHING",
		22: "FLATTEN",
	}
	Expr_BinExpr_Op_value = map[string]int32{
		"NO_Op":           0,
		"EQ":              1,
		"NE":              2,
		"LT":              3,
		"LE":              4,
		"GT":              5,
		"GE":              6,
		"IN":              24,
		"CONTAINS":        25,
		"NOT_IN":          26,
		"NOT_CONTAINS":    27,
		"ADD":             7,
		"SUB":             8,
		"MUL":             9,
		"DIV":             10,
		"MOD":             11,
		"POW":             12,
		"AND":             13,
		"OR":              14,
		"BUTNOT":          21,
		"BITAND":          15,
		"BITOR":           16,
		"BITXOR":          17,
		"COALESCE":        18,
		"WHERE":           19,
		"TO_MATCHING":     20,
		"TO_NOT_MATCHING": 23,
		"FLATTEN":         22,
	}
)

func (x Expr_BinExpr_Op) Enum() *Expr_BinExpr_Op {
	p := new(Expr_BinExpr_Op)
	*p = x
	return p
}

func (x Expr_BinExpr_Op) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Expr_BinExpr_Op) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[5].Descriptor()
}

func (Expr_BinExpr_Op) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[5]
}

func (x Expr_BinExpr_Op) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Expr_BinExpr_Op.Descriptor instead.
func (Expr_BinExpr_Op) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 7, 0}
}

type Expr_RelExpr_Op int32

const (
	Expr_RelExpr_NO_Op          Expr_RelExpr_Op = 0
	Expr_RelExpr_MIN            Expr_RelExpr_Op = 1
	Expr_RelExpr_MAX            Expr_RelExpr_Op = 2
	Expr_RelExpr_SUM            Expr_RelExpr_Op = 3
	Expr_RelExpr_AVERAGE        Expr_RelExpr_Op = 4
	Expr_RelExpr_FUTURE_WHERE   Expr_RelExpr_Op = 5
	Expr_RelExpr_FUTURE_FLATTEN Expr_RelExpr_Op = 6
	Expr_RelExpr_RANK           Expr_RelExpr_Op = 7
	Expr_RelExpr_SNAPSHOT       Expr_RelExpr_Op = 8
	Expr_RelExpr_FIRST_BY       Expr_RelExpr_Op = 9
)

// Enum value maps for Expr_RelExpr_Op.
var (
	Expr_RelExpr_Op_name = map[int32]string{
		0: "NO_Op",
		1: "MIN",
		2: "MAX",
		3: "SUM",
		4: "AVERAGE",
		5: "FUTURE_WHERE",
		6: "FUTURE_FLATTEN",
		7: "RANK",
		8: "SNAPSHOT",
		9: "FIRST_BY",
	}
	Expr_RelExpr_Op_value = map[string]int32{
		"NO_Op":          0,
		"MIN":            1,
		"MAX":            2,
		"SUM":            3,
		"AVERAGE":        4,
		"FUTURE_WHERE":   5,
		"FUTURE_FLATTEN": 6,
		"RANK":           7,
		"SNAPSHOT":       8,
		"FIRST_BY":       9,
	}
)

func (x Expr_RelExpr_Op) Enum() *Expr_RelExpr_Op {
	p := new(Expr_RelExpr_Op)
	*p = x
	return p
}

func (x Expr_RelExpr_Op) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Expr_RelExpr_Op) Descriptor() protoreflect.EnumDescriptor {
	return file_sysl_proto_enumTypes[6].Descriptor()
}

func (Expr_RelExpr_Op) Type() protoreflect.EnumType {
	return &file_sysl_proto_enumTypes[6]
}

func (x Expr_RelExpr_Op) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Expr_RelExpr_Op.Descriptor instead.
func (Expr_RelExpr_Op) EnumDescriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 8, 0}
}

type SourceContext struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	File    string                  `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Start   *SourceContext_Location `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End     *SourceContext_Location `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
	Text    string                  `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"`
	Delta   Delta                   `protobuf:"varint,6,opt,name=delta,proto3,enum=sysl.Delta" json:"delta,omitempty"`
	Version string                  `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` // This is populated when Github Mode is used for sysl modules, e.g v0.0.0-c63b9e92813a where v0.0.0 is the version tag and c63b9e92813a is the first 12 chars of the commit hash
}

func (x *SourceContext) Reset() {
	*x = SourceContext{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SourceContext) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SourceContext) ProtoMessage() {}

func (x *SourceContext) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 SourceContext.ProtoReflect.Descriptor instead.
func (*SourceContext) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{0}
}

func (x *SourceContext) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *SourceContext) GetStart() *SourceContext_Location {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *SourceContext) GetEnd() *SourceContext_Location {
	if x != nil {
		return x.End
	}
	return nil
}

func (x *SourceContext) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *SourceContext) GetDelta() Delta {
	if x != nil {
		return x.Delta
	}
	return Delta_NO_Delta
}

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

type Module struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Apps    map[string]*Application `protobuf:"bytes,2,rep,name=apps,proto3" json:"apps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Imports []*Import               `protobuf:"bytes,4,rep,name=imports,proto3" json:"imports,omitempty"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Module) Reset() {
	*x = Module{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Module) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Module) ProtoMessage() {}

func (x *Module) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Module.ProtoReflect.Descriptor instead.
func (*Module) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{1}
}

func (x *Module) GetApps() map[string]*Application {
	if x != nil {
		return x.Apps
	}
	return nil
}

func (x *Module) GetImports() []*Import {
	if x != nil {
		return x.Imports
	}
	return nil
}

// Deprecated: Do not use.
func (x *Module) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Module) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type Import struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Target        string         `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Name          *AppName       `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	SourceContext *SourceContext `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
}

func (x *Import) Reset() {
	*x = Import{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Import) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Import) ProtoMessage() {}

func (x *Import) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Import.ProtoReflect.Descriptor instead.
func (*Import) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{2}
}

func (x *Import) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *Import) GetName() *AppName {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *Import) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

type Attribute struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Attribute:
	//	*Attribute_S
	//	*Attribute_I
	//	*Attribute_N
	//	*Attribute_A
	Attribute isAttribute_Attribute `protobuf_oneof:"attribute"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Attribute) Reset() {
	*x = Attribute{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Attribute) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Attribute) ProtoMessage() {}

func (x *Attribute) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Attribute.ProtoReflect.Descriptor instead.
func (*Attribute) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{3}
}

func (m *Attribute) GetAttribute() isAttribute_Attribute {
	if m != nil {
		return m.Attribute
	}
	return nil
}

func (x *Attribute) GetS() string {
	if x, ok := x.GetAttribute().(*Attribute_S); ok {
		return x.S
	}
	return ""
}

func (x *Attribute) GetI() int64 {
	if x, ok := x.GetAttribute().(*Attribute_I); ok {
		return x.I
	}
	return 0
}

func (x *Attribute) GetN() float64 {
	if x, ok := x.GetAttribute().(*Attribute_N); ok {
		return x.N
	}
	return 0
}

func (x *Attribute) GetA() *Attribute_Array {
	if x, ok := x.GetAttribute().(*Attribute_A); ok {
		return x.A
	}
	return nil
}

// Deprecated: Do not use.
func (x *Attribute) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Attribute) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type isAttribute_Attribute interface {
	isAttribute_Attribute()
}

type Attribute_S struct {
	S string `protobuf:"bytes,4,opt,name=s,proto3,oneof"`
}

type Attribute_I struct {
	I int64 `protobuf:"varint,5,opt,name=i,proto3,oneof"`
}

type Attribute_N struct {
	N float64 `protobuf:"fixed64,6,opt,name=n,proto3,oneof"`
}

type Attribute_A struct {
	A *Attribute_Array `protobuf:"bytes,7,opt,name=a,proto3,oneof"`
}

func (*Attribute_S) isAttribute_Attribute() {}

func (*Attribute_I) isAttribute_Attribute() {}

func (*Attribute_N) isAttribute_Attribute() {}

func (*Attribute_A) isAttribute_Attribute() {}

type AppName struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Part []string `protobuf:"bytes,1,rep,name=part,proto3" json:"part,omitempty"`
}

func (x *AppName) Reset() {
	*x = AppName{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AppName) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AppName) ProtoMessage() {}

func (x *AppName) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 AppName.ProtoReflect.Descriptor instead.
func (*AppName) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{4}
}

func (x *AppName) GetPart() []string {
	if x != nil {
		return x.Part
	}
	return nil
}

type Application struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name      *AppName              `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	LongName  string                `protobuf:"bytes,2,opt,name=long_name,json=longName,proto3" json:"long_name,omitempty"`
	Docstring string                `protobuf:"bytes,3,opt,name=docstring,proto3" json:"docstring,omitempty"`
	Attrs     map[string]*Attribute `protobuf:"bytes,4,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Endpoints map[string]*Endpoint  `protobuf:"bytes,5,rep,name=endpoints,proto3" json:"endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Types     map[string]*Type      `protobuf:"bytes,6,rep,name=types,proto3" json:"types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Views     map[string]*View      `protobuf:"bytes,10,rep,name=views,proto3" json:"views,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Mixin2    []*Application        `protobuf:"bytes,8,rep,name=mixin2,proto3" json:"mixin2,omitempty"`
	Wrapped   *Application          `protobuf:"bytes,9,opt,name=wrapped,proto3" json:"wrapped,omitempty"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
	DONOTUSEMixin  []*AppName       `protobuf:"bytes,7,rep,name=DONOTUSE_mixin,json=DONOTUSEMixin,proto3" json:"DONOTUSE_mixin,omitempty"`
}

func (x *Application) Reset() {
	*x = Application{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Application) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Application) ProtoMessage() {}

func (x *Application) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Application.ProtoReflect.Descriptor instead.
func (*Application) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{5}
}

func (x *Application) GetName() *AppName {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *Application) GetLongName() string {
	if x != nil {
		return x.LongName
	}
	return ""
}

func (x *Application) GetDocstring() string {
	if x != nil {
		return x.Docstring
	}
	return ""
}

func (x *Application) GetAttrs() map[string]*Attribute {
	if x != nil {
		return x.Attrs
	}
	return nil
}

func (x *Application) GetEndpoints() map[string]*Endpoint {
	if x != nil {
		return x.Endpoints
	}
	return nil
}

func (x *Application) GetTypes() map[string]*Type {
	if x != nil {
		return x.Types
	}
	return nil
}

func (x *Application) GetViews() map[string]*View {
	if x != nil {
		return x.Views
	}
	return nil
}

func (x *Application) GetMixin2() []*Application {
	if x != nil {
		return x.Mixin2
	}
	return nil
}

func (x *Application) GetWrapped() *Application {
	if x != nil {
		return x.Wrapped
	}
	return nil
}

// Deprecated: Do not use.
func (x *Application) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Application) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

func (x *Application) GetDONOTUSEMixin() []*AppName {
	if x != nil {
		return x.DONOTUSEMixin
	}
	return nil
}

type Endpoint struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name       string                `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	LongName   string                `protobuf:"bytes,2,opt,name=long_name,json=longName,proto3" json:"long_name,omitempty"`
	Docstring  string                `protobuf:"bytes,3,opt,name=docstring,proto3" json:"docstring,omitempty"`
	Attrs      map[string]*Attribute `protobuf:"bytes,4,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Flag       []string              `protobuf:"bytes,10,rep,name=flag,proto3" json:"flag,omitempty"`    // ~attrs
	Source     *AppName              `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` // denotes pubsub subscription
	IsPubsub   bool                  `protobuf:"varint,6,opt,name=is_pubsub,json=isPubsub,proto3" json:"is_pubsub,omitempty"`
	Param      []*Param              `protobuf:"bytes,9,rep,name=param,proto3" json:"param,omitempty"`
	Stmt       []*Statement          `protobuf:"bytes,7,rep,name=stmt,proto3" json:"stmt,omitempty"`
	RestParams *Endpoint_RestParams  `protobuf:"bytes,8,opt,name=rest_params,json=restParams,proto3" json:"rest_params,omitempty"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Endpoint) Reset() {
	*x = Endpoint{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Endpoint) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Endpoint) ProtoMessage() {}

func (x *Endpoint) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Endpoint.ProtoReflect.Descriptor instead.
func (*Endpoint) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{6}
}

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

func (x *Endpoint) GetLongName() string {
	if x != nil {
		return x.LongName
	}
	return ""
}

func (x *Endpoint) GetDocstring() string {
	if x != nil {
		return x.Docstring
	}
	return ""
}

func (x *Endpoint) GetAttrs() map[string]*Attribute {
	if x != nil {
		return x.Attrs
	}
	return nil
}

func (x *Endpoint) GetFlag() []string {
	if x != nil {
		return x.Flag
	}
	return nil
}

func (x *Endpoint) GetSource() *AppName {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *Endpoint) GetIsPubsub() bool {
	if x != nil {
		return x.IsPubsub
	}
	return false
}

func (x *Endpoint) GetParam() []*Param {
	if x != nil {
		return x.Param
	}
	return nil
}

func (x *Endpoint) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

func (x *Endpoint) GetRestParams() *Endpoint_RestParams {
	if x != nil {
		return x.RestParams
	}
	return nil
}

// Deprecated: Do not use.
func (x *Endpoint) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Endpoint) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type Param struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Type *Type  `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *Param) Reset() {
	*x = Param{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Param) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Param) ProtoMessage() {}

func (x *Param) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Param.ProtoReflect.Descriptor instead.
func (*Param) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{7}
}

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

func (x *Param) GetType() *Type {
	if x != nil {
		return x.Type
	}
	return nil
}

type Statement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Stmt:
	//	*Statement_Action
	//	*Statement_Call
	//	*Statement_Cond
	//	*Statement_Loop
	//	*Statement_LoopN
	//	*Statement_Foreach
	//	*Statement_Alt
	//	*Statement_Group
	//	*Statement_Ret
	Stmt  isStatement_Stmt      `protobuf_oneof:"stmt"`
	Attrs map[string]*Attribute `protobuf:"bytes,10,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Statement) Reset() {
	*x = Statement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Statement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Statement) ProtoMessage() {}

func (x *Statement) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Statement.ProtoReflect.Descriptor instead.
func (*Statement) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{8}
}

func (m *Statement) GetStmt() isStatement_Stmt {
	if m != nil {
		return m.Stmt
	}
	return nil
}

func (x *Statement) GetAction() *Action {
	if x, ok := x.GetStmt().(*Statement_Action); ok {
		return x.Action
	}
	return nil
}

func (x *Statement) GetCall() *Call {
	if x, ok := x.GetStmt().(*Statement_Call); ok {
		return x.Call
	}
	return nil
}

func (x *Statement) GetCond() *Cond {
	if x, ok := x.GetStmt().(*Statement_Cond); ok {
		return x.Cond
	}
	return nil
}

func (x *Statement) GetLoop() *Loop {
	if x, ok := x.GetStmt().(*Statement_Loop); ok {
		return x.Loop
	}
	return nil
}

func (x *Statement) GetLoopN() *LoopN {
	if x, ok := x.GetStmt().(*Statement_LoopN); ok {
		return x.LoopN
	}
	return nil
}

func (x *Statement) GetForeach() *Foreach {
	if x, ok := x.GetStmt().(*Statement_Foreach); ok {
		return x.Foreach
	}
	return nil
}

func (x *Statement) GetAlt() *Alt {
	if x, ok := x.GetStmt().(*Statement_Alt); ok {
		return x.Alt
	}
	return nil
}

func (x *Statement) GetGroup() *Group {
	if x, ok := x.GetStmt().(*Statement_Group); ok {
		return x.Group
	}
	return nil
}

func (x *Statement) GetRet() *Return {
	if x, ok := x.GetStmt().(*Statement_Ret); ok {
		return x.Ret
	}
	return nil
}

func (x *Statement) GetAttrs() map[string]*Attribute {
	if x != nil {
		return x.Attrs
	}
	return nil
}

// Deprecated: Do not use.
func (x *Statement) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Statement) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type isStatement_Stmt interface {
	isStatement_Stmt()
}

type Statement_Action struct {
	Action *Action `protobuf:"bytes,1,opt,name=action,proto3,oneof"`
}

type Statement_Call struct {
	Call *Call `protobuf:"bytes,2,opt,name=call,proto3,oneof"`
}

type Statement_Cond struct {
	Cond *Cond `protobuf:"bytes,3,opt,name=cond,proto3,oneof"`
}

type Statement_Loop struct {
	Loop *Loop `protobuf:"bytes,4,opt,name=loop,proto3,oneof"`
}

type Statement_LoopN struct {
	LoopN *LoopN `protobuf:"bytes,5,opt,name=loop_n,json=loopN,proto3,oneof"`
}

type Statement_Foreach struct {
	Foreach *Foreach `protobuf:"bytes,9,opt,name=foreach,proto3,oneof"`
}

type Statement_Alt struct {
	Alt *Alt `protobuf:"bytes,6,opt,name=alt,proto3,oneof"`
}

type Statement_Group struct {
	Group *Group `protobuf:"bytes,7,opt,name=group,proto3,oneof"`
}

type Statement_Ret struct {
	Ret *Return `protobuf:"bytes,8,opt,name=ret,proto3,oneof"`
}

func (*Statement_Action) isStatement_Stmt() {}

func (*Statement_Call) isStatement_Stmt() {}

func (*Statement_Cond) isStatement_Stmt() {}

func (*Statement_Loop) isStatement_Stmt() {}

func (*Statement_LoopN) isStatement_Stmt() {}

func (*Statement_Foreach) isStatement_Stmt() {}

func (*Statement_Alt) isStatement_Stmt() {}

func (*Statement_Group) isStatement_Stmt() {}

func (*Statement_Ret) isStatement_Stmt() {}

type Action struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
}

func (x *Action) Reset() {
	*x = Action{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Action) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Action) ProtoMessage() {}

func (x *Action) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Action.ProtoReflect.Descriptor instead.
func (*Action) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{9}
}

func (x *Action) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

type Call struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Target        *AppName              `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Endpoint      string                `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	Arg           []*Call_Arg           `protobuf:"bytes,4,rep,name=arg,proto3" json:"arg,omitempty"`
	DONOTUSEAttrs map[string]*Attribute `protobuf:"bytes,3,rep,name=DONOTUSE_attrs,json=DONOTUSEAttrs,proto3" json:"DONOTUSE_attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Call) Reset() {
	*x = Call{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call) ProtoMessage() {}

func (x *Call) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Call.ProtoReflect.Descriptor instead.
func (*Call) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{10}
}

func (x *Call) GetTarget() *AppName {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *Call) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *Call) GetArg() []*Call_Arg {
	if x != nil {
		return x.Arg
	}
	return nil
}

func (x *Call) GetDONOTUSEAttrs() map[string]*Attribute {
	if x != nil {
		return x.DONOTUSEAttrs
	}
	return nil
}

type Cond struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Test string       `protobuf:"bytes,1,opt,name=test,proto3" json:"test,omitempty"`
	Stmt []*Statement `protobuf:"bytes,2,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *Cond) Reset() {
	*x = Cond{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Cond) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Cond) ProtoMessage() {}

func (x *Cond) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Cond.ProtoReflect.Descriptor instead.
func (*Cond) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{11}
}

func (x *Cond) GetTest() string {
	if x != nil {
		return x.Test
	}
	return ""
}

func (x *Cond) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type Loop struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Mode      Loop_Mode    `protobuf:"varint,1,opt,name=mode,proto3,enum=sysl.Loop_Mode" json:"mode,omitempty"`
	Criterion string       `protobuf:"bytes,2,opt,name=criterion,proto3" json:"criterion,omitempty"`
	Stmt      []*Statement `protobuf:"bytes,3,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *Loop) Reset() {
	*x = Loop{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Loop) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Loop) ProtoMessage() {}

func (x *Loop) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Loop.ProtoReflect.Descriptor instead.
func (*Loop) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{12}
}

func (x *Loop) GetMode() Loop_Mode {
	if x != nil {
		return x.Mode
	}
	return Loop_NO_Mode
}

func (x *Loop) GetCriterion() string {
	if x != nil {
		return x.Criterion
	}
	return ""
}

func (x *Loop) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type LoopN struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Count int32        `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	Stmt  []*Statement `protobuf:"bytes,3,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *LoopN) Reset() {
	*x = LoopN{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LoopN) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoopN) ProtoMessage() {}

func (x *LoopN) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 LoopN.ProtoReflect.Descriptor instead.
func (*LoopN) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{13}
}

func (x *LoopN) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *LoopN) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type Foreach struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Collection string       `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	Stmt       []*Statement `protobuf:"bytes,3,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *Foreach) Reset() {
	*x = Foreach{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Foreach) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Foreach) ProtoMessage() {}

func (x *Foreach) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Foreach.ProtoReflect.Descriptor instead.
func (*Foreach) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{14}
}

func (x *Foreach) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *Foreach) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type Alt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Choice []*Alt_Choice `protobuf:"bytes,1,rep,name=choice,proto3" json:"choice,omitempty"`
}

func (x *Alt) Reset() {
	*x = Alt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Alt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Alt) ProtoMessage() {}

func (x *Alt) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Alt.ProtoReflect.Descriptor instead.
func (*Alt) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{15}
}

func (x *Alt) GetChoice() []*Alt_Choice {
	if x != nil {
		return x.Choice
	}
	return nil
}

type Group struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Title string       `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Stmt  []*Statement `protobuf:"bytes,2,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *Group) Reset() {
	*x = Group{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Group) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Group) ProtoMessage() {}

func (x *Group) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{16}
}

func (x *Group) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Group) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type Return struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Payload string `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
}

func (x *Return) Reset() {
	*x = Return{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Return) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Return) ProtoMessage() {}

func (x *Return) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Return.ProtoReflect.Descriptor instead.
func (*Return) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{17}
}

func (x *Return) GetPayload() string {
	if x != nil {
		return x.Payload
	}
	return ""
}

type Type struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Type:
	//	*Type_Primitive_
	//	*Type_Enum_
	//	*Type_Tuple_
	//	*Type_List_
	//	*Type_Map_
	//	*Type_OneOf_
	//	*Type_Relation_
	//	*Type_TypeRef
	//	*Type_Set
	//	*Type_Sequence
	//	*Type_NoType_
	Type       isType_Type           `protobuf_oneof:"type"`
	Attrs      map[string]*Attribute `protobuf:"bytes,8,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Constraint []*Type_Constraint    `protobuf:"bytes,10,rep,name=constraint,proto3" json:"constraint,omitempty"`
	Docstring  string                `protobuf:"bytes,11,opt,name=docstring,proto3" json:"docstring,omitempty"`
	Opt        bool                  `protobuf:"varint,12,opt,name=opt,proto3" json:"opt,omitempty"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Type) Reset() {
	*x = Type{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type) ProtoMessage() {}

func (x *Type) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Type.ProtoReflect.Descriptor instead.
func (*Type) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18}
}

func (m *Type) GetType() isType_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *Type) GetPrimitive() Type_Primitive {
	if x, ok := x.GetType().(*Type_Primitive_); ok {
		return x.Primitive
	}
	return Type_NO_Primitive
}

func (x *Type) GetEnum() *Type_Enum {
	if x, ok := x.GetType().(*Type_Enum_); ok {
		return x.Enum
	}
	return nil
}

func (x *Type) GetTuple() *Type_Tuple {
	if x, ok := x.GetType().(*Type_Tuple_); ok {
		return x.Tuple
	}
	return nil
}

func (x *Type) GetList() *Type_List {
	if x, ok := x.GetType().(*Type_List_); ok {
		return x.List
	}
	return nil
}

func (x *Type) GetMap() *Type_Map {
	if x, ok := x.GetType().(*Type_Map_); ok {
		return x.Map
	}
	return nil
}

func (x *Type) GetOneOf() *Type_OneOf {
	if x, ok := x.GetType().(*Type_OneOf_); ok {
		return x.OneOf
	}
	return nil
}

func (x *Type) GetRelation() *Type_Relation {
	if x, ok := x.GetType().(*Type_Relation_); ok {
		return x.Relation
	}
	return nil
}

func (x *Type) GetTypeRef() *ScopedRef {
	if x, ok := x.GetType().(*Type_TypeRef); ok {
		return x.TypeRef
	}
	return nil
}

func (x *Type) GetSet() *Type {
	if x, ok := x.GetType().(*Type_Set); ok {
		return x.Set
	}
	return nil
}

func (x *Type) GetSequence() *Type {
	if x, ok := x.GetType().(*Type_Sequence); ok {
		return x.Sequence
	}
	return nil
}

func (x *Type) GetNoType() *Type_NoType {
	if x, ok := x.GetType().(*Type_NoType_); ok {
		return x.NoType
	}
	return nil
}

func (x *Type) GetAttrs() map[string]*Attribute {
	if x != nil {
		return x.Attrs
	}
	return nil
}

func (x *Type) GetConstraint() []*Type_Constraint {
	if x != nil {
		return x.Constraint
	}
	return nil
}

func (x *Type) GetDocstring() string {
	if x != nil {
		return x.Docstring
	}
	return ""
}

func (x *Type) GetOpt() bool {
	if x != nil {
		return x.Opt
	}
	return false
}

// Deprecated: Do not use.
func (x *Type) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Type) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type isType_Type interface {
	isType_Type()
}

type Type_Primitive_ struct {
	Primitive Type_Primitive `protobuf:"varint,1,opt,name=primitive,proto3,enum=sysl.Type_Primitive,oneof"`
}

type Type_Enum_ struct {
	Enum *Type_Enum `protobuf:"bytes,2,opt,name=enum,proto3,oneof"`
}

type Type_Tuple_ struct {
	Tuple *Type_Tuple `protobuf:"bytes,3,opt,name=tuple,proto3,oneof"`
}

type Type_List_ struct {
	List *Type_List `protobuf:"bytes,4,opt,name=list,proto3,oneof"`
}

type Type_Map_ struct {
	Map *Type_Map `protobuf:"bytes,5,opt,name=map,proto3,oneof"`
}

type Type_OneOf_ struct {
	OneOf *Type_OneOf `protobuf:"bytes,6,opt,name=one_of,json=oneOf,proto3,oneof"`
}

type Type_Relation_ struct {
	Relation *Type_Relation `protobuf:"bytes,7,opt,name=relation,proto3,oneof"`
}

type Type_TypeRef struct {
	TypeRef *ScopedRef `protobuf:"bytes,9,opt,name=type_ref,json=typeRef,proto3,oneof"`
}

type Type_Set struct {
	Set *Type `protobuf:"bytes,13,opt,name=set,proto3,oneof"`
}

type Type_Sequence struct {
	Sequence *Type `protobuf:"bytes,15,opt,name=sequence,proto3,oneof"`
}

type Type_NoType_ struct {
	NoType *Type_NoType `protobuf:"bytes,14,opt,name=no_type,json=noType,proto3,oneof"`
}

func (*Type_Primitive_) isType_Type() {}

func (*Type_Enum_) isType_Type() {}

func (*Type_Tuple_) isType_Type() {}

func (*Type_List_) isType_Type() {}

func (*Type_Map_) isType_Type() {}

func (*Type_OneOf_) isType_Type() {}

func (*Type_Relation_) isType_Type() {}

func (*Type_TypeRef) isType_Type() {}

func (*Type_Set) isType_Type() {}

func (*Type_Sequence) isType_Type() {}

func (*Type_NoType_) isType_Type() {}

type View struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Param          []*Param              `protobuf:"bytes,1,rep,name=param,proto3" json:"param,omitempty"`
	RetType        *Type                 `protobuf:"bytes,2,opt,name=ret_type,json=retType,proto3" json:"ret_type,omitempty"`
	Expr           *Expr                 `protobuf:"bytes,3,opt,name=expr,proto3" json:"expr,omitempty"`
	Views          map[string]*View      `protobuf:"bytes,4,rep,name=views,proto3" json:"views,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Attrs          map[string]*Attribute `protobuf:"bytes,8,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	SourceContext  *SourceContext        `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext      `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *View) Reset() {
	*x = View{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *View) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*View) ProtoMessage() {}

func (x *View) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 View.ProtoReflect.Descriptor instead.
func (*View) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{19}
}

func (x *View) GetParam() []*Param {
	if x != nil {
		return x.Param
	}
	return nil
}

func (x *View) GetRetType() *Type {
	if x != nil {
		return x.RetType
	}
	return nil
}

func (x *View) GetExpr() *Expr {
	if x != nil {
		return x.Expr
	}
	return nil
}

func (x *View) GetViews() map[string]*View {
	if x != nil {
		return x.Views
	}
	return nil
}

func (x *View) GetAttrs() map[string]*Attribute {
	if x != nil {
		return x.Attrs
	}
	return nil
}

func (x *View) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *View) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type Expr struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Expr:
	//	*Expr_Name
	//	*Expr_Literal
	//	*Expr_GetAttr_
	//	*Expr_Transform_
	//	*Expr_Ifelse
	//	*Expr_Call_
	//	*Expr_Unexpr
	//	*Expr_Binexpr
	//	*Expr_Relexpr
	//	*Expr_Navigate_
	//	*Expr_List_
	//	*Expr_Set
	//	*Expr_Tuple_
	Expr isExpr_Expr `protobuf_oneof:"expr"`
	Type *Type       `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"`
	// Deprecated: Do not use.
	SourceContext  *SourceContext   `protobuf:"bytes,99,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
	SourceContexts []*SourceContext `protobuf:"bytes,100,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"`
}

func (x *Expr) Reset() {
	*x = Expr{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr) ProtoMessage() {}

func (x *Expr) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Expr.ProtoReflect.Descriptor instead.
func (*Expr) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20}
}

func (m *Expr) GetExpr() isExpr_Expr {
	if m != nil {
		return m.Expr
	}
	return nil
}

func (x *Expr) GetName() string {
	if x, ok := x.GetExpr().(*Expr_Name); ok {
		return x.Name
	}
	return ""
}

func (x *Expr) GetLiteral() *Value {
	if x, ok := x.GetExpr().(*Expr_Literal); ok {
		return x.Literal
	}
	return nil
}

func (x *Expr) GetGetAttr() *Expr_GetAttr {
	if x, ok := x.GetExpr().(*Expr_GetAttr_); ok {
		return x.GetAttr
	}
	return nil
}

func (x *Expr) GetTransform() *Expr_Transform {
	if x, ok := x.GetExpr().(*Expr_Transform_); ok {
		return x.Transform
	}
	return nil
}

func (x *Expr) GetIfelse() *Expr_IfElse {
	if x, ok := x.GetExpr().(*Expr_Ifelse); ok {
		return x.Ifelse
	}
	return nil
}

func (x *Expr) GetCall() *Expr_Call {
	if x, ok := x.GetExpr().(*Expr_Call_); ok {
		return x.Call
	}
	return nil
}

func (x *Expr) GetUnexpr() *Expr_UnExpr {
	if x, ok := x.GetExpr().(*Expr_Unexpr); ok {
		return x.Unexpr
	}
	return nil
}

func (x *Expr) GetBinexpr() *Expr_BinExpr {
	if x, ok := x.GetExpr().(*Expr_Binexpr); ok {
		return x.Binexpr
	}
	return nil
}

func (x *Expr) GetRelexpr() *Expr_RelExpr {
	if x, ok := x.GetExpr().(*Expr_Relexpr); ok {
		return x.Relexpr
	}
	return nil
}

func (x *Expr) GetNavigate() *Expr_Navigate {
	if x, ok := x.GetExpr().(*Expr_Navigate_); ok {
		return x.Navigate
	}
	return nil
}

func (x *Expr) GetList() *Expr_List {
	if x, ok := x.GetExpr().(*Expr_List_); ok {
		return x.List
	}
	return nil
}

func (x *Expr) GetSet() *Expr_List {
	if x, ok := x.GetExpr().(*Expr_Set); ok {
		return x.Set
	}
	return nil
}

func (x *Expr) GetTuple() *Expr_Tuple {
	if x, ok := x.GetExpr().(*Expr_Tuple_); ok {
		return x.Tuple
	}
	return nil
}

func (x *Expr) GetType() *Type {
	if x != nil {
		return x.Type
	}
	return nil
}

// Deprecated: Do not use.
func (x *Expr) GetSourceContext() *SourceContext {
	if x != nil {
		return x.SourceContext
	}
	return nil
}

func (x *Expr) GetSourceContexts() []*SourceContext {
	if x != nil {
		return x.SourceContexts
	}
	return nil
}

type isExpr_Expr interface {
	isExpr_Expr()
}

type Expr_Name struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3,oneof"`
}

type Expr_Literal struct {
	Literal *Value `protobuf:"bytes,2,opt,name=literal,proto3,oneof"`
}

type Expr_GetAttr_ struct {
	GetAttr *Expr_GetAttr `protobuf:"bytes,3,opt,name=get_attr,json=getAttr,proto3,oneof"`
}

type Expr_Transform_ struct {
	Transform *Expr_Transform `protobuf:"bytes,4,opt,name=transform,proto3,oneof"`
}

type Expr_Ifelse struct {
	Ifelse *Expr_IfElse `protobuf:"bytes,5,opt,name=ifelse,proto3,oneof"`
}

type Expr_Call_ struct {
	Call *Expr_Call `protobuf:"bytes,6,opt,name=call,proto3,oneof"`
}

type Expr_Unexpr struct {
	Unexpr *Expr_UnExpr `protobuf:"bytes,7,opt,name=unexpr,proto3,oneof"`
}

type Expr_Binexpr struct {
	Binexpr *Expr_BinExpr `protobuf:"bytes,8,opt,name=binexpr,proto3,oneof"`
}

type Expr_Relexpr struct {
	Relexpr *Expr_RelExpr `protobuf:"bytes,12,opt,name=relexpr,proto3,oneof"`
}

type Expr_Navigate_ struct {
	Navigate *Expr_Navigate `protobuf:"bytes,9,opt,name=navigate,proto3,oneof"`
}

type Expr_List_ struct {
	List *Expr_List `protobuf:"bytes,10,opt,name=list,proto3,oneof"`
}

type Expr_Set struct {
	Set *Expr_List `protobuf:"bytes,11,opt,name=set,proto3,oneof"`
}

type Expr_Tuple_ struct {
	Tuple *Expr_Tuple `protobuf:"bytes,14,opt,name=tuple,proto3,oneof"`
}

func (*Expr_Name) isExpr_Expr() {}

func (*Expr_Literal) isExpr_Expr() {}

func (*Expr_GetAttr_) isExpr_Expr() {}

func (*Expr_Transform_) isExpr_Expr() {}

func (*Expr_Ifelse) isExpr_Expr() {}

func (*Expr_Call_) isExpr_Expr() {}

func (*Expr_Unexpr) isExpr_Expr() {}

func (*Expr_Binexpr) isExpr_Expr() {}

func (*Expr_Relexpr) isExpr_Expr() {}

func (*Expr_Navigate_) isExpr_Expr() {}

func (*Expr_List_) isExpr_Expr() {}

func (*Expr_Set) isExpr_Expr() {}

func (*Expr_Tuple_) isExpr_Expr() {}

type Value struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Value:
	//	*Value_B
	//	*Value_I
	//	*Value_D
	//	*Value_S
	//	*Value_Decimal
	//	*Value_Data
	//	*Value_Enum
	//	*Value_List_
	//	*Value_Map_
	//	*Value_Set
	//	*Value_Null_
	//	*Value_Uuid
	Value isValue_Value `protobuf_oneof:"value"`
}

func (x *Value) Reset() {
	*x = Value{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Value) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value) ProtoMessage() {}

func (x *Value) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Value.ProtoReflect.Descriptor instead.
func (*Value) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{21}
}

func (m *Value) GetValue() isValue_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Value) GetB() bool {
	if x, ok := x.GetValue().(*Value_B); ok {
		return x.B
	}
	return false
}

func (x *Value) GetI() int64 {
	if x, ok := x.GetValue().(*Value_I); ok {
		return x.I
	}
	return 0
}

func (x *Value) GetD() float64 {
	if x, ok := x.GetValue().(*Value_D); ok {
		return x.D
	}
	return 0
}

func (x *Value) GetS() string {
	if x, ok := x.GetValue().(*Value_S); ok {
		return x.S
	}
	return ""
}

func (x *Value) GetDecimal() string {
	if x, ok := x.GetValue().(*Value_Decimal); ok {
		return x.Decimal
	}
	return ""
}

func (x *Value) GetData() []byte {
	if x, ok := x.GetValue().(*Value_Data); ok {
		return x.Data
	}
	return nil
}

func (x *Value) GetEnum() int64 {
	if x, ok := x.GetValue().(*Value_Enum); ok {
		return x.Enum
	}
	return 0
}

func (x *Value) GetList() *Value_List {
	if x, ok := x.GetValue().(*Value_List_); ok {
		return x.List
	}
	return nil
}

func (x *Value) GetMap() *Value_Map {
	if x, ok := x.GetValue().(*Value_Map_); ok {
		return x.Map
	}
	return nil
}

func (x *Value) GetSet() *Value_List {
	if x, ok := x.GetValue().(*Value_Set); ok {
		return x.Set
	}
	return nil
}

func (x *Value) GetNull() *Value_Null {
	if x, ok := x.GetValue().(*Value_Null_); ok {
		return x.Null
	}
	return nil
}

func (x *Value) GetUuid() []byte {
	if x, ok := x.GetValue().(*Value_Uuid); ok {
		return x.Uuid
	}
	return nil
}

type isValue_Value interface {
	isValue_Value()
}

type Value_B struct {
	B bool `protobuf:"varint,1,opt,name=b,proto3,oneof"`
}

type Value_I struct {
	I int64 `protobuf:"varint,2,opt,name=i,proto3,oneof"`
}

type Value_D struct {
	D float64 `protobuf:"fixed64,3,opt,name=d,proto3,oneof"`
}

type Value_S struct {
	S string `protobuf:"bytes,4,opt,name=s,proto3,oneof"`
}

type Value_Decimal struct {
	Decimal string `protobuf:"bytes,11,opt,name=decimal,proto3,oneof"`
}

type Value_Data struct {
	Data []byte `protobuf:"bytes,5,opt,name=data,proto3,oneof"`
}

type Value_Enum struct {
	Enum int64 `protobuf:"varint,6,opt,name=enum,proto3,oneof"`
}

type Value_List_ struct {
	List *Value_List `protobuf:"bytes,7,opt,name=list,proto3,oneof"`
}

type Value_Map_ struct {
	Map *Value_Map `protobuf:"bytes,8,opt,name=map,proto3,oneof"`
}

type Value_Set struct {
	Set *Value_List `protobuf:"bytes,9,opt,name=set,proto3,oneof"`
}

type Value_Null_ struct {
	Null *Value_Null `protobuf:"bytes,10,opt,name=null,proto3,oneof"`
}

type Value_Uuid struct {
	Uuid []byte `protobuf:"bytes,12,opt,name=uuid,proto3,oneof"`
}

func (*Value_B) isValue_Value() {}

func (*Value_I) isValue_Value() {}

func (*Value_D) isValue_Value() {}

func (*Value_S) isValue_Value() {}

func (*Value_Decimal) isValue_Value() {}

func (*Value_Data) isValue_Value() {}

func (*Value_Enum) isValue_Value() {}

func (*Value_List_) isValue_Value() {}

func (*Value_Map_) isValue_Value() {}

func (*Value_Set) isValue_Value() {}

func (*Value_Null_) isValue_Value() {}

func (*Value_Uuid) isValue_Value() {}

type ScopedRef struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Context *Scope `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` // The context in which the ref appeared.
	Ref     *Scope `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
}

func (x *ScopedRef) Reset() {
	*x = ScopedRef{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ScopedRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScopedRef) ProtoMessage() {}

func (x *ScopedRef) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 ScopedRef.ProtoReflect.Descriptor instead.
func (*ScopedRef) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{22}
}

func (x *ScopedRef) GetContext() *Scope {
	if x != nil {
		return x.Context
	}
	return nil
}

func (x *ScopedRef) GetRef() *Scope {
	if x != nil {
		return x.Ref
	}
	return nil
}

type Scope struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Appname *AppName `protobuf:"bytes,1,opt,name=appname,proto3" json:"appname,omitempty"`
	Path    []string `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
}

func (x *Scope) Reset() {
	*x = Scope{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Scope) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Scope) ProtoMessage() {}

func (x *Scope) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Scope.ProtoReflect.Descriptor instead.
func (*Scope) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{23}
}

func (x *Scope) GetAppname() *AppName {
	if x != nil {
		return x.Appname
	}
	return nil
}

func (x *Scope) GetPath() []string {
	if x != nil {
		return x.Path
	}
	return nil
}

type SourceContext_Location struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Line int32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"`
	Col  int32 `protobuf:"varint,2,opt,name=col,proto3" json:"col,omitempty"`
}

func (x *SourceContext_Location) Reset() {
	*x = SourceContext_Location{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SourceContext_Location) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SourceContext_Location) ProtoMessage() {}

func (x *SourceContext_Location) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 SourceContext_Location.ProtoReflect.Descriptor instead.
func (*SourceContext_Location) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{0, 0}
}

func (x *SourceContext_Location) GetLine() int32 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *SourceContext_Location) GetCol() int32 {
	if x != nil {
		return x.Col
	}
	return 0
}

type Attribute_Array struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Elt []*Attribute `protobuf:"bytes,1,rep,name=elt,proto3" json:"elt,omitempty"`
}

func (x *Attribute_Array) Reset() {
	*x = Attribute_Array{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Attribute_Array) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Attribute_Array) ProtoMessage() {}

func (x *Attribute_Array) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_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 Attribute_Array.ProtoReflect.Descriptor instead.
func (*Attribute_Array) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{3, 0}
}

func (x *Attribute_Array) GetElt() []*Attribute {
	if x != nil {
		return x.Elt
	}
	return nil
}

type Endpoint_RestParams struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Method     Endpoint_RestParams_Method        `protobuf:"varint,1,opt,name=method,proto3,enum=sysl.Endpoint_RestParams_Method" json:"method,omitempty"`
	Path       string                            `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	QueryParam []*Endpoint_RestParams_QueryParam `protobuf:"bytes,3,rep,name=query_param,json=queryParam,proto3" json:"query_param,omitempty"`
	UrlParam   []*Endpoint_RestParams_QueryParam `protobuf:"bytes,4,rep,name=url_param,json=urlParam,proto3" json:"url_param,omitempty"`
}

func (x *Endpoint_RestParams) Reset() {
	*x = Endpoint_RestParams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Endpoint_RestParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Endpoint_RestParams) ProtoMessage() {}

func (x *Endpoint_RestParams) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[32]
	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 Endpoint_RestParams.ProtoReflect.Descriptor instead.
func (*Endpoint_RestParams) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{6, 1}
}

func (x *Endpoint_RestParams) GetMethod() Endpoint_RestParams_Method {
	if x != nil {
		return x.Method
	}
	return Endpoint_RestParams_NO_Method
}

func (x *Endpoint_RestParams) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Endpoint_RestParams) GetQueryParam() []*Endpoint_RestParams_QueryParam {
	if x != nil {
		return x.QueryParam
	}
	return nil
}

func (x *Endpoint_RestParams) GetUrlParam() []*Endpoint_RestParams_QueryParam {
	if x != nil {
		return x.UrlParam
	}
	return nil
}

type Endpoint_RestParams_QueryParam struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name used in url
	Type          *Type  `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Loc           bool   `protobuf:"varint,4,opt,name=loc,proto3" json:"loc,omitempty"`                                         // no longer used
	DONOTUSEParam string `protobuf:"bytes,3,opt,name=DONOTUSE_param,json=DONOTUSEParam,proto3" json:"DONOTUSE_param,omitempty"` // Internal name
}

func (x *Endpoint_RestParams_QueryParam) Reset() {
	*x = Endpoint_RestParams_QueryParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Endpoint_RestParams_QueryParam) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Endpoint_RestParams_QueryParam) ProtoMessage() {}

func (x *Endpoint_RestParams_QueryParam) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[33]
	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 Endpoint_RestParams_QueryParam.ProtoReflect.Descriptor instead.
func (*Endpoint_RestParams_QueryParam) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{6, 1, 0}
}

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

func (x *Endpoint_RestParams_QueryParam) GetType() *Type {
	if x != nil {
		return x.Type
	}
	return nil
}

func (x *Endpoint_RestParams_QueryParam) GetLoc() bool {
	if x != nil {
		return x.Loc
	}
	return false
}

func (x *Endpoint_RestParams_QueryParam) GetDONOTUSEParam() string {
	if x != nil {
		return x.DONOTUSEParam
	}
	return ""
}

type Call_Arg struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value        *Value `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	Name         string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	DONOTUSEType *Type  `protobuf:"bytes,2,opt,name=DONOTUSE_type,json=DONOTUSEType,proto3" json:"DONOTUSE_type,omitempty"`
}

func (x *Call_Arg) Reset() {
	*x = Call_Arg{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Arg) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Arg) ProtoMessage() {}

func (x *Call_Arg) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[35]
	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 Call_Arg.ProtoReflect.Descriptor instead.
func (*Call_Arg) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{10, 0}
}

func (x *Call_Arg) GetValue() *Value {
	if x != nil {
		return x.Value
	}
	return nil
}

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

func (x *Call_Arg) GetDONOTUSEType() *Type {
	if x != nil {
		return x.DONOTUSEType
	}
	return nil
}

type Alt_Choice struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Cond string       `protobuf:"bytes,1,opt,name=cond,proto3" json:"cond,omitempty"`
	Stmt []*Statement `protobuf:"bytes,2,rep,name=stmt,proto3" json:"stmt,omitempty"`
}

func (x *Alt_Choice) Reset() {
	*x = Alt_Choice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Alt_Choice) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Alt_Choice) ProtoMessage() {}

func (x *Alt_Choice) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[37]
	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 Alt_Choice.ProtoReflect.Descriptor instead.
func (*Alt_Choice) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{15, 0}
}

func (x *Alt_Choice) GetCond() string {
	if x != nil {
		return x.Cond
	}
	return ""
}

func (x *Alt_Choice) GetStmt() []*Statement {
	if x != nil {
		return x.Stmt
	}
	return nil
}

type Type_Enum struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Items map[string]int64 `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}

func (x *Type_Enum) Reset() {
	*x = Type_Enum{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Enum) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Enum) ProtoMessage() {}

func (x *Type_Enum) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[39]
	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 Type_Enum.ProtoReflect.Descriptor instead.
func (*Type_Enum) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 1}
}

func (x *Type_Enum) GetItems() map[string]int64 {
	if x != nil {
		return x.Items
	}
	return nil
}

type Type_Tuple struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AttrDefs     map[string]*Type             `protobuf:"bytes,1,rep,name=attr_defs,json=attrDefs,proto3" json:"attr_defs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	FUTUREFields map[string]*Type_Tuple_Field `protobuf:"bytes,2,rep,name=FUTURE_fields,json=FUTUREFields,proto3" json:"FUTURE_fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Type_Tuple) Reset() {
	*x = Type_Tuple{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Tuple) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Tuple) ProtoMessage() {}

func (x *Type_Tuple) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[40]
	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 Type_Tuple.ProtoReflect.Descriptor instead.
func (*Type_Tuple) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 2}
}

func (x *Type_Tuple) GetAttrDefs() map[string]*Type {
	if x != nil {
		return x.AttrDefs
	}
	return nil
}

func (x *Type_Tuple) GetFUTUREFields() map[string]*Type_Tuple_Field {
	if x != nil {
		return x.FUTUREFields
	}
	return nil
}

type Type_List struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *Type_List) Reset() {
	*x = Type_List{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_List) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_List) ProtoMessage() {}

func (x *Type_List) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[41]
	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 Type_List.ProtoReflect.Descriptor instead.
func (*Type_List) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 3}
}

func (x *Type_List) GetType() *Type {
	if x != nil {
		return x.Type
	}
	return nil
}

type Type_Map struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   *Type `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value *Type `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Type_Map) Reset() {
	*x = Type_Map{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Map) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Map) ProtoMessage() {}

func (x *Type_Map) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[42]
	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 Type_Map.ProtoReflect.Descriptor instead.
func (*Type_Map) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 4}
}

func (x *Type_Map) GetKey() *Type {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *Type_Map) GetValue() *Type {
	if x != nil {
		return x.Value
	}
	return nil
}

type Type_OneOf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type []*Type `protobuf:"bytes,1,rep,name=type,proto3" json:"type,omitempty"`
}

func (x *Type_OneOf) Reset() {
	*x = Type_OneOf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_OneOf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_OneOf) ProtoMessage() {}

func (x *Type_OneOf) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[43]
	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 Type_OneOf.ProtoReflect.Descriptor instead.
func (*Type_OneOf) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 5}
}

func (x *Type_OneOf) GetType() []*Type {
	if x != nil {
		return x.Type
	}
	return nil
}

type Type_Relation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AttrDefs   map[string]*Type     `protobuf:"bytes,1,rep,name=attr_defs,json=attrDefs,proto3" json:"attr_defs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	PrimaryKey *Type_Relation_Key   `protobuf:"bytes,2,opt,name=primary_key,json=primaryKey,proto3" json:"primary_key,omitempty"`
	Key        []*Type_Relation_Key `protobuf:"bytes,3,rep,name=key,proto3" json:"key,omitempty"`
	Inject     []string             `protobuf:"bytes,4,rep,name=inject,proto3" json:"inject,omitempty"`
}

func (x *Type_Relation) Reset() {
	*x = Type_Relation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Relation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Relation) ProtoMessage() {}

func (x *Type_Relation) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[44]
	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 Type_Relation.ProtoReflect.Descriptor instead.
func (*Type_Relation) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 6}
}

func (x *Type_Relation) GetAttrDefs() map[string]*Type {
	if x != nil {
		return x.AttrDefs
	}
	return nil
}

func (x *Type_Relation) GetPrimaryKey() *Type_Relation_Key {
	if x != nil {
		return x.PrimaryKey
	}
	return nil
}

func (x *Type_Relation) GetKey() []*Type_Relation_Key {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *Type_Relation) GetInject() []string {
	if x != nil {
		return x.Inject
	}
	return nil
}

type Type_Foreign struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	App      *AppName `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"`
	Relation string   `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"`
	AttrName string   `protobuf:"bytes,3,opt,name=attr_name,json=attrName,proto3" json:"attr_name,omitempty"`
}

func (x *Type_Foreign) Reset() {
	*x = Type_Foreign{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Foreign) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Foreign) ProtoMessage() {}

func (x *Type_Foreign) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[45]
	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 Type_Foreign.ProtoReflect.Descriptor instead.
func (*Type_Foreign) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 7}
}

func (x *Type_Foreign) GetApp() *AppName {
	if x != nil {
		return x.App
	}
	return nil
}

func (x *Type_Foreign) GetRelation() string {
	if x != nil {
		return x.Relation
	}
	return ""
}

func (x *Type_Foreign) GetAttrName() string {
	if x != nil {
		return x.AttrName
	}
	return ""
}

type Type_Constraint struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Range      *Type_Constraint_Range      `protobuf:"bytes,1,opt,name=range,proto3" json:"range,omitempty"`
	Length     *Type_Constraint_Length     `protobuf:"bytes,2,opt,name=length,proto3" json:"length,omitempty"`
	Resolution *Type_Constraint_Resolution `protobuf:"bytes,3,opt,name=resolution,proto3" json:"resolution,omitempty"`
	Precision  int32                       `protobuf:"varint,4,opt,name=precision,proto3" json:"precision,omitempty"`
	Scale      int32                       `protobuf:"varint,5,opt,name=scale,proto3" json:"scale,omitempty"`
	BitWidth   int32                       `protobuf:"varint,6,opt,name=bit_width,json=bitWidth,proto3" json:"bit_width,omitempty"`
}

func (x *Type_Constraint) Reset() {
	*x = Type_Constraint{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Constraint) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Constraint) ProtoMessage() {}

func (x *Type_Constraint) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[46]
	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 Type_Constraint.ProtoReflect.Descriptor instead.
func (*Type_Constraint) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 8}
}

func (x *Type_Constraint) GetRange() *Type_Constraint_Range {
	if x != nil {
		return x.Range
	}
	return nil
}

func (x *Type_Constraint) GetLength() *Type_Constraint_Length {
	if x != nil {
		return x.Length
	}
	return nil
}

func (x *Type_Constraint) GetResolution() *Type_Constraint_Resolution {
	if x != nil {
		return x.Resolution
	}
	return nil
}

func (x *Type_Constraint) GetPrecision() int32 {
	if x != nil {
		return x.Precision
	}
	return 0
}

func (x *Type_Constraint) GetScale() int32 {
	if x != nil {
		return x.Scale
	}
	return 0
}

func (x *Type_Constraint) GetBitWidth() int32 {
	if x != nil {
		return x.BitWidth
	}
	return 0
}

type Type_NoType struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Type_NoType) Reset() {
	*x = Type_NoType{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_NoType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_NoType) ProtoMessage() {}

func (x *Type_NoType) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[47]
	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 Type_NoType.ProtoReflect.Descriptor instead.
func (*Type_NoType) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 9}
}

type Type_Tuple_Field struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type       *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	MinRepeats int64 `protobuf:"varint,2,opt,name=min_repeats,json=minRepeats,proto3" json:"min_repeats,omitempty"`
	MaxRepeats int64 `protobuf:"varint,3,opt,name=max_repeats,json=maxRepeats,proto3" json:"max_repeats,omitempty"`
}

func (x *Type_Tuple_Field) Reset() {
	*x = Type_Tuple_Field{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Tuple_Field) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Tuple_Field) ProtoMessage() {}

func (x *Type_Tuple_Field) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[51]
	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 Type_Tuple_Field.ProtoReflect.Descriptor instead.
func (*Type_Tuple_Field) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 2, 2}
}

func (x *Type_Tuple_Field) GetType() *Type {
	if x != nil {
		return x.Type
	}
	return nil
}

func (x *Type_Tuple_Field) GetMinRepeats() int64 {
	if x != nil {
		return x.MinRepeats
	}
	return 0
}

func (x *Type_Tuple_Field) GetMaxRepeats() int64 {
	if x != nil {
		return x.MaxRepeats
	}
	return 0
}

type Type_Relation_Key struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AttrName []string `protobuf:"bytes,1,rep,name=attr_name,json=attrName,proto3" json:"attr_name,omitempty"`
}

func (x *Type_Relation_Key) Reset() {
	*x = Type_Relation_Key{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Relation_Key) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Relation_Key) ProtoMessage() {}

func (x *Type_Relation_Key) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[53]
	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 Type_Relation_Key.ProtoReflect.Descriptor instead.
func (*Type_Relation_Key) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 6, 1}
}

func (x *Type_Relation_Key) GetAttrName() []string {
	if x != nil {
		return x.AttrName
	}
	return nil
}

type Type_Constraint_Range struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Min *Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
	Max *Value `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"`
}

func (x *Type_Constraint_Range) Reset() {
	*x = Type_Constraint_Range{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Constraint_Range) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Constraint_Range) ProtoMessage() {}

func (x *Type_Constraint_Range) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[54]
	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 Type_Constraint_Range.ProtoReflect.Descriptor instead.
func (*Type_Constraint_Range) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 8, 0}
}

func (x *Type_Constraint_Range) GetMin() *Value {
	if x != nil {
		return x.Min
	}
	return nil
}

func (x *Type_Constraint_Range) GetMax() *Value {
	if x != nil {
		return x.Max
	}
	return nil
}

type Type_Constraint_Length struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Min int64 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"`
	Max int64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"`
}

func (x *Type_Constraint_Length) Reset() {
	*x = Type_Constraint_Length{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Constraint_Length) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Constraint_Length) ProtoMessage() {}

func (x *Type_Constraint_Length) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[55]
	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 Type_Constraint_Length.ProtoReflect.Descriptor instead.
func (*Type_Constraint_Length) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 8, 1}
}

func (x *Type_Constraint_Length) GetMin() int64 {
	if x != nil {
		return x.Min
	}
	return 0
}

func (x *Type_Constraint_Length) GetMax() int64 {
	if x != nil {
		return x.Max
	}
	return 0
}

// e.g.: 3 decimal places = {base = 10, index = -3}
type Type_Constraint_Resolution struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Base  int32 `protobuf:"varint,1,opt,name=base,proto3" json:"base,omitempty"`
	Index int32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
}

func (x *Type_Constraint_Resolution) Reset() {
	*x = Type_Constraint_Resolution{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type_Constraint_Resolution) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type_Constraint_Resolution) ProtoMessage() {}

func (x *Type_Constraint_Resolution) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[56]
	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 Type_Constraint_Resolution.ProtoReflect.Descriptor instead.
func (*Type_Constraint_Resolution) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{18, 8, 2}
}

func (x *Type_Constraint_Resolution) GetBase() int32 {
	if x != nil {
		return x.Base
	}
	return 0
}

func (x *Type_Constraint_Resolution) GetIndex() int32 {
	if x != nil {
		return x.Index
	}
	return 0
}

type Expr_GetAttr struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Arg      *Expr  `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"`
	Attr     string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"`
	Nullsafe bool   `protobuf:"varint,3,opt,name=nullsafe,proto3" json:"nullsafe,omitempty"`
	Setof    bool   `protobuf:"varint,4,opt,name=setof,proto3" json:"setof,omitempty"`
}

func (x *Expr_GetAttr) Reset() {
	*x = Expr_GetAttr{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_GetAttr) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_GetAttr) ProtoMessage() {}

func (x *Expr_GetAttr) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[59]
	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 Expr_GetAttr.ProtoReflect.Descriptor instead.
func (*Expr_GetAttr) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 0}
}

func (x *Expr_GetAttr) GetArg() *Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

func (x *Expr_GetAttr) GetAttr() string {
	if x != nil {
		return x.Attr
	}
	return ""
}

func (x *Expr_GetAttr) GetNullsafe() bool {
	if x != nil {
		return x.Nullsafe
	}
	return false
}

func (x *Expr_GetAttr) GetSetof() bool {
	if x != nil {
		return x.Setof
	}
	return false
}

type Expr_Navigate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Arg      *Expr  `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"`
	Attr     string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"`
	Nullsafe bool   `protobuf:"varint,3,opt,name=nullsafe,proto3" json:"nullsafe,omitempty"`
	Setof    bool   `protobuf:"varint,4,opt,name=setof,proto3" json:"setof,omitempty"`
	Via      string `protobuf:"bytes,5,opt,name=via,proto3" json:"via,omitempty"`
}

func (x *Expr_Navigate) Reset() {
	*x = Expr_Navigate{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Navigate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Navigate) ProtoMessage() {}

func (x *Expr_Navigate) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[60]
	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 Expr_Navigate.ProtoReflect.Descriptor instead.
func (*Expr_Navigate) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 1}
}

func (x *Expr_Navigate) GetArg() *Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

func (x *Expr_Navigate) GetAttr() string {
	if x != nil {
		return x.Attr
	}
	return ""
}

func (x *Expr_Navigate) GetNullsafe() bool {
	if x != nil {
		return x.Nullsafe
	}
	return false
}

func (x *Expr_Navigate) GetSetof() bool {
	if x != nil {
		return x.Setof
	}
	return false
}

func (x *Expr_Navigate) GetVia() string {
	if x != nil {
		return x.Via
	}
	return ""
}

type Expr_List struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Expr []*Expr `protobuf:"bytes,1,rep,name=expr,proto3" json:"expr,omitempty"`
}

func (x *Expr_List) Reset() {
	*x = Expr_List{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_List) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_List) ProtoMessage() {}

func (x *Expr_List) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[61]
	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 Expr_List.ProtoReflect.Descriptor instead.
func (*Expr_List) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 2}
}

func (x *Expr_List) GetExpr() []*Expr {
	if x != nil {
		return x.Expr
	}
	return nil
}

type Expr_Transform struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Arg         *Expr                  `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"`
	Scopevar    string                 `protobuf:"bytes,2,opt,name=scopevar,proto3" json:"scopevar,omitempty"`
	Stmt        []*Expr_Transform_Stmt `protobuf:"bytes,3,rep,name=stmt,proto3" json:"stmt,omitempty"`
	AllAttrs    bool                   `protobuf:"varint,4,opt,name=all_attrs,json=allAttrs,proto3" json:"all_attrs,omitempty"`
	ExceptAttrs []string               `protobuf:"bytes,5,rep,name=except_attrs,json=exceptAttrs,proto3" json:"except_attrs,omitempty"`
	Nullsafe    bool                   `protobuf:"varint,6,opt,name=nullsafe,proto3" json:"nullsafe,omitempty"`
}

func (x *Expr_Transform) Reset() {
	*x = Expr_Transform{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Transform) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Transform) ProtoMessage() {}

func (x *Expr_Transform) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[62]
	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 Expr_Transform.ProtoReflect.Descriptor instead.
func (*Expr_Transform) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 3}
}

func (x *Expr_Transform) GetArg() *Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

func (x *Expr_Transform) GetScopevar() string {
	if x != nil {
		return x.Scopevar
	}
	return ""
}

func (x *Expr_Transform) GetStmt() []*Expr_Transform_Stmt {
	if x != nil {
		return x.Stmt
	}
	return nil
}

func (x *Expr_Transform) GetAllAttrs() bool {
	if x != nil {
		return x.AllAttrs
	}
	return false
}

func (x *Expr_Transform) GetExceptAttrs() []string {
	if x != nil {
		return x.ExceptAttrs
	}
	return nil
}

func (x *Expr_Transform) GetNullsafe() bool {
	if x != nil {
		return x.Nullsafe
	}
	return false
}

type Expr_IfElse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Cond     *Expr `protobuf:"bytes,1,opt,name=cond,proto3" json:"cond,omitempty"`
	IfTrue   *Expr `protobuf:"bytes,2,opt,name=if_true,json=ifTrue,proto3" json:"if_true,omitempty"`
	IfFalse  *Expr `protobuf:"bytes,3,opt,name=if_false,json=ifFalse,proto3" json:"if_false,omitempty"`
	Nullsafe bool  `protobuf:"varint,4,opt,name=nullsafe,proto3" json:"nullsafe,omitempty"`
}

func (x *Expr_IfElse) Reset() {
	*x = Expr_IfElse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_IfElse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_IfElse) ProtoMessage() {}

func (x *Expr_IfElse) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[63]
	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 Expr_IfElse.ProtoReflect.Descriptor instead.
func (*Expr_IfElse) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 4}
}

func (x *Expr_IfElse) GetCond() *Expr {
	if x != nil {
		return x.Cond
	}
	return nil
}

func (x *Expr_IfElse) GetIfTrue() *Expr {
	if x != nil {
		return x.IfTrue
	}
	return nil
}

func (x *Expr_IfElse) GetIfFalse() *Expr {
	if x != nil {
		return x.IfFalse
	}
	return nil
}

func (x *Expr_IfElse) GetNullsafe() bool {
	if x != nil {
		return x.Nullsafe
	}
	return false
}

type Expr_Call struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Func string  `protobuf:"bytes,1,opt,name=func,proto3" json:"func,omitempty"`
	Arg  []*Expr `protobuf:"bytes,2,rep,name=arg,proto3" json:"arg,omitempty"`
}

func (x *Expr_Call) Reset() {
	*x = Expr_Call{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Call) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Call) ProtoMessage() {}

func (x *Expr_Call) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[64]
	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 Expr_Call.ProtoReflect.Descriptor instead.
func (*Expr_Call) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 5}
}

func (x *Expr_Call) GetFunc() string {
	if x != nil {
		return x.Func
	}
	return ""
}

func (x *Expr_Call) GetArg() []*Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

type Expr_UnExpr struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Op  Expr_UnExpr_Op `protobuf:"varint,1,opt,name=op,proto3,enum=sysl.Expr_UnExpr_Op" json:"op,omitempty"`
	Arg *Expr          `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"`
}

func (x *Expr_UnExpr) Reset() {
	*x = Expr_UnExpr{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_UnExpr) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_UnExpr) ProtoMessage() {}

func (x *Expr_UnExpr) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[65]
	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 Expr_UnExpr.ProtoReflect.Descriptor instead.
func (*Expr_UnExpr) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 6}
}

func (x *Expr_UnExpr) GetOp() Expr_UnExpr_Op {
	if x != nil {
		return x.Op
	}
	return Expr_UnExpr_NO_Op
}

func (x *Expr_UnExpr) GetArg() *Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

type Expr_BinExpr struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Op       Expr_BinExpr_Op `protobuf:"varint,1,opt,name=op,proto3,enum=sysl.Expr_BinExpr_Op" json:"op,omitempty"`
	Lhs      *Expr           `protobuf:"bytes,2,opt,name=lhs,proto3" json:"lhs,omitempty"`
	Rhs      *Expr           `protobuf:"bytes,3,opt,name=rhs,proto3" json:"rhs,omitempty"`
	Scopevar string          `protobuf:"bytes,4,opt,name=scopevar,proto3" json:"scopevar,omitempty"`
	AttrName []string        `protobuf:"bytes,5,rep,name=attr_name,json=attrName,proto3" json:"attr_name,omitempty"`
}

func (x *Expr_BinExpr) Reset() {
	*x = Expr_BinExpr{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_BinExpr) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_BinExpr) ProtoMessage() {}

func (x *Expr_BinExpr) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[66]
	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 Expr_BinExpr.ProtoReflect.Descriptor instead.
func (*Expr_BinExpr) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 7}
}

func (x *Expr_BinExpr) GetOp() Expr_BinExpr_Op {
	if x != nil {
		return x.Op
	}
	return Expr_BinExpr_NO_Op
}

func (x *Expr_BinExpr) GetLhs() *Expr {
	if x != nil {
		return x.Lhs
	}
	return nil
}

func (x *Expr_BinExpr) GetRhs() *Expr {
	if x != nil {
		return x.Rhs
	}
	return nil
}

func (x *Expr_BinExpr) GetScopevar() string {
	if x != nil {
		return x.Scopevar
	}
	return ""
}

func (x *Expr_BinExpr) GetAttrName() []string {
	if x != nil {
		return x.AttrName
	}
	return nil
}

// TODO: Migrate BinExpr ops to RelExpr as appropriate.
type Expr_RelExpr struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Op         Expr_RelExpr_Op `protobuf:"varint,1,opt,name=op,proto3,enum=sysl.Expr_RelExpr_Op" json:"op,omitempty"`
	Target     *Expr           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	Arg        []*Expr         `protobuf:"bytes,3,rep,name=arg,proto3" json:"arg,omitempty"`
	Scopevar   string          `protobuf:"bytes,4,opt,name=scopevar,proto3" json:"scopevar,omitempty"`
	Descending []bool          `protobuf:"varint,5,rep,packed,name=descending,proto3" json:"descending,omitempty"`
	AttrName   []string        `protobuf:"bytes,6,rep,name=attr_name,json=attrName,proto3" json:"attr_name,omitempty"`
}

func (x *Expr_RelExpr) Reset() {
	*x = Expr_RelExpr{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_RelExpr) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_RelExpr) ProtoMessage() {}

func (x *Expr_RelExpr) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[67]
	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 Expr_RelExpr.ProtoReflect.Descriptor instead.
func (*Expr_RelExpr) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 8}
}

func (x *Expr_RelExpr) GetOp() Expr_RelExpr_Op {
	if x != nil {
		return x.Op
	}
	return Expr_RelExpr_NO_Op
}

func (x *Expr_RelExpr) GetTarget() *Expr {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *Expr_RelExpr) GetArg() []*Expr {
	if x != nil {
		return x.Arg
	}
	return nil
}

func (x *Expr_RelExpr) GetScopevar() string {
	if x != nil {
		return x.Scopevar
	}
	return ""
}

func (x *Expr_RelExpr) GetDescending() []bool {
	if x != nil {
		return x.Descending
	}
	return nil
}

func (x *Expr_RelExpr) GetAttrName() []string {
	if x != nil {
		return x.AttrName
	}
	return nil
}

type Expr_Tuple struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Attrs map[string]*Expr `protobuf:"bytes,1,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Expr_Tuple) Reset() {
	*x = Expr_Tuple{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Tuple) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Tuple) ProtoMessage() {}

func (x *Expr_Tuple) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[68]
	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 Expr_Tuple.ProtoReflect.Descriptor instead.
func (*Expr_Tuple) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 9}
}

func (x *Expr_Tuple) GetAttrs() map[string]*Expr {
	if x != nil {
		return x.Attrs
	}
	return nil
}

type Expr_Transform_Stmt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Stmt:
	//	*Expr_Transform_Stmt_Assign_
	//	*Expr_Transform_Stmt_Let
	//	*Expr_Transform_Stmt_Inject
	Stmt isExpr_Transform_Stmt_Stmt `protobuf_oneof:"stmt"`
}

func (x *Expr_Transform_Stmt) Reset() {
	*x = Expr_Transform_Stmt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Transform_Stmt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Transform_Stmt) ProtoMessage() {}

func (x *Expr_Transform_Stmt) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[69]
	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 Expr_Transform_Stmt.ProtoReflect.Descriptor instead.
func (*Expr_Transform_Stmt) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 3, 0}
}

func (m *Expr_Transform_Stmt) GetStmt() isExpr_Transform_Stmt_Stmt {
	if m != nil {
		return m.Stmt
	}
	return nil
}

func (x *Expr_Transform_Stmt) GetAssign() *Expr_Transform_Stmt_Assign {
	if x, ok := x.GetStmt().(*Expr_Transform_Stmt_Assign_); ok {
		return x.Assign
	}
	return nil
}

func (x *Expr_Transform_Stmt) GetLet() *Expr_Transform_Stmt_Assign {
	if x, ok := x.GetStmt().(*Expr_Transform_Stmt_Let); ok {
		return x.Let
	}
	return nil
}

func (x *Expr_Transform_Stmt) GetInject() *Expr {
	if x, ok := x.GetStmt().(*Expr_Transform_Stmt_Inject); ok {
		return x.Inject
	}
	return nil
}

type isExpr_Transform_Stmt_Stmt interface {
	isExpr_Transform_Stmt_Stmt()
}

type Expr_Transform_Stmt_Assign_ struct {
	Assign *Expr_Transform_Stmt_Assign `protobuf:"bytes,1,opt,name=assign,proto3,oneof"`
}

type Expr_Transform_Stmt_Let struct {
	Let *Expr_Transform_Stmt_Assign `protobuf:"bytes,2,opt,name=let,proto3,oneof"`
}

type Expr_Transform_Stmt_Inject struct {
	Inject *Expr `protobuf:"bytes,4,opt,name=inject,proto3,oneof"`
}

func (*Expr_Transform_Stmt_Assign_) isExpr_Transform_Stmt_Stmt() {}

func (*Expr_Transform_Stmt_Let) isExpr_Transform_Stmt_Stmt() {}

func (*Expr_Transform_Stmt_Inject) isExpr_Transform_Stmt_Stmt() {}

type Expr_Transform_Stmt_Assign struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name  string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Expr  *Expr  `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
	Table bool   `protobuf:"varint,3,opt,name=table,proto3" json:"table,omitempty"`
}

func (x *Expr_Transform_Stmt_Assign) Reset() {
	*x = Expr_Transform_Stmt_Assign{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Expr_Transform_Stmt_Assign) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Expr_Transform_Stmt_Assign) ProtoMessage() {}

func (x *Expr_Transform_Stmt_Assign) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[70]
	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 Expr_Transform_Stmt_Assign.ProtoReflect.Descriptor instead.
func (*Expr_Transform_Stmt_Assign) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{20, 3, 0, 0}
}

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

func (x *Expr_Transform_Stmt_Assign) GetExpr() *Expr {
	if x != nil {
		return x.Expr
	}
	return nil
}

func (x *Expr_Transform_Stmt_Assign) GetTable() bool {
	if x != nil {
		return x.Table
	}
	return false
}

type Value_List struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value []*Value `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
}

func (x *Value_List) Reset() {
	*x = Value_List{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Value_List) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_List) ProtoMessage() {}

func (x *Value_List) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[72]
	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 Value_List.ProtoReflect.Descriptor instead.
func (*Value_List) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{21, 0}
}

func (x *Value_List) GetValue() []*Value {
	if x != nil {
		return x.Value
	}
	return nil
}

type Value_Map struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Items map[string]*Value `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Value_Map) Reset() {
	*x = Value_Map{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Value_Map) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Map) ProtoMessage() {}

func (x *Value_Map) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[73]
	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 Value_Map.ProtoReflect.Descriptor instead.
func (*Value_Map) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{21, 1}
}

func (x *Value_Map) GetItems() map[string]*Value {
	if x != nil {
		return x.Items
	}
	return nil
}

type Value_Null struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Value_Null) Reset() {
	*x = Value_Null{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sysl_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Value_Null) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Null) ProtoMessage() {}

func (x *Value_Null) ProtoReflect() protoreflect.Message {
	mi := &file_sysl_proto_msgTypes[74]
	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 Value_Null.ProtoReflect.Descriptor instead.
func (*Value_Null) Descriptor() ([]byte, []int) {
	return file_sysl_proto_rawDescGZIP(), []int{21, 2}
}

var File_sysl_proto protoreflect.FileDescriptor

var file_sysl_proto_rawDesc = []byte{
	0x0a, 0x0a, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x73, 0x79,
	0x73, 0x6c, 0x22, 0x8a, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x03,
	0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74,
	0x12, 0x21, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x05, 0x64, 0x65,
	0x6c, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x30, 0x0a,
	0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x6f, 0x6c, 0x22,
	0xb2, 0x02, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x61, 0x70,
	0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x04, 0x61, 0x70, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x49,
	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3e,
	0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3c,
	0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x4a, 0x0a, 0x09,
	0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04,
	0x08, 0x03, 0x10, 0x04, 0x22, 0x7f, 0x0a, 0x06, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x4e,
	0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x99, 0x02, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x01, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x01, 0x73, 0x12, 0x0e, 0x0a, 0x01, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
	0x52, 0x01, 0x69, 0x12, 0x0e, 0x0a, 0x01, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00,
	0x52, 0x01, 0x6e, 0x12, 0x25, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e,
	0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x01, 0x61, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x64, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x2a, 0x0a, 0x05, 0x41, 0x72, 0x72, 0x61,
	0x79, 0x12, 0x21, 0x0a, 0x03, 0x65, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52,
	0x03, 0x65, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
	0x65, 0x22, 0x1d, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x70, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x72, 0x74,
	0x22, 0xf8, 0x06, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x32,
	0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x74, 0x74,
	0x72, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18,
	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18,
	0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x6d, 0x69,
	0x78, 0x69, 0x6e, 0x32, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d,
	0x69, 0x78, 0x69, 0x6e, 0x32, 0x12, 0x2b, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70,
	0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73,
	0x12, 0x34, 0x0a, 0x0e, 0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x5f, 0x6d, 0x69, 0x78,
	0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53,
	0x45, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x1a, 0x49, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x1a, 0x4c, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
	0x44, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x0a, 0x56, 0x69, 0x65, 0x77, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x69, 0x65, 0x77,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x86, 0x08, 0x0a, 0x08,
	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
	0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f,
	0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73,
	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67,
	0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x06,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62,
	0x12, 0x21, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61,
	0x72, 0x61, 0x6d, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74,
	0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65,
	0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
	0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xd4, 0x03,
	0x0a, 0x0a, 0x52, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x06,
	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73,
	0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06,
	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0b, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x24, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
	0x52, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x12, 0x41, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e,
	0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x75, 0x72, 0x6c, 0x50,
	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x79, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72,
	0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, 0x25, 0x0a, 0x0e, 0x44, 0x4f, 0x4e, 0x4f,
	0x54, 0x55, 0x53, 0x45, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22,
	0x73, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f,
	0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10,
	0x01, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f,
	0x53, 0x54, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05,
	0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x44,
	0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10,
	0x07, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x5f, 0x48, 0x45,
	0x41, 0x44, 0x10, 0x02, 0x22, 0x3b, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x22, 0xd3, 0x04, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12,
	0x26, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x43, 0x61, 0x6c,
	0x6c, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x04, 0x63, 0x6f, 0x6e,
	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x43,
	0x6f, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x04, 0x6c,
	0x6f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x6f, 0x70, 0x12, 0x24, 0x0a,
	0x06, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f,
	0x6f, 0x70, 0x4e, 0x12, 0x29, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x65,
	0x61, 0x63, 0x68, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x12, 0x1d,
	0x0a, 0x03, 0x61, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x41, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x74, 0x12, 0x23, 0x0a,
	0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x12, 0x20, 0x0a, 0x03, 0x72, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x00, 0x52,
	0x03, 0x72, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
	0x06, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x20, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x02, 0x0a, 0x04, 0x43, 0x61,
	0x6c, 0x6c, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d,
	0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x41,
	0x72, 0x67, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x44, 0x4f, 0x4e, 0x4f, 0x54,
	0x55, 0x53, 0x45, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x44, 0x4f, 0x4e, 0x4f,
	0x54, 0x55, 0x53, 0x45, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
	0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x41, 0x74, 0x74, 0x72, 0x73, 0x1a, 0x6d, 0x0a,
	0x03, 0x41, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0d, 0x44,
	0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c,
	0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x51, 0x0a, 0x12,
	0x44, 0x4f, 0x4e, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0x3f, 0x0a, 0x04, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x73, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x73,
	0x74, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74,
	0x22, 0x99, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x6d, 0x6f, 0x64,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x4c,
	0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1c,
	0x0a, 0x09, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x04,
	0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d,
	0x74, 0x22, 0x29, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f,
	0x4d, 0x6f, 0x64, 0x65, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x10,
	0x01, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x10, 0x02, 0x22, 0x42, 0x0a, 0x05,
	0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x73,
	0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74,
	0x22, 0x4e, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x04, 0x73,
	0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74,
	0x22, 0x72, 0x0a, 0x03, 0x41, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63,
	0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41,
	0x6c, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63,
	0x65, 0x1a, 0x41, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63,
	0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x12,
	0x23, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04,
	0x73, 0x74, 0x6d, 0x74, 0x22, 0x42, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69,
	0x74, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x75,
	0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf7, 0x13, 0x0a,
	0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69,
	0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x48, 0x00,
	0x52, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x65,
	0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x04, 0x65, 0x6e,
	0x75, 0x6d, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x75,
	0x70, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x04,
	0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c,
	0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x61, 0x70,
	0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x5f, 0x6f,
	0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54,
	0x79, 0x70, 0x65, 0x2e, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x6e, 0x65,
	0x4f, 0x66, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65,
	0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65,
	0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53,
	0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65,
	0x52, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x03,
	0x73, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a,
	0x07, 0x6e, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4e, 0x6f, 0x54, 0x79, 0x70,
	0x65, 0x48, 0x00, 0x52, 0x06, 0x6e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x61,
	0x74, 0x74, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73,
	0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61,
	0x69, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a,
	0x03, 0x6f, 0x70, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6f, 0x70, 0x74, 0x12,
	0x3e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
	0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x49, 0x0a,
	0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x72, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d,
	0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
	0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9a, 0x03, 0x0a,
	0x05, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x64,
	0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72,
	0x44, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x44,
	0x65, 0x66, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x66, 0x69,
	0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x2e, 0x46, 0x55, 0x54,
	0x55, 0x52, 0x45, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
	0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x47, 0x0a, 0x0d,
	0x41, 0x74, 0x74, 0x72, 0x44, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x11, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x46,
	0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x2e, 0x46, 0x69,
	0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x69,
	0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x72,
	0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x69,
	0x6e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f,
	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d,
	0x61, 0x78, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x1a, 0x26, 0x0a, 0x04, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x1a, 0x45, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x1c, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x27, 0x0a, 0x05, 0x4f, 0x6e, 0x65, 0x4f,
	0x66, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x1a, 0xb4, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e,
	0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x52, 0x65,
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x44, 0x65, 0x66, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x44, 0x65, 0x66, 0x73, 0x12, 0x38,
	0x0a, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e,
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x70, 0x72,
	0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x47, 0x0a, 0x0d, 0x41,
	0x74, 0x74, 0x72, 0x44, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x1a, 0x22, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61,
	0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
	0x61, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x63, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x65,
	0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52,
	0x03, 0x61, 0x70, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xb5, 0x03,
	0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x05,
	0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69,
	0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12,
	0x34, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73,
	0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x06, 0x6c,
	0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74,
	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x73,
	0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62,
	0x69, 0x74, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
	0x62, 0x69, 0x74, 0x57, 0x69, 0x64, 0x74, 0x68, 0x1a, 0x45, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67,
	0x65, 0x12, 0x1d, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x69, 0x6e,
	0x12, 0x1d, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x1a,
	0x2c, 0x0a, 0x06, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d,
	0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x1a, 0x36, 0x0a,
	0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62,
	0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x08, 0x0a, 0x06, 0x4e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22,
	0xac, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x10, 0x0a,
	0x0c, 0x4e, 0x4f, 0x5f, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, 0x00, 0x12,
	0x09, 0x0a, 0x05, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e,
	0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x03, 0x12, 0x07, 0x0a,
	0x03, 0x49, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10,
	0x05, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x0c, 0x12, 0x0a,
	0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59,
	0x54, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f,
	0x38, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x09, 0x12, 0x0c, 0x0a,
	0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x58,
	0x4d, 0x4c, 0x10, 0x0b, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x10, 0x0d, 0x42, 0x06,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd5, 0x03, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12,
	0x21, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72,
	0x61, 0x6d, 0x12, 0x25, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x07, 0x72, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x65, 0x78, 0x70,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45,
	0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x69, 0x65,
	0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18,
	0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x69, 0x65,
	0x77, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x74,
	0x74, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
	0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x44, 0x0a,
	0x0a, 0x56, 0x69, 0x65, 0x77, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfa,
	0x15, 0x0a, 0x04, 0x45, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a,
	0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6c,
	0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74,
	0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x45, 0x78, 0x70, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x48, 0x00, 0x52, 0x07,
	0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73,
	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
	0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2b, 0x0a,
	0x06, 0x69, 0x66, 0x65, 0x6c, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x49, 0x66, 0x45, 0x6c, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x06, 0x69, 0x66, 0x65, 0x6c, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x63, 0x61,
	0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x6c,
	0x6c, 0x12, 0x2b, 0x0a, 0x06, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x11, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x55, 0x6e,
	0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e,
	0x0a, 0x07, 0x62, 0x69, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x42, 0x69, 0x6e, 0x45,
	0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e,
	0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x52, 0x65, 0x6c, 0x45,
	0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x12, 0x31,
	0x0a, 0x08, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4e, 0x61, 0x76,
	0x69, 0x67, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74,
	0x65, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18,
	0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70,
	0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x28, 0x0a,
	0x05, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x48, 0x00,
	0x52, 0x05, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x6d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72,
	0x12, 0x1c, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x12,
	0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x74,
	0x74, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x12, 0x14,
	0x0a, 0x05, 0x73, 0x65, 0x74, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73,
	0x65, 0x74, 0x6f, 0x66, 0x1a, 0x80, 0x01, 0x0a, 0x08, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74,
	0x65, 0x12, 0x1c, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12,
	0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61,
	0x74, 0x74, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
	0x73, 0x65, 0x74, 0x6f, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x69, 0x61, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x76, 0x69, 0x61, 0x1a, 0x26, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1e, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x1a,
	0xcd, 0x03, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a,
	0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73,
	0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73,
	0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x12, 0x2d, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70,
	0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x53, 0x74, 0x6d, 0x74,
	0x52, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x74,
	0x74, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x41, 0x74,
	0x74, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x61, 0x74,
	0x74, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70,
	0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61,
	0x66, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61,
	0x66, 0x65, 0x1a, 0xfa, 0x01, 0x0a, 0x04, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x61,
	0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
	0x6d, 0x2e, 0x53, 0x74, 0x6d, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x48, 0x00, 0x52,
	0x06, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x34, 0x0a, 0x03, 0x6c, 0x65, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72,
	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x53, 0x74, 0x6d, 0x74, 0x2e,
	0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x65, 0x74, 0x12, 0x24, 0x0a,
	0x06, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
	0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x6a,
	0x65, 0x63, 0x74, 0x1a, 0x52, 0x0a, 0x06, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x1e, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70,
	0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x1a,
	0x90, 0x01, 0x0a, 0x06, 0x49, 0x66, 0x45, 0x6c, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f,
	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x07, 0x69, 0x66,
	0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x69, 0x66, 0x54, 0x72, 0x75, 0x65, 0x12,
	0x25, 0x0a, 0x08, 0x69, 0x66, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x07, 0x69,
	0x66, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61,
	0x66, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x61,
	0x66, 0x65, 0x1a, 0x38, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75,
	0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x1c,
	0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x1a, 0xad, 0x01, 0x0a,
	0x06, 0x55, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x24, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e,
	0x55, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x1c, 0x0a,
	0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x5f, 0x0a, 0x02, 0x4f,
	0x70, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x5f, 0x4f, 0x70, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
	0x4e, 0x45, 0x47, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x07,
	0x0a, 0x03, 0x4e, 0x4f, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x56, 0x10, 0x04,
	0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e,
	0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x06,
	0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x1a, 0xdd, 0x03, 0x0a,
	0x07, 0x42, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x25, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72,
	0x2e, 0x42, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12,
	0x1c, 0x0a, 0x03, 0x6c, 0x68, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x6c, 0x68, 0x73, 0x12, 0x1c, 0x0a,
	0x03, 0x72, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73,
	0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x72, 0x68, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73,
	0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73,
	0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72,
	0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x09, 0x0a, 0x05, 0x4e,
	0x4f, 0x5f, 0x4f, 0x70, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x01, 0x12, 0x06,
	0x0a, 0x02, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x06,
	0x0a, 0x02, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x54, 0x10, 0x05, 0x12, 0x06,
	0x0a, 0x02, 0x47, 0x45, 0x10, 0x06, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x18, 0x12, 0x0c,
	0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x19, 0x12, 0x0a, 0x0a, 0x06,
	0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x1a, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f,
	0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x1b, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44,
	0x44, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x42, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03,
	0x4d, 0x55, 0x4c, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x49, 0x56, 0x10, 0x0a, 0x12, 0x07,
	0x0a, 0x03, 0x4d, 0x4f, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x4f, 0x57, 0x10, 0x0c,
	0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0x0d, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x52, 0x10,
	0x0e, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x55, 0x54, 0x4e, 0x4f, 0x54, 0x10, 0x15, 0x12, 0x0a, 0x0a,
	0x06, 0x42, 0x49, 0x54, 0x41, 0x4e, 0x44, 0x10, 0x0f, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x49, 0x54,
	0x4f, 0x52, 0x10, 0x10, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x58, 0x4f, 0x52, 0x10, 0x11,
	0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x41, 0x4c, 0x45, 0x53, 0x43, 0x45, 0x10, 0x12, 0x12, 0x09,
	0x0a, 0x05, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x13, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x4f, 0x5f,
	0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x4f,
	0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x17, 0x12,
	0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x10, 0x16, 0x1a, 0xd1, 0x02, 0x0a,
	0x07, 0x52, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x25, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72,
	0x2e, 0x52, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12,
	0x22, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x0a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72,
	0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x76, 0x61, 0x72, 0x12, 0x1e, 0x0a,
	0x0a, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28,
	0x08, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a,
	0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x02, 0x4f,
	0x70, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x5f, 0x4f, 0x70, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
	0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0x02, 0x12, 0x07,
	0x0a, 0x03, 0x53, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x56, 0x45, 0x52, 0x41,
	0x47, 0x45, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x57,
	0x48, 0x45, 0x52, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45,
	0x5f, 0x46, 0x4c, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x41,
	0x4e, 0x4b, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54,
	0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x59, 0x10, 0x09,
	0x1a, 0x80, 0x01, 0x0a, 0x05, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x61, 0x74,
	0x74, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x79, 0x73, 0x6c,
	0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x1a, 0x44, 0x0a,
	0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x73,
	0x79, 0x73, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0xfc, 0x03, 0x0a, 0x05,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x01, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x00, 0x52, 0x01, 0x62, 0x12, 0x0e, 0x0a, 0x01, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x48, 0x00, 0x52, 0x01, 0x69, 0x12, 0x0e, 0x0a, 0x01, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
	0x48, 0x00, 0x52, 0x01, 0x64, 0x12, 0x0e, 0x0a, 0x01, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x01, 0x73, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61,
	0x6c, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48,
	0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x26, 0x0a,
	0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e,
	0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x03, 0x73, 0x65,
	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x73, 0x65, 0x74,
	0x12, 0x26, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4e, 0x75, 0x6c, 0x6c,
	0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0x29,
	0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x7e, 0x0a, 0x03, 0x4d, 0x61, 0x70,
	0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4d, 0x61, 0x70,
	0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x75, 0x6c,
	0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x51, 0x0a, 0x09, 0x53, 0x63,
	0x6f, 0x70, 0x65, 0x64, 0x52, 0x65, 0x66, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e,
	0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d,
	0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x79,
	0x73, 0x6c, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x44, 0x0a,
	0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x79, 0x73, 0x6c, 0x2e, 0x41,
	0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x2a, 0x58, 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x08,
	0x4e, 0x4f, 0x5f, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45,
	0x4c, 0x54, 0x41, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45,
	0x4c, 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09,
	0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44,
	0x45, 0x4c, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x42, 0x08, 0x5a,
	0x06, 0x2e, 0x3b, 0x73, 0x79, 0x73, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_sysl_proto_rawDescOnce sync.Once
	file_sysl_proto_rawDescData = file_sysl_proto_rawDesc
)

func file_sysl_proto_rawDescGZIP() []byte {
	file_sysl_proto_rawDescOnce.Do(func() {
		file_sysl_proto_rawDescData = protoimpl.X.CompressGZIP(file_sysl_proto_rawDescData)
	})
	return file_sysl_proto_rawDescData
}

var file_sysl_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_sysl_proto_msgTypes = make([]protoimpl.MessageInfo, 76)
var file_sysl_proto_goTypes = []interface{}{
	(Delta)(0),                             // 0: sysl.Delta
	(Endpoint_RestParams_Method)(0),        // 1: sysl.Endpoint.RestParams.Method
	(Loop_Mode)(0),                         // 2: sysl.Loop.Mode
	(Type_Primitive)(0),                    // 3: sysl.Type.Primitive
	(Expr_UnExpr_Op)(0),                    // 4: sysl.Expr.UnExpr.Op
	(Expr_BinExpr_Op)(0),                   // 5: sysl.Expr.BinExpr.Op
	(Expr_RelExpr_Op)(0),                   // 6: sysl.Expr.RelExpr.Op
	(*SourceContext)(nil),                  // 7: sysl.SourceContext
	(*Module)(nil),                         // 8: sysl.Module
	(*Import)(nil),                         // 9: sysl.Import
	(*Attribute)(nil),                      // 10: sysl.Attribute
	(*AppName)(nil),                        // 11: sysl.AppName
	(*Application)(nil),                    // 12: sysl.Application
	(*Endpoint)(nil),                       // 13: sysl.Endpoint
	(*Param)(nil),                          // 14: sysl.Param
	(*Statement)(nil),                      // 15: sysl.Statement
	(*Action)(nil),                         // 16: sysl.Action
	(*Call)(nil),                           // 17: sysl.Call
	(*Cond)(nil),                           // 18: sysl.Cond
	(*Loop)(nil),                           // 19: sysl.Loop
	(*LoopN)(nil),                          // 20: sysl.LoopN
	(*Foreach)(nil),                        // 21: sysl.Foreach
	(*Alt)(nil),                            // 22: sysl.Alt
	(*Group)(nil),                          // 23: sysl.Group
	(*Return)(nil),                         // 24: sysl.Return
	(*Type)(nil),                           // 25: sysl.Type
	(*View)(nil),                           // 26: sysl.View
	(*Expr)(nil),                           // 27: sysl.Expr
	(*Value)(nil),                          // 28: sysl.Value
	(*ScopedRef)(nil),                      // 29: sysl.ScopedRef
	(*Scope)(nil),                          // 30: sysl.Scope
	(*SourceContext_Location)(nil),         // 31: sysl.SourceContext.Location
	nil,                                    // 32: sysl.Module.AppsEntry
	(*Attribute_Array)(nil),                // 33: sysl.Attribute.Array
	nil,                                    // 34: sysl.Application.AttrsEntry
	nil,                                    // 35: sysl.Application.EndpointsEntry
	nil,                                    // 36: sysl.Application.TypesEntry
	nil,                                    // 37: sysl.Application.ViewsEntry
	nil,                                    // 38: sysl.Endpoint.AttrsEntry
	(*Endpoint_RestParams)(nil),            // 39: sysl.Endpoint.RestParams
	(*Endpoint_RestParams_QueryParam)(nil), // 40: sysl.Endpoint.RestParams.QueryParam
	nil,                                    // 41: sysl.Statement.AttrsEntry
	(*Call_Arg)(nil),                       // 42: sysl.Call.Arg
	nil,                                    // 43: sysl.Call.DONOTUSEAttrsEntry
	(*Alt_Choice)(nil),                     // 44: sysl.Alt.Choice
	nil,                                    // 45: sysl.Type.AttrsEntry
	(*Type_Enum)(nil),                      // 46: sysl.Type.Enum
	(*Type_Tuple)(nil),                     // 47: sysl.Type.Tuple
	(*Type_List)(nil),                      // 48: sysl.Type.List
	(*Type_Map)(nil),                       // 49: sysl.Type.Map
	(*Type_OneOf)(nil),                     // 50: sysl.Type.OneOf
	(*Type_Relation)(nil),                  // 51: sysl.Type.Relation
	(*Type_Foreign)(nil),                   // 52: sysl.Type.Foreign
	(*Type_Constraint)(nil),                // 53: sysl.Type.Constraint
	(*Type_NoType)(nil),                    // 54: sysl.Type.NoType
	nil,                                    // 55: sysl.Type.Enum.ItemsEntry
	nil,                                    // 56: sysl.Type.Tuple.AttrDefsEntry
	nil,                                    // 57: sysl.Type.Tuple.FUTUREFieldsEntry
	(*Type_Tuple_Field)(nil),               // 58: sysl.Type.Tuple.Field
	nil,                                    // 59: sysl.Type.Relation.AttrDefsEntry
	(*Type_Relation_Key)(nil),              // 60: sysl.Type.Relation.Key
	(*Type_Constraint_Range)(nil),          // 61: sysl.Type.Constraint.Range
	(*Type_Constraint_Length)(nil),         // 62: sysl.Type.Constraint.Length
	(*Type_Constraint_Resolution)(nil),     // 63: sysl.Type.Constraint.Resolution
	nil,                                    // 64: sysl.View.ViewsEntry
	nil,                                    // 65: sysl.View.AttrsEntry
	(*Expr_GetAttr)(nil),                   // 66: sysl.Expr.GetAttr
	(*Expr_Navigate)(nil),                  // 67: sysl.Expr.Navigate
	(*Expr_List)(nil),                      // 68: sysl.Expr.List
	(*Expr_Transform)(nil),                 // 69: sysl.Expr.Transform
	(*Expr_IfElse)(nil),                    // 70: sysl.Expr.IfElse
	(*Expr_Call)(nil),                      // 71: sysl.Expr.Call
	(*Expr_UnExpr)(nil),                    // 72: sysl.Expr.UnExpr
	(*Expr_BinExpr)(nil),                   // 73: sysl.Expr.BinExpr
	(*Expr_RelExpr)(nil),                   // 74: sysl.Expr.RelExpr
	(*Expr_Tuple)(nil),                     // 75: sysl.Expr.Tuple
	(*Expr_Transform_Stmt)(nil),            // 76: sysl.Expr.Transform.Stmt
	(*Expr_Transform_Stmt_Assign)(nil),     // 77: sysl.Expr.Transform.Stmt.Assign
	nil,                                    // 78: sysl.Expr.Tuple.AttrsEntry
	(*Value_List)(nil),                     // 79: sysl.Value.List
	(*Value_Map)(nil),                      // 80: sysl.Value.Map
	(*Value_Null)(nil),                     // 81: sysl.Value.Null
	nil,                                    // 82: sysl.Value.Map.ItemsEntry
}
var file_sysl_proto_depIdxs = []int32{
	31,  // 0: sysl.SourceContext.start:type_name -> sysl.SourceContext.Location
	31,  // 1: sysl.SourceContext.end:type_name -> sysl.SourceContext.Location
	0,   // 2: sysl.SourceContext.delta:type_name -> sysl.Delta
	32,  // 3: sysl.Module.apps:type_name -> sysl.Module.AppsEntry
	9,   // 4: sysl.Module.imports:type_name -> sysl.Import
	7,   // 5: sysl.Module.source_context:type_name -> sysl.SourceContext
	7,   // 6: sysl.Module.source_contexts:type_name -> sysl.SourceContext
	11,  // 7: sysl.Import.name:type_name -> sysl.AppName
	7,   // 8: sysl.Import.source_context:type_name -> sysl.SourceContext
	33,  // 9: sysl.Attribute.a:type_name -> sysl.Attribute.Array
	7,   // 10: sysl.Attribute.source_context:type_name -> sysl.SourceContext
	7,   // 11: sysl.Attribute.source_contexts:type_name -> sysl.SourceContext
	11,  // 12: sysl.Application.name:type_name -> sysl.AppName
	34,  // 13: sysl.Application.attrs:type_name -> sysl.Application.AttrsEntry
	35,  // 14: sysl.Application.endpoints:type_name -> sysl.Application.EndpointsEntry
	36,  // 15: sysl.Application.types:type_name -> sysl.Application.TypesEntry
	37,  // 16: sysl.Application.views:type_name -> sysl.Application.ViewsEntry
	12,  // 17: sysl.Application.mixin2:type_name -> sysl.Application
	12,  // 18: sysl.Application.wrapped:type_name -> sysl.Application
	7,   // 19: sysl.Application.source_context:type_name -> sysl.SourceContext
	7,   // 20: sysl.Application.source_contexts:type_name -> sysl.SourceContext
	11,  // 21: sysl.Application.DONOTUSE_mixin:type_name -> sysl.AppName
	38,  // 22: sysl.Endpoint.attrs:type_name -> sysl.Endpoint.AttrsEntry
	11,  // 23: sysl.Endpoint.source:type_name -> sysl.AppName
	14,  // 24: sysl.Endpoint.param:type_name -> sysl.Param
	15,  // 25: sysl.Endpoint.stmt:type_name -> sysl.Statement
	39,  // 26: sysl.Endpoint.rest_params:type_name -> sysl.Endpoint.RestParams
	7,   // 27: sysl.Endpoint.source_context:type_name -> sysl.SourceContext
	7,   // 28: sysl.Endpoint.source_contexts:type_name -> sysl.SourceContext
	25,  // 29: sysl.Param.type:type_name -> sysl.Type
	16,  // 30: sysl.Statement.action:type_name -> sysl.Action
	17,  // 31: sysl.Statement.call:type_name -> sysl.Call
	18,  // 32: sysl.Statement.cond:type_name -> sysl.Cond
	19,  // 33: sysl.Statement.loop:type_name -> sysl.Loop
	20,  // 34: sysl.Statement.loop_n:type_name -> sysl.LoopN
	21,  // 35: sysl.Statement.foreach:type_name -> sysl.Foreach
	22,  // 36: sysl.Statement.alt:type_name -> sysl.Alt
	23,  // 37: sysl.Statement.group:type_name -> sysl.Group
	24,  // 38: sysl.Statement.ret:type_name -> sysl.Return
	41,  // 39: sysl.Statement.attrs:type_name -> sysl.Statement.AttrsEntry
	7,   // 40: sysl.Statement.source_context:type_name -> sysl.SourceContext
	7,   // 41: sysl.Statement.source_contexts:type_name -> sysl.SourceContext
	11,  // 42: sysl.Call.target:type_name -> sysl.AppName
	42,  // 43: sysl.Call.arg:type_name -> sysl.Call.Arg
	43,  // 44: sysl.Call.DONOTUSE_attrs:type_name -> sysl.Call.DONOTUSEAttrsEntry
	15,  // 45: sysl.Cond.stmt:type_name -> sysl.Statement
	2,   // 46: sysl.Loop.mode:type_name -> sysl.Loop.Mode
	15,  // 47: sysl.Loop.stmt:type_name -> sysl.Statement
	15,  // 48: sysl.LoopN.stmt:type_name -> sysl.Statement
	15,  // 49: sysl.Foreach.stmt:type_name -> sysl.Statement
	44,  // 50: sysl.Alt.choice:type_name -> sysl.Alt.Choice
	15,  // 51: sysl.Group.stmt:type_name -> sysl.Statement
	3,   // 52: sysl.Type.primitive:type_name -> sysl.Type.Primitive
	46,  // 53: sysl.Type.enum:type_name -> sysl.Type.Enum
	47,  // 54: sysl.Type.tuple:type_name -> sysl.Type.Tuple
	48,  // 55: sysl.Type.list:type_name -> sysl.Type.List
	49,  // 56: sysl.Type.map:type_name -> sysl.Type.Map
	50,  // 57: sysl.Type.one_of:type_name -> sysl.Type.OneOf
	51,  // 58: sysl.Type.relation:type_name -> sysl.Type.Relation
	29,  // 59: sysl.Type.type_ref:type_name -> sysl.ScopedRef
	25,  // 60: sysl.Type.set:type_name -> sysl.Type
	25,  // 61: sysl.Type.sequence:type_name -> sysl.Type
	54,  // 62: sysl.Type.no_type:type_name -> sysl.Type.NoType
	45,  // 63: sysl.Type.attrs:type_name -> sysl.Type.AttrsEntry
	53,  // 64: sysl.Type.constraint:type_name -> sysl.Type.Constraint
	7,   // 65: sysl.Type.source_context:type_name -> sysl.SourceContext
	7,   // 66: sysl.Type.source_contexts:type_name -> sysl.SourceContext
	14,  // 67: sysl.View.param:type_name -> sysl.Param
	25,  // 68: sysl.View.ret_type:type_name -> sysl.Type
	27,  // 69: sysl.View.expr:type_name -> sysl.Expr
	64,  // 70: sysl.View.views:type_name -> sysl.View.ViewsEntry
	65,  // 71: sysl.View.attrs:type_name -> sysl.View.AttrsEntry
	7,   // 72: sysl.View.source_context:type_name -> sysl.SourceContext
	7,   // 73: sysl.View.source_contexts:type_name -> sysl.SourceContext
	28,  // 74: sysl.Expr.literal:type_name -> sysl.Value
	66,  // 75: sysl.Expr.get_attr:type_name -> sysl.Expr.GetAttr
	69,  // 76: sysl.Expr.transform:type_name -> sysl.Expr.Transform
	70,  // 77: sysl.Expr.ifelse:type_name -> sysl.Expr.IfElse
	71,  // 78: sysl.Expr.call:type_name -> sysl.Expr.Call
	72,  // 79: sysl.Expr.unexpr:type_name -> sysl.Expr.UnExpr
	73,  // 80: sysl.Expr.binexpr:type_name -> sysl.Expr.BinExpr
	74,  // 81: sysl.Expr.relexpr:type_name -> sysl.Expr.RelExpr
	67,  // 82: sysl.Expr.navigate:type_name -> sysl.Expr.Navigate
	68,  // 83: sysl.Expr.list:type_name -> sysl.Expr.List
	68,  // 84: sysl.Expr.set:type_name -> sysl.Expr.List
	75,  // 85: sysl.Expr.tuple:type_name -> sysl.Expr.Tuple
	25,  // 86: sysl.Expr.type:type_name -> sysl.Type
	7,   // 87: sysl.Expr.source_context:type_name -> sysl.SourceContext
	7,   // 88: sysl.Expr.source_contexts:type_name -> sysl.SourceContext
	79,  // 89: sysl.Value.list:type_name -> sysl.Value.List
	80,  // 90: sysl.Value.map:type_name -> sysl.Value.Map
	79,  // 91: sysl.Value.set:type_name -> sysl.Value.List
	81,  // 92: sysl.Value.null:type_name -> sysl.Value.Null
	30,  // 93: sysl.ScopedRef.context:type_name -> sysl.Scope
	30,  // 94: sysl.ScopedRef.ref:type_name -> sysl.Scope
	11,  // 95: sysl.Scope.appname:type_name -> sysl.AppName
	12,  // 96: sysl.Module.AppsEntry.value:type_name -> sysl.Application
	10,  // 97: sysl.Attribute.Array.elt:type_name -> sysl.Attribute
	10,  // 98: sysl.Application.AttrsEntry.value:type_name -> sysl.Attribute
	13,  // 99: sysl.Application.EndpointsEntry.value:type_name -> sysl.Endpoint
	25,  // 100: sysl.Application.TypesEntry.value:type_name -> sysl.Type
	26,  // 101: sysl.Application.ViewsEntry.value:type_name -> sysl.View
	10,  // 102: sysl.Endpoint.AttrsEntry.value:type_name -> sysl.Attribute
	1,   // 103: sysl.Endpoint.RestParams.method:type_name -> sysl.Endpoint.RestParams.Method
	40,  // 104: sysl.Endpoint.RestParams.query_param:type_name -> sysl.Endpoint.RestParams.QueryParam
	40,  // 105: sysl.Endpoint.RestParams.url_param:type_name -> sysl.Endpoint.RestParams.QueryParam
	25,  // 106: sysl.Endpoint.RestParams.QueryParam.type:type_name -> sysl.Type
	10,  // 107: sysl.Statement.AttrsEntry.value:type_name -> sysl.Attribute
	28,  // 108: sysl.Call.Arg.value:type_name -> sysl.Value
	25,  // 109: sysl.Call.Arg.DONOTUSE_type:type_name -> sysl.Type
	10,  // 110: sysl.Call.DONOTUSEAttrsEntry.value:type_name -> sysl.Attribute
	15,  // 111: sysl.Alt.Choice.stmt:type_name -> sysl.Statement
	10,  // 112: sysl.Type.AttrsEntry.value:type_name -> sysl.Attribute
	55,  // 113: sysl.Type.Enum.items:type_name -> sysl.Type.Enum.ItemsEntry
	56,  // 114: sysl.Type.Tuple.attr_defs:type_name -> sysl.Type.Tuple.AttrDefsEntry
	57,  // 115: sysl.Type.Tuple.FUTURE_fields:type_name -> sysl.Type.Tuple.FUTUREFieldsEntry
	25,  // 116: sysl.Type.List.type:type_name -> sysl.Type
	25,  // 117: sysl.Type.Map.key:type_name -> sysl.Type
	25,  // 118: sysl.Type.Map.value:type_name -> sysl.Type
	25,  // 119: sysl.Type.OneOf.type:type_name -> sysl.Type
	59,  // 120: sysl.Type.Relation.attr_defs:type_name -> sysl.Type.Relation.AttrDefsEntry
	60,  // 121: sysl.Type.Relation.primary_key:type_name -> sysl.Type.Relation.Key
	60,  // 122: sysl.Type.Relation.key:type_name -> sysl.Type.Relation.Key
	11,  // 123: sysl.Type.Foreign.app:type_name -> sysl.AppName
	61,  // 124: sysl.Type.Constraint.range:type_name -> sysl.Type.Constraint.Range
	62,  // 125: sysl.Type.Constraint.length:type_name -> sysl.Type.Constraint.Length
	63,  // 126: sysl.Type.Constraint.resolution:type_name -> sysl.Type.Constraint.Resolution
	25,  // 127: sysl.Type.Tuple.AttrDefsEntry.value:type_name -> sysl.Type
	58,  // 128: sysl.Type.Tuple.FUTUREFieldsEntry.value:type_name -> sysl.Type.Tuple.Field
	25,  // 129: sysl.Type.Tuple.Field.type:type_name -> sysl.Type
	25,  // 130: sysl.Type.Relation.AttrDefsEntry.value:type_name -> sysl.Type
	28,  // 131: sysl.Type.Constraint.Range.min:type_name -> sysl.Value
	28,  // 132: sysl.Type.Constraint.Range.max:type_name -> sysl.Value
	26,  // 133: sysl.View.ViewsEntry.value:type_name -> sysl.View
	10,  // 134: sysl.View.AttrsEntry.value:type_name -> sysl.Attribute
	27,  // 135: sysl.Expr.GetAttr.arg:type_name -> sysl.Expr
	27,  // 136: sysl.Expr.Navigate.arg:type_name -> sysl.Expr
	27,  // 137: sysl.Expr.List.expr:type_name -> sysl.Expr
	27,  // 138: sysl.Expr.Transform.arg:type_name -> sysl.Expr
	76,  // 139: sysl.Expr.Transform.stmt:type_name -> sysl.Expr.Transform.Stmt
	27,  // 140: sysl.Expr.IfElse.cond:type_name -> sysl.Expr
	27,  // 141: sysl.Expr.IfElse.if_true:type_name -> sysl.Expr
	27,  // 142: sysl.Expr.IfElse.if_false:type_name -> sysl.Expr
	27,  // 143: sysl.Expr.Call.arg:type_name -> sysl.Expr
	4,   // 144: sysl.Expr.UnExpr.op:type_name -> sysl.Expr.UnExpr.Op
	27,  // 145: sysl.Expr.UnExpr.arg:type_name -> sysl.Expr
	5,   // 146: sysl.Expr.BinExpr.op:type_name -> sysl.Expr.BinExpr.Op
	27,  // 147: sysl.Expr.BinExpr.lhs:type_name -> sysl.Expr
	27,  // 148: sysl.Expr.BinExpr.rhs:type_name -> sysl.Expr
	6,   // 149: sysl.Expr.RelExpr.op:type_name -> sysl.Expr.RelExpr.Op
	27,  // 150: sysl.Expr.RelExpr.target:type_name -> sysl.Expr
	27,  // 151: sysl.Expr.RelExpr.arg:type_name -> sysl.Expr
	78,  // 152: sysl.Expr.Tuple.attrs:type_name -> sysl.Expr.Tuple.AttrsEntry
	77,  // 153: sysl.Expr.Transform.Stmt.assign:type_name -> sysl.Expr.Transform.Stmt.Assign
	77,  // 154: sysl.Expr.Transform.Stmt.let:type_name -> sysl.Expr.Transform.Stmt.Assign
	27,  // 155: sysl.Expr.Transform.Stmt.inject:type_name -> sysl.Expr
	27,  // 156: sysl.Expr.Transform.Stmt.Assign.expr:type_name -> sysl.Expr
	27,  // 157: sysl.Expr.Tuple.AttrsEntry.value:type_name -> sysl.Expr
	28,  // 158: sysl.Value.List.value:type_name -> sysl.Value
	82,  // 159: sysl.Value.Map.items:type_name -> sysl.Value.Map.ItemsEntry
	28,  // 160: sysl.Value.Map.ItemsEntry.value:type_name -> sysl.Value
	161, // [161:161] is the sub-list for method output_type
	161, // [161:161] is the sub-list for method input_type
	161, // [161:161] is the sub-list for extension type_name
	161, // [161:161] is the sub-list for extension extendee
	0,   // [0:161] is the sub-list for field type_name
}

func init() { file_sysl_proto_init() }
func file_sysl_proto_init() {
	if File_sysl_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_sysl_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceContext); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Module); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Import); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Attribute); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppName); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Application); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Endpoint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Param); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Statement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Action); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Cond); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Loop); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoopN); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Foreach); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Alt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Group); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Return); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*View); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Value); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScopedRef); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Scope); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceContext_Location); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Attribute_Array); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Endpoint_RestParams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Endpoint_RestParams_QueryParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Arg); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Alt_Choice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Enum); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Tuple); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_List); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Map); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_OneOf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Relation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Foreign); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Constraint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_NoType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Tuple_Field); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Relation_Key); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Constraint_Range); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Constraint_Length); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type_Constraint_Resolution); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_GetAttr); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Navigate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_List); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Transform); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_IfElse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Call); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_UnExpr); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_BinExpr); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_RelExpr); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Tuple); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Transform_Stmt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Expr_Transform_Stmt_Assign); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Value_List); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Value_Map); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sysl_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Value_Null); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_sysl_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*Attribute_S)(nil),
		(*Attribute_I)(nil),
		(*Attribute_N)(nil),
		(*Attribute_A)(nil),
	}
	file_sysl_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*Statement_Action)(nil),
		(*Statement_Call)(nil),
		(*Statement_Cond)(nil),
		(*Statement_Loop)(nil),
		(*Statement_LoopN)(nil),
		(*Statement_Foreach)(nil),
		(*Statement_Alt)(nil),
		(*Statement_Group)(nil),
		(*Statement_Ret)(nil),
	}
	file_sysl_proto_msgTypes[18].OneofWrappers = []interface{}{
		(*Type_Primitive_)(nil),
		(*Type_Enum_)(nil),
		(*Type_Tuple_)(nil),
		(*Type_List_)(nil),
		(*Type_Map_)(nil),
		(*Type_OneOf_)(nil),
		(*Type_Relation_)(nil),
		(*Type_TypeRef)(nil),
		(*Type_Set)(nil),
		(*Type_Sequence)(nil),
		(*Type_NoType_)(nil),
	}
	file_sysl_proto_msgTypes[20].OneofWrappers = []interface{}{
		(*Expr_Name)(nil),
		(*Expr_Literal)(nil),
		(*Expr_GetAttr_)(nil),
		(*Expr_Transform_)(nil),
		(*Expr_Ifelse)(nil),
		(*Expr_Call_)(nil),
		(*Expr_Unexpr)(nil),
		(*Expr_Binexpr)(nil),
		(*Expr_Relexpr)(nil),
		(*Expr_Navigate_)(nil),
		(*Expr_List_)(nil),
		(*Expr_Set)(nil),
		(*Expr_Tuple_)(nil),
	}
	file_sysl_proto_msgTypes[21].OneofWrappers = []interface{}{
		(*Value_B)(nil),
		(*Value_I)(nil),
		(*Value_D)(nil),
		(*Value_S)(nil),
		(*Value_Decimal)(nil),
		(*Value_Data)(nil),
		(*Value_Enum)(nil),
		(*Value_List_)(nil),
		(*Value_Map_)(nil),
		(*Value_Set)(nil),
		(*Value_Null_)(nil),
		(*Value_Uuid)(nil),
	}
	file_sysl_proto_msgTypes[69].OneofWrappers = []interface{}{
		(*Expr_Transform_Stmt_Assign_)(nil),
		(*Expr_Transform_Stmt_Let)(nil),
		(*Expr_Transform_Stmt_Inject)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_sysl_proto_rawDesc,
			NumEnums:      7,
			NumMessages:   76,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_sysl_proto_goTypes,
		DependencyIndexes: file_sysl_proto_depIdxs,
		EnumInfos:         file_sysl_proto_enumTypes,
		MessageInfos:      file_sysl_proto_msgTypes,
	}.Build()
	File_sysl_proto = out.File
	file_sysl_proto_rawDesc = nil
	file_sysl_proto_goTypes = nil
	file_sysl_proto_depIdxs = nil
}
