zyf-model-engine 0.0.1 → 0.1.0
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/index.cjs +293 -0
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/index.mjs +21645 -0
- package/package.json +29 -99
- package/style.css +1 -0
- package/types/components/CSvgIcon/components/SvgPathIcon.vue.d.ts +9 -0
- package/types/components/CSvgIcon/defaultIcons.d.ts +23 -0
- package/types/components/CSvgIcon/index.vue.d.ts +30 -0
- package/types/components/Empty/index.vue.d.ts +16 -0
- package/types/components/Overflow/index.vue.d.ts +11 -0
- package/types/components/UtilsMenu/components/BaseInfo/index.vue.d.ts +122 -0
- package/types/components/UtilsMenu/components/Card/index.vue.d.ts +42 -0
- package/types/components/UtilsMenu/components/ComInfo/index.vue.d.ts +128 -0
- package/types/components/UtilsMenu/components/Config/index.vue.d.ts +8 -0
- package/types/components/UtilsMenu/components/Cutting/clipping.d.ts +56 -0
- package/types/components/UtilsMenu/components/Cutting/index.vue.d.ts +128 -0
- package/types/components/UtilsMenu/components/Measure/index.vue.d.ts +122 -0
- package/types/components/UtilsMenu/components/Measure/interface/index.d.ts +5 -0
- package/types/components/UtilsMenu/components/Measure/measure.d.ts +106 -0
- package/types/components/UtilsMenu/components/ModelTree/index.vue.d.ts +875 -0
- package/types/components/UtilsMenu/components/ModelTree/interface/index.d.ts +19 -0
- package/types/components/UtilsMenu/components/ModelTree/utils/index.d.ts +13 -0
- package/types/components/UtilsMenu/components/Roam/index.vue.d.ts +125 -0
- package/types/components/UtilsMenu/components/SubMenu/index.vue.d.ts +18 -0
- package/types/components/UtilsMenu/index.vue.d.ts +15 -0
- package/types/components/UtilsMenu/interface/index.d.ts +129 -0
- package/types/index-dxf.vue.d.ts +15 -0
- package/types/index.d.ts +209 -0
- package/types/index.vue.d.ts +18 -0
- package/types/libs/CFace.d.ts +16 -0
- package/types/libs/CLabel.d.ts +13 -0
- package/types/libs/CLine.d.ts +49 -0
- package/types/libs/CText.d.ts +17 -0
- package/types/libs/MathUtils.d.ts +26 -0
- package/types/libs/ViewCube.d.ts +21 -0
- package/types/libs/materials.d.ts +4 -0
- package/types/libs/svg.d.ts +26 -0
- package/types/libs/types.d.ts +177 -0
- package/types/main.d.ts +22 -0
- package/types/manager/highLightMeshManager.d.ts +31 -0
- package/types/manager/lightManager.d.ts +35 -0
- package/types/manager/rayCasterManager.d.ts +18 -0
- package/types/tools/Events.d.ts +15 -0
- package/types/tools/math.d.ts +13 -0
- package/types/vendor/DXFPaser/BatchingKey.d.ts +25 -0
- package/types/vendor/DXFPaser/DxfFetcher.d.ts +6 -0
- package/types/vendor/DXFPaser/DxfScene.d.ts +95 -0
- package/types/vendor/DXFPaser/DxfWorker.d.ts +44 -0
- package/types/vendor/DXFPaser/DynamicBuffer.d.ts +30 -0
- package/types/vendor/DXFPaser/Entity.d.ts +18 -0
- package/types/vendor/DXFPaser/MTextFormatParser.d.ts +15 -0
- package/types/vendor/DXFPaser/MaterialKey.d.ts +8 -0
- package/types/vendor/DXFPaser/RBTree.d.ts +5 -0
- package/types/vendor/DXFPaser/TextRenderer.d.ts +43 -0
- package/types/vendor/DXFPaser/index.d.ts +26 -0
- package/types/vendor/controls/BaseArrow.d.ts +20 -0
- package/types/vendor/controls/FirstPersonControls.d.ts +32 -0
- package/types/vendor/controls/FlyControls.d.ts +18 -0
- package/types/vendor/controls/OrbitControls.d.ts +75 -0
- package/types/vendor/controls/TransformControls.d.ts +41 -0
- package/types/vendor/controls/directionControls.d.ts +26 -0
- package/types/vendor/loaders/GLTFLoader.d.ts +71 -0
- package/types/workbench/DxfViewer.d.ts +16 -0
- package/types/workbench/clickInfo.d.ts +24 -0
- package/types/workbench/clipping.d.ts +62 -0
- package/types/workbench/dxfMeasure.d.ts +92 -0
- package/types/workbench/dxfTools.d.ts +78 -0
- package/types/workbench/functionalComponent.d.ts +127 -0
- package/types/workbench/modelTree.d.ts +89 -0
- package/.editorconfig +0 -15
- package/.env +0 -13
- package/.env.development +0 -20
- package/.env.production +0 -25
- package/.env.test +0 -25
- package/.eslintignore +0 -15
- package/.eslintrc-auto-import.json +0 -65
- package/.eslintrc.cjs +0 -66
- package/.husky/commit-msg +0 -4
- package/.husky/pre-commit +0 -5
- package/.prettierignore +0 -9
- package/.prettierrc.cjs +0 -41
- package/.stylelintignore +0 -4
- package/.stylelintrc.cjs +0 -40
- package/.vscode/extensions.json +0 -14
- package/.vscode/settings.json +0 -92
- package/CHANGELOG.md +0 -246
- package/LICENSE +0 -21
- package/README.md +0 -205
- package/auto-imports.d.ts +0 -132
- package/build/getEnv.ts +0 -46
- package/build/plugins.ts +0 -138
- package/build/proxy.ts +0 -28
- package/commitlint.config.cjs +0 -84
- package/components.d.ts +0 -28
- package/index.html +0 -105
- package/lint-staged.config.cjs +0 -8
- package/postcss.config.cjs +0 -5
- package/public/logo.png +0 -0
- package/src/App.vue +0 -16
- package/src/api/config/servicePort.ts +0 -3
- package/src/api/enums/httpEnum.ts +0 -35
- package/src/api/helper/axiosCancel.ts +0 -50
- package/src/api/helper/axiosFileCancel.ts +0 -62
- package/src/api/helper/checkStatus.ts +0 -97
- package/src/api/index.ts +0 -142
- package/src/api/interface/index.ts +0 -27
- package/src/assets/global-icons/icon-demo.svg +0 -1
- package/src/assets/iconfont/iconfont.scss +0 -44
- package/src/assets/iconfont/iconfont.ttf +0 -0
- package/src/assets/images/empty-img.png +0 -0
- package/src/assets/option-icons/add.svg +0 -1
- package/src/assets/option-icons/check.svg +0 -1
- package/src/assets/option-icons/config.svg +0 -1
- package/src/assets/option-icons/del.svg +0 -1
- package/src/assets/option-icons/detail.svg +0 -1
- package/src/assets/option-icons/edit.svg +0 -2
- package/src/assets/option-icons/export.svg +0 -1
- package/src/assets/option-icons/folder.svg +0 -1
- package/src/assets/option-icons/full-screen.svg +0 -1
- package/src/assets/option-icons/more.svg +0 -1
- package/src/assets/option-icons/return.svg +0 -1
- package/src/assets/option-icons/search.svg +0 -1
- package/src/components/CSvgIcon/index.scss +0 -23
- package/src/components/CSvgIcon/index.vue +0 -74
- package/src/components/CTree/index.scss +0 -48
- package/src/components/CTree/index.vue +0 -176
- package/src/components/CTree/interface/index.ts +0 -6
- package/src/components/Dialog/index.scss +0 -74
- package/src/components/Dialog/index.vue +0 -87
- package/src/components/Empty/index.scss +0 -16
- package/src/components/Empty/index.vue +0 -43
- package/src/components/Grid/components/GridItem.vue +0 -68
- package/src/components/Grid/index.vue +0 -167
- package/src/components/Grid/interface/index.ts +0 -6
- package/src/components/Loading/index.scss +0 -67
- package/src/components/Loading/index.vue +0 -13
- package/src/components/Overflow/index.vue +0 -76
- package/src/components/ProTable/components/ColSetting.vue +0 -45
- package/src/components/ProTable/components/Pagination.vue +0 -29
- package/src/components/ProTable/components/SearchForm/components/SearchFormItem.vue +0 -93
- package/src/components/ProTable/components/SearchForm/index.scss +0 -12
- package/src/components/ProTable/components/SearchForm/index.vue +0 -91
- package/src/components/ProTable/components/TableColumn.vue +0 -56
- package/src/components/ProTable/index.scss +0 -14
- package/src/components/ProTable/index.vue +0 -274
- package/src/components/ProTable/interface/index.ts +0 -86
- package/src/components/ScrollBox/index.vue +0 -44
- package/src/components/SvgIcon/index.vue +0 -20
- package/src/components/Tabs/index.vue +0 -142
- package/src/config/index.ts +0 -12
- package/src/config/nprogress.ts +0 -12
- package/src/config/piniaPersist.ts +0 -19
- package/src/config/serviceLoading.ts +0 -45
- package/src/enums/httpEnum.ts +0 -24
- package/src/hooks/interface/index.ts +0 -32
- package/src/hooks/useOnline.ts +0 -27
- package/src/hooks/useTable.ts +0 -167
- package/src/main.ts +0 -35
- package/src/plugins/button/button.vue +0 -56
- package/src/plugins/index.js +0 -26
- package/src/plugins/index.vue +0 -24
- package/src/plugins/msg/msg.vue +0 -56
- package/src/stores/commonStore.ts +0 -9
- package/src/stores/index.ts +0 -8
- package/src/stores/interface/index.ts +0 -1
- package/src/styles/common.scss +0 -87
- package/src/styles/element.scss +0 -233
- package/src/styles/reset.scss +0 -20
- package/src/styles/var.scss +0 -2
- package/src/typings/global.d.ts +0 -37
- package/src/typings/window.d.ts +0 -8
- package/src/utils/color.ts +0 -59
- package/src/utils/commonUtils.ts +0 -175
- package/src/utils/errorHandler.ts +0 -28
- package/src/utils/is.ts +0 -147
- package/src/utils/layoutUtils.ts +0 -83
- package/src/utils/localUtils.ts +0 -42
- package/src/utils/serviceDict.ts +0 -9
- package/src/vite-env.d.ts +0 -6
- package/tsconfig.json +0 -50
- package/vite.config.ts +0 -76
package/src/utils/layoutUtils.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { isArray } from "@/utils/is";
|
|
2
|
-
import { FieldNamesProps } from "@/components/ProTable/interface";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @description 格式化表格单元格默认值 (el-table-column)
|
|
6
|
-
* @param {Number} row 行
|
|
7
|
-
* @param {Number} col 列
|
|
8
|
-
* @param {*} callValue 当前单元格值
|
|
9
|
-
* @returns {String}
|
|
10
|
-
* */
|
|
11
|
-
export function formatTableColumn(row: number, col: number, callValue: any) {
|
|
12
|
-
// 如果当前值为数组,使用 / 拼接(根据需求自定义)
|
|
13
|
-
if (isArray(callValue)) return callValue.length ? callValue.join(" / ") : "--";
|
|
14
|
-
return callValue ?? "--";
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description 处理值无数据情况
|
|
19
|
-
* @param {*} callValue 需要处理的值
|
|
20
|
-
* @returns {String}
|
|
21
|
-
* */
|
|
22
|
-
export function formatValue(callValue: any) {
|
|
23
|
-
// 如果当前值为数组,使用 / 拼接(根据需求自定义)
|
|
24
|
-
if (isArray(callValue)) return callValue.length ? callValue.join(" / ") : "--";
|
|
25
|
-
return callValue ?? "--";
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @description 处理 prop 为多级嵌套的情况,返回的数据 (列如: prop: user.name)
|
|
30
|
-
* @param {Object} row 当前行数据
|
|
31
|
-
* @param {String} prop 当前 prop
|
|
32
|
-
* @returns {*}
|
|
33
|
-
* */
|
|
34
|
-
export function handleRowAccordingToProp(row: { [key: string]: any }, prop: string) {
|
|
35
|
-
if (!prop.includes(".")) return row[prop] ?? "--";
|
|
36
|
-
prop.split(".").forEach(item => (row = row[item] ?? "--"));
|
|
37
|
-
return row;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @description 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop
|
|
42
|
-
* @param {String} prop 当前 prop
|
|
43
|
-
* @returns {String}
|
|
44
|
-
* */
|
|
45
|
-
export function handleProp(prop: string) {
|
|
46
|
-
const propArr = prop.split(".");
|
|
47
|
-
if (propArr.length == 1) return prop;
|
|
48
|
-
return propArr[propArr.length - 1];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @description 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)
|
|
53
|
-
* @param {String} callValue 当前单元格值
|
|
54
|
-
* @param {Array} enumData 字典列表
|
|
55
|
-
* @param {Array} fieldNames label && value && children 的 key 值
|
|
56
|
-
* @param {String} type 过滤类型(目前只有 tag)
|
|
57
|
-
* @returns {String}
|
|
58
|
-
* */
|
|
59
|
-
export function filterEnum(callValue: any, enumData?: any, fieldNames?: FieldNamesProps, type?: "tag") {
|
|
60
|
-
const value = fieldNames?.value ?? "value";
|
|
61
|
-
const label = fieldNames?.label ?? "label";
|
|
62
|
-
const children = fieldNames?.children ?? "children";
|
|
63
|
-
let filterData: { [key: string]: any } = {};
|
|
64
|
-
// 判断 enumData 是否为数组
|
|
65
|
-
if (Array.isArray(enumData)) filterData = findItemNested(enumData, callValue, value, children);
|
|
66
|
-
// 判断是否输出的结果为 tag 类型
|
|
67
|
-
if (type == "tag") {
|
|
68
|
-
return filterData?.tagType ? filterData.tagType : "";
|
|
69
|
-
} else {
|
|
70
|
-
return filterData ? filterData[label] : "--";
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @description 递归查找 callValue 对应的 enum 值
|
|
76
|
-
* */
|
|
77
|
-
export function findItemNested(enumData: any, callValue: any, value: string, children: string) {
|
|
78
|
-
return enumData.reduce((accumulator: any, current: any) => {
|
|
79
|
-
if (accumulator) return accumulator;
|
|
80
|
-
if (current[value] === callValue) return current;
|
|
81
|
-
if (current[children]) return findItemNested(current[children], callValue, value, children);
|
|
82
|
-
}, null);
|
|
83
|
-
}
|
package/src/utils/localUtils.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description 获取localStorage
|
|
3
|
-
* @param {String} key Storage名称
|
|
4
|
-
* @returns {String}
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { DEMO_KEY } from "@/config";
|
|
8
|
-
export function localGet(key: string) {
|
|
9
|
-
const value = window.localStorage.getItem(DEMO_KEY + key);
|
|
10
|
-
try {
|
|
11
|
-
return JSON.parse(window.localStorage.getItem(DEMO_KEY + key) as string);
|
|
12
|
-
} catch (error) {
|
|
13
|
-
return value;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description 存储localStorage
|
|
19
|
-
* @param {String} key Storage名称
|
|
20
|
-
* @param {*} value Storage值
|
|
21
|
-
* @returns {void}
|
|
22
|
-
*/
|
|
23
|
-
export function localSet(key: string, value: any) {
|
|
24
|
-
window.localStorage.setItem(DEMO_KEY + key, JSON.stringify(value));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @description 清除localStorage
|
|
29
|
-
* @param {String} key Storage名称
|
|
30
|
-
* @returns {void}
|
|
31
|
-
*/
|
|
32
|
-
export function localRemove(key: string) {
|
|
33
|
-
window.localStorage.removeItem(DEMO_KEY + key);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @description 清除所有localStorage
|
|
38
|
-
* @returns {void}
|
|
39
|
-
*/
|
|
40
|
-
export function localClear() {
|
|
41
|
-
window.localStorage.clear();
|
|
42
|
-
}
|
package/src/utils/serviceDict.ts
DELETED
package/src/vite-env.d.ts
DELETED
package/tsconfig.json
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"declaration": true,
|
|
4
|
-
"target": "ESNext",
|
|
5
|
-
"useDefineForClassFields": true,
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"moduleResolution": "Node",
|
|
8
|
-
"types": ["vite/client", "element-plus/global"],
|
|
9
|
-
"sourceMap": true,
|
|
10
|
-
/* Strict Type-Checking Options */
|
|
11
|
-
"strict": false /* 不使用严格的类型检查. */,
|
|
12
|
-
"noImplicitAny": false /* 是否在表达式和声明上有隐含的any类型时报错. */,
|
|
13
|
-
"declarationDir": "./lib/types",
|
|
14
|
-
"emitDeclarationOnly": true,
|
|
15
|
-
// "strictNullChecks": true, /* Enable strict null checks. */
|
|
16
|
-
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
|
17
|
-
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
|
18
|
-
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
|
19
|
-
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
|
20
|
-
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
|
21
|
-
"allowSyntheticDefaultImports": true,
|
|
22
|
-
"jsx": "preserve",
|
|
23
|
-
"resolveJsonModule": true,
|
|
24
|
-
"isolatedModules": true,
|
|
25
|
-
"esModuleInterop": true,
|
|
26
|
-
"lib": ["ESNext", "DOM"],
|
|
27
|
-
"skipLibCheck": true,
|
|
28
|
-
// "noEmit": true,
|
|
29
|
-
"baseUrl": "./",
|
|
30
|
-
"paths": {
|
|
31
|
-
"@": ["src"],
|
|
32
|
-
"@/*": ["src/*"]
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
"include": [
|
|
36
|
-
"src/**/*.ts",
|
|
37
|
-
"src/*.ts",
|
|
38
|
-
"src/**/*.js",
|
|
39
|
-
"src/**/*.d.ts",
|
|
40
|
-
"src/**/*.tsx",
|
|
41
|
-
"build/**/*.ts",
|
|
42
|
-
"build/**/*.d.ts",
|
|
43
|
-
"lib/**/*.ts",
|
|
44
|
-
"lib/**/*.d.ts",
|
|
45
|
-
"vite.config.ts",
|
|
46
|
-
"./components.d.ts",
|
|
47
|
-
"./auto-imports.d.ts"
|
|
48
|
-
],
|
|
49
|
-
"exclude": ["node_modules", "dist", "src/views/**/*.ts"]
|
|
50
|
-
}
|
package/vite.config.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { defineConfig, loadEnv, ConfigEnv, UserConfig } from "vite";
|
|
2
|
-
import { resolve } from "path";
|
|
3
|
-
import { wrapperEnv } from "./build/getEnv";
|
|
4
|
-
import { createProxy } from "./build/proxy";
|
|
5
|
-
import { createVitePlugins } from "./build/plugins";
|
|
6
|
-
import pkg from "./package.json";
|
|
7
|
-
import dayjs from "dayjs";
|
|
8
|
-
|
|
9
|
-
const { dependencies, devDependencies, name, version } = pkg;
|
|
10
|
-
const __APP_INFO__ = {
|
|
11
|
-
pkg: { dependencies, devDependencies, name, version },
|
|
12
|
-
lastBuildTime: dayjs().format("YYYY-MM-DD HH:mm:ss")
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const fs: any = {
|
|
16
|
-
maxFileSize: 5 * 1024 * 1024
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
// @see: https://vitejs.dev/config/
|
|
20
|
-
export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
|
|
21
|
-
const root = process.cwd();
|
|
22
|
-
const env = loadEnv(mode, root);
|
|
23
|
-
const viteEnv = wrapperEnv(env);
|
|
24
|
-
return {
|
|
25
|
-
base: viteEnv.VITE_PUBLIC_PATH,
|
|
26
|
-
root,
|
|
27
|
-
resolve: {
|
|
28
|
-
alias: {
|
|
29
|
-
"@": resolve(__dirname, "./src"),
|
|
30
|
-
packages: resolve("packages")
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
define: {
|
|
34
|
-
__APP_INFO__: JSON.stringify(__APP_INFO__)
|
|
35
|
-
},
|
|
36
|
-
css: {
|
|
37
|
-
preprocessorOptions: {
|
|
38
|
-
scss: {
|
|
39
|
-
api: "modern-compiler",
|
|
40
|
-
additionalData: `@import "@/styles/var.scss";`
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
server: {
|
|
45
|
-
host: "0.0.0.0",
|
|
46
|
-
port: viteEnv.VITE_PORT,
|
|
47
|
-
open: viteEnv.VITE_OPEN,
|
|
48
|
-
cors: true,
|
|
49
|
-
// Load proxy configuration from .env.development
|
|
50
|
-
proxy: createProxy(viteEnv.VITE_PROXY),
|
|
51
|
-
fs: fs
|
|
52
|
-
},
|
|
53
|
-
plugins: createVitePlugins(viteEnv),
|
|
54
|
-
esbuild: {
|
|
55
|
-
pure: viteEnv.VITE_DROP_CONSOLE ? ["console.log", "debugger"] : []
|
|
56
|
-
},
|
|
57
|
-
build: {
|
|
58
|
-
outDir: "lib", //输出文件名称
|
|
59
|
-
lib: {
|
|
60
|
-
entry: resolve(__dirname, "src/plugins/index.js"), //指定组件编译入口文件
|
|
61
|
-
name: "zyf-model-engine",
|
|
62
|
-
fileName: "zyf-model-engine"
|
|
63
|
-
}, //库编译模式配置
|
|
64
|
-
rollupOptions: {
|
|
65
|
-
// 确保外部化处理那些你不想打包进库的依赖
|
|
66
|
-
external: ["vue"],
|
|
67
|
-
output: {
|
|
68
|
-
// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
|
|
69
|
-
globals: {
|
|
70
|
-
vue: "Vue"
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
} // rollup打包配置
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
});
|