From 003d2d07973ed4c24093bfa82909bfed90231d60 Mon Sep 17 00:00:00 2001 From: xuli Date: Thu, 20 Nov 2025 17:45:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A1=E6=A3=80=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tgitconfig | 0 package-lock.json | 2648 ++++++++++------- package.json | 2 + src/components/calenderMonth.vue | 235 ++ src/components/calenderMonthSimple.vue | 161 + src/components/circleTemplate.vue | 55 + src/components/pollingShowModal.vue | 238 ++ src/components/searchDate.vue | 235 ++ src/manifest.json | 9 +- src/pages.json | 32 +- src/pages/business/polling/index.vue | 22 +- src/pages/business/polling/issueTracking.vue | 13 - src/pages/business/polling/optionDetail.vue | 603 ++++ src/pages/business/polling/problemDetail.vue | 323 ++ src/pages/business/polling/problemList.vue | 378 +++ src/pages/business/polling/problemLog.vue | 280 ++ src/pages/business/polling/problemReport.vue | 292 ++ src/pages/business/polling/searchList.vue | 682 +++-- src/pages/business/polling/taskDetail.vue | 484 +++ src/pages/business/polling/taskList.vue | 415 ++- src/pages/login/login.vue | 2 +- src/static/common.css | 52 +- src/static/images/polling/bg-XunJian.png | Bin 0 -> 38413 bytes src/static/images/polling/icon-AddPic.png | Bin 0 -> 1599 bytes src/static/images/polling/icon-AddPorV.png | Bin 0 -> 3307 bytes src/static/images/polling/icon-AddVideo.png | Bin 0 -> 987 bytes src/static/images/polling/icon-Alert.png | Bin 0 -> 4055 bytes src/static/images/polling/icon-Location-b.png | Bin 0 -> 1231 bytes src/static/images/polling/icon-Location.png | Bin 0 -> 1155 bytes src/static/images/polling/icon-NFCcode-b.png | Bin 0 -> 2224 bytes src/static/images/polling/icon-NFCcode.png | Bin 0 -> 2038 bytes src/static/images/polling/icon-QRcode-b.png | Bin 0 -> 494 bytes src/static/images/polling/icon-QRcode.png | Bin 0 -> 476 bytes src/static/images/polling/icon-play.png | Bin 0 -> 3146 bytes src/static/images/polling/icon-repair.png | Bin 0 -> 1494 bytes .../images/polling/icon-search-clock.png | Bin 0 -> 1501 bytes src/static/images/polling/icon-success.png | Bin 0 -> 5117 bytes src/static/images/polling/icon-type.png | Bin 0 -> 310 bytes src/utils/common.js | 23 + src/utils/datetime.js | 36 +- src/utils/minio.js | 121 + src/utils/status.js | 21 + 42 files changed, 5957 insertions(+), 1405 deletions(-) create mode 100644 .tgitconfig create mode 100644 src/components/calenderMonth.vue create mode 100644 src/components/calenderMonthSimple.vue create mode 100644 src/components/circleTemplate.vue create mode 100644 src/components/pollingShowModal.vue create mode 100644 src/components/searchDate.vue delete mode 100644 src/pages/business/polling/issueTracking.vue create mode 100644 src/pages/business/polling/optionDetail.vue create mode 100644 src/pages/business/polling/problemDetail.vue create mode 100644 src/pages/business/polling/problemList.vue create mode 100644 src/pages/business/polling/problemLog.vue create mode 100644 src/pages/business/polling/problemReport.vue create mode 100644 src/pages/business/polling/taskDetail.vue create mode 100644 src/static/images/polling/bg-XunJian.png create mode 100644 src/static/images/polling/icon-AddPic.png create mode 100644 src/static/images/polling/icon-AddPorV.png create mode 100644 src/static/images/polling/icon-AddVideo.png create mode 100644 src/static/images/polling/icon-Alert.png create mode 100644 src/static/images/polling/icon-Location-b.png create mode 100644 src/static/images/polling/icon-Location.png create mode 100644 src/static/images/polling/icon-NFCcode-b.png create mode 100644 src/static/images/polling/icon-NFCcode.png create mode 100644 src/static/images/polling/icon-QRcode-b.png create mode 100644 src/static/images/polling/icon-QRcode.png create mode 100644 src/static/images/polling/icon-play.png create mode 100644 src/static/images/polling/icon-repair.png create mode 100644 src/static/images/polling/icon-search-clock.png create mode 100644 src/static/images/polling/icon-success.png create mode 100644 src/static/images/polling/icon-type.png create mode 100644 src/utils/minio.js diff --git a/.tgitconfig b/.tgitconfig new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json index ee2d279..48b83b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,8 @@ "@dcloudio/uni-ui": "^1.5.11", "crypto-js": "^4.2.0", "mescroll-uni": "^1.3.7", + "minio": "^8.0.6", + "minio-js": "^1.0.7", "pinia": "2.0.20", "uuid": "^11.1.0", "vue": "3.4.21", @@ -160,36 +162,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/core/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/core/node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -199,12 +171,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.28.0.tgz", - "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dependencies": { - "@babel/parser": "^7.28.0", - "@babel/types": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -244,38 +216,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.27.1", "dev": true, @@ -311,38 +251,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-replace-supers": { "version": "7.27.1", "dev": true, @@ -359,38 +267,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.27.1", "dev": true, @@ -403,38 +279,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "license": "MIT", @@ -443,9 +287,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "engines": { "node": ">=6.9.0" } @@ -471,44 +315,12 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/parser": { - "version": "7.28.3", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.3.tgz", - "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dependencies": { - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -532,38 +344,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.27.1", "dev": true, @@ -623,38 +403,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "dev": true, @@ -891,38 +639,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.27.1", "dev": true, @@ -973,38 +689,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-class-properties/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-class-properties/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.27.1", "dev": true, @@ -1041,38 +725,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-class-static-block/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", "dev": true, @@ -1088,20 +740,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.27.1", "dev": true, @@ -1254,38 +892,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.27.1", "dev": true, @@ -1387,38 +993,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.27.1", "dev": true, @@ -1464,38 +1038,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.27.1", "dev": true, @@ -1650,38 +1192,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-private-methods/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-private-methods/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.27.1", "dev": true, @@ -1719,38 +1229,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.27.1", "dev": true, @@ -1937,38 +1415,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-typescript/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.27.1", "dev": true, @@ -2079,13 +1525,43 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { - "version": "7.28.2", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.2.tgz", - "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -3423,7 +2899,6 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.10", - "devOptional": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -3837,7 +3312,6 @@ "version": "9.6.1", "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-9.6.1.tgz", "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, "peer": true, "dependencies": { "@types/estree": "*", @@ -3848,7 +3322,6 @@ "version": "3.7.7", "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, "peer": true, "dependencies": { "@types/eslint": "*", @@ -3889,14 +3362,12 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/node": { "version": "24.0.15", "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.0.15.tgz", "integrity": "sha512-oaeTSbCef7U/z7rDeJA138xpG3NuKc64/rZ2qmUFkFJmnMsAPaluIifqyWd8hSSMxyP9oie3dLAqYPblag9KgA==", - "devOptional": true, "peer": true, "dependencies": { "undici-types": "~7.8.0" @@ -4294,38 +3765,6 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@vitejs/plugin-legacy/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@vitejs/plugin-legacy/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@vitejs/plugin-legacy/node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.14", "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", @@ -4497,38 +3936,6 @@ "node": ">=6.9.0" } }, - "node_modules/@vue/babel-plugin-jsx/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@vue/babel-plugin-jsx/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@vue/babel-plugin-jsx/node_modules/@vue/shared": { "version": "3.5.17", "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.17.tgz", @@ -4566,38 +3973,6 @@ "node": ">=6.9.0" } }, - "node_modules/@vue/babel-plugin-resolve-type/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@vue/babel-plugin-resolve-type/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-core": { "version": "3.5.17", "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.17.tgz", @@ -4830,7 +4205,6 @@ "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", @@ -4841,28 +4215,24 @@ "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", @@ -4874,14 +4244,12 @@ "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4894,7 +4262,6 @@ "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -4904,7 +4271,6 @@ "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, "peer": true, "dependencies": { "@xtuc/long": "4.2.2" @@ -4914,14 +4280,12 @@ "version": "1.13.2", "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4938,7 +4302,6 @@ "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4952,7 +4315,6 @@ "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4965,7 +4327,6 @@ "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4980,7 +4341,6 @@ "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -4991,22 +4351,37 @@ "version": "1.2.0", "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, "peer": true }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "node_modules/abab": { "version": "2.0.6", "dev": true, "license": "BSD-3-Clause", "peer": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "1.3.8", "dev": true, @@ -5066,7 +4441,6 @@ "version": "1.0.4", "resolved": "https://registry.npmmirror.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, "peer": true, "engines": { "node": ">=10.13.0" @@ -5132,7 +4506,6 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "peer": true, "dependencies": { "ajv": "^8.0.0" @@ -5150,7 +4523,6 @@ "version": "8.17.1", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -5167,7 +4539,6 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, "peer": true }, "node_modules/ajv-keywords": { @@ -5258,6 +4629,38 @@ "dev": true, "license": "MIT" }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, "node_modules/asynckit": { "version": "0.4.0", "dev": true, @@ -5300,6 +4703,20 @@ "postcss": "^8.1.0" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/babel-plugin-jest-hoist": { "version": "27.5.1", "dev": true, @@ -5315,21 +4732,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/babel-plugin-jest-hoist/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", "dev": true, @@ -5496,10 +4898,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/block-stream2": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz", + "integrity": "sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==", + "dependencies": { + "readable-stream": "^3.4.0" + } + }, "node_modules/bmp-js": { "version": "0.1.0", "license": "MIT" }, + "node_modules/bn.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==" + }, "node_modules/brace-expansion": { "version": "1.1.12", "dev": true, @@ -5521,12 +4936,133 @@ "node": ">=8" } }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-or-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", + "integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==" + }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "dev": true, "license": "BSD-2-Clause", "peer": true }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "dependencies": { + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "dependencies": { + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.6.1", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.9", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, "node_modules/browserslist": { "version": "4.25.1", "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.25.1.tgz", @@ -5589,6 +5125,14 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/buffer-equal": { "version": "0.0.1", "license": "MIT", @@ -5598,9 +5142,18 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "devOptional": true, "license": "MIT" }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, "node_modules/bytes": { "version": "3.1.2", "dev": true, @@ -5618,13 +5171,15 @@ "node": ">=8" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -5633,11 +5188,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bound/node_modules/call-bind-apply-helpers": { + "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -5646,40 +5200,12 @@ "node": ">= 0.4" } }, - "node_modules/call-bound/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bound/node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, + "node_modules/call-bound": { + "version": "1.0.4", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -5777,7 +5303,6 @@ "version": "1.0.4", "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, "peer": true, "engines": { "node": ">=6.0" @@ -5798,6 +5323,19 @@ "node": ">=8" } }, + "node_modules/cipher-base": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", + "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/cliui": { "version": "7.0.4", "dev": true, @@ -5851,7 +5389,6 @@ }, "node_modules/commander": { "version": "2.20.3", - "devOptional": true, "license": "MIT" }, "node_modules/compare-versions": { @@ -5870,6 +5407,16 @@ "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==" }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, "node_modules/content-disposition": { "version": "0.5.4", "dev": true, @@ -5906,6 +5453,50 @@ "dev": true, "license": "MIT" }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", @@ -5938,6 +5529,31 @@ "node": ">= 8" } }, + "node_modules/crypto-browserify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "dependencies": { + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", @@ -6039,6 +5655,14 @@ "license": "MIT", "peer": true }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/dedent": { "version": "0.7.0", "dev": true, @@ -6115,6 +5739,38 @@ "node": ">=10.17.0" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, @@ -6132,6 +5788,15 @@ "node": ">= 0.8" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/destroy": { "version": "1.2.0", "dev": true, @@ -6171,6 +5836,32 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, + "node_modules/domain-browser": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz", + "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/domexception": { "version": "2.0.1", "dev": true, @@ -6197,7 +5888,6 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -6207,37 +5897,6 @@ "node": ">= 0.4" } }, - "node_modules/dunder-proto/node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/dunder-proto/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/dunder-proto/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/ee-first": { "version": "1.1.1", "dev": true, @@ -6248,6 +5907,25 @@ "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.189.tgz", "integrity": "sha512-y9D1ntS1ruO/pZ/V2FtLE+JXLQe28XoRpZ7QCCo0T8LdQladzdcOVQZH/IWLVJvCw12OGMb6hYOeOAjntCmJRQ==" }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, "node_modules/emoji-regex": { "version": "8.0.0", "dev": true, @@ -6275,7 +5953,6 @@ "version": "5.18.3", "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -6307,12 +5984,19 @@ }, "node_modules/es-define-property": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" } }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.7.0", "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", @@ -6322,7 +6006,6 @@ "version": "1.1.1", "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "dependencies": { "es-errors": "^1.3.0" }, @@ -6330,15 +6013,6 @@ "node": ">= 0.4" } }, - "node_modules/es-object-atoms/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-set-tostringtag": { "version": "2.1.0", "dev": true, @@ -6354,81 +6028,6 @@ "node": ">= 0.4" } }, - "node_modules/es-set-tostringtag/node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag/node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag/node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "peer": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/esbuild": { "version": "0.20.2", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz", @@ -6491,7 +6090,6 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -6505,7 +6103,6 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "peer": true, "engines": { "node": ">=4.0" @@ -6528,7 +6125,6 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "peer": true, "dependencies": { "estraverse": "^5.2.0" @@ -6539,7 +6135,6 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "dev": true, "license": "BSD-2-Clause", "peer": true, "engines": { @@ -6567,16 +6162,36 @@ "node": ">= 0.6" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.x" } }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "node_modules/exif-parser": { "version": "0.1.12" }, @@ -6658,19 +6273,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/express/node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", @@ -6680,66 +6282,12 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/express/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/express/node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/express/node_modules/qs": { "version": "6.13.0", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", @@ -6755,78 +6303,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/exsolve": { "version": "1.0.7", "license": "MIT" @@ -6834,8 +6310,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.3", @@ -6911,7 +6386,6 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.0.tgz", "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, "funding": [ { "type": "github", @@ -6924,6 +6398,23 @@ ], "peer": true }, + "node_modules/fast-xml-parser": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", + "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.1.1" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "dev": true, @@ -6950,6 +6441,14 @@ "node": ">=8" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/finalhandler": { "version": "1.3.1", "dev": true, @@ -7011,6 +6510,20 @@ } } }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/forwarded": { "version": "0.2.0", "dev": true, @@ -7071,6 +6584,22 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/generic-names": { "version": "4.0.0", "license": "MIT", @@ -7095,11 +6624,33 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -7142,7 +6693,6 @@ "version": "0.4.1", "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, "peer": true }, "node_modules/global": { @@ -7155,7 +6705,6 @@ }, "node_modules/gopd": { "version": "1.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7170,18 +6719,27 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -7189,10 +6747,45 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/hash-sum": { "version": "2.0.0", "license": "MIT" }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/hasown": { "version": "2.0.2", "license": "MIT", @@ -7203,12 +6796,14 @@ "node": ">= 0.4" } }, - "node_modules/hasown/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "node_modules/html-encoding-sniffer": { @@ -7252,6 +6847,11 @@ "node": ">= 6" } }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -7325,7 +6925,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/invert-kv": { @@ -7346,6 +6945,21 @@ "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "dev": true, @@ -7362,6 +6976,17 @@ "node": ">=8" } }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz", @@ -7405,6 +7030,24 @@ "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "license": "MIT", @@ -7415,6 +7058,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "license": "MIT", @@ -7428,6 +7086,23 @@ "license": "MIT", "peer": true }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "dev": true, @@ -7439,12 +7114,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "dev": true, "license": "MIT", "peer": true }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/isbinaryfile": { "version": "5.0.4", "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-5.0.4.tgz", @@ -7872,7 +7566,6 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, "peer": true, "dependencies": { "@types/node": "*", @@ -7887,7 +7580,6 @@ "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -7915,40 +7607,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/jest/node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/jest/node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/jest/node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -9918,7 +9576,6 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT", "peer": true }, @@ -9928,6 +9585,11 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/json-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", + "integrity": "sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", @@ -10015,7 +9677,6 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, "peer": true, "engines": { "node": ">=6.11.5" @@ -10103,9 +9764,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "peer": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", @@ -10130,10 +9789,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.17", - "license": "MIT", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/make-dir": { @@ -10177,11 +9837,20 @@ "version": "1.1.0", "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "engines": { "node": ">= 0.4" } }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "node_modules/media-typer": { "version": "0.3.0", "dev": true, @@ -10205,7 +9874,6 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/merge2": { @@ -10250,6 +9918,23 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, "node_modules/mime": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", @@ -10263,7 +9948,6 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -10276,7 +9960,6 @@ "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -10300,6 +9983,16 @@ "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, "node_modules/minimatch": { "version": "3.1.2", "dev": true, @@ -10312,6 +10005,87 @@ "node": "*" } }, + "node_modules/minio": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/minio/-/minio-8.0.6.tgz", + "integrity": "sha512-sOeh2/b/XprRmEtYsnNRFtOqNRTPDvYtMWh+spWlfsuCV/+IdxNeKVUMKLqI7b5Dr07ZqCPuaRGU/rB9pZYVdQ==", + "dependencies": { + "async": "^3.2.4", + "block-stream2": "^2.1.0", + "browser-or-node": "^2.1.1", + "buffer-crc32": "^1.0.0", + "eventemitter3": "^5.0.1", + "fast-xml-parser": "^4.4.1", + "ipaddr.js": "^2.0.1", + "lodash": "^4.17.21", + "mime-types": "^2.1.35", + "query-string": "^7.1.3", + "stream-json": "^1.8.0", + "through2": "^4.0.2", + "web-encoding": "^1.1.5", + "xml2js": "^0.5.0 || ^0.6.2" + }, + "engines": { + "node": "^16 || ^18 || >=20" + } + }, + "node_modules/minio-js": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minio-js/-/minio-js-1.0.7.tgz", + "integrity": "sha512-s5eNtnU9tbIpdJeTwJetnEn/gkScoCpOitQU8UJ8fmFCrIYDFK3gK6HUidilhIL1U7w37hqholuNaOwFFl6O/A==", + "dependencies": { + "minio": "^7.0.32", + "node-polyfill-webpack-plugin": "^2.0.1" + } + }, + "node_modules/minio-js/node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/minio-js/node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/minio-js/node_modules/minio": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minio/-/minio-7.1.3.tgz", + "integrity": "sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA==", + "dependencies": { + "async": "^3.2.4", + "block-stream2": "^2.1.0", + "browser-or-node": "^2.1.1", + "buffer-crc32": "^0.2.13", + "fast-xml-parser": "^4.2.2", + "ipaddr.js": "^2.0.1", + "json-stream": "^1.0.0", + "lodash": "^4.17.21", + "mime-types": "^2.1.35", + "query-string": "^7.1.3", + "through2": "^4.0.2", + "web-encoding": "^1.1.5", + "xml": "^1.0.1", + "xml2js": "^0.5.0" + }, + "engines": { + "node": "^16 || ^18 || >=20" + } + }, + "node_modules/minio/node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "engines": { + "node": ">= 10" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "license": "MIT", @@ -10375,8 +10149,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/node-int64": { "version": "0.4.0", @@ -10384,6 +10157,101 @@ "license": "MIT", "peer": true }, + "node_modules/node-polyfill-webpack-plugin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz", + "integrity": "sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==", + "dependencies": { + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "console-browserify": "^1.2.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.12.0", + "domain-browser": "^4.22.0", + "events": "^3.3.0", + "filter-obj": "^2.0.2", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "punycode": "^2.1.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^4.0.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.3.0", + "timers-browserify": "^2.0.12", + "tty-browserify": "^0.0.1", + "type-fest": "^2.14.0", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.1.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": ">=5" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/filter-obj": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.2.tgz", + "integrity": "sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/node-releases": { "version": "2.0.19", "license": "MIT" @@ -10413,6 +10281,59 @@ "node": ">=8" } }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/omggif": { "version": "1.0.10", "license": "MIT" @@ -10451,6 +10372,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, "node_modules/os-locale-s-fix": { "version": "1.0.8-fix-1", "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz", @@ -10499,6 +10425,26 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parse-asn1": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "pbkdf2": "^3.1.5", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/parse-bmfont-ascii": { "version": "1.0.6", "license": "MIT" @@ -10515,18 +10461,6 @@ "xml2js": "^0.5.0" } }, - "node_modules/parse-bmfont-xml/node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/parse-css-font": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz", @@ -10577,6 +10511,11 @@ "node": ">= 0.8" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -10617,6 +10556,22 @@ "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" }, + "node_modules/pbkdf2": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "dependencies": { + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "ripemd160": "^2.0.3", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/phin": { "version": "2.9.3", "license": "MIT" @@ -10731,6 +10686,14 @@ "node": ">=4.0.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", @@ -10941,6 +10904,11 @@ "node": ">= 0.6.0" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "node_modules/proxy-addr": { "version": "2.0.7", "dev": true, @@ -10953,9 +10921,26 @@ "node": ">= 0.10" } }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==" + }, "node_modules/punycode": { "version": "2.3.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -10971,6 +10956,45 @@ "qrcode-terminal": "bin/qrcode-terminal.js" } }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/querystringify": { "version": "2.2.0", "dev": true, @@ -10999,12 +11023,19 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "node_modules/range-parser": { "version": "1.2.1", "dev": true, @@ -11041,6 +11072,19 @@ "pify": "^2.3.0" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "license": "MIT", @@ -11145,7 +11189,6 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -11221,6 +11264,69 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/ripemd160": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "dependencies": { + "hash-base": "^3.1.2", + "inherits": "^2.0.4" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/hash-base": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/ripemd160/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/ripemd160/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/ripemd160/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ripemd160/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -11249,7 +11355,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -11266,6 +11371,22 @@ ], "license": "MIT" }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "dev": true, @@ -11480,7 +11601,6 @@ "version": "6.0.2", "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, "peer": true, "dependencies": { "randombytes": "^2.1.0" @@ -11500,11 +11620,51 @@ "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, "node_modules/setprototypeof": { "version": "1.2.0", "dev": true, "license": "ISC" }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -11524,6 +11684,74 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "dev": true, @@ -11561,13 +11789,20 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "devOptional": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "dev": true, @@ -11594,6 +11829,55 @@ "node": ">= 0.8" } }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-chain": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", + "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==" + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/stream-json": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", + "integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==", + "dependencies": { + "stream-chain": "^2.2.5" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-hash": { "version": "1.1.3", "license": "CC0-1.0" @@ -11667,6 +11951,17 @@ "version": "9.0.1", "license": "MIT" }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ] + }, "node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -11725,7 +12020,6 @@ "version": "5.43.1", "resolved": "https://registry.npmmirror.com/terser/-/terser-5.43.1.tgz", "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", - "devOptional": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.14.0", @@ -11743,7 +12037,6 @@ "version": "5.3.14", "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", @@ -11778,7 +12071,6 @@ "version": "8.17.1", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -11795,7 +12087,6 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" @@ -11808,14 +12099,12 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, "peer": true }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "4.3.2", "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.2.tgz", "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "dev": true, "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -11831,6 +12120,25 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -11867,6 +12175,19 @@ "license": "BSD-3-Clause", "peer": true }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "license": "MIT", @@ -11897,6 +12218,11 @@ "node": ">=8" } }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", @@ -11931,6 +12257,19 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "dev": true, @@ -11946,7 +12285,6 @@ }, "node_modules/undici-types": { "version": "7.8.0", - "devOptional": true, "license": "MIT", "peer": true }, @@ -12119,6 +12457,18 @@ "punycode": "^2.1.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/url-parse": { "version": "1.5.10", "dev": true, @@ -12129,6 +12479,11 @@ "requires-port": "^1.0.0" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, "node_modules/utif": { "version": "2.0.1", "license": "MIT", @@ -12136,10 +12491,17 @@ "pako": "^1.0.5" } }, - "node_modules/utif/node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } }, "node_modules/util-deprecate": { "version": "1.0.2", @@ -12493,6 +12855,11 @@ "fsevents": "~2.3.2" } }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, "node_modules/vue": { "version": "3.4.21", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.21.tgz", @@ -12571,7 +12938,6 @@ "version": "2.4.4", "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.4.tgz", "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", - "dev": true, "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -12581,6 +12947,17 @@ "node": ">=10.13.0" } }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, "node_modules/webidl-conversions": { "version": "6.1.0", "dev": true, @@ -12594,7 +12971,6 @@ "version": "5.101.3", "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.101.3.tgz", "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==", - "dev": true, "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", @@ -12643,7 +13019,6 @@ "version": "3.3.3", "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.3.3.tgz", "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", - "dev": true, "peer": true, "engines": { "node": ">=10.13.0" @@ -12658,7 +13033,6 @@ "version": "8.17.1", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -12675,7 +13049,6 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" @@ -12688,14 +13061,12 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, "peer": true }, "node_modules/webpack/node_modules/schema-utils": { "version": "4.3.2", "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.2.tgz", "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "dev": true, "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -12740,6 +13111,26 @@ "node": ">= 8" } }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "dev": true, @@ -12793,6 +13184,11 @@ "xtend": "^4.0.0" } }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, "node_modules/xml-name-validator": { "version": "3.0.0", "dev": true, @@ -12803,6 +13199,18 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", diff --git a/package.json b/package.json index e40da55..6439f36 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,8 @@ "@dcloudio/uni-ui": "^1.5.11", "crypto-js": "^4.2.0", "mescroll-uni": "^1.3.7", + "minio": "^8.0.6", + "minio-js": "^1.0.7", "pinia": "2.0.20", "uuid": "^11.1.0", "vue": "3.4.21", diff --git a/src/components/calenderMonth.vue b/src/components/calenderMonth.vue new file mode 100644 index 0000000..49136b7 --- /dev/null +++ b/src/components/calenderMonth.vue @@ -0,0 +1,235 @@ + + + + + \ No newline at end of file diff --git a/src/components/calenderMonthSimple.vue b/src/components/calenderMonthSimple.vue new file mode 100644 index 0000000..79e0d88 --- /dev/null +++ b/src/components/calenderMonthSimple.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/src/components/circleTemplate.vue b/src/components/circleTemplate.vue new file mode 100644 index 0000000..eda6f6f --- /dev/null +++ b/src/components/circleTemplate.vue @@ -0,0 +1,55 @@ + + + + + \ No newline at end of file diff --git a/src/components/pollingShowModal.vue b/src/components/pollingShowModal.vue new file mode 100644 index 0000000..2a4f7a8 --- /dev/null +++ b/src/components/pollingShowModal.vue @@ -0,0 +1,238 @@ + + + + + \ No newline at end of file diff --git a/src/components/searchDate.vue b/src/components/searchDate.vue new file mode 100644 index 0000000..c7f2b20 --- /dev/null +++ b/src/components/searchDate.vue @@ -0,0 +1,235 @@ + + + + + \ No newline at end of file diff --git a/src/manifest.json b/src/manifest.json index 769273e..7a45612 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -22,7 +22,9 @@ }, /* 模块配置 */ "modules" : { - "Push" : {} + "Push" : {}, + "Camera" : {}, + "Barcode" : {} }, /* 应用发布信息 */ "distribute" : { @@ -57,10 +59,11 @@ "", "", "", - "" + "", + "" ], "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ], - "minSdkVersion" : 26, + "minSdkVersion" : 23, "targetSdkVersion" : 35, "icons" : { "android" : { diff --git a/src/pages.json b/src/pages.json index 4bceb87..6c1c9fd 100644 --- a/src/pages.json +++ b/src/pages.json @@ -622,7 +622,25 @@ } }, { - "path": "pages/business/polling/issueTracking", + "path": "pages/business/polling/taskDetail", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/polling/optionDetail", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/polling/problemDetail", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/polling/problemList", "style": { "navigationBarTitleText": "" } @@ -632,6 +650,18 @@ "style": { "navigationBarTitleText": "" } + }, + { + "path": "pages/business/polling/problemReport", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/polling/problemLog", + "style": { + "navigationBarTitleText": "" + } } ], "globalStyle": { diff --git a/src/pages/business/polling/index.vue b/src/pages/business/polling/index.vue index 13cbdf8..96461e7 100644 --- a/src/pages/business/polling/index.vue +++ b/src/pages/business/polling/index.vue @@ -22,7 +22,7 @@ 日常巡检 - + {{ item.taskName }} @@ -70,9 +70,9 @@ - 临时巡检 + 临时巡检 - + {{ item.taskName }} @@ -124,7 +124,7 @@ 问题跟踪 - + {{ item.problemDesc }} @@ -359,9 +359,17 @@ const getList = (pageIndex, pageSize) => { } -// 查看详情 -const handleDetail = (item) =>{ - +// 查看详情 type 1-任务详情 2-问题详情 +const handleDetail = (item,type) =>{ + let url='' + if(type==1){ + url = '/pages/business/polling/taskDetail?id='+item.taskId; + }else{ + url = '/pages/business/polling/problemDetail?id='+item.taskId; + } + uni.navigateTo({ + url + }); } // 跳转webview diff --git a/src/pages/business/polling/issueTracking.vue b/src/pages/business/polling/issueTracking.vue deleted file mode 100644 index e18efea..0000000 --- a/src/pages/business/polling/issueTracking.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/pages/business/polling/optionDetail.vue b/src/pages/business/polling/optionDetail.vue new file mode 100644 index 0000000..cb68ffa --- /dev/null +++ b/src/pages/business/polling/optionDetail.vue @@ -0,0 +1,603 @@ + + + \ No newline at end of file diff --git a/src/pages/business/polling/problemDetail.vue b/src/pages/business/polling/problemDetail.vue new file mode 100644 index 0000000..3b26f7c --- /dev/null +++ b/src/pages/business/polling/problemDetail.vue @@ -0,0 +1,323 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/polling/problemList.vue b/src/pages/business/polling/problemList.vue new file mode 100644 index 0000000..65d858d --- /dev/null +++ b/src/pages/business/polling/problemList.vue @@ -0,0 +1,378 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/polling/problemLog.vue b/src/pages/business/polling/problemLog.vue new file mode 100644 index 0000000..b97ccf3 --- /dev/null +++ b/src/pages/business/polling/problemLog.vue @@ -0,0 +1,280 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/polling/problemReport.vue b/src/pages/business/polling/problemReport.vue new file mode 100644 index 0000000..aa53ee9 --- /dev/null +++ b/src/pages/business/polling/problemReport.vue @@ -0,0 +1,292 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/polling/searchList.vue b/src/pages/business/polling/searchList.vue index 5833238..eff1979 100644 --- a/src/pages/business/polling/searchList.vue +++ b/src/pages/business/polling/searchList.vue @@ -15,143 +15,189 @@ - - + + - - + + + + + + + + {{count1}} + 待巡检 + + + {{count2}} + 已巡检 + + + {{count3}} + 未完成 + + - 日常巡检 - - - - {{ item.taskName }} - - - - - - - - - - - - - 巡检单号{{ item.taskId }} - - - - 开始时间{{ item.planTime }} - 任务时长{{ item.workHour }}小时 - - - - - - 完成进度{{item.count}}/{{item.total}} - - 完成比率{{item.percentage}} - - - - - 任务状态 - - 待执行 - 执行中 - - {{formatTaskStatus(item.taskStatus) }} - - - - + + + + - - - - 临时巡检 - - - - {{ item.taskName }} - - - - - - - - - - - - - 巡检单号{{ item.taskId }} - - - - 开始时间{{ item.planTime }} - 任务时长{{ item.workHour }}小时 - - - - - - 完成进度{{item.count}}/{{item.total}} - - 完成比率{{item.percentage}} - - - - - 任务状态 - - 待执行 - 执行中 - - {{formatTaskStatus(item.taskStatus) }} + + + + + + {{parseTime(row.date,'{y}-{m}-{d} 星期{a}')}} + + + 日常巡检 + + + + {{ item.taskName }} + + + + + + + + + - - - - - - - - - - 问题跟踪 - - - - {{ item.problemDesc }} - - - 进行中 - 已解决 + + 巡检单号{{ item.taskId }} - - - - 跟踪次数{{ item.count }} - 最近跟踪时间{{ item.planTime }} + + + 开始时间{{ item.planTime }} + 任务时长{{ item.workHour }}小时 + + + + + 完成进度{{item.count}}/{{item.total}} + + 完成比率{{item.percentage}} + + + + + 任务状态 + + 待执行 + 执行中 + + {{formatTaskStatus(item.taskStatus) }} + + + + - + + + + + + 临时巡检 + + + + {{ item.taskName }} + + + + + + + + + + + + + 巡检单号{{ item.taskId }} + + + + 开始时间{{ item.planTime }} + 任务时长{{ item.workHour }}小时 + + + + + + 完成进度{{item.count}}/{{item.total}} + + 完成比率{{item.percentage}} + + + + + 任务状态 + + 待执行 + 执行中 + + {{formatTaskStatus(item.taskStatus) }} + + + + + + + + + + + + + 问题跟踪 + + + + {{ item.problemDesc }} + + + 进行中 + 已解决 + + + + + 跟踪次数{{ item.count }} + 最近跟踪时间{{ item.planTime }} + + + + + + + + + - - - @@ -162,35 +208,52 @@ import { ref,onMounted } from 'vue' import { onLoad,onHide } from '@dcloudio/uni-app'; import customHeader from '@/components/customHeader.vue'; import MescrollUni from 'mescroll-uni/mescroll-uni.vue'; +import calenderMonth from '@/components/calenderMonth.vue' +import calenderMonthSimple from '@/components/calenderMonthSimple.vue' import customTabs from '@/components/customTabs.vue'; import { parseTime } from '@/utils/datetime.js'; import { formatTaskStatus } from '@/utils/status.js'; import { noticeList } from '@/api/notice.js' +const form = ref({});//查询条件 + +const year=ref('');//默认月份 +const month=ref('');//默认月份 const activeTab = ref(0);//默认按天查看 const tabList = ['按天查看', '按月查看']; -// '2025-12-29 星期五' -let dateStr = ref(''); +let count1=ref(12);//待巡检 +let count2=ref(9);//已巡检 +let count3=ref(3);//已完成 onLoad(option => { let date = new Date(); - dateStr.value = parseTime(date,'{y}-{m}-{d} 星期{a}'); + year.value = date.getFullYear(); + month.value = date.getMonth()+1; }) -// tab切换 +// tab切换 按日 or 按月 0-按日 1-按月 const handleTab = (index)=>{ - activeTab.value = index + activeTab.value = index; + isMonth.value=true; + // scrollToPosition(); + } -// 日历 +// 日历初始化 const calendarInfo = ref({ range: true, insert: false,//插入模式,可选值,ture:插入模式;false:弹窗模式;默认为插入模式 selected: [], showMonth:true, }); -const change=(e)=> { - console.log('change 返回:', e) +// 按日选择 选月处理 +const monthSwitch=(e)=>{ + console.log('monthSwitchs 返回:', e) +} +// 按日选择 日历change +const calendarChange=(e)=> { + console.log('按日选择 返回:', e.fulldate) + form.value.selectDate = e.fulldate // 模拟动态打卡 // if (calendarInfo.value.selected.length > 5) return // calendarInfo.value.selected.push({ @@ -199,16 +262,21 @@ const change=(e)=> { // }) } -const monthSwitch=(e)=>{ - console.log('monthSwitchs 返回:', e) +// 按月选择 日历change +const calendarChange2=(value)=> { + console.log("按月选择 选择具体月份=>",value) + form.value.selectDate = value.ymStr + year.value = value.year; + month.value = value.month; } + // 查询列表 -let list1 = ref([]); -let list2 = ref([]); -let list3 = ref([]); +let list = ref([]) const mescrollRef = ref(null); +const isMonth = ref(true); const upOption = ref({ + onScroll:true, page: { num: 0, size: 10 }, noMoreSize: 5, empty: { @@ -227,20 +295,29 @@ const downOption = ref({ }); let cssFlag=ref(false);//控制样式 -const mescrollInit = (mescroll) => { +const mescrollInit = async(mescroll) => { cssFlag.value = true; mescrollRef.value = mescroll; }; +// 滚动到指定位置 +const scrollToPosition = () => { + console.log(mescrollRef) + if (mescrollRef) { + // 滚动到指定Y坐标位置(单位px) + mescrollRef.value.scrollTo(0, 300) // 滚动到Y=500的位置,动画时长300ms + // mescrollRef.value.scrollTop=0; + } +} + // 下拉刷新 const downCallback = async (mescroll) => { try { console.log("下拉刷新") + isMonth.value=true; const res = await getList(1, upOption.value.page.size); cssFlag.value = false; - list1.value = res.list1; - list2.value = res.list2; - list3.value = res.list3; + list.value = res.list; mescroll.resetUpScroll(); } catch (error) { mescroll.endErr(); @@ -256,9 +333,7 @@ const upCallback = async (mescroll) => { console.log("上拉加载更多") let res = await getList(mescroll.num, mescroll.size); if (mescroll.num === 1) { - list1.value = res.list1; - list2.value = res.list2; - list3.value = res.list3; + list.value = res.list; } else { // list.value.push(...res.list); } @@ -281,105 +356,110 @@ const getList = (pageIndex, pageSize) => { "code": 200, "msg": "操作成功", "data": { - list1:[ + list:[ { - taskName:'日常巡检任务AAA日常巡检任务111', - taskId:202512297899, - taskStatus:3, - planTime:'10:25', - workHour:1, - count:0, - total:70, - percentage:'30%' - }, - { - taskName:'日常巡检任务AAA日常巡检任务222', - taskId:202512297899, - taskStatus:3, - planTime:'10:25', - workHour:1, - count:20, - total:70, - percentage:'40%' - }, - { - taskName:'日常巡检任务BBB,任务名称过长时可折行 行距35px', - taskId:202512297899, - taskStatus:4, - planTime:'10:25', - workHour:1, - count:70, - total:70, - percentage:'100%' - }, - { - taskName:'日常巡检任务ccc,任务名称', - taskId:202512297899, - taskStatus:5, - planTime:'10:25', - workHour:1, - count:70, - total:70, - percentage:'100%' - }, - ], - list2:[ - { - taskName:'日常巡检任务AAA日常巡检任务111', - taskId:202512297899, - taskStatus:3, - planTime:'10:25', - workHour:1, - count:0, - total:70, - percentage:'30%' - }, - { - taskName:'日常巡检任务AAA日常巡检任务222', - taskId:202512297899, - taskStatus:3, - planTime:'10:25', - workHour:1, - count:20, - total:70, - percentage:'40%' - }, - { - taskName:'日常巡检任务BBB,任务名称过长时可折行 行距35px', - taskId:202512297899, - taskStatus:4, - planTime:'10:25', - workHour:1, - count:70, - total:70, - percentage:'100%' - }, - { - taskName:'日常巡检任务ccc,任务名称', - taskId:202512297899, - taskStatus:5, - planTime:'10:25', - workHour:1, - count:70, - total:70, - percentage:'100%' - }, - ], - list3:[ - { - problemDesc:'西区地下车库入口防汛物资摆放', - problemId:202512297899, - problemStatus:1, - modifyTime:new Date().getTime(), - count:0, - }, - { - problemDesc:'监控室消防设备阀门确保正常开启闭合', - problemId:202512297899, - problemStatus:2, - modifyTime:new Date().getTime(), - count:20, - + date:new Date(), + list1:[ + { + taskName:'日常巡检任务AAA日常巡检任务111', + taskId:202512297899, + taskStatus:3, + planTime:'10:25', + workHour:1, + count:0, + total:70, + percentage:'30%' + }, + { + taskName:'日常巡检任务AAA日常巡检任务222', + taskId:202512297899, + taskStatus:3, + planTime:'10:25', + workHour:1, + count:20, + total:70, + percentage:'40%' + }, + { + taskName:'日常巡检任务BBB,任务名称过长时可折行 行距35px', + taskId:202512297899, + taskStatus:4, + planTime:'10:25', + workHour:1, + count:70, + total:70, + percentage:'100%' + }, + { + taskName:'日常巡检任务ccc,任务名称', + taskId:202512297899, + taskStatus:5, + planTime:'10:25', + workHour:1, + count:70, + total:70, + percentage:'100%' + }, + ], + list2:[ + { + taskName:'日常巡检任务AAA日常巡检任务111', + taskId:202512297899, + taskStatus:3, + planTime:'10:25', + workHour:1, + count:0, + total:70, + percentage:'30%' + }, + { + taskName:'日常巡检任务AAA日常巡检任务222', + taskId:202512297899, + taskStatus:3, + planTime:'10:25', + workHour:1, + count:20, + total:70, + percentage:'40%' + }, + { + taskName:'日常巡检任务BBB,任务名称过长时可折行 行距35px', + taskId:202512297899, + taskStatus:4, + planTime:'10:25', + workHour:1, + count:70, + total:70, + percentage:'100%' + }, + { + taskName:'日常巡检任务ccc,任务名称', + taskId:202512297899, + taskStatus:5, + planTime:'10:25', + workHour:1, + count:70, + total:70, + percentage:'100%' + }, + ], + list3:[ + { + problemDesc:'西区地下车库入口防汛物资摆放', + problemId:202512297899, + problemStatus:1, + modifyTime:new Date().getTime(), + count:0, + }, + { + problemDesc:'监控室消防设备阀门确保正常开启闭合', + problemId:202512297899, + problemStatus:2, + modifyTime:new Date().getTime(), + count:20, + + } + ] } ] } @@ -393,9 +473,33 @@ const getList = (pageIndex, pageSize) => { } -// 查看详情 -const handleDetail = (item) =>{ +// 滚动位置 +const onScroll = (mescrollInstance)=>{ + const y = mescrollInstance.getScrollTop() + // const maxScroll = mescrollInstance.getScrollHeight() - mescrollInstance.getClientHeight() + // console.log(y) + if(activeTab.value==1){ + if(y==0){ + isMonth.value=true; + } + if(y>=200){ + isMonth.value=false; + } + } + +} +// 查看详情 type 1-任务详情 2-问题详情 +const handleDetail = (item,type) =>{ + let url='' + if(type==1){ + url = '/pages/business/polling/taskDetail?id='+item.taskId; + }else{ + url = '/pages/business/polling/problemDetail?id='+item.taskId; + } + uni.navigateTo({ + url + }); } // 跳转webview @@ -409,6 +513,50 @@ const handleJump = (item)=>{ \ No newline at end of file diff --git a/src/pages/business/polling/taskDetail.vue b/src/pages/business/polling/taskDetail.vue new file mode 100644 index 0000000..6c90b05 --- /dev/null +++ b/src/pages/business/polling/taskDetail.vue @@ -0,0 +1,484 @@ + + + \ No newline at end of file diff --git a/src/pages/business/polling/taskList.vue b/src/pages/business/polling/taskList.vue index 04959c2..9bc4b99 100644 --- a/src/pages/business/polling/taskList.vue +++ b/src/pages/business/polling/taskList.vue @@ -1,13 +1,422 @@ - - \ No newline at end of file diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index f919a52..b5472e9 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -266,7 +266,7 @@ const submitForm = () => { //h5测试用 内网-sn123456 //公司外网 'f3fca83f-bf56-47f4-a98b-a602ed8bddee' 529a5543-6957-401e-b090-13df6dee5429 //友晟外网 'b97527c8-2ad4-493c-a01c-5f9d0aabaff2' - param.uniqCode = '4d8489b7-78cd-4db2-9227-d7c2ab2093d8'; + param.uniqCode ='1af78c0a-b878-425f-9dc5-bee42146860a' //'4d8489b7-78cd-4db2-9227-d7c2ab2093d8'; let res = await login(param); userStore.login(res); uni.switchTab({ url: '/pages/home/home' }) diff --git a/src/static/common.css b/src/static/common.css index a32fb45..8e06908 100644 --- a/src/static/common.css +++ b/src/static/common.css @@ -292,16 +292,28 @@ page { color:#3384DF; font-size:38rpx; font-weight: bold; + margin:10rpx 0; +} +.white-bg .blue-sub-title{ + color:#3384DF; + font-size:28rpx; + font-weight: bold; + margin:10rpx 0; +} +.white-bg .blue-sub-title text{ + font-weight:normal; } .white-bg .green-title{ color:#12BC36; font-size:38rpx; font-weight: bold; + margin:10rpx 0; } .white-bg .red-title{ color:#FF687A; font-size:38rpx; font-weight: bold; + margin:10rpx 0; } .white-bg .w-b-title { @@ -693,7 +705,13 @@ uni-button[type='primary'][plain] { /* 日历修改 begin */ .calender-con{ box-shadow: 0px 0px 15px 0px rgba(4, 0, 0, 0.15); - padding-bottom:30rpx; + padding-bottom:40rpx; +} +.calender-con .uni-calendar__content{ + padding:0 20rpx !important; +} +.calender-con .uni-calendar__backtoday{ + right:-20rpx !important; } .calender-con .uni-calendar__header-text{ color:#333333 !important; @@ -709,35 +727,55 @@ uni-button[type='primary'][plain] { font-size: 34rpx !important; } .calender-con .uni-calendar__weeks{ - padding:0 20rpx !important; + padding:0 0rpx !important; } .calender-con .uni-calendar-item__weeks-box-item{ width:auto !important; height:80rpx !important; } +.calender-con .uni-calendar-item--checked{ + background-color:#fff !important; + opacity:1 !important; + color:#333 !important; +} .calender-con .uni-calendar-item--isDay{ - background-color: transparent !important; + background-color: #fff !important; + opacity: 1 !important; } .calender-con .uni-calendar-item__weeks-box-text{ background-color: #EEEEEE !important; - width:60rpx !important; - height:60rpx !important; + width:62rpx !important; + height:62rpx !important; line-height: 55rpx !important; + /* #ifdef APP-PLUS */ + line-height: 65rpx !important; + /* #endif */ border-radius: 50% !important; text-align: center !important; font-size:34rpx !important; color:#333333 !important; } +.calender-con .uni-calendar-item--checked .uni-calendar-item__weeks-box-text{ + background-color:#FF9638 !important; + color:#fff !important; +} .calender-con .uni-calendar-item--disable{ background-color: transparent !important; color:#E3E3E3 !important; } -.calender-con .uni-calendar-item--isDay-text{ +.calender-con .uni-calendar-item--isDay.uni-calendar-item--isDay-text{ background-color: #FF9638 !important; color:#fff !important; + width:65rpx !important;/*72rpx*/ + height: 65rpx !important; + line-height: 60rpx !important; + /* #ifdef APP-PLUS */ + line-height: 65rpx !important; + /* #endif */ } -.calender-con .uni-calendar-item__weeks-lunar-text.uni-calendar-item--isDay-text span{ +.calender-con .uni-calendar-item__weeks-lunar-text.uni-calendar-item--isDay-text{ display: none !important; } + /* 日历修改 end */ \ No newline at end of file diff --git a/src/static/images/polling/bg-XunJian.png b/src/static/images/polling/bg-XunJian.png new file mode 100644 index 0000000000000000000000000000000000000000..53bf854dd3ccaecac41effa19e938a63628b3c4e GIT binary patch literal 38413 zcmXtfbs*gTA3x`Cx~JnfOvg-j-szdiaZJtB^yy~0*=86HGd4LfIny>h-Q7;N``zdF z`+fhtf4scj&v?`;R$o_xgph#{3k!<`230k{!U7y(VPRW=@G!ru>)oNTu*k7ss!E0k z?EQPkszAfXcz40CCtym z;YdB6ou*4|IlZU8oMrb!Muv9A#=cW2e{AgqjSh)L=@O=^Uukr$+C$2(h3@sx2f-F6 zmG^oN==+*=_&qBceeRvr4pE{N0_~-O)|^Lk>D?gO4tBbR2zxE(yW>h00r2bSBy^ zwHLjM{>o}m!#}&JZ~?zncw~Mjfu==UqTTL>(F+f7bpE|e1B=Yz*znO@vQzu|%};a+ zs{a1_?0HaU&P~6?>Vqe`73~nhdOdvS`*3t0vfF+ha)72nC!#&k`FCy)aQ+^v194RT zgByCue;s~jj3&EZWAapIonn#pvE1%^|L5xUb%Sh3h~0x_Nsw4-4l+gDxQ0+`Dqq%( z($Vv+*#w*ceq@&CYMpT)0-W}W z#ymgjQyx?A+?3E-!%}df!*E{r&W>Y``bd_`+@n@VP&I3z1bdKFqS&Wq7imYR&^HNH zxT?Xgf5AfworrWi;_QwgV_ij|*yuc8buym5 zAoa21FCo)0c~M@k2D0*n)~b1%y?Fr%%E~|Un|Fxiq6YKyW+`zYjlf%UtjMGObnfG+ z_J^mzcgMY=AWAm?dSf!pun#t^l1o` z5QZfVRX|)GS}+A8Sf!Mx=a`Br?ABwyZ~vit=_Z+#T6roAfU96NuiX`CB!|zu4~nNS zkpj@MLvpdnS4qP{?ylUyMO_?7)23I92A`4PG(Z+&&Tf;O48PI_1+nP4`FSG?Oelx6xCaFz(*uQjOz_jamo_P2GNfVa~+N zym2?FF)kL>sKss?%O~^jks44(CCXD=@n@1F^smT;%B&u#g6g~D!dM>HKMHAuxqrh& zj2L?AQ1(D|Rjg)}*?NI;%7?R3h0L*%8LhZCd-s5f^EXxI#Ss#nibJ7ETg+s#zS(px zavF{1ee>Vyt-8Aau?}cg<0X-&>Bi&gVzAY@*6q!$cN#qs_MyZA8`na1Ev{m?&liZ*4DR$Zvx{=A%`~E0ZVtBxNC26fN`>K z+O3yf0ecj&7*$Ldey6?K^h%B`F?FS$$hdaT|zk5^e{uvUNQufgCI+-4B7`Ef92UGL8#^qcktQ?gusC@L@ zmR=*7`@2|~$0l5{SUvHIvZm4z_$=(h9eT1XjGZuE1#odkd@MfG4C{*@pCaS&Stwa` zKIJm??$L&HEunW5_y=DnB`0egZ+EJioEI>cX8<3}hyZo?HCde&+mjrM`RJ=-o0i~n z(cb7Hs|s?Po~}1TCXt#6&l7Uf2F6uZ`PHrXfmJdH5*y)9_^X0tE$(jB+EkZnVl5%& zK%R`*EyQYmN#EG9=IdWUBzrZLvKE z4;}Yhe6fhu-}w*pVT|Nfiz*1sq=>W>+b#;hxY%2EhQ)jcfKD*nBT^e{K5>#$jEM>! z<&`x|fyMgjS3HbBkCG}KQm8=zlai2#YS9=ZbDEXx?_CSIyKuU@KMG0C7J@$lB6xc|Gos%q!w5d&GshbP|NwG0Q?&QmJiR3^uua6uXxp?VnN&-mhoQ`P-U}r0v9`5glwfNnO{=Dvm`OnfjvENu#nD$@M zE+#0Ny?VMXF>1lhQLhOO_}1zZLFO znmjk&d%l3y0%o?^=~UTJpsPeP`q^hvz^A{Zub6sQ&$d-$Z!rU~A>^iX*+uLwg@hRr z1@Va=DY5H?7qPSPR1xeD-eQJITUaP^41O<@rPzD@*GvNI##D5QW{_nb_vUAt|Rtt`FmMVU8T3zl_6Pzr_y-B1n`&HMpt3?AUFr ztd-NLZCulobr@42@*i6z(Fg`NOZjB@!v$*(Ysei1Io52$UyYeMp>X*w@V!V>Yoy5lyf*wgnv!787-_$;zkT25xzMc6nUZu8P zpDFI%E?}VBKmoG4d$CQZt(1c9TbRmaJ4h&!d;~rm6ZUmK6bxPG_iJ9)wF8QiU`ykSm1Jin84$D} zPb>|kDYhiOS?-M(k8y_es&p??akv`jmJF)chGM&eZhccf(I2JFJ0^DAP&Aeoq_bFmj_x>R!R)Kp%9@9d zI_5ZUl~o+yU$LRA9xwR6+B}hoN77}DLSnNAL>X9q)h29SE`=l)6%|1Ug20)Xvhz*k z@V9(G2+gP8ITR*}iUvCovJ^7XS1Ar@W@5F(rKi?+uL8fUO?rvda?K@R`NUKuFlCIB@sho8F3QpqVj9x_0>l=sxXGVbRryxR>8NPPwhh>}^X zS>62u$t&~FS-^+v6LE%z8KR~lqRuuuKM<5~jX|c}8Yd-vsuJFPyrQH!8i$(plo#vA+0oVfsA{E^tXL*0}N zvd3e~sRilo!B3nTSiaGJ>7b$=&U@P$d@ntutIM7URv!OMoiGQw=r@V{j@cF!SlIidhoKAA zdAXdTPhCyB^@_3u%EgCzLGw7+(lnjRZO~;YuC@WWn#CrqjyTOH*2-D*Egh+iB5DRe zq*BV2>Dj3tQxJl&{r;rk>UIguk`mwDFxquipEvcSp}HtuEwG&W5Fq zKY32S6&nwoFI@!k7X{T~LdQFh@Fke~SF#@XV4Bq(bZjv6d|y_-WPF^(gaYmgWQoJd zC9>{_=}-u|5i`l@fvCy)jz*FRIM9Btl!Wn8z2-!X3BPq`iRE-l!vl=2hUo!V9Q%dWA;+;J+Hj-tP0rCz}ta1 zMhrGS<`kInvhyeT7f<}bS8NAo=?vVCWkFqCK^EWkJ-Fksa!JCR$FTPp5L`H`<=XWC zDno5dUppw{YQaQyOSqyNMj>It_n3wAYwmUM?MD9UOs&H&g?9x4^j4e}q!nG@qTPDC z4_bt8iQUW-v0MVPB-$!1TeZi6A4QZ}qi_m zXl>@Gy<4dLP7V>pj3bmT7alxT*Vp%hLFYu@Ak+derwQC#=$c;h z5Nyy(>U=a>q>(=2$VbwVc|(ltoZJ-Qy`SQXaMAl3rHJS*4rvq z?tb6+JzzN&uKl}u!v`ch8qO2JteUqrXW=(&IP<-LO98PwxBVpNbbJkQdXlWXY^shU zQXt2PdjlnOYtT?M_$83lEYY^J=|D@EghSZ$TTHo?3p} zq~U|*^B1M!&D(V87<_T$V3_PY>i%RWRtfJpYJd24XKb{n9uZvUl1cGz=4%CKCgak# zuMIPP5V`LCZfj#Ac7CK|yST4F@4qWxgaGKe(6?qb3#dbLMCIoANzm#{V8|2Il z7%PQD>c;EOX)afy-({YH9Ql1!u+l>DS*-s9-W=ZbZV-x{OqMJAN5p+GM@wC-?e~=J z4>wMJ+_DN?DzvuMz*#!egwuymEE5<5>0N6ohM)lNf5(s=3(6e?EvebUQ>pjnZ`y>= z#Xnr;OlBmjhX|YZ``JPdM6&w^lmDj$Xb4}Pp5-?5er7t3ET^Qpd;vc2s3*jh=4F1L zqMLx<_B|}7jvPK5Qns3e76ptg!)#vJhd+1>Y3BBOg9Ffel?X-3))gGD-0 zmD2PL5?Wz|S)*q=VR|K$3wJh5Z6S>9rL-&n_>ww@-A^KV^HQC^a0cO7!+QzEqvG<% zBrbT43eYhY*o=yc53WFKMYH|mGQ*aAr<-j->=d)*2{6(=P0(To%C=7~P zYk(ZLcVifkjeI`-K|J&$u&IfoqKGRSPaBeGmh=Qp3K$#FJz8vyk03kZAd$W?5z?{x zqY9xJ(}fdZC?+n3hbJ7n%;9O-y#4cx-&1Pkr|q?zhs9I(CUq-z(8vshvuIR1p6-v}{09>XV7OL+X1* zzcv`d4pc))lZ00kmrZeoi^O3Y8Y%NXJcDJN&{bwZ2fK0fsztinR(C&~vb=Q-zQBY6 zpA5cz)G~atys&rHfuhyV6h-r zn%proG4^>*1NeyZ63#yh32zzVl=pR42Y)R%`q!dc_oZ|g<$w0PY_*e%C$ zPZ`$$RF@+9-g)ZFc);x|(4Z_GH5=;gU8Yhvf=jQHQP6urfC5Vk71dE2GC0VR#ZS<} zhB_z;?Fx~VEcW)8_ehK35zU3#&@re`Bsyc#}oI7Akl0^SP^-UUD+~#OB|B zH?OgS0AUs5$)iFo^kFoZTM)s2;){ao@0GI{>!0Puo50ChYrmSm4J)?-Qexxb;}PJ2 zK(c#VY$$D`F5`aW!#ou>S0Kvn1b-^P-m_sau;7IhQcIHI~Dfqx`sUTJtg zB?G->%<{_3rIz`NXKHRicl4O4v+ZlJreD^AI##m{KbP%cRGm!-lOFwtPZlK=dEQR| zb1|XFPaNJ&uHQ+Si0LqAhybPY;ecv_9#_<>rvU#V1lHze47!nvM#GL!!>}nVbI(_umcShE-8f#^{eT zDD(Q=6625p^OQ>SDjg;3=gF{9KpR=;S4>^}p*hR>(#PT-6@qVz zTM{>~t{S)5Qg!V@%-bM#3qJ(@nQF;FXo$fFtc$Hl@*d9mRB1-v$%0~Yv|Yn@RQQZL za1Z$b(<}zrA74fMY3*_mef*b;&ut;GqXcuLFyYsV(=+hs!}Z^`Ciq-bS9YIo{8+~P zL4l&*?!isj>?z}cqDmP2qC^N72I`uA(wJ_TXAO%3L+II+O+?y4zBe=* zXpTkn)_uTLust}fsa=ae+^?E~Q5dAp>qgwat;h}Acddhp`nB5-ja^LdV1$TO)bHkZ zEi>^YiQdj>;qu{7vlv1_Pkf4w2a2qos=VB$6dPOfWfKnfrAHtOG7c0EfS5eRt53S~ zxRj?ys*nlkGWP|TcOIA)XPo8PCs}-?`<+GwN{Iwg4$FfkJol5iX7b+5Zs%xV^T;U3 z#FHH@_SBwrvwP2^Um{o*1WZg%@O-{hxstf8sA8#+c;aS z-!ymYdAJ9=YS zF+FHaPoiL7{0*#UP@)rs1ViM>Bvvu7$}O_S$$*m4c76qo^@)WQPaM4es{6*ucv~6X zacK0iC4SBtxckX`OLm_;K((Ia5!I!O)3YfDLm*NQ28;mU;B|KOAAcd77x6r^2DBcA zX~2iTzJJF0E5Z6A8PrxJei}$U7tFds@^ix&EU)^ijyUA=K6N!qR1WSzjyo`9pG#EL z0LlQ%*>K=ZI zseBUYVsE@ddw2ZS@EV4u&`SvEfoALQVK(Jw%XgfdJpUq2XR?T2OF#qs3Qvx0B4;z# zBED(yBALy}Fo;+UBur})B3baCVdk8&X4X>IY7-S3;9?h}zRUn127n-~gc038Y#Du_ zx#XZ?IaIl$Jd{MWoD$)Po33f3GvF~1`O%*37KFw>oEs;8$%w4$QHGrr}0 z9+5k7&l8yz_x<^ZU9R+q(H-c+hR7D{FuM{x#HiVNJb@$4$h=Bx&J;+O{yv5i_mtM{ zS-Ovtqfu?`x1%`5Fd;U5d^|k-mc7WXAnvK%#A>;-GcGq$(xfm6qZWeh zz7iy7tnBL2z9>yu7Fpv(1OH z%2H8I-jX8^+f@yhU&t^2KlP3Yyj<}8HAZK7-N&T!a(_CjHMsZ9{;sPeVDLr0uHIJ6 z7w1~vd+{$}xZx6O!yylz%cE8)8PUBdpHy7av&ZLIuwlP+r~nsZid{xwKal#r$xNRY z#wI&(V{U0U|DK}748`G8TFaaARMmjx8=8Z}AF9$AoY?bE(I6DPvSQs5a4UWj%tB8! z_GUL(08^lk%rmJm0unDqihW;1;3xX0C6d{rCGMouBs%t%+PqsjF%FBFC9J}D1u>y4 zA?%5#fj5vNi()j%?JwsqLx>!AsH}qDl-Fospku7Ohh_?9r1K<){gUmX zvUYq63A)`q&`B*iyD%DhI;RUn-s&;UH>pheE;I)-4qA1nzOUd5+d4)fu{4Ij4gG_T zhtXIPI^+o3e?a*RpnNR2GGqTnK8b9xcW^7D3-j4lmzUYL6}BUxmq+owD(ib?#g5y@ z-U3I#Mg}LInGIM$p>@6sZ#}&)D=Mgdxc^TJIP_LKSW3X|YZX1lfD#rADEaebnpw*R zL8vX>MWw5hRq#7#*Jibics;ilLXl#4R%oLrj@Z}hbC+7FGzVi@f^Z(Qkg>eL%z|&9 zn|;|)S=1>uZ$r*r|8R=qr0IOj8S8c>;zY%&m$Y`UmyH=q*7Sd8W=x?GNok#P9u%Js z`YH5oF?ePsvF{?qDB`L3JJNYs4~~9!jHJz{h}D_YDl)7%OOJjtPZ$R`rInXQA{@R6014;$ zV$%%u5?M4&jVRS0n)GZX^YeRGe#IcJSFbk|yp@f;RFT>t1vJOB%|-ZWg16}HsKl3{ zNUY||qor&K^jT^zPnx=*lxEX4^S?zTzf68hf@Kxav>&kQ`a00^?Xtq>RY)gkgX2R< z(hE(sqhq_(V6u_Get(LN?Mf#$l5`^GPf28^8j@{!lf7grpI4K)>BwY(EW_`_QsVp{ ztc$O9)quPuX@UeaS6Vom)!{k=HEE3+gsL7xbFVRw^I!abYT;sQ0PUF+3~WL0wLqb> zZDSAg_Ed!swVrQ(?)SOtrNLq1Z9!tj#vl6tk(`b6EcbZNL-l1!j5v4AP?(g>yhY9( z%Q25vkTm!uCiYfT-;0G$P0;`vF%j;@zBg9t_{J<|P$^UiWc}HWM0PQCH_V}GW8Op4 zLr?;Yb%5m$Qpw1gD($g9 z2X4!@%ztch?KjydcfF>mn%!&00r(HOZ-uUcHnW&Io0dE69acay@h2+TtP(URWtnC( zd2^G+(ue`_!HV3Ui&UmteeRzij98Qc6d|;7s1&T#@`{&b0z%|3%h)B?n4{i~;*Al; z@*zcW!|CaVgtA6a;vX?KBi<2HX?|f5G9_}LD8BBaN0upt@JCDxLBU8`O8zCiV{a0< zGd^RQI9an@eZ;Am03d;Enw90^{{Fs$bTm}5Q-^jpjK7wJ>u^wY+%GW+i#fEPB$=i2 zVLR$)s5w}1jx7Z$i>i3m6~Rt2_+Bz*p0~D`dv=kSuOw{%iU07fP8z^fmg4cW_8kO; z0lH_~Y?keT6c}8`@1|DJuE{Gcj@Y%C*BNWXGZ+)(siL)wec@rG zz8nvN{{HlzEcI_iMS<;mk|X?&m5Oe{3o@!p5|K~~BdWF1Cu^n}@0Z`gm=Pv$CBTOk+E7u*pq_@Edj#`*TN5IG zTSX0gKTNTobiV(G%2u0crGzMmh`tme}T^VcziUmL@pt}}b|Jn({33_-8`73F)0muyYP@!{IHZ$fW-J_vRPQ^UeBl+ttD0kA@eVNP zz;;ZIfWbC@vOgu+;UC0wgolzEC#o(2x$)>Ea~{dBrSrw{$qWBg&()sVKQb#|REu0x zTON0Oo3V56+%|L~&vni)RyZS-@7( zqtU&KtK3;z%~d}`dY)WP)9{Jr_n`^UJOy?F%aJtI6}xG+A=jyl{nk2_O6Y~!Ya2YL z$qtoe`VLO2E0G+cd8dc8LYKK3+10ql?g4QacG%IsEbsX(R*cA%gSfskMHOk^C=4jR zDb~*EJXTQ~Q>itXJx>c4x9TS!v>6&!Q1|0aJr-GwW`^Q8mflgsdrYb?Qvs{wdV+7B zR+4RMeA!o7hdp+*+49?s)=z#B8+-dT#YZY199lj8;X?(*g@V@lyKjo2_4X<1jUwr& zpMkWudcg^$x3?SBJFh;X#H9f#60U_9HL9?PwoyN{OEq`#^0h~&>#ID=tF?&BoEr+hqaK+()?iFMW59ap_igF+iJNp8j}UiwMohro33nZ7CP!_g52EFA`oVP zMx)@`QlgOwT)@#d@q%1R^jrpNFHfKw$@v_*ub8xVHhuRZ9-Q0jn^RMN?ZWO{tdSO1||5=&Fb{XH(I0 zh^jeN2JrM=G0nL_<#!(M);xaxY_cneSD>2H-)cRjR&$a-s>FW`K}By1e4EvfYvalIKDOi) zOz)niY|s*dmM2|oXRdMX;U2@F)-l1dv*H4)5XLZfiqA_T@=qRW^Ky%myTEH%EqC*y zO#>00a1T7LLoGZnzSowFIZL(0*-7v4jlh5CUt`5NBB@MWS04D*S#8Gzd~NLEdcp$&<`K{v zK<9bYH2Dmuf+%p^UP)b{*OXmsfCdrqk`rgZU|LK|h#uPd^ zE0XzUy;<^-If>8Tc|QFwmT(}#LiKPx9Fp{3x{JTL++70Gx{r7D?Y?S$Y}ETDbXp?Y@8>nS`0%LOo9ThPt;>-P<5=#Ey;%Lg^o5Ai8T-!p@5tq z_X>|sl@yIh7;iEE_onHih={15)$gUbHzM9;qIMRZz)v;)lP+-}t7+}`nHWKl+c9p} ztdx^Y@m7?aihWFxa^U9tPkS@le$b(c0kRHPo=0^-L-Ube5bJejCuP52yFDxpK}15O zdfs7^4EniH$`ALH0AlDDLiU)_g_>^;5|uGl_giK}#ogbZ(hc6u3w*#}{nnE$?65EF zb~n_{$N@US=PcK!mN!LYM+48pp>n;C`DzsOjdE;rb9i7y)SjLtNekYXQNM}noP7Kq z{rA~gNob;1^F!#+i;~Zm4PL_T=ts)(aPp2XJD*d$WcNU-vFT$6()f-7Ihc+}8aV{r zrcl0{t#B#aIuPDDJ}es6G3%RLliBdQ4 zDkGz$&FOkdi%+Vq^f^tP>xj$kt2)m*-v`Z^o`JH8cdK{%5KMrEQ3&4hSiv6C+b@$a zc_7LdwW^((TBOi`)yu&16E%#Cv#Fz&vr+7-H4q|_Qy4H=eAYX|KiKqj>Xq~nW0(ke z#{>Cfb!{FqH(_rd-Npj<@Z7fYN8U>w8|JBmCxsXjj$-9ib}|;;UsXc_8L)er>@$AW zL)bd>Ryo+|odJ%NmPZP{1?9zcixzt>e!-oxDBX2B7cG=EqZI03LwPQ5@Aq3D&SA<; z=A0$X#!>#`bjF4|l&!47DXPOph|*=k^9?6^u?56$D+pB)b#%frGPC2}0uz!&PY?*n zUSKt;L!ywyJL^WghA89!TV#hL15U zJm^UvZB3}o%C97lsL1u_1#~5ir?uk<^o5T9GCU9?XT^HO#ki8w_6#V`j;}3Axaf--R^qDwwP~v@wAX?-gt-9!9uN{TPP07mlB)g)ID5MYu3UM7>Ck&Wp%7d8=jL0j zUO>nOuqaKahZyDnc*R3}yV2F1jU23_eMVZ3g+0scVXkIy{HZ3mRj-mWZ;+)k?^yGw zK9X5=wv(+oTHr+^e+b(V!WSQ~RFZ^PHuW?mkYzz2Cu~S=4&S8eq+NKNO61Upw!dM5 zs68eKB*gQ4IJRM8X(7w1slvM#lUqwQ&ygtI=C!+#Z5xbnqJPq#?EYlJ{+aLambu-l z=Ctq=wu7;gL6Do4vej)(*(pwajAvv+FaM;$$2>XB{9RSnuQgw8OAc}x-OSOh0`4n&I$K6o&DrYdDPDa_B%0TVi;Nl{`y-V7%tEKFIm&RiVgsZ9eO&R=a zmQ2dkJRi$dt0|Qp3z}T-^0K`VFRw1^n4+Ve4HXa&@ay4Cky_?veX&K#oTKrv-2ctRh$L zd?sdpV1}K`%c!t~)0E_yibQd_e?e2-Eqm$n>mTZ(K>J{EdzFo_maV@UZx-w1-{l2Ts3ly|3U%(USNQTST;<8iV*9R4R-=R1(+XeJckSn9Qe5$3#Q!x& ztjVL(vz>9VVh{Tjrt?=`_t4 z+oc){(8%Ewu0i+~X(vlicD~?GQ93?81?WfBSydL-Y5Z1>@{voaUsdTh&qEd?PuKgC zkH_`&isU!DA5yhfhZ`tN%m`soSIX+uD*GZvEigw&l=GI@``d)XyXV|3TNt(^cof;| zim|AmybO~zi}dJ=zd3=T-Ym~f=!bgK#0RpxV$D&BH1Ok@ zvrRfV@WR;mL_ZDr4zlxi4D8eXFDZ zwBRmZPosX~4yR1n8&YTBB1_2X$L-YZ6Zr`vgzcMs2UiKi5SzVt?F;+$StjR)(x4}Y z1b<9F!&Z~L&6B=}g=>BIZsOacu?^!n@oMzC`<>T{DIn3mh$xTAyhr2nD}ge^$IFWg z&BxZQ^Uml0>3@%5ewE_vzXjd4Ny+3PVIj|CQS|f!2w3$W65`qVM2%z?wR8zlrWgs1 zDgdzR={{5Q+Kc35Rs~W5jo#gxg`lsd=jy%}N9nyK78n)IQK0^FrIp!NP#}p2s{$KCq|k7jkdlY7#b;P|(LD$w41*sEc9Q!6Gt-v@`E7ysx{^S5A55 zfDl{w>lnAV+6{F62BN3qM?}JMwWsyEUG}0ySn&0)y#ymEd~HhjyxV&V5c!CaE|vvXi@n$vd7LUX#|hS+z1m3Cx4lhW_4*W zd-djp$s5OMiu3me2bd4N`2XVdZfqSU>XeIg5v9!L5YlEy@SAYU?HFyHh8Mfz6*a=y z-U>irqpWtt>GpMtcKA@+8!Gb8_Y`=1kwK1Z!gn2%Kc$X-Zc8t=e^1HyXAn&m!N znAy!nUvZ4%+{Yf4&s|arF-&GflebWkxKZ=^;2wP^4@?p$*T6~(!_U(A5o_zO1|z`*+l`0o|x} zafLQR`Vq|>g1i)aGrT@Qqa5DaPj4n%+$Ouydlj;tqAohPA5&eAu(F{dbrx-PRKK}> zedhgO-}zT>nL!(by_q4%OeP5qez@K`Q4n~i!iC%{=G~5Ji_A`yX|q|C7s2U}1aFgn zz^GZF6IOL!crY@gWIZNuH;rL)QD&rhP2zx>#lJ+>-15p4JdTg5rRF|AVPSnZg&cK# z4{yCR?d_B9W{^Nt0KzoVnrY|#2CA>}O>SG}J`2{--Z~iuaL0dtuQCfhB7b#J+_E!J z|AF%HHgDM-t)bVaG}lSHW{Qprx+3!6zyW_BOk}u^`i&3|gyzKvfki6iN~IRiC%qAF z6v80$Pm#}*I}+1w>imujac1$OSEv)bf|=Xn=W7Q57UV@a2_0^x-SNB#`Y= zEnFxmV3JsVKJLiSXA)mcVf81Cx@9+2BtBS~Nz`Yi;V-Mjd!nyz1LvH4d2(ZK8O#}r zDi*!7epl%+@xsPGIFIy-k^<^{Y4G?i==B|7li=te|EaBO6RMgo`l_>P!LOb-oSr6! zWi!*a>`m-{6}OnA5e-2g498O27AsyBn+>xxas(+Z(ro`LW(@YJj*R|MC>yNaEVvgo zf|-&=F&*riD)5iEs(JVS9Nk|S{KFqhVlj4TaRBycVBP+f3cnXoKUOhZ{R$<7t?`{C zQht?Zk!Z&@%oBIlBR4uujZO-4AB#l^D(ho{YWT2X9N6keO*hC2KVJF8hY1H4#>AU# zaBx5It!zP`g0nIOu=<%fFLT^~&_0+FA3r8+;fZ9(H-g@b}(pUb6S}OhHaW(93wa5?-i5{pzY!kjI>hOy)64kxEtHb%1pxIwf`_K z23KI0Q_bfT>+R+C!x6^+)bg7BGm;_baZ`XM>*&Vc$qJWnOkgsanoQP3cL|>el6mQ% z1A@*h+1J+eFtH2R;Us+~a!Jz1lOXX$jGWADW+GO5Z-l zwyH-@+?XxsGZE!XNzh^n$x)bt91n|-VHY0xg}|Q5XBaz40n3dQM6x2hw2oX!X!J-yN^@Zal5ur@H({WQ?fU1+l&giBfY@dxp_Q-l)T}BNUi{ zV*t~bI^(sBXtA^`!>_d;L;=Lm7gYpaE_33oLA9@`N4-zCd98)S3+liIE?*zh7=!;! z2ZLw0xlM-!*H|C0wQgu608ia+jJot)EBuNGQsvK;e#*bfg9o@gmqpz@CMJ`8Qz#*> zlqI-i1@uFW{!1^}xZduUvt$2C*u`&|q2 z*~bP(_jKrK)=K2T&`j4o=|RB42qa1jw1py6o}d7!AMlT*Y?7);?L@POGPBhMk#KUF z#?aN7mba15ta~-(=gV?iv!>QlGq#i=K2!%mpDw!NZHe##zn@iVF7r^ea8N&kO#Za< z#G@41RxvL+Eo!YNzrqN%?h81>*L^yxALox9Hb9DX$0783uYv^r zOZL&>R7+T%U;X#;^DX5>WA)&J*~6G{NdcoLKsrd^zEkQb7#kb&iVw^4c^xw4d!!g0 z`ydudSeZ?-N3mFMJaw|B6;t9b=-y9f8-fDn#7EaGj()OXW-x6U>{YGAF6FaWG24&# z1$k?e38IhVMVm}NqrGF@Us^FbExtBKYUIyb7n4gj)N(~%b|?s>^SLK5_I*Zwq*)qW zb;SQF$io}vc1rL;Y+7=QVvJuikwX9pXK;N*JC0ZaB}8Fe826IM?#s?No%BCTWGtT- z+Tg?N1!x3If(xiOD~7{r^#PZ7hd90zlBu#Pq6)&XWwy?jgyqvYH+8`0B05N({$hC) z1tIL5+bd?0W54Rb_mc zuelwe8XwD_EIt9OafIH3r@7jTt#vS)HW7X^rKO19BMOqah3g&E`YLsF-4nfr5$a8{*t?W=_FYbz(kA?EEFJZ;7|dN8HFiYoI6<0SscaR@(%`+4i$4vCaRi{UMnk z@`i-Fqa1wyUzzWzCcg~^?FpY_qSfsqm`Aeo#AE<0a7U3z;xmRJEfo{WTc>ggD@Elh z0_Diqocg8y+%t| z`a8wU`Cq#163&j3;uz;rfp;xvklrGATPp|yZ@Z%QO^u=yyYo&y?r)v>_T4zURq~gm zHWKVfxrhLYI6~znMZ(Va6KJP7j{CL=1B|i}+gI>Edq7AAl|;!%H4_(s%yEzvBjKvlBIz?Dl_=FQR<_@f zR%zT^w*|w6+`u+@8Ys8pu2zuf`wo1WU-ofl6w}lE`O~s~cPf5~j0(akI=g^HOl6*9 z9yuUZig%_B5Oe-OI@Vpf4l|#uUQ}HS!qx&yU)+Ye^Wo>&bf(9FJN&hyG;qS_tz2i>pM z&gw{p_eVYizI{thj!2@;VIBCN7J%i~znK+7FC55~r?YpHhi5w|*@F3FtQAgPMiv6Ab#gTAw#ibwTP9O{QIEOB z_la5^F^+(@l$4Z!9y$9LZc3-6D)4$*$0bf!K4;ic$cZHC`@bousQruEm(8n29sj*< zb?|%wIP;Et820zc8goyW5A43G&iMO2E&={g%S6?x^j$MD#c(&dT1it^S9c(J|2^o# z{9ylGn%4($vilhi;Ol_MU++?OS1o#*N5$io+jD#@&aP<-QZm9s`IVe+#QDMWZ+^+& zN3>x(as#th_U%K)>(2sqpORmtD=(LMMi#pMc9%1AL0FqPI!55j`vO{zJEo?fCn{of zg%;#Pp8OX7!ffI(Y08|~P_Z++8;Soz(^m#W)qP(RBMgWzlz`;WAPv&pL$@GZA|j12 zAT@NyfP^#-5+WcV-QBH#bPlC7(!ST{|Ng%4k$dLev-dfB?X}i^*3q3%oFf)}p8!cz zRd{jHPvXcP>H&a%#0QCnxu)Y*?;Q{!&Z4W)r$&#M1GuQT*k|6~y-FVaGTX;P(D#M- z<{BhpCN7$9;L;{Z4_~e^I=+l-N8tv_TwGk>mpYL21|~l%J1C3~CN?I)0@nKM zlsGKs*{>-+WkEu&$DVia<3)u(Ea9kNsm!b$p$&F z#7OD9az%oS9)UXC?c`4sN;$V7J?K_LH^D*ESAl*_d7yj8Be0Z*t%s7wEIpGINSF+> zkLCJ!{WD!D{&Cp9K>ZklQt!u*#LrRYp2%FmM|@%Yjf~+}$0s1*eG-;)zE8PS7JqNV zy{hod6c8hQ(qRVF}WyDb`G!erNsWt)(c&S zzSxf~jWQZnaBri&Bz9p)%3PHKD(TNmY@Nd4d^tyD^5V)$JM&R32fFGQ#_q}z7fjqh zj`eM&n&vk;FNjC`dz7iYWm?AHLN2B-3I5zgHD9(Dcvz-#z=uXLLj(AQqQqSjtr+`O z`QVPKOpYuaO-Z{zOM!_X5d2}yTqQ<~*}C$W7$0v?>Jf=)`ukiToG*{={arK%D!EB4?$JbV9Coj z_=xrw*yB#jc|F?Nc{qoNVrMF*Qqmg=LoX{(T!$hg-*QUD_c}H`=lq~VIgiDxC?8iV z`)z9Lke|zIlewWj5}(w_dUGP3h&^Bj_Of*0tZI%PfvO^=U1M6 z!_pVX4w=B)jrhL<(b6f=cl>|`;}MvT4Jvbcq|n&;vaL{?@v}~(2YcQz!5W-=i>Eox zc{tI#foJBc;|KPxP6H)9RSnrY;2v3}Aj>CwmKGs&VCqeTP}-;v?%e1z@taM_LdP#l zUVe47%%^(8qWOu&`EPo4j2iEaFU_yH1)J*ikNyltadNj5Mp2Ue#Moo}$zSGt%4Ui! z)Hp;auO1+Rkf7Y4O@s7_2?xkE@t!(k6(uGUp8(dG1T4I2nhk1qreL>OsD6>!eQDoi zv1)un@e5%^5epPr(*#ptGb*H{3(Q3}oG+|(G!isY%SCzzN+4`3=ASm^swDul0gPjz zq__GdxC-r(ddd8hIHm!zZp*SjhOgTheDCSzW^56P&#FK1hT6-D%f_q=o2ZY5=)7w= zqV;VM#XIe{3`fZU!M{5+xhj+WPd59jaoX;q$nU-qF}F|wt9*iW#^3Phlze~wxK1z+ z`iI+KC?Rk-mLu|hOwZP{7HsSa`QAG^tOT< zU?hsCFjl`Z1N!WCAcCB&9^#HFiU)70ZW-vEW8Hni%aN=$RVhO0B_tAGOTFG)Lr^C> zJ0-V}w;gtD7{(?novFuoah=zjn?iXmBQ^f!syJ8H`J-0O^anC}MQW?MsKe`)NoSj& zzwXeZKqAQ!4UO_KBWMR)H~hZO&%5hMeaui-WrL$EyAQd2Q`}QfM+?5Q?jIPG1MUkX z-PVWI(us7{%Wo&qd6YeZnsym)*nZT(O4ac3tyJOPGeLNbOn{9-#gzM-d2Udd`>c*$ zt#ek-$N1Uw-IpYy7Uqn#|1x!e4j{pshB2O=#H*nmXF7G4lwI}-O4QMvIvJ=D2p zf>r;k(wQtL0v%DPjL-8s*|0n8! zRp|qK-f#3f0bhZee!NcSep%ypZ@=ohq%j;Wit^W;!vdMe^ndQ~lzAy7*OK)VX7Yf{Ud4$E$TD;=64POBe-5Z@}0x_!^1F) zUopXAUDAxDqO`~5^_rxE-my?6LX`gy>nO0UlOjzD-_=stI<`FO~AR z$(e_lQP)P@U=2FV>xW$)T4{X%`}?QHA%&s`uzjx%oDzue?w@HQg{&e%+_r?v8DSa49yG@BwDdhPFcM|rkP}){^SGk zohixP)j8X`x~BOQ-H}_5lOm`3lK-Iu$=siFpBW}!`O__8Y}oTIFNuRUO@e+TV%XCC z3i)%lb14e2mii_XYgew%KR>b3R|WY&cR^}O#~p_U=ms7vv$688PiUxp)1Rw9;K8Dl5SEKl zrNEJKiiLXe*mI;20rtK>j&eBv_s_O6MQI>2A}6#6y(60i8fYK@%+6j51cqd zaNC9}TU&)M@~Qy#ND|RChe*7+x5fqA3Wm`HxEz9c4GK`utIE9t_)YjQ`^9aVvYDj2 z$SAMgkL;ewRqD^tbb1k$t@6R%3LPJ+@Hsx5eL8IpH}ObMd&ZY^M#F>_i}*y(oU)@o z*!`xkHa@Ox!=bdtT+c7{+Mj@rh?Ns80qs+KFsZ4>$?07WGfS6X2l<5jgQ667% z1WNN$?06ygIuqHD7K43>WK+^yV|*LA{rrQ?#I|0|BrCJ)@%#0uBYzm}I*+}~lMGY9 zr)Rvf&62>r>uUxPrS0$Z*ve}Xtku|wiZHMv%Y$E%!0uvabRC=eEPYtWgV+@`(o>CD ztzkG0c6RK^8LA?Sz{9ga5bI8s0X|y>M6|ydu;x_B--HGb1i8BMBD2z|rGa~J6?xGp zflBkum-40%5%f&kx64gV?duwAFkj=3y0C$9G@9aB{uf?vHVB^?lZG^LQeu?d5hkJ% zK%np*-DL#ER^^r6@?%K=$s=)s4R9+Wp^{}ta3jbZM`O;0H0UP?ec`u@6R%{{u2S5~ zFj5$DnHr3G9?(aUaaQKD`%2MIl7^YxIcdW_A=5s+fn_)}T7ul>q%`ptKdKC1rQ(#j z6Z$;Fj0@7Oq5z=3m4z(wu7pX?$TFN#^iWvhY6sB2kHV>~ZeT1FXckee=+oex7B(BBosI6sqkNd%I zq_F1vzFoBg<~8Y+e&y~Wm>thVdRK%KTAo@vSOOXqogH1CQfxm zO&99Yqd3&91Q7DwKA&P2*-A*5oPB_6v%H?}lf&!DNnHj?2)U99a4C&e7$#&2*5ry2 z@(KnZKs3+!Nis=YVT+~V&*x;(Im;xm%qnM3m(}FyLpKpyTHV#*?~64ZO@ChMqa&;9 zRB=cz?Ph7O?aO9Vembam{INQ*5upCjVaZ*vdlErf5J;-C!byn$F!H{vv#yg5DlRtj z{TKc0N!66R8PsK@DnnXg%GRd2Y{tvX0LhUit)q5QSZtZaGPBrAY-fv&vAW%$!Vyocngbhc&10XBQPPkM|mP)t^Y&krz4T zvaV-?TOYfXXmU!!KthT0@|sF9ArQyHcPfutIXJNU5+9)w;hooSMg75Gv}V|1=i_Q3 z_8FR6s2ma5Qe_qle?ze*+5hjLu-YK*__QYbZZ~?%FtOaBSZ_{ZZC0@|OVDJE9y-X*87{7VX(7jz)XXLNTXH9K9{ed{dUPScVpTnye!qy@WM6s6)HL%=^KfRmSbONnrP>g8G?Ey9bEH<>-CZJcC^r-iliOe1CzEej0QtYkqbQ7 z3Q92f;%C;VO&Z;W-JWhgil$B#iPiTHnW|)Ft$s!_#6NdYgvG|jX1^p31%;@6{49h@ ziAWM1b^$&K!%Qy3v07nds(D#BW#Dn5?B0`cJ8 z>ZFrw@iOr_f~pL!ZBsmH!)V_rTd#xDIox=!rS8J~SpZ8XZV?9Ag+*rOBA|>quY(Z? zemcaTEn4!38Unk~qKF>wG5Ok5=izK+5*(eaS@#=9DcDA<5dfS(AL52(jw<5yy(Om) zYG-1^H8h{{Q;A9HNU0}@ZHi2n+1ZQ$gAmwU;?Q5o66`az?{3!Ap%{0M9MqskD*c^3 zxqtdg+x0%354u=h`)7ifoTa|omcvs;F3J%rD=WON?->*Ppa%{DL2(_-#2wOKr(0WF zPkv+oPKgCOF#mbqj&vZ`d*l;{&P}w};F|ZOr`$IwVl1{ZGl!&;Rp;7jQ6Z4!-I@&% zr+9D%Bv?9mF8B+gT;b>Eg8Ujq`<{wku;Mdsd7Q@#1^NfSMm_3@0-Z-2r4t!p*=- z%)qxVPYLuYk#iL&zl5%s?OcUpTbcL8b~dNmt_^tm^R2MQt+|Faqj}x4IC?iM4AWEJ z>q>bwbc4CP6PkEAE~Ym4p3>UF7iWAX-oAO6q=6K!?e17IKF6e1rLcQgxvSYu-FU30 z@&s^hGp;TAxQ@uP9MPKl`G}&NKZf6$oo<}@k!?G&HfIC+ z5so1oB?~rr41~d)Wvw<|R$E>K5@~s{^+yxp{U$FPb%P!}UtnIfELtDqe~aQ?Wl~)b zN`Cd2ZM{mPe%#hgg9FY9E_1tMRcF#IkV`WpM%OfgCpaF5f0&Rvs;bxYj{hyGhP$rF zUO1jebj3)Cnh&0z|pD;`Ow0(slDBDinu=k zmDKaw-k8wkN=f?6eEWfX0?X3VO4G-U{DU1fx_hDkw)%aIQIu$*OJ#fV`^qpVi&1Wb z$a;SC4jRY(^8}L;c&}+6*+OVW@%Gw=Ip|Eed=jXZgH=BmI@Jl=1D{f)n5vSO`Km(5$nj zC!LnC+1q#n=K?dRN+gV44=|T|F709Fd{oeDGYy~1q#n@MQ}ugQNBvHU(x6n7l+obz zDzxTgNLgoZ|K|Hc`av?QbVd&MIL5DASwJx$C9<}+J-Q>z@q ztETh6k9_Ty3?=haR02&kLe|D(Ao;usI0?uOCir@D!uzdI%?j0cQwsh5lxd+w{BR$qMFr=?{ioKIzG`QhYKu~s ziCG|KRn@PLS%x%vcc>h0@6&-B2V9=1kn+<=hCAU1~ca^^7-D6afmKh z9$?RWRCzZktm%#9*|zUWgapld3c#wqCj|_@1sS+_!Ea3@^VrzJJ1n)gZ2xf!&m6&6 zo3s)=bi4b>0lrBYBYki^mN`77vC$&>U*-U<5&Q7jQHo>r7lSbAP_~xAE24J_b8Kx! z#(GPw`l@t`I@3fPp|&vSuGZBXKbyUHzQ@o5rWtj;Rg;ws5ie)z0H0ieqa>)N&3i|K zhA5KeOGTT0VbVY3BA4Q^AF&N~ks0coIYrL=p$E)p-{%X(ky3LWSdSj$9bG&Ek$je3 zzrD4UO@rXPuDb6Fmv#mzD`4Dw2GM2NwT}nV>;Ik++dM0^OqLE2mtD;>Yr)NB5$fR& zgdPBtpCb%V74!|>!gXZOW#r{?KYi>HvCqnzBB9L|%0jJnTMkpY2o&SNVMy?=x25MU zC#}1tc}`9@rRz*S9;)aAeP>U`8!HEG#5o>4Bee}ZdkTJ+ zLxfs0%gvp0@ZAgUEeyu)M;5}y#fRN?>ywwy)(tJqDsvr~SxDs=J^tu*EyRNXhdA)? zOXVruq@Rv+#jIZ00CTc#4X2*OdyFrCr#fZAI_jJMBh2?HT(OlhJ=E!V#%cot8r{2k52mc%G;|zYCY#RT1?7i?Qa%k1wMS7iO<|oFPCWWyjNp6ixLHOL;abM{-qQ)~H?u!42 ze%smBv*eQH)8f1-%^!cQ<3YcUiK0@&5m(HOSabX`vY zpQx}@Y()lzZ_>Yr6c(G>JSiUgX9@H4NL%!J}znD zj$nDf6>ELRIJY7|%_fLN4R|3xLiCUAPcuis&PrrPk3XL2vN%>ct?E8IzQ zZuknXj7^bC5@A>X(!?7VAX69gNxom}BP8Ol3x)(ytUcMr1WN>j*}}y7_ju+tgt^Zf zVLA5|pUJgu9^NuKVUx#sM+o9yt4SX4FHr_tu+0j(Kx_$*TdVGk$`*0m4-87Sc3M-#L6JRo9DxeM@k zvHfgp7+g+**+(+~V>vp*Wj$}8w6zH_r8@Nh+ubTON#9Y4NegJ5Jbu#hWhLN`xsJ&7 znNA*_Q4c5g1I(XP1*3oGWo{gf@BXZ$*R^Xm+w#Kah)+_$S>OSrDs(0(#k1;tP`)3bADZ zl9UBXY}}%qX)vg5T;*01Xf4~yu3iy8-FSMJljP?SFNAUkdT7s9rfB*@_{*Wg%EH1^ zRE}pb!%{^KEOFFx1K&5D3^`!)G0e}Pbk1!=n%t3Rz;8jwr2T+bvQ;}l?#Y0k;t#QX zZjKYuH_rfK^$XC4?~l<_ZQ&TS;X+~H8)xKsYwLW~r?_Uz0ZBHsaouIietQReS06>$ zOpAxEv0?-*2XAGEQ|>7dIV!>T7`|&9WQT};YMD6gv%KBT?ujVHvRU+VpwjW(c!rdb zS^_pU;H-OXm}%i$KIu%{!Rn|2+rs%(8Fc657oWwD;JL|Eq+50RsIw2az>d8%7CIpPTN=Z@W^VcE}O|#OpU<_`c&c`3}oxcAzkjD`QwI;nc(E z7AK%t^#BW4d3tDQ=!pToM~XT7xB#m?U#B)L)6KxW1v7r~Le{gds;g8!!=mrj9J8$q z%cq`0I)sT``tFbE|MJtx1k%(xzOOX99^}}@0N+?G1c__e7L&=(xG zW+X#`1x6Trx)*YYF}k8?sy!sP^VsF)i0LAy2-lo9AXQxe8&nUYu@igz(V?uzgl!Wx zX#hRmwG7f0<2>UVuysxv;IDj@tTvS;@t}yc|6u{^{Ls$1V4`1PGe!L6PQ`bSnRMxI z>Qf|%s@-B!9{NLO9c=)_1zk!Fzvfc={&tnLW*y^A>Q~_Rp-)R%3W*rWk&Nw^W@_*( zE+Ar`x_syz>y^d^ak{aMIHjT5;Gs>|4V)6GsHsd<2VXGOP^{sReQ-r(>;6=C8XIug zP+m;{uNFi!Jjarek!c@5w0VD(=wyhTDM1yLq$fTCnq#L-M)#!q%gYv2Y$fy?*tTzB z=*mH;&O)TOt)qr>bLF>8RJJ}YbO~@F;A5Luo`T3U##pe2wZ+Qc5wELyzm_ry@mMy76gQIWov&y`=@7+fUBa`kgGC|q7aDmc5F?A@%v{`TcZC!rfts_ z$%kTXY@npU*?0y;4&G*B0PQ93Ss~4%GL&mV|8KY@*u?I+=X)SA9spJ>WFNnQT3Lwz7QZ{q#oQKbrbbYTey~q0%?@d zzIz+*=c8&uNAxE>z%OBQ_ghd&_ggs**w!ymuF`M?AueO>g)jvjHpzYBp+xyIJ;GDb z7H2A8gR8%p*r!b(RJ!Q?P$Qg*+mp=WbE*)>cw_SWrbZGJ0ZYex!YdIHY43X_!3Ml> zAdzm+fO7ABfHvk2h~T{vd!ed^x2?u+eHG?VRUemCL}UkV8!p|6N>0hX-P0PD7z96~ zdFx(sBl&H+p;Cpd^eQW|5%6@l{$c-AEYT%aJ^+HxJJwbgU+1j1qS`+#>6g2Vwk^m7 zCBGf;Q;oSLrv5x;({F1z)%&qrxVqRrazEq}tYoIjipSi-jfcQA z#d$e^mAFq;j=Pv{5LWXq7PY_=e>oBD2PrUV#+^$3`7a5h0g1UBd_`@ECdiVzJ2v2? zFGkd-U(3~klLw7ng_2`G2PF#1$OfEj!b%@Cq~}!n^V7@DeU&>&s^)G-29g&~V9Nz{ zai%V@>N?;NX#44W>#qs?3W_+Dx{DwUqtf*jJag~?u7N?arhmkun7*AR8v;`js_M6N zf3!d@*s}ocxsm~%>mP;Hn$ILNI-MUdpLocsHv6Z|5CcuS@&}mLOd?Zf;~zIRN)$P( z5Bn7Bhrc!v@Na#76*HT{@(^;_6c%x9Xl=occX!SJ>iBAN4IJ*chYslXiO+sJWu6L! z`3Bqbqu9PEQdif%D4;W(DEj>|9CcPwkL{{DRk1TYIQ!u6`FIZaTIEwR83~fV33*iK z2^NxgzQJP9;4LmMUVw^Cm{q%{Ixty1X0Uuw&fEKIjWL zp&q$`C5Sf()TY!8*x@Cf=(0`tl3=L=2E*(#IpA6Ya(q4SJ7@bS# zXuP(VL^mWRjF8qazXSwrK%INH`KJSWi1q;i)%ew&toaj#$34VGK-*vlsz|#~DiVa` z8GjFA3M@D*%xCK-o8KJ85pf5EPBX>hzD`GF3P0YF^yE9_S?BeadK(NX0A==nWg^DI z9KurCqyXe3p2IHYE7EWBbMKm7D0;UFxXlu(P%bOWGO!JVWp_6E?NU~$u)p%Gsohq# zQXmHKo3@>W=ZC??0_#r5E@R80@l1voMU#^%Km|=CIV{OgFv4cImrb(FLySRs1l?>s zXvqsWrniEH(yHP|H|FzJ-q^zkL;}s!Un0TEq-P53MAq#wsA?nH+~9mz-dJnf{(1-x zSp}q%N{N+7SUwDp`CLB6g2}bNx2qqU#w>Mz#1haH*vb_h9UGre43_3tb7ltNxE+u1 zf2|QtQz`rwugp0!4{Y5k91tg>IM0&!(we|HRJ@)?pg6_~=%>>a_EGjaF#{|lfQi)e zHhkb5wtbzkUiUhu1C&e#=$?3F_i62%N$6L51i>nx*<0#T7~Z%TampPh~yBI)tULN5=<)g>zPaA*b+d$ zEM<@ls4#|LHhISuuZ2ptUY0IN^s+L{nFUF=5Ny8tv^=3I++ME>bx z1%YMcRCp$PBcl%iTL;IHM49^x_&F@NS+5X4*)OR6LJzp&*Tfl%)@W{qAxG^n<_C5; z^yyth$duw-^T`?%5K@{w6F=-l0I8`vWDd5jrSfrOR%fb;$N5K^3qVxhT@+L4dxdO)lB1!OKO%MfXw>im4fey05!4&p5%rXXhSKGNKV7qG+WTm zYcxvwz1_WU?QGxl-5uaoD5}Z@Js-6*y(_4gNx42{ngN;vG=I>rsGFpUC$%I1)Q?MDZ40mrErY>(IGd`biOO-1#y126k90{!)qTXq% zsB`4-NKs?_+}z;7iLG-it4vM@pJ+2 zJesLPbSz#{dzFxoC>A%jA&REbwrQc)%cCIQBNw*Ibj=)6Q-^n-JpIqv=wHQ1g$*rP z5WhGVBhqhYMVqJf9iT@a-pr(X0{zrZ%tP^0%uU)O6!5nHkPjKB_IgZW7bXb7e!PRr zB}*@GEj%Tg$`4f(eU;o?dRlep`ftt-zy)W8-Pnn1d_PsE>D%tNIck7wl4p4oGT^~GG#;!DAl+ZUZ@AryJwv#l zUDBbwAN^_46%>%?%m>}7^tyf@)jD`csB4@*6=L_PZ5h%f0*t}_Rk-o%cU!O^V9~&& zCq)cKoK6W*(WsA)ZrQXZzDs8$>s^<>9D~7E^Q4#lhIQzVYtmA%^j!^ziA1~oNPI4J zKOA($yAeqr*bq1TArf^$be{3>mHwXD2Hqj(YPcH!mGX2J3+wpuiGjgjL~+*aP!1sQ^@kBB~-_%vx|6yZtXfTo#lz zBJyXQ&meLR{mp*6IhfKhP3ZnIkd<&v@>e7v!D3`#Jy?_468J0_pyIjlf*1mlWcuC%nzHpy`<7@O4c}o74v3e1f_#M1 z_kfX~tQUEbJfOCF1;)L>Y>_ST0%~yqHiZwqqfAaep}%^d*=UZZ30eEYHmHSfRK7DU zb1Ljv9ypF4odqkKK&-AYek5eN>lFjM(rdr0!IyjA879g~d5VrMW91lk zP!xxT+&MzHn6Tg3!L>H9xf(@s>n`gg>5=}Q1ar04xkvr~7F#6*a>J2bJ?;=3cn5cos`T4bDcOlmf-2sz zqcHujJ3+OpeWs`c!th#675V)HER`32CIr(IVr7RItKOEI3qs2BjNp*J*G)UZV- zHf~yh!(5g}i5)MU&u&YYi@fyh-)%O6mGHV2{2&us)s(DytOht|$8X*7fP3WuC)NmQ zlIg%2-|y@`$-EZjfA{u4Te^MySvh3nCxzF5(h=agJ|>b(DC0rPhFxnF$?t?7SzH7i z^WG~}RnRU?e67Pf#c+%Q@Rzw(-G<++Q2qpQ7ecyUqc(6-jpy50(%Ou~nXcPQ4jFR) zt&>?}fd&T5 zk3nW{t`Mf^~~P@!cWR&|_JV8;XLz!)2Ago$g|N;0IQMkWr{4gZGo-o>1G zgR|>FKptT-jpa?3&J8>j)!jjCu!fD-3hu{*FAb z(h`S3AL+eiqFc*IY5`|4?}3LyA%S&|eK)4iDG|B#9Sj9K`Y7l)K_UK?NnA%0vGL2R z6z1PvMqvr2;cADYFSjDay?$1dTe3ZF+$*Os`4KHkm@k$upmSPBDai%7eEWK{8X(T| zVF7cI9)p=TX-UQd^A!2yzv7v)pdf}Q^`aZQ#8!kCAVtIqgH#&q{ z$3&?Ah)3&`z=<42^D$UxHBJkB4CLBfhC9f4o#W8W_jlP|9OlqH)PTPLFH6ce1H=Xp zZ7mRIkhvFc@Zhg{7PqD+{)BV=K(C5x>&l6e17R%lF_t9nft$%m_oGjrtsAD4F+86g7F04`z2RHF-<{+Fi1(I~ zMXjpc7>S?XoF-l3)m;jiRLFo0eOLfKc4wXewgLgL?|)zU*tQNdN?C;Zeo_2Xj;_Wr4w z^CthOf=6}Apj7*(lxD}}e0T!JmfxP|Ui_CI_;f*(pO3)LBeBOKt=H||WR*-&yxuY} z+3r*|EIKg+b9?U5slU3&^Iu2wXUYeN1ts^kVxNf0$nfru0{QIFflUxB;fZOV{7H>F z9Rjt`YrNMLM`xTe<#;BYyDTfE$LAN=6fk4y(Qz<_s{b1W_>j1xk7;TyG`>nL^}f|; zU8`S-TRtpdc*%P~sQcsBgPv}4;ZnWha?L=|Dh({m2iSayv|VGHxQM*4*G9k{0!YBP zAj)RSZpz_`C^o9iMTIKp)aftv!s%k~4);KHo zqP=Q>5fCFEYs*vcP3^u~j1LsZag>N;NN|#Xn7lk*rl<<%>(n=y0?FVl2g=VW4?v*% z!QMn;hZ+<2CY@Ox^m=pL()kBA?OYHlr$yTT60&#{OzsO!HhqL!EgjqHkDoMly5k#@ z@I0ql(A;cCjU51#f!foXF~8jCSNg8pc$U*OUS-+c<*_87(Ft|OwNT0{gKiMt01TV2 z0_zDjhD`_MrB_E$2a^^P$&vI~-dp^#yWi$LPZg>?jJQ8QaTn1A#$ofQ%>PDzk}L&$U8sP9=(s z7Ik-X*xr7IPeKGk({$Y~*TJ}}+?@TtlNE13%)+zp8Zb8YEld12+z>AEE=w^7KE|~9eRSM*c{Eg{ z^9+#UPYf?wZ2P#2zBMk-BW{qDrLur|$L^dEQdEz|b5_PlNl0jFd6|h$0)2c2$lC$2 zt_(MCZzIXy<|pQT1k8dKKOH!FXp0^z>G}O|*!tZ%I<_!fS}Ln+I{$5J%&aP7?|GeW z9R<$7W*EOst^W5Pet-a?iW6i;2A@ramBUn=aM+)wRFIj4%HRJ_ zaq9^k9DMsH=pJgU)-8={)h4nXBb-EMTQKu75>-T&r@MKU(J$9MLe)I{zSQ;h`-rp<#O$3x%70ORB~86**e9hI^!8GmhAuj_1gtnC9dnsY~tV{ zqhz6^bK#m%!ex8(Z-J$Jc3BPqSTb~MWm;ZViB?kWtqDN{Od_2WXrlj@pVUDaHyNv$ zbI>C$4&cpObG2%SPUeWyv$`@umICdW!tj3 z@6c+h5~}p(ChJq?kh2<5DcZEJG)1JyKrl?Dg4FB!W%?Mb;UIlDXFJoC#D~+c$Ou7S zv}&D>@#Sg9qq}z)KXRHGpKT@8#fSp_=v=XKV`F0>b-C3)evJNiY1IT()P{5@ka1cE zGs_C8e&sl2^5em8GL7q?1RF>+4^an(D0(1O6Xxyb$Z`2C+#B#k22`%R9(q`W-+RO1 zUX4BBfzJo8gx#~K0W!8?313&>w2-dk!LEIxzkgrlKqNx7Gf@vkK%OiI&l13zS1p*r zOgKq6TV3Tl)X`S&&-mX;svN<*%Cl2lU61FA{-i~e?qS~&YRYd zottaU<9>Ct_Bwi4m&E&;6u9{jWfoU<8h(DmRaLKZOS*3H)J&nG(k^F<4{{;DDVDsc zt+!cBbLB(|(Shz1KODB?vgX^Gyjnk$@3ZH*eH3FKs*PK zhfFqy%WPH#k_u6p&1_-nQ@jkzXLwPfci3yne*lX>aCBsi>=;aYW$gugFKPdG0L3~X z202*Xiajjghq4J_3f)D;KGShR+(05gVd-PYFXR}u*#UVGh(G*gp>;V7_NT(k18{yT zJTTv~yfkGHl$mW;cDISg^QC_pdPcD;Z&V(mpIhM77Xlna2Gg8K2t|$vk6cIP-xS7c ztN<(*EJS3M>_lUNbf{h5Jr~0S2EKeY>O@>6(9LhxocE2?`1b#mRND-ET(M%((u2*j zYj+>LqDCiIKK%FN>i{PoU|iZUr~JzZeiIWIbLf|w2Kj|>3~xUcb8+wEFog!_a^8JP zVd&-2nu2f2LlCV;!e~munfY?d6kF1-u2(HT$r9fkSJXQT#Um@nhdp8tm6p#4!f2_q z$ut`J!#hkuD>E-yuo#y0RcBnQ#^4ncqu&euFNu{hU=$!$W#J4mTpT-| z(g{{vD!?gb`~(ZT*tGWP1ulZsYY@Acc|OTGI{@OUDq0t9Rg6pV7ZqizDuG_3GVA^p z@G^``)6wA!4@>j;J+;B%`F>tUbu_L*|HtVnuI<&;s@o@78=B?uZ-ud_gM$r)u+$X* zIuTZoPGIWuztN->LVXuSy#EHj>uzgwl`=jI!@gWt<0h49NW?L5x>=(NKUBf~lRxSOy`goF1MeYjX%gul_XEpHV zZNR+p^P5^yP?j*tT!vLnX0UkYIq0rRQrDqPg<%H*-wvF4v8(()EMUr$TNt5HS~oo1 zE4CB{G|M$hG&o&$HobK2r|Fi{NO@y34IY|M{r5ml;^306XP5&0*%+DoO}=G(BNP_$ zDLUm_f~$WWC#lj2a>Q9?jye?rEuI@hdeifj|$KWj<6Dn5?NjLxb6 z-pSE7DAPdW#|r2o+v$Scjua!`;rE{B{{^wW9EJcc!XZ#pQj*iIs@)&=)}VIrr4%xi zLK_(GlcpN7Teen+36ukCy8d=l_Q?JQhWBf~ za=`?i?qoET7b#ik>2k7lnZ@J4w##A#`>~+Iz?(GuazudRWJgZ`OqPc&%i79{Z&lai z*BK2jTM*jjAKt--wGe|rX9`}&ROd-Z#MX8Rf~{s+)_vQytfWx9+2`oMq0)PQCS`FZ zjdv~Cibg*eu4#eVxI{$J1A71E(`%gce+v9p*gb&G4i8~Yzvp=^bQ1oO%BLDS%f@o^aouJ#7T;%3kg+UdR%Ats{R0DSv5 zZq)a%Nk^Kz?9}t^$Ve3yka}1n)f?!}$fQ}QTfp{qA~53-Fov0g-Wy?dV{~;41qZu5 zKa^WFZMeFffmBKVi<*a+U>4?6ARWO&j{)L@hsiZRw|W2M%M8nn!Zvg1fQ<2GZONVY z`Sdh2J&{DX=}zOvWudgE{0(m(?vG2!L;}M=t=8L=kC<>%Dzei5y7ZY#g@&c~hW!(l z0&mWk5o_crM3+WkL=YasrnV|mdY-?*raMc>$xmOXe!VW282n0KTUBK9W|O&fr@z1V z-I#zulsL2@8|9NDgu;DV@l1@K@BGgh&}_C;&mu_Nxx@s#4?0sZZMn-DbpG!lb9kT( z2Zl0;(Eum&+adDyC6aWWqrzDh9<+ukmP@LHZMbm|0xGThPy}P1n-F9YoBul(}rHUq!y9i zpLvq>v)tlz8k@0`$5CQ8i>b0>CP8D1YEsSNEIj}4OU!??8Yji~Dn109xRC&}U}UD1 z_GxI}11bc!O2>CWEPVwGtZ@Mn$w{#1G#?v_2~W>e;FB7&2UpkMzY%mrA*J!e#S6Nx z`V)Ig!?oT%67Qi2NuZ&ld;jbP;)`v4Bpt|!RA6yt+K~98v#W!j5)+wh zL{p7QQPS|q$!IaJ+0#o^py8aQ32vVw?9NT`$KxrFn_ zc;^0lSO0?VcQl4#h8TV|f&0t$!;H#|;kNgVnhK%=vJ*Gi*yt^89tU6((Y_a{Ke|69 z!tFLSW1j}ynNr@g5K{u*mfp?yq@E|emu8zuitf)Ehq1^1>+0I$p-THWr{SGV$yCc! zh_r)6E-i)RQj0=uyTz2`U?;W6Os%1IvoocO#+1)1Ok!=fwPB};V#4Ya^1dmxS(hRW zQt#4ASs`1!zvrBpX{P_?Gv{}n-}C$auFvH>kLBQ<=DCy*M5v{}`XBp(;H4+WPg(ys zWQTcY?)-F`^RdUHX`Aaz10Ix@x0KDEy};1Yx-e>YQ`GJ=1|yaeBactS$#YKXzq|yk z3@5-jT35xtn|*2HHL&h&-P|e0*L|M&{%L6BaUR^;^MJt4GlXXGM`nCr@+ZUfz7@Oo z8$7O-ddEuZR=H;WZMQGAWoGX7wzf@kgty`3pS`vTt|^wxyTdL{cb)MQGDp45vC2ph z=ciLyLL?jBLqvJ^w5^d4{l{_+t9x{*&QQU>>Y&aJuWY zG(47c7RY08#i-9s%cu6dsH2PB3j^!e;sO-)xd@K8*NnuU?D~m*kG0 zrE;grR@fMpyl^PUhPR?j@o`vKF)Ql%p~?nRbF=KQO&8nlY(;{d& zl1LuElNi<%JuL0xGYVs}vbV$|pgSo%iy$i&yH^*J5v40}M zC(@LC5N2B{_GJ)Kh$nA1Hm&G5#BmM?Xw;1wE0f&u*{PyJriR8{umzcx&v9m?v|0|r z)r;o4COOWzb9R%nkt#6Z92yk=u=A%KVbh~%H4I7nk6$IbU*bpftE2`G@m$lDC7Voe zj&z<;NDX5VAGeQm2df^^pV{zYH)h-{leDyC^>Vzuyrw&f?(c|6{!0T0*?;NJEO?Dg z-H~r+eUd5|;5f&el#P%x5h^w*HkjwiF3V@53C?e=SI=-YjU=&Q+hU7uQ7#nyufvnA zWz6oGU;Xesv`~>sg*Q^yaC$}O7cCCfLn-&GmwI|R40i0keI~ade*gU{LzN3ce>%Kq z702a$ocTGRHuDDf`h2|5=C2=liT>hW&uJ)o#~~tzkxZW)u8{QgWi4HOeW+EK59cb|ILn-0 z^DH(t_V=+jQVX4ap>_(9!MtR!&Gi(bdCMiCi{D>FfvkEJe;J$5Kdn(R97Z(7`I-% z#4XK=%BCs;qTNWckoWHI)q-_?hSh3VBdk4Ro_ z2=s{S_|1N+$?X=X)m6OweTfr07Gkgx!2pdY3T@2H&GnmNs-$pFV9o_DAz{jrg)$+90X;ZP9_b*0>y1A>`!G>7;U{u`K&hg3pI|La3E{K~ z6X8cj$$CvV%*7f+dAqyYHg+0Zi6a+esBi%5N*igc(vH>XlcSXl+>F=)j&sTb==$}X z=vED5#c6Fv2q5b3jD9WO6Mm~F%BTA~_CK3WaeMsndvvzD8h5;r!M5cc6IC|k=NmRf zkH4^O`WnVTYIZJIb2p^QkN_Oaq_D=}MpLxg!+5xcQAL5AwV1&?A-6kiFPdOxCbgAC zMjDq7Os!s~WFm2K%BD`RL>)Rl@+y zFZ5-Z@)GFcI1hyM_8IkFSA5rlWKwFTYp0AT;c0|d`sCB5=rwECX4Q{{)5ImpsE?Ww zMg$O}g)>nIof7r5kX5kRUSyen=jm6)SxH((>V$L-7i9F$u;O*o^l^9pi=}CW%6OCOvK_@?c@ToEQv1nBl(I~C{EVD`DWv- z;kCz~Y%wn9iR00r<-LG8Vq#!q5`!=nT;F)?>9v0|(>`$l!q@sc)78w#7j$S+##oj8 z*3>KZHxfm=Y(Sz$yKuvP_rxU*2sw33BF&TpT3)j%r@ zJ7JY5qw<%AcxGRwNZPKPb=Cosd|E(0+lGWU;7jl6nud8dZ1r&xxcg$^$0hk%Y&)+*z*AG zxc%LFnhG5=;)OqoWtPYNhXb05t+3V=%EjH}1WOAc8^vY>5bocjS7I}lDha_V$dC{`1A6i2<#g9PH>|B$1J5{A zB|FHfRYSB0+U8wIzr-8#_1OF!waQ9E)llhdVNh@Fy)Ppq+K4$}$zalN)^Ob~!h=X( zqDb`yQ^-JD>KU73p;A$Hr%O+_2%uBMf#5$(H!IZgZzpUPI<(Vxde1^F@%-_J2&Zbj z&9%UyS|Auy`MKg6Jn&}vsmpU@&=(opxBeE_>mP<{m^nh#O$V@;zU{1S$+m~84v_$d zqR$q-;qq-Mw%o48em(W{V@E)L@sI=;rRA@n?e61@ZhaWxb-5p#=@tw~E}!HAWR% zNDec>xvg{u<4OA;^Cj9<9fLcpU?|~t;n z(sWHE1dJ5wJHI<7RQMo@jkxY45|Ewi_qIC_qZ;Xe*kK`iarraeqjA=^dRjW;Bln8f z#%bq0ptC(SKOofc}$%9rgqgsDw5NSYO z_(cr+V`y7ysaT*SMA6(7+!C#)rXl4c%T}Dv8$) zAv=&)veug_%jJ_Ifh)D{Y72S^e;||QX!^8tpx5@Xu$s$rmpt4c3ks5#C?-u>1}M@Q$~yFc!`%!MEND8f$B*?)T5 VbHl#=5%@=E)#qzgO8xMC{|6wC8v6hM literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-AddPic.png b/src/static/images/polling/icon-AddPic.png new file mode 100644 index 0000000000000000000000000000000000000000..64cf919c5ee14df12ee8d65ffbb76116a33287e5 GIT binary patch literal 1599 zcmV-F2Eh4=P)YC_x8#4e@%15AI=(!S|~r6%f=(jpfB z08%&r(T|dX{lI7mJo8{h_OPZCOZ)WDq%$ak( z%*>rTcMYG$zuDQ@6Ckb$Cp5b5(?$$rbjIWH^SYcD+cJhO`&x*>;d&eo<>lr1bvd4} z9g?whjG>&Esi~=FaC8jEOG$N$j4_rNQ|VYriJ6#~C@Cl?7{kMA;FVO%m@>A?0hJNM z(lN@)%0f7|8+a|d8GA&0P&KeJV&>-NWTV}y$}tCaIukxP=xXhpt-qusI9GSuA!k}xv{ZvT_AbU zQGYQI2pqtZdJ_MbUzWgWU0GVx9SM9tY zCW?ngA*8##z5O0}Mt$w2ETwc5CONr2z6Zx3kwC7jwm4KD$D95S#6??7#t5litS7x z=wL-f#Vz)o&x!0!unQD|BJey2QWxUs^b;h#LD?cKt0CHqSSl1LbP=<%zP^6S>?45~ zkTOUr0m;+G+{9cK!oHZ9ndzsGAtd}6N3RA%z! z^+M=J=0^4P^|G1ETfMo;by){7Yj`yXwg^k&paW7;ZS-P8&NZnz$;((WrsS1DIWYu3 z!QOH|)kE26DSr&yh%BXk^M)*AF{LKl7`E%HoEQeNI9Xm^E*oq%dkWn%$}S$&mdzMq zzRlRnL8WqHaB|V?hhZ3YOTgSLtFj$2%u>skSsBaF$jDIVsEU`sTQ(gVZFG)Q5O1*s zS+^Y-%g{+VF{`Vqf7y&DpHytrj#L&~oQae_vXv9l(a{li6mFKCST+`)mzS3@@6f?E#MQ%L#_-i0l6%HfwUMBib*BkMLH~PwscAqAVuD=x4k42-Lp!x z5`zc%EQevpkqwffdw~?0DKew--CIjoD{owQ-R1B3uY3vXp$>bI9*}_p!EafCst8P9o+T x#JxAch3{Vg00960EYry!00006Nklu?002ovPDHLkV1l0M3l{(Y literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-AddPorV.png b/src/static/images/polling/icon-AddPorV.png new file mode 100644 index 0000000000000000000000000000000000000000..14d4881eaffca429bc2e102a70f09dbd88b6f394 GIT binary patch literal 3307 zcmV

5Q;P)o!@VoE^xCQo} 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 p00960WD9K`?t002ovPDHLkV1l0%PoMw* literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-AddVideo.png b/src/static/images/polling/icon-AddVideo.png new file mode 100644 index 0000000000000000000000000000000000000000..a116390cfa8ea37a1c433f00c78fe31c281087ac GIT binary patch literal 987 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ξG50Ll|D3&mX;cf0sD~lTn&s=SmheDy-JkJ5e z@&_W4yV&peY(yj)jecgp>zeGf9EuOP6{oZs~X(+jEQhMzh~fM zZU%7~bDY(9=Q7q7W=upfWipvl=r=&b3*K@-p74^u6A||RC@*(}0`kCAq;EuWnI@2a zo`^^SwuAg!UJ=^_Y|jC1#CJ{lTKjk=BFVVc??Y!mSptb4puMb4nqXguL?V%|ra-`UwYqH8qu`%Xj(VT)aY%zd$~U`yTS%(!Uv`DIsxh!h8ryu0K9-MCVd)TU}z5-G)8mE>RgbhZ5j00960&kFi700006Nklv$Hzg*TD2YadRz=$nYO4@}wb1T%ci;Y-nR__rzPa<}?VH^KePt(e z?){x}&z$o+Gjs3En`f}Z77k6^8xGe-G0LSS+^+7B&KWvN7q7E(HTX$#0a4(7Xq zxv6I`I{MxhBRO4e;hfRJDTNj}w9Qd>&Al!mCYXc7Fn&v`|Os*&9-RXD~A+BOuPc7B6E*P5H9UQHFCo{AO zXiSaW5>7ZoNUCCwL_kElAzT%EX(}WzbO7K`2N`$_)$Wsu^HLhT^f@B@h`%7NIx?j}v85{* z*XNNKu6)m8m0S+VwJ>JfS>CVQ)K0*i%2}~WRtPwGPz_EjKZ+e|#~sc!VS+;v;94~? z_;>M{@*c(Q5RIiVHJ0WGV}49=ll0OhSwSDkY|I(wdLe@|HxX!yI!MK{G5BYS^Ae2A zd|LFoMIb&Cu?eua`_^85ZjADZaA+KK>usk4c^RI*A)Kqd z1hS8cd4tFbCj`BH9|^l_C-C(2jbdAJmwD32mE+(KVuJ=(Yd>maqTlQX4Viy?ob^(z z#|(bS%+)C2k|X-s9T$I2XmXcK7UrywnwqHQBTn^=&dXD@oYMmFM8S@?5nBBhQUBeh_wIEW;@f zr|VM)*yz;^7XsQ^Xf84mZ7VWowxIl)$4wl(F~?PFFmeVPlke|Iz494tXu(Z zyycpXvLEz40p~r232(}95n$He`9&kGHcLaT#+)Ut-QYFh@VduYe{p7QhQZ^q{L=rt zAuL6WiJcl{8O)aC68J-@xv-1I%8$#y%OXqfj8oBg*Aq)Qm7+$jJO_VFo~smk&d7u7 zKYq}{e8A(ZXPoeuK%elqu-`><5gGkC@Q=cAHOeg&%|}}xzN#)JO}TO$ynho{qO*qC zWcMmry3IQ_`r!8-lcCRgylCII^0g=~Zbmb2%J~^)PYW1Q?VyjMZ>bOxpkLtTos!F$$ zA_9&J(%l4BeiFCQ+Y?pwmvyXC@T!yb?!P!2Q;S>ZPT(?;YbStdmE;ZDvX7*8|^sN*(I^pIxibcrGDtCc!h2Xw57m48>W(2AP zw&Q*s%uBp|m98A_$`PxPE-z@!ewi`ygO@L}RBRj>lWOG-s;TJLN{gQ8mX| zxGTt)&O$Qj(aaJsn6*AwqN^KjS?Cru-!qw{*Y1@_)98t|6;I5yexs-5(&d5#GW$yxhJ+}FOp z8#I>2gypZxGw9b?xH&GuN$koovf;x5v%RShZ0|k;_aPe~LPwa;2%h3jEZ8LJL3y}6 zxWIhHs>Y1^SG9gB6%NWpIn|T!0c`K|e*ig?ac!=Nqx0VrRcuWW({b{qa!l2F*HQ>}+&mkV@I{u7bKJHTv yZ0$bfv>1uE00030|DPtsq8i)Cfp{7J`5e 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 literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-QRcode.png b/src/static/images/polling/icon-QRcode.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecb4eb97b15a0fa035a93222cb6f8a1326e26e9 GIT binary patch literal 476 zcmV<20VDp2P)B zi;coC487hha>ppQP*-UOVigd3Ac2jP$fT+B>J-vqB-4Cep7ZS1O1{57 zo6*i`vWdsacO8b|nDWVfDI?#XT%b*SFeFHl9tH1 zKDyz#_31du2Ma+7Tj5GVCP(oF8_liFjiHnm4X6sC3UVNW4vQJwA$3fc8ou1MAi7Y6 zMAQx%YYJ&9*M|@)h1NSZpN=OVHo}*tmDVs9+k{VIOBu1=vDruN<6N7M{XDEB-OL`LLmrnR-8nS`Xy zGzagRGYNUu=9c*JCnPP4bNwYz3|Pq(#==vZ3mAU7$%uM%=13@(TbmnGD4wR&wQ5GF zI@R2<)jPY~BKe62QaR3TF*o7k`CzJ$0NTUz4gdiE|H`@9N&o-=21!IgR09B0T*zQV S?I7p?0000S-<=F(j> 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 literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-repair.png b/src/static/images/polling/icon-repair.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e0ee6c50ad8928881441e5649d3a7c96d98b48 GIT binary patch literal 1494 zcmV;{1u6Q8P)xXYQQ$nKNf*?iggX zv11XeEVIXi%kBGSI;A5i7WV%PGs{ZK!;ZZt?DPv|I>`xKdK#7(tP&%86@jCXQK6F& zC$x-4IlAO^3zZ{FZ*@(uP9T#-W%uM^p?;kPInMT-#0B$DY7Q0lvjc*g0IUl;p)Y3) zM=#<%0%kZ&f`NJw4Dt;`?(9{Jnu%p7@#vhu9<%xsTF$1E5#k5geGp)l)yIC@C$92| zl!Z81Q%{>AnW~(`_!47R&mDq3c>{aO`;Or3g>#sp&>ub8?~0}2Q6;zec!AH95ygXH z)C)Q^uZqaTmXN*OOsyyxm{)!Efc_v`uU73@_9k>R=04vy+Y zb=?i7$PIkcv3oltSB5zwZO&STUEu%%GY)y$q>-ili!`{03f-)TwyMFrn#Sf`%s_78 z?ya9z-Zy8KmjXH|Cx)Onn>TT&ZTAUUyUDL$F96!cvMq=;q;`4=hBN$w$l#z@_0#p+1wrIgX+u0|hPUJN41fbt@B=9J>I-f;ZD3AvL$-O>RkF%f;b4A9mrf;H~ z)*0AWi6zb)h{lr(V)4|?(L`zhap!b0#mV>^(6U5|RrI2-oc&S!OxfKviPXo@#?;|# zaW>s0aJJB+5B`Spt&*Az$N|^rW~kZ7)!2vZrtSx^cvDk0yAXZVz@FjP4LE07t*|KG zfN=-#n2q=NnOz~rB96Vq`=4j>3*kKq>>2O;;qNnC%5UMyC!{UbaS=CAj5xP}ZV|u+ zFn@5Xy=^XF5$_gy9Jtc4CkV_A0g7DU5g55k;PM!{RjN`81D;i}nEBlEPG}224nKv! z6cS|eXH@jP$EZYA!Oexo1^N}!oI>B9tC*m8wTA>UY#t0d_9oH={TCF_$Opb8##(CC zvaTgOX3xap$&K7ZNu-5=k!0Op2c!sDO(2URPG|$!!kz=&2A)1DR3UsT(aNje3p^@Z zT2h4Qk>oE(rzbP>zepB>MF>gfwnV|Y)DJGlH#-Mc|jn{!%k>rrm#z3 z@A=u{grWi0d`G3h%ybPieUW&#P}|Uas7>5Cyjb$zYP1%hD(u*o6X+7ScQHPt!gRg{ zIp|N!bUAH$1iKoV>bdLZvF2@E3>0s{#Vqnp3FPIOj_p02ubefW)5YAmUcIP8a~H4r z$TfUojVV5BWHA(OhuQDZL~=#6Fy<3LWklULJaQS9yg4t8K~&%Ff>2!=NY zVh=PmH9Y(WOGmAMv9eGKMiEVz#y|}$ZBoNBACr?&?Ey#q!T3izyZih7zWe=rzVB^F zwXTVdTo@^n$)e3ErgUk2BJhNVN$+RzgL|bVPE4|i8N5?0q6Hu`ICwjN%p9Eq(gE!# z-gpw|WU^2%n`skmmggyk=TJJJgL*l)gqF#430^nNfs4qO4HY1A?|$$@Uah{y;31C;(dIg-o8$4>m$-E-&()T;2_la#RUDW1$(=6_6|sRB1A3 z6A;)!;7AsD4w^_a#m?Y@!l_~8fFTjNS|x=qcLGG?BpF0W6HZ*Cu+wrCfT!?||C>Hc zataId%71z%D3Tg7u$>+T=`cM`z$ML)APviF6mONuLhhSQhD`7I_U(jqmf^9wBEzxd zeSWgAdFY4erbgequU3ZF<0Z3$B(QSI>?;>A4ve=8r15q)ts+ke5>J!SD7nYqjiq zooCu3dt1ty%wG;^Vs@?@xe~ec_~R*+(T78=S6fC;D9jmotEh|18=myXG>7czXZWKt@x;REbLFs{zqDe>8?%PM~==4cZy*EP4*ji$J7e6r(und8S6FO0oTgK;`S4$gImdN1NG?%{AZc$|>JfbGkFP@$8XrxlQG@&%K-x zz5@~tRY!(oUE8wx(>nw6N;_hEM&7l2*tU{i<2OVdj~`z&_ZxKJ^S8O;Q|}+}`wtE6 zehSuiA6XK^m0t2KK0nz0XxTvPjW}J^(_0cR?2(1aeEqLvwe^jD5%}SnldPtL#_Xzp E09FDkB>(^b literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-success.png b/src/static/images/polling/icon-success.png new file mode 100644 index 0000000000000000000000000000000000000000..ff387b3a86d95e9d55e637e8b3baed8353c58c91 GIT binary patch literal 5117 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 literal 0 HcmV?d00001 diff --git a/src/static/images/polling/icon-type.png b/src/static/images/polling/icon-type.png new file mode 100644 index 0000000000000000000000000000000000000000..225993aef50af910cc10ddc534076666ff98f0ab GIT binary patch literal 310 zcmV-60m=S}P)98a(`4T6zth=({gp^fC9{G@L7cpa-Q}`oqa+m}Q z>;Y4!jL4C<#Dfv9*76ObzRA6>r(B!mN|HFoO=EpMr5!o%xBo28KXcs)7kfkNipe$6 zs%1+##dBw9G0B%$ { } } + +// 判断文件是图片还是视频 +export const getFileType = (filePathOrName) => { + // 从路径或文件名中提取扩展名 + let suffix = ''; + try { + suffix = filePathOrName.split('.').pop().toLowerCase(); + } catch (err) { + return 'unknown'; + } + + // 定义常见的图片和视频扩展名 + const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp']; + const videoExtensions = ['mp4', 'mov', 'avi', 'm4v', '3gp', 'mpeg', 'mkv', 'wmv']; + + if (imageExtensions.includes(suffix)) { + return 'image'; + } else if (videoExtensions.includes(suffix)) { + return 'video'; + } else { + return 'other'; + } + } \ No newline at end of file diff --git a/src/utils/datetime.js b/src/utils/datetime.js index 8246eb1..abc29b7 100644 --- a/src/utils/datetime.js +++ b/src/utils/datetime.js @@ -127,4 +127,38 @@ export function parseTime(time, pattern) { return value || 0 }) return time_str -} \ No newline at end of file +} + + +/** + * 获取常用时间范围 + * @param {string} rangeType - 范围类型: '3days' | '7days' | '1month' | '3months' + * @returns {Object} { startDate, endDate } 返回开始和结束日期,格式为 'YYYY-MM-DD' + */ +export function getDateRange(rangeType) { + const endDate = new Date(); // 结束日期默认为今天 + // 方案一:使用原生JavaScript + const startDate = new Date(); + switch (rangeType) { + case '3days': + startDate.setDate(endDate.getDate() - 2); // 近3天,含今天 + break; + case '7days': + startDate.setDate(endDate.getDate() - 6); // 近7天,含今天 + break; + case '1month': + startDate.setMonth(endDate.getMonth() - 1); // 近1个月 + break; + case '3months': + startDate.setMonth(endDate.getMonth() - 3); // 近3个月 + break; + default: + throw new Error('不支持的rangeType'); + } + // 格式化日期为 'YYYY-MM-DD' + const format = (date) => date.toISOString().split('T')[0]; + return { + startDate: format(startDate), + endDate: format(endDate) + }; +} diff --git a/src/utils/minio.js b/src/utils/minio.js new file mode 100644 index 0000000..bbbc22f --- /dev/null +++ b/src/utils/minio.js @@ -0,0 +1,121 @@ +import { initMinio, putObject } from 'minio-js' +import { v4 as uuidv4 } from 'uuid' + +// import Minio from 'minio'; +// const Minio = require("minio"); +// import * as Minio from 'minio' + + +/** + * minio 上传文件 + * @param {*} files 文件 + * @param {*} fileDir 上传后存放的路径 + * @returns + */ +export const uploadFileMinio = async (files,fileDir,tempFilePaths) => { + try { + if (!files.length){ + uni.showToast({ title: '请选择要上传的文件', icon: 'none' }) + return; + } + + let bucketName="718ys-test";//'你的存储桶名称' + // 初始化 Minio 客户端 + // #ifndef APP-PLUS + initMinio({ + endPoint: '192.168.236.196', // 例如 'play.min.io' + port: 9000, // 端口,使用 SSL 通常是 443,非 SSL 是 9000 + useSSL: false, // 根据你的 Minio 服务器配置决定 将此值设置为“true”为HTTPS访问,false为普通http访问 + accessKey: 'cyLu4uv7mFErTWkx',//'你的AccessKey', + secretKey: 'XE9PYr3wt6MHveHn8kA008rebxtj2c7S' //'你的SecretKey' + }); + + // const minioClient = new Minio.Client({ + // endPoint: '192.168.236.196', // 例如 'play.min.io' + // port: 9000, // 端口,使用 SSL 通常是 443,非 SSL 是 9000 + // useSSL: false, // 根据你的 Minio 服务器配置决定 将此值设置为“true”为HTTPS访问,false为普通http访问 + // accessKey: 'cyLu4uv7mFErTWkx',//'你的AccessKey', + // secretKey: 'XE9PYr3wt6MHveHn8kA008rebxtj2c7S' //'你的SecretKey' + // }) + // #endif + + let retrunFileArr=[]; + + // 批量上传 + const uploadPromises = files.map((file,index) => { + return new Promise(async(resolve, reject) => { + // 1.图片路径 + let fileName = uuidv4()+ "." + file.name.split(".").pop(); + let imgDir = fileDir?(fileDir+'/'+fileName):'/'+fileName; + retrunFileArr.push(imgDir); + console.log(imgDir) + + // #ifdef APP-PLUS + uni.uploadFile({ + url: 'http://192.168.236.196', //仅为示例,非真实的接口地址 + filePath: tempFilePaths[index], + name: 'file', + formData: { + 'user': 'test' + }, + success: (uploadFileRes) => { + console.log(uploadFileRes); + }, + fail: (err)=> { + console.log("err=>",err) + } + }); + // #endif + + // #ifndef APP-PLUS + // 使用putObject方法上传文件[citation:3] + // minioClient.putObject(bucketName,imgDir, file, (err, etag) => { + // if (err) { + // console.error('上传失败:', err); + // reject(err); + // } else { + // console.log('上传成功,Etag:', etag); + // resolve(etag); + // } + // }) + + // 2. 读取文件 + const arrayBuffer = await readFileAsArrayBuffer(file); + + // 3. 执行上传 + putObject(bucketName, arrayBuffer, imgDir, function (err, etag) { + console.log("执行上传=>",err,etag) + if (err) { + console.error('上传失败:', err); + // 处理错误 + reject(err) + } else { + console.log('上传成功,Etag:', etag); + // 上传成功后的处理 + resolve(etag) + } + }); + // #endif + }) + }) + + await Promise.all(uploadPromises) + uni.showToast({ title: '所有文件上传成功', icon: 'success' }) + return retrunFileArr; + + } catch (error) { + console.error('上传过程中出错:', error); + uni.showToast({ title: '上传失败', icon: 'none' }) + return []; + } +}; + +// 将 File 对象读取为 ArrayBuffer 的辅助函数 +const readFileAsArrayBuffer = (file) => { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(reader.result); + reader.onerror = reject; + reader.readAsArrayBuffer(file); + }); +}; \ No newline at end of file diff --git a/src/utils/status.js b/src/utils/status.js index 7a59773..3763174 100644 --- a/src/utils/status.js +++ b/src/utils/status.js @@ -19,6 +19,13 @@ export function formatLevel(type){ } // 任务(巡检)状态 1=未发布 2=已发布 3 进行中or执行中 4 已完成 5 已过期 +export const taskStatusOptions =[ + {value:1,label:'未发布'}, + {value:2,label:'已发布'}, + {value:3,label:'执行中'}, + {value:4,label:'已完成'}, + {value:5,label:'已过期'}, +] export function formatTaskStatus(status){ const result = { 1:'未发布', @@ -29,3 +36,17 @@ export function formatTaskStatus(status){ } return result[status]; } + +// 巡检类型 1 日常任务 2 临时任务 +export const taskTypeOptions =[ + {value:0,label:'全部类型'}, + {value:1,label:'日常巡检'}, + {value:2,label:'临时巡检'}, +] +export function formatTaskType(status){ + const result = { + 1:'日常巡检', + 2:'临时巡检', + } + return result[status]; +}