@digabi/exam-engine-rendering 19.7.1 → 19.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PreviewGrading.js +9 -9
- package/dist/PreviewGrading.js.map +1 -1
- package/dist/__tests__/puppeteerUtils.js +7 -7
- package/dist/__tests__/puppeteerUtils.js.map +1 -1
- package/dist/__tests__/testCasTransition.js +1 -1
- package/dist/__tests__/testChoiceAnswer.js +1 -1
- package/dist/__tests__/testChoiceAnswer.js.map +1 -1
- package/dist/__tests__/testGrading.js +17 -8
- package/dist/__tests__/testGrading.js.map +1 -1
- package/dist/__tests__/testGradingInstructionsGeneration.js +2 -2
- package/dist/__tests__/testGradingInstructionsGeneration.js.map +1 -1
- package/dist/__tests__/testOfflineGeneration.js +1 -1
- package/dist/__tests__/testOfflineGeneration.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/createOfflineExam.js +8 -8
- package/dist/createOfflineExam.js.map +1 -1
- package/dist/exam-loader.js +3 -3
- package/dist/exam-loader.js.map +1 -1
- package/dist/getOfflineWebpackConfig.js +18 -18
- package/dist/getPreviewWebpackConfig.js +12 -12
- package/dist/getWebpackConfig.js +18 -18
- package/dist/offline.js +4 -3
- package/dist/offline.js.map +1 -1
- package/dist/postcss.config.d.ts +1 -1
- package/dist/postcss.config.js +1 -1
- package/dist/preview.js +22 -20
- package/dist/preview.js.map +1 -1
- package/dist/previewExam.js +1 -1
- package/dist/previewExam.js.map +1 -1
- package/dist/utils/indexedDBExamServerAPI.js +3 -3
- package/dist/utils/indexedDBExamServerAPI.js.map +1 -1
- package/dist/utils/noopExamServerAPI.js +2 -2
- package/dist/utils/noopExamServerAPI.js.map +1 -1
- package/package.json +10 -10
@@ -39,7 +39,7 @@ const getOfflineWebpackConfig_1 = require("./getOfflineWebpackConfig");
|
|
39
39
|
const ffmpeg_static_1 = __importDefault(require("ffmpeg-static"));
|
40
40
|
const defaultOptions = {
|
41
41
|
mediaVersion: false,
|
42
|
-
type: 'offline'
|
42
|
+
type: 'offline'
|
43
43
|
};
|
44
44
|
async function createOfflineExam(examFile, outputDirectory, options = {}) {
|
45
45
|
const opts = { ...defaultOptions, ...options };
|
@@ -47,9 +47,9 @@ async function createOfflineExam(examFile, outputDirectory, options = {}) {
|
|
47
47
|
const source = await fs_1.promises.readFile(examFile, 'utf-8');
|
48
48
|
const examOutputDirectories = [];
|
49
49
|
const results = await (0, exam_engine_mastering_1.masterExam)(source, () => uuid.v4(), (0, exam_engine_mastering_1.getMediaMetadataFromLocalFile)(resolveAttachment), {
|
50
|
-
removeCorrectAnswers: false
|
50
|
+
removeCorrectAnswers: false
|
51
51
|
});
|
52
|
-
const cacheDirectory = await tmp_promise_1.default.dir({ unsafeCleanup: true }).then(
|
52
|
+
const cacheDirectory = await tmp_promise_1.default.dir({ unsafeCleanup: true }).then(d => d.path);
|
53
53
|
for (const result of results) {
|
54
54
|
const examOutputDirectory = getExamOutputDirectory(result, outputDirectory);
|
55
55
|
await runWebpack(result, examOutputDirectory, opts);
|
@@ -115,9 +115,9 @@ async function optimizeWithPuppeteer(examOutputDirectories, options) {
|
|
115
115
|
...(options.type === 'offline'
|
116
116
|
? [
|
117
117
|
path_1.default.resolve(examOutputDirectory, 'index.html'),
|
118
|
-
path_1.default.resolve(examOutputDirectory, 'attachments/index.html')
|
118
|
+
path_1.default.resolve(examOutputDirectory, 'attachments/index.html')
|
119
119
|
]
|
120
|
-
: [path_1.default.resolve(examOutputDirectory, 'grading-instructions.html')])
|
120
|
+
: [path_1.default.resolve(examOutputDirectory, 'grading-instructions.html')])
|
121
121
|
]) {
|
122
122
|
await page.goto(`file://${htmlFile}`);
|
123
123
|
await page.waitForSelector('.e-exam');
|
@@ -129,10 +129,10 @@ async function optimizeWithPuppeteer(examOutputDirectories, options) {
|
|
129
129
|
}
|
130
130
|
// Remove rich-text-editor injected styles
|
131
131
|
Array.from(document.head.querySelectorAll(':scope > style'))
|
132
|
-
.filter(
|
133
|
-
.forEach(
|
132
|
+
.filter(e => !e.textContent.includes('NotoSans'))
|
133
|
+
.forEach(e => e.remove());
|
134
134
|
// Remove rich-text-editor injected HTML.
|
135
|
-
document.body.querySelectorAll(':scope > :not(#app)').forEach(
|
135
|
+
document.body.querySelectorAll(':scope > :not(#app)').forEach(e => e.remove());
|
136
136
|
});
|
137
137
|
const prerenderedContent = await page.content();
|
138
138
|
await fs_1.promises.writeFile(htmlFile, prerenderedContent, 'utf-8');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createOfflineExam.js","sourceRoot":"","sources":["../src/createOfflineExam.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAsH;AACtH,iEAA6C;AAC7C,2BAAmC;AACnC,gDAAuB;AACvB,0DAAiC;AACjC,8DAA6B;AAC7B,2CAA4B;AAC5B,sDAA6B;AAC7B,uEAAmE;AACnE,kEAAkC;AAelC,MAAM,cAAc,GAA6B;IAC/C,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,SAAS;CAChB,CAAA;AAEM,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,eAAuB,EACvB,UAAoC,EAAE;IAEtC,MAAM,IAAI,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAA;IAC9C,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC7G,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,qBAAqB,GAAa,EAAE,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAU,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAA,qDAA6B,EAAC,iBAAiB,CAAC,EAAE;QAC1G,oBAAoB,EAAE,KAAK;KAC5B,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,MAAM,qBAAG,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,
|
1
|
+
{"version":3,"file":"createOfflineExam.js","sourceRoot":"","sources":["../src/createOfflineExam.ts"],"names":[],"mappings":"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"}
|
package/dist/exam-loader.js
CHANGED
@@ -32,7 +32,7 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
32
32
|
const path_1 = __importDefault(require("path"));
|
33
33
|
const uuid = __importStar(require("uuid"));
|
34
34
|
function stringifyModule(module, attachments = []) {
|
35
|
-
const imports = attachments.map(
|
35
|
+
const imports = attachments.map(attachment => `require('./attachments/${attachment.filename}')`).join('\n');
|
36
36
|
return `${imports}\nmodule.exports = ${JSON.stringify(module)}`;
|
37
37
|
}
|
38
38
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
@@ -49,10 +49,10 @@ async function examLoader(source) {
|
|
49
49
|
const results = await (0, exam_engine_mastering_1.masterExam)(source, generateUuid, getMediaMetadata, { removeCorrectAnswers: false });
|
50
50
|
const module = { original: source, results };
|
51
51
|
const attachments = lodash_1.default.chain(results)
|
52
|
-
.flatMap(
|
52
|
+
.flatMap(r => r.attachments)
|
53
53
|
.uniqWith(lodash_1.default.isEqual)
|
54
54
|
.value();
|
55
|
-
await Promise.all(attachments.map(
|
55
|
+
await Promise.all(attachments.map(attachment => fs_1.promises.access(resolveAttachment(attachment.filename))));
|
56
56
|
callback(null, stringifyModule(module));
|
57
57
|
}
|
58
58
|
catch (err) {
|
package/dist/exam-loader.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exam-loader.js","sourceRoot":"","sources":["../src/exam-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAqG;AACrG,2BAAmC;AAEnC,oDAAsB;AACtB,gDAAuB;AACvB,2CAA4B;AAE5B,SAAS,eAAe,CAAC,MAAW,EAAE,cAA4B,EAAE;IAClE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"exam-loader.js","sourceRoot":"","sources":["../src/exam-loader.ts"],"names":[],"mappings":"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"}
|
@@ -18,7 +18,7 @@ function getOfflineWebpackConfig(result, outputDirectory, options) {
|
|
18
18
|
entry: [require.resolve('@babel/polyfill/noConflict'), path_1.default.resolve(__dirname, 'offline.js')],
|
19
19
|
output: {
|
20
20
|
path: outputDirectory,
|
21
|
-
pathinfo: false
|
21
|
+
pathinfo: false
|
22
22
|
},
|
23
23
|
module: {
|
24
24
|
rules: [
|
@@ -40,22 +40,22 @@ function getOfflineWebpackConfig(result, outputDirectory, options) {
|
|
40
40
|
firefox: '78',
|
41
41
|
edge: '79',
|
42
42
|
safari: '13',
|
43
|
-
ios: '13'
|
44
|
-
}
|
45
|
-
}
|
46
|
-
]
|
47
|
-
]
|
48
|
-
}
|
49
|
-
}
|
50
|
-
}
|
51
|
-
]
|
43
|
+
ios: '13'
|
44
|
+
}
|
45
|
+
}
|
46
|
+
]
|
47
|
+
]
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
]
|
52
52
|
},
|
53
53
|
plugins: [
|
54
54
|
new webpack_1.default.DefinePlugin({
|
55
55
|
'process.env.NODE_ENV': JSON.stringify(mode),
|
56
56
|
'process.env.EXAM': JSON.stringify(result.xml),
|
57
57
|
'process.env.EXAM_LANGUAGE': JSON.stringify(result.language),
|
58
|
-
'process.env.MEDIA_VERSION': JSON.stringify(options.mediaVersion)
|
58
|
+
'process.env.MEDIA_VERSION': JSON.stringify(options.mediaVersion)
|
59
59
|
}),
|
60
60
|
new css_minimizer_webpack_plugin_1.default(),
|
61
61
|
...(options.type === 'offline'
|
@@ -65,7 +65,7 @@ function getOfflineWebpackConfig(result, outputDirectory, options) {
|
|
65
65
|
language: result.language,
|
66
66
|
template: path_1.default.resolve(__dirname, '../public/offline.html'),
|
67
67
|
title: result.title,
|
68
|
-
backgroundColor: '#e0f4fe'
|
68
|
+
backgroundColor: '#e0f4fe'
|
69
69
|
}),
|
70
70
|
new html_webpack_plugin_1.default({
|
71
71
|
filename: 'attachments/index.html',
|
@@ -73,8 +73,8 @@ function getOfflineWebpackConfig(result, outputDirectory, options) {
|
|
73
73
|
template: path_1.default.resolve(__dirname, '../public/offline.html'),
|
74
74
|
title: result.title,
|
75
75
|
backgroundColor: '#f0f0f0',
|
76
|
-
publicPath: '../'
|
77
|
-
})
|
76
|
+
publicPath: '../'
|
77
|
+
})
|
78
78
|
]
|
79
79
|
: [
|
80
80
|
new html_webpack_plugin_1.default({
|
@@ -83,11 +83,11 @@ function getOfflineWebpackConfig(result, outputDirectory, options) {
|
|
83
83
|
template: path_1.default.resolve(__dirname, '../public/offline.html'),
|
84
84
|
title: result.title,
|
85
85
|
backgroundColor: '#e0f4fe',
|
86
|
-
publicPath: './'
|
87
|
-
})
|
86
|
+
publicPath: './'
|
87
|
+
})
|
88
88
|
]),
|
89
|
-
new html_inline_css_webpack_plugin_1.default()
|
90
|
-
]
|
89
|
+
new html_inline_css_webpack_plugin_1.default()
|
90
|
+
]
|
91
91
|
});
|
92
92
|
}
|
93
93
|
exports.getOfflineWebpackConfig = getOfflineWebpackConfig;
|
@@ -18,8 +18,8 @@ function getPreviewWebpackConfig(examFilename, options) {
|
|
18
18
|
new webpack_1.default.DefinePlugin({
|
19
19
|
'process.env.npm_package_name': JSON.stringify(process.env.npm_package_name),
|
20
20
|
'process.env.EXAM_FILENAME': JSON.stringify(examFilename),
|
21
|
-
'process.env.CAS_COUNTDOWN_DURATION_SECONDS': Number(options.casCountdownDurationSeconds)
|
22
|
-
})
|
21
|
+
'process.env.CAS_COUNTDOWN_DURATION_SECONDS': Number(options.casCountdownDurationSeconds)
|
22
|
+
})
|
23
23
|
],
|
24
24
|
resolve: isDev
|
25
25
|
? {
|
@@ -28,12 +28,12 @@ function getPreviewWebpackConfig(examFilename, options) {
|
|
28
28
|
'@digabi/exam-engine-core/dist/main.css$': path_1.default.resolve(__dirname, '../../core/src/css/main.less'),
|
29
29
|
'@digabi/exam-engine-core/dist/attachments/Attachments': path_1.default.resolve(__dirname, '../../core/dist'),
|
30
30
|
'@digabi/exam-engine-core/dist/exam/Exam': path_1.default.resolve(__dirname, '../../core/dist'),
|
31
|
-
'@digabi/exam-engine-core/dist/results/Results': path_1.default.resolve(__dirname, '../../core/dist')
|
32
|
-
}
|
31
|
+
'@digabi/exam-engine-core/dist/results/Results': path_1.default.resolve(__dirname, '../../core/dist')
|
32
|
+
}
|
33
33
|
}
|
34
34
|
: {},
|
35
35
|
watchOptions: {
|
36
|
-
ignored: path_1.default.resolve('../../core/dist/main-bundle.js')
|
36
|
+
ignored: path_1.default.resolve('../../core/dist/main-bundle.js')
|
37
37
|
},
|
38
38
|
devServer: {
|
39
39
|
open: options.openBrowser,
|
@@ -41,25 +41,25 @@ function getPreviewWebpackConfig(examFilename, options) {
|
|
41
41
|
logging: 'none',
|
42
42
|
overlay: {
|
43
43
|
warnings: true,
|
44
|
-
errors: true
|
45
|
-
}
|
44
|
+
errors: true
|
45
|
+
}
|
46
46
|
},
|
47
47
|
devMiddleware: {
|
48
|
-
stats: 'errors-only'
|
48
|
+
stats: 'errors-only'
|
49
49
|
},
|
50
50
|
static: [
|
51
51
|
{
|
52
|
-
directory: path_1.default.resolve(__dirname, '../public')
|
52
|
+
directory: path_1.default.resolve(__dirname, '../public')
|
53
53
|
},
|
54
|
-
{ directory: path_1.default.dirname(examFilename) }
|
54
|
+
{ directory: path_1.default.dirname(examFilename) }
|
55
55
|
],
|
56
56
|
historyApiFallback: true,
|
57
57
|
setupMiddlewares: (middlewares, devServer) => {
|
58
58
|
var _a;
|
59
59
|
(_a = devServer.app) === null || _a === void 0 ? void 0 : _a.get('/math.svg', mathSvg_1.mathSvgResponse);
|
60
60
|
return middlewares;
|
61
|
-
}
|
62
|
-
}
|
61
|
+
}
|
62
|
+
}
|
63
63
|
});
|
64
64
|
}
|
65
65
|
exports.getPreviewWebpackConfig = getPreviewWebpackConfig;
|
package/dist/getWebpackConfig.js
CHANGED
@@ -11,16 +11,16 @@ function getWebpackConfig(configuration) {
|
|
11
11
|
return (0, webpack_merge_1.merge)({
|
12
12
|
output: {
|
13
13
|
publicPath: '',
|
14
|
-
filename: 'main-bundle.js'
|
14
|
+
filename: 'main-bundle.js'
|
15
15
|
},
|
16
16
|
resolve: {
|
17
17
|
fallback: { path: false },
|
18
|
-
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json']
|
18
|
+
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json']
|
19
19
|
},
|
20
20
|
plugins: [
|
21
21
|
new mini_css_extract_plugin_1.default({
|
22
|
-
filename: '[name].css'
|
23
|
-
})
|
22
|
+
filename: '[name].css'
|
23
|
+
})
|
24
24
|
],
|
25
25
|
module: {
|
26
26
|
rules: [
|
@@ -35,32 +35,32 @@ function getWebpackConfig(configuration) {
|
|
35
35
|
options: {
|
36
36
|
sourceMap: true,
|
37
37
|
lessOptions: {
|
38
|
-
paths: [path_1.default.resolve(__dirname, 'src')]
|
39
|
-
}
|
40
|
-
}
|
41
|
-
}
|
42
|
-
]
|
38
|
+
paths: [path_1.default.resolve(__dirname, 'src')]
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
]
|
43
43
|
},
|
44
44
|
{
|
45
45
|
test: /\.xml$/,
|
46
46
|
use: [
|
47
47
|
{
|
48
|
-
loader: path_1.default.resolve(__dirname, 'exam-loader.js')
|
49
|
-
}
|
50
|
-
]
|
48
|
+
loader: path_1.default.resolve(__dirname, 'exam-loader.js')
|
49
|
+
}
|
50
|
+
]
|
51
51
|
},
|
52
52
|
{
|
53
53
|
test: /\.(woff|woff2|otf|ttf|eot|svg|png|gif|jpg)$/,
|
54
54
|
loader: require.resolve('file-loader'),
|
55
55
|
options: {
|
56
|
-
name: 'assets/[name].[ext]'
|
57
|
-
}
|
58
|
-
}
|
59
|
-
]
|
56
|
+
name: 'assets/[name].[ext]'
|
57
|
+
}
|
58
|
+
}
|
59
|
+
]
|
60
60
|
},
|
61
61
|
performance: {
|
62
|
-
hints: false
|
63
|
-
}
|
62
|
+
hints: false
|
63
|
+
}
|
64
64
|
}, configuration);
|
65
65
|
}
|
66
66
|
exports.getWebpackConfig = getWebpackConfig;
|
package/dist/offline.js
CHANGED
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const exam_engine_core_1 = require("@digabi/exam-engine-core");
|
7
7
|
const react_1 = __importDefault(require("react"));
|
8
|
-
const
|
8
|
+
const client_1 = require("react-dom/client");
|
9
9
|
require("../public/offline.less");
|
10
10
|
const noopExamServerAPI_1 = __importDefault(require("./utils/noopExamServerAPI"));
|
11
11
|
const exam = process.env.EXAM;
|
@@ -25,12 +25,13 @@ const Root = isAttachmentsPage
|
|
25
25
|
: location.pathname.includes('grading-instructions.html')
|
26
26
|
? exam_engine_core_1.GradingInstructions
|
27
27
|
: exam_engine_core_1.Exam;
|
28
|
-
(0,
|
28
|
+
const root = (0, client_1.createRoot)(document.getElementById('app'));
|
29
|
+
root.render(react_1.default.createElement(Root, { answers,
|
29
30
|
attachmentsURL,
|
30
31
|
casStatus: 'forbidden',
|
31
32
|
doc,
|
32
33
|
examServerApi,
|
33
34
|
language,
|
34
35
|
resolveAttachment,
|
35
|
-
restrictedAudioPlaybackStats: [] })
|
36
|
+
restrictedAudioPlaybackStats: [] }));
|
36
37
|
//# sourceMappingURL=offline.js.map
|
package/dist/offline.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"offline.js","sourceRoot":"","sources":["../src/offline.tsx"],"names":[],"mappings":";;;;;AAAA,+DAAwG;AACxG,kDAAyB;AACzB,
|
1
|
+
{"version":3,"file":"offline.js","sourceRoot":"","sources":["../src/offline.tsx"],"names":[],"mappings":";;;;;AAAA,+DAAwG;AACxG,kDAAyB;AACzB,6CAA6C;AAC7C,kCAA+B;AAC/B,kFAAyD;AAEzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAK,CAAA;AAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAc,CAAA;AAC3C,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AAElD,MAAM,GAAG,GAAG,IAAA,4BAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACjC,MAAM,OAAO,GAAiB,EAAE,CAAA;AAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAA;AACxE,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC7C,MAAM,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjH,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAA;AACxF,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,IAAA,2BAAiB,EAAC,iBAAiB,CAAC,CAAA;AAC1D,MAAM,IAAI,GAAG,iBAAiB;IAC5B,CAAC,CAAC,8BAAW;IACb,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzD,CAAC,CAAC,sCAAmB;QACrB,CAAC,CAAC,uBAAI,CAAA;AAER,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC,CAAA;AACxD,IAAI,CAAC,MAAM,CACT,8BAAC,IAAI,IAED,OAAO;IACP,cAAc;IACd,SAAS,EAAE,WAAW;IACtB,GAAG;IACH,aAAa;IACb,QAAQ;IACR,iBAAiB;IACjB,4BAA4B,EAAE,EAAE,GAElC,CACH,CAAA"}
|
package/dist/postcss.config.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export let plugins:
|
1
|
+
export let plugins: typeof import("postcss-preset-env")[];
|
2
2
|
//# sourceMappingURL=postcss.config.d.ts.map
|
package/dist/postcss.config.js
CHANGED
package/dist/preview.js
CHANGED
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const exam_engine_core_1 = require("@digabi/exam-engine-core");
|
30
30
|
require("@digabi/exam-engine-core/dist/main.css");
|
31
31
|
const react_1 = __importStar(require("react"));
|
32
|
-
const
|
32
|
+
const client_1 = require("react-dom/client");
|
33
33
|
const indexedDBExamServerAPI_1 = __importDefault(require("./utils/indexedDBExamServerAPI"));
|
34
34
|
const router5_1 = __importDefault(require("router5"));
|
35
35
|
const react_router5_1 = require("react-router5");
|
@@ -41,19 +41,19 @@ const routes = [
|
|
41
41
|
{ name: 'grading-instructions', path: '/:language/:type/grading-instructions' },
|
42
42
|
{ name: 'exam', path: '/:language/:type/exam' },
|
43
43
|
{ name: 'results', path: '/:language/:type/results' },
|
44
|
-
{ name: 'grading', path: '/:language/:type/grading' }
|
44
|
+
{ name: 'grading', path: '/:language/:type/grading' }
|
45
45
|
];
|
46
46
|
const router = (0, router5_1.default)(routes, {
|
47
47
|
defaultRoute: 'exam',
|
48
48
|
defaultParams: results
|
49
49
|
? { language: results[0].language, type: results[0].type }
|
50
|
-
: { language: 'fi-FI', type: 'normal' }
|
50
|
+
: { language: 'fi-FI', type: 'normal' }
|
51
51
|
});
|
52
52
|
router.usePlugin((0, router5_plugin_browser_1.default)());
|
53
53
|
router.start();
|
54
54
|
const resolveAttachment = (filename) => `/attachments/${encodeURIComponent(filename)}`;
|
55
55
|
const findExam = (params) => {
|
56
|
-
const result = results.find(
|
56
|
+
const result = results.find(r => r.language === params.language && r.type === params.type);
|
57
57
|
if (!result) {
|
58
58
|
throw new Error('Unable to find exam!');
|
59
59
|
}
|
@@ -64,7 +64,7 @@ const ChangeExamVersion = ({ language, type }) => {
|
|
64
64
|
const title = `${language === 'fi-FI' ? '🇫🇮 FI' : '🇸🇪 SV'} ${type === 'normal' ? '' : type === 'visually-impaired' ? 'NV' : 'KV'}`;
|
65
65
|
return (react_1.default.createElement("li", { className: "toolbar__item toolbar__item--exam-version" }, route.params.language === language && route.params.type === type ? (react_1.default.createElement("span", { className: "toolbar__item__selected" }, title)) : (react_1.default.createElement(react_router5_1.Link, { routeName: route.name, routeParams: { ...route.params, language, type } }, title))));
|
66
66
|
};
|
67
|
-
const SaveTranslation = ({ translation, translationFilename
|
67
|
+
const SaveTranslation = ({ translation, translationFilename }) => (react_1.default.createElement("li", { className: "toolbar__item" },
|
68
68
|
react_1.default.createElement("button", { onClick: () => {
|
69
69
|
const blob = new Blob([translation], { type: 'text/plain' });
|
70
70
|
const link = document.createElement('a');
|
@@ -103,24 +103,34 @@ const App = ({ examServerApi, answers, resolveAttachment }) => {
|
|
103
103
|
doc,
|
104
104
|
attachmentsURL,
|
105
105
|
resolveAttachment,
|
106
|
-
answers
|
106
|
+
answers
|
107
107
|
};
|
108
108
|
const resultsProps = {
|
109
109
|
...commonProps,
|
110
110
|
gradingStructure,
|
111
|
-
scores: []
|
111
|
+
scores: []
|
112
112
|
};
|
113
113
|
const examProps = {
|
114
114
|
...commonProps,
|
115
115
|
casCountdownDuration: Number(process.env.CAS_COUNTDOWN_DURATION_SECONDS) || undefined,
|
116
116
|
casStatus: 'forbidden',
|
117
117
|
restrictedAudioPlaybackStats: [],
|
118
|
-
examServerApi
|
118
|
+
examServerApi
|
119
119
|
};
|
120
|
-
return (react_1.default.createElement(
|
120
|
+
return (react_1.default.createElement("div", { ref: callback },
|
121
121
|
react_1.default.createElement(Toolbar, { translation, translationFilename }),
|
122
122
|
route.name === 'results' ? (react_1.default.createElement(exam_engine_core_1.Results, { ...resultsProps })) : route.name === 'attachments' ? (react_1.default.createElement(exam_engine_core_1.Attachments, { ...examProps })) : route.name === 'grading-instructions' ? (react_1.default.createElement(exam_engine_core_1.GradingInstructions, { ...commonProps })) : route.name === 'grading' ? (react_1.default.createElement(PreviewGrading_1.default, { ...resultsProps })) : (react_1.default.createElement(exam_engine_core_1.Exam, { ...examProps }))));
|
123
123
|
};
|
124
|
+
const callback = () => {
|
125
|
+
document.getElementById('app').removeAttribute('aria-busy');
|
126
|
+
const maybeScrollY = localStorage.getItem(location.pathname);
|
127
|
+
localStorage.removeItem(location.pathname);
|
128
|
+
if (maybeScrollY) {
|
129
|
+
requestAnimationFrame(() => {
|
130
|
+
window.scrollTo(0, Number(maybeScrollY));
|
131
|
+
}); // Delay scrolling a bit to wait for the layout to stabilize.
|
132
|
+
}
|
133
|
+
};
|
124
134
|
onload = async () => {
|
125
135
|
const app = document.getElementById('app');
|
126
136
|
if (!results) {
|
@@ -141,16 +151,8 @@ onload = async () => {
|
|
141
151
|
window.addEventListener('beforeunload', () => {
|
142
152
|
localStorage.setItem(location.pathname, window.scrollY.toString());
|
143
153
|
});
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
const maybeScrollY = localStorage.getItem(location.pathname);
|
148
|
-
localStorage.removeItem(location.pathname);
|
149
|
-
if (maybeScrollY) {
|
150
|
-
requestAnimationFrame(() => {
|
151
|
-
window.scrollTo(0, Number(maybeScrollY));
|
152
|
-
}); // Delay scrolling a bit to wait for the layout to stabilize.
|
153
|
-
}
|
154
|
-
});
|
154
|
+
const root = (0, client_1.createRoot)(app);
|
155
|
+
root.render(react_1.default.createElement(react_router5_1.RouterProvider, { router: router },
|
156
|
+
react_1.default.createElement(App, { examServerApi, answers, resolveAttachment, callback })));
|
155
157
|
};
|
156
158
|
//# sourceMappingURL=preview.js.map
|
package/dist/preview.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAQiC;AACjC,kDAA+C;AAE/C,+CAAiD;AACjD,
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.tsx"],"names":[],"mappings":"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"}
|
package/dist/previewExam.js
CHANGED
@@ -14,7 +14,7 @@ async function previewExam(examFile, options = {}) {
|
|
14
14
|
const devServer = config.devServer;
|
15
15
|
const webpackDevServer = new webpack_dev_server_1.default({ ...devServer, port: (_a = options.port) !== null && _a !== void 0 ? _a : 0, host: 'localhost' }, compiler);
|
16
16
|
return new Promise((resolve, reject) => {
|
17
|
-
webpackDevServer.startCallback(
|
17
|
+
webpackDevServer.startCallback(err => {
|
18
18
|
if (err) {
|
19
19
|
reject(err);
|
20
20
|
}
|
package/dist/previewExam.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"previewExam.js","sourceRoot":"","sources":["../src/previewExam.ts"],"names":[],"mappings":";;;;;;AACA,sDAA6B;AAE7B,uEAAmE;AAEnE,4EAAuC;AAShC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAA4B,EAAE;;IAChF,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAU,CAAA;IACnC,MAAM,gBAAgB,GAAW,IAAI,4BAAM,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;IACnH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,gBAAgB,CAAC,aAAa,CAAC,
|
1
|
+
{"version":3,"file":"previewExam.js","sourceRoot":"","sources":["../src/previewExam.ts"],"names":[],"mappings":";;;;;;AACA,sDAA6B;AAE7B,uEAAmE;AAEnE,4EAAuC;AAShC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAA4B,EAAE;;IAChF,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAU,CAAA;IACnC,MAAM,gBAAgB,GAAW,IAAI,4BAAM,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;IACnH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YACnC,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;iBAAM;gBACL,MAAM,WAAW,GAAI,gBAAgB,CAAC,MAAqB,CAAC,OAAO,EAAiB,CAAA;gBACpF,MAAM,GAAG,GAAG,oBAAoB,WAAW,CAAC,IAAI,EAAE,CAAA;gBAClD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;gBAC3C,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAjBD,kCAiBC"}
|
@@ -10,7 +10,7 @@ function indexedDBExamServerAPI(examUuid, resolveAttachment) {
|
|
10
10
|
constructor() {
|
11
11
|
super('exam');
|
12
12
|
this.version(1).stores({
|
13
|
-
answer: '[examUuid+questionId], examUuid'
|
13
|
+
answer: '[examUuid+questionId], examUuid'
|
14
14
|
});
|
15
15
|
}
|
16
16
|
})();
|
@@ -29,7 +29,7 @@ function indexedDBExamServerAPI(examUuid, resolveAttachment) {
|
|
29
29
|
audioPlayer.addEventListener('transitioncancel', animationFinished);
|
30
30
|
document.body.appendChild(audioPlayer);
|
31
31
|
const examServerApi = {
|
32
|
-
setCasStatus:
|
32
|
+
setCasStatus: casStatus => Promise.resolve(casStatus),
|
33
33
|
getAnswers: () => db.answer.where({ examUuid }).toArray(),
|
34
34
|
saveAnswer: async (answer) => {
|
35
35
|
await db.answer.put({ ...answer, examUuid });
|
@@ -61,7 +61,7 @@ function indexedDBExamServerAPI(examUuid, resolveAttachment) {
|
|
61
61
|
};
|
62
62
|
reader.readAsDataURL(file);
|
63
63
|
});
|
64
|
-
}
|
64
|
+
}
|
65
65
|
};
|
66
66
|
return examServerApi;
|
67
67
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"indexedDBExamServerAPI.js","sourceRoot":"","sources":["../../src/utils/indexedDBExamServerAPI.ts"],"names":[],"mappings":";;;;;AACA,kDAAyB;AAEzB,4EAA4E;AAC5E,SAAwB,sBAAsB,CAC5C,QAAgB,EAChB,iBAAwC;IAExC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAM,SAAQ,eAAK;QAEjC;YACE,KAAK,CAAC,MAAM,CAAC,CAAA;YACb,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrB,MAAM,EAAE,iCAAiC;aAC1C,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,EAAE,CAAA;IAEJ,8EAA8E;IAC9E,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,KAAK,EAAE,CAAA;IAC/B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;QACzB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACpD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACvF,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;IAChE,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;IAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAkB;QACnC,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"indexedDBExamServerAPI.js","sourceRoot":"","sources":["../../src/utils/indexedDBExamServerAPI.ts"],"names":[],"mappings":";;;;;AACA,kDAAyB;AAEzB,4EAA4E;AAC5E,SAAwB,sBAAsB,CAC5C,QAAgB,EAChB,iBAAwC;IAExC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAM,SAAQ,eAAK;QAEjC;YACE,KAAK,CAAC,MAAM,CAAC,CAAA;YACb,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrB,MAAM,EAAE,iCAAiC;aAC1C,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,EAAE,CAAA;IAEJ,8EAA8E;IAC9E,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,KAAK,EAAE,CAAA;IAC/B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;QACzB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACpD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACvF,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;IAChE,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;IAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAkB;QACnC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACrD,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACzD,UAAU,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACzB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG;YACjB,WAAW,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAExC,IAAI;gBACF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;gBACxB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAA;gBAC7E,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClB,OAAO,aAAa,CAAA;aACrB;QACH,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,GAAG;YAC3B,OAAO,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,cAAc,CAAC,CAAC,EAAE,IAAI;YACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChC,CAAC,CAAA;gBACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;oBACpB,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,CAAC,CAAA;gBACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AApED,yCAoEC"}
|
@@ -17,7 +17,7 @@ function noopExamServerApi(resolveAttachment) {
|
|
17
17
|
document.body.appendChild(audioPlayer);
|
18
18
|
const examServerAPI = {
|
19
19
|
getAnswers: () => Promise.resolve([]),
|
20
|
-
setCasStatus:
|
20
|
+
setCasStatus: casStatus => Promise.resolve(casStatus),
|
21
21
|
saveAnswer: () => Promise.resolve(),
|
22
22
|
saveScreenshot(_, file) {
|
23
23
|
return new Promise((resolve, reject) => {
|
@@ -46,7 +46,7 @@ function noopExamServerApi(resolveAttachment) {
|
|
46
46
|
},
|
47
47
|
async playRestrictedAudio(src) {
|
48
48
|
return examServerAPI.playAudio(src);
|
49
|
-
}
|
49
|
+
}
|
50
50
|
};
|
51
51
|
return examServerAPI;
|
52
52
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"noopExamServerAPI.js","sourceRoot":"","sources":["../../src/utils/noopExamServerAPI.ts"],"names":[],"mappings":";;AAEA,SAAwB,iBAAiB,CAAC,iBAAwC;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,KAAK,EAAE,CAAA;IAC/B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;QACzB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACpD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACvF,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;IAChE,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;IAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAkB;QACnC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"noopExamServerAPI.js","sourceRoot":"","sources":["../../src/utils/noopExamServerAPI.ts"],"names":[],"mappings":";;AAEA,SAAwB,iBAAiB,CAAC,iBAAwC;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,KAAK,EAAE,CAAA;IAC/B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;QACzB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACpD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACvF,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;IAChE,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;IAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAkB;QACnC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACrD,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QACnC,cAAc,CAAC,CAAC,EAAE,IAAI;YACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChC,CAAC,CAAA;gBACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;oBACpB,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,CAAC,CAAA;gBACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG;YACjB,WAAW,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAExC,IAAI;gBACF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;gBACxB,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAA;gBAC7E,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClB,OAAO,aAAa,CAAA;aACrB;QACH,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,GAAG;YAC3B,OAAO,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;KACF,CAAA;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AArDD,oCAqDC"}
|