master
陈熙豪 4 weeks ago
parent 42006bed36
commit 17a51c0e21

@ -0,0 +1,18 @@
# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
[Bb]in/
# Other files and folders
.settings/
# Executables
*.swf
*.air
*.ipa
*.apk
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
# should NOT be excluded as they contain compiler settings and other important
# information for Eclipse / Flash Builder.

@ -0,0 +1,72 @@
{
"files.associations": {
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"array": "cpp",
"atomic": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"bitset": "cpp",
"chrono": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"cstdint": "cpp",
"deque": "cpp",
"list": "cpp",
"map": "cpp",
"set": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"semaphore": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"variant": "cpp"
}
}

@ -0,0 +1,29 @@
{
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "enter program name, for example ${workspaceFolder}/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
],
"version": "2.0.0"
}

@ -0,0 +1,75 @@
{
"cmake.sourceDirectory": "/home/zzy1/2024/my-online-judge/MYOJ",
"files.associations": {
"chrono": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"array": "cpp",
"atomic": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"bitset": "cpp",
"compare": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"cstdint": "cpp",
"deque": "cpp",
"list": "cpp",
"map": "cpp",
"set": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"semaphore": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"typeinfo": "cpp",
"complex": "cpp",
"optional": "cpp",
"typeindex": "cpp",
"variant": "cpp",
"unordered_set": "cpp",
"shared_mutex": "cpp"
}
}

@ -0,0 +1,28 @@
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++-11 build active file",
"command": "/usr/bin/g++-11",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}

@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 3.10)
project(MYOJ)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ./output)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
add_executable(OJ_server ./OJ_server/OJ_server.cc)
target_link_libraries(OJ_server PRIVATE jsoncpp ctemplate mysqlclient)
add_executable(compile_server ./compile_server/compile_server.cc)
target_link_libraries(compile_server PRIVATE jsoncpp)
add_executable(data_server ./data_server/data_server.cc)
target_link_libraries(data_server PRIVATE jsoncpp ctemplate mysqlclient)

@ -0,0 +1,372 @@
#pragma once
#include <atomic>
#include <mutex>
#include <assert.h>
#include <jsoncpp/json/json.h>
#include "OJ_view.hpp"
#include "../comm/Comm_model_MySQL.hpp"
#include "../comm/util.hpp"
#include "../comm/httplib.h"
namespace ns_control
{
const std::string http_pattern = "/compile_and_run";
class Machine
{
public:
Machine(const std::string &IP, const uint16_t port)
: _IP(IP), _port(port), a_loads(0)
{
}
~Machine()
{
}
void inLoad()
{
a_loads.fetch_add(1, std::memory_order_relaxed);
}
void deLoad()
{
a_loads.fetch_sub(1, std::memory_order_relaxed);
}
void resetLoad()
{
a_loads.store(0, std::memory_order_relaxed);
}
uint32_t getLoad() const
{
return a_loads.load(std::memory_order_relaxed);
}
std::string getIP() const
{
return _IP;
}
uint16_t getPort() const
{
return _port;
}
Machine(const Machine &) = delete;
Machine &operator=(const Machine &) = delete;
Machine(Machine &&other) noexcept
: _IP(std::move(other._IP)), _port(other._port), a_loads(other.a_loads.load())
{
}
// 移动赋值运算符
Machine &operator=(Machine &&other) noexcept
{
if (this != &other)
{
_IP = std::move(other._IP);
_port = other._port;
a_loads.store(other.a_loads.load());
other.a_loads.store(0);
}
return *this;
}
private:
std::string _IP; // 主机IP地址
uint16_t _port; // 主机端口号
std::atomic_uint a_loads; // 负载量,原子类型,保证线程安全
};
const std::string conf_path = "/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/service_machine.conf";
class LoadBalance
{
public:
LoadBalance()
{
// 导入配置文件
if (!loadConf())
{
// 导入失败,差错问题以在loadConf中说明,此处直接退出
exit(1);
}
lg(Info, "加载配置文件%s成功!\n", conf_path.c_str());
}
~LoadBalance()
{
}
bool loadConf()
{
// 1.打开文件流
std::ifstream in(conf_path);
if (!in.is_open())
{
// 打开失败的情况
lg(Error, "加载配置文件%s失败, 请检查! errno: %d, strerror: %s\n", conf_path.c_str(), errno, strerror(errno));
return false;
}
std::string line; // 从文件流中读取缓冲区
std::vector<std::string> tokens; // 分割字符串后的结果缓冲区
while (getline(in, line))
{
ns_util::splitUtil::splitString(line, ":", &tokens);
if (tokens.size() != 2)
{
lg(Error, "分割字符串失败, errno: %d, strerror: %s\n", errno, strerror(errno));
return false;
}
Machine machine(tokens[0], stoi(tokens[1]));
// 先将配置文件中的所有主机按照上线处理
_onlines.push_back(_machines.size());
_machines.push_back(std::move(machine));
}
// 从文件流中读取完毕,回收资源
in.close();
return true;
}
// 两个输出型参数分别是主机的ID号和描述主机的二级指针以及返回是否选择成功
bool smartChoice(int *num, Machine **ppmachine)
{
// 1. 判断是否还有主机在线
_mutex.lock();
if (_onlines.size() == 0)
{
// 所有主机均已下线
lg(Fatal, "所有主机均已下线, 请运维人员检查主机状况!\n");
return false;
}
// 2.遍历所有在线的主机表,找到负载最小的主机号
int min_num = _onlines[0]; // 用来存储负载最小的主机的编号
uint32_t min_load = _machines[min_num].getLoad(); // 用来存储负载最小的主机的负载量
for (int i = 1; i < _onlines.size(); i++)
{
int tmp_num = _onlines[i];
uint32_t tmp_load = _machines[tmp_num].getLoad();
if (min_load > tmp_load)
{
min_load = tmp_load;
min_num = tmp_num;
}
}
_mutex.unlock();
*num = min_num;
*ppmachine = &_machines[min_num];
return true;
}
// 上线所有主机
void onlineMachine()
{
_mutex.lock();
_onlines.insert(_onlines.end(), _offlines.begin(), _offlines.end());
_offlines.clear();
_mutex.unlock();
}
// 展示所有主机分别将离线主机在线主机打印出来主要debug使用
void showMachine()
{
std::cout << "在线主机: ";
for (int x : _onlines)
{
std::cout << x << " ";
}
std::cout << std::endl;
std::cout << "离线主机: ";
for (int x : _offlines)
{
std::cout << x << " ";
}
std::cout << std::endl;
}
// 下线指定主机
void offlineMachine(int host_id)
{
_mutex.lock();
if (_machines.size() <= host_id)
{
lg(Warning, "要下线的主机: %d 不存在!\n", host_id);
return;
}
for (auto it = _onlines.begin(); it != _onlines.end(); it++)
{
if (*it == host_id)
{
// 由于直接break所以不需要考虑迭代器失效的问题
_onlines.erase(it);
_offlines.push_back(host_id);
break;
}
}
_mutex.unlock();
}
private:
std::vector<Machine> _machines; // 存储所有的主机,每个主机的下标就是天然的主机编号
std::vector<int> _onlines; // 记录所有上线状态的主机编号
std::vector<int> _offlines; // 记录所有下线状态的主机编号
std::mutex _mutex; // 锁由于STL不保证线程安全需要加锁保护
};
// 核心控制器
class Control
{
public:
Control()
{
}
~Control()
{
}
// 将所有主机恢复为在线状态
void recoveryMachine()
{
_lb.onlineMachine();
}
// 获取所有问题
bool allQuestions(std::string *html)
{
std::vector<ns_model_MySQL::Question> questions;
if (!_model.getAllQuestions(&questions))
{
lg(Error, "获取所有题目失败, 无法构成网页!\n");
*html = "获取所有题目失败, 无法构成网页!";
return false;
}
std::sort(questions.begin(), questions.end(),
[](const ns_model_MySQL::Question &q1, const ns_model_MySQL::Question &q2)
{
int num1 = std::stoi(q1.number);
int num2 = std::stoi(q2.number);
assert(!(num1 == num2));
return (num1 < num2);
});
_view.AllExpandHtml(questions, html);
return true;
}
bool oneQuestion(const std::string &num, std::string *html)
{
ns_model_MySQL::Question q;
if (!_model.getOneQuestion(num, &q))
{
lg(Error, "获取题号%s的题目信息失败, 无法构建网页!\n", num.c_str());
*html = "获取单个题目失败,无法构成网页!";
return false;
}
_view.OneExpandHtml(q, html);
return true;
}
void Judge(const std::string &num, const std::string &in_json, std::string *out_json)
{
// 1.根据题号,拿到相应的题目信息
ns_model_MySQL::Question q;
_model.getOneQuestion(num, &q);
// 2.对题目信息反序列化,保存到json串中,其中in_json中的主要信息有code和input
Json::Value in_value;
Json::Reader reader;
reader.parse(in_json, in_value);
// 3.构建compile_server所需要的json串
Json::Value compile_value;
std::string code = in_value["code"].asString();
code += "\n";
code += q.tail;
compile_value["code"] = code;
compile_value["input"] = in_value["input"].asString();
compile_value["cpu_limit"] = q.cpu_limit;
compile_value["mem_limit"] = q.mem_limit;
Json::FastWriter writer;
std::string compile_string = writer.write(compile_value);
// 4.选择负载均衡最低的主机
// 注意:并不是一寻找就能找到的,可能找到的主机已经挂掉了
// 这个时候就要将挂掉的主机放入offlines中
// 然后再去寻找新的主机
// 这样结果要么就直接找到,要么就全部挂掉
int host_id = 0;
while (true)
{
Machine *pmachine = nullptr;
if (!_lb.smartChoice(&host_id, &pmachine))
{
// 主机全挂了
break;
}
// 选到了一个主机
// 5. 向主机发送http请求,得到结果,通过返回的状态码判断主机是否还在线
httplib::Client cli(pmachine->getIP(), pmachine->getPort());
// 发送post请求并增加负载
pmachine->inLoad();
lg(Info, "选择主机id: %d, ip: %s, port: %d, load: %d 尝试进行编译运行服务...\n",
host_id, pmachine->getIP().c_str(), pmachine->getPort(), pmachine->getLoad());
// std::cout << "发起判题请求" << http_pattern.c_str() << std::endl;
httplib::Result res = cli.Post(http_pattern.c_str(), compile_string, "application/json;charset=utf-8");
// httplib::Result 类型使httplib库中的定义的类其中重载了->操作符
// 可以用于获取response中的各种信息
// 判断结果有效并且状态码为200才说明是成功的
if (res && res->status == 200)
{
*out_json = res->body;
// 请求完毕,减少负载
pmachine->deLoad();
lg(Info, "编译运行服务完成...\n");
break;
}
else
{
// 失败,需要重新请求,并且将此次选择的主机放到下线表中
lg(Warning, "本次请求的主机id: %d, 请求失败, ip: %s, port: %d\n",
host_id, pmachine->getIP().c_str(), pmachine->getPort());
pmachine->resetLoad();
_lb.offlineMachine(host_id);
_lb.showMachine(); // for debug
}
}
}
private:
ns_view::View _view;
ns_model_MySQL::Model _model;
LoadBalance _lb;
};
}

@ -0,0 +1,75 @@
#include <fstream>
#include <iostream>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include "OJ_Control.hpp"
static ns_control::Control *ctrl_ptr = nullptr;
void recovery(int signo)
{
ctrl_ptr->recoveryMachine();
}
int main(int argc, char *argv[])
{
// 0、修改指定信号的默认行为把ctrl + \产生的SIGQUIT信号重定向为一键上线所有主机交由运维使用
signal(SIGQUIT, recovery);
// 1、守护进程化
if (argc == 2)
{
std::string option(argv[1]);
if (option == "-d")
{
// 1、守护进程化
if (daemon(1, 0) == -1)
{
perror("OJ_server 守护进程化失败!\n");
exit(1);
}
}
}
// 2、用户请求的服务路由功能用户不同的请求前往不同的区域
httplib::Server svr; // httplib中的Server类
ns_control::Control ctrl; // 核心业务逻辑的控制器(初始化的同时,加载题库)
ctrl_ptr = &ctrl;
// 3、搭建首页告诉httplib服务器使用指定的目录作为静态文件服务的根目录在找不到任何对应路由请求的情况下使用这个目录下的文件作为响应即首页文件
svr.set_base_dir("/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/wwwroot");
// 3.1 获取所有题目的列表
svr.Get("/all_questions", [&ctrl](const httplib::Request &req, httplib::Response &resp)
{
std::string html;
ctrl.allQuestions(&html);
resp.set_content(html, "text/html; charset=utf-8"); });
// 3.2 用户提供题目编号来获取题目内容
svr.Get(R"(/question/(\d+))", [&ctrl](const httplib::Request &req, httplib::Response &resp)
{
std::string number = req.matches[1]; //matches[1]中储存着正则匹配到的字符
std::string html;
ctrl.oneQuestion(number, &html);
resp.set_content(html, "text/html; charset=utf-8"); });
// 3.3 用户提交代码,使用我们的判题功能
// 尽管POST请求的参数是在正文当中的但是调用函数的时候还是要根据URL路径来调用因为HTTP 服务器的核心功能之一是根据客户端请求的 URL 路径来决定如何处理请求。路由机制确保了不同类型的请求可以被正确地路由到相应的处理函数。)
svr.Post(R"(/judge/(\d+))", [&ctrl](const httplib::Request &req, httplib::Response &resp)
{
std::string number = req.matches[1];
std::string result_json;
ctrl.Judge(number, req.body /* POST请求的参数存放在正文当中 */, &result_json);
resp.set_content(result_json, "application/json;charset=utf-8"); });
svr.listen("0.0.0.0", 8081);
return 0;
}

@ -0,0 +1,71 @@
// 通常是拿到数据之后,进行构建网页,渲染网络内容,展示给用户的(浏览器功能)
#pragma once
#include <iostream>
#include <string>
#include <ctemplate/template.h>
#include "../comm/Comm_model_MySQL.hpp"
namespace ns_view
{
using namespace std;
using namespace ns_model_MySQL;
const string template_path = "/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/template_html/";
class View
{
public:
View()
{
}
~View()
{
}
public:
void AllExpandHtml(const vector<Question> &questions, string *html)
{
// 题目的编号 题目的标题 题目的难度
// 推荐使用表格显示
// 1. 形成路径
string src_html = template_path + "all_questions.html";
// 2. 形成数据字典
ctemplate::TemplateDictionary root("all_questions");
for (const auto &q : questions)
{
ctemplate::TemplateDictionary *sub = root.AddSectionDictionary("question_list");
sub->SetValue("number", q.number);
sub->SetValue("title", q.title);
sub->SetValue("star", q.star);
}
// 3. 获取被渲染的html
ctemplate::Template *tpl = ctemplate::Template::GetTemplate(src_html, ctemplate::DO_NOT_STRIP);
// 4. 开始完成渲染功能
tpl->Expand(html, &root);
}
void OneExpandHtml(const Question &q, string *html)
{
// 1. 形成路径
string src_html = template_path + "one_question.html";
// 2. 形成数据字典(不需要循环了,只有一个题目)
ctemplate::TemplateDictionary root("one_question");
root.SetValue("number", q.number);
root.SetValue("title", q.title);
root.SetValue("star", q.star);
root.SetValue("desc", q.desc);
root.SetValue("pre_code", q.header);
// 3. 获取被渲染的html
ctemplate::Template *tpl = ctemplate::Template::GetTemplate(src_html, ctemplate::DO_NOT_STRIP);
// 4. 开始完成渲染功能
tpl->Expand(html, &root);
}
};
}

@ -0,0 +1,6 @@
OJ_server:OJ_server.cc
g++ -o $@ $^ -std=c++11 -ljsoncpp -lctemplate -lmysqlclient
.PHONY:clean
clean:
rm -rf OJ_server

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>在线OJ - 题目列表</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<style>
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
background-color: #f0f2f5;
color: #333;
}
/* 容器样式 */
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* 导航栏样式 */
.navbar {
background-color: #ffffff;
padding: 15px 20px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
display: flex;
justify-content: space-between;
align-items: center;
}
.navbar a {
color: #3c3c3c;
text-decoration: none;
margin-right: 20px;
font-size: 16px;
transition: color 0.3s ease;
}
.navbar a:hover {
color: #1890ff;
}
.navbar .login {
background-color: #1890ff;
color: white;
padding: 8px 16px;
border-radius: 4px;
transition: background-color 0.3s ease;
}
.navbar .login:hover {
background-color: #40a9ff;
}
/* 题目列表区域样式 */
.question-list-container {
padding: 40px;
flex: 1;
}
.question-list-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.question-list-title {
font-size: 24px;
font-weight: 600;
color: #2c3e50;
}
.question-list-table {
width: 100%;
border-collapse: collapse;
background-color: white;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.question-list-table th,
.question-list-table td {
padding: 12px 16px;
text-align: left;
border-bottom: 1px solid #e8e8e8;
}
.question-list-table th {
background-color: #f5f5f5;
font-weight: 600;
}
.question-list-table td a {
color: #1890ff;
text-decoration: none;
transition: color 0.3s ease;
}
.question-list-table td a:hover {
color: #40a9ff;
}
/* 页脚样式 */
.footer {
background-color: #ffffff;
padding: 15px 20px;
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
text-align: center;
font-size: 14px;
color: #666;
}
.nav-left {
display: flex; /* 左侧元素也使用 flexbox */
align-items: center; /* 垂直居中 */
}
</style>
</head>
<body>
<div class="container">
<!-- 导航栏 -->
<div class="navbar">
<div class="nav-left">
<a href="/"><i class="fas fa-home"></i> 首页</a>
<a href="/all_questions"><i class="fas fa-list"></i> 题库</a>
<a href="#"><i class="fas fa-trophy"></i> 竞赛</a>
<a href="#"><i class="fas fa-comments"></i> 讨论</a>
<a href="#"><i class="fas fa-briefcase"></i> 求职</a>
</div>
<a class="login" href="#"><i class="fas fa-user"></i> 登录</a>
</div>
<!-- 题目列表区域 -->
<div class="question-list-container">
<div class="question-list-header">
<h1 class="question-list-title">Online Judge 题目列表</h1>
</div>
<table class="question-list-table">
<thead>
<tr>
<th>编号</th>
<th>标题</th>
<th>难度</th>
</tr>
</thead>
<tbody>
{{#question_list}}
<tr>
<td>{{number}}</td>
<td><a href="/question/{{number}}">{{title}}</a></td>
<td>{{star}}</td>
</tr>
{{/question_list}}
</tbody>
</table>
</div>
<!-- 页脚 -->
<!-- <div class="footer">
&copy; 2024 zzy33989. All rights reserved.
</div> -->
</div>
</body>
</html>

@ -0,0 +1,276 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{number}}.{{title}}</title>
<!-- 引入 Ace 编辑器相关脚本 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.6/ace.js" type="text/javascript"
charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.6/ext-language_tools.js" type="text/javascript"
charset="utf-8"></script>
<!-- 引入 jQuery -->
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<!-- 引入 Font Awesome 图标库 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<style>
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f0f2f5;
}
/* 容器样式 */
.container {
display: flex;
flex-direction: column;
height: 100vh;
}
/* 导航栏样式 */
.navbar {
background-color: #ffffff;
padding: 10px 20px;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar a {
color: #3c3c3c;
text-decoration: none;
margin: 0 15px;
font-weight: 500;
transition: color 0.3s ease;
}
.navbar a:hover {
color: #40a9ff;
}
.navbar .login {
background-color: #40a9ff;
color: white;
padding: 8px 16px;
border-radius: 4px;
transition: background-color 0.3s ease;
}
.navbar .login:hover {
background-color: #1890ff;
}
/* 主要内容区域样式 */
.part1 {
display: flex;
flex-grow: 1;
overflow: hidden;
background-color: #ffffff;
margin: 20px;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
/* 左侧题目描述区域 */
.left_desc {
width: 50%;
padding: 20px;
overflow-y: auto;
border-right: 1px solid #e8e8e8;
}
.left_desc h3 {
margin-bottom: 15px;
font-size: 1.5em;
color: #1a1a1a;
}
.left_desc pre {
white-space: pre-wrap;
font-family: 'Courier New', Courier, monospace;
background-color: #f5f5f5;
padding: 15px;
border-radius: 4px;
}
/* 右侧代码编辑器区域 */
.right_code {
width: 50%;
display: flex;
flex-direction: column;
overflow-y: auto;
/* 添加此行 */
}
.ace_editor {
flex-grow: 1;
}
/* 底部提交区域 */
.part2 {
padding: 15px;
background-color: #ffffff;
border-top: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
}
.btn-submit {
background-color: #52c41a;
color: white;
border: none;
padding: 10px 20px;
cursor: pointer;
font-size: 16px;
border-radius: 4px;
transition: background-color 0.3s ease;
}
.btn-submit:hover {
background-color: #389e0d;
}
.result {
flex-grow: 1;
margin-right: 20px;
}
/* 难度标签样式 */
.difficulty {
display: inline-block;
padding: 3px 8px;
border-radius: 3px;
font-size: 12px;
margin-left: 10px;
font-weight: bold;
}
.easy {
background-color: #52c41a;
color: white;
}
.medium {
background-color: #faad14;
color: white;
}
.hard {
background-color: #f5222d;
color: white;
}
</style>
</head>
<body>
<div class="container">
<!-- 导航栏 -->
<div class="navbar">
<div>
<a href="/"><i class="fas fa-home"></i> 首页</a>
<a href="/all_questions"><i class="fas fa-list"></i> 题库</a>
<a href="#"><i class="fas fa-trophy"></i> 竞赛</a>
<a href="#"><i class="fas fa-comments"></i> 讨论</a>
<a href="#"><i class="fas fa-briefcase"></i> 求职</a>
</div>
<a class="login" href="#"><i class="fas fa-user"></i> 登录</a>
</div>
<!-- 主要内容区域 -->
<div class="part1">
<!-- 左侧题目描述 -->
<div class="left_desc">
<h3>
<span id="number">{{number}}</span>.{{title}}
<span class="difficulty {{star}}">{{star}}</span>
</h3>
<pre>{{desc}}</pre>
</div>
<!-- 右侧代码编辑器 -->
<div class="right_code">
<div id="code" class="ace_editor"><textarea class="ace_text-input">{{pre_code}}</textarea></div>
</div>
</div>
<!-- 底部提交区域 -->
<div class="part2">
<div class="result"></div>
<button class="btn-submit" onclick="submit()"><i class="fas fa-paper-plane"></i> 提交代码</button>
</div>
</div>
<script>
// 初始化 Ace 编辑器
var editor = ace.edit("code");
editor.setTheme("ace/theme/monokai");
editor.session.setMode("ace/mode/c_cpp");
editor.setFontSize(16);
editor.getSession().setTabSize(4);
editor.setReadOnly(false);
ace.require("ace/ext/language_tools");
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});
// 提交代码函数
function submit() {
var code = editor.getSession().getValue();
var number = $("#number").text();
var judge_url = "/judge/" + number;
$.ajax({
method: 'Post',
url: judge_url,
dataType: 'json',
contentType: 'application/json;charset=utf-8',
data: JSON.stringify({
'code': code,
'input': ''
}),
success: function (data) {
show_result(data);
}
});
}
// 显示结果函数
function show_result(data) {
var result_div = $(".result");
result_div.empty();
var _status = data.status;
var _reason = data.reason;
var reason_label = $("<p>", { text: _reason });
reason_label.appendTo(result_div);
if (_status == 0) {
var _stdout = data.stdout;
var _stderr = data.stderr;
var stdout_label = $("<pre>", { text: _stdout });
var stderr_label = $("<pre>", { text: _stderr });
stdout_label.appendTo(result_div);
stderr_label.appendTo(result_div);
}
}
</script>
<!--PC版-->
<div id="SOHUCS" sid={{number}}.{{title}}></div>
<script charset="utf-8" type="text/javascript" src="https://cy-cdn.kuaizhan.com/upload/changyan.js"></script>
<script type="text/javascript">
window.changyan.api.config({
appid: 'cyxvREibp',
conf: 'prod_0eeee7deaa033b896c3fd301b0e2c3d3'
});
</script>
</body>
</html>

@ -0,0 +1,233 @@
<!-- <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的个人OJ系统</title>
<style>
/* 起手式, 100%保证我们的样式设置可以不受默认影响 */
* {
/* 消除网页的默认外边距 */
margin: 0px;
/* 消除网页的默认内边距 */
padding: 0px;
}
html,
body {
width: 100%;
height: 100%;
}
.container .navbar {
width: 100%;
height: 50px;
background-color: black;
/* 给父级标签设置overflow取消后续float带来的影响 */
overflow: hidden;
}
.container .navbar a {
/* 设置a标签是行内块元素允许你设置宽度 */
display: inline-block;
/* 设置a标签的宽度,a标签默认行内元素无法设置宽度 */
width: 80px;
/* 设置字体颜色 */
color: white;
/* 设置字体的大小 */
font-size: large;
/* 设置文字的高度和导航栏一样的高度 */
line-height: 50px;
/* 去掉a标签的下划线 */
text-decoration: none;
/* 设置a标签中的文字居中 */
text-align: center;
}
/* 设置鼠标事件 */
.container .navbar a:hover {
background-color: green;
}
.container .navbar .login {
float: right;
}
.container .content {
/* 设置标签的宽度 */
width: 800px;
/* 用来调试 */
/* background-color: #ccc; */
/* 整体居中 */
margin: 0px auto;
/* 设置文字居中 */
text-align: center;
/* 设置上外边距 */
margin-top: 200px;
}
.container .content .font_ {
/* 设置标签为块级元素,独占一行,可以设置高度宽度等属性 */
display: block;
/* 设置每个文字的上外边距 */
margin-top: 20px;
/* 去掉a标签的下划线 */
text-decoration: none;
/* 设置字体大小
font-size: larger; */
}
</style>
</head>
<body>
<div class="container">
导航栏, 功能不实现
<div class="navbar">
<a href="/">首页</a>
<a href="/all_questions">题库</a>
<a href="#">竞赛</a>
<a href="#">讨论</a>
<a href="#">求职</a>
<a class="login" href="#">登录</a>
</div>
网页的内容
<div class="content">
<h1 class="font_">欢迎来到我的OnlineJudge平台</h1>
<p class="font_">这是我个人独立开发的一个在线OJ平台</p>
<a class="font_" href="/all_questions">点击我开始编程</a>
</div>
</div>
</body>
</html> -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OJ系统</title>
<!-- 引入Font Awesome图标库 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<style>
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
background-color: #f0f2f5;
color: #333;
}
/* 容器样式 */
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* 导航栏样式 */
.navbar {
background-color: #ffffff;
padding: 15px 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.navbar a {
color: #3c3c3c;
text-decoration: none;
margin-right: 20px;
font-size: 16px;
transition: color 0.3s ease;
}
.navbar a:hover {
color: #1890ff;
}
.navbar .login {
float: right;
background-color: #1890ff;
color: white;
padding: 8px 16px;
border-radius: 4px;
transition: background-color 0.3s ease;
}
.navbar .login:hover {
background-color: #40a9ff;
}
/* 内容区域样式 */
.content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 40px;
text-align: center;
}
.content h1 {
font-size: 2.5em;
margin-bottom: 20px;
color: #1890ff;
}
.content p {
font-size: 1.2em;
margin-bottom: 30px;
max-width: 600px;
line-height: 1.6;
}
.content a {
display: inline-block;
background-color: #52c41a;
color: white;
padding: 12px 24px;
text-decoration: none;
border-radius: 4px;
font-size: 1.1em;
transition: background-color 0.3s ease;
}
.content a:hover {
background-color: #389e0d;
}
</style>
</head>
<body>
<div class="container">
<!-- 导航栏 -->
<div class="navbar">
<a href="/"><i class="fas fa-home"></i> 首页</a>
<a href="/all_questions"><i class="fas fa-list"></i> 题库</a>
<a href="#"><i class="fas fa-trophy"></i> 竞赛</a>
<a href="#"><i class="fas fa-comments"></i> 讨论</a>
<a href="#"><i class="fas fa-briefcase"></i> 求职</a>
<a class="login" href="#"><i class="fas fa-user"></i> 登录</a>
</div>
<!-- 网页的主要内容 -->
<div class="content">
<h1>欢迎来到OnlineJudge平台</h1>
<p>这是一个独立开发的在线OJ平台旨在为编程爱好者提供优质的学习和练习环境。在这里你可以挑战各种编程题目提升你的编程技能。</p>
<a href="/all_questions">开始编程之旅 <i class="fas fa-arrow-right"></i></a>
</div>
</div>
</body>
</html>

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>欢迎 - 用户登录/注册</title>
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
</head>
<body>
<div class="container">
<!-- 登录表单容器 -->
<div class="form-container" id="loginForm">
<img src="logo.png" alt="Logo" class="logo">
<h2>欢迎回来</h2>
<form onsubmit="return validateLogin()">
<div class="input-group">
<i class="fas fa-envelope"></i>
<input type="email" id="loginEmail" placeholder="邮箱" required>
</div>
<div class="input-group">
<i class="fas fa-lock"></i>
<input type="password" id="loginPassword" placeholder="密码" required>
</div>
<button type="submit" class="btn-primary">登录</button>
</form>
<div class="social-login">
<button class="btn-social btn-wechat"><i class="fab fa-weixin"></i> 微信登录</button>
<button class="btn-social btn-qq"><i class="fab fa-qq"></i> QQ登录</button>
</div>
<p>还没有账号?<a href="#" onclick="toggleForm()">立即注册</a></p>
</div>
<!-- 注册表单容器 -->
<div class="form-container" id="registerForm" style="display: none;">
<img src="logo.png" alt="Logo" class="logo">
<h2>创建账号</h2>
<form onsubmit="return validateRegister()">
<div class="input-group">
<i class="fas fa-user"></i>
<input type="text" id="registerUsername" placeholder="用户名" required>
</div>
<div class="input-group">
<i class="fas fa-envelope"></i>
<input type="email" id="registerEmail" placeholder="邮箱" required>
</div>
<div class="input-group">
<i class="fas fa-lock"></i>
<input type="password" id="registerPassword" placeholder="密码" required>
</div>
<div class="input-group">
<i class="fas fa-lock"></i>
<input type="password" id="confirmPassword" placeholder="确认密码" required>
</div>
<button type="submit" class="btn-primary">注册</button>
</form>
<p>已有账号?<a href="#" onclick="toggleForm()">立即登录</a></p>
</div>
</div>
<script src="script.js"></script>
</body>
</html>

@ -0,0 +1,60 @@
function toggleForm() {
// 获取登录表单和注册表单元素
const loginForm = document.getElementById('loginForm');
const registerForm = document.getElementById('registerForm');
// 切换表单的显示状态
if (loginForm.style.display === 'none') {
loginForm.style.display = 'block';
registerForm.style.display = 'none';
} else {
loginForm.style.display = 'none';
registerForm.style.display = 'block';
}
}
function validateLogin() {
// 获取用户输入的邮箱和密码
const email = document.getElementById('loginEmail').value;
const password = document.getElementById('loginPassword').value;
// 简单的前端验证:检查是否为空
if (email === '' || password === '') {
alert('请填写所有字段');
return false;
}
// TODO: 添加更完善的验证逻辑和与后端的交互
// 模拟登录成功跳转
// alert('登录成功!');
window.location.href = 'index.html';
return false;
}
function validateRegister() {
// 获取用户输入的用户名、邮箱、密码和确认密码
const username = document.getElementById('registerUsername').value;
const email = document.getElementById('registerEmail').value;
const password = document.getElementById('registerPassword').value;
const confirmPassword = document.getElementById('confirmPassword').value;
// 简单的前端验证:检查是否为空
if (username === '' || email === '' || password === '' || confirmPassword === '') {
alert('请填写所有字段');
return false;
}
// 简单的前端验证:检查密码是否一致
if (password !== confirmPassword) {
alert('密码不匹配');
return false;
}
// TODO: 添加更完善的验证逻辑和与后端的交互
// 模拟注册成功跳转
// alert('注册成功!');
window.location.href = 'index.html';
return false;
}

@ -0,0 +1,116 @@
body {
font-family: 'Arial', sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f2f5; /* 浅灰色背景 */
}
.container {
background-color: white;
padding: 30px 40px; /* 增加内边距 */
border-radius: 8px; /* 更圆润的边角 */
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); /* 更柔和的阴影 */
}
.form-container {
width: 380px; /* 调整宽度 */
}
h2 {
text-align: center;
color: #333;
margin-bottom: 20px; /* 增加标题底部间距 */
}
form {
display: flex;
flex-direction: column;
}
.input-group {
position: relative; /* 用于放置图标 */
margin-bottom: 15px; /* 调整输入框间距 */
}
/* ...其他样式... */
input {
width: 100%;
padding: 12px 12px;
padding-left: 40px; /* 为图标留出空间 */
border: 1px solid #d9d9d9;
border-radius: 4px;
box-sizing: border-box;
}
.input-group i {
position: absolute;
top: 50%;
left: 12px;
transform: translateY(-50%);
color: #999;
}
/* ...其他样式... */
button {
background-color: #1890ff; /* LeetCode 蓝色 */
color: white;
padding: 12px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s ease; /* 添加过渡效果 */
}
button:hover {
background-color: #40a9ff; /* 更深的蓝色 */
}
p {
text-align: center;
margin-top: 15px;
}
a {
color: #1890ff;
text-decoration: none;
}
/* 社交登录按钮样式 */
.social-login {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.btn-social {
width: 48%;
padding: 10px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
}
.btn-wechat {
background-color: #09bb07; /* 微信绿色 */
color: white;
}
.btn-qq {
background-color: #00a0e9; /* QQ蓝色 */
color: white;
}
.btn-social i {
margin-right: 8px;
}

@ -0,0 +1 @@
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]}

@ -0,0 +1,136 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.22.1/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.22.1/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/home/zzy1/2024/my-online-judge/MYOJ/build",
"source" : "/home/zzy1/2024/my-online-judge/MYOJ"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

@ -0,0 +1,78 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"projectIndex" : 0,
"source" : ".",
"targetIndexes" :
[
0,
1,
2
]
}
],
"name" : "Debug",
"projects" :
[
{
"directoryIndexes" :
[
0
],
"name" : "MYOJ",
"targetIndexes" :
[
0,
1,
2
]
}
],
"targets" :
[
{
"directoryIndex" : 0,
"id" : "OJ_server::@6890427a1f51a3e7e1df",
"jsonFile" : "target-OJ_server-Debug-b3c4d7afb40038cf7482.json",
"name" : "OJ_server",
"projectIndex" : 0
},
{
"directoryIndex" : 0,
"id" : "compile_server::@6890427a1f51a3e7e1df",
"jsonFile" : "target-compile_server-Debug-f354d14ff60db7eb7dbe.json",
"name" : "compile_server",
"projectIndex" : 0
},
{
"directoryIndex" : 0,
"id" : "data_server::@6890427a1f51a3e7e1df",
"jsonFile" : "target-data_server-Debug-10f607b1341a826026e7.json",
"name" : "data_server",
"projectIndex" : 0
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "/home/zzy1/2024/my-online-judge/MYOJ/build",
"source" : "/home/zzy1/2024/my-online-judge/MYOJ"
},
"version" :
{
"major" : 2,
"minor" : 3
}
}

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

@ -0,0 +1,132 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Unix Makefiles"
},
"paths" :
{
"cmake" : "/usr/bin/cmake",
"cpack" : "/usr/bin/cpack",
"ctest" : "/usr/bin/ctest",
"root" : "/usr/share/cmake-3.22"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 22,
"patch" : 1,
"string" : "3.22.1",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-3a02eaf0c5ec9f085ccc.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "cache-v2-0c65574fb2b09fe3b98e.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-3c45878c05d9c4e2f5e8.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "toolchains-v1-7286679ae278c4c667e3.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-vscode" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
},
{
"kind" : "cmakeFiles",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-0c65574fb2b09fe3b98e.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-3a02eaf0c5ec9f085ccc.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "toolchains-v1-7286679ae278c4c667e3.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-3c45878c05d9c4e2f5e8.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
}
]
}
}
}
}

@ -0,0 +1,124 @@
{
"artifacts" :
[
{
"path" : "output/OJ_server"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries"
],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 8,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 9,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g"
},
{
"fragment" : "-std=gnu++11"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "OJ_server::@6890427a1f51a3e7e1df",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"backtrace" : 2,
"fragment" : "-ljsoncpp",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "-lctemplate",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "-lmysqlclient",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "OJ_server",
"nameOnDisk" : "OJ_server",
"paths" :
{
"build" : ".",
"source" : "."
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "OJ_server/OJ_server.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

@ -0,0 +1,114 @@
{
"artifacts" :
[
{
"path" : "output/compile_server"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries"
],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 12,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g"
},
{
"fragment" : "-std=gnu++11"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "compile_server::@6890427a1f51a3e7e1df",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"backtrace" : 2,
"fragment" : "-ljsoncpp",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "compile_server",
"nameOnDisk" : "compile_server",
"paths" :
{
"build" : ".",
"source" : "."
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "compile_server/compile_server.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

@ -0,0 +1,124 @@
{
"artifacts" :
[
{
"path" : "output/data_server"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries"
],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 14,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 15,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g"
},
{
"fragment" : "-std=gnu++11"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "data_server::@6890427a1f51a3e7e1df",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"backtrace" : 2,
"fragment" : "-ljsoncpp",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "-lctemplate",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "-lmysqlclient",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "data_server",
"nameOnDisk" : "data_server",
"paths" :
{
"build" : ".",
"source" : "."
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "data_server/data_server.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

@ -0,0 +1,107 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/9/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"linkDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/9",
"/usr/lib/x86_64-linux-gnu",
"/usr/lib",
"/lib/x86_64-linux-gnu",
"/lib"
],
"linkFrameworkDirectories" : [],
"linkLibraries" :
[
"gcc",
"gcc_s",
"c",
"gcc",
"gcc_s"
]
},
"path" : "/usr/bin/gcc-9",
"version" : "9.5.0"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/usr/include/c++/9",
"/usr/include/x86_64-linux-gnu/c++/9",
"/usr/include/c++/9/backward",
"/usr/lib/gcc/x86_64-linux-gnu/9/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"linkDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/9",
"/usr/lib/x86_64-linux-gnu",
"/usr/lib",
"/lib/x86_64-linux-gnu",
"/lib"
],
"linkFrameworkDirectories" : [],
"linkLibraries" :
[
"stdc++",
"m",
"gcc_s",
"gcc",
"c",
"gcc_s",
"gcc"
]
},
"path" : "/usr/bin/g++-9",
"version" : "9.5.0"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

@ -0,0 +1,368 @@
# This is the CMakeCache file.
# For build in directory: /home/zzy1/2024/my-online-judge/MYOJ/build
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//No help, variable specified on the command line.
CMAKE_BUILD_TYPE:STRING=Debug
//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
//No help, variable specified on the command line.
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++-9
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//No help, variable specified on the command line.
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc-9
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//No help, variable specified on the command line.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=MYOJ
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Path to a program.
CMAKE_READELF:FILEPATH=/usr/bin/readelf
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Value Computed by CMake
MYOJ_BINARY_DIR:STATIC=/home/zzy1/2024/my-online-judge/MYOJ/build
//Value Computed by CMake
MYOJ_IS_TOP_LEVEL:STATIC=ON
//Value Computed by CMake
MYOJ_SOURCE_DIR:STATIC=/home/zzy1/2024/my-online-judge/MYOJ
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/zzy1/2024/my-online-judge/MYOJ/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=22
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/zzy1/2024/my-online-judge/MYOJ
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1

@ -0,0 +1,72 @@
set(CMAKE_C_COMPILER "/usr/bin/gcc-9")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "9.5.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

@ -0,0 +1,83 @@
set(CMAKE_CXX_COMPILER "/usr/bin/g++-9")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "9.5.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

@ -0,0 +1,15 @@
set(CMAKE_HOST_SYSTEM "Linux-5.15.0-102-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-102-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-5.15.0-102-generic")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "5.15.0-102-generic")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

@ -0,0 +1,803 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
#if defined(__CLASSIC_C__)
/* cv-qualifiers did not exist in K&R C */
# define const
# define volatile
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__BCC__)
# define COMPILER_ID "Bruce"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
# define COMPILER_ID "SDCC"
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if !defined(__STDC__) && !defined(__clang__)
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
# define C_VERSION "90"
# else
# define C_VERSION
# endif
#elif __STDC_VERSION__ > 201710L
# define C_VERSION "23"
#elif __STDC_VERSION__ >= 201710L
# define C_VERSION "17"
#elif __STDC_VERSION__ >= 201000L
# define C_VERSION "11"
#elif __STDC_VERSION__ >= 199901L
# define C_VERSION "99"
#else
# define C_VERSION "90"
#endif
const char* info_language_standard_default =
"INFO" ":" "standard_default[" C_VERSION "]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
#if (defined(__clang__) || defined(__GNUC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
# if defined(__CLASSIC_C__)
int main(argc, argv) int argc; char *argv[];
# else
int main(int argc, char* argv[])
# endif
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
#endif

@ -0,0 +1,791 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__COMO__)
# define COMPILER_ID "Comeau"
/* __COMO_VERSION__ = VRR */
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
#elif defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
# if defined(__INTEL_CXX11_MODE__)
# if defined(__cpp_aggregate_nsdmi)
# define CXX_STD 201402L
# else
# define CXX_STD 201103L
# endif
# else
# define CXX_STD 199711L
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# define CXX_STD _MSVC_LANG
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > 202002L
"23"
#elif CXX_STD > 201703L
"20"
#elif CXX_STD >= 201703L
"17"
#elif CXX_STD >= 201402L
"14"
#elif CXX_STD >= 201103L
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
#if (defined(__clang__) || defined(__GNUC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}

@ -0,0 +1,16 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/zzy1/2024/my-online-judge/MYOJ")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/zzy1/2024/my-online-judge/MYOJ/build")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

@ -0,0 +1,441 @@
The system is: Linux - 5.15.0-102-generic - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/gcc-9
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
The C compiler identification is GNU, found in "/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/3.22.1/CompilerIdC/a.out"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/g++-9
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
The CXX compiler identification is GNU, found in "/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out"
Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_87dbc/fast && /usr/bin/gmake -f CMakeFiles/cmTC_87dbc.dir/build.make CMakeFiles/cmTC_87dbc.dir/build
gmake[1]: Entering directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o
/usr/bin/gcc-9 -v -o CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc-9
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc1VMYF9.s
GNU C17 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)
compiled by GNU C version 9.5.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/9/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C17 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)
compiled by GNU C version 9.5.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c06b418b6d49939739c4e6ad993cce11
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o /tmp/cc1VMYF9.s
GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
Linking C executable cmTC_87dbc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87dbc.dir/link.txt --verbose=1
/usr/bin/gcc-9 -v CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -o cmTC_87dbc
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc-9
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_87dbc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdiFlYn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_87dbc /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_87dbc' '-mtune=generic' '-march=x86-64'
gmake[1]: Leaving directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp'
Parsed C implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
add: [/usr/local/include]
add: [/usr/include/x86_64-linux-gnu]
add: [/usr/include]
end of search list found
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
Parsed C implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_87dbc/fast && /usr/bin/gmake -f CMakeFiles/cmTC_87dbc.dir/build.make CMakeFiles/cmTC_87dbc.dir/build]
ignore line: [gmake[1]: Entering directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp']
ignore line: [Building C object CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/gcc-9 -v -o CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/gcc-9]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc1VMYF9.s]
ignore line: [GNU C17 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.5.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include/x86_64-linux-gnu]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C17 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.5.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: c06b418b6d49939739c4e6ad993cce11]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o /tmp/cc1VMYF9.s]
ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [Linking C executable cmTC_87dbc]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87dbc.dir/link.txt --verbose=1]
ignore line: [/usr/bin/gcc-9 -v CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -o cmTC_87dbc ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/gcc-9]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_87dbc' '-mtune=generic' '-march=x86-64']
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdiFlYn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_87dbc /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/ccdiFlYn.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [--build-id] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [--as-needed] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore
arg [-znow] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTC_87dbc] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
arg [CMakeFiles/cmTC_87dbc.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [--push-state] ==> ignore
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--pop-state] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [--push-state] ==> ignore
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--pop-state] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_3be0a/fast && /usr/bin/gmake -f CMakeFiles/cmTC_3be0a.dir/build.make CMakeFiles/cmTC_3be0a.dir/build
gmake[1]: Entering directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/g++-9 -v -o CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/usr/bin/g++-9
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccpNL4RP.s
GNU C++14 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)
compiled by GNU C version 9.5.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/9
/usr/include/x86_64-linux-gnu/c++/9
/usr/include/c++/9/backward
/usr/lib/gcc/x86_64-linux-gnu/9/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C++14 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)
compiled by GNU C version 9.5.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 092909160e28bd24f51a09482980c4ba
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccpNL4RP.s
GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_3be0a
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3be0a.dir/link.txt --verbose=1
/usr/bin/g++-9 -v CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3be0a
Using built-in specs.
COLLECT_GCC=/usr/bin/g++-9
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3be0a' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHAVvpy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_3be0a /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3be0a' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
gmake[1]: Leaving directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp'
Parsed CXX implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/include/c++/9]
add: [/usr/include/x86_64-linux-gnu/c++/9]
add: [/usr/include/c++/9/backward]
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
add: [/usr/local/include]
add: [/usr/include/x86_64-linux-gnu]
add: [/usr/include]
end of search list found
collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
Parsed CXX implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_3be0a/fast && /usr/bin/gmake -f CMakeFiles/cmTC_3be0a.dir/build.make CMakeFiles/cmTC_3be0a.dir/build]
ignore line: [gmake[1]: Entering directory '/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/CMakeTmp']
ignore line: [Building CXX object CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/g++-9 -v -o CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/g++-9]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccpNL4RP.s]
ignore line: [GNU C++14 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.5.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/include/c++/9]
ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
ignore line: [ /usr/include/c++/9/backward]
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include/x86_64-linux-gnu]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C++14 (Ubuntu 9.5.0-1ubuntu1~22.04) version 9.5.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.5.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 092909160e28bd24f51a09482980c4ba]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccpNL4RP.s]
ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [Linking CXX executable cmTC_3be0a]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3be0a.dir/link.txt --verbose=1]
ignore line: [/usr/bin/g++-9 -v CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3be0a ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/g++-9]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.5.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-5Q4PKF/gcc-9-9.5.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.5.0 (Ubuntu 9.5.0-1ubuntu1~22.04) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3be0a' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHAVvpy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_3be0a /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/ccHAVvpy.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [--build-id] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [--as-needed] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore
arg [-znow] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTC_3be0a] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
arg [CMakeFiles/cmTC_3be0a.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o]
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []

@ -0,0 +1,49 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"../CMakeLists.txt"
"CMakeFiles/3.22.1/CMakeCCompiler.cmake"
"CMakeFiles/3.22.1/CMakeCXXCompiler.cmake"
"CMakeFiles/3.22.1/CMakeSystem.cmake"
"/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake"
"/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake"
"/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake"
"/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake"
"/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake"
"/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake"
"/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.22/Modules/Platform/Linux.cmake"
"/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/OJ_server.dir/DependInfo.cmake"
"CMakeFiles/compile_server.dir/DependInfo.cmake"
"CMakeFiles/data_server.dir/DependInfo.cmake"
)

@ -0,0 +1,168 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/zzy1/2024/my-online-judge/MYOJ
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/zzy1/2024/my-online-judge/MYOJ/build
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/OJ_server.dir/all
all: CMakeFiles/compile_server.dir/all
all: CMakeFiles/data_server.dir/all
.PHONY : all
# The main recursive "preinstall" target.
preinstall:
.PHONY : preinstall
# The main recursive "clean" target.
clean: CMakeFiles/OJ_server.dir/clean
clean: CMakeFiles/compile_server.dir/clean
clean: CMakeFiles/data_server.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/OJ_server.dir
# All Build rule for target.
CMakeFiles/OJ_server.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=1,2 "Built target OJ_server"
.PHONY : CMakeFiles/OJ_server.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/OJ_server.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 2
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/OJ_server.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 0
.PHONY : CMakeFiles/OJ_server.dir/rule
# Convenience name for target.
OJ_server: CMakeFiles/OJ_server.dir/rule
.PHONY : OJ_server
# clean rule for target.
CMakeFiles/OJ_server.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/clean
.PHONY : CMakeFiles/OJ_server.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/compile_server.dir
# All Build rule for target.
CMakeFiles/compile_server.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=3,4 "Built target compile_server"
.PHONY : CMakeFiles/compile_server.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/compile_server.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 2
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/compile_server.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 0
.PHONY : CMakeFiles/compile_server.dir/rule
# Convenience name for target.
compile_server: CMakeFiles/compile_server.dir/rule
.PHONY : compile_server
# clean rule for target.
CMakeFiles/compile_server.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/clean
.PHONY : CMakeFiles/compile_server.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/data_server.dir
# All Build rule for target.
CMakeFiles/data_server.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=5,6 "Built target data_server"
.PHONY : CMakeFiles/data_server.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/data_server.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 2
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/data_server.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 0
.PHONY : CMakeFiles/data_server.dir/rule
# Convenience name for target.
data_server: CMakeFiles/data_server.dir/rule
.PHONY : data_server
# clean rule for target.
CMakeFiles/data_server.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/clean
.PHONY : CMakeFiles/data_server.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

@ -0,0 +1,19 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
"/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc" "CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o" "gcc" "CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o.d"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

@ -0,0 +1,714 @@
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o: \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc \
/usr/include/stdc-predef.h /usr/include/c++/9/fstream \
/usr/include/c++/9/istream /usr/include/c++/9/ios \
/usr/include/c++/9/iosfwd \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h \
/usr/include/c++/9/bits/stringfwd.h /usr/include/c++/9/bits/memoryfwd.h \
/usr/include/c++/9/bits/postypes.h /usr/include/c++/9/cwchar \
/usr/include/wchar.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/c++/9/exception /usr/include/c++/9/bits/exception.h \
/usr/include/c++/9/bits/exception_ptr.h \
/usr/include/c++/9/bits/exception_defines.h \
/usr/include/c++/9/bits/cxxabi_init_exception.h \
/usr/include/c++/9/typeinfo /usr/include/c++/9/bits/hash_bytes.h \
/usr/include/c++/9/new /usr/include/c++/9/bits/move.h \
/usr/include/c++/9/bits/concept_check.h /usr/include/c++/9/type_traits \
/usr/include/c++/9/bits/nested_exception.h \
/usr/include/c++/9/bits/char_traits.h \
/usr/include/c++/9/bits/stl_algobase.h \
/usr/include/c++/9/bits/functexcept.h \
/usr/include/c++/9/bits/cpp_type_traits.h \
/usr/include/c++/9/ext/type_traits.h \
/usr/include/c++/9/ext/numeric_traits.h \
/usr/include/c++/9/bits/stl_pair.h \
/usr/include/c++/9/bits/stl_iterator_base_types.h \
/usr/include/c++/9/bits/stl_iterator_base_funcs.h \
/usr/include/c++/9/debug/assertions.h \
/usr/include/c++/9/bits/stl_iterator.h \
/usr/include/c++/9/bits/ptr_traits.h /usr/include/c++/9/debug/debug.h \
/usr/include/c++/9/bits/predefined_ops.h /usr/include/c++/9/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/9/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h \
/usr/include/c++/9/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/9/cctype \
/usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/c++/9/bits/ios_base.h /usr/include/c++/9/ext/atomicity.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h \
/usr/include/c++/9/bits/locale_classes.h /usr/include/c++/9/string \
/usr/include/c++/9/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h \
/usr/include/c++/9/ext/new_allocator.h \
/usr/include/c++/9/bits/ostream_insert.h \
/usr/include/c++/9/bits/cxxabi_forced.h \
/usr/include/c++/9/bits/stl_function.h \
/usr/include/c++/9/backward/binders.h \
/usr/include/c++/9/bits/range_access.h \
/usr/include/c++/9/initializer_list \
/usr/include/c++/9/bits/basic_string.h \
/usr/include/c++/9/ext/alloc_traits.h \
/usr/include/c++/9/bits/alloc_traits.h \
/usr/include/c++/9/ext/string_conversions.h /usr/include/c++/9/cstdlib \
/usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/alloca.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/9/bits/std_abs.h /usr/include/c++/9/cstdio \
/usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/c++/9/cerrno \
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/9/bits/functional_hash.h \
/usr/include/c++/9/bits/basic_string.tcc \
/usr/include/c++/9/bits/locale_classes.tcc \
/usr/include/c++/9/system_error \
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h \
/usr/include/c++/9/stdexcept /usr/include/c++/9/streambuf \
/usr/include/c++/9/bits/streambuf.tcc \
/usr/include/c++/9/bits/basic_ios.h \
/usr/include/c++/9/bits/locale_facets.h /usr/include/c++/9/cwctype \
/usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h \
/usr/include/c++/9/bits/streambuf_iterator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h \
/usr/include/c++/9/bits/locale_facets.tcc \
/usr/include/c++/9/bits/basic_ios.tcc /usr/include/c++/9/ostream \
/usr/include/c++/9/bits/ostream.tcc /usr/include/c++/9/bits/istream.tcc \
/usr/include/c++/9/bits/codecvt.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h \
/usr/include/c++/9/bits/fstream.tcc /usr/include/c++/9/iostream \
/usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/linux/falloc.h /usr/include/c++/9/stdlib.h \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_Control.hpp \
/usr/include/c++/9/atomic /usr/include/c++/9/bits/atomic_base.h \
/usr/include/c++/9/bits/atomic_lockfree_defines.h \
/usr/include/c++/9/mutex /usr/include/c++/9/tuple \
/usr/include/c++/9/utility /usr/include/c++/9/bits/stl_relops.h \
/usr/include/c++/9/array /usr/include/c++/9/bits/uses_allocator.h \
/usr/include/c++/9/bits/invoke.h /usr/include/c++/9/chrono \
/usr/include/c++/9/ratio /usr/include/c++/9/limits \
/usr/include/c++/9/ctime /usr/include/c++/9/bits/parse_numbers.h \
/usr/include/c++/9/bits/std_mutex.h \
/usr/include/c++/9/bits/unique_lock.h /usr/include/assert.h \
/usr/include/jsoncpp/json/json.h /usr/include/jsoncpp/json/config.h \
/usr/include/c++/9/cstddef /usr/include/c++/9/memory \
/usr/include/c++/9/bits/stl_construct.h \
/usr/include/c++/9/bits/stl_uninitialized.h \
/usr/include/c++/9/bits/stl_tempbuf.h \
/usr/include/c++/9/bits/stl_raw_storage_iter.h \
/usr/include/c++/9/ext/concurrence.h \
/usr/include/c++/9/bits/unique_ptr.h \
/usr/include/c++/9/bits/shared_ptr.h \
/usr/include/c++/9/bits/shared_ptr_base.h \
/usr/include/c++/9/bits/allocated_ptr.h \
/usr/include/c++/9/bits/refwrap.h \
/usr/include/c++/9/ext/aligned_buffer.h \
/usr/include/c++/9/bits/shared_ptr_atomic.h \
/usr/include/c++/9/backward/auto_ptr.h /usr/include/c++/9/sstream \
/usr/include/c++/9/bits/sstream.tcc \
/usr/include/jsoncpp/json/allocator.h /usr/include/c++/9/cstring \
/usr/include/string.h /usr/include/strings.h \
/usr/include/jsoncpp/json/version.h \
/usr/include/jsoncpp/json/json_features.h \
/usr/include/jsoncpp/json/forwards.h /usr/include/jsoncpp/json/reader.h \
/usr/include/jsoncpp/json/value.h /usr/include/c++/9/map \
/usr/include/c++/9/bits/stl_tree.h /usr/include/c++/9/bits/stl_map.h \
/usr/include/c++/9/bits/stl_multimap.h \
/usr/include/c++/9/bits/erase_if.h /usr/include/c++/9/vector \
/usr/include/c++/9/bits/stl_vector.h \
/usr/include/c++/9/bits/stl_bvector.h /usr/include/c++/9/bits/vector.tcc \
/usr/include/c++/9/deque /usr/include/c++/9/bits/stl_deque.h \
/usr/include/c++/9/bits/deque.tcc /usr/include/c++/9/stack \
/usr/include/c++/9/bits/stl_stack.h /usr/include/jsoncpp/json/writer.h \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_view.hpp \
/usr/local/include/ctemplate/template.h \
/usr/local/include/ctemplate/template_cache.h \
/usr/include/c++/9/unordered_map /usr/include/c++/9/bits/hashtable.h \
/usr/include/c++/9/bits/hashtable_policy.h \
/usr/include/c++/9/bits/unordered_map.h \
/usr/local/include/ctemplate/template_emitter.h \
/usr/local/include/ctemplate/template_enums.h \
/usr/local/include/ctemplate/template_string.h \
/usr/local/include/ctemplate/per_expand_data.h \
/usr/local/include/ctemplate/template_dictionary.h \
/usr/include/c++/9/functional /usr/include/c++/9/bits/std_function.h \
/usr/local/include/ctemplate/str_ref.h \
/usr/local/include/ctemplate/template_dictionary_interface.h \
/usr/local/include/ctemplate/template_modifiers.h \
/usr/local/include/ctemplate/template_namelist.h \
/usr/include/c++/9/unordered_set /usr/include/c++/9/bits/unordered_set.h \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/../comm/Comm_model_MySQL.hpp \
/usr/include/mysql/mysql.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \
/usr/include/mysql/field_types.h /usr/include/mysql/my_list.h \
/usr/include/mysql/mysql_com.h /usr/include/mysql/my_command.h \
/usr/include/mysql/my_compress.h \
/usr/include/mysql/udf_registration_types.h \
/usr/include/mysql/client_plugin.h \
/usr/include/mysql/plugin_auth_common.h \
/usr/include/mysql/mysql_version.h /usr/include/mysql/mysql_time.h \
/usr/include/mysql/errmsg.h \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/../comm/util.hpp \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/boost/algorithm/string.hpp \
/usr/include/boost/algorithm/string/std_containers_traits.hpp \
/usr/include/boost/config.hpp /usr/include/boost/config/user.hpp \
/usr/include/boost/config/detail/select_compiler_config.hpp \
/usr/include/boost/config/compiler/gcc.hpp \
/usr/include/boost/config/detail/select_stdlib_config.hpp \
/usr/include/c++/9/version \
/usr/include/boost/config/stdlib/libstdcpp3.hpp \
/usr/include/boost/config/detail/select_platform_config.hpp \
/usr/include/boost/config/platform/linux.hpp \
/usr/include/boost/config/detail/posix_features.hpp \
/usr/include/boost/config/detail/suffix.hpp \
/usr/include/boost/config/helper_macros.hpp \
/usr/include/boost/algorithm/string/std/string_traits.hpp \
/usr/include/boost/algorithm/string/yes_no_type.hpp \
/usr/include/boost/algorithm/string/sequence_traits.hpp \
/usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \
/usr/include/boost/mpl/aux_/adl_barrier.hpp \
/usr/include/boost/mpl/aux_/config/adl.hpp \
/usr/include/boost/mpl/aux_/config/msvc.hpp \
/usr/include/boost/mpl/aux_/config/intel.hpp \
/usr/include/boost/mpl/aux_/config/gcc.hpp \
/usr/include/boost/mpl/aux_/config/workaround.hpp \
/usr/include/boost/detail/workaround.hpp \
/usr/include/boost/config/workaround.hpp \
/usr/include/boost/mpl/integral_c_tag.hpp \
/usr/include/boost/mpl/aux_/config/static_constant.hpp \
/usr/include/boost/algorithm/string/std/list_traits.hpp \
/usr/include/c++/9/list /usr/include/c++/9/bits/stl_list.h \
/usr/include/c++/9/bits/list.tcc \
/usr/include/boost/algorithm/string/std/slist_traits.hpp \
/usr/include/boost/algorithm/string/config.hpp \
/usr/include/c++/9/ext/slist /usr/include/c++/9/algorithm \
/usr/include/c++/9/bits/stl_algo.h \
/usr/include/c++/9/bits/algorithmfwd.h \
/usr/include/c++/9/bits/stl_heap.h \
/usr/include/c++/9/bits/uniform_int_dist.h \
/usr/include/boost/algorithm/string/trim.hpp \
/usr/include/boost/range/begin.hpp /usr/include/boost/range/config.hpp \
/usr/include/boost/range/iterator.hpp \
/usr/include/boost/range/range_fwd.hpp \
/usr/include/boost/range/mutable_iterator.hpp \
/usr/include/boost/range/detail/extract_optional_type.hpp \
/usr/include/boost/preprocessor/cat.hpp \
/usr/include/boost/preprocessor/config/config.hpp \
/usr/include/boost/mpl/has_xxx.hpp \
/usr/include/boost/mpl/aux_/na_spec.hpp \
/usr/include/boost/mpl/lambda_fwd.hpp \
/usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \
/usr/include/boost/mpl/aux_/na_fwd.hpp \
/usr/include/boost/mpl/aux_/config/ctps.hpp \
/usr/include/boost/mpl/aux_/config/lambda.hpp \
/usr/include/boost/mpl/aux_/config/ttp.hpp \
/usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \
/usr/include/boost/mpl/aux_/nttp_decl.hpp \
/usr/include/boost/mpl/aux_/config/nttp.hpp \
/usr/include/boost/mpl/aux_/integral_wrapper.hpp \
/usr/include/boost/mpl/aux_/static_cast.hpp \
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp \
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp \
/usr/include/boost/mpl/aux_/arity.hpp \
/usr/include/boost/mpl/aux_/config/dtp.hpp \
/usr/include/boost/mpl/aux_/preprocessor/params.hpp \
/usr/include/boost/mpl/aux_/config/preprocessor.hpp \
/usr/include/boost/preprocessor/comma_if.hpp \
/usr/include/boost/preprocessor/punctuation/comma_if.hpp \
/usr/include/boost/preprocessor/control/if.hpp \
/usr/include/boost/preprocessor/control/iif.hpp \
/usr/include/boost/preprocessor/logical/bool.hpp \
/usr/include/boost/preprocessor/facilities/empty.hpp \
/usr/include/boost/preprocessor/punctuation/comma.hpp \
/usr/include/boost/preprocessor/repeat.hpp \
/usr/include/boost/preprocessor/repetition/repeat.hpp \
/usr/include/boost/preprocessor/debug/error.hpp \
/usr/include/boost/preprocessor/detail/auto_rec.hpp \
/usr/include/boost/preprocessor/tuple/eat.hpp \
/usr/include/boost/preprocessor/inc.hpp \
/usr/include/boost/preprocessor/arithmetic/inc.hpp \
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp \
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \
/usr/include/boost/mpl/limits/arity.hpp \
/usr/include/boost/preprocessor/logical/and.hpp \
/usr/include/boost/preprocessor/logical/bitand.hpp \
/usr/include/boost/preprocessor/identity.hpp \
/usr/include/boost/preprocessor/facilities/identity.hpp \
/usr/include/boost/preprocessor/empty.hpp \
/usr/include/boost/preprocessor/arithmetic/add.hpp \
/usr/include/boost/preprocessor/arithmetic/dec.hpp \
/usr/include/boost/preprocessor/control/while.hpp \
/usr/include/boost/preprocessor/list/fold_left.hpp \
/usr/include/boost/preprocessor/list/detail/fold_left.hpp \
/usr/include/boost/preprocessor/control/expr_iif.hpp \
/usr/include/boost/preprocessor/list/adt.hpp \
/usr/include/boost/preprocessor/detail/is_binary.hpp \
/usr/include/boost/preprocessor/detail/check.hpp \
/usr/include/boost/preprocessor/logical/compl.hpp \
/usr/include/boost/preprocessor/list/fold_right.hpp \
/usr/include/boost/preprocessor/list/detail/fold_right.hpp \
/usr/include/boost/preprocessor/list/reverse.hpp \
/usr/include/boost/preprocessor/control/detail/while.hpp \
/usr/include/boost/preprocessor/tuple/elem.hpp \
/usr/include/boost/preprocessor/facilities/expand.hpp \
/usr/include/boost/preprocessor/facilities/overload.hpp \
/usr/include/boost/preprocessor/variadic/size.hpp \
/usr/include/boost/preprocessor/tuple/rem.hpp \
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp \
/usr/include/boost/preprocessor/variadic/elem.hpp \
/usr/include/boost/preprocessor/arithmetic/sub.hpp \
/usr/include/boost/mpl/aux_/config/eti.hpp \
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp \
/usr/include/boost/mpl/aux_/type_wrapper.hpp \
/usr/include/boost/mpl/aux_/yes_no.hpp \
/usr/include/boost/mpl/aux_/config/arrays.hpp \
/usr/include/boost/mpl/aux_/config/has_xxx.hpp \
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp \
/usr/include/boost/preprocessor/array/elem.hpp \
/usr/include/boost/preprocessor/array/data.hpp \
/usr/include/boost/preprocessor/array/size.hpp \
/usr/include/boost/preprocessor/repetition/enum_params.hpp \
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp \
/usr/include/boost/type_traits/remove_reference.hpp \
/usr/include/boost/iterator/iterator_traits.hpp \
/usr/include/c++/9/iterator /usr/include/c++/9/bits/stream_iterator.h \
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp \
/usr/include/boost/range/const_iterator.hpp \
/usr/include/boost/type_traits/remove_const.hpp \
/usr/include/boost/type_traits/is_const.hpp \
/usr/include/boost/type_traits/integral_constant.hpp \
/usr/include/boost/mpl/eval_if.hpp /usr/include/boost/mpl/if.hpp \
/usr/include/boost/mpl/aux_/value_wknd.hpp \
/usr/include/boost/mpl/aux_/config/integral.hpp \
/usr/include/boost/mpl/aux_/lambda_support.hpp \
/usr/include/boost/range/end.hpp \
/usr/include/boost/range/detail/implementation_help.hpp \
/usr/include/boost/range/detail/common.hpp \
/usr/include/boost/range/detail/sfinae.hpp \
/usr/include/boost/type_traits/is_array.hpp \
/usr/include/boost/type_traits/detail/yes_no_type.hpp \
/usr/include/boost/type_traits/is_void.hpp \
/usr/include/boost/type_traits/is_same.hpp \
/usr/include/boost/range/as_literal.hpp \
/usr/include/boost/range/iterator_range.hpp \
/usr/include/boost/range/iterator_range_core.hpp \
/usr/include/boost/assert.hpp \
/usr/include/boost/iterator/iterator_facade.hpp \
/usr/include/boost/iterator/interoperable.hpp \
/usr/include/boost/mpl/or.hpp \
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp \
/usr/include/boost/mpl/aux_/include_preprocessed.hpp \
/usr/include/boost/mpl/aux_/config/compiler.hpp \
/usr/include/boost/preprocessor/stringize.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \
/usr/include/boost/type_traits/is_convertible.hpp \
/usr/include/boost/type_traits/intrinsics.hpp \
/usr/include/boost/type_traits/detail/config.hpp \
/usr/include/boost/version.hpp \
/usr/include/boost/type_traits/is_complete.hpp \
/usr/include/boost/type_traits/declval.hpp \
/usr/include/boost/type_traits/add_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_reference.hpp \
/usr/include/boost/type_traits/is_lvalue_reference.hpp \
/usr/include/boost/type_traits/is_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_function.hpp \
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp \
/usr/include/boost/static_assert.hpp \
/usr/include/boost/type_traits/is_arithmetic.hpp \
/usr/include/boost/type_traits/is_integral.hpp \
/usr/include/boost/type_traits/is_floating_point.hpp \
/usr/include/boost/type_traits/is_abstract.hpp \
/usr/include/boost/type_traits/add_lvalue_reference.hpp \
/usr/include/boost/type_traits/add_reference.hpp \
/usr/include/boost/iterator/detail/config_def.hpp \
/usr/include/boost/iterator/detail/config_undef.hpp \
/usr/include/boost/iterator/iterator_categories.hpp \
/usr/include/boost/mpl/identity.hpp \
/usr/include/boost/mpl/placeholders.hpp /usr/include/boost/mpl/arg.hpp \
/usr/include/boost/mpl/arg_fwd.hpp \
/usr/include/boost/mpl/aux_/na_assert.hpp \
/usr/include/boost/mpl/assert.hpp /usr/include/boost/mpl/not.hpp \
/usr/include/boost/mpl/aux_/config/gpu.hpp \
/usr/include/boost/mpl/aux_/config/pp_counter.hpp \
/usr/include/boost/mpl/aux_/arity_spec.hpp \
/usr/include/boost/mpl/aux_/arg_typedef.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \
/usr/include/boost/iterator/detail/facade_iterator_category.hpp \
/usr/include/boost/core/use_default.hpp /usr/include/boost/mpl/and.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \
/usr/include/boost/detail/indirect_traits.hpp \
/usr/include/boost/type_traits/is_pointer.hpp \
/usr/include/boost/type_traits/is_class.hpp \
/usr/include/boost/type_traits/is_volatile.hpp \
/usr/include/boost/type_traits/is_member_function_pointer.hpp \
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp \
/usr/include/boost/type_traits/is_member_pointer.hpp \
/usr/include/boost/type_traits/remove_cv.hpp \
/usr/include/boost/type_traits/remove_pointer.hpp \
/usr/include/boost/detail/select_type.hpp \
/usr/include/boost/iterator/detail/enable_if.hpp \
/usr/include/boost/core/addressof.hpp \
/usr/include/boost/type_traits/add_const.hpp \
/usr/include/boost/type_traits/add_pointer.hpp \
/usr/include/boost/type_traits/is_pod.hpp \
/usr/include/boost/type_traits/is_scalar.hpp \
/usr/include/boost/type_traits/is_enum.hpp \
/usr/include/boost/mpl/always.hpp \
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp \
/usr/include/boost/mpl/apply.hpp /usr/include/boost/mpl/apply_fwd.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \
/usr/include/boost/mpl/apply_wrap.hpp \
/usr/include/boost/mpl/aux_/has_apply.hpp \
/usr/include/boost/mpl/aux_/config/has_apply.hpp \
/usr/include/boost/mpl/aux_/msvc_never_true.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \
/usr/include/boost/mpl/lambda.hpp /usr/include/boost/mpl/bind.hpp \
/usr/include/boost/mpl/bind_fwd.hpp \
/usr/include/boost/mpl/aux_/config/bind.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \
/usr/include/boost/mpl/next.hpp /usr/include/boost/mpl/next_prior.hpp \
/usr/include/boost/mpl/aux_/common_name_wknd.hpp \
/usr/include/boost/mpl/protect.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \
/usr/include/boost/mpl/aux_/full_lambda.hpp \
/usr/include/boost/mpl/quote.hpp /usr/include/boost/mpl/void.hpp \
/usr/include/boost/mpl/aux_/has_type.hpp \
/usr/include/boost/mpl/aux_/config/bcc.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \
/usr/include/boost/mpl/aux_/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \
/usr/include/boost/type_traits/is_base_and_derived.hpp \
/usr/include/boost/range/functions.hpp /usr/include/boost/range/size.hpp \
/usr/include/boost/range/size_type.hpp \
/usr/include/boost/range/difference_type.hpp \
/usr/include/boost/range/has_range_iterator.hpp \
/usr/include/boost/utility/enable_if.hpp \
/usr/include/boost/core/enable_if.hpp \
/usr/include/boost/range/concepts.hpp \
/usr/include/boost/concept_check.hpp \
/usr/include/boost/concept/assert.hpp \
/usr/include/boost/concept/detail/general.hpp \
/usr/include/boost/concept/detail/backward_compatibility.hpp \
/usr/include/boost/concept/detail/has_constraints.hpp \
/usr/include/boost/type_traits/conditional.hpp \
/usr/include/boost/type_traits/conversion_traits.hpp \
/usr/include/boost/concept/usage.hpp \
/usr/include/boost/concept/detail/concept_def.hpp \
/usr/include/boost/preprocessor/seq/for_each_i.hpp \
/usr/include/boost/preprocessor/repetition/for.hpp \
/usr/include/boost/preprocessor/repetition/detail/for.hpp \
/usr/include/boost/preprocessor/seq/seq.hpp \
/usr/include/boost/preprocessor/seq/elem.hpp \
/usr/include/boost/preprocessor/seq/size.hpp \
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp \
/usr/include/boost/preprocessor/seq/enum.hpp \
/usr/include/boost/concept/detail/concept_undef.hpp \
/usr/include/boost/iterator/iterator_concepts.hpp \
/usr/include/boost/limits.hpp /usr/include/boost/range/value_type.hpp \
/usr/include/boost/range/detail/misc_concept.hpp \
/usr/include/boost/type_traits/make_unsigned.hpp \
/usr/include/boost/type_traits/is_signed.hpp /usr/include/c++/9/climits \
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/uio_lim.h \
/usr/include/boost/type_traits/is_unsigned.hpp \
/usr/include/boost/type_traits/add_volatile.hpp \
/usr/include/boost/range/detail/has_member_size.hpp \
/usr/include/boost/cstdint.hpp /usr/include/boost/utility.hpp \
/usr/include/boost/utility/base_from_member.hpp \
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp \
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp \
/usr/include/boost/utility/binary.hpp \
/usr/include/boost/preprocessor/control/deduce_d.hpp \
/usr/include/boost/preprocessor/seq/cat.hpp \
/usr/include/boost/preprocessor/seq/fold_left.hpp \
/usr/include/boost/preprocessor/seq/transform.hpp \
/usr/include/boost/preprocessor/arithmetic/mod.hpp \
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp \
/usr/include/boost/preprocessor/comparison/less_equal.hpp \
/usr/include/boost/preprocessor/logical/not.hpp \
/usr/include/boost/utility/identity_type.hpp \
/usr/include/boost/type_traits/function_traits.hpp \
/usr/include/boost/core/checked_delete.hpp \
/usr/include/boost/core/noncopyable.hpp \
/usr/include/boost/range/distance.hpp \
/usr/include/boost/iterator/distance.hpp \
/usr/include/boost/range/empty.hpp /usr/include/boost/range/rbegin.hpp \
/usr/include/boost/range/reverse_iterator.hpp \
/usr/include/boost/iterator/reverse_iterator.hpp \
/usr/include/boost/iterator/iterator_adaptor.hpp \
/usr/include/boost/range/rend.hpp \
/usr/include/boost/range/algorithm/equal.hpp \
/usr/include/boost/range/detail/safe_bool.hpp \
/usr/include/boost/next_prior.hpp \
/usr/include/boost/type_traits/has_plus.hpp \
/usr/include/boost/type_traits/detail/has_binary_operator.hpp \
/usr/include/boost/type_traits/make_void.hpp \
/usr/include/boost/type_traits/has_plus_assign.hpp \
/usr/include/boost/type_traits/has_minus.hpp \
/usr/include/boost/type_traits/has_minus_assign.hpp \
/usr/include/boost/iterator/advance.hpp \
/usr/include/boost/range/iterator_range_io.hpp \
/usr/include/boost/range/detail/str_types.hpp \
/usr/include/boost/algorithm/string/detail/trim.hpp \
/usr/include/boost/algorithm/string/classification.hpp \
/usr/include/c++/9/locale /usr/include/c++/9/bits/locale_facets_nonio.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/9/bits/locale_facets_nonio.tcc \
/usr/include/c++/9/bits/locale_conv.h \
/usr/include/boost/algorithm/string/detail/classification.hpp \
/usr/include/boost/algorithm/string/predicate_facade.hpp \
/usr/include/boost/algorithm/string/case_conv.hpp \
/usr/include/boost/iterator/transform_iterator.hpp \
/usr/include/boost/utility/result_of.hpp \
/usr/include/boost/preprocessor/iteration/iterate.hpp \
/usr/include/boost/preprocessor/slot/slot.hpp \
/usr/include/boost/preprocessor/slot/detail/def.hpp \
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp \
/usr/include/boost/preprocessor/facilities/intercept.hpp \
/usr/include/boost/type_traits/type_identity.hpp \
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \
/usr/include/boost/preprocessor/slot/detail/shared.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \
/usr/include/boost/utility/detail/result_of_iterate.hpp \
/usr/include/boost/algorithm/string/detail/case_conv.hpp \
/usr/include/boost/algorithm/string/predicate.hpp \
/usr/include/boost/algorithm/string/compare.hpp \
/usr/include/boost/algorithm/string/find.hpp \
/usr/include/boost/algorithm/string/finder.hpp \
/usr/include/boost/algorithm/string/constants.hpp \
/usr/include/boost/algorithm/string/detail/finder.hpp \
/usr/include/boost/algorithm/string/detail/predicate.hpp \
/usr/include/boost/algorithm/string/split.hpp \
/usr/include/boost/algorithm/string/iter_find.hpp \
/usr/include/boost/algorithm/string/concept.hpp \
/usr/include/boost/algorithm/string/find_iterator.hpp \
/usr/include/boost/algorithm/string/detail/find_iterator.hpp \
/usr/include/boost/function.hpp \
/usr/include/boost/preprocessor/iterate.hpp \
/usr/include/boost/function/detail/prologue.hpp \
/usr/include/c++/9/cassert \
/usr/include/boost/config/no_tr1/functional.hpp \
/usr/include/boost/throw_exception.hpp \
/usr/include/boost/assert/source_location.hpp \
/usr/include/boost/current_function.hpp \
/usr/include/boost/exception/exception.hpp \
/usr/include/boost/function/function_base.hpp \
/usr/include/boost/integer.hpp /usr/include/boost/integer_fwd.hpp \
/usr/include/boost/integer_traits.hpp /usr/include/boost/type_index.hpp \
/usr/include/boost/type_index/stl_type_index.hpp \
/usr/include/boost/type_index/type_index_facade.hpp \
/usr/include/boost/container_hash/hash_fwd.hpp \
/usr/include/boost/core/demangle.hpp /usr/include/c++/9/cxxabi.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h \
/usr/include/boost/type_traits/has_trivial_copy.hpp \
/usr/include/boost/type_traits/is_copy_constructible.hpp \
/usr/include/boost/type_traits/is_constructible.hpp \
/usr/include/boost/type_traits/is_destructible.hpp \
/usr/include/boost/type_traits/is_default_constructible.hpp \
/usr/include/boost/type_traits/has_trivial_destructor.hpp \
/usr/include/boost/type_traits/composite_traits.hpp \
/usr/include/boost/type_traits/is_union.hpp /usr/include/boost/ref.hpp \
/usr/include/boost/core/ref.hpp \
/usr/include/boost/type_traits/alignment_of.hpp \
/usr/include/boost/type_traits/enable_if.hpp \
/usr/include/boost/function_equal.hpp \
/usr/include/boost/function/function_fwd.hpp \
/usr/include/boost/mem_fn.hpp /usr/include/boost/bind/mem_fn.hpp \
/usr/include/boost/get_pointer.hpp \
/usr/include/boost/config/no_tr1/memory.hpp \
/usr/include/boost/bind/mem_fn_template.hpp \
/usr/include/boost/bind/mem_fn_cc.hpp \
/usr/include/boost/preprocessor/enum.hpp \
/usr/include/boost/preprocessor/repetition/enum.hpp \
/usr/include/boost/preprocessor/enum_params.hpp \
/usr/include/boost/function/detail/function_iterate.hpp \
/usr/include/boost/function/detail/maybe_include.hpp \
/usr/include/boost/function/function_template.hpp \
/usr/include/boost/core/no_exceptions_support.hpp \
/usr/include/boost/algorithm/string/detail/util.hpp \
/usr/include/boost/algorithm/string/join.hpp \
/usr/include/boost/algorithm/string/detail/sequence.hpp \
/usr/include/boost/mpl/logical.hpp \
/usr/include/boost/algorithm/string/replace.hpp \
/usr/include/boost/algorithm/string/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format_store.hpp \
/usr/include/boost/algorithm/string/detail/replace_storage.hpp \
/usr/include/boost/algorithm/string/detail/find_format_all.hpp \
/usr/include/boost/algorithm/string/formatter.hpp \
/usr/include/boost/algorithm/string/detail/formatter.hpp \
/usr/include/boost/algorithm/string/erase.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/../comm/../comm/Log.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/../comm/httplib.h \
/usr/include/arpa/inet.h /usr/include/netinet/in.h \
/usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/ifaddrs.h \
/usr/include/netdb.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/resolv.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h /usr/include/arpa/nameser.h \
/usr/include/arpa/nameser_compat.h \
/usr/include/x86_64-linux-gnu/bits/types/res_state.h \
/usr/include/netinet/tcp.h /usr/include/c++/9/csignal \
/usr/include/c++/9/condition_variable /usr/include/c++/9/random \
/usr/include/c++/9/cmath /usr/include/math.h \
/usr/include/x86_64-linux-gnu/bits/math-vector.h \
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h \
/usr/include/x86_64-linux-gnu/bits/fp-logb.h \
/usr/include/x86_64-linux-gnu/bits/fp-fast.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h \
/usr/include/x86_64-linux-gnu/bits/iscanonical.h \
/usr/include/c++/9/bits/random.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h \
/usr/include/c++/9/bits/random.tcc /usr/include/c++/9/numeric \
/usr/include/c++/9/bits/stl_numeric.h /usr/include/c++/9/regex \
/usr/include/c++/9/bitset /usr/include/c++/9/bits/regex_constants.h \
/usr/include/c++/9/bits/regex_error.h \
/usr/include/c++/9/bits/regex_automaton.h \
/usr/include/c++/9/bits/regex_automaton.tcc \
/usr/include/c++/9/bits/regex_scanner.h \
/usr/include/c++/9/bits/regex_scanner.tcc \
/usr/include/c++/9/bits/regex_compiler.h \
/usr/include/c++/9/bits/regex_compiler.tcc \
/usr/include/c++/9/bits/regex.h /usr/include/c++/9/bits/regex.tcc \
/usr/include/c++/9/bits/regex_executor.h \
/usr/include/c++/9/bits/regex_executor.tcc /usr/include/c++/9/thread

@ -0,0 +1,110 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/zzy1/2024/my-online-judge/MYOJ
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/zzy1/2024/my-online-judge/MYOJ/build
# Include any dependencies generated for this target.
include CMakeFiles/OJ_server.dir/depend.make
# Include any dependencies generated by the compiler for this target.
include CMakeFiles/OJ_server.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/OJ_server.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/OJ_server.dir/flags.make
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o: CMakeFiles/OJ_server.dir/flags.make
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o: ../OJ_server/OJ_server.cc
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o: CMakeFiles/OJ_server.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o -MF CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o.d -o CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.i"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc > CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.i
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.s"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc -o CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.s
# Object files for target OJ_server
OJ_server_OBJECTS = \
"CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o"
# External object files for target OJ_server
OJ_server_EXTERNAL_OBJECTS =
output/OJ_server: CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o
output/OJ_server: CMakeFiles/OJ_server.dir/build.make
output/OJ_server: CMakeFiles/OJ_server.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable output/OJ_server"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/OJ_server.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/OJ_server.dir/build: output/OJ_server
.PHONY : CMakeFiles/OJ_server.dir/build
CMakeFiles/OJ_server.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/OJ_server.dir/cmake_clean.cmake
.PHONY : CMakeFiles/OJ_server.dir/clean
CMakeFiles/OJ_server.dir/depend:
cd /home/zzy1/2024/my-online-judge/MYOJ/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/OJ_server.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/OJ_server.dir/depend

@ -0,0 +1,11 @@
file(REMOVE_RECURSE
"CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o"
"CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o.d"
"output/OJ_server"
"output/OJ_server.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/OJ_server.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

@ -0,0 +1,830 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc
/usr/include/stdc-predef.h
/usr/include/c++/9/fstream
/usr/include/c++/9/istream
/usr/include/c++/9/ios
/usr/include/c++/9/iosfwd
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h
/usr/include/features.h
/usr/include/features-time64.h
/usr/include/x86_64-linux-gnu/bits/wordsize.h
/usr/include/x86_64-linux-gnu/bits/timesize.h
/usr/include/x86_64-linux-gnu/sys/cdefs.h
/usr/include/x86_64-linux-gnu/bits/long-double.h
/usr/include/x86_64-linux-gnu/gnu/stubs.h
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h
/usr/include/c++/9/bits/stringfwd.h
/usr/include/c++/9/bits/memoryfwd.h
/usr/include/c++/9/bits/postypes.h
/usr/include/c++/9/cwchar
/usr/include/wchar.h
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
/usr/include/x86_64-linux-gnu/bits/floatn.h
/usr/include/x86_64-linux-gnu/bits/floatn-common.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h
/usr/include/x86_64-linux-gnu/bits/wchar.h
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h
/usr/include/x86_64-linux-gnu/bits/types/FILE.h
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h
/usr/include/c++/9/exception
/usr/include/c++/9/bits/exception.h
/usr/include/c++/9/bits/exception_ptr.h
/usr/include/c++/9/bits/exception_defines.h
/usr/include/c++/9/bits/cxxabi_init_exception.h
/usr/include/c++/9/typeinfo
/usr/include/c++/9/bits/hash_bytes.h
/usr/include/c++/9/new
/usr/include/c++/9/bits/move.h
/usr/include/c++/9/bits/concept_check.h
/usr/include/c++/9/type_traits
/usr/include/c++/9/bits/nested_exception.h
/usr/include/c++/9/bits/char_traits.h
/usr/include/c++/9/bits/stl_algobase.h
/usr/include/c++/9/bits/functexcept.h
/usr/include/c++/9/bits/cpp_type_traits.h
/usr/include/c++/9/ext/type_traits.h
/usr/include/c++/9/ext/numeric_traits.h
/usr/include/c++/9/bits/stl_pair.h
/usr/include/c++/9/bits/stl_iterator_base_types.h
/usr/include/c++/9/bits/stl_iterator_base_funcs.h
/usr/include/c++/9/debug/assertions.h
/usr/include/c++/9/bits/stl_iterator.h
/usr/include/c++/9/bits/ptr_traits.h
/usr/include/c++/9/debug/debug.h
/usr/include/c++/9/bits/predefined_ops.h
/usr/include/c++/9/cstdint
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h
/usr/include/stdint.h
/usr/include/x86_64-linux-gnu/bits/types.h
/usr/include/x86_64-linux-gnu/bits/typesizes.h
/usr/include/x86_64-linux-gnu/bits/time64.h
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
/usr/include/c++/9/bits/localefwd.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h
/usr/include/c++/9/clocale
/usr/include/locale.h
/usr/include/x86_64-linux-gnu/bits/locale.h
/usr/include/c++/9/cctype
/usr/include/ctype.h
/usr/include/x86_64-linux-gnu/bits/endian.h
/usr/include/x86_64-linux-gnu/bits/endianness.h
/usr/include/c++/9/bits/ios_base.h
/usr/include/c++/9/ext/atomicity.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h
/usr/include/pthread.h
/usr/include/sched.h
/usr/include/x86_64-linux-gnu/bits/types/time_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
/usr/include/x86_64-linux-gnu/bits/sched.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
/usr/include/x86_64-linux-gnu/bits/cpu-set.h
/usr/include/time.h
/usr/include/x86_64-linux-gnu/bits/time.h
/usr/include/x86_64-linux-gnu/bits/timex.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
/usr/include/x86_64-linux-gnu/bits/setjmp.h
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h
/usr/include/c++/9/bits/locale_classes.h
/usr/include/c++/9/string
/usr/include/c++/9/bits/allocator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h
/usr/include/c++/9/ext/new_allocator.h
/usr/include/c++/9/bits/ostream_insert.h
/usr/include/c++/9/bits/cxxabi_forced.h
/usr/include/c++/9/bits/stl_function.h
/usr/include/c++/9/backward/binders.h
/usr/include/c++/9/bits/range_access.h
/usr/include/c++/9/initializer_list
/usr/include/c++/9/bits/basic_string.h
/usr/include/c++/9/ext/alloc_traits.h
/usr/include/c++/9/bits/alloc_traits.h
/usr/include/c++/9/ext/string_conversions.h
/usr/include/c++/9/cstdlib
/usr/include/stdlib.h
/usr/include/x86_64-linux-gnu/bits/waitflags.h
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/endian.h
/usr/include/x86_64-linux-gnu/bits/byteswap.h
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
/usr/include/x86_64-linux-gnu/sys/select.h
/usr/include/x86_64-linux-gnu/bits/select.h
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h
/usr/include/alloca.h
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
/usr/include/c++/9/bits/std_abs.h
/usr/include/c++/9/cstdio
/usr/include/stdio.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
/usr/include/c++/9/cerrno
/usr/include/errno.h
/usr/include/x86_64-linux-gnu/bits/errno.h
/usr/include/linux/errno.h
/usr/include/x86_64-linux-gnu/asm/errno.h
/usr/include/asm-generic/errno.h
/usr/include/asm-generic/errno-base.h
/usr/include/x86_64-linux-gnu/bits/types/error_t.h
/usr/include/c++/9/bits/functional_hash.h
/usr/include/c++/9/bits/basic_string.tcc
/usr/include/c++/9/bits/locale_classes.tcc
/usr/include/c++/9/system_error
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h
/usr/include/c++/9/stdexcept
/usr/include/c++/9/streambuf
/usr/include/c++/9/bits/streambuf.tcc
/usr/include/c++/9/bits/basic_ios.h
/usr/include/c++/9/bits/locale_facets.h
/usr/include/c++/9/cwctype
/usr/include/wctype.h
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h
/usr/include/c++/9/bits/streambuf_iterator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h
/usr/include/c++/9/bits/locale_facets.tcc
/usr/include/c++/9/bits/basic_ios.tcc
/usr/include/c++/9/ostream
/usr/include/c++/9/bits/ostream.tcc
/usr/include/c++/9/bits/istream.tcc
/usr/include/c++/9/bits/codecvt.h
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h
/usr/include/c++/9/bits/fstream.tcc
/usr/include/c++/9/iostream
/usr/include/signal.h
/usr/include/x86_64-linux-gnu/bits/signum-generic.h
/usr/include/x86_64-linux-gnu/bits/signum-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h
/usr/include/x86_64-linux-gnu/bits/sigaction.h
/usr/include/x86_64-linux-gnu/bits/sigcontext.h
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h
/usr/include/x86_64-linux-gnu/sys/ucontext.h
/usr/include/x86_64-linux-gnu/bits/sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigstksz.h
/usr/include/unistd.h
/usr/include/x86_64-linux-gnu/bits/posix_opt.h
/usr/include/x86_64-linux-gnu/bits/environments.h
/usr/include/x86_64-linux-gnu/bits/confname.h
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h
/usr/include/x86_64-linux-gnu/bits/getopt_core.h
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h
/usr/include/linux/close_range.h
/usr/include/x86_64-linux-gnu/bits/ss_flags.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigthread.h
/usr/include/x86_64-linux-gnu/bits/signal_ext.h
/usr/include/x86_64-linux-gnu/sys/stat.h
/usr/include/x86_64-linux-gnu/bits/stat.h
/usr/include/x86_64-linux-gnu/bits/struct_stat.h
/usr/include/x86_64-linux-gnu/bits/statx.h
/usr/include/linux/stat.h
/usr/include/linux/types.h
/usr/include/x86_64-linux-gnu/asm/types.h
/usr/include/asm-generic/types.h
/usr/include/asm-generic/int-ll64.h
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h
/usr/include/asm-generic/bitsperlong.h
/usr/include/linux/posix_types.h
/usr/include/linux/stddef.h
/usr/include/x86_64-linux-gnu/asm/posix_types.h
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h
/usr/include/asm-generic/posix_types.h
/usr/include/x86_64-linux-gnu/bits/statx-generic.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h
/usr/include/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h
/usr/include/linux/falloc.h
/usr/include/c++/9/stdlib.h
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_Control.hpp
/usr/include/c++/9/atomic
/usr/include/c++/9/bits/atomic_base.h
/usr/include/c++/9/bits/atomic_lockfree_defines.h
/usr/include/c++/9/mutex
/usr/include/c++/9/tuple
/usr/include/c++/9/utility
/usr/include/c++/9/bits/stl_relops.h
/usr/include/c++/9/array
/usr/include/c++/9/bits/uses_allocator.h
/usr/include/c++/9/bits/invoke.h
/usr/include/c++/9/chrono
/usr/include/c++/9/ratio
/usr/include/c++/9/limits
/usr/include/c++/9/ctime
/usr/include/c++/9/bits/parse_numbers.h
/usr/include/c++/9/bits/std_mutex.h
/usr/include/c++/9/bits/unique_lock.h
/usr/include/assert.h
/usr/include/jsoncpp/json/json.h
/usr/include/jsoncpp/json/config.h
/usr/include/c++/9/cstddef
/usr/include/c++/9/memory
/usr/include/c++/9/bits/stl_construct.h
/usr/include/c++/9/bits/stl_uninitialized.h
/usr/include/c++/9/bits/stl_tempbuf.h
/usr/include/c++/9/bits/stl_raw_storage_iter.h
/usr/include/c++/9/ext/concurrence.h
/usr/include/c++/9/bits/unique_ptr.h
/usr/include/c++/9/bits/shared_ptr.h
/usr/include/c++/9/bits/shared_ptr_base.h
/usr/include/c++/9/bits/allocated_ptr.h
/usr/include/c++/9/bits/refwrap.h
/usr/include/c++/9/ext/aligned_buffer.h
/usr/include/c++/9/bits/shared_ptr_atomic.h
/usr/include/c++/9/backward/auto_ptr.h
/usr/include/c++/9/sstream
/usr/include/c++/9/bits/sstream.tcc
/usr/include/jsoncpp/json/allocator.h
/usr/include/c++/9/cstring
/usr/include/string.h
/usr/include/strings.h
/usr/include/jsoncpp/json/version.h
/usr/include/jsoncpp/json/json_features.h
/usr/include/jsoncpp/json/forwards.h
/usr/include/jsoncpp/json/reader.h
/usr/include/jsoncpp/json/value.h
/usr/include/c++/9/map
/usr/include/c++/9/bits/stl_tree.h
/usr/include/c++/9/bits/stl_map.h
/usr/include/c++/9/bits/stl_multimap.h
/usr/include/c++/9/bits/erase_if.h
/usr/include/c++/9/vector
/usr/include/c++/9/bits/stl_vector.h
/usr/include/c++/9/bits/stl_bvector.h
/usr/include/c++/9/bits/vector.tcc
/usr/include/c++/9/deque
/usr/include/c++/9/bits/stl_deque.h
/usr/include/c++/9/bits/deque.tcc
/usr/include/c++/9/stack
/usr/include/c++/9/bits/stl_stack.h
/usr/include/jsoncpp/json/writer.h
/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_view.hpp
/usr/local/include/ctemplate/template.h
/usr/local/include/ctemplate/template_cache.h
/usr/include/c++/9/unordered_map
/usr/include/c++/9/bits/hashtable.h
/usr/include/c++/9/bits/hashtable_policy.h
/usr/include/c++/9/bits/unordered_map.h
/usr/local/include/ctemplate/template_emitter.h
/usr/local/include/ctemplate/template_enums.h
/usr/local/include/ctemplate/template_string.h
/usr/local/include/ctemplate/per_expand_data.h
/usr/local/include/ctemplate/template_dictionary.h
/usr/include/c++/9/functional
/usr/include/c++/9/bits/std_function.h
/usr/local/include/ctemplate/str_ref.h
/usr/local/include/ctemplate/template_dictionary_interface.h
/usr/local/include/ctemplate/template_modifiers.h
/usr/local/include/ctemplate/template_namelist.h
/usr/include/c++/9/unordered_set
/usr/include/c++/9/bits/unordered_set.h
/home/zzy1/2024/my-online-judge/MYOJ/comm/Comm_model_MySQL.hpp
/usr/include/mysql/mysql.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h
/usr/include/mysql/field_types.h
/usr/include/mysql/my_list.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/my_command.h
/usr/include/mysql/my_compress.h
/usr/include/mysql/udf_registration_types.h
/usr/include/mysql/client_plugin.h
/usr/include/mysql/plugin_auth_common.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/errmsg.h
/home/zzy1/2024/my-online-judge/MYOJ/comm/util.hpp
/usr/include/x86_64-linux-gnu/sys/time.h
/usr/include/x86_64-linux-gnu/sys/wait.h
/usr/include/boost/algorithm/string.hpp
/usr/include/boost/algorithm/string/std_containers_traits.hpp
/usr/include/boost/config.hpp
/usr/include/boost/config/user.hpp
/usr/include/boost/config/detail/select_compiler_config.hpp
/usr/include/boost/config/compiler/gcc.hpp
/usr/include/boost/config/detail/select_stdlib_config.hpp
/usr/include/c++/9/version
/usr/include/boost/config/stdlib/libstdcpp3.hpp
/usr/include/boost/config/detail/select_platform_config.hpp
/usr/include/boost/config/platform/linux.hpp
/usr/include/boost/config/detail/posix_features.hpp
/usr/include/boost/config/detail/suffix.hpp
/usr/include/boost/config/helper_macros.hpp
/usr/include/boost/algorithm/string/std/string_traits.hpp
/usr/include/boost/algorithm/string/yes_no_type.hpp
/usr/include/boost/algorithm/string/sequence_traits.hpp
/usr/include/boost/mpl/bool.hpp
/usr/include/boost/mpl/bool_fwd.hpp
/usr/include/boost/mpl/aux_/adl_barrier.hpp
/usr/include/boost/mpl/aux_/config/adl.hpp
/usr/include/boost/mpl/aux_/config/msvc.hpp
/usr/include/boost/mpl/aux_/config/intel.hpp
/usr/include/boost/mpl/aux_/config/gcc.hpp
/usr/include/boost/mpl/aux_/config/workaround.hpp
/usr/include/boost/detail/workaround.hpp
/usr/include/boost/config/workaround.hpp
/usr/include/boost/mpl/integral_c_tag.hpp
/usr/include/boost/mpl/aux_/config/static_constant.hpp
/usr/include/boost/algorithm/string/std/list_traits.hpp
/usr/include/c++/9/list
/usr/include/c++/9/bits/stl_list.h
/usr/include/c++/9/bits/list.tcc
/usr/include/boost/algorithm/string/std/slist_traits.hpp
/usr/include/boost/algorithm/string/config.hpp
/usr/include/c++/9/ext/slist
/usr/include/c++/9/algorithm
/usr/include/c++/9/bits/stl_algo.h
/usr/include/c++/9/bits/algorithmfwd.h
/usr/include/c++/9/bits/stl_heap.h
/usr/include/c++/9/bits/uniform_int_dist.h
/usr/include/boost/algorithm/string/trim.hpp
/usr/include/boost/range/begin.hpp
/usr/include/boost/range/config.hpp
/usr/include/boost/range/iterator.hpp
/usr/include/boost/range/range_fwd.hpp
/usr/include/boost/range/mutable_iterator.hpp
/usr/include/boost/range/detail/extract_optional_type.hpp
/usr/include/boost/preprocessor/cat.hpp
/usr/include/boost/preprocessor/config/config.hpp
/usr/include/boost/mpl/has_xxx.hpp
/usr/include/boost/mpl/aux_/na_spec.hpp
/usr/include/boost/mpl/lambda_fwd.hpp
/usr/include/boost/mpl/void_fwd.hpp
/usr/include/boost/mpl/aux_/na.hpp
/usr/include/boost/mpl/aux_/na_fwd.hpp
/usr/include/boost/mpl/aux_/config/ctps.hpp
/usr/include/boost/mpl/aux_/config/lambda.hpp
/usr/include/boost/mpl/aux_/config/ttp.hpp
/usr/include/boost/mpl/int.hpp
/usr/include/boost/mpl/int_fwd.hpp
/usr/include/boost/mpl/aux_/nttp_decl.hpp
/usr/include/boost/mpl/aux_/config/nttp.hpp
/usr/include/boost/mpl/aux_/integral_wrapper.hpp
/usr/include/boost/mpl/aux_/static_cast.hpp
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp
/usr/include/boost/mpl/aux_/arity.hpp
/usr/include/boost/mpl/aux_/config/dtp.hpp
/usr/include/boost/mpl/aux_/preprocessor/params.hpp
/usr/include/boost/mpl/aux_/config/preprocessor.hpp
/usr/include/boost/preprocessor/comma_if.hpp
/usr/include/boost/preprocessor/punctuation/comma_if.hpp
/usr/include/boost/preprocessor/control/if.hpp
/usr/include/boost/preprocessor/control/iif.hpp
/usr/include/boost/preprocessor/logical/bool.hpp
/usr/include/boost/preprocessor/facilities/empty.hpp
/usr/include/boost/preprocessor/punctuation/comma.hpp
/usr/include/boost/preprocessor/repeat.hpp
/usr/include/boost/preprocessor/repetition/repeat.hpp
/usr/include/boost/preprocessor/debug/error.hpp
/usr/include/boost/preprocessor/detail/auto_rec.hpp
/usr/include/boost/preprocessor/tuple/eat.hpp
/usr/include/boost/preprocessor/inc.hpp
/usr/include/boost/preprocessor/arithmetic/inc.hpp
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp
/usr/include/boost/mpl/limits/arity.hpp
/usr/include/boost/preprocessor/logical/and.hpp
/usr/include/boost/preprocessor/logical/bitand.hpp
/usr/include/boost/preprocessor/identity.hpp
/usr/include/boost/preprocessor/facilities/identity.hpp
/usr/include/boost/preprocessor/empty.hpp
/usr/include/boost/preprocessor/arithmetic/add.hpp
/usr/include/boost/preprocessor/arithmetic/dec.hpp
/usr/include/boost/preprocessor/control/while.hpp
/usr/include/boost/preprocessor/list/fold_left.hpp
/usr/include/boost/preprocessor/list/detail/fold_left.hpp
/usr/include/boost/preprocessor/control/expr_iif.hpp
/usr/include/boost/preprocessor/list/adt.hpp
/usr/include/boost/preprocessor/detail/is_binary.hpp
/usr/include/boost/preprocessor/detail/check.hpp
/usr/include/boost/preprocessor/logical/compl.hpp
/usr/include/boost/preprocessor/list/fold_right.hpp
/usr/include/boost/preprocessor/list/detail/fold_right.hpp
/usr/include/boost/preprocessor/list/reverse.hpp
/usr/include/boost/preprocessor/control/detail/while.hpp
/usr/include/boost/preprocessor/tuple/elem.hpp
/usr/include/boost/preprocessor/facilities/expand.hpp
/usr/include/boost/preprocessor/facilities/overload.hpp
/usr/include/boost/preprocessor/variadic/size.hpp
/usr/include/boost/preprocessor/tuple/rem.hpp
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp
/usr/include/boost/preprocessor/variadic/elem.hpp
/usr/include/boost/preprocessor/arithmetic/sub.hpp
/usr/include/boost/mpl/aux_/config/eti.hpp
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp
/usr/include/boost/mpl/aux_/type_wrapper.hpp
/usr/include/boost/mpl/aux_/yes_no.hpp
/usr/include/boost/mpl/aux_/config/arrays.hpp
/usr/include/boost/mpl/aux_/config/has_xxx.hpp
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp
/usr/include/boost/preprocessor/array/elem.hpp
/usr/include/boost/preprocessor/array/data.hpp
/usr/include/boost/preprocessor/array/size.hpp
/usr/include/boost/preprocessor/repetition/enum_params.hpp
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp
/usr/include/boost/type_traits/remove_reference.hpp
/usr/include/boost/iterator/iterator_traits.hpp
/usr/include/c++/9/iterator
/usr/include/c++/9/bits/stream_iterator.h
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp
/usr/include/boost/range/const_iterator.hpp
/usr/include/boost/type_traits/remove_const.hpp
/usr/include/boost/type_traits/is_const.hpp
/usr/include/boost/type_traits/integral_constant.hpp
/usr/include/boost/mpl/eval_if.hpp
/usr/include/boost/mpl/if.hpp
/usr/include/boost/mpl/aux_/value_wknd.hpp
/usr/include/boost/mpl/aux_/config/integral.hpp
/usr/include/boost/mpl/aux_/lambda_support.hpp
/usr/include/boost/range/end.hpp
/usr/include/boost/range/detail/implementation_help.hpp
/usr/include/boost/range/detail/common.hpp
/usr/include/boost/range/detail/sfinae.hpp
/usr/include/boost/type_traits/is_array.hpp
/usr/include/boost/type_traits/detail/yes_no_type.hpp
/usr/include/boost/type_traits/is_void.hpp
/usr/include/boost/type_traits/is_same.hpp
/usr/include/boost/range/as_literal.hpp
/usr/include/boost/range/iterator_range.hpp
/usr/include/boost/range/iterator_range_core.hpp
/usr/include/boost/assert.hpp
/usr/include/boost/iterator/iterator_facade.hpp
/usr/include/boost/iterator/interoperable.hpp
/usr/include/boost/mpl/or.hpp
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp
/usr/include/boost/mpl/aux_/include_preprocessed.hpp
/usr/include/boost/mpl/aux_/config/compiler.hpp
/usr/include/boost/preprocessor/stringize.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp
/usr/include/boost/type_traits/is_convertible.hpp
/usr/include/boost/type_traits/intrinsics.hpp
/usr/include/boost/type_traits/detail/config.hpp
/usr/include/boost/version.hpp
/usr/include/boost/type_traits/is_complete.hpp
/usr/include/boost/type_traits/declval.hpp
/usr/include/boost/type_traits/add_rvalue_reference.hpp
/usr/include/boost/type_traits/is_reference.hpp
/usr/include/boost/type_traits/is_lvalue_reference.hpp
/usr/include/boost/type_traits/is_rvalue_reference.hpp
/usr/include/boost/type_traits/is_function.hpp
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp
/usr/include/boost/static_assert.hpp
/usr/include/boost/type_traits/is_arithmetic.hpp
/usr/include/boost/type_traits/is_integral.hpp
/usr/include/boost/type_traits/is_floating_point.hpp
/usr/include/boost/type_traits/is_abstract.hpp
/usr/include/boost/type_traits/add_lvalue_reference.hpp
/usr/include/boost/type_traits/add_reference.hpp
/usr/include/boost/iterator/detail/config_def.hpp
/usr/include/boost/iterator/detail/config_undef.hpp
/usr/include/boost/iterator/iterator_categories.hpp
/usr/include/boost/mpl/identity.hpp
/usr/include/boost/mpl/placeholders.hpp
/usr/include/boost/mpl/arg.hpp
/usr/include/boost/mpl/arg_fwd.hpp
/usr/include/boost/mpl/aux_/na_assert.hpp
/usr/include/boost/mpl/assert.hpp
/usr/include/boost/mpl/not.hpp
/usr/include/boost/mpl/aux_/config/gpu.hpp
/usr/include/boost/mpl/aux_/config/pp_counter.hpp
/usr/include/boost/mpl/aux_/arity_spec.hpp
/usr/include/boost/mpl/aux_/arg_typedef.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
/usr/include/boost/iterator/detail/facade_iterator_category.hpp
/usr/include/boost/core/use_default.hpp
/usr/include/boost/mpl/and.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp
/usr/include/boost/detail/indirect_traits.hpp
/usr/include/boost/type_traits/is_pointer.hpp
/usr/include/boost/type_traits/is_class.hpp
/usr/include/boost/type_traits/is_volatile.hpp
/usr/include/boost/type_traits/is_member_function_pointer.hpp
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
/usr/include/boost/type_traits/is_member_pointer.hpp
/usr/include/boost/type_traits/remove_cv.hpp
/usr/include/boost/type_traits/remove_pointer.hpp
/usr/include/boost/detail/select_type.hpp
/usr/include/boost/iterator/detail/enable_if.hpp
/usr/include/boost/core/addressof.hpp
/usr/include/boost/type_traits/add_const.hpp
/usr/include/boost/type_traits/add_pointer.hpp
/usr/include/boost/type_traits/is_pod.hpp
/usr/include/boost/type_traits/is_scalar.hpp
/usr/include/boost/type_traits/is_enum.hpp
/usr/include/boost/mpl/always.hpp
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp
/usr/include/boost/mpl/apply.hpp
/usr/include/boost/mpl/apply_fwd.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
/usr/include/boost/mpl/apply_wrap.hpp
/usr/include/boost/mpl/aux_/has_apply.hpp
/usr/include/boost/mpl/aux_/config/has_apply.hpp
/usr/include/boost/mpl/aux_/msvc_never_true.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
/usr/include/boost/mpl/lambda.hpp
/usr/include/boost/mpl/bind.hpp
/usr/include/boost/mpl/bind_fwd.hpp
/usr/include/boost/mpl/aux_/config/bind.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
/usr/include/boost/mpl/next.hpp
/usr/include/boost/mpl/next_prior.hpp
/usr/include/boost/mpl/aux_/common_name_wknd.hpp
/usr/include/boost/mpl/protect.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp
/usr/include/boost/mpl/aux_/full_lambda.hpp
/usr/include/boost/mpl/quote.hpp
/usr/include/boost/mpl/void.hpp
/usr/include/boost/mpl/aux_/has_type.hpp
/usr/include/boost/mpl/aux_/config/bcc.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp
/usr/include/boost/mpl/aux_/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp
/usr/include/boost/type_traits/is_base_and_derived.hpp
/usr/include/boost/range/functions.hpp
/usr/include/boost/range/size.hpp
/usr/include/boost/range/size_type.hpp
/usr/include/boost/range/difference_type.hpp
/usr/include/boost/range/has_range_iterator.hpp
/usr/include/boost/utility/enable_if.hpp
/usr/include/boost/core/enable_if.hpp
/usr/include/boost/range/concepts.hpp
/usr/include/boost/concept_check.hpp
/usr/include/boost/concept/assert.hpp
/usr/include/boost/concept/detail/general.hpp
/usr/include/boost/concept/detail/backward_compatibility.hpp
/usr/include/boost/concept/detail/has_constraints.hpp
/usr/include/boost/type_traits/conditional.hpp
/usr/include/boost/type_traits/conversion_traits.hpp
/usr/include/boost/concept/usage.hpp
/usr/include/boost/concept/detail/concept_def.hpp
/usr/include/boost/preprocessor/seq/for_each_i.hpp
/usr/include/boost/preprocessor/repetition/for.hpp
/usr/include/boost/preprocessor/repetition/detail/for.hpp
/usr/include/boost/preprocessor/seq/seq.hpp
/usr/include/boost/preprocessor/seq/elem.hpp
/usr/include/boost/preprocessor/seq/size.hpp
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp
/usr/include/boost/preprocessor/seq/enum.hpp
/usr/include/boost/concept/detail/concept_undef.hpp
/usr/include/boost/iterator/iterator_concepts.hpp
/usr/include/boost/limits.hpp
/usr/include/boost/range/value_type.hpp
/usr/include/boost/range/detail/misc_concept.hpp
/usr/include/boost/type_traits/make_unsigned.hpp
/usr/include/boost/type_traits/is_signed.hpp
/usr/include/c++/9/climits
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h
/usr/include/limits.h
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h
/usr/include/x86_64-linux-gnu/bits/local_lim.h
/usr/include/linux/limits.h
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h
/usr/include/x86_64-linux-gnu/bits/uio_lim.h
/usr/include/boost/type_traits/is_unsigned.hpp
/usr/include/boost/type_traits/add_volatile.hpp
/usr/include/boost/range/detail/has_member_size.hpp
/usr/include/boost/cstdint.hpp
/usr/include/boost/utility.hpp
/usr/include/boost/utility/base_from_member.hpp
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
/usr/include/boost/utility/binary.hpp
/usr/include/boost/preprocessor/control/deduce_d.hpp
/usr/include/boost/preprocessor/seq/cat.hpp
/usr/include/boost/preprocessor/seq/fold_left.hpp
/usr/include/boost/preprocessor/seq/transform.hpp
/usr/include/boost/preprocessor/arithmetic/mod.hpp
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp
/usr/include/boost/preprocessor/comparison/less_equal.hpp
/usr/include/boost/preprocessor/logical/not.hpp
/usr/include/boost/utility/identity_type.hpp
/usr/include/boost/type_traits/function_traits.hpp
/usr/include/boost/core/checked_delete.hpp
/usr/include/boost/core/noncopyable.hpp
/usr/include/boost/range/distance.hpp
/usr/include/boost/iterator/distance.hpp
/usr/include/boost/range/empty.hpp
/usr/include/boost/range/rbegin.hpp
/usr/include/boost/range/reverse_iterator.hpp
/usr/include/boost/iterator/reverse_iterator.hpp
/usr/include/boost/iterator/iterator_adaptor.hpp
/usr/include/boost/range/rend.hpp
/usr/include/boost/range/algorithm/equal.hpp
/usr/include/boost/range/detail/safe_bool.hpp
/usr/include/boost/next_prior.hpp
/usr/include/boost/type_traits/has_plus.hpp
/usr/include/boost/type_traits/detail/has_binary_operator.hpp
/usr/include/boost/type_traits/make_void.hpp
/usr/include/boost/type_traits/has_plus_assign.hpp
/usr/include/boost/type_traits/has_minus.hpp
/usr/include/boost/type_traits/has_minus_assign.hpp
/usr/include/boost/iterator/advance.hpp
/usr/include/boost/range/iterator_range_io.hpp
/usr/include/boost/range/detail/str_types.hpp
/usr/include/boost/algorithm/string/detail/trim.hpp
/usr/include/boost/algorithm/string/classification.hpp
/usr/include/c++/9/locale
/usr/include/c++/9/bits/locale_facets_nonio.h
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h
/usr/include/libintl.h
/usr/include/c++/9/bits/locale_facets_nonio.tcc
/usr/include/c++/9/bits/locale_conv.h
/usr/include/boost/algorithm/string/detail/classification.hpp
/usr/include/boost/algorithm/string/predicate_facade.hpp
/usr/include/boost/algorithm/string/case_conv.hpp
/usr/include/boost/iterator/transform_iterator.hpp
/usr/include/boost/utility/result_of.hpp
/usr/include/boost/preprocessor/iteration/iterate.hpp
/usr/include/boost/preprocessor/slot/slot.hpp
/usr/include/boost/preprocessor/slot/detail/def.hpp
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp
/usr/include/boost/preprocessor/facilities/intercept.hpp
/usr/include/boost/type_traits/type_identity.hpp
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp
/usr/include/boost/preprocessor/slot/detail/shared.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp
/usr/include/boost/utility/detail/result_of_iterate.hpp
/usr/include/boost/algorithm/string/detail/case_conv.hpp
/usr/include/boost/algorithm/string/predicate.hpp
/usr/include/boost/algorithm/string/compare.hpp
/usr/include/boost/algorithm/string/find.hpp
/usr/include/boost/algorithm/string/finder.hpp
/usr/include/boost/algorithm/string/constants.hpp
/usr/include/boost/algorithm/string/detail/finder.hpp
/usr/include/boost/algorithm/string/detail/predicate.hpp
/usr/include/boost/algorithm/string/split.hpp
/usr/include/boost/algorithm/string/iter_find.hpp
/usr/include/boost/algorithm/string/concept.hpp
/usr/include/boost/algorithm/string/find_iterator.hpp
/usr/include/boost/algorithm/string/detail/find_iterator.hpp
/usr/include/boost/function.hpp
/usr/include/boost/preprocessor/iterate.hpp
/usr/include/boost/function/detail/prologue.hpp
/usr/include/c++/9/cassert
/usr/include/boost/config/no_tr1/functional.hpp
/usr/include/boost/throw_exception.hpp
/usr/include/boost/assert/source_location.hpp
/usr/include/boost/current_function.hpp
/usr/include/boost/exception/exception.hpp
/usr/include/boost/function/function_base.hpp
/usr/include/boost/integer.hpp
/usr/include/boost/integer_fwd.hpp
/usr/include/boost/integer_traits.hpp
/usr/include/boost/type_index.hpp
/usr/include/boost/type_index/stl_type_index.hpp
/usr/include/boost/type_index/type_index_facade.hpp
/usr/include/boost/container_hash/hash_fwd.hpp
/usr/include/boost/core/demangle.hpp
/usr/include/c++/9/cxxabi.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h
/usr/include/boost/type_traits/has_trivial_copy.hpp
/usr/include/boost/type_traits/is_copy_constructible.hpp
/usr/include/boost/type_traits/is_constructible.hpp
/usr/include/boost/type_traits/is_destructible.hpp
/usr/include/boost/type_traits/is_default_constructible.hpp
/usr/include/boost/type_traits/has_trivial_destructor.hpp
/usr/include/boost/type_traits/composite_traits.hpp
/usr/include/boost/type_traits/is_union.hpp
/usr/include/boost/ref.hpp
/usr/include/boost/core/ref.hpp
/usr/include/boost/type_traits/alignment_of.hpp
/usr/include/boost/type_traits/enable_if.hpp
/usr/include/boost/function_equal.hpp
/usr/include/boost/function/function_fwd.hpp
/usr/include/boost/mem_fn.hpp
/usr/include/boost/bind/mem_fn.hpp
/usr/include/boost/get_pointer.hpp
/usr/include/boost/config/no_tr1/memory.hpp
/usr/include/boost/bind/mem_fn_template.hpp
/usr/include/boost/bind/mem_fn_cc.hpp
/usr/include/boost/preprocessor/enum.hpp
/usr/include/boost/preprocessor/repetition/enum.hpp
/usr/include/boost/preprocessor/enum_params.hpp
/usr/include/boost/function/detail/function_iterate.hpp
/usr/include/boost/function/detail/maybe_include.hpp
/usr/include/boost/function/function_template.hpp
/usr/include/boost/core/no_exceptions_support.hpp
/usr/include/boost/algorithm/string/detail/util.hpp
/usr/include/boost/algorithm/string/join.hpp
/usr/include/boost/algorithm/string/detail/sequence.hpp
/usr/include/boost/mpl/logical.hpp
/usr/include/boost/algorithm/string/replace.hpp
/usr/include/boost/algorithm/string/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format_store.hpp
/usr/include/boost/algorithm/string/detail/replace_storage.hpp
/usr/include/boost/algorithm/string/detail/find_format_all.hpp
/usr/include/boost/algorithm/string/formatter.hpp
/usr/include/boost/algorithm/string/detail/formatter.hpp
/usr/include/boost/algorithm/string/erase.hpp
/home/zzy1/2024/my-online-judge/MYOJ/comm/Log.hpp
/home/zzy1/2024/my-online-judge/MYOJ/comm/httplib.h
/usr/include/arpa/inet.h
/usr/include/netinet/in.h
/usr/include/x86_64-linux-gnu/sys/socket.h
/usr/include/x86_64-linux-gnu/bits/socket.h
/usr/include/x86_64-linux-gnu/bits/socket_type.h
/usr/include/x86_64-linux-gnu/bits/sockaddr.h
/usr/include/x86_64-linux-gnu/asm/socket.h
/usr/include/asm-generic/socket.h
/usr/include/x86_64-linux-gnu/asm/sockios.h
/usr/include/asm-generic/sockios.h
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h
/usr/include/x86_64-linux-gnu/bits/in.h
/usr/include/ifaddrs.h
/usr/include/netdb.h
/usr/include/rpc/netdb.h
/usr/include/x86_64-linux-gnu/bits/netdb.h
/usr/include/resolv.h
/usr/include/x86_64-linux-gnu/sys/param.h
/usr/include/x86_64-linux-gnu/bits/param.h
/usr/include/linux/param.h
/usr/include/x86_64-linux-gnu/asm/param.h
/usr/include/asm-generic/param.h
/usr/include/arpa/nameser.h
/usr/include/arpa/nameser_compat.h
/usr/include/x86_64-linux-gnu/bits/types/res_state.h
/usr/include/netinet/tcp.h
/usr/include/c++/9/csignal
/usr/include/c++/9/condition_variable
/usr/include/c++/9/random
/usr/include/c++/9/cmath
/usr/include/math.h
/usr/include/x86_64-linux-gnu/bits/math-vector.h
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
/usr/include/x86_64-linux-gnu/bits/mathcalls.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
/usr/include/c++/9/bits/random.h
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h
/usr/include/c++/9/bits/random.tcc
/usr/include/c++/9/numeric
/usr/include/c++/9/bits/stl_numeric.h
/usr/include/c++/9/regex
/usr/include/c++/9/bitset
/usr/include/c++/9/bits/regex_constants.h
/usr/include/c++/9/bits/regex_error.h
/usr/include/c++/9/bits/regex_automaton.h
/usr/include/c++/9/bits/regex_automaton.tcc
/usr/include/c++/9/bits/regex_scanner.h
/usr/include/c++/9/bits/regex_scanner.tcc
/usr/include/c++/9/bits/regex_compiler.h
/usr/include/c++/9/bits/regex_compiler.tcc
/usr/include/c++/9/bits/regex.h
/usr/include/c++/9/bits/regex.tcc
/usr/include/c++/9/bits/regex_executor.h
/usr/include/c++/9/bits/regex_executor.tcc
/usr/include/c++/9/thread

@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for compiler generated dependencies management for OJ_server.

@ -0,0 +1,2 @@
# Empty dependencies file for OJ_server.
# This may be replaced when dependencies are built.

@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# compile CXX with /usr/bin/g++-9
CXX_DEFINES =
CXX_INCLUDES =
CXX_FLAGS = -g -std=gnu++11

@ -0,0 +1 @@
/usr/bin/g++-9 -g CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o -o output/OJ_server -ljsoncpp -lctemplate -lmysqlclient

@ -0,0 +1,5 @@
/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/OJ_server.dir
/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/compile_server.dir
/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/data_server.dir
/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/edit_cache.dir
/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/rebuild_cache.dir

@ -0,0 +1 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file

@ -0,0 +1,19 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
"/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc" "CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o" "gcc" "CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o.d"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

@ -0,0 +1,110 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/zzy1/2024/my-online-judge/MYOJ
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/zzy1/2024/my-online-judge/MYOJ/build
# Include any dependencies generated for this target.
include CMakeFiles/compile_server.dir/depend.make
# Include any dependencies generated by the compiler for this target.
include CMakeFiles/compile_server.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/compile_server.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/compile_server.dir/flags.make
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o: CMakeFiles/compile_server.dir/flags.make
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o: ../compile_server/compile_server.cc
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o: CMakeFiles/compile_server.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o -MF CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o.d -o CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/compile_server.dir/compile_server/compile_server.cc.i"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc > CMakeFiles/compile_server.dir/compile_server/compile_server.cc.i
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/compile_server.dir/compile_server/compile_server.cc.s"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc -o CMakeFiles/compile_server.dir/compile_server/compile_server.cc.s
# Object files for target compile_server
compile_server_OBJECTS = \
"CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o"
# External object files for target compile_server
compile_server_EXTERNAL_OBJECTS =
output/compile_server: CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o
output/compile_server: CMakeFiles/compile_server.dir/build.make
output/compile_server: CMakeFiles/compile_server.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable output/compile_server"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/compile_server.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/compile_server.dir/build: output/compile_server
.PHONY : CMakeFiles/compile_server.dir/build
CMakeFiles/compile_server.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/compile_server.dir/cmake_clean.cmake
.PHONY : CMakeFiles/compile_server.dir/clean
CMakeFiles/compile_server.dir/depend:
cd /home/zzy1/2024/my-online-judge/MYOJ/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/compile_server.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/compile_server.dir/depend

@ -0,0 +1,11 @@
file(REMOVE_RECURSE
"CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o"
"CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o.d"
"output/compile_server"
"output/compile_server.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/compile_server.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

@ -0,0 +1,691 @@
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o: \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc \
/usr/include/stdc-predef.h \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_run.hpp \
/usr/include/x86_64-linux-gnu/sys/resource.h /usr/include/features.h \
/usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_rusage.h \
/usr/include/jsoncpp/json/json.h /usr/include/jsoncpp/json/config.h \
/usr/include/c++/9/cstddef \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \
/usr/include/c++/9/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/9/istream /usr/include/c++/9/ios \
/usr/include/c++/9/iosfwd /usr/include/c++/9/bits/stringfwd.h \
/usr/include/c++/9/bits/memoryfwd.h /usr/include/c++/9/bits/postypes.h \
/usr/include/c++/9/cwchar /usr/include/wchar.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/c++/9/exception /usr/include/c++/9/bits/exception.h \
/usr/include/c++/9/bits/exception_ptr.h \
/usr/include/c++/9/bits/exception_defines.h \
/usr/include/c++/9/bits/cxxabi_init_exception.h \
/usr/include/c++/9/typeinfo /usr/include/c++/9/bits/hash_bytes.h \
/usr/include/c++/9/new /usr/include/c++/9/bits/move.h \
/usr/include/c++/9/bits/concept_check.h /usr/include/c++/9/type_traits \
/usr/include/c++/9/bits/nested_exception.h \
/usr/include/c++/9/bits/char_traits.h \
/usr/include/c++/9/bits/stl_algobase.h \
/usr/include/c++/9/bits/functexcept.h \
/usr/include/c++/9/bits/cpp_type_traits.h \
/usr/include/c++/9/ext/type_traits.h \
/usr/include/c++/9/ext/numeric_traits.h \
/usr/include/c++/9/bits/stl_pair.h \
/usr/include/c++/9/bits/stl_iterator_base_types.h \
/usr/include/c++/9/bits/stl_iterator_base_funcs.h \
/usr/include/c++/9/debug/assertions.h \
/usr/include/c++/9/bits/stl_iterator.h \
/usr/include/c++/9/bits/ptr_traits.h /usr/include/c++/9/debug/debug.h \
/usr/include/c++/9/bits/predefined_ops.h \
/usr/include/c++/9/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h \
/usr/include/c++/9/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/9/cctype \
/usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/c++/9/bits/ios_base.h /usr/include/c++/9/ext/atomicity.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h \
/usr/include/c++/9/bits/locale_classes.h /usr/include/c++/9/string \
/usr/include/c++/9/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h \
/usr/include/c++/9/ext/new_allocator.h \
/usr/include/c++/9/bits/ostream_insert.h \
/usr/include/c++/9/bits/cxxabi_forced.h \
/usr/include/c++/9/bits/stl_function.h \
/usr/include/c++/9/backward/binders.h \
/usr/include/c++/9/bits/range_access.h \
/usr/include/c++/9/initializer_list \
/usr/include/c++/9/bits/basic_string.h \
/usr/include/c++/9/ext/alloc_traits.h \
/usr/include/c++/9/bits/alloc_traits.h \
/usr/include/c++/9/ext/string_conversions.h /usr/include/c++/9/cstdlib \
/usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/alloca.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/9/bits/std_abs.h /usr/include/c++/9/cstdio \
/usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/c++/9/cerrno \
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/9/bits/functional_hash.h \
/usr/include/c++/9/bits/basic_string.tcc \
/usr/include/c++/9/bits/locale_classes.tcc \
/usr/include/c++/9/system_error \
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h \
/usr/include/c++/9/stdexcept /usr/include/c++/9/streambuf \
/usr/include/c++/9/bits/streambuf.tcc \
/usr/include/c++/9/bits/basic_ios.h \
/usr/include/c++/9/bits/locale_facets.h /usr/include/c++/9/cwctype \
/usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h \
/usr/include/c++/9/bits/streambuf_iterator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h \
/usr/include/c++/9/bits/locale_facets.tcc \
/usr/include/c++/9/bits/basic_ios.tcc /usr/include/c++/9/ostream \
/usr/include/c++/9/bits/ostream.tcc /usr/include/c++/9/bits/istream.tcc \
/usr/include/c++/9/memory /usr/include/c++/9/bits/stl_construct.h \
/usr/include/c++/9/bits/stl_uninitialized.h \
/usr/include/c++/9/bits/stl_tempbuf.h \
/usr/include/c++/9/bits/stl_raw_storage_iter.h \
/usr/include/c++/9/ext/concurrence.h \
/usr/include/c++/9/bits/uses_allocator.h \
/usr/include/c++/9/bits/unique_ptr.h /usr/include/c++/9/utility \
/usr/include/c++/9/bits/stl_relops.h /usr/include/c++/9/tuple \
/usr/include/c++/9/array /usr/include/c++/9/bits/invoke.h \
/usr/include/c++/9/bits/shared_ptr.h \
/usr/include/c++/9/bits/shared_ptr_base.h \
/usr/include/c++/9/bits/allocated_ptr.h \
/usr/include/c++/9/bits/refwrap.h \
/usr/include/c++/9/ext/aligned_buffer.h \
/usr/include/c++/9/bits/shared_ptr_atomic.h \
/usr/include/c++/9/bits/atomic_base.h \
/usr/include/c++/9/bits/atomic_lockfree_defines.h \
/usr/include/c++/9/backward/auto_ptr.h /usr/include/c++/9/sstream \
/usr/include/c++/9/bits/sstream.tcc \
/usr/include/jsoncpp/json/allocator.h /usr/include/c++/9/cstring \
/usr/include/string.h /usr/include/strings.h \
/usr/include/jsoncpp/json/version.h \
/usr/include/jsoncpp/json/json_features.h \
/usr/include/jsoncpp/json/forwards.h /usr/include/jsoncpp/json/reader.h \
/usr/include/jsoncpp/json/value.h /usr/include/c++/9/map \
/usr/include/c++/9/bits/stl_tree.h /usr/include/c++/9/bits/stl_map.h \
/usr/include/c++/9/bits/stl_multimap.h \
/usr/include/c++/9/bits/erase_if.h /usr/include/c++/9/vector \
/usr/include/c++/9/bits/stl_vector.h \
/usr/include/c++/9/bits/stl_bvector.h /usr/include/c++/9/bits/vector.tcc \
/usr/include/c++/9/deque /usr/include/c++/9/bits/stl_deque.h \
/usr/include/c++/9/bits/deque.tcc /usr/include/c++/9/stack \
/usr/include/c++/9/bits/stl_stack.h /usr/include/jsoncpp/json/writer.h \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/./comm/util.hpp \
/usr/include/c++/9/iostream /usr/include/c++/9/fstream \
/usr/include/c++/9/bits/codecvt.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h \
/usr/include/c++/9/bits/fstream.tcc /usr/include/c++/9/atomic \
/usr/include/unistd.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/sys/wait.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/boost/algorithm/string.hpp \
/usr/include/boost/algorithm/string/std_containers_traits.hpp \
/usr/include/boost/config.hpp /usr/include/boost/config/user.hpp \
/usr/include/boost/config/detail/select_compiler_config.hpp \
/usr/include/boost/config/compiler/gcc.hpp \
/usr/include/boost/config/detail/select_stdlib_config.hpp \
/usr/include/c++/9/version \
/usr/include/boost/config/stdlib/libstdcpp3.hpp \
/usr/include/boost/config/detail/select_platform_config.hpp \
/usr/include/boost/config/platform/linux.hpp \
/usr/include/boost/config/detail/posix_features.hpp \
/usr/include/boost/config/detail/suffix.hpp \
/usr/include/boost/config/helper_macros.hpp \
/usr/include/boost/algorithm/string/std/string_traits.hpp \
/usr/include/boost/algorithm/string/yes_no_type.hpp \
/usr/include/boost/algorithm/string/sequence_traits.hpp \
/usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \
/usr/include/boost/mpl/aux_/adl_barrier.hpp \
/usr/include/boost/mpl/aux_/config/adl.hpp \
/usr/include/boost/mpl/aux_/config/msvc.hpp \
/usr/include/boost/mpl/aux_/config/intel.hpp \
/usr/include/boost/mpl/aux_/config/gcc.hpp \
/usr/include/boost/mpl/aux_/config/workaround.hpp \
/usr/include/boost/detail/workaround.hpp \
/usr/include/boost/config/workaround.hpp \
/usr/include/boost/mpl/integral_c_tag.hpp \
/usr/include/boost/mpl/aux_/config/static_constant.hpp \
/usr/include/boost/algorithm/string/std/list_traits.hpp \
/usr/include/c++/9/list /usr/include/c++/9/bits/stl_list.h \
/usr/include/c++/9/bits/list.tcc \
/usr/include/boost/algorithm/string/std/slist_traits.hpp \
/usr/include/boost/algorithm/string/config.hpp \
/usr/include/c++/9/ext/slist /usr/include/c++/9/algorithm \
/usr/include/c++/9/bits/stl_algo.h \
/usr/include/c++/9/bits/algorithmfwd.h \
/usr/include/c++/9/bits/stl_heap.h \
/usr/include/c++/9/bits/uniform_int_dist.h /usr/include/c++/9/limits \
/usr/include/boost/algorithm/string/trim.hpp \
/usr/include/boost/range/begin.hpp /usr/include/boost/range/config.hpp \
/usr/include/boost/range/iterator.hpp \
/usr/include/boost/range/range_fwd.hpp \
/usr/include/boost/range/mutable_iterator.hpp \
/usr/include/boost/range/detail/extract_optional_type.hpp \
/usr/include/boost/preprocessor/cat.hpp \
/usr/include/boost/preprocessor/config/config.hpp \
/usr/include/boost/mpl/has_xxx.hpp \
/usr/include/boost/mpl/aux_/na_spec.hpp \
/usr/include/boost/mpl/lambda_fwd.hpp \
/usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \
/usr/include/boost/mpl/aux_/na_fwd.hpp \
/usr/include/boost/mpl/aux_/config/ctps.hpp \
/usr/include/boost/mpl/aux_/config/lambda.hpp \
/usr/include/boost/mpl/aux_/config/ttp.hpp \
/usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \
/usr/include/boost/mpl/aux_/nttp_decl.hpp \
/usr/include/boost/mpl/aux_/config/nttp.hpp \
/usr/include/boost/mpl/aux_/integral_wrapper.hpp \
/usr/include/boost/mpl/aux_/static_cast.hpp \
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp \
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp \
/usr/include/boost/mpl/aux_/arity.hpp \
/usr/include/boost/mpl/aux_/config/dtp.hpp \
/usr/include/boost/mpl/aux_/preprocessor/params.hpp \
/usr/include/boost/mpl/aux_/config/preprocessor.hpp \
/usr/include/boost/preprocessor/comma_if.hpp \
/usr/include/boost/preprocessor/punctuation/comma_if.hpp \
/usr/include/boost/preprocessor/control/if.hpp \
/usr/include/boost/preprocessor/control/iif.hpp \
/usr/include/boost/preprocessor/logical/bool.hpp \
/usr/include/boost/preprocessor/facilities/empty.hpp \
/usr/include/boost/preprocessor/punctuation/comma.hpp \
/usr/include/boost/preprocessor/repeat.hpp \
/usr/include/boost/preprocessor/repetition/repeat.hpp \
/usr/include/boost/preprocessor/debug/error.hpp \
/usr/include/boost/preprocessor/detail/auto_rec.hpp \
/usr/include/boost/preprocessor/tuple/eat.hpp \
/usr/include/boost/preprocessor/inc.hpp \
/usr/include/boost/preprocessor/arithmetic/inc.hpp \
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp \
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \
/usr/include/boost/mpl/limits/arity.hpp \
/usr/include/boost/preprocessor/logical/and.hpp \
/usr/include/boost/preprocessor/logical/bitand.hpp \
/usr/include/boost/preprocessor/identity.hpp \
/usr/include/boost/preprocessor/facilities/identity.hpp \
/usr/include/boost/preprocessor/empty.hpp \
/usr/include/boost/preprocessor/arithmetic/add.hpp \
/usr/include/boost/preprocessor/arithmetic/dec.hpp \
/usr/include/boost/preprocessor/control/while.hpp \
/usr/include/boost/preprocessor/list/fold_left.hpp \
/usr/include/boost/preprocessor/list/detail/fold_left.hpp \
/usr/include/boost/preprocessor/control/expr_iif.hpp \
/usr/include/boost/preprocessor/list/adt.hpp \
/usr/include/boost/preprocessor/detail/is_binary.hpp \
/usr/include/boost/preprocessor/detail/check.hpp \
/usr/include/boost/preprocessor/logical/compl.hpp \
/usr/include/boost/preprocessor/list/fold_right.hpp \
/usr/include/boost/preprocessor/list/detail/fold_right.hpp \
/usr/include/boost/preprocessor/list/reverse.hpp \
/usr/include/boost/preprocessor/control/detail/while.hpp \
/usr/include/boost/preprocessor/tuple/elem.hpp \
/usr/include/boost/preprocessor/facilities/expand.hpp \
/usr/include/boost/preprocessor/facilities/overload.hpp \
/usr/include/boost/preprocessor/variadic/size.hpp \
/usr/include/boost/preprocessor/tuple/rem.hpp \
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp \
/usr/include/boost/preprocessor/variadic/elem.hpp \
/usr/include/boost/preprocessor/arithmetic/sub.hpp \
/usr/include/boost/mpl/aux_/config/eti.hpp \
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp \
/usr/include/boost/mpl/aux_/type_wrapper.hpp \
/usr/include/boost/mpl/aux_/yes_no.hpp \
/usr/include/boost/mpl/aux_/config/arrays.hpp \
/usr/include/boost/mpl/aux_/config/has_xxx.hpp \
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp \
/usr/include/boost/preprocessor/array/elem.hpp \
/usr/include/boost/preprocessor/array/data.hpp \
/usr/include/boost/preprocessor/array/size.hpp \
/usr/include/boost/preprocessor/repetition/enum_params.hpp \
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp \
/usr/include/boost/type_traits/remove_reference.hpp \
/usr/include/boost/iterator/iterator_traits.hpp \
/usr/include/c++/9/iterator /usr/include/c++/9/bits/stream_iterator.h \
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp \
/usr/include/boost/range/const_iterator.hpp \
/usr/include/boost/type_traits/remove_const.hpp \
/usr/include/boost/type_traits/is_const.hpp \
/usr/include/boost/type_traits/integral_constant.hpp \
/usr/include/boost/mpl/eval_if.hpp /usr/include/boost/mpl/if.hpp \
/usr/include/boost/mpl/aux_/value_wknd.hpp \
/usr/include/boost/mpl/aux_/config/integral.hpp \
/usr/include/boost/mpl/aux_/lambda_support.hpp \
/usr/include/boost/range/end.hpp \
/usr/include/boost/range/detail/implementation_help.hpp \
/usr/include/boost/range/detail/common.hpp \
/usr/include/boost/range/detail/sfinae.hpp \
/usr/include/boost/type_traits/is_array.hpp \
/usr/include/boost/type_traits/detail/yes_no_type.hpp \
/usr/include/boost/type_traits/is_void.hpp \
/usr/include/boost/type_traits/is_same.hpp \
/usr/include/boost/range/as_literal.hpp \
/usr/include/boost/range/iterator_range.hpp \
/usr/include/boost/range/iterator_range_core.hpp \
/usr/include/boost/assert.hpp /usr/include/assert.h \
/usr/include/boost/iterator/iterator_facade.hpp \
/usr/include/boost/iterator/interoperable.hpp \
/usr/include/boost/mpl/or.hpp \
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp \
/usr/include/boost/mpl/aux_/include_preprocessed.hpp \
/usr/include/boost/mpl/aux_/config/compiler.hpp \
/usr/include/boost/preprocessor/stringize.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \
/usr/include/boost/type_traits/is_convertible.hpp \
/usr/include/boost/type_traits/intrinsics.hpp \
/usr/include/boost/type_traits/detail/config.hpp \
/usr/include/boost/version.hpp \
/usr/include/boost/type_traits/is_complete.hpp \
/usr/include/boost/type_traits/declval.hpp \
/usr/include/boost/type_traits/add_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_reference.hpp \
/usr/include/boost/type_traits/is_lvalue_reference.hpp \
/usr/include/boost/type_traits/is_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_function.hpp \
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp \
/usr/include/boost/static_assert.hpp \
/usr/include/boost/type_traits/is_arithmetic.hpp \
/usr/include/boost/type_traits/is_integral.hpp \
/usr/include/boost/type_traits/is_floating_point.hpp \
/usr/include/boost/type_traits/is_abstract.hpp \
/usr/include/boost/type_traits/add_lvalue_reference.hpp \
/usr/include/boost/type_traits/add_reference.hpp \
/usr/include/boost/iterator/detail/config_def.hpp \
/usr/include/boost/iterator/detail/config_undef.hpp \
/usr/include/boost/iterator/iterator_categories.hpp \
/usr/include/boost/mpl/identity.hpp \
/usr/include/boost/mpl/placeholders.hpp /usr/include/boost/mpl/arg.hpp \
/usr/include/boost/mpl/arg_fwd.hpp \
/usr/include/boost/mpl/aux_/na_assert.hpp \
/usr/include/boost/mpl/assert.hpp /usr/include/boost/mpl/not.hpp \
/usr/include/boost/mpl/aux_/config/gpu.hpp \
/usr/include/boost/mpl/aux_/config/pp_counter.hpp \
/usr/include/boost/mpl/aux_/arity_spec.hpp \
/usr/include/boost/mpl/aux_/arg_typedef.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \
/usr/include/boost/iterator/detail/facade_iterator_category.hpp \
/usr/include/boost/core/use_default.hpp /usr/include/boost/mpl/and.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \
/usr/include/boost/detail/indirect_traits.hpp \
/usr/include/boost/type_traits/is_pointer.hpp \
/usr/include/boost/type_traits/is_class.hpp \
/usr/include/boost/type_traits/is_volatile.hpp \
/usr/include/boost/type_traits/is_member_function_pointer.hpp \
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp \
/usr/include/boost/type_traits/is_member_pointer.hpp \
/usr/include/boost/type_traits/remove_cv.hpp \
/usr/include/boost/type_traits/remove_pointer.hpp \
/usr/include/boost/detail/select_type.hpp \
/usr/include/boost/iterator/detail/enable_if.hpp \
/usr/include/boost/core/addressof.hpp \
/usr/include/boost/type_traits/add_const.hpp \
/usr/include/boost/type_traits/add_pointer.hpp \
/usr/include/boost/type_traits/is_pod.hpp \
/usr/include/boost/type_traits/is_scalar.hpp \
/usr/include/boost/type_traits/is_enum.hpp \
/usr/include/boost/mpl/always.hpp \
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp \
/usr/include/boost/mpl/apply.hpp /usr/include/boost/mpl/apply_fwd.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \
/usr/include/boost/mpl/apply_wrap.hpp \
/usr/include/boost/mpl/aux_/has_apply.hpp \
/usr/include/boost/mpl/aux_/config/has_apply.hpp \
/usr/include/boost/mpl/aux_/msvc_never_true.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \
/usr/include/boost/mpl/lambda.hpp /usr/include/boost/mpl/bind.hpp \
/usr/include/boost/mpl/bind_fwd.hpp \
/usr/include/boost/mpl/aux_/config/bind.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \
/usr/include/boost/mpl/next.hpp /usr/include/boost/mpl/next_prior.hpp \
/usr/include/boost/mpl/aux_/common_name_wknd.hpp \
/usr/include/boost/mpl/protect.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \
/usr/include/boost/mpl/aux_/full_lambda.hpp \
/usr/include/boost/mpl/quote.hpp /usr/include/boost/mpl/void.hpp \
/usr/include/boost/mpl/aux_/has_type.hpp \
/usr/include/boost/mpl/aux_/config/bcc.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \
/usr/include/boost/mpl/aux_/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \
/usr/include/boost/type_traits/is_base_and_derived.hpp \
/usr/include/boost/range/functions.hpp /usr/include/boost/range/size.hpp \
/usr/include/boost/range/size_type.hpp \
/usr/include/boost/range/difference_type.hpp \
/usr/include/boost/range/has_range_iterator.hpp \
/usr/include/boost/utility/enable_if.hpp \
/usr/include/boost/core/enable_if.hpp \
/usr/include/boost/range/concepts.hpp \
/usr/include/boost/concept_check.hpp \
/usr/include/boost/concept/assert.hpp \
/usr/include/boost/concept/detail/general.hpp \
/usr/include/boost/concept/detail/backward_compatibility.hpp \
/usr/include/boost/concept/detail/has_constraints.hpp \
/usr/include/boost/type_traits/conditional.hpp \
/usr/include/boost/type_traits/conversion_traits.hpp \
/usr/include/boost/concept/usage.hpp \
/usr/include/boost/concept/detail/concept_def.hpp \
/usr/include/boost/preprocessor/seq/for_each_i.hpp \
/usr/include/boost/preprocessor/repetition/for.hpp \
/usr/include/boost/preprocessor/repetition/detail/for.hpp \
/usr/include/boost/preprocessor/seq/seq.hpp \
/usr/include/boost/preprocessor/seq/elem.hpp \
/usr/include/boost/preprocessor/seq/size.hpp \
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp \
/usr/include/boost/preprocessor/seq/enum.hpp \
/usr/include/boost/concept/detail/concept_undef.hpp \
/usr/include/boost/iterator/iterator_concepts.hpp \
/usr/include/boost/limits.hpp /usr/include/boost/range/value_type.hpp \
/usr/include/boost/range/detail/misc_concept.hpp \
/usr/include/boost/type_traits/make_unsigned.hpp \
/usr/include/boost/type_traits/is_signed.hpp /usr/include/c++/9/climits \
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/uio_lim.h \
/usr/include/boost/type_traits/is_unsigned.hpp \
/usr/include/boost/type_traits/add_volatile.hpp \
/usr/include/boost/range/detail/has_member_size.hpp \
/usr/include/boost/cstdint.hpp /usr/include/boost/utility.hpp \
/usr/include/boost/utility/base_from_member.hpp \
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp \
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp \
/usr/include/boost/utility/binary.hpp \
/usr/include/boost/preprocessor/control/deduce_d.hpp \
/usr/include/boost/preprocessor/seq/cat.hpp \
/usr/include/boost/preprocessor/seq/fold_left.hpp \
/usr/include/boost/preprocessor/seq/transform.hpp \
/usr/include/boost/preprocessor/arithmetic/mod.hpp \
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp \
/usr/include/boost/preprocessor/comparison/less_equal.hpp \
/usr/include/boost/preprocessor/logical/not.hpp \
/usr/include/boost/utility/identity_type.hpp \
/usr/include/boost/type_traits/function_traits.hpp \
/usr/include/boost/core/checked_delete.hpp \
/usr/include/boost/core/noncopyable.hpp \
/usr/include/boost/range/distance.hpp \
/usr/include/boost/iterator/distance.hpp \
/usr/include/boost/range/empty.hpp /usr/include/boost/range/rbegin.hpp \
/usr/include/boost/range/reverse_iterator.hpp \
/usr/include/boost/iterator/reverse_iterator.hpp \
/usr/include/boost/iterator/iterator_adaptor.hpp \
/usr/include/boost/range/rend.hpp \
/usr/include/boost/range/algorithm/equal.hpp \
/usr/include/boost/range/detail/safe_bool.hpp \
/usr/include/boost/next_prior.hpp \
/usr/include/boost/type_traits/has_plus.hpp \
/usr/include/boost/type_traits/detail/has_binary_operator.hpp \
/usr/include/boost/type_traits/make_void.hpp \
/usr/include/boost/type_traits/has_plus_assign.hpp \
/usr/include/boost/type_traits/has_minus.hpp \
/usr/include/boost/type_traits/has_minus_assign.hpp \
/usr/include/boost/iterator/advance.hpp \
/usr/include/boost/range/iterator_range_io.hpp \
/usr/include/boost/range/detail/str_types.hpp \
/usr/include/boost/algorithm/string/detail/trim.hpp \
/usr/include/boost/algorithm/string/classification.hpp \
/usr/include/c++/9/locale /usr/include/c++/9/bits/locale_facets_nonio.h \
/usr/include/c++/9/ctime \
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/9/bits/locale_facets_nonio.tcc \
/usr/include/c++/9/bits/locale_conv.h \
/usr/include/boost/algorithm/string/detail/classification.hpp \
/usr/include/c++/9/functional /usr/include/c++/9/bits/std_function.h \
/usr/include/boost/algorithm/string/predicate_facade.hpp \
/usr/include/boost/algorithm/string/case_conv.hpp \
/usr/include/boost/iterator/transform_iterator.hpp \
/usr/include/boost/utility/result_of.hpp \
/usr/include/boost/preprocessor/iteration/iterate.hpp \
/usr/include/boost/preprocessor/slot/slot.hpp \
/usr/include/boost/preprocessor/slot/detail/def.hpp \
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp \
/usr/include/boost/preprocessor/facilities/intercept.hpp \
/usr/include/boost/type_traits/type_identity.hpp \
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \
/usr/include/boost/preprocessor/slot/detail/shared.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \
/usr/include/boost/utility/detail/result_of_iterate.hpp \
/usr/include/boost/algorithm/string/detail/case_conv.hpp \
/usr/include/boost/algorithm/string/predicate.hpp \
/usr/include/boost/algorithm/string/compare.hpp \
/usr/include/boost/algorithm/string/find.hpp \
/usr/include/boost/algorithm/string/finder.hpp \
/usr/include/boost/algorithm/string/constants.hpp \
/usr/include/boost/algorithm/string/detail/finder.hpp \
/usr/include/boost/algorithm/string/detail/predicate.hpp \
/usr/include/boost/algorithm/string/split.hpp \
/usr/include/boost/algorithm/string/iter_find.hpp \
/usr/include/boost/algorithm/string/concept.hpp \
/usr/include/boost/algorithm/string/find_iterator.hpp \
/usr/include/boost/algorithm/string/detail/find_iterator.hpp \
/usr/include/boost/function.hpp \
/usr/include/boost/preprocessor/iterate.hpp \
/usr/include/boost/function/detail/prologue.hpp \
/usr/include/c++/9/cassert \
/usr/include/boost/config/no_tr1/functional.hpp \
/usr/include/boost/throw_exception.hpp \
/usr/include/boost/assert/source_location.hpp \
/usr/include/boost/current_function.hpp \
/usr/include/boost/exception/exception.hpp \
/usr/include/boost/function/function_base.hpp \
/usr/include/boost/integer.hpp /usr/include/boost/integer_fwd.hpp \
/usr/include/boost/integer_traits.hpp /usr/include/boost/type_index.hpp \
/usr/include/boost/type_index/stl_type_index.hpp \
/usr/include/boost/type_index/type_index_facade.hpp \
/usr/include/boost/container_hash/hash_fwd.hpp \
/usr/include/boost/core/demangle.hpp /usr/include/c++/9/cxxabi.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h \
/usr/include/boost/type_traits/has_trivial_copy.hpp \
/usr/include/boost/type_traits/is_copy_constructible.hpp \
/usr/include/boost/type_traits/is_constructible.hpp \
/usr/include/boost/type_traits/is_destructible.hpp \
/usr/include/boost/type_traits/is_default_constructible.hpp \
/usr/include/boost/type_traits/has_trivial_destructor.hpp \
/usr/include/boost/type_traits/composite_traits.hpp \
/usr/include/boost/type_traits/is_union.hpp /usr/include/boost/ref.hpp \
/usr/include/boost/core/ref.hpp \
/usr/include/boost/type_traits/alignment_of.hpp \
/usr/include/boost/type_traits/enable_if.hpp \
/usr/include/boost/function_equal.hpp \
/usr/include/boost/function/function_fwd.hpp \
/usr/include/boost/mem_fn.hpp /usr/include/boost/bind/mem_fn.hpp \
/usr/include/boost/get_pointer.hpp \
/usr/include/boost/config/no_tr1/memory.hpp \
/usr/include/boost/bind/mem_fn_template.hpp \
/usr/include/boost/bind/mem_fn_cc.hpp \
/usr/include/boost/preprocessor/enum.hpp \
/usr/include/boost/preprocessor/repetition/enum.hpp \
/usr/include/boost/preprocessor/enum_params.hpp \
/usr/include/boost/function/detail/function_iterate.hpp \
/usr/include/boost/function/detail/maybe_include.hpp \
/usr/include/boost/function/function_template.hpp \
/usr/include/boost/core/no_exceptions_support.hpp \
/usr/include/boost/algorithm/string/detail/util.hpp \
/usr/include/boost/algorithm/string/join.hpp \
/usr/include/boost/algorithm/string/detail/sequence.hpp \
/usr/include/boost/mpl/logical.hpp \
/usr/include/boost/algorithm/string/replace.hpp \
/usr/include/boost/algorithm/string/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format_store.hpp \
/usr/include/boost/algorithm/string/detail/replace_storage.hpp \
/usr/include/boost/algorithm/string/detail/find_format_all.hpp \
/usr/include/boost/algorithm/string/formatter.hpp \
/usr/include/boost/algorithm/string/detail/formatter.hpp \
/usr/include/boost/algorithm/string/erase.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/./comm/../comm/Log.hpp \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/linux/falloc.h \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/Runner.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/./comm/httplib.h \
/usr/include/arpa/inet.h /usr/include/netinet/in.h \
/usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/ifaddrs.h \
/usr/include/netdb.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/resolv.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h /usr/include/arpa/nameser.h \
/usr/include/arpa/nameser_compat.h \
/usr/include/x86_64-linux-gnu/bits/types/res_state.h \
/usr/include/netinet/tcp.h /usr/include/c++/9/csignal \
/usr/include/c++/9/condition_variable /usr/include/c++/9/chrono \
/usr/include/c++/9/ratio /usr/include/c++/9/bits/parse_numbers.h \
/usr/include/c++/9/bits/std_mutex.h \
/usr/include/c++/9/bits/unique_lock.h /usr/include/c++/9/mutex \
/usr/include/c++/9/random /usr/include/c++/9/cmath /usr/include/math.h \
/usr/include/x86_64-linux-gnu/bits/math-vector.h \
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h \
/usr/include/x86_64-linux-gnu/bits/fp-logb.h \
/usr/include/x86_64-linux-gnu/bits/fp-fast.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h \
/usr/include/x86_64-linux-gnu/bits/iscanonical.h \
/usr/include/c++/9/bits/random.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h \
/usr/include/c++/9/bits/random.tcc /usr/include/c++/9/numeric \
/usr/include/c++/9/bits/stl_numeric.h /usr/include/c++/9/regex \
/usr/include/c++/9/bitset /usr/include/c++/9/bits/regex_constants.h \
/usr/include/c++/9/bits/regex_error.h \
/usr/include/c++/9/bits/regex_automaton.h \
/usr/include/c++/9/bits/regex_automaton.tcc \
/usr/include/c++/9/bits/regex_scanner.h \
/usr/include/c++/9/bits/regex_scanner.tcc \
/usr/include/c++/9/bits/regex_compiler.h \
/usr/include/c++/9/bits/regex_compiler.tcc \
/usr/include/c++/9/bits/regex.h /usr/include/c++/9/bits/regex.tcc \
/usr/include/c++/9/bits/regex_executor.h \
/usr/include/c++/9/bits/regex_executor.tcc /usr/include/c++/9/thread

@ -0,0 +1,802 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc
/usr/include/stdc-predef.h
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_run.hpp
/usr/include/x86_64-linux-gnu/sys/resource.h
/usr/include/features.h
/usr/include/features-time64.h
/usr/include/x86_64-linux-gnu/bits/wordsize.h
/usr/include/x86_64-linux-gnu/bits/timesize.h
/usr/include/x86_64-linux-gnu/sys/cdefs.h
/usr/include/x86_64-linux-gnu/bits/long-double.h
/usr/include/x86_64-linux-gnu/gnu/stubs.h
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h
/usr/include/x86_64-linux-gnu/bits/resource.h
/usr/include/x86_64-linux-gnu/bits/types.h
/usr/include/x86_64-linux-gnu/bits/typesizes.h
/usr/include/x86_64-linux-gnu/bits/time64.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
/usr/include/x86_64-linux-gnu/bits/types/struct_rusage.h
/usr/include/jsoncpp/json/json.h
/usr/include/jsoncpp/json/config.h
/usr/include/c++/9/cstddef
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h
/usr/include/c++/9/cstdint
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h
/usr/include/stdint.h
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
/usr/include/x86_64-linux-gnu/bits/wchar.h
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
/usr/include/c++/9/istream
/usr/include/c++/9/ios
/usr/include/c++/9/iosfwd
/usr/include/c++/9/bits/stringfwd.h
/usr/include/c++/9/bits/memoryfwd.h
/usr/include/c++/9/bits/postypes.h
/usr/include/c++/9/cwchar
/usr/include/wchar.h
/usr/include/x86_64-linux-gnu/bits/floatn.h
/usr/include/x86_64-linux-gnu/bits/floatn-common.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h
/usr/include/x86_64-linux-gnu/bits/types/FILE.h
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h
/usr/include/c++/9/exception
/usr/include/c++/9/bits/exception.h
/usr/include/c++/9/bits/exception_ptr.h
/usr/include/c++/9/bits/exception_defines.h
/usr/include/c++/9/bits/cxxabi_init_exception.h
/usr/include/c++/9/typeinfo
/usr/include/c++/9/bits/hash_bytes.h
/usr/include/c++/9/new
/usr/include/c++/9/bits/move.h
/usr/include/c++/9/bits/concept_check.h
/usr/include/c++/9/type_traits
/usr/include/c++/9/bits/nested_exception.h
/usr/include/c++/9/bits/char_traits.h
/usr/include/c++/9/bits/stl_algobase.h
/usr/include/c++/9/bits/functexcept.h
/usr/include/c++/9/bits/cpp_type_traits.h
/usr/include/c++/9/ext/type_traits.h
/usr/include/c++/9/ext/numeric_traits.h
/usr/include/c++/9/bits/stl_pair.h
/usr/include/c++/9/bits/stl_iterator_base_types.h
/usr/include/c++/9/bits/stl_iterator_base_funcs.h
/usr/include/c++/9/debug/assertions.h
/usr/include/c++/9/bits/stl_iterator.h
/usr/include/c++/9/bits/ptr_traits.h
/usr/include/c++/9/debug/debug.h
/usr/include/c++/9/bits/predefined_ops.h
/usr/include/c++/9/bits/localefwd.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h
/usr/include/c++/9/clocale
/usr/include/locale.h
/usr/include/x86_64-linux-gnu/bits/locale.h
/usr/include/c++/9/cctype
/usr/include/ctype.h
/usr/include/x86_64-linux-gnu/bits/endian.h
/usr/include/x86_64-linux-gnu/bits/endianness.h
/usr/include/c++/9/bits/ios_base.h
/usr/include/c++/9/ext/atomicity.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h
/usr/include/pthread.h
/usr/include/sched.h
/usr/include/x86_64-linux-gnu/bits/types/time_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
/usr/include/x86_64-linux-gnu/bits/sched.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
/usr/include/x86_64-linux-gnu/bits/cpu-set.h
/usr/include/time.h
/usr/include/x86_64-linux-gnu/bits/time.h
/usr/include/x86_64-linux-gnu/bits/timex.h
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
/usr/include/x86_64-linux-gnu/bits/setjmp.h
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h
/usr/include/c++/9/bits/locale_classes.h
/usr/include/c++/9/string
/usr/include/c++/9/bits/allocator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h
/usr/include/c++/9/ext/new_allocator.h
/usr/include/c++/9/bits/ostream_insert.h
/usr/include/c++/9/bits/cxxabi_forced.h
/usr/include/c++/9/bits/stl_function.h
/usr/include/c++/9/backward/binders.h
/usr/include/c++/9/bits/range_access.h
/usr/include/c++/9/initializer_list
/usr/include/c++/9/bits/basic_string.h
/usr/include/c++/9/ext/alloc_traits.h
/usr/include/c++/9/bits/alloc_traits.h
/usr/include/c++/9/ext/string_conversions.h
/usr/include/c++/9/cstdlib
/usr/include/stdlib.h
/usr/include/x86_64-linux-gnu/bits/waitflags.h
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/endian.h
/usr/include/x86_64-linux-gnu/bits/byteswap.h
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
/usr/include/x86_64-linux-gnu/sys/select.h
/usr/include/x86_64-linux-gnu/bits/select.h
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h
/usr/include/alloca.h
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
/usr/include/c++/9/bits/std_abs.h
/usr/include/c++/9/cstdio
/usr/include/stdio.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
/usr/include/c++/9/cerrno
/usr/include/errno.h
/usr/include/x86_64-linux-gnu/bits/errno.h
/usr/include/linux/errno.h
/usr/include/x86_64-linux-gnu/asm/errno.h
/usr/include/asm-generic/errno.h
/usr/include/asm-generic/errno-base.h
/usr/include/x86_64-linux-gnu/bits/types/error_t.h
/usr/include/c++/9/bits/functional_hash.h
/usr/include/c++/9/bits/basic_string.tcc
/usr/include/c++/9/bits/locale_classes.tcc
/usr/include/c++/9/system_error
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h
/usr/include/c++/9/stdexcept
/usr/include/c++/9/streambuf
/usr/include/c++/9/bits/streambuf.tcc
/usr/include/c++/9/bits/basic_ios.h
/usr/include/c++/9/bits/locale_facets.h
/usr/include/c++/9/cwctype
/usr/include/wctype.h
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h
/usr/include/c++/9/bits/streambuf_iterator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h
/usr/include/c++/9/bits/locale_facets.tcc
/usr/include/c++/9/bits/basic_ios.tcc
/usr/include/c++/9/ostream
/usr/include/c++/9/bits/ostream.tcc
/usr/include/c++/9/bits/istream.tcc
/usr/include/c++/9/memory
/usr/include/c++/9/bits/stl_construct.h
/usr/include/c++/9/bits/stl_uninitialized.h
/usr/include/c++/9/bits/stl_tempbuf.h
/usr/include/c++/9/bits/stl_raw_storage_iter.h
/usr/include/c++/9/ext/concurrence.h
/usr/include/c++/9/bits/uses_allocator.h
/usr/include/c++/9/bits/unique_ptr.h
/usr/include/c++/9/utility
/usr/include/c++/9/bits/stl_relops.h
/usr/include/c++/9/tuple
/usr/include/c++/9/array
/usr/include/c++/9/bits/invoke.h
/usr/include/c++/9/bits/shared_ptr.h
/usr/include/c++/9/bits/shared_ptr_base.h
/usr/include/c++/9/bits/allocated_ptr.h
/usr/include/c++/9/bits/refwrap.h
/usr/include/c++/9/ext/aligned_buffer.h
/usr/include/c++/9/bits/shared_ptr_atomic.h
/usr/include/c++/9/bits/atomic_base.h
/usr/include/c++/9/bits/atomic_lockfree_defines.h
/usr/include/c++/9/backward/auto_ptr.h
/usr/include/c++/9/sstream
/usr/include/c++/9/bits/sstream.tcc
/usr/include/jsoncpp/json/allocator.h
/usr/include/c++/9/cstring
/usr/include/string.h
/usr/include/strings.h
/usr/include/jsoncpp/json/version.h
/usr/include/jsoncpp/json/json_features.h
/usr/include/jsoncpp/json/forwards.h
/usr/include/jsoncpp/json/reader.h
/usr/include/jsoncpp/json/value.h
/usr/include/c++/9/map
/usr/include/c++/9/bits/stl_tree.h
/usr/include/c++/9/bits/stl_map.h
/usr/include/c++/9/bits/stl_multimap.h
/usr/include/c++/9/bits/erase_if.h
/usr/include/c++/9/vector
/usr/include/c++/9/bits/stl_vector.h
/usr/include/c++/9/bits/stl_bvector.h
/usr/include/c++/9/bits/vector.tcc
/usr/include/c++/9/deque
/usr/include/c++/9/bits/stl_deque.h
/usr/include/c++/9/bits/deque.tcc
/usr/include/c++/9/stack
/usr/include/c++/9/bits/stl_stack.h
/usr/include/jsoncpp/json/writer.h
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/comm/util.hpp
/usr/include/c++/9/iostream
/usr/include/c++/9/fstream
/usr/include/c++/9/bits/codecvt.h
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h
/usr/include/c++/9/bits/fstream.tcc
/usr/include/c++/9/atomic
/usr/include/unistd.h
/usr/include/x86_64-linux-gnu/bits/posix_opt.h
/usr/include/x86_64-linux-gnu/bits/environments.h
/usr/include/x86_64-linux-gnu/bits/confname.h
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h
/usr/include/x86_64-linux-gnu/bits/getopt_core.h
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h
/usr/include/linux/close_range.h
/usr/include/x86_64-linux-gnu/sys/stat.h
/usr/include/x86_64-linux-gnu/bits/stat.h
/usr/include/x86_64-linux-gnu/bits/struct_stat.h
/usr/include/x86_64-linux-gnu/bits/statx.h
/usr/include/linux/stat.h
/usr/include/linux/types.h
/usr/include/x86_64-linux-gnu/asm/types.h
/usr/include/asm-generic/types.h
/usr/include/asm-generic/int-ll64.h
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h
/usr/include/asm-generic/bitsperlong.h
/usr/include/linux/posix_types.h
/usr/include/linux/stddef.h
/usr/include/x86_64-linux-gnu/asm/posix_types.h
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h
/usr/include/asm-generic/posix_types.h
/usr/include/x86_64-linux-gnu/bits/statx-generic.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h
/usr/include/x86_64-linux-gnu/sys/time.h
/usr/include/x86_64-linux-gnu/sys/wait.h
/usr/include/signal.h
/usr/include/x86_64-linux-gnu/bits/signum-generic.h
/usr/include/x86_64-linux-gnu/bits/signum-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h
/usr/include/x86_64-linux-gnu/bits/sigaction.h
/usr/include/x86_64-linux-gnu/bits/sigcontext.h
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h
/usr/include/x86_64-linux-gnu/sys/ucontext.h
/usr/include/x86_64-linux-gnu/bits/sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigstksz.h
/usr/include/x86_64-linux-gnu/bits/ss_flags.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigthread.h
/usr/include/x86_64-linux-gnu/bits/signal_ext.h
/usr/include/boost/algorithm/string.hpp
/usr/include/boost/algorithm/string/std_containers_traits.hpp
/usr/include/boost/config.hpp
/usr/include/boost/config/user.hpp
/usr/include/boost/config/detail/select_compiler_config.hpp
/usr/include/boost/config/compiler/gcc.hpp
/usr/include/boost/config/detail/select_stdlib_config.hpp
/usr/include/c++/9/version
/usr/include/boost/config/stdlib/libstdcpp3.hpp
/usr/include/boost/config/detail/select_platform_config.hpp
/usr/include/boost/config/platform/linux.hpp
/usr/include/boost/config/detail/posix_features.hpp
/usr/include/boost/config/detail/suffix.hpp
/usr/include/boost/config/helper_macros.hpp
/usr/include/boost/algorithm/string/std/string_traits.hpp
/usr/include/boost/algorithm/string/yes_no_type.hpp
/usr/include/boost/algorithm/string/sequence_traits.hpp
/usr/include/boost/mpl/bool.hpp
/usr/include/boost/mpl/bool_fwd.hpp
/usr/include/boost/mpl/aux_/adl_barrier.hpp
/usr/include/boost/mpl/aux_/config/adl.hpp
/usr/include/boost/mpl/aux_/config/msvc.hpp
/usr/include/boost/mpl/aux_/config/intel.hpp
/usr/include/boost/mpl/aux_/config/gcc.hpp
/usr/include/boost/mpl/aux_/config/workaround.hpp
/usr/include/boost/detail/workaround.hpp
/usr/include/boost/config/workaround.hpp
/usr/include/boost/mpl/integral_c_tag.hpp
/usr/include/boost/mpl/aux_/config/static_constant.hpp
/usr/include/boost/algorithm/string/std/list_traits.hpp
/usr/include/c++/9/list
/usr/include/c++/9/bits/stl_list.h
/usr/include/c++/9/bits/list.tcc
/usr/include/boost/algorithm/string/std/slist_traits.hpp
/usr/include/boost/algorithm/string/config.hpp
/usr/include/c++/9/ext/slist
/usr/include/c++/9/algorithm
/usr/include/c++/9/bits/stl_algo.h
/usr/include/c++/9/bits/algorithmfwd.h
/usr/include/c++/9/bits/stl_heap.h
/usr/include/c++/9/bits/uniform_int_dist.h
/usr/include/c++/9/limits
/usr/include/boost/algorithm/string/trim.hpp
/usr/include/boost/range/begin.hpp
/usr/include/boost/range/config.hpp
/usr/include/boost/range/iterator.hpp
/usr/include/boost/range/range_fwd.hpp
/usr/include/boost/range/mutable_iterator.hpp
/usr/include/boost/range/detail/extract_optional_type.hpp
/usr/include/boost/preprocessor/cat.hpp
/usr/include/boost/preprocessor/config/config.hpp
/usr/include/boost/mpl/has_xxx.hpp
/usr/include/boost/mpl/aux_/na_spec.hpp
/usr/include/boost/mpl/lambda_fwd.hpp
/usr/include/boost/mpl/void_fwd.hpp
/usr/include/boost/mpl/aux_/na.hpp
/usr/include/boost/mpl/aux_/na_fwd.hpp
/usr/include/boost/mpl/aux_/config/ctps.hpp
/usr/include/boost/mpl/aux_/config/lambda.hpp
/usr/include/boost/mpl/aux_/config/ttp.hpp
/usr/include/boost/mpl/int.hpp
/usr/include/boost/mpl/int_fwd.hpp
/usr/include/boost/mpl/aux_/nttp_decl.hpp
/usr/include/boost/mpl/aux_/config/nttp.hpp
/usr/include/boost/mpl/aux_/integral_wrapper.hpp
/usr/include/boost/mpl/aux_/static_cast.hpp
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp
/usr/include/boost/mpl/aux_/arity.hpp
/usr/include/boost/mpl/aux_/config/dtp.hpp
/usr/include/boost/mpl/aux_/preprocessor/params.hpp
/usr/include/boost/mpl/aux_/config/preprocessor.hpp
/usr/include/boost/preprocessor/comma_if.hpp
/usr/include/boost/preprocessor/punctuation/comma_if.hpp
/usr/include/boost/preprocessor/control/if.hpp
/usr/include/boost/preprocessor/control/iif.hpp
/usr/include/boost/preprocessor/logical/bool.hpp
/usr/include/boost/preprocessor/facilities/empty.hpp
/usr/include/boost/preprocessor/punctuation/comma.hpp
/usr/include/boost/preprocessor/repeat.hpp
/usr/include/boost/preprocessor/repetition/repeat.hpp
/usr/include/boost/preprocessor/debug/error.hpp
/usr/include/boost/preprocessor/detail/auto_rec.hpp
/usr/include/boost/preprocessor/tuple/eat.hpp
/usr/include/boost/preprocessor/inc.hpp
/usr/include/boost/preprocessor/arithmetic/inc.hpp
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp
/usr/include/boost/mpl/limits/arity.hpp
/usr/include/boost/preprocessor/logical/and.hpp
/usr/include/boost/preprocessor/logical/bitand.hpp
/usr/include/boost/preprocessor/identity.hpp
/usr/include/boost/preprocessor/facilities/identity.hpp
/usr/include/boost/preprocessor/empty.hpp
/usr/include/boost/preprocessor/arithmetic/add.hpp
/usr/include/boost/preprocessor/arithmetic/dec.hpp
/usr/include/boost/preprocessor/control/while.hpp
/usr/include/boost/preprocessor/list/fold_left.hpp
/usr/include/boost/preprocessor/list/detail/fold_left.hpp
/usr/include/boost/preprocessor/control/expr_iif.hpp
/usr/include/boost/preprocessor/list/adt.hpp
/usr/include/boost/preprocessor/detail/is_binary.hpp
/usr/include/boost/preprocessor/detail/check.hpp
/usr/include/boost/preprocessor/logical/compl.hpp
/usr/include/boost/preprocessor/list/fold_right.hpp
/usr/include/boost/preprocessor/list/detail/fold_right.hpp
/usr/include/boost/preprocessor/list/reverse.hpp
/usr/include/boost/preprocessor/control/detail/while.hpp
/usr/include/boost/preprocessor/tuple/elem.hpp
/usr/include/boost/preprocessor/facilities/expand.hpp
/usr/include/boost/preprocessor/facilities/overload.hpp
/usr/include/boost/preprocessor/variadic/size.hpp
/usr/include/boost/preprocessor/tuple/rem.hpp
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp
/usr/include/boost/preprocessor/variadic/elem.hpp
/usr/include/boost/preprocessor/arithmetic/sub.hpp
/usr/include/boost/mpl/aux_/config/eti.hpp
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp
/usr/include/boost/mpl/aux_/type_wrapper.hpp
/usr/include/boost/mpl/aux_/yes_no.hpp
/usr/include/boost/mpl/aux_/config/arrays.hpp
/usr/include/boost/mpl/aux_/config/has_xxx.hpp
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp
/usr/include/boost/preprocessor/array/elem.hpp
/usr/include/boost/preprocessor/array/data.hpp
/usr/include/boost/preprocessor/array/size.hpp
/usr/include/boost/preprocessor/repetition/enum_params.hpp
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp
/usr/include/boost/type_traits/remove_reference.hpp
/usr/include/boost/iterator/iterator_traits.hpp
/usr/include/c++/9/iterator
/usr/include/c++/9/bits/stream_iterator.h
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp
/usr/include/boost/range/const_iterator.hpp
/usr/include/boost/type_traits/remove_const.hpp
/usr/include/boost/type_traits/is_const.hpp
/usr/include/boost/type_traits/integral_constant.hpp
/usr/include/boost/mpl/eval_if.hpp
/usr/include/boost/mpl/if.hpp
/usr/include/boost/mpl/aux_/value_wknd.hpp
/usr/include/boost/mpl/aux_/config/integral.hpp
/usr/include/boost/mpl/aux_/lambda_support.hpp
/usr/include/boost/range/end.hpp
/usr/include/boost/range/detail/implementation_help.hpp
/usr/include/boost/range/detail/common.hpp
/usr/include/boost/range/detail/sfinae.hpp
/usr/include/boost/type_traits/is_array.hpp
/usr/include/boost/type_traits/detail/yes_no_type.hpp
/usr/include/boost/type_traits/is_void.hpp
/usr/include/boost/type_traits/is_same.hpp
/usr/include/boost/range/as_literal.hpp
/usr/include/boost/range/iterator_range.hpp
/usr/include/boost/range/iterator_range_core.hpp
/usr/include/boost/assert.hpp
/usr/include/assert.h
/usr/include/boost/iterator/iterator_facade.hpp
/usr/include/boost/iterator/interoperable.hpp
/usr/include/boost/mpl/or.hpp
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp
/usr/include/boost/mpl/aux_/include_preprocessed.hpp
/usr/include/boost/mpl/aux_/config/compiler.hpp
/usr/include/boost/preprocessor/stringize.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp
/usr/include/boost/type_traits/is_convertible.hpp
/usr/include/boost/type_traits/intrinsics.hpp
/usr/include/boost/type_traits/detail/config.hpp
/usr/include/boost/version.hpp
/usr/include/boost/type_traits/is_complete.hpp
/usr/include/boost/type_traits/declval.hpp
/usr/include/boost/type_traits/add_rvalue_reference.hpp
/usr/include/boost/type_traits/is_reference.hpp
/usr/include/boost/type_traits/is_lvalue_reference.hpp
/usr/include/boost/type_traits/is_rvalue_reference.hpp
/usr/include/boost/type_traits/is_function.hpp
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp
/usr/include/boost/static_assert.hpp
/usr/include/boost/type_traits/is_arithmetic.hpp
/usr/include/boost/type_traits/is_integral.hpp
/usr/include/boost/type_traits/is_floating_point.hpp
/usr/include/boost/type_traits/is_abstract.hpp
/usr/include/boost/type_traits/add_lvalue_reference.hpp
/usr/include/boost/type_traits/add_reference.hpp
/usr/include/boost/iterator/detail/config_def.hpp
/usr/include/boost/iterator/detail/config_undef.hpp
/usr/include/boost/iterator/iterator_categories.hpp
/usr/include/boost/mpl/identity.hpp
/usr/include/boost/mpl/placeholders.hpp
/usr/include/boost/mpl/arg.hpp
/usr/include/boost/mpl/arg_fwd.hpp
/usr/include/boost/mpl/aux_/na_assert.hpp
/usr/include/boost/mpl/assert.hpp
/usr/include/boost/mpl/not.hpp
/usr/include/boost/mpl/aux_/config/gpu.hpp
/usr/include/boost/mpl/aux_/config/pp_counter.hpp
/usr/include/boost/mpl/aux_/arity_spec.hpp
/usr/include/boost/mpl/aux_/arg_typedef.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
/usr/include/boost/iterator/detail/facade_iterator_category.hpp
/usr/include/boost/core/use_default.hpp
/usr/include/boost/mpl/and.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp
/usr/include/boost/detail/indirect_traits.hpp
/usr/include/boost/type_traits/is_pointer.hpp
/usr/include/boost/type_traits/is_class.hpp
/usr/include/boost/type_traits/is_volatile.hpp
/usr/include/boost/type_traits/is_member_function_pointer.hpp
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
/usr/include/boost/type_traits/is_member_pointer.hpp
/usr/include/boost/type_traits/remove_cv.hpp
/usr/include/boost/type_traits/remove_pointer.hpp
/usr/include/boost/detail/select_type.hpp
/usr/include/boost/iterator/detail/enable_if.hpp
/usr/include/boost/core/addressof.hpp
/usr/include/boost/type_traits/add_const.hpp
/usr/include/boost/type_traits/add_pointer.hpp
/usr/include/boost/type_traits/is_pod.hpp
/usr/include/boost/type_traits/is_scalar.hpp
/usr/include/boost/type_traits/is_enum.hpp
/usr/include/boost/mpl/always.hpp
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp
/usr/include/boost/mpl/apply.hpp
/usr/include/boost/mpl/apply_fwd.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
/usr/include/boost/mpl/apply_wrap.hpp
/usr/include/boost/mpl/aux_/has_apply.hpp
/usr/include/boost/mpl/aux_/config/has_apply.hpp
/usr/include/boost/mpl/aux_/msvc_never_true.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
/usr/include/boost/mpl/lambda.hpp
/usr/include/boost/mpl/bind.hpp
/usr/include/boost/mpl/bind_fwd.hpp
/usr/include/boost/mpl/aux_/config/bind.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
/usr/include/boost/mpl/next.hpp
/usr/include/boost/mpl/next_prior.hpp
/usr/include/boost/mpl/aux_/common_name_wknd.hpp
/usr/include/boost/mpl/protect.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp
/usr/include/boost/mpl/aux_/full_lambda.hpp
/usr/include/boost/mpl/quote.hpp
/usr/include/boost/mpl/void.hpp
/usr/include/boost/mpl/aux_/has_type.hpp
/usr/include/boost/mpl/aux_/config/bcc.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp
/usr/include/boost/mpl/aux_/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp
/usr/include/boost/type_traits/is_base_and_derived.hpp
/usr/include/boost/range/functions.hpp
/usr/include/boost/range/size.hpp
/usr/include/boost/range/size_type.hpp
/usr/include/boost/range/difference_type.hpp
/usr/include/boost/range/has_range_iterator.hpp
/usr/include/boost/utility/enable_if.hpp
/usr/include/boost/core/enable_if.hpp
/usr/include/boost/range/concepts.hpp
/usr/include/boost/concept_check.hpp
/usr/include/boost/concept/assert.hpp
/usr/include/boost/concept/detail/general.hpp
/usr/include/boost/concept/detail/backward_compatibility.hpp
/usr/include/boost/concept/detail/has_constraints.hpp
/usr/include/boost/type_traits/conditional.hpp
/usr/include/boost/type_traits/conversion_traits.hpp
/usr/include/boost/concept/usage.hpp
/usr/include/boost/concept/detail/concept_def.hpp
/usr/include/boost/preprocessor/seq/for_each_i.hpp
/usr/include/boost/preprocessor/repetition/for.hpp
/usr/include/boost/preprocessor/repetition/detail/for.hpp
/usr/include/boost/preprocessor/seq/seq.hpp
/usr/include/boost/preprocessor/seq/elem.hpp
/usr/include/boost/preprocessor/seq/size.hpp
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp
/usr/include/boost/preprocessor/seq/enum.hpp
/usr/include/boost/concept/detail/concept_undef.hpp
/usr/include/boost/iterator/iterator_concepts.hpp
/usr/include/boost/limits.hpp
/usr/include/boost/range/value_type.hpp
/usr/include/boost/range/detail/misc_concept.hpp
/usr/include/boost/type_traits/make_unsigned.hpp
/usr/include/boost/type_traits/is_signed.hpp
/usr/include/c++/9/climits
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h
/usr/include/limits.h
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h
/usr/include/x86_64-linux-gnu/bits/local_lim.h
/usr/include/linux/limits.h
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h
/usr/include/x86_64-linux-gnu/bits/uio_lim.h
/usr/include/boost/type_traits/is_unsigned.hpp
/usr/include/boost/type_traits/add_volatile.hpp
/usr/include/boost/range/detail/has_member_size.hpp
/usr/include/boost/cstdint.hpp
/usr/include/boost/utility.hpp
/usr/include/boost/utility/base_from_member.hpp
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
/usr/include/boost/utility/binary.hpp
/usr/include/boost/preprocessor/control/deduce_d.hpp
/usr/include/boost/preprocessor/seq/cat.hpp
/usr/include/boost/preprocessor/seq/fold_left.hpp
/usr/include/boost/preprocessor/seq/transform.hpp
/usr/include/boost/preprocessor/arithmetic/mod.hpp
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp
/usr/include/boost/preprocessor/comparison/less_equal.hpp
/usr/include/boost/preprocessor/logical/not.hpp
/usr/include/boost/utility/identity_type.hpp
/usr/include/boost/type_traits/function_traits.hpp
/usr/include/boost/core/checked_delete.hpp
/usr/include/boost/core/noncopyable.hpp
/usr/include/boost/range/distance.hpp
/usr/include/boost/iterator/distance.hpp
/usr/include/boost/range/empty.hpp
/usr/include/boost/range/rbegin.hpp
/usr/include/boost/range/reverse_iterator.hpp
/usr/include/boost/iterator/reverse_iterator.hpp
/usr/include/boost/iterator/iterator_adaptor.hpp
/usr/include/boost/range/rend.hpp
/usr/include/boost/range/algorithm/equal.hpp
/usr/include/boost/range/detail/safe_bool.hpp
/usr/include/boost/next_prior.hpp
/usr/include/boost/type_traits/has_plus.hpp
/usr/include/boost/type_traits/detail/has_binary_operator.hpp
/usr/include/boost/type_traits/make_void.hpp
/usr/include/boost/type_traits/has_plus_assign.hpp
/usr/include/boost/type_traits/has_minus.hpp
/usr/include/boost/type_traits/has_minus_assign.hpp
/usr/include/boost/iterator/advance.hpp
/usr/include/boost/range/iterator_range_io.hpp
/usr/include/boost/range/detail/str_types.hpp
/usr/include/boost/algorithm/string/detail/trim.hpp
/usr/include/boost/algorithm/string/classification.hpp
/usr/include/c++/9/locale
/usr/include/c++/9/bits/locale_facets_nonio.h
/usr/include/c++/9/ctime
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h
/usr/include/libintl.h
/usr/include/c++/9/bits/locale_facets_nonio.tcc
/usr/include/c++/9/bits/locale_conv.h
/usr/include/boost/algorithm/string/detail/classification.hpp
/usr/include/c++/9/functional
/usr/include/c++/9/bits/std_function.h
/usr/include/boost/algorithm/string/predicate_facade.hpp
/usr/include/boost/algorithm/string/case_conv.hpp
/usr/include/boost/iterator/transform_iterator.hpp
/usr/include/boost/utility/result_of.hpp
/usr/include/boost/preprocessor/iteration/iterate.hpp
/usr/include/boost/preprocessor/slot/slot.hpp
/usr/include/boost/preprocessor/slot/detail/def.hpp
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp
/usr/include/boost/preprocessor/facilities/intercept.hpp
/usr/include/boost/type_traits/type_identity.hpp
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp
/usr/include/boost/preprocessor/slot/detail/shared.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp
/usr/include/boost/utility/detail/result_of_iterate.hpp
/usr/include/boost/algorithm/string/detail/case_conv.hpp
/usr/include/boost/algorithm/string/predicate.hpp
/usr/include/boost/algorithm/string/compare.hpp
/usr/include/boost/algorithm/string/find.hpp
/usr/include/boost/algorithm/string/finder.hpp
/usr/include/boost/algorithm/string/constants.hpp
/usr/include/boost/algorithm/string/detail/finder.hpp
/usr/include/boost/algorithm/string/detail/predicate.hpp
/usr/include/boost/algorithm/string/split.hpp
/usr/include/boost/algorithm/string/iter_find.hpp
/usr/include/boost/algorithm/string/concept.hpp
/usr/include/boost/algorithm/string/find_iterator.hpp
/usr/include/boost/algorithm/string/detail/find_iterator.hpp
/usr/include/boost/function.hpp
/usr/include/boost/preprocessor/iterate.hpp
/usr/include/boost/function/detail/prologue.hpp
/usr/include/c++/9/cassert
/usr/include/boost/config/no_tr1/functional.hpp
/usr/include/boost/throw_exception.hpp
/usr/include/boost/assert/source_location.hpp
/usr/include/boost/current_function.hpp
/usr/include/boost/exception/exception.hpp
/usr/include/boost/function/function_base.hpp
/usr/include/boost/integer.hpp
/usr/include/boost/integer_fwd.hpp
/usr/include/boost/integer_traits.hpp
/usr/include/boost/type_index.hpp
/usr/include/boost/type_index/stl_type_index.hpp
/usr/include/boost/type_index/type_index_facade.hpp
/usr/include/boost/container_hash/hash_fwd.hpp
/usr/include/boost/core/demangle.hpp
/usr/include/c++/9/cxxabi.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h
/usr/include/boost/type_traits/has_trivial_copy.hpp
/usr/include/boost/type_traits/is_copy_constructible.hpp
/usr/include/boost/type_traits/is_constructible.hpp
/usr/include/boost/type_traits/is_destructible.hpp
/usr/include/boost/type_traits/is_default_constructible.hpp
/usr/include/boost/type_traits/has_trivial_destructor.hpp
/usr/include/boost/type_traits/composite_traits.hpp
/usr/include/boost/type_traits/is_union.hpp
/usr/include/boost/ref.hpp
/usr/include/boost/core/ref.hpp
/usr/include/boost/type_traits/alignment_of.hpp
/usr/include/boost/type_traits/enable_if.hpp
/usr/include/boost/function_equal.hpp
/usr/include/boost/function/function_fwd.hpp
/usr/include/boost/mem_fn.hpp
/usr/include/boost/bind/mem_fn.hpp
/usr/include/boost/get_pointer.hpp
/usr/include/boost/config/no_tr1/memory.hpp
/usr/include/boost/bind/mem_fn_template.hpp
/usr/include/boost/bind/mem_fn_cc.hpp
/usr/include/boost/preprocessor/enum.hpp
/usr/include/boost/preprocessor/repetition/enum.hpp
/usr/include/boost/preprocessor/enum_params.hpp
/usr/include/boost/function/detail/function_iterate.hpp
/usr/include/boost/function/detail/maybe_include.hpp
/usr/include/boost/function/function_template.hpp
/usr/include/boost/core/no_exceptions_support.hpp
/usr/include/boost/algorithm/string/detail/util.hpp
/usr/include/boost/algorithm/string/join.hpp
/usr/include/boost/algorithm/string/detail/sequence.hpp
/usr/include/boost/mpl/logical.hpp
/usr/include/boost/algorithm/string/replace.hpp
/usr/include/boost/algorithm/string/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format_store.hpp
/usr/include/boost/algorithm/string/detail/replace_storage.hpp
/usr/include/boost/algorithm/string/detail/find_format_all.hpp
/usr/include/boost/algorithm/string/formatter.hpp
/usr/include/boost/algorithm/string/detail/formatter.hpp
/usr/include/boost/algorithm/string/erase.hpp
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/comm/Log.hpp
/usr/include/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h
/usr/include/linux/falloc.h
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile.hpp
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/Runner.hpp
/home/zzy1/2024/my-online-judge/MYOJ/compile_server/comm/httplib.h
/usr/include/arpa/inet.h
/usr/include/netinet/in.h
/usr/include/x86_64-linux-gnu/sys/socket.h
/usr/include/x86_64-linux-gnu/bits/socket.h
/usr/include/x86_64-linux-gnu/bits/socket_type.h
/usr/include/x86_64-linux-gnu/bits/sockaddr.h
/usr/include/x86_64-linux-gnu/asm/socket.h
/usr/include/asm-generic/socket.h
/usr/include/x86_64-linux-gnu/asm/sockios.h
/usr/include/asm-generic/sockios.h
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h
/usr/include/x86_64-linux-gnu/bits/in.h
/usr/include/ifaddrs.h
/usr/include/netdb.h
/usr/include/rpc/netdb.h
/usr/include/x86_64-linux-gnu/bits/netdb.h
/usr/include/resolv.h
/usr/include/x86_64-linux-gnu/sys/param.h
/usr/include/x86_64-linux-gnu/bits/param.h
/usr/include/linux/param.h
/usr/include/x86_64-linux-gnu/asm/param.h
/usr/include/asm-generic/param.h
/usr/include/arpa/nameser.h
/usr/include/arpa/nameser_compat.h
/usr/include/x86_64-linux-gnu/bits/types/res_state.h
/usr/include/netinet/tcp.h
/usr/include/c++/9/csignal
/usr/include/c++/9/condition_variable
/usr/include/c++/9/chrono
/usr/include/c++/9/ratio
/usr/include/c++/9/bits/parse_numbers.h
/usr/include/c++/9/bits/std_mutex.h
/usr/include/c++/9/bits/unique_lock.h
/usr/include/c++/9/mutex
/usr/include/c++/9/random
/usr/include/c++/9/cmath
/usr/include/math.h
/usr/include/x86_64-linux-gnu/bits/math-vector.h
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
/usr/include/x86_64-linux-gnu/bits/mathcalls.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
/usr/include/c++/9/bits/random.h
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h
/usr/include/c++/9/bits/random.tcc
/usr/include/c++/9/numeric
/usr/include/c++/9/bits/stl_numeric.h
/usr/include/c++/9/regex
/usr/include/c++/9/bitset
/usr/include/c++/9/bits/regex_constants.h
/usr/include/c++/9/bits/regex_error.h
/usr/include/c++/9/bits/regex_automaton.h
/usr/include/c++/9/bits/regex_automaton.tcc
/usr/include/c++/9/bits/regex_scanner.h
/usr/include/c++/9/bits/regex_scanner.tcc
/usr/include/c++/9/bits/regex_compiler.h
/usr/include/c++/9/bits/regex_compiler.tcc
/usr/include/c++/9/bits/regex.h
/usr/include/c++/9/bits/regex.tcc
/usr/include/c++/9/bits/regex_executor.h
/usr/include/c++/9/bits/regex_executor.tcc
/usr/include/c++/9/thread

@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for compiler generated dependencies management for compile_server.

@ -0,0 +1,2 @@
# Empty dependencies file for compile_server.
# This may be replaced when dependencies are built.

@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# compile CXX with /usr/bin/g++-9
CXX_DEFINES =
CXX_INCLUDES =
CXX_FLAGS = -g -std=gnu++11

@ -0,0 +1 @@
/usr/bin/g++-9 -g CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o -o output/compile_server -ljsoncpp

@ -0,0 +1,19 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
"/home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc" "CMakeFiles/data_server.dir/data_server/data_server.cc.o" "gcc" "CMakeFiles/data_server.dir/data_server/data_server.cc.o.d"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

@ -0,0 +1,110 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/zzy1/2024/my-online-judge/MYOJ
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/zzy1/2024/my-online-judge/MYOJ/build
# Include any dependencies generated for this target.
include CMakeFiles/data_server.dir/depend.make
# Include any dependencies generated by the compiler for this target.
include CMakeFiles/data_server.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/data_server.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/data_server.dir/flags.make
CMakeFiles/data_server.dir/data_server/data_server.cc.o: CMakeFiles/data_server.dir/flags.make
CMakeFiles/data_server.dir/data_server/data_server.cc.o: ../data_server/data_server.cc
CMakeFiles/data_server.dir/data_server/data_server.cc.o: CMakeFiles/data_server.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/data_server.dir/data_server/data_server.cc.o"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/data_server.dir/data_server/data_server.cc.o -MF CMakeFiles/data_server.dir/data_server/data_server.cc.o.d -o CMakeFiles/data_server.dir/data_server/data_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc
CMakeFiles/data_server.dir/data_server/data_server.cc.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/data_server.dir/data_server/data_server.cc.i"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc > CMakeFiles/data_server.dir/data_server/data_server.cc.i
CMakeFiles/data_server.dir/data_server/data_server.cc.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/data_server.dir/data_server/data_server.cc.s"
/usr/bin/g++-9 $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc -o CMakeFiles/data_server.dir/data_server/data_server.cc.s
# Object files for target data_server
data_server_OBJECTS = \
"CMakeFiles/data_server.dir/data_server/data_server.cc.o"
# External object files for target data_server
data_server_EXTERNAL_OBJECTS =
output/data_server: CMakeFiles/data_server.dir/data_server/data_server.cc.o
output/data_server: CMakeFiles/data_server.dir/build.make
output/data_server: CMakeFiles/data_server.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable output/data_server"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/data_server.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/data_server.dir/build: output/data_server
.PHONY : CMakeFiles/data_server.dir/build
CMakeFiles/data_server.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/data_server.dir/cmake_clean.cmake
.PHONY : CMakeFiles/data_server.dir/clean
CMakeFiles/data_server.dir/depend:
cd /home/zzy1/2024/my-online-judge/MYOJ/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles/data_server.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/data_server.dir/depend

@ -0,0 +1,11 @@
file(REMOVE_RECURSE
"CMakeFiles/data_server.dir/data_server/data_server.cc.o"
"CMakeFiles/data_server.dir/data_server/data_server.cc.o.d"
"output/data_server"
"output/data_server.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/data_server.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

@ -0,0 +1,828 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
CMakeFiles/data_server.dir/data_server/data_server.cc.o
/home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc
/usr/include/stdc-predef.h
/usr/include/jsoncpp/json/json.h
/usr/include/jsoncpp/json/config.h
/usr/include/c++/9/cstddef
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h
/usr/include/features.h
/usr/include/features-time64.h
/usr/include/x86_64-linux-gnu/bits/wordsize.h
/usr/include/x86_64-linux-gnu/bits/timesize.h
/usr/include/x86_64-linux-gnu/sys/cdefs.h
/usr/include/x86_64-linux-gnu/bits/long-double.h
/usr/include/x86_64-linux-gnu/gnu/stubs.h
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h
/usr/include/c++/9/cstdint
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h
/usr/include/stdint.h
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
/usr/include/x86_64-linux-gnu/bits/types.h
/usr/include/x86_64-linux-gnu/bits/typesizes.h
/usr/include/x86_64-linux-gnu/bits/time64.h
/usr/include/x86_64-linux-gnu/bits/wchar.h
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
/usr/include/c++/9/istream
/usr/include/c++/9/ios
/usr/include/c++/9/iosfwd
/usr/include/c++/9/bits/stringfwd.h
/usr/include/c++/9/bits/memoryfwd.h
/usr/include/c++/9/bits/postypes.h
/usr/include/c++/9/cwchar
/usr/include/wchar.h
/usr/include/x86_64-linux-gnu/bits/floatn.h
/usr/include/x86_64-linux-gnu/bits/floatn-common.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h
/usr/include/x86_64-linux-gnu/bits/types/FILE.h
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h
/usr/include/c++/9/exception
/usr/include/c++/9/bits/exception.h
/usr/include/c++/9/bits/exception_ptr.h
/usr/include/c++/9/bits/exception_defines.h
/usr/include/c++/9/bits/cxxabi_init_exception.h
/usr/include/c++/9/typeinfo
/usr/include/c++/9/bits/hash_bytes.h
/usr/include/c++/9/new
/usr/include/c++/9/bits/move.h
/usr/include/c++/9/bits/concept_check.h
/usr/include/c++/9/type_traits
/usr/include/c++/9/bits/nested_exception.h
/usr/include/c++/9/bits/char_traits.h
/usr/include/c++/9/bits/stl_algobase.h
/usr/include/c++/9/bits/functexcept.h
/usr/include/c++/9/bits/cpp_type_traits.h
/usr/include/c++/9/ext/type_traits.h
/usr/include/c++/9/ext/numeric_traits.h
/usr/include/c++/9/bits/stl_pair.h
/usr/include/c++/9/bits/stl_iterator_base_types.h
/usr/include/c++/9/bits/stl_iterator_base_funcs.h
/usr/include/c++/9/debug/assertions.h
/usr/include/c++/9/bits/stl_iterator.h
/usr/include/c++/9/bits/ptr_traits.h
/usr/include/c++/9/debug/debug.h
/usr/include/c++/9/bits/predefined_ops.h
/usr/include/c++/9/bits/localefwd.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h
/usr/include/c++/9/clocale
/usr/include/locale.h
/usr/include/x86_64-linux-gnu/bits/locale.h
/usr/include/c++/9/cctype
/usr/include/ctype.h
/usr/include/x86_64-linux-gnu/bits/endian.h
/usr/include/x86_64-linux-gnu/bits/endianness.h
/usr/include/c++/9/bits/ios_base.h
/usr/include/c++/9/ext/atomicity.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h
/usr/include/pthread.h
/usr/include/sched.h
/usr/include/x86_64-linux-gnu/bits/types/time_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
/usr/include/x86_64-linux-gnu/bits/sched.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
/usr/include/x86_64-linux-gnu/bits/cpu-set.h
/usr/include/time.h
/usr/include/x86_64-linux-gnu/bits/time.h
/usr/include/x86_64-linux-gnu/bits/timex.h
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
/usr/include/x86_64-linux-gnu/bits/setjmp.h
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h
/usr/include/c++/9/bits/locale_classes.h
/usr/include/c++/9/string
/usr/include/c++/9/bits/allocator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h
/usr/include/c++/9/ext/new_allocator.h
/usr/include/c++/9/bits/ostream_insert.h
/usr/include/c++/9/bits/cxxabi_forced.h
/usr/include/c++/9/bits/stl_function.h
/usr/include/c++/9/backward/binders.h
/usr/include/c++/9/bits/range_access.h
/usr/include/c++/9/initializer_list
/usr/include/c++/9/bits/basic_string.h
/usr/include/c++/9/ext/alloc_traits.h
/usr/include/c++/9/bits/alloc_traits.h
/usr/include/c++/9/ext/string_conversions.h
/usr/include/c++/9/cstdlib
/usr/include/stdlib.h
/usr/include/x86_64-linux-gnu/bits/waitflags.h
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/endian.h
/usr/include/x86_64-linux-gnu/bits/byteswap.h
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
/usr/include/x86_64-linux-gnu/sys/select.h
/usr/include/x86_64-linux-gnu/bits/select.h
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h
/usr/include/alloca.h
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
/usr/include/c++/9/bits/std_abs.h
/usr/include/c++/9/cstdio
/usr/include/stdio.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
/usr/include/c++/9/cerrno
/usr/include/errno.h
/usr/include/x86_64-linux-gnu/bits/errno.h
/usr/include/linux/errno.h
/usr/include/x86_64-linux-gnu/asm/errno.h
/usr/include/asm-generic/errno.h
/usr/include/asm-generic/errno-base.h
/usr/include/x86_64-linux-gnu/bits/types/error_t.h
/usr/include/c++/9/bits/functional_hash.h
/usr/include/c++/9/bits/basic_string.tcc
/usr/include/c++/9/bits/locale_classes.tcc
/usr/include/c++/9/system_error
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h
/usr/include/c++/9/stdexcept
/usr/include/c++/9/streambuf
/usr/include/c++/9/bits/streambuf.tcc
/usr/include/c++/9/bits/basic_ios.h
/usr/include/c++/9/bits/locale_facets.h
/usr/include/c++/9/cwctype
/usr/include/wctype.h
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h
/usr/include/c++/9/bits/streambuf_iterator.h
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h
/usr/include/c++/9/bits/locale_facets.tcc
/usr/include/c++/9/bits/basic_ios.tcc
/usr/include/c++/9/ostream
/usr/include/c++/9/bits/ostream.tcc
/usr/include/c++/9/bits/istream.tcc
/usr/include/c++/9/memory
/usr/include/c++/9/bits/stl_construct.h
/usr/include/c++/9/bits/stl_uninitialized.h
/usr/include/c++/9/bits/stl_tempbuf.h
/usr/include/c++/9/bits/stl_raw_storage_iter.h
/usr/include/c++/9/ext/concurrence.h
/usr/include/c++/9/bits/uses_allocator.h
/usr/include/c++/9/bits/unique_ptr.h
/usr/include/c++/9/utility
/usr/include/c++/9/bits/stl_relops.h
/usr/include/c++/9/tuple
/usr/include/c++/9/array
/usr/include/c++/9/bits/invoke.h
/usr/include/c++/9/bits/shared_ptr.h
/usr/include/c++/9/bits/shared_ptr_base.h
/usr/include/c++/9/bits/allocated_ptr.h
/usr/include/c++/9/bits/refwrap.h
/usr/include/c++/9/ext/aligned_buffer.h
/usr/include/c++/9/bits/shared_ptr_atomic.h
/usr/include/c++/9/bits/atomic_base.h
/usr/include/c++/9/bits/atomic_lockfree_defines.h
/usr/include/c++/9/backward/auto_ptr.h
/usr/include/c++/9/sstream
/usr/include/c++/9/bits/sstream.tcc
/usr/include/jsoncpp/json/allocator.h
/usr/include/c++/9/cstring
/usr/include/string.h
/usr/include/strings.h
/usr/include/jsoncpp/json/version.h
/usr/include/jsoncpp/json/json_features.h
/usr/include/jsoncpp/json/forwards.h
/usr/include/jsoncpp/json/reader.h
/usr/include/jsoncpp/json/value.h
/usr/include/c++/9/map
/usr/include/c++/9/bits/stl_tree.h
/usr/include/c++/9/bits/stl_map.h
/usr/include/c++/9/bits/stl_multimap.h
/usr/include/c++/9/bits/erase_if.h
/usr/include/c++/9/vector
/usr/include/c++/9/bits/stl_vector.h
/usr/include/c++/9/bits/stl_bvector.h
/usr/include/c++/9/bits/vector.tcc
/usr/include/c++/9/deque
/usr/include/c++/9/bits/stl_deque.h
/usr/include/c++/9/bits/deque.tcc
/usr/include/c++/9/stack
/usr/include/c++/9/bits/stl_stack.h
/usr/include/jsoncpp/json/writer.h
/usr/local/include/ctemplate/template.h
/usr/local/include/ctemplate/template_cache.h
/usr/include/c++/9/unordered_map
/usr/include/c++/9/bits/hashtable.h
/usr/include/c++/9/bits/hashtable_policy.h
/usr/include/c++/9/limits
/usr/include/c++/9/bits/unordered_map.h
/usr/local/include/ctemplate/template_emitter.h
/usr/local/include/ctemplate/template_enums.h
/usr/local/include/ctemplate/template_string.h
/usr/include/assert.h
/usr/local/include/ctemplate/per_expand_data.h
/usr/include/c++/9/stdlib.h
/usr/local/include/ctemplate/template_dictionary.h
/usr/include/c++/9/functional
/usr/include/c++/9/bits/std_function.h
/usr/local/include/ctemplate/str_ref.h
/usr/local/include/ctemplate/template_dictionary_interface.h
/usr/local/include/ctemplate/template_modifiers.h
/usr/local/include/ctemplate/template_namelist.h
/usr/include/c++/9/unordered_set
/usr/include/c++/9/bits/unordered_set.h
/home/zzy1/2024/my-online-judge/MYOJ/comm/httplib.h
/usr/include/arpa/inet.h
/usr/include/netinet/in.h
/usr/include/x86_64-linux-gnu/sys/socket.h
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h
/usr/include/x86_64-linux-gnu/bits/socket.h
/usr/include/x86_64-linux-gnu/bits/socket_type.h
/usr/include/x86_64-linux-gnu/bits/sockaddr.h
/usr/include/x86_64-linux-gnu/asm/socket.h
/usr/include/asm-generic/socket.h
/usr/include/linux/posix_types.h
/usr/include/linux/stddef.h
/usr/include/x86_64-linux-gnu/asm/posix_types.h
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h
/usr/include/asm-generic/posix_types.h
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h
/usr/include/asm-generic/bitsperlong.h
/usr/include/x86_64-linux-gnu/asm/sockios.h
/usr/include/asm-generic/sockios.h
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h
/usr/include/x86_64-linux-gnu/bits/in.h
/usr/include/ifaddrs.h
/usr/include/netdb.h
/usr/include/rpc/netdb.h
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h
/usr/include/x86_64-linux-gnu/bits/netdb.h
/usr/include/resolv.h
/usr/include/x86_64-linux-gnu/sys/param.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h
/usr/include/limits.h
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h
/usr/include/x86_64-linux-gnu/bits/local_lim.h
/usr/include/linux/limits.h
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h
/usr/include/x86_64-linux-gnu/bits/uio_lim.h
/usr/include/signal.h
/usr/include/x86_64-linux-gnu/bits/signum-generic.h
/usr/include/x86_64-linux-gnu/bits/signum-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h
/usr/include/x86_64-linux-gnu/bits/sigaction.h
/usr/include/x86_64-linux-gnu/bits/sigcontext.h
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h
/usr/include/x86_64-linux-gnu/sys/ucontext.h
/usr/include/x86_64-linux-gnu/bits/sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigstksz.h
/usr/include/unistd.h
/usr/include/x86_64-linux-gnu/bits/posix_opt.h
/usr/include/x86_64-linux-gnu/bits/environments.h
/usr/include/x86_64-linux-gnu/bits/confname.h
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h
/usr/include/x86_64-linux-gnu/bits/getopt_core.h
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h
/usr/include/linux/close_range.h
/usr/include/x86_64-linux-gnu/bits/ss_flags.h
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h
/usr/include/x86_64-linux-gnu/bits/sigthread.h
/usr/include/x86_64-linux-gnu/bits/signal_ext.h
/usr/include/x86_64-linux-gnu/bits/param.h
/usr/include/linux/param.h
/usr/include/x86_64-linux-gnu/asm/param.h
/usr/include/asm-generic/param.h
/usr/include/arpa/nameser.h
/usr/include/arpa/nameser_compat.h
/usr/include/x86_64-linux-gnu/bits/types/res_state.h
/usr/include/netinet/tcp.h
/usr/include/c++/9/csignal
/usr/include/c++/9/algorithm
/usr/include/c++/9/bits/stl_algo.h
/usr/include/c++/9/bits/algorithmfwd.h
/usr/include/c++/9/bits/stl_heap.h
/usr/include/c++/9/bits/uniform_int_dist.h
/usr/include/c++/9/atomic
/usr/include/c++/9/cassert
/usr/include/c++/9/climits
/usr/include/c++/9/condition_variable
/usr/include/c++/9/chrono
/usr/include/c++/9/ratio
/usr/include/c++/9/ctime
/usr/include/c++/9/bits/parse_numbers.h
/usr/include/c++/9/bits/std_mutex.h
/usr/include/c++/9/bits/unique_lock.h
/usr/include/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl.h
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
/usr/include/linux/falloc.h
/usr/include/x86_64-linux-gnu/bits/stat.h
/usr/include/x86_64-linux-gnu/bits/struct_stat.h
/usr/include/c++/9/fstream
/usr/include/c++/9/bits/codecvt.h
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h
/usr/include/c++/9/bits/fstream.tcc
/usr/include/c++/9/iostream
/usr/include/c++/9/list
/usr/include/c++/9/bits/stl_list.h
/usr/include/c++/9/bits/list.tcc
/usr/include/c++/9/mutex
/usr/include/c++/9/random
/usr/include/c++/9/cmath
/usr/include/math.h
/usr/include/x86_64-linux-gnu/bits/math-vector.h
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
/usr/include/x86_64-linux-gnu/bits/mathcalls.h
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
/usr/include/c++/9/bits/random.h
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h
/usr/include/c++/9/bits/random.tcc
/usr/include/c++/9/numeric
/usr/include/c++/9/bits/stl_numeric.h
/usr/include/c++/9/regex
/usr/include/c++/9/bitset
/usr/include/c++/9/iterator
/usr/include/c++/9/bits/stream_iterator.h
/usr/include/c++/9/locale
/usr/include/c++/9/bits/locale_facets_nonio.h
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h
/usr/include/libintl.h
/usr/include/c++/9/bits/locale_facets_nonio.tcc
/usr/include/c++/9/bits/locale_conv.h
/usr/include/c++/9/bits/regex_constants.h
/usr/include/c++/9/bits/regex_error.h
/usr/include/c++/9/bits/regex_automaton.h
/usr/include/c++/9/bits/regex_automaton.tcc
/usr/include/c++/9/bits/regex_scanner.h
/usr/include/c++/9/bits/regex_scanner.tcc
/usr/include/c++/9/bits/regex_compiler.h
/usr/include/c++/9/bits/regex_compiler.tcc
/usr/include/c++/9/bits/regex.h
/usr/include/c++/9/bits/regex.tcc
/usr/include/c++/9/bits/regex_executor.h
/usr/include/c++/9/bits/regex_executor.tcc
/usr/include/x86_64-linux-gnu/sys/stat.h
/usr/include/x86_64-linux-gnu/bits/statx.h
/usr/include/linux/stat.h
/usr/include/linux/types.h
/usr/include/x86_64-linux-gnu/asm/types.h
/usr/include/asm-generic/types.h
/usr/include/asm-generic/int-ll64.h
/usr/include/x86_64-linux-gnu/bits/statx-generic.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h
/usr/include/c++/9/thread
/home/zzy1/2024/my-online-judge/MYOJ/comm/Comm_model_MySQL.hpp
/usr/include/mysql/mysql.h
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h
/usr/include/mysql/field_types.h
/usr/include/mysql/my_list.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/my_command.h
/usr/include/mysql/my_compress.h
/usr/include/mysql/udf_registration_types.h
/usr/include/mysql/client_plugin.h
/usr/include/mysql/plugin_auth_common.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/errmsg.h
/home/zzy1/2024/my-online-judge/MYOJ/comm/util.hpp
/usr/include/x86_64-linux-gnu/sys/time.h
/usr/include/x86_64-linux-gnu/sys/wait.h
/usr/include/boost/algorithm/string.hpp
/usr/include/boost/algorithm/string/std_containers_traits.hpp
/usr/include/boost/config.hpp
/usr/include/boost/config/user.hpp
/usr/include/boost/config/detail/select_compiler_config.hpp
/usr/include/boost/config/compiler/gcc.hpp
/usr/include/boost/config/detail/select_stdlib_config.hpp
/usr/include/c++/9/version
/usr/include/boost/config/stdlib/libstdcpp3.hpp
/usr/include/boost/config/detail/select_platform_config.hpp
/usr/include/boost/config/platform/linux.hpp
/usr/include/boost/config/detail/posix_features.hpp
/usr/include/boost/config/detail/suffix.hpp
/usr/include/boost/config/helper_macros.hpp
/usr/include/boost/algorithm/string/std/string_traits.hpp
/usr/include/boost/algorithm/string/yes_no_type.hpp
/usr/include/boost/algorithm/string/sequence_traits.hpp
/usr/include/boost/mpl/bool.hpp
/usr/include/boost/mpl/bool_fwd.hpp
/usr/include/boost/mpl/aux_/adl_barrier.hpp
/usr/include/boost/mpl/aux_/config/adl.hpp
/usr/include/boost/mpl/aux_/config/msvc.hpp
/usr/include/boost/mpl/aux_/config/intel.hpp
/usr/include/boost/mpl/aux_/config/gcc.hpp
/usr/include/boost/mpl/aux_/config/workaround.hpp
/usr/include/boost/detail/workaround.hpp
/usr/include/boost/config/workaround.hpp
/usr/include/boost/mpl/integral_c_tag.hpp
/usr/include/boost/mpl/aux_/config/static_constant.hpp
/usr/include/boost/algorithm/string/std/list_traits.hpp
/usr/include/boost/algorithm/string/std/slist_traits.hpp
/usr/include/boost/algorithm/string/config.hpp
/usr/include/c++/9/ext/slist
/usr/include/boost/algorithm/string/trim.hpp
/usr/include/boost/range/begin.hpp
/usr/include/boost/range/config.hpp
/usr/include/boost/range/iterator.hpp
/usr/include/boost/range/range_fwd.hpp
/usr/include/boost/range/mutable_iterator.hpp
/usr/include/boost/range/detail/extract_optional_type.hpp
/usr/include/boost/preprocessor/cat.hpp
/usr/include/boost/preprocessor/config/config.hpp
/usr/include/boost/mpl/has_xxx.hpp
/usr/include/boost/mpl/aux_/na_spec.hpp
/usr/include/boost/mpl/lambda_fwd.hpp
/usr/include/boost/mpl/void_fwd.hpp
/usr/include/boost/mpl/aux_/na.hpp
/usr/include/boost/mpl/aux_/na_fwd.hpp
/usr/include/boost/mpl/aux_/config/ctps.hpp
/usr/include/boost/mpl/aux_/config/lambda.hpp
/usr/include/boost/mpl/aux_/config/ttp.hpp
/usr/include/boost/mpl/int.hpp
/usr/include/boost/mpl/int_fwd.hpp
/usr/include/boost/mpl/aux_/nttp_decl.hpp
/usr/include/boost/mpl/aux_/config/nttp.hpp
/usr/include/boost/mpl/aux_/integral_wrapper.hpp
/usr/include/boost/mpl/aux_/static_cast.hpp
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp
/usr/include/boost/mpl/aux_/arity.hpp
/usr/include/boost/mpl/aux_/config/dtp.hpp
/usr/include/boost/mpl/aux_/preprocessor/params.hpp
/usr/include/boost/mpl/aux_/config/preprocessor.hpp
/usr/include/boost/preprocessor/comma_if.hpp
/usr/include/boost/preprocessor/punctuation/comma_if.hpp
/usr/include/boost/preprocessor/control/if.hpp
/usr/include/boost/preprocessor/control/iif.hpp
/usr/include/boost/preprocessor/logical/bool.hpp
/usr/include/boost/preprocessor/facilities/empty.hpp
/usr/include/boost/preprocessor/punctuation/comma.hpp
/usr/include/boost/preprocessor/repeat.hpp
/usr/include/boost/preprocessor/repetition/repeat.hpp
/usr/include/boost/preprocessor/debug/error.hpp
/usr/include/boost/preprocessor/detail/auto_rec.hpp
/usr/include/boost/preprocessor/tuple/eat.hpp
/usr/include/boost/preprocessor/inc.hpp
/usr/include/boost/preprocessor/arithmetic/inc.hpp
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp
/usr/include/boost/mpl/limits/arity.hpp
/usr/include/boost/preprocessor/logical/and.hpp
/usr/include/boost/preprocessor/logical/bitand.hpp
/usr/include/boost/preprocessor/identity.hpp
/usr/include/boost/preprocessor/facilities/identity.hpp
/usr/include/boost/preprocessor/empty.hpp
/usr/include/boost/preprocessor/arithmetic/add.hpp
/usr/include/boost/preprocessor/arithmetic/dec.hpp
/usr/include/boost/preprocessor/control/while.hpp
/usr/include/boost/preprocessor/list/fold_left.hpp
/usr/include/boost/preprocessor/list/detail/fold_left.hpp
/usr/include/boost/preprocessor/control/expr_iif.hpp
/usr/include/boost/preprocessor/list/adt.hpp
/usr/include/boost/preprocessor/detail/is_binary.hpp
/usr/include/boost/preprocessor/detail/check.hpp
/usr/include/boost/preprocessor/logical/compl.hpp
/usr/include/boost/preprocessor/list/fold_right.hpp
/usr/include/boost/preprocessor/list/detail/fold_right.hpp
/usr/include/boost/preprocessor/list/reverse.hpp
/usr/include/boost/preprocessor/control/detail/while.hpp
/usr/include/boost/preprocessor/tuple/elem.hpp
/usr/include/boost/preprocessor/facilities/expand.hpp
/usr/include/boost/preprocessor/facilities/overload.hpp
/usr/include/boost/preprocessor/variadic/size.hpp
/usr/include/boost/preprocessor/tuple/rem.hpp
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp
/usr/include/boost/preprocessor/variadic/elem.hpp
/usr/include/boost/preprocessor/arithmetic/sub.hpp
/usr/include/boost/mpl/aux_/config/eti.hpp
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp
/usr/include/boost/mpl/aux_/type_wrapper.hpp
/usr/include/boost/mpl/aux_/yes_no.hpp
/usr/include/boost/mpl/aux_/config/arrays.hpp
/usr/include/boost/mpl/aux_/config/has_xxx.hpp
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp
/usr/include/boost/preprocessor/array/elem.hpp
/usr/include/boost/preprocessor/array/data.hpp
/usr/include/boost/preprocessor/array/size.hpp
/usr/include/boost/preprocessor/repetition/enum_params.hpp
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp
/usr/include/boost/type_traits/remove_reference.hpp
/usr/include/boost/iterator/iterator_traits.hpp
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp
/usr/include/boost/range/const_iterator.hpp
/usr/include/boost/type_traits/remove_const.hpp
/usr/include/boost/type_traits/is_const.hpp
/usr/include/boost/type_traits/integral_constant.hpp
/usr/include/boost/mpl/eval_if.hpp
/usr/include/boost/mpl/if.hpp
/usr/include/boost/mpl/aux_/value_wknd.hpp
/usr/include/boost/mpl/aux_/config/integral.hpp
/usr/include/boost/mpl/aux_/lambda_support.hpp
/usr/include/boost/range/end.hpp
/usr/include/boost/range/detail/implementation_help.hpp
/usr/include/boost/range/detail/common.hpp
/usr/include/boost/range/detail/sfinae.hpp
/usr/include/boost/type_traits/is_array.hpp
/usr/include/boost/type_traits/detail/yes_no_type.hpp
/usr/include/boost/type_traits/is_void.hpp
/usr/include/boost/type_traits/is_same.hpp
/usr/include/boost/range/as_literal.hpp
/usr/include/boost/range/iterator_range.hpp
/usr/include/boost/range/iterator_range_core.hpp
/usr/include/boost/assert.hpp
/usr/include/boost/iterator/iterator_facade.hpp
/usr/include/boost/iterator/interoperable.hpp
/usr/include/boost/mpl/or.hpp
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp
/usr/include/boost/mpl/aux_/include_preprocessed.hpp
/usr/include/boost/mpl/aux_/config/compiler.hpp
/usr/include/boost/preprocessor/stringize.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp
/usr/include/boost/type_traits/is_convertible.hpp
/usr/include/boost/type_traits/intrinsics.hpp
/usr/include/boost/type_traits/detail/config.hpp
/usr/include/boost/version.hpp
/usr/include/boost/type_traits/is_complete.hpp
/usr/include/boost/type_traits/declval.hpp
/usr/include/boost/type_traits/add_rvalue_reference.hpp
/usr/include/boost/type_traits/is_reference.hpp
/usr/include/boost/type_traits/is_lvalue_reference.hpp
/usr/include/boost/type_traits/is_rvalue_reference.hpp
/usr/include/boost/type_traits/is_function.hpp
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp
/usr/include/boost/static_assert.hpp
/usr/include/boost/type_traits/is_arithmetic.hpp
/usr/include/boost/type_traits/is_integral.hpp
/usr/include/boost/type_traits/is_floating_point.hpp
/usr/include/boost/type_traits/is_abstract.hpp
/usr/include/boost/type_traits/add_lvalue_reference.hpp
/usr/include/boost/type_traits/add_reference.hpp
/usr/include/boost/iterator/detail/config_def.hpp
/usr/include/boost/iterator/detail/config_undef.hpp
/usr/include/boost/iterator/iterator_categories.hpp
/usr/include/boost/mpl/identity.hpp
/usr/include/boost/mpl/placeholders.hpp
/usr/include/boost/mpl/arg.hpp
/usr/include/boost/mpl/arg_fwd.hpp
/usr/include/boost/mpl/aux_/na_assert.hpp
/usr/include/boost/mpl/assert.hpp
/usr/include/boost/mpl/not.hpp
/usr/include/boost/mpl/aux_/config/gpu.hpp
/usr/include/boost/mpl/aux_/config/pp_counter.hpp
/usr/include/boost/mpl/aux_/arity_spec.hpp
/usr/include/boost/mpl/aux_/arg_typedef.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
/usr/include/boost/iterator/detail/facade_iterator_category.hpp
/usr/include/boost/core/use_default.hpp
/usr/include/boost/mpl/and.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp
/usr/include/boost/detail/indirect_traits.hpp
/usr/include/boost/type_traits/is_pointer.hpp
/usr/include/boost/type_traits/is_class.hpp
/usr/include/boost/type_traits/is_volatile.hpp
/usr/include/boost/type_traits/is_member_function_pointer.hpp
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
/usr/include/boost/type_traits/is_member_pointer.hpp
/usr/include/boost/type_traits/remove_cv.hpp
/usr/include/boost/type_traits/remove_pointer.hpp
/usr/include/boost/detail/select_type.hpp
/usr/include/boost/iterator/detail/enable_if.hpp
/usr/include/boost/core/addressof.hpp
/usr/include/boost/type_traits/add_const.hpp
/usr/include/boost/type_traits/add_pointer.hpp
/usr/include/boost/type_traits/is_pod.hpp
/usr/include/boost/type_traits/is_scalar.hpp
/usr/include/boost/type_traits/is_enum.hpp
/usr/include/boost/mpl/always.hpp
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp
/usr/include/boost/mpl/apply.hpp
/usr/include/boost/mpl/apply_fwd.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
/usr/include/boost/mpl/apply_wrap.hpp
/usr/include/boost/mpl/aux_/has_apply.hpp
/usr/include/boost/mpl/aux_/config/has_apply.hpp
/usr/include/boost/mpl/aux_/msvc_never_true.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
/usr/include/boost/mpl/lambda.hpp
/usr/include/boost/mpl/bind.hpp
/usr/include/boost/mpl/bind_fwd.hpp
/usr/include/boost/mpl/aux_/config/bind.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
/usr/include/boost/mpl/next.hpp
/usr/include/boost/mpl/next_prior.hpp
/usr/include/boost/mpl/aux_/common_name_wknd.hpp
/usr/include/boost/mpl/protect.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp
/usr/include/boost/mpl/aux_/full_lambda.hpp
/usr/include/boost/mpl/quote.hpp
/usr/include/boost/mpl/void.hpp
/usr/include/boost/mpl/aux_/has_type.hpp
/usr/include/boost/mpl/aux_/config/bcc.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp
/usr/include/boost/mpl/aux_/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp
/usr/include/boost/type_traits/is_base_and_derived.hpp
/usr/include/boost/range/functions.hpp
/usr/include/boost/range/size.hpp
/usr/include/boost/range/size_type.hpp
/usr/include/boost/range/difference_type.hpp
/usr/include/boost/range/has_range_iterator.hpp
/usr/include/boost/utility/enable_if.hpp
/usr/include/boost/core/enable_if.hpp
/usr/include/boost/range/concepts.hpp
/usr/include/boost/concept_check.hpp
/usr/include/boost/concept/assert.hpp
/usr/include/boost/concept/detail/general.hpp
/usr/include/boost/concept/detail/backward_compatibility.hpp
/usr/include/boost/concept/detail/has_constraints.hpp
/usr/include/boost/type_traits/conditional.hpp
/usr/include/boost/type_traits/conversion_traits.hpp
/usr/include/boost/concept/usage.hpp
/usr/include/boost/concept/detail/concept_def.hpp
/usr/include/boost/preprocessor/seq/for_each_i.hpp
/usr/include/boost/preprocessor/repetition/for.hpp
/usr/include/boost/preprocessor/repetition/detail/for.hpp
/usr/include/boost/preprocessor/seq/seq.hpp
/usr/include/boost/preprocessor/seq/elem.hpp
/usr/include/boost/preprocessor/seq/size.hpp
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp
/usr/include/boost/preprocessor/seq/enum.hpp
/usr/include/boost/concept/detail/concept_undef.hpp
/usr/include/boost/iterator/iterator_concepts.hpp
/usr/include/boost/limits.hpp
/usr/include/boost/range/value_type.hpp
/usr/include/boost/range/detail/misc_concept.hpp
/usr/include/boost/type_traits/make_unsigned.hpp
/usr/include/boost/type_traits/is_signed.hpp
/usr/include/boost/type_traits/is_unsigned.hpp
/usr/include/boost/type_traits/add_volatile.hpp
/usr/include/boost/range/detail/has_member_size.hpp
/usr/include/boost/cstdint.hpp
/usr/include/boost/utility.hpp
/usr/include/boost/utility/base_from_member.hpp
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
/usr/include/boost/utility/binary.hpp
/usr/include/boost/preprocessor/control/deduce_d.hpp
/usr/include/boost/preprocessor/seq/cat.hpp
/usr/include/boost/preprocessor/seq/fold_left.hpp
/usr/include/boost/preprocessor/seq/transform.hpp
/usr/include/boost/preprocessor/arithmetic/mod.hpp
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp
/usr/include/boost/preprocessor/comparison/less_equal.hpp
/usr/include/boost/preprocessor/logical/not.hpp
/usr/include/boost/utility/identity_type.hpp
/usr/include/boost/type_traits/function_traits.hpp
/usr/include/boost/core/checked_delete.hpp
/usr/include/boost/core/noncopyable.hpp
/usr/include/boost/range/distance.hpp
/usr/include/boost/iterator/distance.hpp
/usr/include/boost/range/empty.hpp
/usr/include/boost/range/rbegin.hpp
/usr/include/boost/range/reverse_iterator.hpp
/usr/include/boost/iterator/reverse_iterator.hpp
/usr/include/boost/iterator/iterator_adaptor.hpp
/usr/include/boost/range/rend.hpp
/usr/include/boost/range/algorithm/equal.hpp
/usr/include/boost/range/detail/safe_bool.hpp
/usr/include/boost/next_prior.hpp
/usr/include/boost/type_traits/has_plus.hpp
/usr/include/boost/type_traits/detail/has_binary_operator.hpp
/usr/include/boost/type_traits/make_void.hpp
/usr/include/boost/type_traits/has_plus_assign.hpp
/usr/include/boost/type_traits/has_minus.hpp
/usr/include/boost/type_traits/has_minus_assign.hpp
/usr/include/boost/iterator/advance.hpp
/usr/include/boost/range/iterator_range_io.hpp
/usr/include/boost/range/detail/str_types.hpp
/usr/include/boost/algorithm/string/detail/trim.hpp
/usr/include/boost/algorithm/string/classification.hpp
/usr/include/boost/algorithm/string/detail/classification.hpp
/usr/include/boost/algorithm/string/predicate_facade.hpp
/usr/include/boost/algorithm/string/case_conv.hpp
/usr/include/boost/iterator/transform_iterator.hpp
/usr/include/boost/utility/result_of.hpp
/usr/include/boost/preprocessor/iteration/iterate.hpp
/usr/include/boost/preprocessor/slot/slot.hpp
/usr/include/boost/preprocessor/slot/detail/def.hpp
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp
/usr/include/boost/preprocessor/facilities/intercept.hpp
/usr/include/boost/type_traits/type_identity.hpp
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp
/usr/include/boost/preprocessor/slot/detail/shared.hpp
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp
/usr/include/boost/utility/detail/result_of_iterate.hpp
/usr/include/boost/algorithm/string/detail/case_conv.hpp
/usr/include/boost/algorithm/string/predicate.hpp
/usr/include/boost/algorithm/string/compare.hpp
/usr/include/boost/algorithm/string/find.hpp
/usr/include/boost/algorithm/string/finder.hpp
/usr/include/boost/algorithm/string/constants.hpp
/usr/include/boost/algorithm/string/detail/finder.hpp
/usr/include/boost/algorithm/string/detail/predicate.hpp
/usr/include/boost/algorithm/string/split.hpp
/usr/include/boost/algorithm/string/iter_find.hpp
/usr/include/boost/algorithm/string/concept.hpp
/usr/include/boost/algorithm/string/find_iterator.hpp
/usr/include/boost/algorithm/string/detail/find_iterator.hpp
/usr/include/boost/function.hpp
/usr/include/boost/preprocessor/iterate.hpp
/usr/include/boost/function/detail/prologue.hpp
/usr/include/boost/config/no_tr1/functional.hpp
/usr/include/boost/throw_exception.hpp
/usr/include/boost/assert/source_location.hpp
/usr/include/boost/current_function.hpp
/usr/include/boost/exception/exception.hpp
/usr/include/boost/function/function_base.hpp
/usr/include/boost/integer.hpp
/usr/include/boost/integer_fwd.hpp
/usr/include/boost/integer_traits.hpp
/usr/include/boost/type_index.hpp
/usr/include/boost/type_index/stl_type_index.hpp
/usr/include/boost/type_index/type_index_facade.hpp
/usr/include/boost/container_hash/hash_fwd.hpp
/usr/include/boost/core/demangle.hpp
/usr/include/c++/9/cxxabi.h
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h
/usr/include/boost/type_traits/has_trivial_copy.hpp
/usr/include/boost/type_traits/is_copy_constructible.hpp
/usr/include/boost/type_traits/is_constructible.hpp
/usr/include/boost/type_traits/is_destructible.hpp
/usr/include/boost/type_traits/is_default_constructible.hpp
/usr/include/boost/type_traits/has_trivial_destructor.hpp
/usr/include/boost/type_traits/composite_traits.hpp
/usr/include/boost/type_traits/is_union.hpp
/usr/include/boost/ref.hpp
/usr/include/boost/core/ref.hpp
/usr/include/boost/type_traits/alignment_of.hpp
/usr/include/boost/type_traits/enable_if.hpp
/usr/include/boost/function_equal.hpp
/usr/include/boost/function/function_fwd.hpp
/usr/include/boost/mem_fn.hpp
/usr/include/boost/bind/mem_fn.hpp
/usr/include/boost/get_pointer.hpp
/usr/include/boost/config/no_tr1/memory.hpp
/usr/include/boost/bind/mem_fn_template.hpp
/usr/include/boost/bind/mem_fn_cc.hpp
/usr/include/boost/preprocessor/enum.hpp
/usr/include/boost/preprocessor/repetition/enum.hpp
/usr/include/boost/preprocessor/enum_params.hpp
/usr/include/boost/function/detail/function_iterate.hpp
/usr/include/boost/function/detail/maybe_include.hpp
/usr/include/boost/function/function_template.hpp
/usr/include/boost/core/no_exceptions_support.hpp
/usr/include/boost/algorithm/string/detail/util.hpp
/usr/include/boost/algorithm/string/join.hpp
/usr/include/boost/algorithm/string/detail/sequence.hpp
/usr/include/boost/mpl/logical.hpp
/usr/include/boost/algorithm/string/replace.hpp
/usr/include/boost/algorithm/string/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format.hpp
/usr/include/boost/algorithm/string/detail/find_format_store.hpp
/usr/include/boost/algorithm/string/detail/replace_storage.hpp
/usr/include/boost/algorithm/string/detail/find_format_all.hpp
/usr/include/boost/algorithm/string/formatter.hpp
/usr/include/boost/algorithm/string/detail/formatter.hpp
/usr/include/boost/algorithm/string/erase.hpp
/home/zzy1/2024/my-online-judge/MYOJ/comm/Log.hpp

@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for compiler generated dependencies management for data_server.

@ -0,0 +1,711 @@
CMakeFiles/data_server.dir/data_server/data_server.cc.o: \
/home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc \
/usr/include/stdc-predef.h /usr/include/jsoncpp/json/json.h \
/usr/include/jsoncpp/json/config.h /usr/include/c++/9/cstddef \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \
/usr/include/c++/9/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/9/istream /usr/include/c++/9/ios \
/usr/include/c++/9/iosfwd /usr/include/c++/9/bits/stringfwd.h \
/usr/include/c++/9/bits/memoryfwd.h /usr/include/c++/9/bits/postypes.h \
/usr/include/c++/9/cwchar /usr/include/wchar.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/c++/9/exception /usr/include/c++/9/bits/exception.h \
/usr/include/c++/9/bits/exception_ptr.h \
/usr/include/c++/9/bits/exception_defines.h \
/usr/include/c++/9/bits/cxxabi_init_exception.h \
/usr/include/c++/9/typeinfo /usr/include/c++/9/bits/hash_bytes.h \
/usr/include/c++/9/new /usr/include/c++/9/bits/move.h \
/usr/include/c++/9/bits/concept_check.h /usr/include/c++/9/type_traits \
/usr/include/c++/9/bits/nested_exception.h \
/usr/include/c++/9/bits/char_traits.h \
/usr/include/c++/9/bits/stl_algobase.h \
/usr/include/c++/9/bits/functexcept.h \
/usr/include/c++/9/bits/cpp_type_traits.h \
/usr/include/c++/9/ext/type_traits.h \
/usr/include/c++/9/ext/numeric_traits.h \
/usr/include/c++/9/bits/stl_pair.h \
/usr/include/c++/9/bits/stl_iterator_base_types.h \
/usr/include/c++/9/bits/stl_iterator_base_funcs.h \
/usr/include/c++/9/debug/assertions.h \
/usr/include/c++/9/bits/stl_iterator.h \
/usr/include/c++/9/bits/ptr_traits.h /usr/include/c++/9/debug/debug.h \
/usr/include/c++/9/bits/predefined_ops.h \
/usr/include/c++/9/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h \
/usr/include/c++/9/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/9/cctype \
/usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/c++/9/bits/ios_base.h /usr/include/c++/9/ext/atomicity.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h \
/usr/include/c++/9/bits/locale_classes.h /usr/include/c++/9/string \
/usr/include/c++/9/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h \
/usr/include/c++/9/ext/new_allocator.h \
/usr/include/c++/9/bits/ostream_insert.h \
/usr/include/c++/9/bits/cxxabi_forced.h \
/usr/include/c++/9/bits/stl_function.h \
/usr/include/c++/9/backward/binders.h \
/usr/include/c++/9/bits/range_access.h \
/usr/include/c++/9/initializer_list \
/usr/include/c++/9/bits/basic_string.h \
/usr/include/c++/9/ext/alloc_traits.h \
/usr/include/c++/9/bits/alloc_traits.h \
/usr/include/c++/9/ext/string_conversions.h /usr/include/c++/9/cstdlib \
/usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/alloca.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/9/bits/std_abs.h /usr/include/c++/9/cstdio \
/usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/c++/9/cerrno \
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/9/bits/functional_hash.h \
/usr/include/c++/9/bits/basic_string.tcc \
/usr/include/c++/9/bits/locale_classes.tcc \
/usr/include/c++/9/system_error \
/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h \
/usr/include/c++/9/stdexcept /usr/include/c++/9/streambuf \
/usr/include/c++/9/bits/streambuf.tcc \
/usr/include/c++/9/bits/basic_ios.h \
/usr/include/c++/9/bits/locale_facets.h /usr/include/c++/9/cwctype \
/usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h \
/usr/include/c++/9/bits/streambuf_iterator.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h \
/usr/include/c++/9/bits/locale_facets.tcc \
/usr/include/c++/9/bits/basic_ios.tcc /usr/include/c++/9/ostream \
/usr/include/c++/9/bits/ostream.tcc /usr/include/c++/9/bits/istream.tcc \
/usr/include/c++/9/memory /usr/include/c++/9/bits/stl_construct.h \
/usr/include/c++/9/bits/stl_uninitialized.h \
/usr/include/c++/9/bits/stl_tempbuf.h \
/usr/include/c++/9/bits/stl_raw_storage_iter.h \
/usr/include/c++/9/ext/concurrence.h \
/usr/include/c++/9/bits/uses_allocator.h \
/usr/include/c++/9/bits/unique_ptr.h /usr/include/c++/9/utility \
/usr/include/c++/9/bits/stl_relops.h /usr/include/c++/9/tuple \
/usr/include/c++/9/array /usr/include/c++/9/bits/invoke.h \
/usr/include/c++/9/bits/shared_ptr.h \
/usr/include/c++/9/bits/shared_ptr_base.h \
/usr/include/c++/9/bits/allocated_ptr.h \
/usr/include/c++/9/bits/refwrap.h \
/usr/include/c++/9/ext/aligned_buffer.h \
/usr/include/c++/9/bits/shared_ptr_atomic.h \
/usr/include/c++/9/bits/atomic_base.h \
/usr/include/c++/9/bits/atomic_lockfree_defines.h \
/usr/include/c++/9/backward/auto_ptr.h /usr/include/c++/9/sstream \
/usr/include/c++/9/bits/sstream.tcc \
/usr/include/jsoncpp/json/allocator.h /usr/include/c++/9/cstring \
/usr/include/string.h /usr/include/strings.h \
/usr/include/jsoncpp/json/version.h \
/usr/include/jsoncpp/json/json_features.h \
/usr/include/jsoncpp/json/forwards.h /usr/include/jsoncpp/json/reader.h \
/usr/include/jsoncpp/json/value.h /usr/include/c++/9/map \
/usr/include/c++/9/bits/stl_tree.h /usr/include/c++/9/bits/stl_map.h \
/usr/include/c++/9/bits/stl_multimap.h \
/usr/include/c++/9/bits/erase_if.h /usr/include/c++/9/vector \
/usr/include/c++/9/bits/stl_vector.h \
/usr/include/c++/9/bits/stl_bvector.h /usr/include/c++/9/bits/vector.tcc \
/usr/include/c++/9/deque /usr/include/c++/9/bits/stl_deque.h \
/usr/include/c++/9/bits/deque.tcc /usr/include/c++/9/stack \
/usr/include/c++/9/bits/stl_stack.h /usr/include/jsoncpp/json/writer.h \
/usr/local/include/ctemplate/template.h \
/usr/local/include/ctemplate/template_cache.h \
/usr/include/c++/9/unordered_map /usr/include/c++/9/bits/hashtable.h \
/usr/include/c++/9/bits/hashtable_policy.h /usr/include/c++/9/limits \
/usr/include/c++/9/bits/unordered_map.h \
/usr/local/include/ctemplate/template_emitter.h \
/usr/local/include/ctemplate/template_enums.h \
/usr/local/include/ctemplate/template_string.h /usr/include/assert.h \
/usr/local/include/ctemplate/per_expand_data.h \
/usr/include/c++/9/stdlib.h \
/usr/local/include/ctemplate/template_dictionary.h \
/usr/include/c++/9/functional /usr/include/c++/9/bits/std_function.h \
/usr/local/include/ctemplate/str_ref.h \
/usr/local/include/ctemplate/template_dictionary_interface.h \
/usr/local/include/ctemplate/template_modifiers.h \
/usr/local/include/ctemplate/template_namelist.h \
/usr/include/c++/9/unordered_set /usr/include/c++/9/bits/unordered_set.h \
/home/zzy1/2024/my-online-judge/MYOJ/data_server/../comm/httplib.h \
/usr/include/arpa/inet.h /usr/include/netinet/in.h \
/usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/ifaddrs.h \
/usr/include/netdb.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/resolv.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h /usr/include/arpa/nameser.h \
/usr/include/arpa/nameser_compat.h \
/usr/include/x86_64-linux-gnu/bits/types/res_state.h \
/usr/include/netinet/tcp.h /usr/include/c++/9/csignal \
/usr/include/c++/9/algorithm /usr/include/c++/9/bits/stl_algo.h \
/usr/include/c++/9/bits/algorithmfwd.h \
/usr/include/c++/9/bits/stl_heap.h \
/usr/include/c++/9/bits/uniform_int_dist.h /usr/include/c++/9/atomic \
/usr/include/c++/9/cassert /usr/include/c++/9/climits \
/usr/include/c++/9/condition_variable /usr/include/c++/9/chrono \
/usr/include/c++/9/ratio /usr/include/c++/9/ctime \
/usr/include/c++/9/bits/parse_numbers.h \
/usr/include/c++/9/bits/std_mutex.h \
/usr/include/c++/9/bits/unique_lock.h /usr/include/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/linux/falloc.h /usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/c++/9/fstream /usr/include/c++/9/bits/codecvt.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/basic_file.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/c++io.h \
/usr/include/c++/9/bits/fstream.tcc /usr/include/c++/9/iostream \
/usr/include/c++/9/list /usr/include/c++/9/bits/stl_list.h \
/usr/include/c++/9/bits/list.tcc /usr/include/c++/9/mutex \
/usr/include/c++/9/random /usr/include/c++/9/cmath /usr/include/math.h \
/usr/include/x86_64-linux-gnu/bits/math-vector.h \
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h \
/usr/include/x86_64-linux-gnu/bits/fp-logb.h \
/usr/include/x86_64-linux-gnu/bits/fp-fast.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls.h \
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h \
/usr/include/x86_64-linux-gnu/bits/iscanonical.h \
/usr/include/c++/9/bits/random.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/opt_random.h \
/usr/include/c++/9/bits/random.tcc /usr/include/c++/9/numeric \
/usr/include/c++/9/bits/stl_numeric.h /usr/include/c++/9/regex \
/usr/include/c++/9/bitset /usr/include/c++/9/iterator \
/usr/include/c++/9/bits/stream_iterator.h /usr/include/c++/9/locale \
/usr/include/c++/9/bits/locale_facets_nonio.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/9/bits/locale_facets_nonio.tcc \
/usr/include/c++/9/bits/locale_conv.h \
/usr/include/c++/9/bits/regex_constants.h \
/usr/include/c++/9/bits/regex_error.h \
/usr/include/c++/9/bits/regex_automaton.h \
/usr/include/c++/9/bits/regex_automaton.tcc \
/usr/include/c++/9/bits/regex_scanner.h \
/usr/include/c++/9/bits/regex_scanner.tcc \
/usr/include/c++/9/bits/regex_compiler.h \
/usr/include/c++/9/bits/regex_compiler.tcc \
/usr/include/c++/9/bits/regex.h /usr/include/c++/9/bits/regex.tcc \
/usr/include/c++/9/bits/regex_executor.h \
/usr/include/c++/9/bits/regex_executor.tcc \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/c++/9/thread \
/home/zzy1/2024/my-online-judge/MYOJ/data_server/../comm/Comm_model_MySQL.hpp \
/usr/include/mysql/mysql.h \
/usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \
/usr/include/mysql/field_types.h /usr/include/mysql/my_list.h \
/usr/include/mysql/mysql_com.h /usr/include/mysql/my_command.h \
/usr/include/mysql/my_compress.h \
/usr/include/mysql/udf_registration_types.h \
/usr/include/mysql/client_plugin.h \
/usr/include/mysql/plugin_auth_common.h \
/usr/include/mysql/mysql_version.h /usr/include/mysql/mysql_time.h \
/usr/include/mysql/errmsg.h \
/home/zzy1/2024/my-online-judge/MYOJ/data_server/../comm/util.hpp \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/boost/algorithm/string.hpp \
/usr/include/boost/algorithm/string/std_containers_traits.hpp \
/usr/include/boost/config.hpp /usr/include/boost/config/user.hpp \
/usr/include/boost/config/detail/select_compiler_config.hpp \
/usr/include/boost/config/compiler/gcc.hpp \
/usr/include/boost/config/detail/select_stdlib_config.hpp \
/usr/include/c++/9/version \
/usr/include/boost/config/stdlib/libstdcpp3.hpp \
/usr/include/boost/config/detail/select_platform_config.hpp \
/usr/include/boost/config/platform/linux.hpp \
/usr/include/boost/config/detail/posix_features.hpp \
/usr/include/boost/config/detail/suffix.hpp \
/usr/include/boost/config/helper_macros.hpp \
/usr/include/boost/algorithm/string/std/string_traits.hpp \
/usr/include/boost/algorithm/string/yes_no_type.hpp \
/usr/include/boost/algorithm/string/sequence_traits.hpp \
/usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \
/usr/include/boost/mpl/aux_/adl_barrier.hpp \
/usr/include/boost/mpl/aux_/config/adl.hpp \
/usr/include/boost/mpl/aux_/config/msvc.hpp \
/usr/include/boost/mpl/aux_/config/intel.hpp \
/usr/include/boost/mpl/aux_/config/gcc.hpp \
/usr/include/boost/mpl/aux_/config/workaround.hpp \
/usr/include/boost/detail/workaround.hpp \
/usr/include/boost/config/workaround.hpp \
/usr/include/boost/mpl/integral_c_tag.hpp \
/usr/include/boost/mpl/aux_/config/static_constant.hpp \
/usr/include/boost/algorithm/string/std/list_traits.hpp \
/usr/include/boost/algorithm/string/std/slist_traits.hpp \
/usr/include/boost/algorithm/string/config.hpp \
/usr/include/c++/9/ext/slist \
/usr/include/boost/algorithm/string/trim.hpp \
/usr/include/boost/range/begin.hpp /usr/include/boost/range/config.hpp \
/usr/include/boost/range/iterator.hpp \
/usr/include/boost/range/range_fwd.hpp \
/usr/include/boost/range/mutable_iterator.hpp \
/usr/include/boost/range/detail/extract_optional_type.hpp \
/usr/include/boost/preprocessor/cat.hpp \
/usr/include/boost/preprocessor/config/config.hpp \
/usr/include/boost/mpl/has_xxx.hpp \
/usr/include/boost/mpl/aux_/na_spec.hpp \
/usr/include/boost/mpl/lambda_fwd.hpp \
/usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \
/usr/include/boost/mpl/aux_/na_fwd.hpp \
/usr/include/boost/mpl/aux_/config/ctps.hpp \
/usr/include/boost/mpl/aux_/config/lambda.hpp \
/usr/include/boost/mpl/aux_/config/ttp.hpp \
/usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \
/usr/include/boost/mpl/aux_/nttp_decl.hpp \
/usr/include/boost/mpl/aux_/config/nttp.hpp \
/usr/include/boost/mpl/aux_/integral_wrapper.hpp \
/usr/include/boost/mpl/aux_/static_cast.hpp \
/usr/include/boost/mpl/aux_/lambda_arity_param.hpp \
/usr/include/boost/mpl/aux_/template_arity_fwd.hpp \
/usr/include/boost/mpl/aux_/arity.hpp \
/usr/include/boost/mpl/aux_/config/dtp.hpp \
/usr/include/boost/mpl/aux_/preprocessor/params.hpp \
/usr/include/boost/mpl/aux_/config/preprocessor.hpp \
/usr/include/boost/preprocessor/comma_if.hpp \
/usr/include/boost/preprocessor/punctuation/comma_if.hpp \
/usr/include/boost/preprocessor/control/if.hpp \
/usr/include/boost/preprocessor/control/iif.hpp \
/usr/include/boost/preprocessor/logical/bool.hpp \
/usr/include/boost/preprocessor/facilities/empty.hpp \
/usr/include/boost/preprocessor/punctuation/comma.hpp \
/usr/include/boost/preprocessor/repeat.hpp \
/usr/include/boost/preprocessor/repetition/repeat.hpp \
/usr/include/boost/preprocessor/debug/error.hpp \
/usr/include/boost/preprocessor/detail/auto_rec.hpp \
/usr/include/boost/preprocessor/tuple/eat.hpp \
/usr/include/boost/preprocessor/inc.hpp \
/usr/include/boost/preprocessor/arithmetic/inc.hpp \
/usr/include/boost/mpl/aux_/preprocessor/enum.hpp \
/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \
/usr/include/boost/mpl/limits/arity.hpp \
/usr/include/boost/preprocessor/logical/and.hpp \
/usr/include/boost/preprocessor/logical/bitand.hpp \
/usr/include/boost/preprocessor/identity.hpp \
/usr/include/boost/preprocessor/facilities/identity.hpp \
/usr/include/boost/preprocessor/empty.hpp \
/usr/include/boost/preprocessor/arithmetic/add.hpp \
/usr/include/boost/preprocessor/arithmetic/dec.hpp \
/usr/include/boost/preprocessor/control/while.hpp \
/usr/include/boost/preprocessor/list/fold_left.hpp \
/usr/include/boost/preprocessor/list/detail/fold_left.hpp \
/usr/include/boost/preprocessor/control/expr_iif.hpp \
/usr/include/boost/preprocessor/list/adt.hpp \
/usr/include/boost/preprocessor/detail/is_binary.hpp \
/usr/include/boost/preprocessor/detail/check.hpp \
/usr/include/boost/preprocessor/logical/compl.hpp \
/usr/include/boost/preprocessor/list/fold_right.hpp \
/usr/include/boost/preprocessor/list/detail/fold_right.hpp \
/usr/include/boost/preprocessor/list/reverse.hpp \
/usr/include/boost/preprocessor/control/detail/while.hpp \
/usr/include/boost/preprocessor/tuple/elem.hpp \
/usr/include/boost/preprocessor/facilities/expand.hpp \
/usr/include/boost/preprocessor/facilities/overload.hpp \
/usr/include/boost/preprocessor/variadic/size.hpp \
/usr/include/boost/preprocessor/tuple/rem.hpp \
/usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp \
/usr/include/boost/preprocessor/variadic/elem.hpp \
/usr/include/boost/preprocessor/arithmetic/sub.hpp \
/usr/include/boost/mpl/aux_/config/eti.hpp \
/usr/include/boost/mpl/aux_/config/overload_resolution.hpp \
/usr/include/boost/mpl/aux_/type_wrapper.hpp \
/usr/include/boost/mpl/aux_/yes_no.hpp \
/usr/include/boost/mpl/aux_/config/arrays.hpp \
/usr/include/boost/mpl/aux_/config/has_xxx.hpp \
/usr/include/boost/mpl/aux_/config/msvc_typename.hpp \
/usr/include/boost/preprocessor/array/elem.hpp \
/usr/include/boost/preprocessor/array/data.hpp \
/usr/include/boost/preprocessor/array/size.hpp \
/usr/include/boost/preprocessor/repetition/enum_params.hpp \
/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp \
/usr/include/boost/type_traits/remove_reference.hpp \
/usr/include/boost/iterator/iterator_traits.hpp \
/usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp \
/usr/include/boost/range/const_iterator.hpp \
/usr/include/boost/type_traits/remove_const.hpp \
/usr/include/boost/type_traits/is_const.hpp \
/usr/include/boost/type_traits/integral_constant.hpp \
/usr/include/boost/mpl/eval_if.hpp /usr/include/boost/mpl/if.hpp \
/usr/include/boost/mpl/aux_/value_wknd.hpp \
/usr/include/boost/mpl/aux_/config/integral.hpp \
/usr/include/boost/mpl/aux_/lambda_support.hpp \
/usr/include/boost/range/end.hpp \
/usr/include/boost/range/detail/implementation_help.hpp \
/usr/include/boost/range/detail/common.hpp \
/usr/include/boost/range/detail/sfinae.hpp \
/usr/include/boost/type_traits/is_array.hpp \
/usr/include/boost/type_traits/detail/yes_no_type.hpp \
/usr/include/boost/type_traits/is_void.hpp \
/usr/include/boost/type_traits/is_same.hpp \
/usr/include/boost/range/as_literal.hpp \
/usr/include/boost/range/iterator_range.hpp \
/usr/include/boost/range/iterator_range_core.hpp \
/usr/include/boost/assert.hpp \
/usr/include/boost/iterator/iterator_facade.hpp \
/usr/include/boost/iterator/interoperable.hpp \
/usr/include/boost/mpl/or.hpp \
/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp \
/usr/include/boost/mpl/aux_/include_preprocessed.hpp \
/usr/include/boost/mpl/aux_/config/compiler.hpp \
/usr/include/boost/preprocessor/stringize.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \
/usr/include/boost/type_traits/is_convertible.hpp \
/usr/include/boost/type_traits/intrinsics.hpp \
/usr/include/boost/type_traits/detail/config.hpp \
/usr/include/boost/version.hpp \
/usr/include/boost/type_traits/is_complete.hpp \
/usr/include/boost/type_traits/declval.hpp \
/usr/include/boost/type_traits/add_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_reference.hpp \
/usr/include/boost/type_traits/is_lvalue_reference.hpp \
/usr/include/boost/type_traits/is_rvalue_reference.hpp \
/usr/include/boost/type_traits/is_function.hpp \
/usr/include/boost/type_traits/detail/is_function_cxx_11.hpp \
/usr/include/boost/static_assert.hpp \
/usr/include/boost/type_traits/is_arithmetic.hpp \
/usr/include/boost/type_traits/is_integral.hpp \
/usr/include/boost/type_traits/is_floating_point.hpp \
/usr/include/boost/type_traits/is_abstract.hpp \
/usr/include/boost/type_traits/add_lvalue_reference.hpp \
/usr/include/boost/type_traits/add_reference.hpp \
/usr/include/boost/iterator/detail/config_def.hpp \
/usr/include/boost/iterator/detail/config_undef.hpp \
/usr/include/boost/iterator/iterator_categories.hpp \
/usr/include/boost/mpl/identity.hpp \
/usr/include/boost/mpl/placeholders.hpp /usr/include/boost/mpl/arg.hpp \
/usr/include/boost/mpl/arg_fwd.hpp \
/usr/include/boost/mpl/aux_/na_assert.hpp \
/usr/include/boost/mpl/assert.hpp /usr/include/boost/mpl/not.hpp \
/usr/include/boost/mpl/aux_/config/gpu.hpp \
/usr/include/boost/mpl/aux_/config/pp_counter.hpp \
/usr/include/boost/mpl/aux_/arity_spec.hpp \
/usr/include/boost/mpl/aux_/arg_typedef.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \
/usr/include/boost/iterator/detail/facade_iterator_category.hpp \
/usr/include/boost/core/use_default.hpp /usr/include/boost/mpl/and.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \
/usr/include/boost/detail/indirect_traits.hpp \
/usr/include/boost/type_traits/is_pointer.hpp \
/usr/include/boost/type_traits/is_class.hpp \
/usr/include/boost/type_traits/is_volatile.hpp \
/usr/include/boost/type_traits/is_member_function_pointer.hpp \
/usr/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp \
/usr/include/boost/type_traits/is_member_pointer.hpp \
/usr/include/boost/type_traits/remove_cv.hpp \
/usr/include/boost/type_traits/remove_pointer.hpp \
/usr/include/boost/detail/select_type.hpp \
/usr/include/boost/iterator/detail/enable_if.hpp \
/usr/include/boost/core/addressof.hpp \
/usr/include/boost/type_traits/add_const.hpp \
/usr/include/boost/type_traits/add_pointer.hpp \
/usr/include/boost/type_traits/is_pod.hpp \
/usr/include/boost/type_traits/is_scalar.hpp \
/usr/include/boost/type_traits/is_enum.hpp \
/usr/include/boost/mpl/always.hpp \
/usr/include/boost/mpl/aux_/preprocessor/default_params.hpp \
/usr/include/boost/mpl/apply.hpp /usr/include/boost/mpl/apply_fwd.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \
/usr/include/boost/mpl/apply_wrap.hpp \
/usr/include/boost/mpl/aux_/has_apply.hpp \
/usr/include/boost/mpl/aux_/config/has_apply.hpp \
/usr/include/boost/mpl/aux_/msvc_never_true.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \
/usr/include/boost/mpl/lambda.hpp /usr/include/boost/mpl/bind.hpp \
/usr/include/boost/mpl/bind_fwd.hpp \
/usr/include/boost/mpl/aux_/config/bind.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \
/usr/include/boost/mpl/next.hpp /usr/include/boost/mpl/next_prior.hpp \
/usr/include/boost/mpl/aux_/common_name_wknd.hpp \
/usr/include/boost/mpl/protect.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \
/usr/include/boost/mpl/aux_/full_lambda.hpp \
/usr/include/boost/mpl/quote.hpp /usr/include/boost/mpl/void.hpp \
/usr/include/boost/mpl/aux_/has_type.hpp \
/usr/include/boost/mpl/aux_/config/bcc.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \
/usr/include/boost/mpl/aux_/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \
/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \
/usr/include/boost/type_traits/is_base_and_derived.hpp \
/usr/include/boost/range/functions.hpp /usr/include/boost/range/size.hpp \
/usr/include/boost/range/size_type.hpp \
/usr/include/boost/range/difference_type.hpp \
/usr/include/boost/range/has_range_iterator.hpp \
/usr/include/boost/utility/enable_if.hpp \
/usr/include/boost/core/enable_if.hpp \
/usr/include/boost/range/concepts.hpp \
/usr/include/boost/concept_check.hpp \
/usr/include/boost/concept/assert.hpp \
/usr/include/boost/concept/detail/general.hpp \
/usr/include/boost/concept/detail/backward_compatibility.hpp \
/usr/include/boost/concept/detail/has_constraints.hpp \
/usr/include/boost/type_traits/conditional.hpp \
/usr/include/boost/type_traits/conversion_traits.hpp \
/usr/include/boost/concept/usage.hpp \
/usr/include/boost/concept/detail/concept_def.hpp \
/usr/include/boost/preprocessor/seq/for_each_i.hpp \
/usr/include/boost/preprocessor/repetition/for.hpp \
/usr/include/boost/preprocessor/repetition/detail/for.hpp \
/usr/include/boost/preprocessor/seq/seq.hpp \
/usr/include/boost/preprocessor/seq/elem.hpp \
/usr/include/boost/preprocessor/seq/size.hpp \
/usr/include/boost/preprocessor/seq/detail/is_empty.hpp \
/usr/include/boost/preprocessor/seq/enum.hpp \
/usr/include/boost/concept/detail/concept_undef.hpp \
/usr/include/boost/iterator/iterator_concepts.hpp \
/usr/include/boost/limits.hpp /usr/include/boost/range/value_type.hpp \
/usr/include/boost/range/detail/misc_concept.hpp \
/usr/include/boost/type_traits/make_unsigned.hpp \
/usr/include/boost/type_traits/is_signed.hpp \
/usr/include/boost/type_traits/is_unsigned.hpp \
/usr/include/boost/type_traits/add_volatile.hpp \
/usr/include/boost/range/detail/has_member_size.hpp \
/usr/include/boost/cstdint.hpp /usr/include/boost/utility.hpp \
/usr/include/boost/utility/base_from_member.hpp \
/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp \
/usr/include/boost/preprocessor/repetition/repeat_from_to.hpp \
/usr/include/boost/utility/binary.hpp \
/usr/include/boost/preprocessor/control/deduce_d.hpp \
/usr/include/boost/preprocessor/seq/cat.hpp \
/usr/include/boost/preprocessor/seq/fold_left.hpp \
/usr/include/boost/preprocessor/seq/transform.hpp \
/usr/include/boost/preprocessor/arithmetic/mod.hpp \
/usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp \
/usr/include/boost/preprocessor/comparison/less_equal.hpp \
/usr/include/boost/preprocessor/logical/not.hpp \
/usr/include/boost/utility/identity_type.hpp \
/usr/include/boost/type_traits/function_traits.hpp \
/usr/include/boost/core/checked_delete.hpp \
/usr/include/boost/core/noncopyable.hpp \
/usr/include/boost/range/distance.hpp \
/usr/include/boost/iterator/distance.hpp \
/usr/include/boost/range/empty.hpp /usr/include/boost/range/rbegin.hpp \
/usr/include/boost/range/reverse_iterator.hpp \
/usr/include/boost/iterator/reverse_iterator.hpp \
/usr/include/boost/iterator/iterator_adaptor.hpp \
/usr/include/boost/range/rend.hpp \
/usr/include/boost/range/algorithm/equal.hpp \
/usr/include/boost/range/detail/safe_bool.hpp \
/usr/include/boost/next_prior.hpp \
/usr/include/boost/type_traits/has_plus.hpp \
/usr/include/boost/type_traits/detail/has_binary_operator.hpp \
/usr/include/boost/type_traits/make_void.hpp \
/usr/include/boost/type_traits/has_plus_assign.hpp \
/usr/include/boost/type_traits/has_minus.hpp \
/usr/include/boost/type_traits/has_minus_assign.hpp \
/usr/include/boost/iterator/advance.hpp \
/usr/include/boost/range/iterator_range_io.hpp \
/usr/include/boost/range/detail/str_types.hpp \
/usr/include/boost/algorithm/string/detail/trim.hpp \
/usr/include/boost/algorithm/string/classification.hpp \
/usr/include/boost/algorithm/string/detail/classification.hpp \
/usr/include/boost/algorithm/string/predicate_facade.hpp \
/usr/include/boost/algorithm/string/case_conv.hpp \
/usr/include/boost/iterator/transform_iterator.hpp \
/usr/include/boost/utility/result_of.hpp \
/usr/include/boost/preprocessor/iteration/iterate.hpp \
/usr/include/boost/preprocessor/slot/slot.hpp \
/usr/include/boost/preprocessor/slot/detail/def.hpp \
/usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp \
/usr/include/boost/preprocessor/facilities/intercept.hpp \
/usr/include/boost/type_traits/type_identity.hpp \
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \
/usr/include/boost/preprocessor/slot/detail/shared.hpp \
/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \
/usr/include/boost/utility/detail/result_of_iterate.hpp \
/usr/include/boost/algorithm/string/detail/case_conv.hpp \
/usr/include/boost/algorithm/string/predicate.hpp \
/usr/include/boost/algorithm/string/compare.hpp \
/usr/include/boost/algorithm/string/find.hpp \
/usr/include/boost/algorithm/string/finder.hpp \
/usr/include/boost/algorithm/string/constants.hpp \
/usr/include/boost/algorithm/string/detail/finder.hpp \
/usr/include/boost/algorithm/string/detail/predicate.hpp \
/usr/include/boost/algorithm/string/split.hpp \
/usr/include/boost/algorithm/string/iter_find.hpp \
/usr/include/boost/algorithm/string/concept.hpp \
/usr/include/boost/algorithm/string/find_iterator.hpp \
/usr/include/boost/algorithm/string/detail/find_iterator.hpp \
/usr/include/boost/function.hpp \
/usr/include/boost/preprocessor/iterate.hpp \
/usr/include/boost/function/detail/prologue.hpp \
/usr/include/boost/config/no_tr1/functional.hpp \
/usr/include/boost/throw_exception.hpp \
/usr/include/boost/assert/source_location.hpp \
/usr/include/boost/current_function.hpp \
/usr/include/boost/exception/exception.hpp \
/usr/include/boost/function/function_base.hpp \
/usr/include/boost/integer.hpp /usr/include/boost/integer_fwd.hpp \
/usr/include/boost/integer_traits.hpp /usr/include/boost/type_index.hpp \
/usr/include/boost/type_index/stl_type_index.hpp \
/usr/include/boost/type_index/type_index_facade.hpp \
/usr/include/boost/container_hash/hash_fwd.hpp \
/usr/include/boost/core/demangle.hpp /usr/include/c++/9/cxxabi.h \
/usr/include/x86_64-linux-gnu/c++/9/bits/cxxabi_tweaks.h \
/usr/include/boost/type_traits/has_trivial_copy.hpp \
/usr/include/boost/type_traits/is_copy_constructible.hpp \
/usr/include/boost/type_traits/is_constructible.hpp \
/usr/include/boost/type_traits/is_destructible.hpp \
/usr/include/boost/type_traits/is_default_constructible.hpp \
/usr/include/boost/type_traits/has_trivial_destructor.hpp \
/usr/include/boost/type_traits/composite_traits.hpp \
/usr/include/boost/type_traits/is_union.hpp /usr/include/boost/ref.hpp \
/usr/include/boost/core/ref.hpp \
/usr/include/boost/type_traits/alignment_of.hpp \
/usr/include/boost/type_traits/enable_if.hpp \
/usr/include/boost/function_equal.hpp \
/usr/include/boost/function/function_fwd.hpp \
/usr/include/boost/mem_fn.hpp /usr/include/boost/bind/mem_fn.hpp \
/usr/include/boost/get_pointer.hpp \
/usr/include/boost/config/no_tr1/memory.hpp \
/usr/include/boost/bind/mem_fn_template.hpp \
/usr/include/boost/bind/mem_fn_cc.hpp \
/usr/include/boost/preprocessor/enum.hpp \
/usr/include/boost/preprocessor/repetition/enum.hpp \
/usr/include/boost/preprocessor/enum_params.hpp \
/usr/include/boost/function/detail/function_iterate.hpp \
/usr/include/boost/function/detail/maybe_include.hpp \
/usr/include/boost/function/function_template.hpp \
/usr/include/boost/core/no_exceptions_support.hpp \
/usr/include/boost/algorithm/string/detail/util.hpp \
/usr/include/boost/algorithm/string/join.hpp \
/usr/include/boost/algorithm/string/detail/sequence.hpp \
/usr/include/boost/mpl/logical.hpp \
/usr/include/boost/algorithm/string/replace.hpp \
/usr/include/boost/algorithm/string/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format.hpp \
/usr/include/boost/algorithm/string/detail/find_format_store.hpp \
/usr/include/boost/algorithm/string/detail/replace_storage.hpp \
/usr/include/boost/algorithm/string/detail/find_format_all.hpp \
/usr/include/boost/algorithm/string/formatter.hpp \
/usr/include/boost/algorithm/string/detail/formatter.hpp \
/usr/include/boost/algorithm/string/erase.hpp \
/home/zzy1/2024/my-online-judge/MYOJ/data_server/../comm/../comm/Log.hpp

@ -0,0 +1,2 @@
# Empty dependencies file for data_server.
# This may be replaced when dependencies are built.

@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# compile CXX with /usr/bin/g++-9
CXX_DEFINES =
CXX_INCLUDES =
CXX_FLAGS = -g -std=gnu++11

@ -0,0 +1 @@
/usr/bin/g++-9 -g CMakeFiles/data_server.dir/data_server/data_server.cc.o -o output/data_server -ljsoncpp -lctemplate -lmysqlclient

@ -0,0 +1,263 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/zzy1/2024/my-online-judge/MYOJ
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/zzy1/2024/my-online-judge/MYOJ/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles /home/zzy1/2024/my-online-judge/MYOJ/build//CMakeFiles/progress.marks
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/zzy1/2024/my-online-judge/MYOJ/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named OJ_server
# Build rule for target.
OJ_server: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 OJ_server
.PHONY : OJ_server
# fast build rule for target.
OJ_server/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/build
.PHONY : OJ_server/fast
#=============================================================================
# Target rules for targets named compile_server
# Build rule for target.
compile_server: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 compile_server
.PHONY : compile_server
# fast build rule for target.
compile_server/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/build
.PHONY : compile_server/fast
#=============================================================================
# Target rules for targets named data_server
# Build rule for target.
data_server: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 data_server
.PHONY : data_server
# fast build rule for target.
data_server/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/build
.PHONY : data_server/fast
OJ_server/OJ_server.o: OJ_server/OJ_server.cc.o
.PHONY : OJ_server/OJ_server.o
# target to build an object file
OJ_server/OJ_server.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o
.PHONY : OJ_server/OJ_server.cc.o
OJ_server/OJ_server.i: OJ_server/OJ_server.cc.i
.PHONY : OJ_server/OJ_server.i
# target to preprocess a source file
OJ_server/OJ_server.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.i
.PHONY : OJ_server/OJ_server.cc.i
OJ_server/OJ_server.s: OJ_server/OJ_server.cc.s
.PHONY : OJ_server/OJ_server.s
# target to generate assembly for a file
OJ_server/OJ_server.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/OJ_server.dir/build.make CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.s
.PHONY : OJ_server/OJ_server.cc.s
compile_server/compile_server.o: compile_server/compile_server.cc.o
.PHONY : compile_server/compile_server.o
# target to build an object file
compile_server/compile_server.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o
.PHONY : compile_server/compile_server.cc.o
compile_server/compile_server.i: compile_server/compile_server.cc.i
.PHONY : compile_server/compile_server.i
# target to preprocess a source file
compile_server/compile_server.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/compile_server/compile_server.cc.i
.PHONY : compile_server/compile_server.cc.i
compile_server/compile_server.s: compile_server/compile_server.cc.s
.PHONY : compile_server/compile_server.s
# target to generate assembly for a file
compile_server/compile_server.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/compile_server.dir/build.make CMakeFiles/compile_server.dir/compile_server/compile_server.cc.s
.PHONY : compile_server/compile_server.cc.s
data_server/data_server.o: data_server/data_server.cc.o
.PHONY : data_server/data_server.o
# target to build an object file
data_server/data_server.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/data_server/data_server.cc.o
.PHONY : data_server/data_server.cc.o
data_server/data_server.i: data_server/data_server.cc.i
.PHONY : data_server/data_server.i
# target to preprocess a source file
data_server/data_server.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/data_server/data_server.cc.i
.PHONY : data_server/data_server.cc.i
data_server/data_server.s: data_server/data_server.cc.s
.PHONY : data_server/data_server.s
# target to generate assembly for a file
data_server/data_server.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/data_server.dir/build.make CMakeFiles/data_server.dir/data_server/data_server.cc.s
.PHONY : data_server/data_server.cc.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... rebuild_cache"
@echo "... OJ_server"
@echo "... compile_server"
@echo "... data_server"
@echo "... OJ_server/OJ_server.o"
@echo "... OJ_server/OJ_server.i"
@echo "... OJ_server/OJ_server.s"
@echo "... compile_server/compile_server.o"
@echo "... compile_server/compile_server.i"
@echo "... compile_server/compile_server.s"
@echo "... data_server/data_server.o"
@echo "... data_server/data_server.i"
@echo "... data_server/data_server.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

@ -0,0 +1,54 @@
# Install script for directory: /home/zzy1/2024/my-online-judge/MYOJ
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/local")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
# Set default install directory permissions.
if(NOT DEFINED CMAKE_OBJDUMP)
set(CMAKE_OBJDUMP "/usr/bin/objdump")
endif()
if(CMAKE_INSTALL_COMPONENT)
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
else()
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
file(WRITE "/home/zzy1/2024/my-online-judge/MYOJ/build/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")

@ -0,0 +1,17 @@
[
{
"directory": "/home/zzy1/2024/my-online-judge/MYOJ/build",
"command": "/usr/bin/g++-9 -g -std=gnu++11 -o CMakeFiles/OJ_server.dir/OJ_server/OJ_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc",
"file": "/home/zzy1/2024/my-online-judge/MYOJ/OJ_server/OJ_server.cc"
},
{
"directory": "/home/zzy1/2024/my-online-judge/MYOJ/build",
"command": "/usr/bin/g++-9 -g -std=gnu++11 -o CMakeFiles/compile_server.dir/compile_server/compile_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc",
"file": "/home/zzy1/2024/my-online-judge/MYOJ/compile_server/compile_server.cc"
},
{
"directory": "/home/zzy1/2024/my-online-judge/MYOJ/build",
"command": "/usr/bin/g++-9 -g -std=gnu++11 -o CMakeFiles/data_server.dir/data_server/data_server.cc.o -c /home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc",
"file": "/home/zzy1/2024/my-online-judge/MYOJ/data_server/data_server.cc"
}
]

@ -0,0 +1,160 @@
// 该模块负责和数据交互,对题库进行增删改查,对外提供访问数据接口
// MySQL版本题库
// to do...
// 1.增加一个删除指定题号的接口
// 2.增加一个查询指定题号的接口
#pragma once
#include <mysql/mysql.h>
#include <vector>
#include "util.hpp"
namespace ns_model_MySQL
{
struct Question
{
std::string number; // 题目的唯一编号
std::string title; // 题目的标题
std::string star; // 题目的难度——简单/中等/困难
int cpu_limit; // 题目的时间限制s)
int mem_limit; // 题目的空间限制KB
std::string desc; // 题目的题干描述
std::string header; // 题目预设给用户在线编辑器的代码
std::string tail; // 题目的测试用例需要和header拼接形成完整代码
};
// MySQL中的表名
const std::string table_name = "oj_questions";
// IP地址
const std::string host = "127.0.0.1";
// MySQL用户
const std::string user = "oj_client";
// 用户密码
const std::string passwd = "ZZYcxrmyh777";
// 数据库名称
const std::string db = "oj";
// MySQL服务端口号
const uint16_t port = 8080;
class Model
{
public:
Model()
{
}
~Model()
{
}
// 查询数据库的接口
// const std::string& query 为要执行的sql语句
// std::vector<Question>* out 为输出型参数,存放查询的结果
bool queryMySQL(const std::string &query, std::vector<Question> *out)
{
// 1.创建MySQL句柄
MYSQL *my = mysql_init(nullptr);
// lg(Debug, "mysql_init finish\n");
// 2.连接数据库
if (nullptr ==
mysql_real_connect(my, host.c_str(), user.c_str(), passwd.c_str(), db.c_str(), port,
nullptr, 0))
{
lg(Fatal, "数据库连接失败, errno: %d, strerror: %s\n", errno, strerror(errno));
return false;
}
// 设置字符集,否则传输中文会乱码
mysql_set_character_set(my, "utf8");
lg(Info, "数据库连接成功!\n");
// 3.下发SQL命令
int ret = mysql_query(my, query.c_str());
if (0 != ret)
{
lg(Error, "%s, \"sql\"语句执行失败, ret: %d, mysql_error: %s\n",
query.c_str(), ret, mysql_error(my));
return false;
}
if (out == nullptr)
{
// 如果out为nullptr, 说明并不是查询类sql, 或者不关心查询结果, 故直接返回
return true;
}
// 4.提取结果
MYSQL_RES *res = mysql_store_result(my);
// 5.分析结果
int rows = mysql_num_rows(res); // 获得行数量
int cols = mysql_num_fields(res); // 获得列数量
Question q;
for (int i = 0; i < rows; i++)
{
MYSQL_ROW row = mysql_fetch_row(res);
q.number = row[0];
q.title = row[1];
q.star = row[2];
q.desc = row[3];
q.header = row[4];
q.tail = row[5];
q.cpu_limit = atoi(row[6]);
q.mem_limit = atoi(row[7]);
out->push_back(q);
}
// 6.释放资源
mysql_free_result(res);
// 关闭MySQL连接
mysql_close(my);
return true;
}
bool getAllQuestions(std::vector<Question> *out)
{
std::string sql = "select * from ";
sql += table_name;
sql += ";";
return queryMySQL(sql, out);
}
bool getOneQuestion(const std::string &question_num, Question *out)
{
bool res = false;
std::string sql = "select * from ";
sql += table_name;
sql += " where number=";
sql += question_num;
sql += ";";
std::vector<Question> result;
if (queryMySQL(sql, &result))
{
if (result.size() == 1)
{
*out = result[0];
res = true;
}
}
return res;
}
};
}

@ -0,0 +1,133 @@
#pragma once
#include <string>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdarg.h>
enum PrintMethods
{
Screen = 1,
Onefile,
Classfile
};
enum LogLevel
{
Info = 0,
Debug,
Warning,
Error,
Fatal
};
std::string defaultPath = "./Log/";
class Log
{
public:
// 初始化日志默认向屏幕上输出输出文件路径默认设置为当前路径下Log.txt文件
Log(const int printMethod = Screen, const std::string &path = defaultPath)
: _path(path), _printMethod(printMethod)
{
}
// 改变日志的输出方式
void Enable(int newMethod)
{
_printMethod = newMethod;
}
std::string LevelToString(int level)
{
switch (level)
{
case Info:
return "Info";
break;
case Debug:
return "Debug";
break;
case Warning:
return "Warning";
break;
case Error:
return "Error";
break;
case Fatal:
return "Fatal";
break;
default:
return "None";
break;
}
}
void PrintLog(const std::string &LogMessage, int level)
{
switch (_printMethod)
{
case Screen:
printf("%s", LogMessage.c_str());
break;
case Onefile:
printOnefile("log.txt", LogMessage);
break;
case Classfile:
printClassFile(LogMessage, level);
break;
default:
break;
}
}
void printOnefile(const std::string &logName, const std::string &LogMessage)
{
std::string fileName = _path;
fileName += logName;
int fd = open(fileName.c_str(), O_APPEND | O_WRONLY | O_CREAT, 0666);
if (fd < 0)
{
perror("printOnefile open");
return;
}
write(fd, LogMessage.c_str(), LogMessage.size());
close(fd);
}
void printClassFile(const std::string &LogMessage, int level)
{
std::string fileName = "log.txt.";
fileName += LevelToString(level);
printOnefile(fileName, LogMessage);
}
void operator()(int level, const char *format, ...)
{
time_t t;
time(&t);
struct tm *p;
p = localtime(&t);
char leftBuffer[1024];
snprintf(leftBuffer, sizeof(leftBuffer) - 1, "[%s][%d-%d-%d %d:%d:%d]", LevelToString(level).c_str(),
p->tm_year + 1900, p->tm_mon + 1, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec);
char rightBuffer[1024];
va_list ap;
va_start(ap, format);
vsnprintf(rightBuffer, sizeof(rightBuffer) - 1, format, ap);
std::string LogMessage(leftBuffer);
LogMessage += " ";
LogMessage += rightBuffer;
PrintLog(LogMessage, level);
}
private:
std::string _path;
int _printMethod;
};
Log lg;

File diff suppressed because it is too large Load Diff

@ -0,0 +1,202 @@
#pragma once
#include <iostream>
#include <vector>
#include <fstream>
#include <atomic>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <cstdlib>
#include <string>
#include <sstream>
#include <boost/algorithm/string.hpp>
#include <sstream>
#include "../comm/Log.hpp"
namespace ns_util
{
// 公共编译路径
const std::string defaultTempPath = "./temp/";
// 给文件名加路径和后缀
class pathUtil
{
public:
pathUtil()
{
}
~pathUtil()
{
}
// 给要文件添加后缀,路径
static std::string addSuffix(const std::string &file_name, const std::string &suffix)
{
return defaultTempPath + file_name + suffix;
}
// 程序编译时的三个临时文件
// 生成源文件
static std::string src(const std::string &file_name)
{
return addSuffix(file_name, ".cpp");
}
// 生成可执行文件
static std::string exe(const std::string &file_name)
{
return addSuffix(file_name, ".exe");
}
// 生成编译错误的完整文件名
static std::string compilerError(const std::string &file_name)
{
return addSuffix(file_name, ".compile_error");
}
// 程序运行时的三个临时文件
// 生成标准输入的完整文件名(标准输入所在路径+后缀)(这个地方函数名必须大写,否则命名冲突)
static std::string Stdin(const std::string &file_name)
{
return addSuffix(file_name, ".stdin");
}
// 生成标准输出的完整文件名(标准输出所在路径+后缀)
static std::string Stdout(const std::string &file_name)
{
return addSuffix(file_name, ".stdout");
}
// 生成标准错误的完整文件名(标准错误所在路径+后缀)
static std::string Stderr(const std::string &file_name)
{
return addSuffix(file_name, ".stderr");
}
};
// 判断文件是否存在
class fileUtil
{
public:
fileUtil()
{
}
~fileUtil()
{
}
static bool isFileExist(const std::string &file_name)
{
struct stat buffer;
return (stat(file_name.c_str(), &buffer) == 0);
}
// keep表示是否需要\n换行符
static bool readFile(const std::string &file_name, std::string *input, bool keep = false)
{
input->clear();
std::ifstream in(file_name);
if (!in.is_open())
{
return false;
}
std::string line;
while (getline(in, line))
{
*input += line;
*input += (keep ? "\n" : "");
}
in.close();
return true;
}
static bool writeFile(const std::string &file_name, const std::string &output)
{
std::ofstream out(file_name);
if (!out.is_open())
{
return false;
}
out.write(output.c_str(), output.size());
out.close();
return true;
}
};
class TimeUtil
{
public:
// 获取时间戳(秒级)
static std::string GetTimeStamp()
{
struct timeval _time;
gettimeofday(&_time, nullptr);
return std::to_string(_time.tv_sec); // 累积到现在的秒数
}
// 获取时间戳(毫秒级)
static std::string GetTimeMs()
{
struct timeval _time;
gettimeofday(&_time, nullptr);
return std::to_string(_time.tv_sec * 1000 + _time.tv_usec / 1000);
}
};
// 生成唯一的文件名
class nameUtil
{
public:
nameUtil()
{
}
~nameUtil()
{
}
static std::string getUniqueName()
{
static std::atomic_uint id(0); // atomic是C++提供的原子性计数器
id++;
std::string ms = TimeUtil::GetTimeMs();
std::string uniq_id = to_string(id);
return ms + "-" + uniq_id;
// // 获取当前时间戳
// auto now = std::chrono::system_clock::now();
// auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
// // 使用随机数生成器
// std::random_device rd; // 非确定性随机数生成器
// std::mt19937 gen(rd()); // 使用Mersenne Twister算法的伪随机数生成器
// std::uniform_int_distribution<> dis(1000, 9999);
// // 生成唯一的文件名
// std::stringstream ss;
// ss << millis;
// ss << "_";
// ss << dis(gen); // 添加一个随机数来进一步确保唯一性
// return ss.str();
}
};
// 切分字符串工具
class splitUtil
{
public:
splitUtil()
{
}
~splitUtil()
{
}
static void splitString(const std::string& src, const std::string& sep, std::vector<std::string>* tokens)
{
tokens->clear();
boost::split(*tokens, src, boost::is_any_of(sep), boost::algorithm::token_compress_on);
}
};
}

@ -0,0 +1,141 @@
// 运行模块
#pragma once
#include <sys/resource.h>
#include "./comm/util.hpp"
#include "./comm/Log.hpp"
namespace ns_run
{
// 提供运行接口,限制资源接口
class Runner
{
public:
Runner()
{
}
~Runner()
{
}
static void setProLimit(const rlim_t cpu_limit, const rlim_t mem_limit)
{
struct rlimit cl;
cl.rlim_cur = cpu_limit;
cl.rlim_max = RLIM_INFINITY;
// std::cout << "cpu_limit: " << cpu_limit << std::endl;
if (setrlimit(RLIMIT_CPU, &cl) != 0)
{
lg(Error, "设置CPU资源限制失败, errno: %d, strerror: %s\n", errno, strerror(errno));
exit(6);
}
// 内存是按照KB为单位的
struct rlimit ml;
ml.rlim_cur = mem_limit * 1024;
ml.rlim_max = RLIM_INFINITY;
if (setrlimit(RLIMIT_AS, &ml) != 0)
{
lg(Error, "设置MEM资源限制失败, errno: %d, strerror: %s\n", errno, strerror(errno));
exit(7);
}
}
// 需要返回运行的状态码
static int run(const std::string &file_name, const rlim_t cpu_limit, const rlim_t mem_limit)
{
std::string _exe = ns_util::pathUtil::exe(file_name);
std::string _stdin = ns_util::pathUtil::Stdin(file_name);
std::string _stdout = ns_util::pathUtil::Stdout(file_name);
std::string _stderr = ns_util::pathUtil::Stderr(file_name);
umask(0);
int _stdinfd = open(_stdin.c_str(), O_CREAT | O_RDONLY, 0664);
int _stdoutfd = open(_stdout.c_str(), O_CREAT | O_WRONLY, 0664);
int _stderrfd = open(_stderr.c_str(), O_CREAT | O_WRONLY, 0664);
if (_stdinfd < 0 || _stdoutfd < 0 || _stderrfd < 0)
{
lg(Error, "运行时打开文件描述符失败, errno: %d, strerror: %s\n", errno, strerror(errno));
exit(-2);
}
pid_t pid = fork();
if (pid == 0)
{
// child
// 重定向0,1,2到_stdinfd,_stdoutfd,_stderrfd
// for debug
// dup2(debug_fd, 1);
if (dup2(_stdinfd, 0) < 0 ||
dup2(_stdoutfd, 1) < 0 ||
dup2(_stderrfd, 2) < 0)
{
close(_stdinfd);
close(_stdoutfd);
close(_stderrfd);
lg(Error, "运行时文件描述符重定向失败, errno: %d, strerror: %s\n", errno, strerror(errno));
exit(-3);
}
setProLimit(cpu_limit, mem_limit);
// std::cout<<"子进程执行程序替换"<< _exe << std::endl;
execlp(_exe.c_str(), _exe.c_str(), nullptr);
lg(Error, "运行时程序替换失败, errno: %d, strerror: %s\n", errno, strerror(errno));
// ns_util::fileUtil::writeFile("./debugErrorLog.txt", )
// open("./debugErrorLog.txt", O_CREAT, 0664);
close(_stdinfd);
close(_stdoutfd);
close(_stderrfd);
exit(-1);
}
else if (pid > 0)
{
// parent
close(_stdinfd);
close(_stdoutfd);
close(_stderrfd);
int status = 0;
waitpid(pid, &status, 0);
// 子进程运行完毕
// 1.子进程正常退出run_res会为0
// 2.子进程异常终止run_res会存储异常退出的信号
// std::cout << status << std::endl;
if (WIFEXITED(status))
{
int exit_code = WEXITSTATUS(status);
lg(Info, "%s 正常退出, exit_code = %d\n", _exe.c_str(), exit_code);
// std::cout << "进入WIFEXITED(status)" << std::endl;
return exit_code;
}
else if (WIFSIGNALED(status))
{
int term_signal = WTERMSIG(status);
lg(Error, "%s 被信号终止, signal = %d\n", _exe.c_str(), term_signal);
// std::cout << "进入WIFSIGNALED(status),打印:" << status << std::endl;
return term_signal;
}
// int run_res = status & 0x7f;
// lg(Info, "%s 运行完毕, run_res = %d\n", _exe.c_str(), run_res);
// return run_res; // for debug
return status & 0x7f;
}
else
{
// 创建子进程失败
lg(Error, "运行文件时创建子进程失败, errno:%d, strerror:%s\n", errno, strerror(errno));
exit(8);
}
}
};
}

@ -0,0 +1,133 @@
#pragma once
#include <string>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdarg.h>
enum PrintMethods
{
Screen = 1,
Onefile,
Classfile
};
enum LogLevel
{
Info = 0,
Debug,
Warning,
Error,
Fatal
};
std::string defaultPath = "./Log/";
class Log
{
public:
// 初始化日志默认向屏幕上输出输出文件路径默认设置为当前路径下Log.txt文件
Log(const int printMethod = Screen, const std::string &path = defaultPath)
: _path(path), _printMethod(printMethod)
{
}
// 改变日志的输出方式
void Enable(int newMethod)
{
_printMethod = newMethod;
}
std::string LevelToString(int level)
{
switch (level)
{
case Info:
return "Info";
break;
case Debug:
return "Debug";
break;
case Warning:
return "Warning";
break;
case Error:
return "Error";
break;
case Fatal:
return "Fatal";
break;
default:
return "None";
break;
}
}
void PrintLog(const std::string &LogMessage, int level)
{
switch (_printMethod)
{
case Screen:
printf("%s", LogMessage.c_str());
break;
case Onefile:
printOnefile("log.txt", LogMessage);
break;
case Classfile:
printClassFile(LogMessage, level);
break;
default:
break;
}
}
void printOnefile(const std::string &logName, const std::string &LogMessage)
{
std::string fileName = _path;
fileName += logName;
int fd = open(fileName.c_str(), O_APPEND | O_WRONLY | O_CREAT, 0666);
if (fd < 0)
{
perror("printOnefile open");
return;
}
write(fd, LogMessage.c_str(), LogMessage.size());
close(fd);
}
void printClassFile(const std::string &LogMessage, int level)
{
std::string fileName = "log.txt.";
fileName += LevelToString(level);
printOnefile(fileName, LogMessage);
}
void operator()(int level, const char *format, ...)
{
time_t t;
time(&t);
struct tm *p;
p = localtime(&t);
char leftBuffer[1024];
snprintf(leftBuffer, sizeof(leftBuffer) - 1, "[%s][%d-%d-%d %d:%d:%d]", LevelToString(level).c_str(),
p->tm_year + 1900, p->tm_mon + 1, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec);
char rightBuffer[1024];
va_list ap;
va_start(ap, format);
vsnprintf(rightBuffer, sizeof(rightBuffer) - 1, format, ap);
std::string LogMessage(leftBuffer);
LogMessage += " ";
LogMessage += rightBuffer;
PrintLog(LogMessage, level);
}
private:
std::string _path;
int _printMethod;
};
Log lg;

@ -0,0 +1,202 @@
#pragma once
#include <iostream>
#include <vector>
#include <fstream>
#include <atomic>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <cstdlib>
#include <string>
#include <sstream>
#include <boost/algorithm/string.hpp>
#include <sstream>
#include "../comm/Log.hpp"
namespace ns_util
{
// 公共编译路径
const std::string defaultTempPath = "/home/zzy1/2024/my-online-judge/MYOJ/compile_server/temp/";
// 给文件名加路径和后缀
class pathUtil
{
public:
pathUtil()
{
}
~pathUtil()
{
}
// 给要文件添加后缀,路径
static std::string addSuffix(const std::string &file_name, const std::string &suffix)
{
return defaultTempPath + file_name + suffix;
}
// 程序编译时的三个临时文件
// 生成源文件
static std::string src(const std::string &file_name)
{
return addSuffix(file_name, ".cpp");
}
// 生成可执行文件
static std::string exe(const std::string &file_name)
{
return addSuffix(file_name, ".exe");
}
// 生成编译错误的完整文件名
static std::string compilerError(const std::string &file_name)
{
return addSuffix(file_name, ".compile_error");
}
// 程序运行时的三个临时文件
// 生成标准输入的完整文件名(标准输入所在路径+后缀)(这个地方函数名必须大写,否则命名冲突)
static std::string Stdin(const std::string &file_name)
{
return addSuffix(file_name, ".stdin");
}
// 生成标准输出的完整文件名(标准输出所在路径+后缀)
static std::string Stdout(const std::string &file_name)
{
return addSuffix(file_name, ".stdout");
}
// 生成标准错误的完整文件名(标准错误所在路径+后缀)
static std::string Stderr(const std::string &file_name)
{
return addSuffix(file_name, ".stderr");
}
};
// 判断文件是否存在
class fileUtil
{
public:
fileUtil()
{
}
~fileUtil()
{
}
static bool isFileExist(const std::string &file_name)
{
struct stat buffer;
return (stat(file_name.c_str(), &buffer) == 0);
}
// keep表示是否需要\n换行符
static bool readFile(const std::string &file_name, std::string *input, bool keep = false)
{
input->clear();
std::ifstream in(file_name);
if (!in.is_open())
{
return false;
}
std::string line;
while (getline(in, line))
{
*input += line;
*input += (keep ? "\n" : "");
}
in.close();
return true;
}
static bool writeFile(const std::string &file_name, const std::string &output)
{
std::ofstream out(file_name);
if (!out.is_open())
{
return false;
}
out.write(output.c_str(), output.size());
out.close();
return true;
}
};
class TimeUtil
{
public:
// 获取时间戳(秒级)
static std::string GetTimeStamp()
{
struct timeval _time;
gettimeofday(&_time, nullptr);
return std::to_string(_time.tv_sec); // 累积到现在的秒数
}
// 获取时间戳(毫秒级)
static std::string GetTimeMs()
{
struct timeval _time;
gettimeofday(&_time, nullptr);
return std::to_string(_time.tv_sec * 1000 + _time.tv_usec / 1000);
}
};
// 生成唯一的文件名
class nameUtil
{
public:
nameUtil()
{
}
~nameUtil()
{
}
static std::string getUniqueName()
{
static std::atomic_uint id(0); // atomic是C++提供的原子性计数器
id++;
std::string ms = TimeUtil::GetTimeMs();
std::string uniq_id = to_string(id);
return ms + "-" + uniq_id;
// // 获取当前时间戳
// auto now = std::chrono::system_clock::now();
// auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
// // 使用随机数生成器
// std::random_device rd; // 非确定性随机数生成器
// std::mt19937 gen(rd()); // 使用Mersenne Twister算法的伪随机数生成器
// std::uniform_int_distribution<> dis(1000, 9999);
// // 生成唯一的文件名
// std::stringstream ss;
// ss << millis;
// ss << "_";
// ss << dis(gen); // 添加一个随机数来进一步确保唯一性
// return ss.str();
}
};
// 切分字符串工具
class splitUtil
{
public:
splitUtil()
{
}
~splitUtil()
{
}
static void splitString(const std::string& src, const std::string& sep, std::vector<std::string>* tokens)
{
tokens->clear();
boost::split(*tokens, src, boost::is_any_of(sep), boost::algorithm::token_compress_on);
}
};
}

@ -0,0 +1,72 @@
// 编译模块
#pragma once
#include "./comm/util.hpp"
namespace ns_compile
{
// 提供编译接口
class Compiler
{
public:
Compiler()
{}
~Compiler()
{}
// 编译文件,并且返回编译结果
bool compile(const std::string& file_name)
{
pid_t id = fork();
if (id == -1)
{
// 创建失败
lg(Error, "编译文件时创建子进程失败, errno:%d, strerror:%s\n",errno, strerror(errno));
exit(1);
}
else if (id == 0)
{
// child
umask(0);
int _stderr = open(ns_util::pathUtil::compilerError(file_name).c_str(), O_CREAT | O_WRONLY, 0664);
if (_stderr < 0)
{
lg(Error, "子进程创建_stderr时出错, errno:%d, strerror:%s\n",errno, strerror(errno));
exit(2);
}
int ret = dup2(_stderr, 2);
if (ret == -1)
{
lg(Error, "子进程标准错误重定向错误, errno:%d, strerror:%s\n",errno, strerror(errno));
exit(3);
}
// 进程替换
execlp("g++", "g++", "-o", ns_util::pathUtil::exe(file_name).c_str(), ns_util::pathUtil::src(file_name).c_str(), "-D", "COMPILER_ONLINE", "-std=c++11", nullptr);
lg(Error, "进程替换错误, errno:%d, strerror:%s\n",errno, strerror(errno));
exit(4);
}
else if (id > 0)
{
// parent
waitpid(id, nullptr, 0);
if (ns_util::fileUtil::isFileExist(ns_util::pathUtil::exe(file_name)))
{
lg(Info, "%s 文件编译成功!\n", ns_util::pathUtil::src(file_name).c_str());
return true;
}
lg(Error, "%s 文件编译失败!\n", ns_util::pathUtil::src(file_name).c_str());
return false;
}
else
{
// 意料之外的情况
lg(Debug, "compile创建子进程出现意料之外的情况\n");
exit(5);
}
}
};
}

@ -0,0 +1,207 @@
#pragma once
#include <sys/resource.h>
#include <jsoncpp/json/json.h>
#include "./comm/util.hpp"
#include "compile.hpp"
#include "Runner.hpp"
namespace ns_compile_run
{
// 协调程序的编译和运行
enum STATUS
{
EmptyCodeError = -2,
CompileFailError
};
class Compile_Run
{
public:
Compile_Run()
{
}
~Compile_Run()
{
}
// in_json中包含:
// 1、code用户提交的代码
// 2、input用户给自己提交的代码所做的输入不做处理
// 3、cpu_limitCPU运行时间限制
// 4、mem_limit内存限制即空间限制
static void start(const std::string &in_json, std::string *out_json)
{
// 程序状态
int status = 0;
// 1.把输入的in_json反序列化
Json::Value in_value;
Json::Reader reader;
reader.parse(in_json, in_value);
std::string code = in_value["code"].asString();
// std::cout << "输出code代码: " << std::endl;
// std::cout<<code<<std::endl;
// 代码为空的情况,直接处理结果
if (code.size() == 0)
{
status = EmptyCodeError;
getOutJson(status, out_json, "");
return;
}
std::string input = in_value["input"].asString();
rlim_t cpu_limit = in_value["cpu_limit"].asInt64();
rlim_t mem_limit = in_value["mem_limit"].asInt64();
// 2.生成一个随机且唯一的文件名
std::string file_name = ns_util::nameUtil::getUniqueName();
// 3.把code导入文件中
if (!ns_util::fileUtil::writeFile(ns_util::pathUtil::src(file_name), code))
{
lg(Error, "写入源文件失败, errno: %d, strerror: %s\n", errno, strerror(errno));
exit(2);
}
// 4.编译代码
ns_compile::Compiler compiler;
// 代码编译失败
if (!compiler.compile(file_name))
{
status = CompileFailError;
getOutJson(status, out_json, file_name);
return;
}
// 5.运行代码
// ns_run::Runner runner;
status = ns_run::Runner::run(file_name, cpu_limit, mem_limit);
// std::cout<<status<<std::endl;
getOutJson(status, out_json, file_name);
}
//
// out_json中包含
// 1、status状态码
// 2、reason请求结果
// (选填):
// 3、stdout用户程序运行完毕后的结果
// 4、stderr用户程序如果运行出错的错误结果
//
static void getOutJson(int code, std::string *out_json, const std::string &file_name)
{
Json::Value out_value;
// std::cout<<"getOutJson的code:"<<std::endl;
out_value["status"] = code;
out_value["reason"] = codeToDesc(code, file_name);
if (code == 0)
{
// 程序执行完成
std::string stdout_file_name = ns_util::pathUtil::Stdout(file_name);
std::string stderr_file_name = ns_util::pathUtil::Stderr(file_name);
std::string stdout_file;
std::string stderr_file;
// 将来要给用户看的,所以要换行符
ns_util::fileUtil::readFile(stdout_file_name, &stdout_file, true);
ns_util::fileUtil::readFile(stderr_file_name, &stderr_file, true);
out_value["stdout"] = stdout_file;
out_value["stderr"] = stderr_file;
}
// 调试用StyledWriter正式项目用FastWriter
Json::StyledWriter writer;
*out_json = writer.write(out_value);
removeTempFile(file_name);
}
static std::string codeToDesc(int code, const std::string &file_name)
{
switch (code)
{
case 0:
return "Successful!";
case EmptyCodeError:
return "Empty code!";
case CompileFailError:
{
// 编译出错需要知道出错的报错,而报错存再.compile_error文件中
std::string compile_error_file_name = ns_util::pathUtil::compilerError(file_name);
std::string compile_error_file;
// 报错是要给用户看的,所以也需要加换行符
ns_util::fileUtil::readFile(compile_error_file_name, &compile_error_file, true);
return compile_error_file;
}
case SIGABRT: // 6
return "Memory out of range!";
case SIGFPE: // 8
return "Floating overflow!";
case SIGXCPU: // 24
return "CPU timeout!";
case SIGSEGV: // 11
return "Segmentation Fault!";
default:
{
return "Unknown error, status code: " + std::to_string(code);
}
}
}
static void removeTempFile(const std::string &file_name)
{
// 要清除的有.cpp .exe .compile_error .stdin .stdout .stderr
// 可以使用unlink 或 remove系统调用来删除文件
std::string src = ns_util::pathUtil::src(file_name);
if (ns_util::fileUtil::isFileExist(src))
{
unlink(src.c_str());
}
std::string exe = ns_util::pathUtil::exe(file_name);
if (ns_util::fileUtil::isFileExist(exe))
{
unlink(exe.c_str());
}
std::string compile_error = ns_util::pathUtil::compilerError(file_name);
if (ns_util::fileUtil::isFileExist(compile_error))
{
unlink(compile_error.c_str());
}
std::string Stdin = ns_util::pathUtil::Stdin(file_name);
if (ns_util::fileUtil::isFileExist(Stdin))
{
unlink(Stdin.c_str());
}
std::string Stdout = ns_util::pathUtil::Stdout(file_name);
if (ns_util::fileUtil::isFileExist(Stdout))
{
unlink(Stdout.c_str());
}
std::string Stderr = ns_util::pathUtil::Stderr(file_name);
if (ns_util::fileUtil::isFileExist(Stderr))
{
unlink(Stderr.c_str());
}
}
};
}

@ -0,0 +1,62 @@
#include "compile_run.hpp"
#include "./comm/httplib.h"
const std::string http_pattern = "/compile_and_run";
void Usage(const std::string &proc)
{
std::cout << std::endl;
std::cout << "Usage: " << proc << " [port]" << std::endl;
std::cout << std::endl;
}
int main(int argc, char *argv[])
{
if (argc < 2)
{
Usage(argv[0]);
exit(1);
}
if (argc == 3)
{
std::string option(argv[2]);
if (option == "-d")
{
// 1、守护进程化
if (daemon(1, 0) == -1)
{
perror("compile_server 守护进程化失败!\n");
exit(2);
}
}
}
uint32_t port = atoi(argv[1]);
// ns_compile_run::Compile_Run compile_run;
httplib::Server svr;
svr.Post(http_pattern.c_str(), [](const httplib::Request &req, httplib::Response &res)
{
// std::cout << "收到post请求" << std::endl;
lg(Info, "收到请求...\n");
std::string in_json = req.body;
std::string out_json;
if (!in_json.empty())
{
// std::cout << "调用start" << std::endl;
ns_compile_run::Compile_Run::start(in_json, &out_json);
// application/json;charset=utf-8设置的是响应的正文段的类型
// 这决定了浏览器该怎样读取并且展示响应的正文段的内容
res.set_content(out_json, "application/json;charset=utf-8");
} });
lg(Info, "编译服务启动成功\n");
svr.listen("0.0.0.0", port);
return 0;
}

@ -0,0 +1,6 @@
compile_server:compile_server.cc
g++ -o $@ $^ -std=c++11 -ljsoncpp
.PHONY:clean
clean:
rm -rf compile_server

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save