//生成时间:2025-06-27 19:43:55
#pragma once
#include <rttr/registration>
#include <robotics/logger.hpp>
#include "models/web_alarm_config_info.h"
#include "models/web_brand_config_info.h"
#include "models/web_device_config_info.h"
#include "models/web_fitting_config_info.h"
#include "models/web_general_config_info.h"
#include "models/web_level_config_info.h"
#include "models/web_message_info.h"
#include "models/web_response_info.h"
#include "models/web_spec_config_info.h"
#include "models/web_sync_alarm_info.h"
#include "models/web_user_config_info.h"
#include "controllers/account.hpp"
#include "controllers/alarm.hpp"
#include "controllers/brand.hpp"
#include "controllers/device.hpp"
#include "controllers/fitting.hpp"
#include "controllers/general.hpp"
#include "controllers/home.hpp"
#include "controllers/level.hpp"
#include "controllers/spec.hpp"
#include "controllers/user.hpp"

static void func_5a2673d77fa33680c27c9488b2b70859() {
	rttr::registration::class_<struct web_alarm_config_info>("alarm_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_alarm_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::id))).
		property("modify_time",&web_alarm_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::modify_time))).
		property("number",&web_alarm_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::number))).
		property("description",&web_alarm_config_info::description)(rttr::metadata("Json","description"),rttr::metadata("Sql","description"),rttr::metadata("Excel",R"(description)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::description))).
		property("brand_no",&web_alarm_config_info::brand_no)(rttr::metadata("Json","brand_no"),rttr::metadata("Sql","brand_no"),rttr::metadata("Excel",R"(brand_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::brand_no))).
		property("spec_no",&web_alarm_config_info::spec_no)(rttr::metadata("Json","spec_no"),rttr::metadata("Sql","spec_no"),rttr::metadata("Excel",R"(spec_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::spec_no))).
		property("level_no",&web_alarm_config_info::level_no)(rttr::metadata("Json","level_no"),rttr::metadata("Sql","level_no"),rttr::metadata("Excel",R"(level_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::level_no))).
		property("enable",&web_alarm_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::enable))).
		property("remarks",&web_alarm_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_alarm_config_info::remarks)));
}
static void func_65318e10cfe3dbdbafdddbdeed5c9715() {
	rttr::registration::class_<struct web_brand_config_info>("brand_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_brand_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::id))).
		property("modify_time",&web_brand_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::modify_time))).
		property("number",&web_brand_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::number))).
		property("name",&web_brand_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::name))).
		property("enable",&web_brand_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::enable))).
		property("remarks",&web_brand_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_brand_config_info::remarks)));
}
static void func_0c239546d8a3f0b09c79df8ed8b1694a() {
	rttr::registration::class_<struct web_device_config_info>("device_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_device_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::id))).
		property("modify_time",&web_device_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::modify_time))).
		property("number",&web_device_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::number))).
		property("name",&web_device_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::name))).
		property("enable",&web_device_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::enable))).
		property("remarks",&web_device_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_device_config_info::remarks)));
}
static void func_6991f8acfbd3e919711da2197edff4c9() {
	rttr::registration::class_<struct web_fitting_config_info>("fitting_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_fitting_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::id))).
		property("modify_time",&web_fitting_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::modify_time))).
		property("number",&web_fitting_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::number))).
		property("name",&web_fitting_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::name))).
		property("enable",&web_fitting_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::enable))).
		property("remarks",&web_fitting_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_fitting_config_info::remarks)));
}
static void func_c265b047cb090297dd3701be20b9b05f() {
	rttr::registration::class_<struct web_general_config_info>("general_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_general_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::id))).
		property("modify_time",&web_general_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::modify_time))).
		property("key",&web_general_config_info::key)(rttr::metadata("Json","key"),rttr::metadata("Sql","key"),rttr::metadata("Excel",R"(key)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::key))).
		property("value",&web_general_config_info::value)(rttr::metadata("Json","value"),rttr::metadata("Sql","value"),rttr::metadata("Excel",R"(value)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::value))).
		property("enable",&web_general_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::enable))).
		property("remarks",&web_general_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_general_config_info::remarks)));
}
static void func_68bf7ae5665a9dc642d5a44796206bfd() {
	rttr::registration::class_<struct web_level_config_info>("level_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_level_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::id))).
		property("modify_time",&web_level_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::modify_time))).
		property("number",&web_level_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::number))).
		property("name",&web_level_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::name))).
		property("enable",&web_level_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::enable))).
		property("remarks",&web_level_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_level_config_info::remarks)));
}
static void func_222bbfe2cd2e58e420d3c4bbdcb8746f() {
	rttr::registration::class_<struct web_message_info>("web_message_info").constructor<>()(rttr::detail::as_object{}).
		property("success",&web_message_info::success)(rttr::metadata("Json","success"),rttr::metadata("Sql","success"),rttr::metadata("Excel",R"(success)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_message_info::success))).
		property("message",&web_message_info::message)(rttr::metadata("Json","message"),rttr::metadata("Sql","message"),rttr::metadata("Excel",R"(message)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_message_info::message)));
}
static void func_ee52b9e1328949d9d3dfcf62bf24cef9() {
	rttr::registration::class_<struct web_response_info<web_alarm_config_info>>("web_response_info<web_alarm_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_alarm_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_alarm_config_info>::code))).
		property("msg",&web_response_info<web_alarm_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_alarm_config_info>::msg))).
		property("count",&web_response_info<web_alarm_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_alarm_config_info>::count))).
		property("data",&web_response_info<web_alarm_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_alarm_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_brand_config_info>>("web_response_info<web_brand_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_brand_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_brand_config_info>::code))).
		property("msg",&web_response_info<web_brand_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_brand_config_info>::msg))).
		property("count",&web_response_info<web_brand_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_brand_config_info>::count))).
		property("data",&web_response_info<web_brand_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_brand_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_device_config_info>>("web_response_info<web_device_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_device_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_device_config_info>::code))).
		property("msg",&web_response_info<web_device_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_device_config_info>::msg))).
		property("count",&web_response_info<web_device_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_device_config_info>::count))).
		property("data",&web_response_info<web_device_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_device_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_fitting_config_info>>("web_response_info<web_fitting_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_fitting_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_fitting_config_info>::code))).
		property("msg",&web_response_info<web_fitting_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_fitting_config_info>::msg))).
		property("count",&web_response_info<web_fitting_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_fitting_config_info>::count))).
		property("data",&web_response_info<web_fitting_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_fitting_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_general_config_info>>("web_response_info<web_general_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_general_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_general_config_info>::code))).
		property("msg",&web_response_info<web_general_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_general_config_info>::msg))).
		property("count",&web_response_info<web_general_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_general_config_info>::count))).
		property("data",&web_response_info<web_general_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_general_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_spec_config_info>>("web_response_info<web_spec_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_spec_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_spec_config_info>::code))).
		property("msg",&web_response_info<web_spec_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_spec_config_info>::msg))).
		property("count",&web_response_info<web_spec_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_spec_config_info>::count))).
		property("data",&web_response_info<web_spec_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_spec_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_level_config_info>>("web_response_info<web_level_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_level_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_level_config_info>::code))).
		property("msg",&web_response_info<web_level_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_level_config_info>::msg))).
		property("count",&web_response_info<web_level_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_level_config_info>::count))).
		property("data",&web_response_info<web_level_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_level_config_info>::data)));
	rttr::registration::class_<struct web_response_info<web_sync_alarm_info>>("web_response_info<web_sync_alarm_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_sync_alarm_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_sync_alarm_info>::code))).
		property("msg",&web_response_info<web_sync_alarm_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_sync_alarm_info>::msg))).
		property("count",&web_response_info<web_sync_alarm_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_sync_alarm_info>::count))).
		property("data",&web_response_info<web_sync_alarm_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_sync_alarm_info>::data)));
	rttr::registration::class_<struct web_response_info<web_user_config_info>>("web_response_info<web_user_config_info>").constructor<>()(rttr::detail::as_object{}).
		property("code",&web_response_info<web_user_config_info>::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_user_config_info>::code))).
		property("msg",&web_response_info<web_user_config_info>::msg)(rttr::metadata("Json","msg"),rttr::metadata("Sql","msg"),rttr::metadata("Excel",R"(msg)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_user_config_info>::msg))).
		property("count",&web_response_info<web_user_config_info>::count)(rttr::metadata("Json","count"),rttr::metadata("Sql","count"),rttr::metadata("Excel",R"(count)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_user_config_info>::count))).
		property("data",&web_response_info<web_user_config_info>::data)(rttr::metadata("Json","data"),rttr::metadata("Sql","data"),rttr::metadata("Excel",R"(data)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_response_info<web_user_config_info>::data)));
}
static void func_05efc83d05d5d9270bc0e5f351f3b299() {
	rttr::registration::class_<struct web_spec_config_info>("spec_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_spec_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::id))).
		property("modify_time",&web_spec_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::modify_time))).
		property("number",&web_spec_config_info::number)(rttr::metadata("Json","number"),rttr::metadata("Sql","number"),rttr::metadata("Excel",R"(number)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::number))).
		property("name",&web_spec_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::name))).
		property("brand_no",&web_spec_config_info::brand_no)(rttr::metadata("Json","brand_no"),rttr::metadata("Sql","brand_no"),rttr::metadata("Excel",R"(brand_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::brand_no))).
		property("fitting_no",&web_spec_config_info::fitting_no)(rttr::metadata("Json","fitting_no"),rttr::metadata("Sql","fitting_no"),rttr::metadata("Excel",R"(fitting_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::fitting_no))).
		property("enable",&web_spec_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::enable))).
		property("remarks",&web_spec_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_spec_config_info::remarks)));
}
static void func_90c0111c7b5dea529b9e84f32fe01028() {
	rttr::registration::class_<struct web_sync_alarm_info>("web_sync_alarm_info").constructor<>()(rttr::detail::as_object{}).
		property("alarm_time",&web_sync_alarm_info::alarm_time)(rttr::metadata("Json","alarmTime"),rttr::metadata("Sql","alarm_time"),rttr::metadata("Excel",R"(alarm_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::alarm_time))).
		property("type_no",&web_sync_alarm_info::type_no)(rttr::metadata("Json","deviceTypeNum"),rttr::metadata("Sql","type_no"),rttr::metadata("Excel",R"(type_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::type_no))).
		property("little_no",&web_sync_alarm_info::little_no)(rttr::metadata("Json","deviceLittleNum"),rttr::metadata("Sql","little_no"),rttr::metadata("Excel",R"(little_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::little_no))).
		property("device_fitting_no",&web_sync_alarm_info::device_fitting_no)(rttr::metadata("Json","deviceFittingNum"),rttr::metadata("Sql","device_fitting_no"),rttr::metadata("Excel",R"(device_fitting_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::device_fitting_no))).
		property("model_no",&web_sync_alarm_info::model_no)(rttr::metadata("Json","specNum"),rttr::metadata("Sql","model_no"),rttr::metadata("Excel",R"(model_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::model_no))).
		property("fitting_no",&web_sync_alarm_info::fitting_no)(rttr::metadata("Json","fittingNum"),rttr::metadata("Sql","fitting_no"),rttr::metadata("Excel",R"(fitting_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::fitting_no))).
		property("bran_no",&web_sync_alarm_info::bran_no)(rttr::metadata("Json","brandNum"),rttr::metadata("Sql","bran_no"),rttr::metadata("Excel",R"(bran_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::bran_no))).
		property("alarm_no",&web_sync_alarm_info::alarm_no)(rttr::metadata("Json","alarmNum"),rttr::metadata("Sql","alarm_no"),rttr::metadata("Excel",R"(alarm_no)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::alarm_no))).
		property("alarm_status",&web_sync_alarm_info::alarm_status)(rttr::metadata("Json","alarmState"),rttr::metadata("Sql","alarm_status"),rttr::metadata("Excel",R"(alarm_status)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_sync_alarm_info::alarm_status)));
}
static void func_07f578c025ac4ca412e012ab4737c343() {
	rttr::registration::class_<struct web_user_config_info>("user_config").constructor<>()(rttr::detail::as_object{}).
		property("id",&web_user_config_info::id)(rttr::metadata("Json","id"),rttr::metadata("Sql","id"),rttr::metadata("Excel",R"(id)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::id))).
		property("modify_time",&web_user_config_info::modify_time)(rttr::metadata("Json","modify_time"),rttr::metadata("Sql","modify_time"),rttr::metadata("Excel",R"(modify_time)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::modify_time))).
		property("name",&web_user_config_info::name)(rttr::metadata("Json","name"),rttr::metadata("Sql","name"),rttr::metadata("Excel",R"(name)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::name))).
		property("code",&web_user_config_info::code)(rttr::metadata("Json","code"),rttr::metadata("Sql","code"),rttr::metadata("Excel",R"(code)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::code))).
		property("password",&web_user_config_info::password)(rttr::metadata("Json","password"),rttr::metadata("Sql","password"),rttr::metadata("Excel",R"(password)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::password))).
		property("enable",&web_user_config_info::enable)(rttr::metadata("Json","enable"),rttr::metadata("Sql","enable"),rttr::metadata("Excel",R"(enable)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::enable))).
		property("remarks",&web_user_config_info::remarks)(rttr::metadata("Json","remarks"),rttr::metadata("Sql","remarks"),rttr::metadata("Excel",R"(remarks)"),rttr::metadata("NoJson",false),rttr::metadata("NoSql",false),rttr::metadata("NoExcel",false),rttr::metadata("SqlKey",false),rttr::metadata("NoArchive",false),rttr::metadata("Offset",robotics::v3::utils::pointer_cast<int>(&web_user_config_info::remarks)));
}
static void func_66dece66c18de0b4b12ee46b76ad9d18() {
	rttr::registration::class_<class account>("account").constructor<>()().
		method("index",&account::index).
		method("captcha",&account::captcha)(rttr::default_arguments(std::string{}),rttr::parameter_names("v")).
		method("login",&account::login)(rttr::default_arguments(std::string{},std::string{},std::string{}),rttr::parameter_names("username","password","captcha")).
		method("logout",&account::logout);
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = false;
		action->authen_jump = "home/index";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "account/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["account/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "v";
			action->arguments.push_back(argument);
		}
		action->action_name = "captcha";
		action->parent = controller;
		action->authen = false;
		action->authen_jump = "home/index";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["account/captcha"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "username";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "password";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "captcha";
			action->arguments.push_back(argument);
		}
		action->action_name = "login";
		action->parent = controller;
		action->authen = false;
		action->authen_jump = "home/index";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["account/login"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "logout";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["account/logout"] = action;
	}
	controller->controller_name = "account";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_981c6e9daa2e1312c33ce4f5b568e84e() {
	rttr::registration::class_<class alarm>("alarm").constructor<>()().
		method("index",&alarm::index).
		method("load",&alarm::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&alarm::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&alarm::edit)(rttr::default_arguments(web_alarm_config_info{}),rttr::parameter_names("value")).
		method("add_view",&alarm::add_view).
		method("add",&alarm::add)(rttr::default_arguments(web_alarm_config_info{}),rttr::parameter_names("value")).
		method("remove",&alarm::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&alarm::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "alarm/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["alarm/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["alarm/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "alarm/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["alarm/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["alarm/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "alarm/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["alarm/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["alarm/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["alarm/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["alarm/sync"] = action;
	}
	controller->controller_name = "alarm";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_76b7c1266e87bd4f2bdd086d19a81d82() {
	rttr::registration::class_<class brand>("brand").constructor<>()().
		method("index",&brand::index).
		method("load",&brand::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&brand::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&brand::edit)(rttr::default_arguments(web_brand_config_info{}),rttr::parameter_names("value")).
		method("add_view",&brand::add_view).
		method("add",&brand::add)(rttr::default_arguments(web_brand_config_info{}),rttr::parameter_names("value")).
		method("remove",&brand::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&brand::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "brand/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["brand/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["brand/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "brand/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["brand/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["brand/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "brand/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["brand/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["brand/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["brand/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["brand/sync"] = action;
	}
	controller->controller_name = "brand";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_154f757c4925606debc9b8f8cb57b47b() {
	rttr::registration::class_<class device>("device").constructor<>()().
		method("index",&device::index).
		method("load",&device::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&device::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&device::edit)(rttr::default_arguments(web_device_config_info{}),rttr::parameter_names("value")).
		method("add_view",&device::add_view).
		method("add",&device::add)(rttr::default_arguments(web_device_config_info{}),rttr::parameter_names("value")).
		method("remove",&device::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&device::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "device/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["device/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["device/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "device/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["device/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["device/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "device/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["device/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["device/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["device/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["device/sync"] = action;
	}
	controller->controller_name = "device";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_88c7e6e73687bd512f0ea845aabfaf60() {
	rttr::registration::class_<class fitting>("fitting").constructor<>()().
		method("index",&fitting::index).
		method("load",&fitting::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&fitting::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&fitting::edit)(rttr::default_arguments(web_fitting_config_info{}),rttr::parameter_names("value")).
		method("add_view",&fitting::add_view).
		method("add",&fitting::add)(rttr::default_arguments(web_fitting_config_info{}),rttr::parameter_names("value")).
		method("remove",&fitting::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&fitting::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "fitting/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["fitting/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["fitting/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "fitting/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["fitting/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["fitting/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "fitting/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["fitting/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["fitting/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["fitting/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["fitting/sync"] = action;
	}
	controller->controller_name = "fitting";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_606d45289cb6b14ae1ef6a890e099a04() {
	rttr::registration::class_<class general>("general").constructor<>()().
		method("index",&general::index).
		method("load",&general::load)(rttr::default_arguments(int{},int{},std::string{},std::string{},std::string{}),rttr::parameter_names("page","limit","key","value","enable")).
		method("edit_view",&general::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&general::edit)(rttr::default_arguments(web_general_config_info{}),rttr::parameter_names("value")).
		method("add_view",&general::add_view).
		method("add",&general::add)(rttr::default_arguments(web_general_config_info{}),rttr::parameter_names("value")).
		method("remove",&general::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&general::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "general/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["general/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "value";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["general/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "general/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["general/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["general/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "general/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["general/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["general/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["general/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["general/sync"] = action;
	}
	controller->controller_name = "general";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_11bea337b5e167948ec434d6b34a6aec() {
	rttr::registration::class_<class home>("home").constructor<>()().
		method("index",&home::index).
		method("init",&home::init)(rttr::default_arguments(std::string{}),rttr::parameter_names("v"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "home/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["home/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "v";
			action->arguments.push_back(argument);
		}
		action->action_name = "init";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "content/api/init.json";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["home/init"] = action;
	}
	controller->controller_name = "home";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_17efb9e6608d1334caa3c3ad2c94f26f() {
	rttr::registration::class_<class level>("level").constructor<>()().
		method("index",&level::index).
		method("load",&level::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&level::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&level::edit)(rttr::default_arguments(web_level_config_info{}),rttr::parameter_names("value")).
		method("add_view",&level::add_view).
		method("add",&level::add)(rttr::default_arguments(web_level_config_info{}),rttr::parameter_names("value")).
		method("remove",&level::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&level::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "level/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["level/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["level/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "level/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["level/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["level/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "level/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["level/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["level/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["level/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["level/sync"] = action;
	}
	controller->controller_name = "level";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_d2b3e2248d903963b2dac7380c85ea5e() {
	rttr::registration::class_<class spec>("spec").constructor<>()().
		method("index",&spec::index).
		method("load",&spec::load)(rttr::default_arguments(int{},int{},std::string{},std::string{}),rttr::parameter_names("page","limit","number","enable")).
		method("edit_view",&spec::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&spec::edit)(rttr::default_arguments(web_spec_config_info{}),rttr::parameter_names("value")).
		method("add_view",&spec::add_view).
		method("add",&spec::add)(rttr::default_arguments(web_spec_config_info{}),rttr::parameter_names("value")).
		method("remove",&spec::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("sync",&spec::sync)(rttr::default_arguments(int{}),rttr::parameter_names("key"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "spec/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["spec/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "number";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["spec/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "spec/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["spec/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["spec/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "spec/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["spec/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["spec/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["spec/remove"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "key";
			action->arguments.push_back(argument);
		}
		action->action_name = "sync";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["spec/sync"] = action;
	}
	controller->controller_name = "spec";
	robotics::v3::mvc::ico_controller::attach(controller);
}
static void func_7107884411fb0a06de087cae924a313c() {
	rttr::registration::class_<class user>("user").constructor<>()().
		method("index",&user::index).
		method("load",&user::load)(rttr::default_arguments(int{},int{},std::string{},std::string{},std::string{}),rttr::parameter_names("page","limit","name","code","enable")).
		method("edit_view",&user::edit_view)(rttr::default_arguments(int{}),rttr::parameter_names("id")).
		method("edit",&user::edit)(rttr::default_arguments(web_user_config_info{}),rttr::parameter_names("value")).
		method("add_view",&user::add_view).
		method("add",&user::add)(rttr::default_arguments(web_user_config_info{}),rttr::parameter_names("value")).
		method("remove",&user::remove)(rttr::default_arguments(int{}),rttr::parameter_names("id"));
	std::shared_ptr<robotics::v3::mvc::controller> controller(new robotics::v3::mvc::controller());
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "index";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "user/index.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["user/index"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "page";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "limit";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "name";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "code";
			action->arguments.push_back(argument);
		}
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::String;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "enable";
			action->arguments.push_back(argument);
		}
		action->action_name = "load";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["user/load"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::QUERY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "user/edit.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["user/edit_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "edit";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["user/edit"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		action->action_name = "add_view";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "user/add.html";
		action->method = robotics::v3::mvc::http_method::GET;
		controller->actions["user/add_view"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Json;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "";
			action->arguments.push_back(argument);
		}
		action->action_name = "add";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/json";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["user/add"] = action;
	}
	{
		std::shared_ptr<robotics::v3::mvc::controller_action> action(new robotics::v3::mvc::controller_action());
		{
			std::shared_ptr<robotics::v3::mvc::action_argument> argument(new robotics::v3::mvc::action_argument());
			argument->argument_type_ = robotics::v3::mvc::argument_type::Int;
			argument->from_storage_type_ = robotics::v3::mvc::from_storage_type::BODY;
			argument->parameter_name_ = "id";
			action->arguments.push_back(argument);
		}
		action->action_name = "remove";
		action->parent = controller;
		action->authen = true;
		action->authen_jump = "";
		action->content_type = "application/x-www-form-urlencoded";
		action->action_type = "";
		action->file_mapping = "";
		action->method = robotics::v3::mvc::http_method::POST;
		controller->actions["user/remove"] = action;
	}
	controller->controller_name = "user";
	robotics::v3::mvc::ico_controller::attach(controller);
}
RTTR_REGISTRATION {
	func_5a2673d77fa33680c27c9488b2b70859();
	func_65318e10cfe3dbdbafdddbdeed5c9715();
	func_0c239546d8a3f0b09c79df8ed8b1694a();
	func_6991f8acfbd3e919711da2197edff4c9();
	func_c265b047cb090297dd3701be20b9b05f();
	func_68bf7ae5665a9dc642d5a44796206bfd();
	func_222bbfe2cd2e58e420d3c4bbdcb8746f();
	func_ee52b9e1328949d9d3dfcf62bf24cef9();
	func_05efc83d05d5d9270bc0e5f351f3b299();
	func_90c0111c7b5dea529b9e84f32fe01028();
	func_07f578c025ac4ca412e012ab4737c343();
	func_66dece66c18de0b4b12ee46b76ad9d18();
	func_981c6e9daa2e1312c33ce4f5b568e84e();
	func_76b7c1266e87bd4f2bdd086d19a81d82();
	func_154f757c4925606debc9b8f8cb57b47b();
	func_88c7e6e73687bd512f0ea845aabfaf60();
	func_606d45289cb6b14ae1ef6a890e099a04();
	func_11bea337b5e167948ec434d6b34a6aec();
	func_17efb9e6608d1334caa3c3ad2c94f26f();
	func_d2b3e2248d903963b2dac7380c85ea5e();
	func_7107884411fb0a06de087cae924a313c();
}
