You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__MyProblem__index.async.js

2241 lines
110 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[6270],{
/***/ 43275:
/*!****************************************!*\
!*** ./src/components/Hooks/index.tsx ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ y: function() { return /* binding */ useDisableAction; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
const useDisableAction = (disable) => {
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (disable) {
const handleKeyDown = (event) => {
if (event.key === "F12") {
event.preventDefault();
console.log("F12\u88AB\u7981\u7528");
}
};
const handleContextmenu = (event) => {
event.preventDefault();
};
document.addEventListener("keydown", handleKeyDown);
document.addEventListener("contextmenu", handleContextmenu);
return () => {
document.removeEventListener("keydown", handleKeyDown);
document.removeEventListener("contextmenu", handleContextmenu);
};
}
}, [disable]);
};
/***/ }),
/***/ 74198:
/*!*******************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx ***!
\*******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 31797);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 78241);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 43418);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 86383);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd */ 20008);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 95237);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 43604);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 3113);
/* harmony import */ var _service_exercise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/service/exercise */ 53669);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moment */ 9498);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! umi */ 23852);
/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/util */ 75798);
/* harmony import */ var _components_Exercise_ip__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Exercise/ip */ 40974);
/* harmony import */ var _utils_authority__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/authority */ 77883);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const { Countdown } = antd__WEBPACK_IMPORTED_MODULE_7__["default"];
const Unlock = ({ exercise, successCb, dispatch }) => {
var _a, _b, _c, _d;
const params = (0,umi__WEBPACK_IMPORTED_MODULE_3__.useParams)();
const [form] = antd__WEBPACK_IMPORTED_MODULE_8__["default"].useForm();
const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
const localIpRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
const { actionTabs } = exercise;
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
if (exercise.actionTabs.key === "student-unlock") {
setIsLoading(false);
form.resetFields();
}
}, [exercise.actionTabs.key]);
const getLocalIp = () => {
return new Promise((resolve) => __async(void 0, null, function* () {
var _a2, _b2, _c2;
localIpRef.current = yield (0,_components_Exercise_ip__WEBPACK_IMPORTED_MODULE_5__/* .findLocalIp */ .y)({ ip_limit: (_a2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _a2.ip_limit, ip_bind: (_b2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _b2.ip_bind, ip_bind_type: (_c2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _c2.ip_bind_type });
return resolve();
}));
};
const handleOk = () => __async(void 0, null, function* () {
var _a2, _b2, _c2, _d2, _e, _f, _g;
yield form.validateFields();
const formValue = form.getFieldsValue();
setIsLoading(true);
if (((_a2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _a2.ip_limit) !== "no" || ((_b2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _b2.ip_bind))
yield getLocalIp();
const unlockRes = yield (0,_service_exercise__WEBPACK_IMPORTED_MODULE_1__/* .unlockUser */ .ZD)((_c2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _c2.id, { exercise_user_id: (_d2 = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _d2.exercise_user_id, unlock_key: formValue.unlock_key, ip: localIpRef.current });
if (unlockRes.status === 0) {
if (successCb) {
dispatch({
type: "exercise/setActionTabs",
payload: {}
});
successCb();
return;
}
if (formValue.time) {
const delayedParams = {
time: moment__WEBPACK_IMPORTED_MODULE_2___default()(formValue.time).format("YYYY-MM-DD HH:mm"),
exercise_user_id: (_e = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _e.exercise_user_id,
id: (_f = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _f.id
};
yield (0,_service_exercise__WEBPACK_IMPORTED_MODULE_1__/* .delayedTime */ .qz)(delayedParams);
}
const v = actionTabs == null ? void 0 : actionTabs.exerciseParams;
(0,_utils_util__WEBPACK_IMPORTED_MODULE_4__/* .startExercise */ .nr)({
inner_ip: v.inner_ip,
public_ip: v.public_ip,
open_camera: v.open_camera,
ip_limit: v.ip_limit,
ip_bind: v.ip_bind,
ip_bind_type: v.ip_bind_type,
exercise_tips: v.exercise_tips,
exerciseId: v.id,
screen_open: v.screen_open,
screen_num: v.screen_num,
screen_sec: v.screen_sec,
coursesId: params.coursesId,
login: (_g = (0,_utils_authority__WEBPACK_IMPORTED_MODULE_6__/* .userInfo */ .eY)()) == null ? void 0 : _g.login,
history,
identity_verify: v.identity_verify,
open_phone_video_recording: v.open_phone_video_recording,
current_status: v.current_status
});
dispatch({
type: "exercise/setActionTabs",
payload: {}
});
}
setIsLoading(false);
});
const columns = [
{
title: "IP\u5730\u5740",
dataIndex: "ip",
key: "ip",
render: (text) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: text.indexOf("\u5F02\u5E38") > -1 ? "c-red" : "c-green" }, text)
},
{
title: "\u6D4F\u89C8\u5668",
dataIndex: "browser",
key: "browser",
render: (text) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: text.indexOf("\u5F02\u5E38") > -1 ? "c-red" : "c-green" }, text)
},
{
title: "\u4E0A\u6B21\u767B\u5F55\u65F6\u95F4",
dataIndex: "last_login_time",
key: "last_login_time"
}
];
const hasError5 = ((_a = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _a.errorMessage) && typeof ((_b = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _b.errorMessage) === "object";
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
antd__WEBPACK_IMPORTED_MODULE_9__["default"],
{
width: 514,
centered: true,
closable: !!((_c = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _c.unlockClose),
maskClosable: false,
keyboard: false,
maskStyle: { background: "#000" },
title: "\u63D0\u793A",
open: exercise.actionTabs.key === "student-unlock",
footer: null,
onCancel: () => {
dispatch({
type: "exercise/setActionTabs",
payload: {}
});
}
},
hasError5 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { marginBottom: 16 } }, "\u8BE5\u8D26\u53F7\u5DF2\u7ECF\u5B58\u5728\u5F02\u5E38\u60C5\u51B5\uFF0C\u82E5\u975E\u672C\u4EBA\u64CD\u4F5C\uFF0C\u8BF7\u8054\u7CFB\u76D1\u8003\u8001\u5E08\u8BF4\u660E\u60C5\u51B5\u3002 "),
!hasError5 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { marginBottom: 16 } }, "\u7CFB\u7EDF\u68C0\u6D4B\u5230\u60A8\u5728\u8003\u8BD5\u65F6\u4E2D\u9014\u9000\u51FA\uFF0C\u73B0\u5DF2\u5C06\u8003\u8BD5\u9501\u5B9A\u3002\u5982\u9700\u7EE7\u7EED\u8FDB\u884C\u8003\u8BD5\uFF0C \u8BF7\u5C3D\u5FEB\u8054\u7CFB\u8BFE\u5802\u8001\u5E08\u8FDB\u884C\u89E3\u9501\uFF01"),
hasError5 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_10__["default"], { className: "mb20", pagination: { hideOnSinglePage: true }, dataSource: [((_d = actionTabs == null ? void 0 : actionTabs.exerciseParams) == null ? void 0 : _d.errorMessage) || {}], columns }),
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
antd__WEBPACK_IMPORTED_MODULE_8__["default"],
{
form,
layout: "vertical",
autoComplete: "off"
},
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_8__["default"].Item, { label: "\u8003\u8BD5\u89E3\u9501\u7801", name: "unlock_key", rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u8003\u8BD5\u89E3\u9501\u7801" }] }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_11__["default"].Password, { autoComplete: "off", placeholder: "\u8BF7\u8F93\u5165\u8003\u8BD5\u89E3\u9501\u7801", visibilityToggle: false }))
)),
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, { justify: "space-between", align: "middle" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, null), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, { loading: isLoading, onClick: handleOk }, "\u8FDB\u5165\u8003\u8BD5")))
));
};
/* harmony default export */ __webpack_exports__.Z = ((0,umi__WEBPACK_IMPORTED_MODULE_3__.connect)(
({ exercise }) => ({
exercise
})
)(Unlock));
/***/ }),
/***/ 43195:
/*!****************************************************!*\
!*** ./src/pages/MyProblem/index.tsx + 14 modules ***!
\****************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ MyProblem; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/FormOutlined.js + 1 modules
var FormOutlined = __webpack_require__(23333);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
var PoweroffOutlined = __webpack_require__(23742);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(23852);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
var statistic = __webpack_require__(31797);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./src/pages/MyProblem/service.ts
var service = __webpack_require__(29128);
// EXTERNAL MODULE: ./src/service/exercise.ts
var exercise = __webpack_require__(53669);
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(91676);
// EXTERNAL MODULE: ./src/components/SplitContainer/index.tsx + 1 modules
var SplitContainer = __webpack_require__(70225);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(19351);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
var ExclamationCircleOutlined = __webpack_require__(6246);
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules
var CodePanel = __webpack_require__(48458);
// EXTERNAL MODULE: ./src/pages/tasks/code-repository/action-bar/notice.gif
var notice = __webpack_require__(60141);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/index.less?modules
var OjFormmodules = __webpack_require__(654);
;// CONCATENATED MODULE: ./src/pages/MyProblem/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules
var TestCasePanel = __webpack_require__(43459);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var LeftPanelmodules = ({"flex_box_center":"flex_box_center___rM3g8","flex_space_between":"flex_space_between___Oc7SE","flex_box_vertical_center":"flex_box_vertical_center___MnmYE","flex_box_center_end":"flex_box_center_end___QQh83","flex_box_column":"flex_box_column___ZRFbL","left-panel":"left-panel___SKGyd","tab-panel-body":"tab-panel-body___gABdv","b1":"b1___QpbmK","oj-width-input":"oj-width-input___eJQWT","oj-mr":"oj-mr___AxILO","s-navs":"s-navs___FXwOi","bg-white":"bg-white___kbZ6r","active":"active___QGOnZ","list":"list___PXTsq","btns":"btns___F8yZK","drawer":"drawer___xdGaT"});
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/SubmitList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var SubmitListmodules = ({"pagination":"pagination___yDAjZ","info":"info___ATmsa","wrap":"wrap____KX19"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(86383);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(36697);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
var LoadingOutlined = __webpack_require__(45161);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/CopyOutlined.js + 1 modules
var CopyOutlined = __webpack_require__(29117);
// EXTERNAL MODULE: ./src/pages/MyProblem/interface.ts
var MyProblem_interface = __webpack_require__(54590);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(75798);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
var PreviewAll = __webpack_require__(95391);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var utils_fetch = __webpack_require__(64841);
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
var xterm = __webpack_require__(34376);
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(9498);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/SubmitList/index.tsx
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const { Column } = table["default"];
/* harmony default export */ var SubmitList = (({
submitResult,
submitting,
submitRecords,
page,
onPageChange,
topicId
}) => {
const {
status,
id,
input,
output,
expected_output,
is_file,
input_file_url,
output_file_url,
expected_output_file_url,
error_msg
} = submitResult || {};
const outputRef = (0,_react_17_0_2_react.useRef)();
const inputRef = (0,_react_17_0_2_react.useRef)();
const openTerm = (0,_react_17_0_2_react.useRef)(false);
const errormsgRef = (0,_react_17_0_2_react.useRef)();
const expectedOutputRef = (0,_react_17_0_2_react.useRef)();
const term = (0,_react_17_0_2_react.useRef)(new xterm.Terminal({
fontSize: 14,
letterSpacing: 0,
cols: Math.floor(window.innerWidth * 0.4 / 9),
rows: 6
}));
const term2 = (0,_react_17_0_2_react.useRef)(new xterm.Terminal({
fontSize: 14,
letterSpacing: 0,
cols: Math.floor(window.innerWidth * 0.4 / 9),
rows: 6
}));
const term3 = (0,_react_17_0_2_react.useRef)(new xterm.Terminal({
fontSize: 14,
letterSpacing: 0,
cols: Math.floor(window.innerWidth * 0.4 / 9),
rows: 6
}));
const term4 = (0,_react_17_0_2_react.useRef)(new xterm.Terminal({
fontSize: 14,
letterSpacing: 0,
cols: Math.floor(window.innerWidth * 0.4 / 9),
rows: 6
}));
const ulRef = (0,_react_17_0_2_react.useRef)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const { records, records_count } = submitRecords || {};
const [data, setData] = (0,_react_17_0_2_react.useState)("");
const [monacoValue, setMonacoValue] = (0,_react_17_0_2_react.useState)("");
const location = (0,_umi_production_exports.useLocation)();
const isProgram = searchParams.get("type") === "1";
function onCopy() {
if (!is_file) {
navigator.clipboard.writeText(base64.Base64.decode(output)).then(() => {
message/* default */.ZP.success("\u590D\u5236\u9519\u8BEF\u4FE1\u606F\u6210\u529F");
});
} else {
navigator.clipboard.writeText(base64.Base64.decode(error_msg)).then(() => {
message/* default */.ZP.success("\u590D\u5236\u9519\u8BEF\u4FE1\u606F\u6210\u529F");
});
}
}
(0,_react_17_0_2_react.useEffect)(() => {
if (output && !is_file && status !== MyProblem_interface/* ExecuteStatus */.h.OK && id && outputRef.current) {
if (!openTerm.current)
term.current.open(outputRef.current);
const actual_output_format = (0,util/* findEndWhitespace */.pp)(base64.Base64.decode(output));
term.current.reset();
term.current.write(actual_output_format);
setTimeout(() => {
openTerm.current = true;
}, 100);
window.terms = term;
window.outputs = base64.Base64.decode(output);
term.current.setOption("theme", {
background: "#fafafa",
foreground: "#333"
});
}
if (input && !is_file && status !== MyProblem_interface/* ExecuteStatus */.h.OK && id && inputRef.current) {
if (!openTerm.current)
term2.current.open(inputRef.current);
term2.current.reset();
term2.current.write((0,util/* findEndWhitespace */.pp)(input));
term2.current.setOption("theme", {
background: "#fafafa",
foreground: "#333"
});
}
if (expected_output && !is_file && status !== MyProblem_interface/* ExecuteStatus */.h.OK && id) {
if (!openTerm.current)
term3.current.open(expectedOutputRef.current);
term3.current.reset();
term3.current.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(expected_output)));
term3.current.setOption("theme", {
background: "#fafafa",
selection: "#fff",
foreground: "#333"
});
}
if (errormsgRef.current) {
if (!openTerm.current)
term4.current.open(errormsgRef.current);
term4.current.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(error_msg)));
term4.current.reset();
term4.current.setOption("theme", {
background: "#fafafa",
selection: "#fff",
foreground: "#333"
});
}
}, [output, error_msg, expected_output, input]);
return /* @__PURE__ */ _react_17_0_2_react.createElement(
spin/* default */.Z,
{
spinning: submitting,
tip: "\u8BC4\u6D4B\u4E2D...",
indicator: /* @__PURE__ */ _react_17_0_2_react.createElement(LoadingOutlined/* default */.Z, { style: { fontSize: 24 }, spin: true })
},
id ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: SubmitListmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("ul", { ref: ulRef, className: SubmitListmodules.info }, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, "\u6267\u884C\u7ED3\u679C\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(
"span",
{
className: status === MyProblem_interface/* ExecuteStatus */.h.OK ? "c-green" : "c-red"
},
TestCasePanel/* ExecuteDict */.Im[status]
)), /* @__PURE__ */ _react_17_0_2_react.createElement("li", { className: SubmitListmodules.error }, /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onCopy }, "\u590D\u5236\u9519\u8BEF\u4FE1\u606F ", /* @__PURE__ */ _react_17_0_2_react.createElement(CopyOutlined/* default */.Z, null), " ")), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { to: `/myproblems/${topicId}/record-detail/${id}` }, "\u663E\u793A\u8BE6\u60C5 >", " "))), status !== MyProblem_interface/* ExecuteStatus */.h.OK ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "c-red" }, "\u5B9E\u9645\u8F93\u5165\uFF1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("pre", null, !is_file && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: inputRef }), is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
style: { fontSize: "16px" },
onClick: () => __async(void 0, null, function* () {
const res = yield fetch(input_file_url, {
method: "Get",
headers: {
"Content-Type": "application/octet-stream",
"Accept": "*/*"
}
});
setMonacoValue(yield res.text());
setTimeout(() => {
setData(input_file_url);
}, 200);
})
},
input
)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "c-red" }, "\u5B9E\u9645\u8F93\u51FA\uFF1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("pre", null, (status === 4 || status === 5) && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: errormsgRef }), status != 4 && status != 5 && (is_file ? /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
style: { fontSize: "16px" },
onClick: () => __async(void 0, null, function* () {
const res = yield (0,utils_fetch/* default */.ZP)(output_file_url, {
method: "Get",
headers: {
"Content-Type": "application/xml",
"Accept": "*/*"
}
});
try {
setMonacoValue(res);
} catch (e) {
setMonacoValue("");
}
setTimeout(() => {
setData(output_file_url);
}, 200);
})
},
output
) : /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: outputRef }))), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "c-red" }, "\u9884\u671F\u8F93\u51FA\uFF1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("pre", null, !is_file && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: expectedOutputRef }), is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
style: { fontSize: "16px" },
onClick: () => __async(void 0, null, function* () {
const res = yield fetch(expected_output_file_url, {
method: "Get",
headers: {
"Content-Type": "application/octet-stream",
"Accept": "*/*"
}
});
setMonacoValue(yield res.text());
setTimeout(() => {
setData(expected_output_file_url);
}, 200);
})
},
expected_output
))) : null) : null,
(records == null ? void 0 : records.length) > 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement(table["default"], { dataSource: records, rowKey: "id", pagination: false }, /* @__PURE__ */ _react_17_0_2_react.createElement(
Column,
{
title: "\u63D0\u4EA4\u65F6\u95F4",
dataIndex: "created_at",
key: "created_at",
render: (text, record) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, " ", dayjs_min_default()(text).format("YYYY-MM-DD HH:mm:ss"))
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
Column,
{
title: "\u63D0\u4EA4\u7ED3\u679C",
dataIndex: "status",
key: "status",
render: (text, record) => {
var _a;
return /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
className: text === 0 ? "c-green" : "c-red",
to: `/myproblems/${topicId}/record-detail/${record.id}`
},
(_a = TestCasePanel/* ExecuteDict */.Im[text]) == null ? void 0 : _a.replace("\u8C03\u8BD5", "\u8BC4\u6D4B")
);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
Column,
{
title: `\u6267\u884C\u7528\u65F6 (${isProgram ? "MS" : "S"})`,
dataIndex: "execute_time",
key: "execute_time",
render: (e) => e ? isProgram ? e : e / 1e3 : ""
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
Column,
{
title: `\u5185\u5B58\u6D88\u8017\uFF08${isProgram ? "KB" : "MB"}\uFF09`,
dataIndex: "execute_memory",
key: "execute_memory",
render: (e) => e ? isProgram ? e : parseFloat((e / 1024).toFixed(2)) : ""
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(Column, { title: "\u8BED\u8A00", dataIndex: "language", key: "language" }), /* @__PURE__ */ _react_17_0_2_react.createElement(
Column,
{
title: "\u64CD\u4F5C",
dataIndex: "status",
key: "status",
render: (text, record) => /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
className: "c-light-primary",
to: `/myproblems/${topicId}/record-detail/${record.id}`
},
"\u67E5\u770B"
)
}
)) : /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { height: 300, width: "100%" } }),
records_count > 15 ? /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
className: SubmitListmodules.pagination,
current: page,
pageSize: 15,
total: records_count,
onChange: onPageChange
}
) : null,
/* @__PURE__ */ _react_17_0_2_react.createElement(
PreviewAll/* default */.Z,
{
close: true,
data,
type: !!data.length ? "txt" : "",
onClose: () => setData(""),
monacoEditor: {
value: monacoValue,
language: "txt",
onChange: () => {
},
options: {
fontSize: 14,
readOnly: true,
minimap: {
enabled: false
}
}
}
}
)
);
});
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(46948);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tag/index.js + 5 modules
var tag = __webpack_require__(12563);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules
var space = __webpack_require__(81327);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Description/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Descriptionmodules = ({"desc":"desc___iOAgd","info":"info___GPALq","commit-info":"commit-info___Hk6Za"});
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(92936);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Description/index.tsx
const DifficultDesc = {
1: {
name: "\u7B80\u5355",
color: "#52c41a"
},
2: {
name: "\u4E2D\u7B49",
color: "#faad14"
},
3: {
name: "\u56F0\u96BE",
color: "#f5222d"
}
};
/* harmony default export */ var Description = (({ hack, onTriggerPraise, toDiscuss }) => {
const { language, difficult, time_limit, username, user_path, user_praise, comments_count, praises_count, description, pass_count, submit_count } = hack;
const location = (0,_umi_production_exports.useLocation)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const diffItem = DifficultDesc[difficult];
console.log("----description", hack);
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("ul", { className: Descriptionmodules.info }, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, "\u7F16\u7A0B\u8BED\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, language)), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, "\u96BE\u5EA6\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(tag["default"], { color: diffItem.color }, diffItem.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, "\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, time_limit, "\u79D2"))), searchParams.get("qtype") === "8" ? /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { value: description, showProgramFill: true, className: Descriptionmodules.desc }) : /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { value: description, className: Descriptionmodules.desc }), /* @__PURE__ */ _react_17_0_2_react.createElement("ul", { className: Descriptionmodules["commit-info"] }, searchParams.get("type") === "1" || searchParams.get("type") === "exercises" ? "" : /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(space/* default */.Z, { size: 4 }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u901A\u8FC7\u6B21\u6570"), " ", /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, pass_count))), searchParams.get("type") === "1" || searchParams.get("type") === "exercises" ? "" : /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(space/* default */.Z, { size: 4 }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u63D0\u4EA4\u6B21\u6570"), " ", /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, submit_count)), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("li", { style: { flex: "1 0 0" } }), searchParams.get("type") !== "exercises" && /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(space/* default */.Z, { size: 4 }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-huifu1", onClick: toDiscuss }), " ", /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, comments_count)), " ")));
});
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(50993);
// EXTERNAL MODULE: ./src/components/modal.tsx
var components_modal = __webpack_require__(9805);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/service.ts
function getComments(id, page) {
return (0,utils_fetch/* get */.U2)(`/problems/${id}/comments.json`, {
page,
limit: 10
});
}
function plusDiscuss(id) {
return (0,utils_fetch/* post */.v_)(`/discusses/${id}/plus.json`, {
container_type: "Discuss",
type: 1
});
}
function replyDiscuss(identifier, id, value) {
return (0,utils_fetch/* post */.v_)(`/problems/${identifier}/comments/reply.json`, {
comments: {
content: value,
parent_id: id
}
});
}
function createDiscuss(identifier, value) {
return (0,utils_fetch/* post */.v_)(`/problems/${identifier}/comments.json`, {
comments: {
content: value
}
});
}
function hiddenDiscuss(identifier, id, params) {
return (0,utils_fetch/* post */.v_)(`/problems/${identifier}/comments/${id}/hidden.json`, params);
}
function deleteDiscuss(identifier, id) {
return (0,utils_fetch/* del */.IV)(`/problems/${identifier}/comments/${id}`);
}
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/discuss-item/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/discuss-editor/index.tsx + 1 modules
var discuss_editor = __webpack_require__(5695);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/discuss-item/index.tsx
function UserPhoto({ author }) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("a", { href: `/users/${author.login}`, target: "_blank" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
"img",
{
alt: "\u7528\u6237\u5934\u50CF",
height: "50",
style: { borderRadius: "50%" },
src: `${env/* default */.Z.IMG_SERVER}/images/${author.image_url}`,
width: "50"
}
));
}
function SecondLevelDiscuss({
data,
index,
parentDiscussIndex,
user,
onSetActionType
}) {
const { author, can_delete, content, id, time } = data;
function onDeleteDiscuss() {
onSetActionType({
id,
index,
type: "delete-discuss",
parentDiscussIndex,
message: "\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u6761\u56DE\u590D\u5417"
});
}
const canDelete = user.admin || can_delete || author.user_id === user.user_id;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "discuss-item-container second-discuss " }, /* @__PURE__ */ _react_17_0_2_react.createElement(UserPhoto, { author }), /* @__PURE__ */ _react_17_0_2_react.createElement("section", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "discuss-info" }, /* @__PURE__ */ _react_17_0_2_react.createElement("a", { href: `/users/${author.login}`, target: "_blank" }, author.name), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "grey" }, time), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "btn-group", style: { marginBottom: 0 } }, canDelete ? /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onDeleteDiscuss, title: "\u5220\u9664" }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shanchu" })) : null)), /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { className: "discuss-content", value: content })));
}
/* harmony default export */ var discuss_item = (({
user,
data,
index,
onPlusDiscuss,
onSetActionType,
activeDiscussIndex,
onReplyDiscuss,
onSetActiveDiscussIndex
}) => {
const {
content,
children,
hidden,
id,
praise_count,
time,
user_praise,
can_delete,
author
} = data;
function onActiveDiscussIndex() {
onSetActiveDiscussIndex(id);
}
function onPlus() {
onPlusDiscuss(id, !user_praise, index);
}
function onDeleteDiscuss() {
onSetActionType({
id,
index,
type: "delete-discuss",
message: "\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u6761\u56DE\u590D\u5417"
});
}
function onHiddenDiscuss() {
onSetActionType({
id,
index,
params: { hidden: !hidden ? "1" : "0" },
type: "hidden-discuss",
message: !hidden ? "\u786E\u5B9A\u8981\u9690\u85CF\u8BE5\u6761\u56DE\u590D\u5417" : "\u786E\u5B9A\u8981\u53D6\u6D88\u9690\u85CF\u8BE5\u6761\u56DE\u590D\u5417"
});
}
const adminOrOperator = user.admin || user.user_id === author.user_id;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "discuss-item-container", key: id }, /* @__PURE__ */ _react_17_0_2_react.createElement(UserPhoto, { author }), /* @__PURE__ */ _react_17_0_2_react.createElement("section", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "discuss-info" }, /* @__PURE__ */ _react_17_0_2_react.createElement("a", { href: `/users/${author.login}`, target: "_blank" }, " ", author.name, " "), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "grey" }, time)), /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { className: "discuss-content", value: content }), children && children.length > 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "reply-discuss-container" }, children.map((item, i) => /* @__PURE__ */ _react_17_0_2_react.createElement(
SecondLevelDiscuss,
{
key: item.id,
data: item,
index: i,
user,
onSetActionType,
parentDiscussIndex: index
}
))) : null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "btn-group" }, adminOrOperator ? /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onHiddenDiscuss, title: hidden ? "\u53D6\u6D88\u9690\u85CF" : "\u9690\u85CF\u8BC4\u8BBA" }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: hidden ? "iconfont icon-yincangbiyan" : "fa fa-eye" })) : null, can_delete && (!children || children.length == 0) ? /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onDeleteDiscuss, title: "\u5220\u9664" }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shanchu" })) : null, /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onActiveDiscussIndex, title: "\u56DE\u590D" }, " ", /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-huifu1" }), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onPlus, className: user_praise ? "c-orange" : "" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
"i",
{
className: user_praise ? "iconfont icon-dianzan mr3" : "iconfont icon-dianzan-xian mr3 "
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, praise_count ? praise_count : ""))), /* @__PURE__ */ _react_17_0_2_react.createElement(
discuss_editor/* default */.Z,
{
id,
activeDiscussIndex,
onReplyDiscuss
}
)));
});
// EXTERNAL MODULE: ./src/components/image-preview/index.tsx + 1 modules
var image_preview = __webpack_require__(35894);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/discuss-input-editor/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var discuss_input_editormodules = ({"dis-input-editor-container":"dis-input-editor-container___nKGxx","active":"active___tmt7T","input-mask":"input-mask___epEle","text-area":"text-area___Vry8W","tip-container":"tip-container___plpA3","hide":"hide___kPfyC","md-container":"md-container___u85aq","btn-send":"btn-send___deQ5v"});
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
var markdown_editor = __webpack_require__(16393);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/discuss-input-editor/index.tsx
var discuss_input_editor_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
/* harmony default export */ var discuss_input_editor = (({ user_praise, praise_count, praisePlus, onCreateDiscuss, discuss_count }) => {
const [showMd, setShowMd] = (0,_react_17_0_2_react.useState)(false);
const [value, setValue] = (0,_react_17_0_2_react.useState)("");
function onChangeHandler(v) {
setValue(v);
}
function onShowMd() {
setShowMd(true);
}
function onCancel() {
setShowMd(false);
}
function onCommit() {
return discuss_input_editor_async(this, null, function* () {
onCreateDiscuss(value);
setValue("");
setShowMd(false);
});
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${discuss_input_editormodules["dis-input-editor-container"]} ${showMd ? discuss_input_editormodules.active : ""} ` }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: showMd ? `hide ${discuss_input_editormodules["text-area"]}` : discuss_input_editormodules["text-area"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("input", { placeholder: "\u8BF4\u70B9\u4EC0\u4E48", onClick: onShowMd }), /* @__PURE__ */ _react_17_0_2_react.createElement("a", null, " ", /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-huifu1" }), " \xA0 \xA0", discuss_count, " "), /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
className: "c-light-black",
onClick: praisePlus,
title: user_praise ? "\u53D6\u6D88\u70B9\u8D5E" : "\u70B9\u8D5E"
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
"i",
{
className: `mr3 ${user_praise ? "iconfont icon-dianzan c-orange" : "iconfont icon-dianzan-xian"} `
}
),
praise_count ? /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, praise_count) : ""
)), showMd ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: discuss_input_editormodules["input-mask"], onClick: onCancel }) : null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: showMd ? discuss_input_editormodules["md-container"] : `${discuss_input_editormodules["md-container"]} hide` }, /* @__PURE__ */ _react_17_0_2_react.createElement(
markdown_editor/* default */.Z,
{
id: "discuss-input-editor",
miniToolbar: true,
watch: false,
noStorage: true,
defaultValue: value,
height: 240,
onChange: onChangeHandler
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: discuss_input_editormodules["tip-container"], onClick: onCancel }, /* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: discuss_input_editormodules["btn-send"], onClick: onCommit }, " \u53D1\u9001 "))));
});
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/Discuss/index.tsx
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var Discuss_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const initialState = {
loading: false,
page: 1,
data: [],
count: 0,
actionType: null,
activeDiscussIndex: null
};
var Types = /* @__PURE__ */ ((Types2) => {
Types2[Types2["GET_DISCUSSES"] = 0] = "GET_DISCUSSES";
Types2[Types2["TOP_OR_DOWN_DISCUSS"] = 1] = "TOP_OR_DOWN_DISCUSS";
Types2[Types2["ACTIVE_DISCUSS_INDEX"] = 2] = "ACTIVE_DISCUSS_INDEX";
Types2[Types2["PLUS_DISCUSS"] = 3] = "PLUS_DISCUSS";
Types2[Types2["SET_ACTION_TYPE"] = 4] = "SET_ACTION_TYPE";
Types2[Types2["SET_PAGE"] = 5] = "SET_PAGE";
Types2[Types2["SHOW_DISCUSSES_LOADING"] = 6] = "SHOW_DISCUSSES_LOADING";
return Types2;
})(Types || {});
function reducer(state, action) {
switch (action.type) {
case 6 /* SHOW_DISCUSSES_LOADING */:
return __spreadProps(__spreadValues({}, state), { loading: true });
case 0 /* GET_DISCUSSES */:
return __spreadValues(__spreadValues({}, state), action.payload);
case 1 /* TOP_OR_DOWN_DISCUSS */:
return __spreadValues(__spreadValues({}, state), action.payload);
case 4 /* SET_ACTION_TYPE */:
return __spreadValues(__spreadValues({}, state), action.payload);
case 3 /* PLUS_DISCUSS */:
return __spreadValues(__spreadValues({}, state), action.payload);
case 5 /* SET_PAGE */:
return __spreadProps(__spreadValues({}, state), { page: action.payload });
case 2 /* ACTIVE_DISCUSS_INDEX */:
return __spreadValues(__spreadValues({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var Discuss = (({ user, identifier, hack, onTriggerPraise }) => {
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState);
const { loading, page, data, count, actionType, activeDiscussIndex } = state;
const initData = (0,_react_17_0_2_react.useCallback)(() => Discuss_async(void 0, null, function* () {
dispatch({
type: 6 /* SHOW_DISCUSSES_LOADING */
});
const response = yield getComments(identifier, page);
const { comments, disscuss_count } = response;
dispatch({
type: 0 /* GET_DISCUSSES */,
payload: {
data: comments,
count: disscuss_count,
loading: false
}
});
}), [page, identifier]);
(0,_react_17_0_2_react.useEffect)(() => {
initData();
}, [identifier, page]);
function onPaginationChange(value) {
dispatch({
type: 5 /* SET_PAGE */,
payload: value
});
}
function onSetActionType(value) {
dispatch({
type: 4 /* SET_ACTION_TYPE */,
payload: {
actionType: value
}
});
}
function onSetActiveDiscussIndex(value) {
if (activeDiscussIndex === value) {
dispatch({
type: 2 /* ACTIVE_DISCUSS_INDEX */,
payload: {
activeDiscussIndex: null
}
});
} else {
dispatch({
type: 2 /* ACTIVE_DISCUSS_INDEX */,
payload: {
activeDiscussIndex: value
}
});
}
}
function onPlusDiscuss(id, user_praise, index) {
return Discuss_async(this, null, function* () {
try {
const response = yield plusDiscuss(id);
data[index].user_praise = user_praise;
data[index].praise_count = response.praise_count;
dispatch({
type: 3 /* PLUS_DISCUSS */,
payload: {
data: [...data]
}
});
} catch (error) {
console.log(error);
}
});
}
function onProcessAction() {
return Discuss_async(this, null, function* () {
const { id, params, type, index, parentDiscussIndex } = actionType;
if (type === "hidden-discuss") {
yield hiddenDiscuss(identifier, id, params);
if (!parentDiscussIndex) {
data[index].hidden = params.hidden == 1 ? true : false;
} else {
data[parentDiscussIndex].children[index].hidden = params.hidden == 1 ? true : false;
}
dispatch({
type: 4 /* SET_ACTION_TYPE */,
payload: {
actionType: null,
data: [...data]
}
});
}
if (type === "delete-discuss") {
yield deleteDiscuss(identifier, id);
if (parentDiscussIndex || parentDiscussIndex === 0) {
let secondDicusses = data[parentDiscussIndex].children;
for (let i = secondDicusses.length - 1; i >= 0; i--) {
if (secondDicusses[i].id === id) {
secondDicusses.splice(i, 1);
break;
}
}
data[parentDiscussIndex].children = secondDicusses;
} else {
for (let i = data.length - 1; i >= 0; i--) {
if (data[i].id === id) {
data.splice(i, 1);
break;
}
}
}
dispatch({
type: 4 /* SET_ACTION_TYPE */,
payload: {
actionType: null,
data: [...data]
}
});
}
});
}
function onCancelAction() {
dispatch({
type: 4 /* SET_ACTION_TYPE */,
payload: {
actionType: null
}
});
}
function onReplyDiscuss(id, value) {
return Discuss_async(this, null, function* () {
try {
yield replyDiscuss(identifier, id, value);
initData();
} catch (error) {
console.log(error);
}
});
}
function onCreateDiscuss(value) {
return Discuss_async(this, null, function* () {
dispatch({
type: 6 /* SHOW_DISCUSSES_LOADING */
});
yield createDiscuss(identifier, value);
initData();
});
}
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "discuss-panel" }, data.length === 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, null) : data.map((item, index) => /* @__PURE__ */ _react_17_0_2_react.createElement(discuss_item, { onReplyDiscuss, onPlusDiscuss, onSetActiveDiscussIndex, onSetActionType, data: item, index, user, activeDiscussIndex })), count > 10 ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "pagination-container" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
showQuickJumper: true,
onChange: onPaginationChange,
current: page,
total: count
}
)) : null), /* @__PURE__ */ _react_17_0_2_react.createElement(discuss_input_editor, { user_praise: hack.user_praise, praise_count: hack.praises_count, praisePlus: onTriggerPraise, discuss_count: hack.comments_count, onCreateDiscuss }), /* @__PURE__ */ _react_17_0_2_react.createElement(components_modal/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
title: "\u63D0\u793A",
open: !!actionType,
onOk: onProcessAction,
onCancel: onCancelAction
},
/* @__PURE__ */ _react_17_0_2_react.createElement("p", null, actionType ? actionType.message : "")
), /* @__PURE__ */ _react_17_0_2_react.createElement(image_preview/* default */.Z, null)));
});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
var drawer = __webpack_require__(43428);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(20008);
;// CONCATENATED MODULE: ./src/pages/MyProblem/LeftPanel/index.tsx
var LeftPanel_defProp = Object.defineProperty;
var LeftPanel_defProps = Object.defineProperties;
var LeftPanel_getOwnPropDescs = Object.getOwnPropertyDescriptors;
var LeftPanel_getOwnPropSymbols = Object.getOwnPropertySymbols;
var LeftPanel_hasOwnProp = Object.prototype.hasOwnProperty;
var LeftPanel_propIsEnum = Object.prototype.propertyIsEnumerable;
var LeftPanel_defNormalProp = (obj, key, value) => key in obj ? LeftPanel_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var LeftPanel_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (LeftPanel_hasOwnProp.call(b, prop))
LeftPanel_defNormalProp(a, prop, b[prop]);
if (LeftPanel_getOwnPropSymbols)
for (var prop of LeftPanel_getOwnPropSymbols(b)) {
if (LeftPanel_propIsEnum.call(b, prop))
LeftPanel_defNormalProp(a, prop, b[prop]);
}
return a;
};
var LeftPanel_spreadProps = (a, b) => LeftPanel_defProps(a, LeftPanel_getOwnPropDescs(b));
var LeftPanel_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const difficultyMapping = {
1: "\u7B80\u5355",
2: "\u9002\u4E2D",
3: "\u56F0\u96BE"
};
const difficultyMappingcolor = {
1: "#2fa34f",
2: "#0152d9",
3: "#fa6400"
};
/* harmony default export */ var LeftPanel = (({
hack,
onTriggerPraise,
topicId,
page,
onPageChange,
user,
submitRecords,
submitting,
submitResult
}) => {
var _a;
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const [index, setIndex] = (0,_react_17_0_2_react.useState)("0");
const location = (0,_umi_production_exports.useLocation)();
const [isopen, setisopen] = (0,_react_17_0_2_react.useState)(false);
const [datas, setdatas] = (0,_react_17_0_2_react.useState)([]);
let [params, setparams] = (0,_react_17_0_2_react.useState)(LeftPanel_spreadProps(LeftPanel_spreadValues({}, (0,_umi_production_exports.useParams)()), {
page: 1,
per_page: 20,
name: ""
}));
function onTabIndexChange(e) {
let id = e.target.id;
setIndex(id);
}
(0,_react_17_0_2_react.useEffect)(() => {
const unSub = mediator/* default */.Z.subscribe("to-commit-info", () => {
setIndex("1");
});
return unSub;
}, []);
function toDiscuss() {
setIndex("2");
}
function getdatas() {
return LeftPanel_async(this, null, function* () {
let res = yield (0,utils_fetch/* default */.ZP)(`/api/problems/my_hack_list.json`, {
method: "get",
params: LeftPanel_spreadValues({
identifier: params == null ? void 0 : params.id
}, params)
});
setdatas(res);
});
}
console.log(submitRecords, "submitRecords");
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: LeftPanelmodules["left-panel"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("ul", { className: `${LeftPanelmodules["s-navs"]} ${LeftPanelmodules["bg-white"]} ${LeftPanelmodules.b1}` }, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
className: index === "0" ? LeftPanelmodules.active : "",
id: "0",
onClick: onTabIndexChange
},
"\u4EFB\u52A1\u63CF\u8FF0"
)), searchParams.get("qtype") !== "8" && /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
className: index === "1" ? LeftPanelmodules.active : "",
id: "1",
onClick: onTabIndexChange
},
"\u63D0\u4EA4\u8BB0\u5F55"
)), searchParams.get("type") !== "exercises" && /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
className: index === "2" ? LeftPanelmodules.active : "",
id: "2",
onClick: onTabIndexChange
},
"\u8BC4\u8BBA"
))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${LeftPanelmodules["tab-panel-body"]} ${index === "0" ? "" : "hide"}` }, /* @__PURE__ */ _react_17_0_2_react.createElement(
Description,
{
hack,
onTriggerPraise,
toDiscuss
}
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { padding: "0 12px" }, className: `${LeftPanelmodules["tab-panel-body"]} ${index === "1" ? "" : "hide"}` }, !!(submitRecords == null ? void 0 : submitRecords.records_count) || submitting ? /* @__PURE__ */ _react_17_0_2_react.createElement(
SubmitList,
{
page,
onPageChange,
topicId,
submitting,
key: (submitResult == null ? void 0 : submitResult.id) || 1,
submitRecords,
submitResult
}
) : /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, null)), /* @__PURE__ */ _react_17_0_2_react.createElement(
"div",
{
className: `${LeftPanelmodules["tab-panel-body"]} ${index === "2" ? "" : "hide"}`,
style: { padding: 0 }
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
Discuss,
{
user,
identifier: hack.identifier,
hack,
onTriggerPraise
}
)
), /* @__PURE__ */ _react_17_0_2_react.createElement(drawer/* default */.Z, { rootClassName: LeftPanelmodules.drawer, headerStyle: { background: "#000", border: 0 }, closable: false, title: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#fff" } }, "\u9898\u76EE\u5217\u8868"), /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"].Search, { onSearch: (e) => {
params.name = e;
params.page = 1;
setparams(LeftPanel_spreadValues({}, params));
getdatas();
}, style: { width: 180, margin: "0px 20px", marginLeft: "auto" }, placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0\u641C\u7D22" }), /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"], { style: { width: 100 }, placeholder: "\u8BF7\u9009\u62E9\u96BE\u5EA6", onChange: (e) => {
params.page = 1;
params.difficult = e ? e : null;
setparams(LeftPanel_spreadValues({}, params));
getdatas();
} }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 0 }, "\u5168\u90E8"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 1 }, "\u7B80\u5355"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 2 }, "\u9002\u4E2D"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 3 }, "\u56F0\u96BE"))), bodyStyle: { background: "#0f1e31", padding: "20px 0px" }, footerStyle: { background: "#0f1e31", border: 0, textAlign: "center" }, footer: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
current: params.page,
className: "mt10 mb10",
hideOnSinglePage: true,
total: datas == null ? void 0 : datas.count,
pageSize: params.per_page,
onChange: (page2, perpage) => {
params.page = page2;
params.per_page = perpage;
getdatas();
}
}
)), width: 530, placement: "left", onClose: () => setisopen(false), open: isopen }, (_a = datas == null ? void 0 : datas.data) == null ? void 0 : _a.map((item, index2) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => LeftPanel_async(void 0, null, function* () {
let res = yield (0,utils_fetch/* default */.ZP)(`/api/problems/${item == null ? void 0 : item.identifier}/start.json`, {
method: "get",
params: {
hack_user_id: user == null ? void 0 : user.user_id
}
});
if (res) {
_umi_production_exports.history.replace(`/myproblems/${res == null ? void 0 : res.identifier}?type=1`);
window.location.reload();
}
}), className: `${LeftPanelmodules.list} ${(item == null ? void 0 : item.checked) ? LeftPanelmodules.active : ""}` }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, (item == null ? void 0 : item.opened) && (item == null ? void 0 : item.passed) && /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-wancheng1 c-green-29b" }), (item == null ? void 0 : item.opened) && !(item == null ? void 0 : item.passed) && /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-cuowu c-red" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "rgb(186, 196, 205)", fontWeight: 400, fontSize: 14, marginLeft: 10 } }, item.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: difficultyMappingcolor[item.difficult] } }, difficultyMapping[item.difficult]));
})), (hack == null ? void 0 : hack.is_program) && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => {
getdatas();
setisopen(true);
}, className: LeftPanelmodules.btns }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-timuliebiao" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u9898\u76EE\u5217\u8868")));
});
// EXTERNAL MODULE: ./src/assets/images/question/internal.png
var internal = __webpack_require__(62522);
// EXTERNAL MODULE: ./src/components/Exercise/ip.tsx
var Exercise_ip = __webpack_require__(40974);
// EXTERNAL MODULE: ./src/components/Timepiece/index.tsx
var Timepiece = __webpack_require__(73329);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx
var Unlock = __webpack_require__(74198);
// EXTERNAL MODULE: ./src/utils/hooks/useRemindModal.tsx
var useRemindModal = __webpack_require__(52322);
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
var recordScreen = __webpack_require__(26077);
// EXTERNAL MODULE: ./src/components/Hooks/index.tsx
var Hooks = __webpack_require__(43275);
// EXTERNAL MODULE: ./src/assets/images/question/time.svg
var time = __webpack_require__(86210);
// EXTERNAL MODULE: ./src/assets/images/question/title.svg
var title = __webpack_require__(38246);
;// CONCATENATED MODULE: ./src/pages/MyProblem/index.tsx
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
var MyProblem_defProp = Object.defineProperty;
var MyProblem_defProps = Object.defineProperties;
var MyProblem_getOwnPropDescs = Object.getOwnPropertyDescriptors;
var MyProblem_getOwnPropSymbols = Object.getOwnPropertySymbols;
var MyProblem_hasOwnProp = Object.prototype.hasOwnProperty;
var MyProblem_propIsEnum = Object.prototype.propertyIsEnumerable;
var MyProblem_defNormalProp = (obj, key, value) => key in obj ? MyProblem_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var MyProblem_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (MyProblem_hasOwnProp.call(b, prop))
MyProblem_defNormalProp(a, prop, b[prop]);
if (MyProblem_getOwnPropSymbols)
for (var prop of MyProblem_getOwnPropSymbols(b)) {
if (MyProblem_propIsEnum.call(b, prop))
MyProblem_defNormalProp(a, prop, b[prop]);
}
return a;
};
var MyProblem_spreadProps = (a, b) => MyProblem_defProps(a, MyProblem_getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (MyProblem_hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && MyProblem_getOwnPropSymbols)
for (var prop of MyProblem_getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && MyProblem_propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var MyProblem_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const { Countdown } = statistic["default"];
const LanguageSuf = {
"Java": "java",
"C": "c",
"Python": "py",
"C++": "c"
};
var MyProblem_Types = /* @__PURE__ */ ((Types2) => {
Types2[Types2["SET_LOADING"] = 0] = "SET_LOADING";
Types2[Types2["GET_DATA"] = 1] = "GET_DATA";
Types2[Types2["GET_SUBMIT_RECORDS"] = 2] = "GET_SUBMIT_RECORDS";
Types2[Types2["SET_DATA"] = 3] = "SET_DATA";
Types2[Types2["SET_DEBUGING"] = 4] = "SET_DEBUGING";
Types2[Types2["SET_SUBMITING"] = 5] = "SET_SUBMITING";
Types2[Types2["SET_EXECUTE_MESSAGE"] = 6] = "SET_EXECUTE_MESSAGE";
Types2[Types2["SET_EXECUTE_RESULT"] = 7] = "SET_EXECUTE_RESULT";
Types2[Types2["SET_SUBMIT_RESULT"] = 8] = "SET_SUBMIT_RESULT";
Types2[Types2["SET_SHOW_NOTE"] = 9] = "SET_SHOW_NOTE";
Types2[Types2["SET_PAGE"] = 10] = "SET_PAGE";
return Types2;
})(MyProblem_Types || {});
function getTimeStamp() {
return (/* @__PURE__ */ new Date()).getTime();
}
const initalilState = {
loading: true,
data: void 0,
showNote: false,
debugResult: void 0,
submitResult: void 0,
debuging: false,
submitting: false,
submitRecords: void 0,
submitRecordPage: 1,
executingMessage: ""
};
function MyProblem_reducer(state, action) {
switch (action.type) {
case 1 /* GET_DATA */:
return MyProblem_spreadValues(MyProblem_spreadValues({}, state), action.payload);
case 3 /* SET_DATA */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { data: action.payload });
case 0 /* SET_LOADING */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { loading: action.payload });
case 9 /* SET_SHOW_NOTE */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { showNote: action.payload });
case 4 /* SET_DEBUGING */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { debuging: action.payload });
case 5 /* SET_SUBMITING */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { submitting: action.payload });
case 2 /* GET_SUBMIT_RECORDS */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { submitRecords: action.payload });
case 10 /* SET_PAGE */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { submitRecordPage: action.payload });
case 6 /* SET_EXECUTE_MESSAGE */:
return MyProblem_spreadProps(MyProblem_spreadValues({}, state), { executingMessage: action.payload });
case 7 /* SET_EXECUTE_RESULT */:
return MyProblem_spreadValues(MyProblem_spreadValues({}, state), action.payload);
case 8 /* SET_SUBMIT_RESULT */:
return MyProblem_spreadValues(MyProblem_spreadValues({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var MyProblem = (({ children }) => {
var _a, _b, _c, _d, _e;
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(MyProblem_reducer, initalilState);
const { id } = (0,_umi_production_exports.useParams)();
const location = (0,_umi_production_exports.useLocation)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const { loading, data, debugResult, submitResult, submitRecords, submitRecordPage, showNote, debuging, submitting, executingMessage } = state;
const [countDownColor, setCountDownColor] = (0,_react_17_0_2_react.useState)("#37AD83");
const [countDownTime, setCountDownTime] = (0,_react_17_0_2_react.useState)(null);
const [exerciseData, setExerciseData] = (0,_react_17_0_2_react.useState)({});
const [isLoading, setIsLoading] = (0,_react_17_0_2_react.useState)(true);
const [passModalData, setPassModalData] = (0,_react_17_0_2_react.useState)(false);
const timer = (0,_react_17_0_2_react.useRef)(null);
const time_save = (0,_react_17_0_2_react.useRef)(0);
const user = data == null ? void 0 : data.user;
const hack = data == null ? void 0 : data.hack;
const runTypeRef = (0,_react_17_0_2_react.useRef)(1);
const lockExitFullRef = (0,_react_17_0_2_react.useRef)(false);
(0,Hooks/* useDisableAction */.y)(searchParams.get("type") === "exercises");
const clearCountdownTimeout = (0,useRemindModal/* useRemindModal */._)(exerciseData);
(0,_react_17_0_2_react.useEffect)(() => {
function init() {
return MyProblem_async(this, null, function* () {
var _a2, _b2;
setIsLoading(true);
const response = yield (0,service/* getProgrammingTopic */.fu)(id, {
exercise_id: searchParams.get("exercisesId")
});
setTimeout(() => {
setIsLoading(false);
}, 800);
if (response.status === 401) {
} else {
try {
response.hack.code = base64.Base64.decode(response.hack.code);
} catch (e) {
console.log(e);
}
response.hack = MyProblem_spreadProps(MyProblem_spreadValues({}, response.hack), {
is_program: searchParams.get("type") === "1"
});
dispatch({
type: 1 /* GET_DATA */,
payload: {
loading: false,
data: response
}
});
}
if (searchParams.get("type") === "exercises") {
if (window.self === window.top) {
window.top.location.href = "/";
return;
}
let res;
if (searchParams.get("coursesId") == "coursesId") {
res = yield (0,exercise/* startSimulateAnswer */._F)({ categoryId: searchParams.get("exercisesId"), login: searchParams.get("login") });
} else {
res = yield (0,exercise/* getExerciseStartAnswer */._B)({ categoryId: searchParams.get("exercisesId"), login: searchParams.get("login") });
}
setExerciseData(MyProblem_spreadValues({}, res));
if ((res == null ? void 0 : res.left_banner_id) && ((_a2 = res == null ? void 0 : res.exercise) == null ? void 0 : _a2.left_time)) {
setCountDownTime(Date.now() + ((_b2 = res == null ? void 0 : res.exercise) == null ? void 0 : _b2.left_time) * 1e3);
}
}
});
}
if (id) {
init();
}
}, [id]);
(0,_react_17_0_2_react.useEffect)(() => {
var _a2;
if (searchParams.get("type") === "exercises" && ((_a2 = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _a2.screen_open)) {
window.removeEventListener("blur", backExercise, false);
recordScreen/* fullchange */.U.forEach((item, index) => {
window.addEventListener(item, backExercise, false);
});
window.addEventListener("blur", backExercise, false);
window.focus();
}
return () => {
document.removeEventListener((0,fullscreen/* fullscreenChange */.gH)(), backExercise);
};
}, [exerciseData]);
(0,_react_17_0_2_react.useEffect)(() => {
if (id && (hack == null ? void 0 : hack.language)) {
getSubmitRecordsData();
}
}, [id, submitRecordPage, hack == null ? void 0 : hack.language]);
(0,_react_17_0_2_react.useEffect)(() => {
if (hack == null ? void 0 : hack.is_program) {
time_save.current = 0;
timer.current = setInterval(() => {
setTime();
}, 15e3);
}
return () => {
clearInterval(timer.current);
};
}, [hack == null ? void 0 : hack.is_program]);
const setTime = () => MyProblem_async(void 0, null, function* () {
let res = yield (0,utils_fetch/* default */.ZP)(`/api/myproblems/${id}/save_long_time.json`, {
method: "get",
params: {
answer_long_time: time_save.current
}
});
});
const backExercise = () => {
if (!lockExitFullRef.current) {
(0,fullscreen/* exitFull */.BU)();
}
window.parent.postMessage("backExercise", "*");
};
function getSubmitRecordsData() {
return MyProblem_async(this, null, function* () {
try {
const response = yield (0,service/* getSubmitRecords */.zO)(id, { limit: 15, page: submitRecordPage, language: hack == null ? void 0 : hack.language });
dispatch({
type: 2 /* GET_SUBMIT_RECORDS */,
payload: response
});
} catch (error) {
console.log(error);
}
});
}
function onPageChange(value) {
dispatch({ type: 10 /* SET_PAGE */, payload: value });
}
function onUpdateCode(value) {
return MyProblem_async(this, null, function* () {
var _a2, _b2;
let ip;
if (searchParams.get("ip_limit") === "inner" || searchParams.get("ip_bind") === "true") {
ip = yield (0,Exercise_ip/* findLocalIp */.y)({ ip_limit: searchParams.get("ip_limit"), ip_bind: searchParams.get("ip_bind") === "true" ? true : false, ip_bind_type: (_a2 = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _a2.ip_bind_type });
}
const response = yield (0,service/* updateCode */.n4)(id, {
code: base64.Base64.encode(value || hack.code),
language: hack == null ? void 0 : hack.language,
exercise_id: searchParams.get("exercisesId"),
question_id: searchParams.get("questionId"),
ip
});
if (response.status === -5) {
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "exercise/setActionTabs",
payload: {
key: "student-unlock",
exerciseParams: MyProblem_spreadProps(MyProblem_spreadValues({ errorMessage: response == null ? void 0 : response.message }, (exerciseData == null ? void 0 : exerciseData.exercise) || {}), { exercise_user_id: (_b2 = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _b2.exercise_user_id, id: searchParams.get("exercisesId") })
}
});
}
return response;
});
}
function onSubmitCode() {
return MyProblem_async(this, null, function* () {
runTypeRef.current = 2;
if (submitting) {
return;
}
dispatch({
type: 5 /* SET_SUBMITING */,
payload: true
});
try {
mediator/* default */.Z.publish("to-commit-info");
const response = yield onUpdateCode();
console.log(response, 1);
if (response.status === 0) {
let submitCodeParams = {};
if (searchParams.get("type") === "exercises") {
submitCodeParams.extras = {
exercise_id: searchParams.get("exercisesId"),
//试卷id
question_id: searchParams.get("questionId")
//题目id
};
if (searchParams.get("ip_limit") === "inner" || searchParams.get("ip_bind") === "true")
submitCodeParams.extras.ip = yield (0,Exercise_ip/* findLocalIp */.y)({ ip_limit: searchParams.get("ip_limit"), ip_bind: searchParams.get("ip_bind") === "true" ? true : false });
}
const res = yield (0,service/* sumbitCode */.bM)(id, submitCodeParams);
if (res.status === -1) {
window.parent.location.href = `/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/detail`;
return;
}
const { time_limit, test_case_size } = hack;
const startTime = getTimeStamp();
function executeCode() {
return MyProblem_async(this, null, function* () {
const { status, data: data2 } = yield (0,service/* getOperationResult */.rX)(id, "submit");
const executeTime = getTimeStamp();
const isTimeOut = executeTime - startTime > (time_limit * test_case_size + 3) * 1e3;
if (status !== 0 && !isTimeOut) {
setTimeout(executeCode, 1e3);
}
if (isTimeOut) {
modal["default"].error({
centered: true,
okText: "\u77E5\u9053\u5566",
title: "\u8BC4\u6D4B\u4EE3\u7801\u8D85\u65F6"
});
dispatch({
type: 5 /* SET_SUBMITING */,
payload: false
});
return;
}
if (status === 0) {
if (data2.status === 2) {
modal["default"].error({
centered: true,
okText: "\u77E5\u9053\u5566",
title: "\u8BC4\u6D4B\u4EE3\u7801\u8D85\u65F6"
});
}
if ((data2 == null ? void 0 : data2.status) === 0 && searchParams.get("type") === "1") {
setPassModalData(true);
}
const submitResponse = yield (0,service/* getSubmitRecords */.zO)(id, { limit: 15, page: submitRecordPage, language: hack == null ? void 0 : hack.language });
dispatch({
type: 8 /* SET_SUBMIT_RESULT */,
payload: MyProblem_spreadProps(MyProblem_spreadValues({}, state), {
submitResult: data2,
// debugResult: data,
submitting: false,
submitRecords: submitResponse
})
});
}
});
}
executeCode();
} else {
dispatch({
type: 5 /* SET_SUBMITING */,
payload: false
});
}
} catch (error) {
console.log(error);
dispatch({
type: 5 /* SET_SUBMITING */,
payload: false
});
}
});
}
function onDebugCode() {
return MyProblem_async(this, null, function* () {
runTypeRef.current = 1;
state.debuging = true;
dispatch({
type: 4 /* SET_DEBUGING */,
payload: true
});
try {
const response = yield onUpdateCode();
if (response.status === 0) {
const { time_limit } = hack;
let submitCodeParams = { input: encodeURIComponent(data.test_case.input) };
if (searchParams.get("type") === "exercises") {
submitCodeParams.exercise_id = searchParams.get("exercisesId");
}
const res = yield (0,service/* debugCode */.MU)(id, submitCodeParams);
if (res.status === -1) {
window.parent.location.href = `/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/detail`;
return;
}
const startTime = getTimeStamp();
function executeCode() {
return MyProblem_async(this, null, function* () {
const { status, message, data: data2 } = yield (0,service/* getOperationResult */.rX)(id, "debug");
const executeTime = getTimeStamp();
const isTimeOut = executeTime - startTime > (time_limit + 3) * 1e3;
if (status !== 0 && !isTimeOut) {
dispatch({
type: 6 /* SET_EXECUTE_MESSAGE */,
payload: message
});
setTimeout(executeCode, 1e3);
}
if (isTimeOut) {
modal["default"].error({
centered: true,
okText: "\u77E5\u9053\u5566",
content: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
});
dispatch({
type: 4 /* SET_DEBUGING */,
payload: false
});
return;
}
if (status === 0) {
dispatch({
type: 4 /* SET_DEBUGING */,
payload: false
});
if (data2.status === 2) {
modal["default"].error({
centered: true,
okText: "\u77E5\u9053\u5566",
content: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
});
}
if (data2.status === 2) {
modal["default"].error({
centered: true,
okText: "\u77E5\u9053\u5566",
content: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
});
}
dispatch({
type: 7 /* SET_EXECUTE_RESULT */,
payload: MyProblem_spreadProps(MyProblem_spreadValues({}, state), {
debugResult: data2,
debuging: false
})
});
}
});
}
executeCode();
} else {
dispatch({
type: 4 /* SET_DEBUGING */,
payload: false
});
}
} catch (error) {
console.log(error);
} finally {
}
});
}
function onChangeCode(value) {
dispatch({
type: 3 /* SET_DATA */,
payload: MyProblem_spreadProps(MyProblem_spreadValues({}, data), {
hack: MyProblem_spreadProps(MyProblem_spreadValues({}, hack), {
code: value
})
})
});
}
const onChangeLanguage = (v) => MyProblem_async(void 0, null, function* () {
let res = yield (0,utils_fetch/* default */.ZP)(`/api/problems/${hack == null ? void 0 : hack.identifier}/start.json`, {
method: "get",
params: {
language: v === "C++" || v === "c++" ? encodeURIComponent(v) : v,
hack_user_id: user == null ? void 0 : user.user_id
}
});
if (res.status !== -1) {
_umi_production_exports.history.replace(`/myproblems/${res == null ? void 0 : res.identifier}?type=${searchParams.get("type")}`);
}
});
function onChangeInput(e) {
let input = e.target.value;
dispatch({
type: 3 /* SET_DATA */,
payload: MyProblem_spreadProps(MyProblem_spreadValues({}, data), {
test_case: {
input
}
})
});
}
function onResetCode() {
return MyProblem_async(this, null, function* () {
try {
const response = yield (0,service/* resetCode */.H7)(id);
if (response.status === 401) {
} else {
onChangeCode(base64.Base64.decode(response.code));
}
} catch (error) {
console.log(error);
}
});
}
function onSyncCode() {
modal["default"].confirm({
centered: true,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
title: "\u63D0\u793A",
content: /* @__PURE__ */ React.createElement("p", null, "\u521D\u59CB\u4EE3\u7801\u6709\u4FEE\u6539\uFF0C\u66F4\u65B0\u540E\u5C06\u8986\u76D6\u73B0\u6709\u4EE3\u7801\u54E6~ ", /* @__PURE__ */ React.createElement("br", null), "\u8BF7\u5C06\u60A8\u7F16\u8F91\u7684\u4EE3\u7801\u4FDD\u5B58\u81F3\u672C\u5730\uFF0C\u4EE5\u9632\u4E22\u5931"),
onOk() {
return MyProblem_async(this, null, function* () {
const response = yield (0,service/* syncCode */.fi)(id);
if (response.status === 401) {
} else {
onChangeCode(base64.Base64.decode(response.code));
}
});
}
});
}
function onShowNote() {
dispatch({
type: 9 /* SET_SHOW_NOTE */,
payload: true
});
}
function onCancelNote() {
dispatch({
type: 9 /* SET_SHOW_NOTE */,
payload: false
});
}
function onAddNote(values) {
return MyProblem_async(this, null, function* () {
yield (0,service/* addNotes */.MK)(id, values);
dispatch({
type: 1 /* GET_DATA */,
payload: {
showNote: false,
data: MyProblem_spreadProps(MyProblem_spreadValues({}, data), {
hack: MyProblem_spreadProps(MyProblem_spreadValues({}, hack), {
notes: values.notes
})
})
}
});
});
}
const rightPanelOption = {
hack,
isLoading,
input: (_a = data == null ? void 0 : data.test_case) == null ? void 0 : _a.input,
is_file: (_b = data == null ? void 0 : data.test_case) == null ? void 0 : _b.is_file,
language: hack == null ? void 0 : hack.language,
code: hack == null ? void 0 : hack.code,
title: "main." + LanguageSuf[hack == null ? void 0 : hack.language],
modify_code: hack == null ? void 0 : hack.modify_code,
notes: hack == null ? void 0 : hack.notes,
debugResult,
debuging,
submitting,
executingMessage,
onCancelNote,
onAddNote,
showNote,
user,
onShowNote,
onSubmitCode,
onChangeCode,
onChangeInput,
onDebugCode,
onResetCode,
onSyncCode,
onUpdateCode,
onChangeLanguage
};
function onTriggerPraise() {
return MyProblem_async(this, null, function* () {
const { praise_count } = yield (0,service/* triggerPlus */.vl)(hack.id, { container_type: "Hack", type: 1 });
let rs = MyProblem_spreadProps(MyProblem_spreadValues({}, data), {
hack: MyProblem_spreadProps(MyProblem_spreadValues({}, hack), {
praises_count: praise_count,
user_praise: !hack.user_praise
})
});
dispatch({
type: 3 /* SET_DATA */,
payload: rs
});
});
}
const leftPanelOption = {
topicId: id,
submitResult,
submitRecords,
submitting,
page: submitRecordPage,
onPageChange,
hack,
user: data == null ? void 0 : data.user,
onTriggerPraise
};
console.log(exerciseData);
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(spin/* default */.Z, { spinning: loading, delay: 500 }, !data ? null : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("header", { className: OjFormmodules/* default */.Z.header }, searchParams.get("type") !== "exercises" && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("img", { src: `${env/* default */.Z.IMG_SERVER}/images/${user == null ? void 0 : user.image_url}`, alt: "user", width: 30 }), /* @__PURE__ */ React.createElement("span", null, user == null ? void 0 : user.name)), searchParams.get("type") === "exercises" && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("div", { className: "exercise_user_info" }, "\u59D3\u540D", /* @__PURE__ */ React.createElement("span", { className: "ml10" }, (_c = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _c.user_name)), /* @__PURE__ */ React.createElement("div", { className: "exercise_user_info ml30" }, "\u5B66\u53F7", /* @__PURE__ */ React.createElement("span", { className: "ml10" }, (_d = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _d.student_id))), /* @__PURE__ */ React.createElement("h2", { className: "flex-wrp flex_box_column flex_box_center" }, /* @__PURE__ */ React.createElement("div", null, hack.name), (hack == null ? void 0 : hack.is_program) && /* @__PURE__ */ React.createElement(Timepiece/* default */.Z, { defaultValue: hack == null ? void 0 : hack.answer_long_time, onChange: (v) => {
console.log(v);
time_save.current = v;
}, className: "font12 c-grey-999" })), (user == null ? void 0 : user.hack_manager) ? /* @__PURE__ */ React.createElement(_umi_production_exports.Link, { className: OjFormmodules/* default */.Z.btn_back, to: searchParams.get("type") === "1" ? `/problems/newedit/${hack.identifier}?type=1` : `/problems/newedit/${hack.identifier}`, style: { marginRight: 10 } }, " ", /* @__PURE__ */ React.createElement(FormOutlined/* default */.Z, null), " \u7F16\u8F91") : null, ((_e = exerciseData == null ? void 0 : exerciseData.exercise) == null ? void 0 : _e.left_time) && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", { style: { color: countDownColor, marginRight: 6 }, className: `iconfont icon-daojishi ${OjFormmodules/* default */.Z.djs}` }), /* @__PURE__ */ React.createElement("span", { className: "c-white mr20" }, /* @__PURE__ */ React.createElement(
Countdown,
{
valueStyle: { color: countDownColor, fontSize: 20, fontWeight: 500 },
title: /* @__PURE__ */ React.createElement("span", { style: { color: countDownColor, fontSize: 14, marginRight: 10 }, className: "time" }, "\u5269\u4F59\u7B54\u9898\u65F6\u957F"),
value: countDownTime,
onFinish: () => MyProblem_async(void 0, null, function* () {
const res = yield (0,exercise/* submitExerciseAnswer */.VL)({
categoryId: searchParams.get("exercisesId"),
commit_method: 2
});
if ((res == null ? void 0 : res.status) === 0) {
onUpdateCode();
modal["default"].info({
width: 530,
title: "\u63D0\u793A",
centered: true,
okText: "\u786E\u5B9A",
content: /* @__PURE__ */ React.createElement("div", { className: "tc font16" }, "\u7B54\u9898\u7ED3\u675F\u4E86\uFF0C\u7CFB\u7EDF\u5DF2\u81EA\u52A8\u63D0\u4EA4\u8BD5\u5377", /* @__PURE__ */ React.createElement("br", null), "\u4E0D\u80FD\u518D\u4FEE\u6539\u7B54\u9898"),
onOk: () => MyProblem_async(void 0, null, function* () {
window.parent.location.href = `/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/detail`;
})
});
}
if ((res == null ? void 0 : res.status) === -3) {
const time = parseInt(res == null ? void 0 : res.message);
setCountDownTime(Date.now() + time * 1e3);
}
})
}
))), searchParams.get("type") === "exercises" ? /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { type: "primary", onClick: () => {
onUpdateCode();
modal["default"].confirm({
centered: true,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
icon: null,
title: "\u63D0\u793A",
content: /* @__PURE__ */ React.createElement("div", { style: { color: "#FF0000" } }, "\u8BF7\u786E\u8BA4\u4F60\u7684\u7B54\u9898\u5185\u5BB9\u662F\u5426\u8FDB\u884C\u8BC4\u6D4B\u5E76\u63D0\u4EA4\uFF0C\u672A\u8BC4\u6D4B\u5219\u4F1A\u5BFC\u81F4\u8BE5\u9898\u65E0\u6CD5\u83B7\u5F97\u5206\u6570"),
onOk() {
clearCountdownTimeout();
lockExitFullRef.current = true;
backExercise();
}
});
} }, /* @__PURE__ */ React.createElement("span", { className: "iconfont icon-yiguanbi mr5 font14" }), " \u8FD4\u56DE\u8BD5\u5377") : /* @__PURE__ */ React.createElement("span", { className: OjFormmodules/* default */.Z.btn_back, onClick: () => {
var _a2;
if (searchParams.get("backUrl")) {
_umi_production_exports.history.push(searchParams.get("backUrl"));
} else {
if (searchParams.get("type") === "1") {
let item = (_a2 = localStorage.getItem("program_homework")) == null ? void 0 : _a2.split(",");
_umi_production_exports.history.push(`/classrooms/${item == null ? void 0 : item[0]}/program_homework/${item == null ? void 0 : item[1]}/detail`);
} else {
_umi_production_exports.history.push(`/problemset`);
}
}
} }, " ", /* @__PURE__ */ React.createElement(PoweroffOutlined/* default */.Z, null), "\u9000\u51FA")), /* @__PURE__ */ React.createElement(spin/* default */.Z, { size: "large", spinning: isLoading }, /* @__PURE__ */ React.createElement(SplitContainer/* default */.Z, { className: "my-problems", leftChild: /* @__PURE__ */ React.createElement(LeftPanel, MyProblem_spreadValues({}, leftPanelOption)), rightChild: /* @__PURE__ */ React.createElement(RightPanel, MyProblem_spreadValues({}, rightPanelOption)) }))), /* @__PURE__ */ React.createElement(
modal["default"],
{
centered: true,
closable: false,
width: 680,
footer: null,
open: passModalData,
className: "oj-modal"
},
/* @__PURE__ */ React.createElement("section", { className: "oj-modal-content" }, /* @__PURE__ */ React.createElement("div", { className: "oj-modal-head" }, /* @__PURE__ */ React.createElement("img", { src: internal, alt: "" }), /* @__PURE__ */ React.createElement("i", { onClick: () => setPassModalData(false), className: "iconfont icon-guanbi1" })), /* @__PURE__ */ React.createElement("aside", null, /* @__PURE__ */ React.createElement("img", { className: "mr30", src: title/* default */.Z }), "\u8FD0\u884C\u65F6\u95F4:\xA0", /* @__PURE__ */ React.createElement("span", { style: { color: "#75d6ba", marginRight: 100 } }, submitResult == null ? void 0 : submitResult.execute_time, "ms"), "\u4F18\u4E8E", /* @__PURE__ */ React.createElement("span", { style: { color: "#f3b087", margin: "0 5px" } }, (submitResult == null ? void 0 : submitResult.time_better_than) || 100, "%"), "\u7684\u7528\u6237"), /* @__PURE__ */ React.createElement("aside", { className: "mb50" }, /* @__PURE__ */ React.createElement("img", { src: time/* default */.Z, className: "mr30" }), /* @__PURE__ */ React.createElement("span", { className: "oj-modal-tt" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement("span", null, "\u5360\u7528\u5185\u5B58:\xA0"), /* @__PURE__ */ React.createElement("span", { className: "c-light-primary" }, submitResult == null ? void 0 : submitResult.execute_memory, "kb")), /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement("span", null))), "\u4F18\u4E8E", /* @__PURE__ */ React.createElement("span", { style: { color: "#f3b087", margin: "0 5px" } }, (submitResult == null ? void 0 : submitResult.memory_better_than) || 100, "%"), "\u7684\u7528\u6237"), /* @__PURE__ */ React.createElement("div", { id: "oj-modal-next", onClick: () => MyProblem_async(void 0, null, function* () {
var _a2;
if (submitResult == null ? void 0 : submitResult.next_identifier) {
let res = yield (0,utils_fetch/* default */.ZP)(`/api/problems/${submitResult == null ? void 0 : submitResult.next_identifier}/start.json`, {
method: "get",
params: {
hack_user_id: user == null ? void 0 : user.user_id
}
});
if (res) {
_umi_production_exports.history.replace(`/myproblems/${res == null ? void 0 : res.identifier}?type=1`);
window.location.reload();
}
} else {
let item = (_a2 = localStorage.getItem("program_homework")) == null ? void 0 : _a2.split(",");
_umi_production_exports.history.push(`/classrooms/${item == null ? void 0 : item[0]}/program_homework/${item == null ? void 0 : item[1]}/detail`);
}
}), className: "oj-modal-btn" }, (submitResult == null ? void 0 : submitResult.next_identifier) ? "\u8FDB\u5165\u4E0B\u4E00\u9898" : "\u56DE\u5230\u4F5C\u4E1A\u8BE6\u60C5\u9875"))
)), /* @__PURE__ */ React.createElement(Unlock/* default */.Z, { successCb: () => {
if (runTypeRef.current === 1) {
onDebugCode();
} else {
onSubmitCode();
}
} }));
});
function ActionBar({ title, modify_code, onSyncCode, onShowCodeSetting, onResetCode, hack, onChangeLanguage }) {
var _a;
const opneModal = () => {
modal["default"].confirm({
title: "\u6062\u590D\u521D\u59CB\u4EE3\u7801",
icon: /* @__PURE__ */ React.createElement(ExclamationCircleOutlined/* default */.Z, null),
content: "\u4F60\u5728\u672C\u6587\u4EF6\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\u5C06\u4E22\u5931\uFF0C\u662F\u5426\u786E\u5B9A\u91CD\u65B0\u52A0\u8F7D\u521D\u59CB\u4EE3\u7801\uFF1F",
centered: true,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
onOk: onResetCode
});
};
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const type = searchParams.get("language");
const getLanguage = (type2) => {
if (type2 === "1") {
return "c++";
}
if (type2 === "2") {
return "C++";
}
return type2;
};
(0,_react_17_0_2_react.useEffect)(() => {
if (type) {
onChangeLanguage(getLanguage(type));
}
}, []);
console.log(hack, "hack");
return /* @__PURE__ */ React.createElement("div", { className: "action-bar", style: { paddingLeft: 0 } }, (hack == null ? void 0 : hack.is_program) && /* @__PURE__ */ React.createElement(
es_select["default"],
{
className: "oj-select",
value: hack == null ? void 0 : hack.language,
defaultValue: getLanguage(type),
style: { width: 100 },
placeholder: "\u9009\u62E9\u8BED\u8A00",
onChange: onChangeLanguage
},
(_a = hack == null ? void 0 : hack.all_language) == null ? void 0 : _a.map((e) => {
return /* @__PURE__ */ React.createElement(es_select["default"].Option, { key: e, value: e }, e);
})
), /* @__PURE__ */ React.createElement("span", null), modify_code ? /* @__PURE__ */ React.createElement("a", { title: "\u66F4\u65B0\u901A\u77E5", onClick: onSyncCode }, /* @__PURE__ */ React.createElement("img", { src: notice, alt: "notice", style: { height: 13, transform: "translateY(-2px)" } })) : null, /* @__PURE__ */ React.createElement("a", { title: "\u6062\u590D\u521D\u59CB\u4EE3\u7801", onClick: opneModal }, /* @__PURE__ */ React.createElement("i", { className: "iconfont icon-zhongzhi font-20 " })), /* @__PURE__ */ React.createElement("a", { onClick: onShowCodeSetting }, /* @__PURE__ */ React.createElement("i", { className: "iconfont icon-shezhi" })));
}
function RightPanel(_a) {
var _b = _a, { input, is_file, showNote, onShowNote, notes, onCancelNote, onAddNote, debugResult, language, debuging, submitting, executingMessage, code, onSubmitCode, onDebugCode, onChangeCode, onChangeInput, onUpdateCode, user, isLoading } = _b, actionBarOpation = __objRest(_b, ["input", "is_file", "showNote", "onShowNote", "notes", "onCancelNote", "onAddNote", "debugResult", "language", "debuging", "submitting", "executingMessage", "code", "onSubmitCode", "onDebugCode", "onChangeCode", "onChangeInput", "onUpdateCode", "user", "isLoading"]);
function ActionBarEL(onShowCodeSetting) {
return /* @__PURE__ */ React.createElement(ActionBar, MyProblem_spreadProps(MyProblem_spreadValues({}, actionBarOpation), { onShowCodeSetting }));
}
const testCasePanelOption = MyProblem_spreadValues({
input,
is_file,
debugResult,
debuging,
submitting,
executingMessage,
onDebugCode,
onChangeCode,
onSubmitCode,
onChangeInput,
user
}, actionBarOpation);
return /* @__PURE__ */ React.createElement("div", { className: "right-panel" }, /* @__PURE__ */ React.createElement(CodePanel/* default */.Z, { isLoading, language, value: code, onChange: onChangeCode, onUpdateCode, ActionBarRender: ActionBarEL }), /* @__PURE__ */ React.createElement(TestCasePanel/* default */.ZP, MyProblem_spreadValues({}, testCasePanelOption)));
}
/***/ }),
/***/ 52322:
/*!********************************************!*\
!*** ./src/utils/hooks/useRemindModal.tsx ***!
\********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ _: function() { return /* binding */ useRemindModal; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd */ 43418);
const useRemindModal = (answerData) => {
var _a, _b;
const countDownRefArr = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
const clearCountdownTimeout = () => {
for (const id of countDownRefArr.current) {
clearTimeout(id);
}
countDownRefArr.current = [];
};
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
var _a2, _b2, _c, _d, _e, _f;
clearCountdownTimeout();
if (((_a2 = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _a2.left_time) && ((_c = (_b2 = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _b2.exercise_events) == null ? void 0 : _c.length) > 0) {
for (const eventItem of (_d = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _d.exercise_events) {
if (((_e = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _e.left_time) > (eventItem == null ? void 0 : eventItem.reminder_time) * 60) {
const timeoutId = setTimeout(() => {
antd__WEBPACK_IMPORTED_MODULE_1__["default"].info({
content: `${eventItem == null ? void 0 : eventItem.reminder_content}`,
icon: null,
title: "\u63D0\u793A",
centered: true,
okText: "\u77E5\u9053\u4E86"
});
}, (((_f = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _f.left_time) - (eventItem == null ? void 0 : eventItem.reminder_time) * 60) * 1e3);
countDownRefArr.current.push(timeoutId);
}
}
}
}, [(_a = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _a.left_time, (_b = answerData == null ? void 0 : answerData.exercise) == null ? void 0 : _b.exercise_events]);
return clearCountdownTimeout;
};
/***/ }),
/***/ 60141:
/*!***************************************************************!*\
!*** ./src/pages/tasks/code-repository/action-bar/notice.gif ***!
\***************************************************************/
/***/ (function(module) {
module.exports = "data:image/gif;base64,R0lGODlh6QDIAPf/APrMTf789vrMUPvdi/zfkfi4CvvYef713fnKSfzosP7wyvrSZfjAKPzmqf3wzP767fnHPv7xzf3wzvjFOfe2BP767vi8F/i8GPvagfnGO/jDMv3uxv3svfrNUvzkov724fvWcfzinPvbhPi5DfrTZv734vi6EPzglfnKSP3tw/nJR/3qtv3nrPrRYPjAJf/++/702PvVbvrUbfrUafrQX/rOVvnLTfrWcvi+H/i7Fv7y0P3y0/3wyv3uxPzjoPzglvi/I/vejvvZfPe5D/rTaPrPWvrOVPrKSf3vyPzlpPnNU/nKRvnENfe6E/Ly8v3sv+Xl5frZf9ra2vnIQOjo6Pv7+9jY2PX19d7e3tTU1Ovr6/n5+dzc3O7u7uLi4tDQ0M7Oztvb2/j4+N3d3ezs7NHR0f7+/tXV1fHx8fDw8NLS0uHh4d/f3/jAJvb29vT09M/Pz+/v7/f39+rq6uPj49bW1vr6+uDg4NfX1+Tk5PPz89PT0+np6efn59nZ2e3t7frPWfzmqvnFN/39/fz8/P756/723/vdif3ru/745/zhmObm5vrUav3ps/zim/zdiv757Pzlpvzruvzhmfe3Bve3B/zimvvhmvnCK/jAJ//56v/9+f7z1f702vvciPvXdfnBJ/jFN/jDL/735PvZe/e7Ffzjn/e3CPznq/3twf3ruvi+IPnFNvvdjPzps/3psvrOWP702/rQXfvYevnOWfvUav3quPrWdP302//56/i9G/zejP712/778/nIQv3orfnOV/i3BvnGOv/+/frKR/////3nqv3uw/vYd/3y1frUa/713v3ruPvZevrXd/e2BvnEM//+/P7z1v///f3rufnDMPnHQPe2A/i/JPrIQvnMUP3z2PnLSv/88/e8Gv746P7uxfvUa/vgk/vglPzgk/rNVPvaffnBKf3xz/756vi6D/rSYvrVcPe4C/jENvi7E/789PrPWPnIQfzchv3tv/3svvzquf3qufi9Hfi9Hve4DPnCLvjCL/e1AM3Nzf///yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDJDNDJCNzNGQjY2MTFFREE3MTFEMUFDMEEzQzRDM0MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDJDNDJCNzRGQjY2MTFFREE3MTFEMUFDMEEzQzRDM0MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMkM0MkI3MUZCNjYxMUVEQTcxMUQxQUMwQTNDNEMzQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMkM0MkI3MkZCNjYxMUVEQTcxMUQxQUMwQTNDNEMzQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAUXAP8ALAAAAADpAMgAAAj/AP8JHEiwoMGDCBMqXMiwocOHBbf0sZLlSxY6XSBq3Mixo8ePIEOK3LjFCxh/KFP6G3NlpMuXMGPKnKmRjxqVOP19SUOzp8+fQIMSjGMlp9EveoTG3PJGThWlUKNuvMLGqFV/WdxI/ZjGyheVeLRsHUtWICEocK5evVNWI5SreHi2nfuTzBm1eJ3QXWiHC15/c/YKfukkzF+8XAYfdIPnsD8yiiNzFOPF8V87kgWi2WPZn5zMoBdSudlZLWTJZEr7k2ImtOuhRVWrHSO5j2zAr127wXIbb5bIdHrTzi25CpSTvdWCGTyId+8vxCNruZv875a9YqRU96c3Ol0nfrf//+3e9g3p6lS8ty0p3jF5snHa+8OifqwZKmXkH36/dY7+3/VF1UVs+o1X1iIFLhegUFQVaBl/UK3hYBkLAnUWcg7ut5UdfmQIYIU0aZFFhp1BCJQb+WVoBYgzFUZiaSb6hMaL/rDF4kuU0QgjVKnRmNGNIhUzmo47CkWFjmA8BSRIAxKpWowyVaVjYkt6dIVzThbp0yAE0ihXlRoZh2GWJf4kxldEUgkmRNOReRuUI71B5pdrMoSGYW6+2VMXZP5Y50JiSJhnb3CChGCWp/2Z0H0pDqqnTFgSGZiiCRHlaHWFdtRYlpmueeWl23UKkR1j6ngdpQZVkUepoMomqkNXkP+pBqoHtdlqqC716KQftBbk4q3ivbrQW1mu0etAgQIrn7AJjUFmesea0UejyuIKEnVOxnHsP01WuyxIZMIhxrGfeqsfswV1SeOHqKpqroPoDpRHllIcK+K78HaURpZsKHVFF1RAIfDABBds8MEIH4wnvgXG+0+kL/bBoKAMV+wqR3o46edPVKRl8cdaQiTli2poFdTIIKesYZg64jGIUMSqLHNeG8n5oppAZTzzzleh+8eLXkDlLM9E44RuzAVKrFR8RTeNErrh6QfGH1F16HTT6EK8XRZvRLXv1VhvFJx8fhAi1ZFgF40u2uLRt5XWaavsc3t5kLVp3Duj64R4fJT/xRneeXM04nMbb+Ux4DLHy7ZqeHTdFuKBbyTHbVwo+TjkiXc0dGfG7oV55hxtQe1fiwz2udwezXgYGIl6fjrIDgu0uFV7oBHZ67CDpLNVWJisGO4fxz7QFlGntIdYmQFvsfAEXaHFGmPwocfLoClfMfMLWs8w9gFqjy/39Xn/LvjqiW8u+d6Z7y360alfLfvEua8s/LnJDyz9r9l/K/6u6d8q/6HxH6gAWD0BOoqAyTPgoBAoGQUucFsFcWCeGHg7CZKJgr+zIKcgSBANbpCDAvGgkzBoOhHqiIBXcIIKV8jCFrrwhTCMYUsSYsITyqQKWuACmkD1BS5owXIDqSGN/+DXhcF563gRFCKJ2Ie0d/UriErMEPqaiC86QDGKDXMJ00B2GizmayRWA9keruPFLIpEVykLWhnPNZKFpawMVVjjt0ISq535R47BEsnsUgY3PD5JJNrZmRH9SKiQmIGQ6sPeFhBpPuzVkZHaw57NIGk97ImBkpEMCSEwWUmRjC5lO+Ske0RSmZ0FUpSjDAmfdjYvVKYSJIP4W+Jc+UqQtFJl9aLlyuh4OC7+Q5cGGsnYQGYjYNJsJFuoA8jOcCpjqgV9clBmxeCQlBA60yrsk0PxvGUFbV3xmkaTCRSkqaw6QKE1HQRnTviHBihwQQrwjKc850nPetrznmOggu0Oov/OdYLQmv1MCQkFE1CVDNR1BeXOP3+ZUIX+s6EOBSFED0qXiS7Uog9tKEXnglGJavSiH81oQjd6uZGC1KQiLShJy9JRDrYUgi/dVkw/Yoc3YKZ/IQXJG+hATjVAwXcVRKlHqkAxnJSBag3MKUeiiRcoJFWokiOnWthAPYIqVSOn/IsUxmVVqEKEing5QzUrelWHXFI1X0DqXELZT8X1BlptUZc64xVG2VixLShr60bssJ3hkOVQKt2I6qqDh8+MRQtlZcgeb6MGOkFlsAFFVynbgzypbE6vGuljb5wqlb0FFqsOslFU8nrNrGUoDFKZ5Fw3MtkCMTMqYAUmuu6YoS//HPQOmIXIWV/UN6jgFpzxkmuB7qoUJ1xWl27VkdugYgc0zCFh0I2udKHgxtfFawu9JBGvIHgv3DmsqC/aw02P5S7rdkQOnyTRWMmlWbDFLrYZat2xuoU44YGXRnXjoLTS6zTmLZZEONtWsvCGva85qQ4L/ZV7RTK5LMFxobbq70jMcB4iOQ6EqmLVzNBXVx2pFYTlIhr7Wqsjzi7UUjyDHx/ItNx/MipyMIFsyxaKrPsubyZuCBeNB3In1M2kCrLUEWp3LJAIX88n1X3RpIgsphv7ZJg62ieR/xHi8QEFsUTKAhCJTN/1BcXANJIvkYVU4fsxKE1TNkiO3qeULWCL/0RbTvM/FPw/qJjhuAVaspwJ0t0BSgW+26nXng1yIT9LZcUZEvSgDdKgA45llQVS9KIN0uUPbsUJ2Q30pBeFHzet9B9ukKqmN50Q9lh6LFXAc28kTeqDgGeEdCFxb1rcaoQYOUOnmgtgk1O4Wh+kyRlS0F6w/BxfO2Q3HlJMGtjaGdEamyEolo9fBXMFUVvGsc8WTZmTI2a6bCHJf1lRtnUr69uMVzFm+K1lPjxuh9BZNgGODKBxMuR2b8QuhXQNovFiBa7aeyNnyfRfnB2aIqqlcv/+SKMdk5XoVMELmT5DH9CZ8I9EWy1IqU8V5uAFLozBC1qgeMVDYhOMY3vkaRAuiYZZgvJWS4QiFsHIoAMCACH5BAUbAP8ALAAAAADpAMgAAAj/AP8JHEiwoMGDCBMqXMiwocOHBUuIEAZkRJsbgSBq3Mixo8ePIEOK3LhMGaV+KFP2E4BupMuXMGPKnKlx1wWVOPuZaESzp8+fQIMS/DUhp9EhKYTGPLABBiSlUKNudFDEqNV+LnZI/ehKmAmV0CZtHUtWYAVSp65ebVFWI6mr0Fy1nQs0xDm1eBHRXZjIBt5+J/YKfskBwV+8NgYf1OHucL8QiiNzPMDI8d9RkgUyw2G5n7TMoBcOuNlZraPMPkr387UptGuCLISpxttBsqfZgF+7jkALN942kUH4rq1b8oNZlXzjpTC4FyDlI4pHdgRK+eEPe3HJs97vifS9HI5w/z/sfW4PfONbfW97oNZ4x+XLonrfD9D6scMGWKBPvu04/sDdFxUqgvAHX1nmGMicgEI58JyBB461AISlMAjUA808A6Fl8UGVCAQbBmghTZdksmFnHQqlQw4nhjLiTIigcGJpKQLFzIz9rPMiTAfMgCONUKWGYyQ7jjTNI/v9iKJSh/xIgSZFhhRIKEqqViNNNCgJQJQfOQBLlbNdGVMvBSrJE5cbQWLASWBa+RMu6lS5JZoaWVJdm2H61EObZ9LZkCQq4OmbmCM10GZGfjIUCxGCKkdoSBi0CVmiCkVzSJKN4vboR1+CSQ6lChlTZqaDylRNm9SAipACwJDK3aYbJf+SHJiGqGpQIQZQ4OqrLynQpje2GjRJG7uOB+tDQlYJQbAEqUJMse8d25ABbS7ArEC8kAAtfdIu1EGbA1z7gicsbhttSAy0mcC1DbBiLn/dItRmOzAwq0AN7xoYr0GyVSmiqrk4o2u+8Hr0CZjZMKuICwRDuO9AroBJg1IORNJKFBhnrPHGHHfscceBNuxwR98qKYJQEmgr8sqacpRKlYgCNY8+LNfs5kYt/GhBS0HJYvPPS2oEyY8aBCAUtUAn/dfDSOCYmFApKC21Wg97MGMtUCkx9dY5PYw0hCcrxQLXZKf0MDcQVuJBVCCWTfbD5RgIBBJRveJ22Q/HwB8EFUj/1eTdXD/8CH32bfUg4FM/nMR7n5DFBOJbP/zEeASUtQrkiXNErG9NoNJWAZhL/fA/f89WzQZzhS46R9Lgxs03dKmu9Oj/aKOatXvJnjTthpTrGAaD6Q407f+s4BgFkwom/M/E/zPAXzisENnyNjf/zzFqGaHV9NSzbP0/H6CNEw6WgNa99yM5MAkJAgSRSjehnb/y9wLKLzL999nfMP7r6U8w/9/xX74AKB0BvouAxTGguRCoGwVui4GvcSC0IOgaCRaLgvGzoKswaD4NkoqDmfHgB69VEBFmCoSSMWGjUMg9FbaJhYpxIZ5gGDwZgomGyrNhlXCYOx0qiYex8+GP/zjogCcY8YhITKISl8jEJvJMXkLEEQMLcQluDKFYJuDGJQphkChKMSYNAALB8qGIEnrxRASMAsviQZAzovElaqzZLQbixg3xb2w/M4VA6jiykbTNZquoFR/1NRJTKI0R/xhkwURimKSVQhOK5JZIeDC1E0TyXCEZnNQOd0lHiWQKU9tcJz0JkheM0oDfG8UpBfg9dKzSf98Dxyv1971OzNJ+36vALeVHv1JMbQS7BFJIKiM1UAaTQyIxlNQOdswIgQQel5tdM50JEmYCbQqJnObS0heMpOlRm9scyS2AxpZsgvMq/CsBJmyWiVqZ85xGASAn1rmyUyRlj/C0CgE5If8+ggliXXTMZzxlEgVRvEsUUWhNGwXaNZrYIgoAmIJEJ0rRilr0ohjNqAAGYA8oMlQlQEzdR0FKwoWOFCUhbctJzVbSgK40pWVZKUpbis+X0vSdI4UpWWTanZvyVKdj+alPZQrUrQiVpkdtaVJLulQSNvVaT2VWVIM1VVtVlSOJQEIiIkhUkRzjBvTshy6ioIMO2vQjhVBZTiywthR21SOcMKhaDODWs3JknoeRhdFqaNeNGPMwvugEX09KuzhaJhP0yGFfHwKD2YygrXNpwls1UjrVeIIuo8opRzKgnBjMpSqLbUgJuEMcsghhsg+RxHjcsQ2yhAC1DmnFe3TRp6j/IAK2DdEbfcq4Fa0RdiP44o8QtsKB0DLkr/QpZ1R8plmNBNdAS5BK05oLEd1C6BzYgcosqPsQS55oCKqIyoQY+rBY/Egc4iUvRzK7IXZE5QklO+fonvejGkilBJIQx8f2y9/+RiFk3RudIUD3I2GUdGEB7gijlISDrV4rYAPTHe1g8BUlXSMVJb2X8IhnWCWdpqTtkl3z1KqkxpV0XL5DnPU0WaWnlTRbmPue3cDEj5s6S8UisSWY3tE3mg7rbvjbBGmqRDea4irCkXuJNdoE2Zay6m0wcQ+YhnvTf4gqyTAhQJvsW2VLYWp4MrlHm6pRZYEsanYzSUabClBmgQAK/8wzeQBnqoSCNgvETtXziXiq9AM7/0NNbLrfT4RTJVv4+R9emh9QFFElF3Dx0FPaX1Bm/KPk+flIX56gUHz1ozkdWiA9OqBSPnCnGUHp0wOJ0QOhsgkB4CgwqCZIiS4oFWTMCJuxJgiGNDRCqQThRLjONUEc1GupRGJDwRY2QQi0QrLUo5v8SbayB5KfTA+xLMnYR7SnjZD2vLAtD4gvd6TNbYKEZ4d0Ccd7uFxuhFDnR9mdS6S4E7N2H+Q4s4LQgvZiCeuYwN4M4U2IFPMKYOJGuQBXSGwMVFrBKIAfuAFowhkyGvp8WDEfALBlBDHxh1DmPZiRzCZy1pkkdBwihWexjoszY2vHIODkG7GLb/Timl//hRWChblGzpKW0iA8NJHAhlq4kQ6dd4QqncmKdBIhAwKrpA0ieIHRP0KUwyDlPpo4ASMAIAAZKGKvUweJTdSyk7DHuiSBVglLzC5siVDEIhhBdUAAADs=";
/***/ })
}]);