// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v5.27.2
// source: system_menu.proto

// system_menu 系统菜单

package menu

import (
	pagination "cloud/service/pagination"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

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

// SystemMenuObject 数据对象
type SystemMenuObject struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id *int64 `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id" db:"id"` //菜单编号
	// @inject_tag: db:"name" json:"name"
	Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name" db:"name"` //菜单名称
	// @inject_tag: db:"permission" json:"permission"
	Permission *string `protobuf:"bytes,3,opt,name=permission,proto3,oneof" json:"permission" db:"permission"` //权限标识
	// @inject_tag: db:"type" json:"type"
	Type *int32 `protobuf:"varint,4,opt,name=type,proto3,oneof" json:"type" db:"type"` //菜单类型(1:目录/2: 菜单/3: 按钮)
	// @inject_tag: db:"sort" json:"sort"
	Sort *int32 `protobuf:"varint,5,opt,name=sort,proto3,oneof" json:"sort" db:"sort"` //显示顺序
	// @inject_tag: db:"parent_id" json:"parentId"
	ParentId *int64 `protobuf:"varint,6,opt,name=parent_id,json=parentId,proto3,oneof" json:"parentId" db:"parent_id"` //父菜单ID
	// @inject_tag: db:"path" json:"path"
	Path *string `protobuf:"bytes,7,opt,name=path,proto3,oneof" json:"path" db:"path"` //路由地址
	// @inject_tag: db:"icon" json:"icon"
	Icon *string `protobuf:"bytes,8,opt,name=icon,proto3,oneof" json:"icon" db:"icon"` //菜单图标
	// @inject_tag: db:"component" json:"component"
	Component *string `protobuf:"bytes,9,opt,name=component,proto3,oneof" json:"component" db:"component"` //组件路径
	// @inject_tag: db:"component_name" json:"componentName"
	ComponentName *string `protobuf:"bytes,10,opt,name=component_name,json=componentName,proto3,oneof" json:"componentName" db:"component_name"` //组件名
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,11,opt,name=status,proto3,oneof" json:"status" db:"status"` //菜单状态(0开启/1关闭)
	// @inject_tag: db:"hide" json:"hide"
	Hide *int32 `protobuf:"varint,12,opt,name=hide,proto3,oneof" json:"hide" db:"hide"` //是否隐藏(0:否/1是)
	// @inject_tag: db:"link" json:"link"
	Link *string `protobuf:"bytes,13,opt,name=link,proto3,oneof" json:"link" db:"link"` //路由外链时填写的访问地址
	// @inject_tag: db:"keep_alive" json:"keepAlive"
	KeepAlive *int32 `protobuf:"varint,14,opt,name=keep_alive,json=keepAlive,proto3,oneof" json:"keepAlive" db:"keep_alive"` //是否缓存(0不/ 1是)
	// @inject_tag: db:"affix" json:"affix"
	Affix *int32 `protobuf:"varint,15,opt,name=affix,proto3,oneof" json:"affix" db:"affix"` //是否总是显示(0 不显示/1 显示)
	// @inject_tag: db:"active_path" json:"activePath"
	ActivePath *string `protobuf:"bytes,16,opt,name=active_path,json=activePath,proto3,oneof" json:"activePath" db:"active_path"` //激活链接
	// @inject_tag: db:"full_screen" json:"fullScreen"
	FullScreen *int32 `protobuf:"varint,17,opt,name=full_screen,json=fullScreen,proto3,oneof" json:"fullScreen" db:"full_screen"` //是否全屏
	// @inject_tag: db:"redirect" json:"redirect"
	Redirect *string `protobuf:"bytes,18,opt,name=redirect,proto3,oneof" json:"redirect" db:"redirect"` //路由重定向地址
	// @inject_tag: db:"creator" json:"creator"
	Creator *string `protobuf:"bytes,19,opt,name=creator,proto3,oneof" json:"creator" db:"creator"` //创建者
	// @inject_tag: db:"create_time" json:"createTime"
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=create_time,json=createTime,proto3" json:"createTime" db:"create_time"` //创建时间
	// @inject_tag: db:"updater" json:"updater"
	Updater *string `protobuf:"bytes,21,opt,name=updater,proto3,oneof" json:"updater" db:"updater"` //更新者
	// @inject_tag: db:"update_time" json:"updateTime"
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=update_time,json=updateTime,proto3" json:"updateTime" db:"update_time"` //更新时间
	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,23,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` //是否删除
}

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

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

func (*SystemMenuObject) ProtoMessage() {}

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

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

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

func (x *SystemMenuObject) GetPermission() string {
	if x != nil && x.Permission != nil {
		return *x.Permission
	}
	return ""
}

func (x *SystemMenuObject) GetType() int32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (x *SystemMenuObject) GetSort() int32 {
	if x != nil && x.Sort != nil {
		return *x.Sort
	}
	return 0
}

func (x *SystemMenuObject) GetParentId() int64 {
	if x != nil && x.ParentId != nil {
		return *x.ParentId
	}
	return 0
}

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

func (x *SystemMenuObject) GetIcon() string {
	if x != nil && x.Icon != nil {
		return *x.Icon
	}
	return ""
}

func (x *SystemMenuObject) GetComponent() string {
	if x != nil && x.Component != nil {
		return *x.Component
	}
	return ""
}

func (x *SystemMenuObject) GetComponentName() string {
	if x != nil && x.ComponentName != nil {
		return *x.ComponentName
	}
	return ""
}

func (x *SystemMenuObject) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *SystemMenuObject) GetHide() int32 {
	if x != nil && x.Hide != nil {
		return *x.Hide
	}
	return 0
}

func (x *SystemMenuObject) GetLink() string {
	if x != nil && x.Link != nil {
		return *x.Link
	}
	return ""
}

func (x *SystemMenuObject) GetKeepAlive() int32 {
	if x != nil && x.KeepAlive != nil {
		return *x.KeepAlive
	}
	return 0
}

func (x *SystemMenuObject) GetAffix() int32 {
	if x != nil && x.Affix != nil {
		return *x.Affix
	}
	return 0
}

func (x *SystemMenuObject) GetActivePath() string {
	if x != nil && x.ActivePath != nil {
		return *x.ActivePath
	}
	return ""
}

func (x *SystemMenuObject) GetFullScreen() int32 {
	if x != nil && x.FullScreen != nil {
		return *x.FullScreen
	}
	return 0
}

func (x *SystemMenuObject) GetRedirect() string {
	if x != nil && x.Redirect != nil {
		return *x.Redirect
	}
	return ""
}

func (x *SystemMenuObject) GetCreator() string {
	if x != nil && x.Creator != nil {
		return *x.Creator
	}
	return ""
}

func (x *SystemMenuObject) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *SystemMenuObject) GetUpdater() string {
	if x != nil && x.Updater != nil {
		return *x.Updater
	}
	return ""
}

func (x *SystemMenuObject) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *SystemMenuObject) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

// SystemMenuTotalResponse 列表数据总量
type SystemMenuTotalResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data int64  `protobuf:"varint,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuTotalResponse) ProtoMessage() {}

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

func (x *SystemMenuTotalResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuTotalResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *SystemMenuTotalResponse) GetData() int64 {
	if x != nil {
		return x.Data
	}
	return 0
}

// SystemMenuCreateRequest 创建数据请求
type SystemMenuCreateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Data *SystemMenuObject `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuCreateRequest) ProtoMessage() {}

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

func (x *SystemMenuCreateRequest) GetData() *SystemMenuObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// SystemMenuCreateResponse 创建数据响应
type SystemMenuCreateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data int64  `protobuf:"varint,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuCreateResponse) ProtoMessage() {}

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

func (x *SystemMenuCreateResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuCreateResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *SystemMenuCreateResponse) GetData() int64 {
	if x != nil {
		return x.Data
	}
	return 0
}

// SystemMenuUpdateRequest 更新数据请求
type SystemMenuUpdateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id   int64             `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //菜单编号
	Data *SystemMenuObject `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuUpdateRequest) ProtoMessage() {}

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

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

func (x *SystemMenuUpdateRequest) GetData() *SystemMenuObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// SystemMenuUpdateResponse 更新数据响应
type SystemMenuUpdateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*SystemMenuUpdateResponse) ProtoMessage() {}

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

func (x *SystemMenuUpdateResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuUpdateResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// SystemMenuDeleteRequest 删除数据请求
type SystemMenuDeleteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //菜单编号
}

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

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

func (*SystemMenuDeleteRequest) ProtoMessage() {}

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

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

// SystemMenuDeleteResponse 删除数据响应
type SystemMenuDeleteResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*SystemMenuDeleteResponse) ProtoMessage() {}

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

func (x *SystemMenuDeleteResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuDeleteResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// SystemMenuRequest 查询单条数据请求
type SystemMenuRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //菜单编号
}

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

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

func (*SystemMenuRequest) ProtoMessage() {}

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

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

// SystemMenuResponse 查询单条数据响应
type SystemMenuResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64             `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string            `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data *SystemMenuObject `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuResponse) ProtoMessage() {}

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

func (x *SystemMenuResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *SystemMenuResponse) GetData() *SystemMenuObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// SystemMenuRecoverRequest 恢复数据请求
type SystemMenuRecoverRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //菜单编号
}

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

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

func (*SystemMenuRecoverRequest) ProtoMessage() {}

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

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

// SystemMenuRecoverResponse 删除数据响应
type SystemMenuRecoverResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*SystemMenuRecoverResponse) ProtoMessage() {}

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

func (x *SystemMenuRecoverResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuRecoverResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// SystemMenuDropRequest 清理数据请求
type SystemMenuDropRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //菜单编号
}

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

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

func (*SystemMenuDropRequest) ProtoMessage() {}

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

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

// SystemMenuDropResponse 清理数据响应
type SystemMenuDropResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*SystemMenuDropResponse) ProtoMessage() {}

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

func (x *SystemMenuDropResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuDropResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// SystemMenuListRequest 列表数据
type SystemMenuListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,1,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` // 是否删除
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,2,opt,name=status,proto3,oneof" json:"status" db:"status"` // 菜单状态(0开启/1关闭)
	// @inject_tag: db:"type" json:"type"
	Type *int32 `protobuf:"varint,3,opt,name=type,proto3,oneof" json:"type" db:"type"` // 菜单类型(1:目录/2: 菜单/3: 按钮)
	// @inject_tag: db:"pagination" json:"pagination"
	Pagination *pagination.PaginationRequest `protobuf:"bytes,4,opt,name=pagination,proto3,oneof" json:"pagination" db:"pagination"` // 分页
}

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

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

func (*SystemMenuListRequest) ProtoMessage() {}

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

func (x *SystemMenuListRequest) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

func (x *SystemMenuListRequest) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *SystemMenuListRequest) GetType() int32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (x *SystemMenuListRequest) GetPagination() *pagination.PaginationRequest {
	if x != nil {
		return x.Pagination
	}
	return nil
}

// SystemMenuListResponse 数据响应
type SystemMenuListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64               `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string              `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data []*SystemMenuObject `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*SystemMenuListResponse) ProtoMessage() {}

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

func (x *SystemMenuListResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SystemMenuListResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *SystemMenuListResponse) GetData() []*SystemMenuObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// SystemMenuListTotalRequest 列表数据
type SystemMenuListTotalRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,1,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` // 是否删除
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,2,opt,name=status,proto3,oneof" json:"status" db:"status"` // 菜单状态(0开启/1关闭)
	// @inject_tag: db:"type" json:"type"
	Type *int32 `protobuf:"varint,3,opt,name=type,proto3,oneof" json:"type" db:"type"` // 菜单类型(1:目录/2: 菜单/3: 按钮)
}

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

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

func (*SystemMenuListTotalRequest) ProtoMessage() {}

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

func (x *SystemMenuListTotalRequest) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

func (x *SystemMenuListTotalRequest) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *SystemMenuListTotalRequest) GetType() int32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

var File_system_menu_proto protoreflect.FileDescriptor

var file_system_menu_proto_rawDesc = []byte{
	0x0a, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x04, 0x6d, 0x65, 0x6e, 0x75, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x61, 0x67, 0x69,
	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x08, 0x0a,
	0x10, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
	0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x23, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x05, 0x48, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a,
	0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x04, 0x73,
	0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01,
	0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x07, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52,
	0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a,
	0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x69, 0x64, 0x65, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x05, 0x48, 0x0b, 0x52, 0x04, 0x68, 0x69, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x17, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6b, 0x65, 0x65, 0x70,
	0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, 0x09,
	0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05,
	0x61, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0e, 0x52, 0x05, 0x61,
	0x66, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0a,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a,
	0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x11, 0x20, 0x01,
	0x28, 0x05, 0x48, 0x10, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
	0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
	0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x1d, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x13, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12,
	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x16,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07,
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52,
	0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f,
	0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f,
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a,
	0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70,
	0x61, 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a,
	0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63,
	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a,
	0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x69, 0x64,
	0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6b,
	0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x66,
	0x66, 0x69, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70,
	0x61, 0x74, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x72,
	0x65, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08,
	0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65,
	0x6e, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63,
	0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x17, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x4d, 0x65, 0x6e, 0x75, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x22, 0x54, 0x0a, 0x18, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d,
	0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x17, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x4d, 0x65, 0x6e, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e,
	0x75, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x40, 0x0a,
	0x18, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22,
	0x29, 0x0a, 0x17, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x40, 0x0a, 0x18, 0x53, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x23, 0x0a, 0x11,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
	0x64, 0x22, 0x66, 0x0a, 0x12, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
	0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2a, 0x0a,
	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65,
	0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x18, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x19, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d,
	0x65, 0x6e, 0x75, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x53, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
	0x64, 0x22, 0x3e, 0x0a, 0x16, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44,
	0x72, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63,
	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
	0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73,
	0x67, 0x22, 0xdf, 0x01, 0x0a, 0x15, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07,
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01,
	0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
	0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x16, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e,
	0x75, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64,
	0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d,
	0x65, 0x6e, 0x75, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
	0x91, 0x01, 0x0a, 0x1a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4c, 0x69,
	0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
	0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x00, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42,
	0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x32, 0x95, 0x05, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65,
	0x6e, 0x75, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x10, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e,
	0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d,
	0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x10,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65,
	0x6e, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x1e, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e,
	0x75, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x51, 0x0a, 0x10, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65,
	0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x4d, 0x65, 0x6e, 0x75, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75,
	0x12, 0x17, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65,
	0x6e, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x65, 0x6e, 0x75,
	0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e,
	0x75, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65,
	0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x1b, 0x2e, 0x6d, 0x65,
	0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x72, 0x6f,
	0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x4d, 0x65, 0x6e, 0x75, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e,
	0x75, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6e,
	0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x4c, 0x69, 0x73, 0x74,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d,
	0x65, 0x6e, 0x75, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x6e, 0x75, 0x54, 0x6f,
	0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x2f, 0x6d, 0x65, 0x6e, 0x75, 0x3b, 0x6d, 0x65, 0x6e, 0x75, 0x62, 0x06, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_system_menu_proto_rawDescOnce sync.Once
	file_system_menu_proto_rawDescData = file_system_menu_proto_rawDesc
)

func file_system_menu_proto_rawDescGZIP() []byte {
	file_system_menu_proto_rawDescOnce.Do(func() {
		file_system_menu_proto_rawDescData = protoimpl.X.CompressGZIP(file_system_menu_proto_rawDescData)
	})
	return file_system_menu_proto_rawDescData
}

var file_system_menu_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_system_menu_proto_goTypes = []any{
	(*SystemMenuObject)(nil),             // 0: menu.SystemMenuObject
	(*SystemMenuTotalResponse)(nil),      // 1: menu.SystemMenuTotalResponse
	(*SystemMenuCreateRequest)(nil),      // 2: menu.SystemMenuCreateRequest
	(*SystemMenuCreateResponse)(nil),     // 3: menu.SystemMenuCreateResponse
	(*SystemMenuUpdateRequest)(nil),      // 4: menu.SystemMenuUpdateRequest
	(*SystemMenuUpdateResponse)(nil),     // 5: menu.SystemMenuUpdateResponse
	(*SystemMenuDeleteRequest)(nil),      // 6: menu.SystemMenuDeleteRequest
	(*SystemMenuDeleteResponse)(nil),     // 7: menu.SystemMenuDeleteResponse
	(*SystemMenuRequest)(nil),            // 8: menu.SystemMenuRequest
	(*SystemMenuResponse)(nil),           // 9: menu.SystemMenuResponse
	(*SystemMenuRecoverRequest)(nil),     // 10: menu.SystemMenuRecoverRequest
	(*SystemMenuRecoverResponse)(nil),    // 11: menu.SystemMenuRecoverResponse
	(*SystemMenuDropRequest)(nil),        // 12: menu.SystemMenuDropRequest
	(*SystemMenuDropResponse)(nil),       // 13: menu.SystemMenuDropResponse
	(*SystemMenuListRequest)(nil),        // 14: menu.SystemMenuListRequest
	(*SystemMenuListResponse)(nil),       // 15: menu.SystemMenuListResponse
	(*SystemMenuListTotalRequest)(nil),   // 16: menu.SystemMenuListTotalRequest
	(*timestamppb.Timestamp)(nil),        // 17: google.protobuf.Timestamp
	(*pagination.PaginationRequest)(nil), // 18: pagination.PaginationRequest
}
var file_system_menu_proto_depIdxs = []int32{
	17, // 0: menu.SystemMenuObject.create_time:type_name -> google.protobuf.Timestamp
	17, // 1: menu.SystemMenuObject.update_time:type_name -> google.protobuf.Timestamp
	0,  // 2: menu.SystemMenuCreateRequest.data:type_name -> menu.SystemMenuObject
	0,  // 3: menu.SystemMenuUpdateRequest.data:type_name -> menu.SystemMenuObject
	0,  // 4: menu.SystemMenuResponse.data:type_name -> menu.SystemMenuObject
	18, // 5: menu.SystemMenuListRequest.pagination:type_name -> pagination.PaginationRequest
	0,  // 6: menu.SystemMenuListResponse.data:type_name -> menu.SystemMenuObject
	2,  // 7: menu.SystemMenuService.SystemMenuCreate:input_type -> menu.SystemMenuCreateRequest
	4,  // 8: menu.SystemMenuService.SystemMenuUpdate:input_type -> menu.SystemMenuUpdateRequest
	6,  // 9: menu.SystemMenuService.SystemMenuDelete:input_type -> menu.SystemMenuDeleteRequest
	8,  // 10: menu.SystemMenuService.SystemMenu:input_type -> menu.SystemMenuRequest
	10, // 11: menu.SystemMenuService.SystemMenuRecover:input_type -> menu.SystemMenuRecoverRequest
	12, // 12: menu.SystemMenuService.SystemMenuDrop:input_type -> menu.SystemMenuDropRequest
	14, // 13: menu.SystemMenuService.SystemMenuList:input_type -> menu.SystemMenuListRequest
	16, // 14: menu.SystemMenuService.SystemMenuListTotal:input_type -> menu.SystemMenuListTotalRequest
	3,  // 15: menu.SystemMenuService.SystemMenuCreate:output_type -> menu.SystemMenuCreateResponse
	5,  // 16: menu.SystemMenuService.SystemMenuUpdate:output_type -> menu.SystemMenuUpdateResponse
	7,  // 17: menu.SystemMenuService.SystemMenuDelete:output_type -> menu.SystemMenuDeleteResponse
	9,  // 18: menu.SystemMenuService.SystemMenu:output_type -> menu.SystemMenuResponse
	11, // 19: menu.SystemMenuService.SystemMenuRecover:output_type -> menu.SystemMenuRecoverResponse
	13, // 20: menu.SystemMenuService.SystemMenuDrop:output_type -> menu.SystemMenuDropResponse
	15, // 21: menu.SystemMenuService.SystemMenuList:output_type -> menu.SystemMenuListResponse
	1,  // 22: menu.SystemMenuService.SystemMenuListTotal:output_type -> menu.SystemMenuTotalResponse
	15, // [15:23] is the sub-list for method output_type
	7,  // [7:15] is the sub-list for method input_type
	7,  // [7:7] is the sub-list for extension type_name
	7,  // [7:7] is the sub-list for extension extendee
	0,  // [0:7] is the sub-list for field type_name
}

func init() { file_system_menu_proto_init() }
func file_system_menu_proto_init() {
	if File_system_menu_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_system_menu_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuObject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuTotalResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuCreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuCreateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuUpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuUpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuDeleteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuDeleteResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuRecoverRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuRecoverResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuDropRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuDropResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_system_menu_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*SystemMenuListTotalRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_system_menu_proto_msgTypes[0].OneofWrappers = []any{}
	file_system_menu_proto_msgTypes[14].OneofWrappers = []any{}
	file_system_menu_proto_msgTypes[16].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_system_menu_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   17,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_system_menu_proto_goTypes,
		DependencyIndexes: file_system_menu_proto_depIdxs,
		MessageInfos:      file_system_menu_proto_msgTypes,
	}.Build()
	File_system_menu_proto = out.File
	file_system_menu_proto_rawDesc = nil
	file_system_menu_proto_goTypes = nil
	file_system_menu_proto_depIdxs = nil
}
