// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        v6.32.1
// source: main.proto

package proto

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type PingReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingReq) Reset() {
	*x = PingReq{}
	mi := &file_main_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PingReq) ProtoMessage() {}

func (x *PingReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PingReq.ProtoReflect.Descriptor instead.
func (*PingReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{0}
}

type PingRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingRsp) Reset() {
	*x = PingRsp{}
	mi := &file_main_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PingRsp) ProtoMessage() {}

func (x *PingRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PingRsp.ProtoReflect.Descriptor instead.
func (*PingRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{1}
}

type AddTeamsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Teams         []*Team                `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddTeamsReq) Reset() {
	*x = AddTeamsReq{}
	mi := &file_main_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddTeamsReq) ProtoMessage() {}

func (x *AddTeamsReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddTeamsReq.ProtoReflect.Descriptor instead.
func (*AddTeamsReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{2}
}

func (x *AddTeamsReq) GetTeams() []*Team {
	if x != nil {
		return x.Teams
	}
	return nil
}

type Team struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Team) Reset() {
	*x = Team{}
	mi := &file_main_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Team) ProtoMessage() {}

func (x *Team) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Team.ProtoReflect.Descriptor instead.
func (*Team) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{3}
}

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

type AddTeamsRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Teams         []*TeamFull            `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddTeamsRsp) Reset() {
	*x = AddTeamsRsp{}
	mi := &file_main_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddTeamsRsp) ProtoMessage() {}

func (x *AddTeamsRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddTeamsRsp.ProtoReflect.Descriptor instead.
func (*AddTeamsRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{4}
}

func (x *AddTeamsRsp) GetTeams() []*TeamFull {
	if x != nil {
		return x.Teams
	}
	return nil
}

type TeamFull struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TeamFull) Reset() {
	*x = TeamFull{}
	mi := &file_main_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TeamFull) ProtoMessage() {}

func (x *TeamFull) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TeamFull.ProtoReflect.Descriptor instead.
func (*TeamFull) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{5}
}

func (x *TeamFull) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *TeamFull) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

type GetTeamsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamsReq) Reset() {
	*x = GetTeamsReq{}
	mi := &file_main_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamsReq) ProtoMessage() {}

func (x *GetTeamsReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamsReq.ProtoReflect.Descriptor instead.
func (*GetTeamsReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{6}
}

type GetTeamsRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Teams         []*TeamAdvanced        `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamsRsp) Reset() {
	*x = GetTeamsRsp{}
	mi := &file_main_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamsRsp) ProtoMessage() {}

func (x *GetTeamsRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamsRsp.ProtoReflect.Descriptor instead.
func (*GetTeamsRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{7}
}

func (x *GetTeamsRsp) GetTeams() []*TeamAdvanced {
	if x != nil {
		return x.Teams
	}
	return nil
}

type GetTeamsCSVReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamsCSVReq) Reset() {
	*x = GetTeamsCSVReq{}
	mi := &file_main_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamsCSVReq) ProtoMessage() {}

func (x *GetTeamsCSVReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamsCSVReq.ProtoReflect.Descriptor instead.
func (*GetTeamsCSVReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{8}
}

type GetTeamsCSVRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          string                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamsCSVRsp) Reset() {
	*x = GetTeamsCSVRsp{}
	mi := &file_main_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamsCSVRsp) ProtoMessage() {}

func (x *GetTeamsCSVRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamsCSVRsp.ProtoReflect.Descriptor instead.
func (*GetTeamsCSVRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{9}
}

func (x *GetTeamsCSVRsp) GetData() string {
	if x != nil {
		return x.Data
	}
	return ""
}

type TeamAdvanced struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Url           string                 `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	SpendTime     int64                  `protobuf:"varint,5,opt,name=spendTime,proto3" json:"spendTime,omitempty"`
	Applications  []*Application         `protobuf:"bytes,6,rep,name=applications,proto3" json:"applications,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TeamAdvanced) Reset() {
	*x = TeamAdvanced{}
	mi := &file_main_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TeamAdvanced) ProtoMessage() {}

func (x *TeamAdvanced) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TeamAdvanced.ProtoReflect.Descriptor instead.
func (*TeamAdvanced) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{10}
}

func (x *TeamAdvanced) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *TeamAdvanced) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *TeamAdvanced) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *TeamAdvanced) GetSpendTime() int64 {
	if x != nil {
		return x.SpendTime
	}
	return 0
}

func (x *TeamAdvanced) GetApplications() []*Application {
	if x != nil {
		return x.Applications
	}
	return nil
}

type Application struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	State         string                 `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
	Number        string                 `protobuf:"bytes,4,opt,name=number,proto3" json:"number,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Application) Reset() {
	*x = Application{}
	mi := &file_main_proto_msgTypes[11]
	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_main_proto_msgTypes[11]
	if 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_main_proto_rawDescGZIP(), []int{11}
}

func (x *Application) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

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

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

type Door struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          string                 `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Show          bool                   `protobuf:"varint,3,opt,name=show,proto3" json:"show,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Door) Reset() {
	*x = Door{}
	mi := &file_main_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Door) ProtoMessage() {}

func (x *Door) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Door.ProtoReflect.Descriptor instead.
func (*Door) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{12}
}

func (x *Door) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

func (x *Door) GetShow() bool {
	if x != nil {
		return x.Show
	}
	return false
}

type GetTeamReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamReq) Reset() {
	*x = GetTeamReq{}
	mi := &file_main_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamReq) ProtoMessage() {}

func (x *GetTeamReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamReq.ProtoReflect.Descriptor instead.
func (*GetTeamReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{13}
}

type GetTeamRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Actions       []*Action              `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamRsp) Reset() {
	*x = GetTeamRsp{}
	mi := &file_main_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetTeamRsp) ProtoMessage() {}

func (x *GetTeamRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTeamRsp.ProtoReflect.Descriptor instead.
func (*GetTeamRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{14}
}

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

func (x *GetTeamRsp) GetActions() []*Action {
	if x != nil {
		return x.Actions
	}
	return nil
}

type AddActionReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Place         string                 `protobuf:"bytes,1,opt,name=place,proto3" json:"place,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddActionReq) Reset() {
	*x = AddActionReq{}
	mi := &file_main_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddActionReq) ProtoMessage() {}

func (x *AddActionReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddActionReq.ProtoReflect.Descriptor instead.
func (*AddActionReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{15}
}

func (x *AddActionReq) GetPlace() string {
	if x != nil {
		return x.Place
	}
	return ""
}

type AddActionRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddActionRsp) Reset() {
	*x = AddActionRsp{}
	mi := &file_main_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddActionRsp) ProtoMessage() {}

func (x *AddActionRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddActionRsp.ProtoReflect.Descriptor instead.
func (*AddActionRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{16}
}

type Action struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Place         string                 `protobuf:"bytes,2,opt,name=place,proto3" json:"place,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Text          string                 `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"`
	Image         string                 `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"`
	Applications  []*Application         `protobuf:"bytes,6,rep,name=applications,proto3" json:"applications,omitempty"`
	Hidden        bool                   `protobuf:"varint,7,opt,name=hidden,proto3" json:"hidden,omitempty"`
	Doors         []*Door                `protobuf:"bytes,8,rep,name=doors,proto3" json:"doors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Action) Reset() {
	*x = Action{}
	mi := &file_main_proto_msgTypes[17]
	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_main_proto_msgTypes[17]
	if 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_main_proto_rawDescGZIP(), []int{17}
}

func (x *Action) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

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

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

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

func (x *Action) GetApplications() []*Application {
	if x != nil {
		return x.Applications
	}
	return nil
}

func (x *Action) GetHidden() bool {
	if x != nil {
		return x.Hidden
	}
	return false
}

func (x *Action) GetDoors() []*Door {
	if x != nil {
		return x.Doors
	}
	return nil
}

type GetGameReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGameReq) Reset() {
	*x = GetGameReq{}
	mi := &file_main_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetGameReq) ProtoMessage() {}

func (x *GetGameReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGameReq.ProtoReflect.Descriptor instead.
func (*GetGameReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{18}
}

type GetGameRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	State         string                 `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	StartAt       string                 `protobuf:"bytes,2,opt,name=startAt,proto3" json:"startAt,omitempty"`
	EndAt         string                 `protobuf:"bytes,3,opt,name=endAt,proto3" json:"endAt,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGameRsp) Reset() {
	*x = GetGameRsp{}
	mi := &file_main_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetGameRsp) ProtoMessage() {}

func (x *GetGameRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGameRsp.ProtoReflect.Descriptor instead.
func (*GetGameRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{19}
}

func (x *GetGameRsp) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *GetGameRsp) GetStartAt() string {
	if x != nil {
		return x.StartAt
	}
	return ""
}

func (x *GetGameRsp) GetEndAt() string {
	if x != nil {
		return x.EndAt
	}
	return ""
}

type GameStartReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GameStartReq) Reset() {
	*x = GameStartReq{}
	mi := &file_main_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GameStartReq) ProtoMessage() {}

func (x *GameStartReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GameStartReq.ProtoReflect.Descriptor instead.
func (*GameStartReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{20}
}

type GameStartRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GameStartRsp) Reset() {
	*x = GameStartRsp{}
	mi := &file_main_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GameStartRsp) ProtoMessage() {}

func (x *GameStartRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GameStartRsp.ProtoReflect.Descriptor instead.
func (*GameStartRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{21}
}

type GameStopReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TimeSeconds   int64                  `protobuf:"varint,1,opt,name=timeSeconds,proto3" json:"timeSeconds,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GameStopReq) Reset() {
	*x = GameStopReq{}
	mi := &file_main_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GameStopReq) ProtoMessage() {}

func (x *GameStopReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GameStopReq.ProtoReflect.Descriptor instead.
func (*GameStopReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{22}
}

func (x *GameStopReq) GetTimeSeconds() int64 {
	if x != nil {
		return x.TimeSeconds
	}
	return 0
}

type GameStopRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GameStopRsp) Reset() {
	*x = GameStopRsp{}
	mi := &file_main_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GameStopRsp) ProtoMessage() {}

func (x *GameStopRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GameStopRsp.ProtoReflect.Descriptor instead.
func (*GameStopRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{23}
}

type GiveApplicationsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TeamId        int64                  `protobuf:"varint,1,opt,name=teamId,proto3" json:"teamId,omitempty"`
	Applications  []*Application         `protobuf:"bytes,2,rep,name=applications,proto3" json:"applications,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GiveApplicationsReq) Reset() {
	*x = GiveApplicationsReq{}
	mi := &file_main_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GiveApplicationsReq) ProtoMessage() {}

func (x *GiveApplicationsReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GiveApplicationsReq.ProtoReflect.Descriptor instead.
func (*GiveApplicationsReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{24}
}

func (x *GiveApplicationsReq) GetTeamId() int64 {
	if x != nil {
		return x.TeamId
	}
	return 0
}

func (x *GiveApplicationsReq) GetApplications() []*Application {
	if x != nil {
		return x.Applications
	}
	return nil
}

type GiveApplicationsRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GiveApplicationsRsp) Reset() {
	*x = GiveApplicationsRsp{}
	mi := &file_main_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GiveApplicationsRsp) ProtoMessage() {}

func (x *GiveApplicationsRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GiveApplicationsRsp.ProtoReflect.Descriptor instead.
func (*GiveApplicationsRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{25}
}

type DownloadTeamsQrCodesFileReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DownloadTeamsQrCodesFileReq) Reset() {
	*x = DownloadTeamsQrCodesFileReq{}
	mi := &file_main_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DownloadTeamsQrCodesFileReq) ProtoMessage() {}

func (x *DownloadTeamsQrCodesFileReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DownloadTeamsQrCodesFileReq.ProtoReflect.Descriptor instead.
func (*DownloadTeamsQrCodesFileReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{26}
}

type DownloadTeamsQrCodesFileRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Result        []byte                 `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DownloadTeamsQrCodesFileRsp) Reset() {
	*x = DownloadTeamsQrCodesFileRsp{}
	mi := &file_main_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DownloadTeamsQrCodesFileRsp) ProtoMessage() {}

func (x *DownloadTeamsQrCodesFileRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DownloadTeamsQrCodesFileRsp.ProtoReflect.Descriptor instead.
func (*DownloadTeamsQrCodesFileRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{27}
}

func (x *DownloadTeamsQrCodesFileRsp) GetResult() []byte {
	if x != nil {
		return x.Result
	}
	return nil
}

type GetGraphReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGraphReq) Reset() {
	*x = GetGraphReq{}
	mi := &file_main_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetGraphReq) ProtoMessage() {}

func (x *GetGraphReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGraphReq.ProtoReflect.Descriptor instead.
func (*GetGraphReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{28}
}

type GetGraphRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Nodes         []*GraphNode           `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Edges         []*GetGraphRsp_Edge    `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"`
	CountNodes    int32                  `protobuf:"varint,3,opt,name=countNodes,proto3" json:"countNodes,omitempty"`
	CountEdges    int32                  `protobuf:"varint,4,opt,name=countEdges,proto3" json:"countEdges,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGraphRsp) Reset() {
	*x = GetGraphRsp{}
	mi := &file_main_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetGraphRsp) ProtoMessage() {}

func (x *GetGraphRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGraphRsp.ProtoReflect.Descriptor instead.
func (*GetGraphRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{29}
}

func (x *GetGraphRsp) GetNodes() []*GraphNode {
	if x != nil {
		return x.Nodes
	}
	return nil
}

func (x *GetGraphRsp) GetEdges() []*GetGraphRsp_Edge {
	if x != nil {
		return x.Edges
	}
	return nil
}

func (x *GetGraphRsp) GetCountNodes() int32 {
	if x != nil {
		return x.CountNodes
	}
	return 0
}

func (x *GetGraphRsp) GetCountEdges() int32 {
	if x != nil {
		return x.CountEdges
	}
	return 0
}

type UpdateNodeReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          string                 `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Node          *GraphNode             `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateNodeReq) Reset() {
	*x = UpdateNodeReq{}
	mi := &file_main_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateNodeReq) ProtoMessage() {}

func (x *UpdateNodeReq) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeReq.ProtoReflect.Descriptor instead.
func (*UpdateNodeReq) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{30}
}

func (x *UpdateNodeReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *UpdateNodeReq) GetNode() *GraphNode {
	if x != nil {
		return x.Node
	}
	return nil
}

type UpdateNodeRsp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateNodeRsp) Reset() {
	*x = UpdateNodeRsp{}
	mi := &file_main_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateNodeRsp) ProtoMessage() {}

func (x *UpdateNodeRsp) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeRsp.ProtoReflect.Descriptor instead.
func (*UpdateNodeRsp) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{31}
}

type GraphNode struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          string                 `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Text          string                 `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
	Applications  []*GraphApplication    `protobuf:"bytes,4,rep,name=applications,proto3" json:"applications,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GraphNode) Reset() {
	*x = GraphNode{}
	mi := &file_main_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GraphNode) ProtoMessage() {}

func (x *GraphNode) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GraphNode.ProtoReflect.Descriptor instead.
func (*GraphNode) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{32}
}

func (x *GraphNode) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

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

func (x *GraphNode) GetApplications() []*GraphApplication {
	if x != nil {
		return x.Applications
	}
	return nil
}

type GraphApplication struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GraphApplication) Reset() {
	*x = GraphApplication{}
	mi := &file_main_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GraphApplication) ProtoMessage() {}

func (x *GraphApplication) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GraphApplication.ProtoReflect.Descriptor instead.
func (*GraphApplication) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{33}
}

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

type GetGraphRsp_Edge struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	From          string                 `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	To            string                 `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
	Arrows        string                 `protobuf:"bytes,3,opt,name=arrows,proto3" json:"arrows,omitempty"`
	Type          string                 `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGraphRsp_Edge) Reset() {
	*x = GetGraphRsp_Edge{}
	mi := &file_main_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetGraphRsp_Edge) ProtoMessage() {}

func (x *GetGraphRsp_Edge) ProtoReflect() protoreflect.Message {
	mi := &file_main_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGraphRsp_Edge.ProtoReflect.Descriptor instead.
func (*GetGraphRsp_Edge) Descriptor() ([]byte, []int) {
	return file_main_proto_rawDescGZIP(), []int{29, 0}
}

func (x *GetGraphRsp_Edge) GetFrom() string {
	if x != nil {
		return x.From
	}
	return ""
}

func (x *GetGraphRsp_Edge) GetTo() string {
	if x != nil {
		return x.To
	}
	return ""
}

func (x *GetGraphRsp_Edge) GetArrows() string {
	if x != nil {
		return x.Arrows
	}
	return ""
}

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

var File_main_proto protoreflect.FileDescriptor

const file_main_proto_rawDesc = "" +
	"\n" +
	"\n" +
	"main.proto\x12\x17crabs.evening_detective\x1a\x1cgoogle/api/annotations.proto\"\t\n" +
	"\aPingReq\"\t\n" +
	"\aPingRsp\"B\n" +
	"\vAddTeamsReq\x123\n" +
	"\x05teams\x18\x01 \x03(\v2\x1d.crabs.evening_detective.TeamR\x05teams\"\x1a\n" +
	"\x04Team\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"F\n" +
	"\vAddTeamsRsp\x127\n" +
	"\x05teams\x18\x01 \x03(\v2!.crabs.evening_detective.TeamFullR\x05teams\"J\n" +
	"\bTeamFull\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" +
	"\bpassword\x18\x03 \x01(\tR\bpassword\"\r\n" +
	"\vGetTeamsReq\"J\n" +
	"\vGetTeamsRsp\x12;\n" +
	"\x05teams\x18\x01 \x03(\v2%.crabs.evening_detective.TeamAdvancedR\x05teams\"\x10\n" +
	"\x0eGetTeamsCSVReq\"$\n" +
	"\x0eGetTeamsCSVRsp\x12\x12\n" +
	"\x04data\x18\x01 \x01(\tR\x04data\"\xc8\x01\n" +
	"\fTeamAdvanced\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" +
	"\bpassword\x18\x03 \x01(\tR\bpassword\x12\x10\n" +
	"\x03url\x18\x04 \x01(\tR\x03url\x12\x1c\n" +
	"\tspendTime\x18\x05 \x01(\x03R\tspendTime\x12H\n" +
	"\fapplications\x18\x06 \x03(\v2$.crabs.evening_detective.ApplicationR\fapplications\"_\n" +
	"\vApplication\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" +
	"\x05state\x18\x03 \x01(\tR\x05state\x12\x16\n" +
	"\x06number\x18\x04 \x01(\tR\x06number\"B\n" +
	"\x04Door\x12\x12\n" +
	"\x04code\x18\x01 \x01(\tR\x04code\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
	"\x04show\x18\x03 \x01(\bR\x04show\"\f\n" +
	"\n" +
	"GetTeamReq\"[\n" +
	"\n" +
	"GetTeamRsp\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x129\n" +
	"\aactions\x18\x02 \x03(\v2\x1f.crabs.evening_detective.ActionR\aactions\"$\n" +
	"\fAddActionReq\x12\x14\n" +
	"\x05place\x18\x01 \x01(\tR\x05place\"\x0e\n" +
	"\fAddActionRsp\"\x83\x02\n" +
	"\x06Action\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x14\n" +
	"\x05place\x18\x02 \x01(\tR\x05place\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" +
	"\x04text\x18\x04 \x01(\tR\x04text\x12\x14\n" +
	"\x05image\x18\x05 \x01(\tR\x05image\x12H\n" +
	"\fapplications\x18\x06 \x03(\v2$.crabs.evening_detective.ApplicationR\fapplications\x12\x16\n" +
	"\x06hidden\x18\a \x01(\bR\x06hidden\x123\n" +
	"\x05doors\x18\b \x03(\v2\x1d.crabs.evening_detective.DoorR\x05doors\"\f\n" +
	"\n" +
	"GetGameReq\"R\n" +
	"\n" +
	"GetGameRsp\x12\x14\n" +
	"\x05state\x18\x01 \x01(\tR\x05state\x12\x18\n" +
	"\astartAt\x18\x02 \x01(\tR\astartAt\x12\x14\n" +
	"\x05endAt\x18\x03 \x01(\tR\x05endAt\"\x0e\n" +
	"\fGameStartReq\"\x0e\n" +
	"\fGameStartRsp\"/\n" +
	"\vGameStopReq\x12 \n" +
	"\vtimeSeconds\x18\x01 \x01(\x03R\vtimeSeconds\"\r\n" +
	"\vGameStopRsp\"w\n" +
	"\x13GiveApplicationsReq\x12\x16\n" +
	"\x06teamId\x18\x01 \x01(\x03R\x06teamId\x12H\n" +
	"\fapplications\x18\x02 \x03(\v2$.crabs.evening_detective.ApplicationR\fapplications\"\x15\n" +
	"\x13GiveApplicationsRsp\"\x1d\n" +
	"\x1bDownloadTeamsQrCodesFileReq\"5\n" +
	"\x1bDownloadTeamsQrCodesFileRsp\x12\x16\n" +
	"\x06result\x18\x01 \x01(\fR\x06result\"\r\n" +
	"\vGetGraphReq\"\xa0\x02\n" +
	"\vGetGraphRsp\x128\n" +
	"\x05nodes\x18\x01 \x03(\v2\".crabs.evening_detective.GraphNodeR\x05nodes\x12?\n" +
	"\x05edges\x18\x02 \x03(\v2).crabs.evening_detective.GetGraphRsp.EdgeR\x05edges\x12\x1e\n" +
	"\n" +
	"countNodes\x18\x03 \x01(\x05R\n" +
	"countNodes\x12\x1e\n" +
	"\n" +
	"countEdges\x18\x04 \x01(\x05R\n" +
	"countEdges\x1aV\n" +
	"\x04Edge\x12\x12\n" +
	"\x04from\x18\x01 \x01(\tR\x04from\x12\x0e\n" +
	"\x02to\x18\x02 \x01(\tR\x02to\x12\x16\n" +
	"\x06arrows\x18\x03 \x01(\tR\x06arrows\x12\x12\n" +
	"\x04type\x18\x04 \x01(\tR\x04type\"[\n" +
	"\rUpdateNodeReq\x12\x12\n" +
	"\x04code\x18\x01 \x01(\tR\x04code\x126\n" +
	"\x04node\x18\x02 \x01(\v2\".crabs.evening_detective.GraphNodeR\x04node\"\x0f\n" +
	"\rUpdateNodeRsp\"\x96\x01\n" +
	"\tGraphNode\x12\x12\n" +
	"\x04code\x18\x01 \x01(\tR\x04code\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
	"\x04text\x18\x03 \x01(\tR\x04text\x12M\n" +
	"\fapplications\x18\x04 \x03(\v2).crabs.evening_detective.GraphApplicationR\fapplications\"&\n" +
	"\x10GraphApplication\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name2\xe4\v\n" +
	"\x10EveningDetective\x12Y\n" +
	"\x04Ping\x12 .crabs.evening_detective.PingReq\x1a .crabs.evening_detective.PingRsp\"\r\x82\xd3\xe4\x93\x02\a\x12\x05/ping\x12i\n" +
	"\bAddTeams\x12$.crabs.evening_detective.AddTeamsReq\x1a$.crabs.evening_detective.AddTeamsRsp\"\x11\x82\xd3\xe4\x93\x02\v:\x01*\"\x06/teams\x12f\n" +
	"\bGetTeams\x12$.crabs.evening_detective.GetTeamsReq\x1a$.crabs.evening_detective.GetTeamsRsp\"\x0e\x82\xd3\xe4\x93\x02\b\x12\x06/teams\x12m\n" +
	"\vGetTeamsCSV\x12'.crabs.evening_detective.GetTeamsCSVReq\x1a'.crabs.evening_detective.GetTeamsCSVRsp\"\f\x82\xd3\xe4\x93\x02\x06\x12\x04/csv\x12b\n" +
	"\aGetTeam\x12#.crabs.evening_detective.GetTeamReq\x1a#.crabs.evening_detective.GetTeamRsp\"\r\x82\xd3\xe4\x93\x02\a\x12\x05/team\x12s\n" +
	"\tAddAction\x12%.crabs.evening_detective.AddActionReq\x1a%.crabs.evening_detective.AddActionRsp\"\x18\x82\xd3\xe4\x93\x02\x12:\x01*\"\r/team/actions\x12b\n" +
	"\aGetGame\x12#.crabs.evening_detective.GetGameReq\x1a#.crabs.evening_detective.GetGameRsp\"\r\x82\xd3\xe4\x93\x02\a\x12\x05/game\x12q\n" +
	"\tGameStart\x12%.crabs.evening_detective.GameStartReq\x1a%.crabs.evening_detective.GameStartRsp\"\x16\x82\xd3\xe4\x93\x02\x10:\x01*\"\v/game/start\x12m\n" +
	"\bGameStop\x12$.crabs.evening_detective.GameStopReq\x1a$.crabs.evening_detective.GameStopRsp\"\x15\x82\xd3\xe4\x93\x02\x0f:\x01*\"\n" +
	"/game/stop\x12\x97\x01\n" +
	"\x10GiveApplications\x12,.crabs.evening_detective.GiveApplicationsReq\x1a,.crabs.evening_detective.GiveApplicationsRsp\"'\x82\xd3\xe4\x93\x02!:\x01*\"\x1c/teams/{teamId}/applications\x12\x9a\x01\n" +
	"\x18DownloadTeamsQrCodesFile\x124.crabs.evening_detective.DownloadTeamsQrCodesFileReq\x1a4.crabs.evening_detective.DownloadTeamsQrCodesFileRsp\"\x12\x82\xd3\xe4\x93\x02\f\x12\n" +
	"/teams/pdf\x12f\n" +
	"\bGetGraph\x12$.crabs.evening_detective.GetGraphReq\x1a$.crabs.evening_detective.GetGraphRsp\"\x0e\x82\xd3\xe4\x93\x02\b\x12\x06/graph\x12u\n" +
	"\n" +
	"UpdateNode\x12&.crabs.evening_detective.UpdateNodeReq\x1a&.crabs.evening_detective.UpdateNodeRsp\"\x17\x82\xd3\xe4\x93\x02\x11:\x01*\x1a\f/graph/nodesB\vZ\tpkg/protob\x06proto3"

var (
	file_main_proto_rawDescOnce sync.Once
	file_main_proto_rawDescData []byte
)

func file_main_proto_rawDescGZIP() []byte {
	file_main_proto_rawDescOnce.Do(func() {
		file_main_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_main_proto_rawDesc), len(file_main_proto_rawDesc)))
	})
	return file_main_proto_rawDescData
}

var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
var file_main_proto_goTypes = []any{
	(*PingReq)(nil),                     // 0: crabs.evening_detective.PingReq
	(*PingRsp)(nil),                     // 1: crabs.evening_detective.PingRsp
	(*AddTeamsReq)(nil),                 // 2: crabs.evening_detective.AddTeamsReq
	(*Team)(nil),                        // 3: crabs.evening_detective.Team
	(*AddTeamsRsp)(nil),                 // 4: crabs.evening_detective.AddTeamsRsp
	(*TeamFull)(nil),                    // 5: crabs.evening_detective.TeamFull
	(*GetTeamsReq)(nil),                 // 6: crabs.evening_detective.GetTeamsReq
	(*GetTeamsRsp)(nil),                 // 7: crabs.evening_detective.GetTeamsRsp
	(*GetTeamsCSVReq)(nil),              // 8: crabs.evening_detective.GetTeamsCSVReq
	(*GetTeamsCSVRsp)(nil),              // 9: crabs.evening_detective.GetTeamsCSVRsp
	(*TeamAdvanced)(nil),                // 10: crabs.evening_detective.TeamAdvanced
	(*Application)(nil),                 // 11: crabs.evening_detective.Application
	(*Door)(nil),                        // 12: crabs.evening_detective.Door
	(*GetTeamReq)(nil),                  // 13: crabs.evening_detective.GetTeamReq
	(*GetTeamRsp)(nil),                  // 14: crabs.evening_detective.GetTeamRsp
	(*AddActionReq)(nil),                // 15: crabs.evening_detective.AddActionReq
	(*AddActionRsp)(nil),                // 16: crabs.evening_detective.AddActionRsp
	(*Action)(nil),                      // 17: crabs.evening_detective.Action
	(*GetGameReq)(nil),                  // 18: crabs.evening_detective.GetGameReq
	(*GetGameRsp)(nil),                  // 19: crabs.evening_detective.GetGameRsp
	(*GameStartReq)(nil),                // 20: crabs.evening_detective.GameStartReq
	(*GameStartRsp)(nil),                // 21: crabs.evening_detective.GameStartRsp
	(*GameStopReq)(nil),                 // 22: crabs.evening_detective.GameStopReq
	(*GameStopRsp)(nil),                 // 23: crabs.evening_detective.GameStopRsp
	(*GiveApplicationsReq)(nil),         // 24: crabs.evening_detective.GiveApplicationsReq
	(*GiveApplicationsRsp)(nil),         // 25: crabs.evening_detective.GiveApplicationsRsp
	(*DownloadTeamsQrCodesFileReq)(nil), // 26: crabs.evening_detective.DownloadTeamsQrCodesFileReq
	(*DownloadTeamsQrCodesFileRsp)(nil), // 27: crabs.evening_detective.DownloadTeamsQrCodesFileRsp
	(*GetGraphReq)(nil),                 // 28: crabs.evening_detective.GetGraphReq
	(*GetGraphRsp)(nil),                 // 29: crabs.evening_detective.GetGraphRsp
	(*UpdateNodeReq)(nil),               // 30: crabs.evening_detective.UpdateNodeReq
	(*UpdateNodeRsp)(nil),               // 31: crabs.evening_detective.UpdateNodeRsp
	(*GraphNode)(nil),                   // 32: crabs.evening_detective.GraphNode
	(*GraphApplication)(nil),            // 33: crabs.evening_detective.GraphApplication
	(*GetGraphRsp_Edge)(nil),            // 34: crabs.evening_detective.GetGraphRsp.Edge
}
var file_main_proto_depIdxs = []int32{
	3,  // 0: crabs.evening_detective.AddTeamsReq.teams:type_name -> crabs.evening_detective.Team
	5,  // 1: crabs.evening_detective.AddTeamsRsp.teams:type_name -> crabs.evening_detective.TeamFull
	10, // 2: crabs.evening_detective.GetTeamsRsp.teams:type_name -> crabs.evening_detective.TeamAdvanced
	11, // 3: crabs.evening_detective.TeamAdvanced.applications:type_name -> crabs.evening_detective.Application
	17, // 4: crabs.evening_detective.GetTeamRsp.actions:type_name -> crabs.evening_detective.Action
	11, // 5: crabs.evening_detective.Action.applications:type_name -> crabs.evening_detective.Application
	12, // 6: crabs.evening_detective.Action.doors:type_name -> crabs.evening_detective.Door
	11, // 7: crabs.evening_detective.GiveApplicationsReq.applications:type_name -> crabs.evening_detective.Application
	32, // 8: crabs.evening_detective.GetGraphRsp.nodes:type_name -> crabs.evening_detective.GraphNode
	34, // 9: crabs.evening_detective.GetGraphRsp.edges:type_name -> crabs.evening_detective.GetGraphRsp.Edge
	32, // 10: crabs.evening_detective.UpdateNodeReq.node:type_name -> crabs.evening_detective.GraphNode
	33, // 11: crabs.evening_detective.GraphNode.applications:type_name -> crabs.evening_detective.GraphApplication
	0,  // 12: crabs.evening_detective.EveningDetective.Ping:input_type -> crabs.evening_detective.PingReq
	2,  // 13: crabs.evening_detective.EveningDetective.AddTeams:input_type -> crabs.evening_detective.AddTeamsReq
	6,  // 14: crabs.evening_detective.EveningDetective.GetTeams:input_type -> crabs.evening_detective.GetTeamsReq
	8,  // 15: crabs.evening_detective.EveningDetective.GetTeamsCSV:input_type -> crabs.evening_detective.GetTeamsCSVReq
	13, // 16: crabs.evening_detective.EveningDetective.GetTeam:input_type -> crabs.evening_detective.GetTeamReq
	15, // 17: crabs.evening_detective.EveningDetective.AddAction:input_type -> crabs.evening_detective.AddActionReq
	18, // 18: crabs.evening_detective.EveningDetective.GetGame:input_type -> crabs.evening_detective.GetGameReq
	20, // 19: crabs.evening_detective.EveningDetective.GameStart:input_type -> crabs.evening_detective.GameStartReq
	22, // 20: crabs.evening_detective.EveningDetective.GameStop:input_type -> crabs.evening_detective.GameStopReq
	24, // 21: crabs.evening_detective.EveningDetective.GiveApplications:input_type -> crabs.evening_detective.GiveApplicationsReq
	26, // 22: crabs.evening_detective.EveningDetective.DownloadTeamsQrCodesFile:input_type -> crabs.evening_detective.DownloadTeamsQrCodesFileReq
	28, // 23: crabs.evening_detective.EveningDetective.GetGraph:input_type -> crabs.evening_detective.GetGraphReq
	30, // 24: crabs.evening_detective.EveningDetective.UpdateNode:input_type -> crabs.evening_detective.UpdateNodeReq
	1,  // 25: crabs.evening_detective.EveningDetective.Ping:output_type -> crabs.evening_detective.PingRsp
	4,  // 26: crabs.evening_detective.EveningDetective.AddTeams:output_type -> crabs.evening_detective.AddTeamsRsp
	7,  // 27: crabs.evening_detective.EveningDetective.GetTeams:output_type -> crabs.evening_detective.GetTeamsRsp
	9,  // 28: crabs.evening_detective.EveningDetective.GetTeamsCSV:output_type -> crabs.evening_detective.GetTeamsCSVRsp
	14, // 29: crabs.evening_detective.EveningDetective.GetTeam:output_type -> crabs.evening_detective.GetTeamRsp
	16, // 30: crabs.evening_detective.EveningDetective.AddAction:output_type -> crabs.evening_detective.AddActionRsp
	19, // 31: crabs.evening_detective.EveningDetective.GetGame:output_type -> crabs.evening_detective.GetGameRsp
	21, // 32: crabs.evening_detective.EveningDetective.GameStart:output_type -> crabs.evening_detective.GameStartRsp
	23, // 33: crabs.evening_detective.EveningDetective.GameStop:output_type -> crabs.evening_detective.GameStopRsp
	25, // 34: crabs.evening_detective.EveningDetective.GiveApplications:output_type -> crabs.evening_detective.GiveApplicationsRsp
	27, // 35: crabs.evening_detective.EveningDetective.DownloadTeamsQrCodesFile:output_type -> crabs.evening_detective.DownloadTeamsQrCodesFileRsp
	29, // 36: crabs.evening_detective.EveningDetective.GetGraph:output_type -> crabs.evening_detective.GetGraphRsp
	31, // 37: crabs.evening_detective.EveningDetective.UpdateNode:output_type -> crabs.evening_detective.UpdateNodeRsp
	25, // [25:38] is the sub-list for method output_type
	12, // [12:25] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_main_proto_init() }
func file_main_proto_init() {
	if File_main_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_main_proto_rawDesc), len(file_main_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   35,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_main_proto_goTypes,
		DependencyIndexes: file_main_proto_depIdxs,
		MessageInfos:      file_main_proto_msgTypes,
	}.Build()
	File_main_proto = out.File
	file_main_proto_goTypes = nil
	file_main_proto_depIdxs = nil
}
