From 3945ee611d4c9a54fc6c799bc5f135c1f6976fda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E8=8E=AB=E5=94=90=E5=B0=BC?=
Date: Thu, 11 Jun 2026 02:13:47 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=90=86=E6=97=A7=E6=96=87?=
=?UTF-8?q?=E4=BB=B6=E5=B9=B6=E9=87=8D=E6=9E=84=E9=A1=B9=E7=9B=AE=E5=9F=BA?=
=?UTF-8?q?=E7=A1=80=E7=BB=93=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 删除大量废弃的旧代码、依赖和配置文件
- 新增基础项目配置、工具函数、页面模板和请求库
- 重构目录结构,统一项目规范
- 添加commitlint、husky等代码规范工具
---
.changeset/README.md | 8 +
.changeset/config.json | 11 +
.commitlintrc.cjs | 3 +
.cursor/rules/api-http-patterns.mdc | 51 +
.cursor/rules/development-workflow.mdc | 43 +
.cursor/rules/project-overview.mdc | 36 +
.cursor/rules/styling-css-patterns.mdc | 54 +
.cursor/rules/uni-app-patterns.mdc | 63 +
.cursor/rules/vue-typescript-patterns.mdc | 53 +
.editorconfig | 13 +
.gitignore | 51 +-
.hbuilderx/launch.json | 29 -
.husky/commit-msg | 1 +
.husky/pre-commit | 1 +
.npmrc | 9 +
.trae/rules/project_rules.md | 123 +
.vscode/extensions.json | 15 +
.vscode/settings.json | 106 +
.vscode/vue3.code-snippets | 80 +
App.vue | 60 -
CHANGELOG.md | 3 -
GIT_README.md | 19 -
LICENSE | 682 +-
README.md | 2 +-
api/index.js | 28 -
api/v2/all.api.js | 185 -
api/v2/all.config.js | 10 -
api/v2/plugin.data-statistics.js | 35 -
common/filters/index.js | 74 -
common/http/index.js | 38 -
common/http/interceptors.js | 141 -
common/http/request.js | 27 -
common/icons/halocoloriconfont.css | 91 -
common/icons/haloiconfont.css | 90 -
common/icons/mphtmliconfont.css | 86 -
common/markdown/markdown.config.js | 100 -
common/markdown/markdown.scss | 155 -
common/mixins/index.js | 85 -
common/mixins/pluginAvailable.js | 55 -
common/styles/app.base.scss | 349 -
common/styles/app.theme.scss | 8 -
common/theme/theme.css | 5 -
components/article-card/article-card.vue | 352 -
components/article-douban/article-douban.vue | 231 -
.../article-min-card/article-min-card.vue | 222 -
components/article-vote/article-vote.vue | 569 -
components/barrage/barrage.vue | 339 -
components/cache-image/cache-image.vue | 198 -
.../category-mini-card/category-mini-card.vue | 79 -
components/comment-item/comment-item.vue | 165 -
components/comment-list/comment-list.vue | 272 -
components/comment-modal/comment-modal.vue | 233 -
components/e-swiper/e-swiper.scss | 343 -
components/e-swiper/e-swiper.vue | 220 -
components/heatmap/heatmap.vue | 479 -
.../components/mp-html/editable/config.js | 11 -
.../components/mp-html/editable/index.js | 532 -
.../mp-html/components/mp-html/emoji/index.js | 203 -
.../components/mp-html/highlight/config.js | 5 -
.../components/mp-html/highlight/index.js | 96 -
.../components/mp-html/highlight/prism.min.js | 7 -
.../components/mp-html/img-cache/index.js | 138 -
.../components/mp-html/markdown/index.js | 34 -
.../components/mp-html/markdown/marked.min.js | 6 -
.../mp-html/components/mp-html/mp-html.vue | 579 -
.../mp-html/components/mp-html/node/node.vue | 1119 -
.../mp-html/components/mp-html/parser.js | 1342 -
.../mp-html/components/mp-html/style/index.js | 129 -
.../components/mp-html/style/parser.js | 175 -
.../static/app-plus/mp-html/js/handler.js | 1 -
.../app-plus/mp-html/js/uni.webview.min.js | 1 -
.../static/app-plus/mp-html/local.html | 1 -
components/notify-dialog/notify-dialog.vue | 93 -
.../plugin-unavailable/plugin-unavailable.vue | 200 -
.../restrict-read-skeleton.vue | 243 -
components/scroll-btn/scroll-btn.vue | 85 -
components/vote-card/vote-card.vue | 252 -
components/wave/wave.vue | 89 -
config/index.js | 90 -
config/uhalo.config.js | 12 -
config/unihalo.mock.json | 177 -
env/.env | 43 +
env/.env.development | 9 +
env/.env.production | 9 +
env/.env.test | 9 +
eslint.config.mjs | 60 +
favicon.ico | Bin 0 -> 4286 bytes
index.html | 20 +-
js_sdk/fy-showModal/index.js | 72 -
js_sdk/fy-showModal/router-interceptor.js | 62 -
js_sdk/fy-showModal/showModal.js | 176 -
.../luch-request/adapters/index.js | 99 -
.../luch-request/core/InterceptorManager.js | 51 -
.../luch-request/luch-request/core/Request.js | 200 -
.../luch-request/core/buildFullPath.js | 20 -
.../luch-request/core/defaults.js | 30 -
.../luch-request/core/dispatchRequest.js | 6 -
.../luch-request/core/mergeConfig.js | 103 -
.../luch-request/luch-request/core/settle.js | 16 -
.../luch-request/helpers/buildURL.js | 69 -
.../luch-request/helpers/combineURLs.js | 14 -
.../luch-request/helpers/isAbsoluteURL.js | 14 -
js_sdk/luch-request/luch-request/index.d.ts | 116 -
js_sdk/luch-request/luch-request/index.js | 2 -
js_sdk/luch-request/luch-request/utils.js | 135 -
.../luch-request/luch-request/utils/clone.js | 264 -
js_sdk/luch-request/package.json | 13 -
main.js | 48 -
manifest.config.ts | 148 +
manifest.json | 236 -
openapi-ts-request.config.ts | 14 +
package.json | 242 +-
pages.config.ts | 26 +
pages.json | 375 -
pages/index/index.vue | 137 -
pages/tabbar/about/about.vue | 626 -
pages/tabbar/category/category.vue | 472 -
pages/tabbar/gallery/gallery.vue | 397 -
pages/tabbar/home/home.vue | 753 -
pages/tabbar/moments/moments.vue | 410 -
pagesA/about/about.vue | 99 -
pagesA/archives/archives.vue | 600 -
pagesA/article-detail/article-detail.vue | 1605 --
pagesA/articles/articles.vue | 245 -
pagesA/category-detail/category-detail.vue | 166 -
pagesA/contact/contact.vue | 279 -
pagesA/data-visual/data-visual.vue | 549 -
pagesA/disclaimers/disclaimers.vue | 59 -
pagesA/friend-links/friend-links.vue | 457 -
pagesA/love/album.vue | 383 -
pagesA/love/journey.vue | 106 -
pagesA/love/list.vue | 430 -
pagesA/love/love.vue | 418 -
pagesA/moment-detail/moment-detail.vue | 357 -
pagesA/setting/setting.vue | 383 -
pagesA/start/start.vue | 531 -
pagesA/submit-link/submit-link.vue | 272 -
pagesA/tag-detail/tag-detail.vue | 155 -
pagesA/tags/tags.vue | 14 -
pagesA/vote-detail/vote-detail.vue | 729 -
pagesA/votes/votes.vue | 409 -
pagesC/website/website.vue | 30 -
pnpm-lock.yaml | 22349 ++++++++++++++
scripts/bump-version.js | 154 +
scripts/create-base-files.js | 55 +
scripts/open-dev-tools.js | 107 +
scripts/postupgrade.js | 95 +
scripts/upload-weixin.js | 270 +
scripts/vite-plugin-eruda.js | 37 +
src/App.ku.vue | 40 +
src/App.vue | 52 +
src/api/foo-alova.ts | 17 +
src/api/foo.ts | 43 +
src/api/halo-base/category.ts | 42 +
src/api/halo-base/comment.ts | 72 +
src/api/halo-base/common.ts | 24 +
src/api/halo-base/post.ts | 43 +
src/api/halo-base/stats.ts | 19 +
src/api/halo-base/tag.ts | 34 +
src/api/halo-base/trackers.ts | 52 +
src/api/halo-plugin/data-statistics.ts | 24 +
src/api/halo-plugin/douban.ts | 11 +
src/api/halo-plugin/link.ts | 19 +
src/api/halo-plugin/moment.ts | 23 +
src/api/halo-plugin/muyin.ts | 55 +
src/api/halo-plugin/photo.ts | 56 +
src/api/halo-plugin/uni-halo.ts | 39 +
src/api/halo-plugin/vote.ts | 45 +
src/api/login.ts | 85 +
src/api/types/login.ts | 102 +
src/components/.gitkeep | 0
.../qiun-data-charts/config-echarts.js | 444 +
.../qiun-data-charts/config-ucharts.js | 675 +
.../qiun-data-charts/qiun-data-charts.vue | 1048 +-
src/components/qiun-data-charts/u-charts.js | 3 +
src/components/qiun-error/qiun-error.vue | 48 +
src/components/qiun-loading/loading1.vue | 153 +
src/components/qiun-loading/loading2.vue | 183 +
src/components/qiun-loading/loading3.vue | 190 +
src/components/qiun-loading/loading4.vue | 250 +
src/components/qiun-loading/loading5.vue | 259 +
src/components/qiun-loading/qiun-loading.vue | 33 +
.../qiun-title-bar/qiun-title-bar.vue | 47 +
src/env.d.ts | 41 +
src/hooks/useRequest.test.ts | 74 +
src/hooks/useRequest.ts | 54 +
src/hooks/useScroll.md | 116 +
src/hooks/useScroll.ts | 74 +
src/hooks/useUpload.ts | 171 +
src/http/README.md | 13 +
src/http/alova.ts | 133 +
src/http/http.ts | 200 +
src/http/interceptor.ts | 69 +
src/http/tools/enum.ts | 68 +
src/http/tools/queryString.ts | 29 +
src/http/types.ts | 44 +
src/http/vue-query.ts | 30 +
src/layouts/default.vue | 3 +
src/locale/README.md | 12 +
src/locale/en.json | 13 +
src/locale/index.ts | 81 +
src/locale/zh-Hans.json | 13 +
src/main.ts | 21 +
src/pages-blog/about/about.vue | 17 +
.../page-template/page-template.vue | 17 +
src/pages-blog/post-detail/post-detail.vue | 17 +
src/pages-demo/i18n/index.vue | 132 +
src/pages-demo/request-demo/request-demo.vue | 36 +
src/pages-demo/ucharts/data.json | 706 +
src/pages-demo/ucharts/index.vue | 100 +
src/pages/auth/README.md | 20 +
src/pages/auth/login.vue | 44 +
src/pages/auth/register.vue | 34 +
src/pages/gallery/gallery.vue | 17 +
src/pages/index/index.vue | 37 +
src/pages/me/me.vue | 79 +
src/pages/moments/moments.vue | 17 +
src/router/README.md | 55 +
src/router/config.ts | 30 +
src/router/interceptor.ts | 145 +
src/router/permission.ts | 11 +
src/service/index.ts | 6 +
src/service/info.ts | 14 +
src/service/listAll.ts | 18 +
src/service/types.ts | 29 +
src/static/app/icons/1024x1024.png | Bin 0 -> 59336 bytes
src/static/app/icons/120x120.png | Bin 0 -> 3231 bytes
src/static/app/icons/144x144.png | Bin 0 -> 3791 bytes
src/static/app/icons/152x152.png | Bin 0 -> 3981 bytes
src/static/app/icons/167x167.png | Bin 0 -> 4479 bytes
src/static/app/icons/180x180.png | Bin 0 -> 4844 bytes
src/static/app/icons/192x192.png | Bin 0 -> 5319 bytes
src/static/app/icons/20x20.png | Bin 0 -> 574 bytes
src/static/app/icons/29x29.png | Bin 0 -> 780 bytes
src/static/app/icons/40x40.png | Bin 0 -> 985 bytes
src/static/app/icons/58x58.png | Bin 0 -> 1483 bytes
src/static/app/icons/60x60.png | Bin 0 -> 1521 bytes
src/static/app/icons/72x72.png | Bin 0 -> 1802 bytes
src/static/app/icons/76x76.png | Bin 0 -> 1972 bytes
src/static/app/icons/80x80.png | Bin 0 -> 2060 bytes
src/static/app/icons/87x87.png | Bin 0 -> 2289 bytes
src/static/app/icons/96x96.png | Bin 0 -> 2396 bytes
src/static/images/avatar.jpg | Bin 0 -> 58805 bytes
src/static/images/default-avatar.png | Bin 0 -> 560 bytes
src/static/logo.png | Bin 0 -> 13226 bytes
src/static/logo.svg | 33 +
src/static/my-icons/copyright.svg | 1 +
src/static/tabbar/example.png | Bin 0 -> 1371 bytes
src/static/tabbar/exampleHL.png | Bin 0 -> 1398 bytes
src/static/tabbar/home.png | Bin 0 -> 1346 bytes
src/static/tabbar/homeHL.png | Bin 0 -> 1415 bytes
src/static/tabbar/personal.png | Bin 0 -> 2457 bytes
src/static/tabbar/personalHL.png | Bin 0 -> 2534 bytes
src/static/tabbar/scan.png | Bin 0 -> 3962 bytes
.../static}/tabbar/select_category.png | Bin
.../static}/tabbar/select_category_active.png | Bin
.../static}/tabbar/select_gallery.png | Bin
.../static}/tabbar/select_gallery_active.png | Bin
{static => src/static}/tabbar/select_home.png | Bin
.../static}/tabbar/select_home_active.png | Bin
.../static}/tabbar/select_links.png | Bin
.../static}/tabbar/select_links_active.png | Bin
{static => src/static}/tabbar/select_mine.png | Bin
.../static}/tabbar/select_mine_active.png | Bin
src/store/index.ts | 20 +
src/store/token.ts | 323 +
src/store/user.test.ts | 71 +
src/store/user.ts | 61 +
src/style/iconfont.css | 28 +
src/style/index.scss | 19 +
src/tabbar/README.md | 78 +
src/tabbar/TabbarItem.test.ts | 69 +
src/tabbar/TabbarItem.vue | 92 +
src/tabbar/config.ts | 154 +
src/tabbar/i18n.ts | 29 +
src/tabbar/index.vue | 166 +
src/tabbar/store.ts | 127 +
src/tabbar/types.ts | 37 +
src/test-setup.ts | 51 +
src/typings.d.ts | 171 +
src/typings.ts | 21 +
uni.scss => src/uni.scss | 43 +-
src/uni_modules/.gitkeep | 0
src/utils/auth.ts | 18 +
src/utils/common.ts | 8 +
src/utils/debounce.test.ts | 59 +
src/utils/debounce.ts | 166 +
src/utils/i18n.ts | 10 +
src/utils/index.ts | 179 +
src/utils/systemInfo.ts | 38 +
src/utils/toLoginPage.ts | 44 +
src/utils/updateManager.wx.ts | 29 +
src/utils/uploadFile.ts | 325 +
src/utils/url.ts | 13 +
static/wave/wave-1.png | Bin 4147 -> 0 bytes
static/wave/wave-2.png | Bin 5203 -> 0 bytes
store/comment.js | 27 -
store/config.js | 90 -
store/setting.js | 42 -
tm-vuetify/.npmignore | 12 -
tm-vuetify/changelog.md | 550 -
.../tm-actionSheet/tm-actionSheet.vue | 151 -
.../tm-actionSheetMenu/tm-actionSheetMenu.vue | 170 -
tm-vuetify/components/tm-album/tm-album.vue | 225 -
tm-vuetify/components/tm-alerts/tm-alerts.vue | 290 -
tm-vuetify/components/tm-avatar/tm-avatar.vue | 204 -
.../tm-avatarCrop/tm-avatarCrop.vue | 524 -
.../tm-avatarGroup/tm-avatarGroup.vue | 58 -
tm-vuetify/components/tm-badges/tm-badges.vue | 147 -
.../components/tm-banners/tm-banners.vue | 258 -
.../tm-bottomnavigation.vue | 466 -
tm-vuetify/components/tm-button/tm-button.vue | 705 -
.../components/tm-calendar/tm-calendar.vue | 967 -
.../tm-calendarView/tm-calendarView.vue | 896 -
tm-vuetify/components/tm-card/tm-card.vue | 210 -
.../tm-cartBarFood/tm-cartBarFood.vue | 379 -
.../tm-cartCellListFood.vue | 211 -
.../components/tm-checkbox/tm-checkbox.vue | 318 -
.../components/tm-choujiang/tm-choujiang.vue | 270 -
.../tm-choujiangGame/tm-choujiangGame.vue | 467 -
.../tm-choujiangGrid/tm-choujiangGrid.vue | 318 -
tm-vuetify/components/tm-col/tm-col.vue | 162 -
.../components/tm-countdown/tm-countdown.vue | 124 -
tm-vuetify/components/tm-coupon/tm-coupon.vue | 137 -
tm-vuetify/components/tm-dialog/tm-dialog.vue | 347 -
.../components/tm-divider/tm-divider.vue | 166 -
.../components/tm-dragGrid/tm-dragGrid.vue | 329 -
.../components/tm-dragList/tm-dragList.vue | 271 -
.../components/tm-dropDownMenu/doc.json | 107 -
.../tm-dropDownMenu/tm-dropDownMenu.vue | 547 -
.../components/tm-echarts/tm-echarts.vue | 380 -
tm-vuetify/components/tm-empty/tm-empty.vue | 78 -
.../tm-flop/requestAnimationFrame.js | 46 -
tm-vuetify/components/tm-flop/tm-flop.vue | 273 -
.../tm-flotbutton/tm-flotbutton.vue | 432 -
.../tm-flowLayout-custom.vue | 215 -
.../tm-flowLayout/tm-flowLayout.vue | 206 -
tm-vuetify/components/tm-form/tm-form.vue | 217 -
.../tm-formGeneration/tm-formGeneration.vue | 29 -
.../components/tm-fullView/tm-fullView.vue | 72 -
tm-vuetify/components/tm-gap/tm-gap.vue | 38 -
tm-vuetify/components/tm-grid/tm-grid.vue | 177 -
.../tm-groupButton/tm-groupButton.vue | 105 -
.../tm-groupcheckbox/tm-groupcheckbox.vue | 128 -
.../components/tm-grouplist/tm-grouplist.vue | 140 -
.../tm-groupradio/tm-groupradio.vue | 84 -
.../components/tm-helpTips/tm-helpTips.vue | 210 -
tm-vuetify/components/tm-icons/tm-icons.vue | 190 -
tm-vuetify/components/tm-images/tm-images.vue | 201 -
tm-vuetify/components/tm-input/tm-input.vue | 536 -
.../components/tm-keyborad/tm-keyborad.vue | 408 -
.../components/tm-listitem/tm-listitem.vue | 411 -
.../components/tm-loadding/tm-loadding.vue | 119 -
tm-vuetify/components/tm-lottie/tm-lottie.vue | 210 -
.../tm-mapSelectedPoint.vue | 432 -
.../components/tm-maskFlow/tm-maskFlow.vue | 132 -
tm-vuetify/components/tm-menu/tm-menu.vue | 223 -
.../components/tm-menubars/tm-menubars.vue | 262 -
.../components/tm-message/tm-message.vue | 365 -
.../tm-monthCalendar/tm-monthCalendar.vue | 302 -
tm-vuetify/components/tm-more/tm-more.vue | 179 -
.../tm-pagination/tm-pagination.vue | 230 -
.../components/tm-password/tm-password.vue | 240 -
.../components/tm-pickers/tm-pickers.vue | 216 -
.../tm-pickersCity/tm-pickersCity.vue | 285 -
.../tm-pickersCityView/tm-pickersCityView.vue | 160 -
.../tm-pickersDate/tm-pickersDate.vue | 244 -
.../tm-pickersDateView - 副本 (2).vue | 621 -
.../tm-pickersDateView - 副本.vue | 836 -
.../tm-pickersDateView/tm-pickersDateView.vue | 650 -
.../tm-pickersView/tm-pickersView.vue | 538 -
.../tm-pickersView/tm-pickersViewsss.vue | 587 -
.../components/tm-position/tm-position.vue | 78 -
tm-vuetify/components/tm-poup/tm-poup.vue | 519 -
.../components/tm-propress/tm-propress.vue | 257 -
.../tm-propressRound/tm-propressRound.vue | 345 -
.../tm-pullBottom/tm-pullBottom.vue | 222 -
.../components/tm-quickCity/tm-quickCity.vue | 624 -
.../tm-quickIndex/tm-quickIndex.vue | 328 -
tm-vuetify/components/tm-radio/tm-radio.vue | 266 -
tm-vuetify/components/tm-rate/tm-rate.vue | 148 -
tm-vuetify/components/tm-ratio/tm-ratio.vue | 170 -
.../components/tm-render/tm-render - 副本.vue | 449 -
tm-vuetify/components/tm-render/tm-render.vue | 787 -
tm-vuetify/components/tm-row/tm-row.vue | 106 -
tm-vuetify/components/tm-scroll/tm-scroll.vue | 106 -
tm-vuetify/components/tm-search/tm-search.vue | 210 -
.../components/tm-segTabs/tm-segTabs.vue | 290 -
.../tm-shareSheet/tm-shareSheet.vue | 167 -
tm-vuetify/components/tm-sheet/tm-sheet.vue | 162 -
.../components/tm-signBoard/tm-signBoard.vue | 190 -
.../components/tm-skeleton/tm-skeleton.vue | 94 -
tm-vuetify/components/tm-slider/tm-slider.vue | 480 -
.../components/tm-sliderNav/tm-sliderNav.vue | 188 -
.../components/tm-sliders/tm-sliders.vue | 586 -
.../components/tm-stepper/tm-stepper.vue | 315 -
tm-vuetify/components/tm-steps/tm-steps.vue | 268 -
.../components/tm-stepsItem/tm-stepsItem.vue | 182 -
tm-vuetify/components/tm-sticky/tm-sticky.vue | 99 -
tm-vuetify/components/tm-swiper/tm-swiper.vue | 423 -
.../tm-swiperList/tm-swiperList.vue | 193 -
.../tm-swiperListItem/tm-swiperListItem.vue | 74 -
tm-vuetify/components/tm-switch/tm-switch.vue | 252 -
.../tm-switchList/tm-switchList.vue | 415 -
tm-vuetify/components/tm-table/tm-table.vue | 291 -
tm-vuetify/components/tm-tabs/tm-tabs.vue | 391 -
tm-vuetify/components/tm-tags/tm-tags.vue | 191 -
.../components/tm-timeline/tm-timeline.vue | 310 -
.../components/tm-translate/tm-translate.vue | 355 -
tm-vuetify/components/tm-tree/tm-tree.vue | 998 -
.../tm-treeSelect/tm-treeSelect.vue | 311 -
tm-vuetify/components/tm-upload/tm-upload.vue | 469 -
.../tm-uploadfile/tm-uploadfile.vue | 441 -
.../tm-verificationImg/tm-verificationImg.vue | 137 -
tm-vuetify/components/tm-vuetify/说明.md | 1 -
.../components/tm-weekbar/tm-weekbar.vue | 198 -
tm-vuetify/index.js | 100 -
tm-vuetify/license.md | 3 -
tm-vuetify/mian.min.css | 1 -
tm-vuetify/package.json | 95 -
tm-vuetify/readme.md | 35 -
tm-vuetify/scss/fonts/fontawesome_base64.css | 9 -
tm-vuetify/scss/fonts/mdi_base64.css | 23961 ----------------
tm-vuetify/scss/iconfonts/demo.css | 539 -
tm-vuetify/scss/iconfonts/iconfont.css | 1150 -
tm-vuetify/scss/iconfonts/iconfont.js | 1 -
tm-vuetify/scss/iconfonts/iconfont.json | 1913 --
tm-vuetify/scss/iconfonts/iconfont.ttf | Bin 43784 -> 0 bytes
tm-vuetify/scss/iconfonts/index.html | 6355 ----
tm-vuetify/scss/theme.css | 28 -
tm-vuetify/scss/theme/amber.css | 5 -
tm-vuetify/scss/theme/blue-grey.css | 5 -
tm-vuetify/scss/theme/blue.css | 5 -
tm-vuetify/scss/theme/brown.css | 5 -
tm-vuetify/scss/theme/cyan.css | 5 -
tm-vuetify/scss/theme/deep-orange.css | 5 -
tm-vuetify/scss/theme/deep-purple.css | 5 -
tm-vuetify/scss/theme/green.css | 5 -
tm-vuetify/scss/theme/indigo.css | 5 -
tm-vuetify/scss/theme/light-blue.css | 5 -
tm-vuetify/scss/theme/light-green.css | 5 -
tm-vuetify/scss/theme/lime.css | 5 -
tm-vuetify/scss/theme/orange.css | 5 -
tm-vuetify/scss/theme/pink.css | 5 -
tm-vuetify/scss/theme/primary.css | 5 -
tm-vuetify/scss/theme/purple.css | 5 -
tm-vuetify/scss/theme/red.css | 5 -
tm-vuetify/scss/theme/teal.css | 5 -
tm-vuetify/scss/theme/yellow.css | 5 -
tm-vuetify/tool/config/config.js | 11 -
tm-vuetify/tool/function/calendar.js | 553 -
tm-vuetify/tool/function/choujianggailv.js | 41 -
tm-vuetify/tool/function/clipboardJS.js | 15 -
tm-vuetify/tool/function/color.js | 272 -
.../core/bezierCurveToPolyline.js | 310 -
.../crender/bezier-curve/core/path2d.js | 465 -
.../core/polylineToBezierCurve.js | 111 -
.../function/crender/bezier-curve/index.js | 11 -
.../function/crender/class/crender.class.js | 2151 --
.../function/crender/class/graph.class.js | 377 -
.../function/crender/class/style.class.js | 467 -
.../function/crender/color/config/keywords.js | 150 -
.../tool/function/crender/color/index.js | 299 -
.../tool/function/crender/config/graphs.js | 2044 --
.../tool/function/crender/crender.min.js | 1 -
.../tool/function/crender/graph/path2d.js | 679 -
.../tool/function/crender/graph/ring.js | 136 -
tm-vuetify/tool/function/crender/index.js | 11 -
.../tool/function/crender/plugin/canvas.js | 50 -
.../tool/function/crender/plugin/util.js | 332 -
.../crender/transition/config/curves.js | 109 -
.../tool/function/crender/transition/index.js | 310 -
tm-vuetify/tool/function/dayjs/calendar.js | 1 -
tm-vuetify/tool/function/dayjs/dayjs.min.js | 1 -
tm-vuetify/tool/function/dayjs/index.js | 12 -
.../tool/function/dayjs/isBetween.min.js | 5 -
.../tool/function/dayjs/relativeTime.min.js | 5 -
.../tool/function/dayjs/toObject.min.js | 5 -
tm-vuetify/tool/function/dayjs/zh-cn.min.js | 7 -
tm-vuetify/tool/function/deepClone.js | 24 -
tm-vuetify/tool/function/deepMerge.js | 31 -
tm-vuetify/tool/function/echarts.min.js | 18 -
tm-vuetify/tool/function/findCnChart.js | 452 -
tm-vuetify/tool/function/getParent.js | 48 -
tm-vuetify/tool/function/getParentAls.js | 19 -
tm-vuetify/tool/function/getParentAttr.js | 18 -
tm-vuetify/tool/function/guid.js | 41 -
tm-vuetify/tool/function/js-search.min.js | 2 -
tm-vuetify/tool/function/lottie.js | 1 -
tm-vuetify/tool/function/md5.js | 385 -
tm-vuetify/tool/function/mixin.js | 53 -
tm-vuetify/tool/function/objToString.js | 11 -
tm-vuetify/tool/function/phaser.min.js | 1 -
tm-vuetify/tool/function/preview.js | 53 -
tm-vuetify/tool/function/random.js | 10 -
tm-vuetify/tool/function/randomArray.js | 7 -
tm-vuetify/tool/function/signBoard.js | 388 -
tm-vuetify/tool/function/sleep.js | 17 -
tm-vuetify/tool/function/test.js | 201 -
tm-vuetify/tool/function/theme.js | 32 -
tm-vuetify/tool/function/toast.js | 9 -
tm-vuetify/tool/function/trim.js | 15 -
.../tool/function/uni-echarts-canvas.js | 105 -
tm-vuetify/tool/function/upload.js | 447 -
tm-vuetify/tool/function/util.js | 234 -
tm-vuetify/tool/function/vuex.js | 62 -
tm-vuetify/tool/function/wxshare.js | 50 -
tm-vuetify/tool/mixin/mixin.js | 168 -
tm-vuetify/tool/request/index.js | 170 -
tm-vuetify/tool/store/tm-vuetify.js | 92 -
tm-vuetify/tool/util/area.js | 1 -
tm-vuetify/tool/util/city.js | 1 -
tm-vuetify/tool/util/emitter.js | 51 -
tm-vuetify/tool/util/province.js | 2 -
tsconfig.json | 59 +
uni_modules/k-touch-listen/changelog.md | 18 -
.../k-touch-listen/k-touch-listen.vue | 113 -
uni_modules/k-touch-listen/package.json | 85 -
uni_modules/liu-poster/changelog.md | 22 -
.../components/liu-poster/liu-poster.vue | 377 -
uni_modules/liu-poster/license.md | 6 -
uni_modules/liu-poster/package.json | 100 -
uni_modules/liu-poster/readme.md | 260 -
uni_modules/qiun-data-charts/changelog.md | 320 -
.../components/qiun-error/qiun-error.vue | 46 -
.../components/qiun-loading/loading1.vue | 162 -
.../components/qiun-loading/loading2.vue | 170 -
.../components/qiun-loading/loading3.vue | 173 -
.../components/qiun-loading/loading4.vue | 222 -
.../components/qiun-loading/loading5.vue | 229 -
.../components/qiun-loading/qiun-loading.vue | 36 -
.../js_sdk/u-charts/config-echarts.js | 422 -
.../js_sdk/u-charts/config-ucharts.js | 637 -
.../js_sdk/u-charts/readme.md | 5 -
.../js_sdk/u-charts/u-charts.js | 7706 -----
.../js_sdk/u-charts/u-charts.min.js | 18 -
uni_modules/qiun-data-charts/license.md | 201 -
uni_modules/qiun-data-charts/package.json | 80 -
uni_modules/qiun-data-charts/readme.md | 84 -
.../static/app-plus/echarts.min.js | 23 -
.../qiun-data-charts/static/h5/echarts.min.js | 23 -
uni_modules/uni-config-center/changelog.md | 6 -
uni_modules/uni-config-center/package.json | 81 -
uni_modules/uni-config-center/readme.md | 93 -
.../common/uni-config-center/index.js | 1 -
.../common/uni-config-center/package.json | 9 -
uni_modules/uni-id-common/changelog.md | 26 -
uni_modules/uni-id-common/package.json | 87 -
uni_modules/uni-id-common/readme.md | 3 -
.../common/uni-id-common/index.js | 1 -
.../common/uni-id-common/package.json | 16 -
.../uni-upgrade-center-app/changelog.md | 66 -
.../images/app_update_close.png | Bin 7644 -> 0 bytes
.../uni-upgrade-center-app/images/bg_top.png | Bin 30486 -> 0 bytes
.../uni-upgrade-center-app/package.json | 81 -
.../pages/upgrade-popup.vue | 539 -
.../uni-upgrade-center-app/pages_init.json | 18 -
uni_modules/uni-upgrade-center-app/readme.md | 126 -
.../uniCloud/cloudfunctions/temp.png | Bin 7644 -> 0 bytes
.../uniCloud/database/db_init.json | 1 -
.../utils/call-check-version.js | 33 -
.../utils/check-update.js | 158 -
uno.config.ts | 129 +
utils/app.js | 85 -
utils/auth.js | 95 -
utils/imageCache.js | 52 -
utils/index.js | 208 -
utils/network.js | 26 -
utils/permission.js | 80 -
utils/plugin.js | 104 -
utils/random.js | 35 -
utils/restrictRead.js | 140 -
utils/storage.js | 39 -
utils/throttle.js | 32 -
utils/token.js | 52 -
utils/update.js | 47 -
utils/upvote.js | 19 -
utils/url.params.js | 61 -
utils/uuid.js | 16 -
utils/vote.js | 86 -
vite-plugins/README.md | 236 +
vite-plugins/copy-native-resources.ts | 198 +
vite-plugins/sync-manifest-plugins.ts | 68 +
vite.config.ts | 215 +
vitest.config.ts | 21 +
vue.config.js | 16 -
wot-ui-resolver.ts | 27 +
587 files changed, 34429 insertions(+), 120475 deletions(-)
create mode 100644 .changeset/README.md
create mode 100644 .changeset/config.json
create mode 100644 .commitlintrc.cjs
create mode 100644 .cursor/rules/api-http-patterns.mdc
create mode 100644 .cursor/rules/development-workflow.mdc
create mode 100644 .cursor/rules/project-overview.mdc
create mode 100644 .cursor/rules/styling-css-patterns.mdc
create mode 100644 .cursor/rules/uni-app-patterns.mdc
create mode 100644 .cursor/rules/vue-typescript-patterns.mdc
create mode 100644 .editorconfig
delete mode 100644 .hbuilderx/launch.json
create mode 100644 .husky/commit-msg
create mode 100644 .husky/pre-commit
create mode 100644 .npmrc
create mode 100644 .trae/rules/project_rules.md
create mode 100644 .vscode/extensions.json
create mode 100644 .vscode/settings.json
create mode 100644 .vscode/vue3.code-snippets
delete mode 100644 App.vue
delete mode 100644 CHANGELOG.md
delete mode 100644 GIT_README.md
delete mode 100644 api/index.js
delete mode 100644 api/v2/all.api.js
delete mode 100644 api/v2/all.config.js
delete mode 100644 api/v2/plugin.data-statistics.js
delete mode 100644 common/filters/index.js
delete mode 100644 common/http/index.js
delete mode 100644 common/http/interceptors.js
delete mode 100644 common/http/request.js
delete mode 100644 common/icons/halocoloriconfont.css
delete mode 100644 common/icons/haloiconfont.css
delete mode 100644 common/icons/mphtmliconfont.css
delete mode 100644 common/markdown/markdown.config.js
delete mode 100644 common/markdown/markdown.scss
delete mode 100644 common/mixins/index.js
delete mode 100644 common/mixins/pluginAvailable.js
delete mode 100644 common/styles/app.base.scss
delete mode 100644 common/styles/app.theme.scss
delete mode 100644 common/theme/theme.css
delete mode 100644 components/article-card/article-card.vue
delete mode 100644 components/article-douban/article-douban.vue
delete mode 100644 components/article-min-card/article-min-card.vue
delete mode 100644 components/article-vote/article-vote.vue
delete mode 100644 components/barrage/barrage.vue
delete mode 100644 components/cache-image/cache-image.vue
delete mode 100644 components/category-mini-card/category-mini-card.vue
delete mode 100644 components/comment-item/comment-item.vue
delete mode 100644 components/comment-list/comment-list.vue
delete mode 100644 components/comment-modal/comment-modal.vue
delete mode 100644 components/e-swiper/e-swiper.scss
delete mode 100644 components/e-swiper/e-swiper.vue
delete mode 100644 components/heatmap/heatmap.vue
delete mode 100644 components/mp-html/components/mp-html/editable/config.js
delete mode 100644 components/mp-html/components/mp-html/editable/index.js
delete mode 100644 components/mp-html/components/mp-html/emoji/index.js
delete mode 100644 components/mp-html/components/mp-html/highlight/config.js
delete mode 100644 components/mp-html/components/mp-html/highlight/index.js
delete mode 100644 components/mp-html/components/mp-html/highlight/prism.min.js
delete mode 100644 components/mp-html/components/mp-html/img-cache/index.js
delete mode 100644 components/mp-html/components/mp-html/markdown/index.js
delete mode 100644 components/mp-html/components/mp-html/markdown/marked.min.js
delete mode 100644 components/mp-html/components/mp-html/mp-html.vue
delete mode 100644 components/mp-html/components/mp-html/node/node.vue
delete mode 100644 components/mp-html/components/mp-html/parser.js
delete mode 100644 components/mp-html/components/mp-html/style/index.js
delete mode 100644 components/mp-html/components/mp-html/style/parser.js
delete mode 100644 components/mp-html/static/app-plus/mp-html/js/handler.js
delete mode 100644 components/mp-html/static/app-plus/mp-html/js/uni.webview.min.js
delete mode 100644 components/mp-html/static/app-plus/mp-html/local.html
delete mode 100644 components/notify-dialog/notify-dialog.vue
delete mode 100644 components/plugin-unavailable/plugin-unavailable.vue
delete mode 100644 components/restrict-read-skeleton/restrict-read-skeleton.vue
delete mode 100644 components/scroll-btn/scroll-btn.vue
delete mode 100644 components/vote-card/vote-card.vue
delete mode 100644 components/wave/wave.vue
delete mode 100644 config/index.js
delete mode 100644 config/uhalo.config.js
delete mode 100644 config/unihalo.mock.json
create mode 100644 env/.env
create mode 100644 env/.env.development
create mode 100644 env/.env.production
create mode 100644 env/.env.test
create mode 100644 eslint.config.mjs
create mode 100644 favicon.ico
delete mode 100644 js_sdk/fy-showModal/index.js
delete mode 100644 js_sdk/fy-showModal/router-interceptor.js
delete mode 100644 js_sdk/fy-showModal/showModal.js
delete mode 100644 js_sdk/luch-request/luch-request/adapters/index.js
delete mode 100644 js_sdk/luch-request/luch-request/core/InterceptorManager.js
delete mode 100644 js_sdk/luch-request/luch-request/core/Request.js
delete mode 100644 js_sdk/luch-request/luch-request/core/buildFullPath.js
delete mode 100644 js_sdk/luch-request/luch-request/core/defaults.js
delete mode 100644 js_sdk/luch-request/luch-request/core/dispatchRequest.js
delete mode 100644 js_sdk/luch-request/luch-request/core/mergeConfig.js
delete mode 100644 js_sdk/luch-request/luch-request/core/settle.js
delete mode 100644 js_sdk/luch-request/luch-request/helpers/buildURL.js
delete mode 100644 js_sdk/luch-request/luch-request/helpers/combineURLs.js
delete mode 100644 js_sdk/luch-request/luch-request/helpers/isAbsoluteURL.js
delete mode 100644 js_sdk/luch-request/luch-request/index.d.ts
delete mode 100644 js_sdk/luch-request/luch-request/index.js
delete mode 100644 js_sdk/luch-request/luch-request/utils.js
delete mode 100644 js_sdk/luch-request/luch-request/utils/clone.js
delete mode 100644 js_sdk/luch-request/package.json
delete mode 100644 main.js
create mode 100644 manifest.config.ts
delete mode 100644 manifest.json
create mode 100644 openapi-ts-request.config.ts
create mode 100644 pages.config.ts
delete mode 100644 pages.json
delete mode 100644 pages/index/index.vue
delete mode 100644 pages/tabbar/about/about.vue
delete mode 100644 pages/tabbar/category/category.vue
delete mode 100644 pages/tabbar/gallery/gallery.vue
delete mode 100644 pages/tabbar/home/home.vue
delete mode 100644 pages/tabbar/moments/moments.vue
delete mode 100644 pagesA/about/about.vue
delete mode 100644 pagesA/archives/archives.vue
delete mode 100644 pagesA/article-detail/article-detail.vue
delete mode 100644 pagesA/articles/articles.vue
delete mode 100644 pagesA/category-detail/category-detail.vue
delete mode 100644 pagesA/contact/contact.vue
delete mode 100644 pagesA/data-visual/data-visual.vue
delete mode 100644 pagesA/disclaimers/disclaimers.vue
delete mode 100644 pagesA/friend-links/friend-links.vue
delete mode 100644 pagesA/love/album.vue
delete mode 100644 pagesA/love/journey.vue
delete mode 100644 pagesA/love/list.vue
delete mode 100644 pagesA/love/love.vue
delete mode 100644 pagesA/moment-detail/moment-detail.vue
delete mode 100644 pagesA/setting/setting.vue
delete mode 100644 pagesA/start/start.vue
delete mode 100644 pagesA/submit-link/submit-link.vue
delete mode 100644 pagesA/tag-detail/tag-detail.vue
delete mode 100644 pagesA/tags/tags.vue
delete mode 100644 pagesA/vote-detail/vote-detail.vue
delete mode 100644 pagesA/votes/votes.vue
delete mode 100644 pagesC/website/website.vue
create mode 100644 pnpm-lock.yaml
create mode 100644 scripts/bump-version.js
create mode 100644 scripts/create-base-files.js
create mode 100644 scripts/open-dev-tools.js
create mode 100644 scripts/postupgrade.js
create mode 100644 scripts/upload-weixin.js
create mode 100644 scripts/vite-plugin-eruda.js
create mode 100644 src/App.ku.vue
create mode 100644 src/App.vue
create mode 100644 src/api/foo-alova.ts
create mode 100644 src/api/foo.ts
create mode 100644 src/api/halo-base/category.ts
create mode 100644 src/api/halo-base/comment.ts
create mode 100644 src/api/halo-base/common.ts
create mode 100644 src/api/halo-base/post.ts
create mode 100644 src/api/halo-base/stats.ts
create mode 100644 src/api/halo-base/tag.ts
create mode 100644 src/api/halo-base/trackers.ts
create mode 100644 src/api/halo-plugin/data-statistics.ts
create mode 100644 src/api/halo-plugin/douban.ts
create mode 100644 src/api/halo-plugin/link.ts
create mode 100644 src/api/halo-plugin/moment.ts
create mode 100644 src/api/halo-plugin/muyin.ts
create mode 100644 src/api/halo-plugin/photo.ts
create mode 100644 src/api/halo-plugin/uni-halo.ts
create mode 100644 src/api/halo-plugin/vote.ts
create mode 100644 src/api/login.ts
create mode 100644 src/api/types/login.ts
create mode 100644 src/components/.gitkeep
create mode 100644 src/components/qiun-data-charts/config-echarts.js
create mode 100644 src/components/qiun-data-charts/config-ucharts.js
rename {uni_modules/qiun-data-charts => src}/components/qiun-data-charts/qiun-data-charts.vue (64%)
create mode 100644 src/components/qiun-data-charts/u-charts.js
create mode 100644 src/components/qiun-error/qiun-error.vue
create mode 100644 src/components/qiun-loading/loading1.vue
create mode 100644 src/components/qiun-loading/loading2.vue
create mode 100644 src/components/qiun-loading/loading3.vue
create mode 100644 src/components/qiun-loading/loading4.vue
create mode 100644 src/components/qiun-loading/loading5.vue
create mode 100644 src/components/qiun-loading/qiun-loading.vue
create mode 100644 src/components/qiun-title-bar/qiun-title-bar.vue
create mode 100644 src/env.d.ts
create mode 100644 src/hooks/useRequest.test.ts
create mode 100644 src/hooks/useRequest.ts
create mode 100644 src/hooks/useScroll.md
create mode 100644 src/hooks/useScroll.ts
create mode 100644 src/hooks/useUpload.ts
create mode 100644 src/http/README.md
create mode 100644 src/http/alova.ts
create mode 100644 src/http/http.ts
create mode 100644 src/http/interceptor.ts
create mode 100644 src/http/tools/enum.ts
create mode 100644 src/http/tools/queryString.ts
create mode 100644 src/http/types.ts
create mode 100644 src/http/vue-query.ts
create mode 100644 src/layouts/default.vue
create mode 100644 src/locale/README.md
create mode 100644 src/locale/en.json
create mode 100644 src/locale/index.ts
create mode 100644 src/locale/zh-Hans.json
create mode 100644 src/main.ts
create mode 100644 src/pages-blog/about/about.vue
create mode 100644 src/pages-blog/page-template/page-template.vue
create mode 100644 src/pages-blog/post-detail/post-detail.vue
create mode 100644 src/pages-demo/i18n/index.vue
create mode 100644 src/pages-demo/request-demo/request-demo.vue
create mode 100644 src/pages-demo/ucharts/data.json
create mode 100644 src/pages-demo/ucharts/index.vue
create mode 100644 src/pages/auth/README.md
create mode 100644 src/pages/auth/login.vue
create mode 100644 src/pages/auth/register.vue
create mode 100644 src/pages/gallery/gallery.vue
create mode 100644 src/pages/index/index.vue
create mode 100644 src/pages/me/me.vue
create mode 100644 src/pages/moments/moments.vue
create mode 100644 src/router/README.md
create mode 100644 src/router/config.ts
create mode 100644 src/router/interceptor.ts
create mode 100644 src/router/permission.ts
create mode 100644 src/service/index.ts
create mode 100644 src/service/info.ts
create mode 100644 src/service/listAll.ts
create mode 100644 src/service/types.ts
create mode 100644 src/static/app/icons/1024x1024.png
create mode 100644 src/static/app/icons/120x120.png
create mode 100644 src/static/app/icons/144x144.png
create mode 100644 src/static/app/icons/152x152.png
create mode 100644 src/static/app/icons/167x167.png
create mode 100644 src/static/app/icons/180x180.png
create mode 100644 src/static/app/icons/192x192.png
create mode 100644 src/static/app/icons/20x20.png
create mode 100644 src/static/app/icons/29x29.png
create mode 100644 src/static/app/icons/40x40.png
create mode 100644 src/static/app/icons/58x58.png
create mode 100644 src/static/app/icons/60x60.png
create mode 100644 src/static/app/icons/72x72.png
create mode 100644 src/static/app/icons/76x76.png
create mode 100644 src/static/app/icons/80x80.png
create mode 100644 src/static/app/icons/87x87.png
create mode 100644 src/static/app/icons/96x96.png
create mode 100644 src/static/images/avatar.jpg
create mode 100644 src/static/images/default-avatar.png
create mode 100644 src/static/logo.png
create mode 100644 src/static/logo.svg
create mode 100644 src/static/my-icons/copyright.svg
create mode 100644 src/static/tabbar/example.png
create mode 100644 src/static/tabbar/exampleHL.png
create mode 100644 src/static/tabbar/home.png
create mode 100644 src/static/tabbar/homeHL.png
create mode 100644 src/static/tabbar/personal.png
create mode 100644 src/static/tabbar/personalHL.png
create mode 100644 src/static/tabbar/scan.png
rename {static => src/static}/tabbar/select_category.png (100%)
rename {static => src/static}/tabbar/select_category_active.png (100%)
rename {static => src/static}/tabbar/select_gallery.png (100%)
rename {static => src/static}/tabbar/select_gallery_active.png (100%)
rename {static => src/static}/tabbar/select_home.png (100%)
rename {static => src/static}/tabbar/select_home_active.png (100%)
rename {static => src/static}/tabbar/select_links.png (100%)
rename {static => src/static}/tabbar/select_links_active.png (100%)
rename {static => src/static}/tabbar/select_mine.png (100%)
rename {static => src/static}/tabbar/select_mine_active.png (100%)
create mode 100644 src/store/index.ts
create mode 100644 src/store/token.ts
create mode 100644 src/store/user.test.ts
create mode 100644 src/store/user.ts
create mode 100644 src/style/iconfont.css
create mode 100644 src/style/index.scss
create mode 100644 src/tabbar/README.md
create mode 100644 src/tabbar/TabbarItem.test.ts
create mode 100644 src/tabbar/TabbarItem.vue
create mode 100644 src/tabbar/config.ts
create mode 100644 src/tabbar/i18n.ts
create mode 100644 src/tabbar/index.vue
create mode 100644 src/tabbar/store.ts
create mode 100644 src/tabbar/types.ts
create mode 100644 src/test-setup.ts
create mode 100644 src/typings.d.ts
create mode 100644 src/typings.ts
rename uni.scss => src/uni.scss (64%)
create mode 100644 src/uni_modules/.gitkeep
create mode 100644 src/utils/auth.ts
create mode 100644 src/utils/common.ts
create mode 100644 src/utils/debounce.test.ts
create mode 100644 src/utils/debounce.ts
create mode 100644 src/utils/i18n.ts
create mode 100644 src/utils/index.ts
create mode 100644 src/utils/systemInfo.ts
create mode 100644 src/utils/toLoginPage.ts
create mode 100644 src/utils/updateManager.wx.ts
create mode 100644 src/utils/uploadFile.ts
create mode 100644 src/utils/url.ts
delete mode 100644 static/wave/wave-1.png
delete mode 100644 static/wave/wave-2.png
delete mode 100644 store/comment.js
delete mode 100644 store/config.js
delete mode 100644 store/setting.js
delete mode 100644 tm-vuetify/.npmignore
delete mode 100644 tm-vuetify/changelog.md
delete mode 100644 tm-vuetify/components/tm-actionSheet/tm-actionSheet.vue
delete mode 100644 tm-vuetify/components/tm-actionSheetMenu/tm-actionSheetMenu.vue
delete mode 100644 tm-vuetify/components/tm-album/tm-album.vue
delete mode 100644 tm-vuetify/components/tm-alerts/tm-alerts.vue
delete mode 100644 tm-vuetify/components/tm-avatar/tm-avatar.vue
delete mode 100644 tm-vuetify/components/tm-avatarCrop/tm-avatarCrop.vue
delete mode 100644 tm-vuetify/components/tm-avatarGroup/tm-avatarGroup.vue
delete mode 100644 tm-vuetify/components/tm-badges/tm-badges.vue
delete mode 100644 tm-vuetify/components/tm-banners/tm-banners.vue
delete mode 100644 tm-vuetify/components/tm-bottomnavigation/tm-bottomnavigation.vue
delete mode 100644 tm-vuetify/components/tm-button/tm-button.vue
delete mode 100644 tm-vuetify/components/tm-calendar/tm-calendar.vue
delete mode 100644 tm-vuetify/components/tm-calendarView/tm-calendarView.vue
delete mode 100644 tm-vuetify/components/tm-card/tm-card.vue
delete mode 100644 tm-vuetify/components/tm-cartBarFood/tm-cartBarFood.vue
delete mode 100644 tm-vuetify/components/tm-cartCellListFood/tm-cartCellListFood.vue
delete mode 100644 tm-vuetify/components/tm-checkbox/tm-checkbox.vue
delete mode 100644 tm-vuetify/components/tm-choujiang/tm-choujiang.vue
delete mode 100644 tm-vuetify/components/tm-choujiangGame/tm-choujiangGame.vue
delete mode 100644 tm-vuetify/components/tm-choujiangGrid/tm-choujiangGrid.vue
delete mode 100644 tm-vuetify/components/tm-col/tm-col.vue
delete mode 100644 tm-vuetify/components/tm-countdown/tm-countdown.vue
delete mode 100644 tm-vuetify/components/tm-coupon/tm-coupon.vue
delete mode 100644 tm-vuetify/components/tm-dialog/tm-dialog.vue
delete mode 100644 tm-vuetify/components/tm-divider/tm-divider.vue
delete mode 100644 tm-vuetify/components/tm-dragGrid/tm-dragGrid.vue
delete mode 100644 tm-vuetify/components/tm-dragList/tm-dragList.vue
delete mode 100644 tm-vuetify/components/tm-dropDownMenu/doc.json
delete mode 100644 tm-vuetify/components/tm-dropDownMenu/tm-dropDownMenu.vue
delete mode 100644 tm-vuetify/components/tm-echarts/tm-echarts.vue
delete mode 100644 tm-vuetify/components/tm-empty/tm-empty.vue
delete mode 100644 tm-vuetify/components/tm-flop/requestAnimationFrame.js
delete mode 100644 tm-vuetify/components/tm-flop/tm-flop.vue
delete mode 100644 tm-vuetify/components/tm-flotbutton/tm-flotbutton.vue
delete mode 100644 tm-vuetify/components/tm-flowLayout-custom/tm-flowLayout-custom.vue
delete mode 100644 tm-vuetify/components/tm-flowLayout/tm-flowLayout.vue
delete mode 100644 tm-vuetify/components/tm-form/tm-form.vue
delete mode 100644 tm-vuetify/components/tm-formGeneration/tm-formGeneration.vue
delete mode 100644 tm-vuetify/components/tm-fullView/tm-fullView.vue
delete mode 100644 tm-vuetify/components/tm-gap/tm-gap.vue
delete mode 100644 tm-vuetify/components/tm-grid/tm-grid.vue
delete mode 100644 tm-vuetify/components/tm-groupButton/tm-groupButton.vue
delete mode 100644 tm-vuetify/components/tm-groupcheckbox/tm-groupcheckbox.vue
delete mode 100644 tm-vuetify/components/tm-grouplist/tm-grouplist.vue
delete mode 100644 tm-vuetify/components/tm-groupradio/tm-groupradio.vue
delete mode 100644 tm-vuetify/components/tm-helpTips/tm-helpTips.vue
delete mode 100644 tm-vuetify/components/tm-icons/tm-icons.vue
delete mode 100644 tm-vuetify/components/tm-images/tm-images.vue
delete mode 100644 tm-vuetify/components/tm-input/tm-input.vue
delete mode 100644 tm-vuetify/components/tm-keyborad/tm-keyborad.vue
delete mode 100644 tm-vuetify/components/tm-listitem/tm-listitem.vue
delete mode 100644 tm-vuetify/components/tm-loadding/tm-loadding.vue
delete mode 100644 tm-vuetify/components/tm-lottie/tm-lottie.vue
delete mode 100644 tm-vuetify/components/tm-mapSelectedPoint/tm-mapSelectedPoint.vue
delete mode 100644 tm-vuetify/components/tm-maskFlow/tm-maskFlow.vue
delete mode 100644 tm-vuetify/components/tm-menu/tm-menu.vue
delete mode 100644 tm-vuetify/components/tm-menubars/tm-menubars.vue
delete mode 100644 tm-vuetify/components/tm-message/tm-message.vue
delete mode 100644 tm-vuetify/components/tm-monthCalendar/tm-monthCalendar.vue
delete mode 100644 tm-vuetify/components/tm-more/tm-more.vue
delete mode 100644 tm-vuetify/components/tm-pagination/tm-pagination.vue
delete mode 100644 tm-vuetify/components/tm-password/tm-password.vue
delete mode 100644 tm-vuetify/components/tm-pickers/tm-pickers.vue
delete mode 100644 tm-vuetify/components/tm-pickersCity/tm-pickersCity.vue
delete mode 100644 tm-vuetify/components/tm-pickersCityView/tm-pickersCityView.vue
delete mode 100644 tm-vuetify/components/tm-pickersDate/tm-pickersDate.vue
delete mode 100644 tm-vuetify/components/tm-pickersDateView/tm-pickersDateView - 副本 (2).vue
delete mode 100644 tm-vuetify/components/tm-pickersDateView/tm-pickersDateView - 副本.vue
delete mode 100644 tm-vuetify/components/tm-pickersDateView/tm-pickersDateView.vue
delete mode 100644 tm-vuetify/components/tm-pickersView/tm-pickersView.vue
delete mode 100644 tm-vuetify/components/tm-pickersView/tm-pickersViewsss.vue
delete mode 100644 tm-vuetify/components/tm-position/tm-position.vue
delete mode 100644 tm-vuetify/components/tm-poup/tm-poup.vue
delete mode 100644 tm-vuetify/components/tm-propress/tm-propress.vue
delete mode 100644 tm-vuetify/components/tm-propressRound/tm-propressRound.vue
delete mode 100644 tm-vuetify/components/tm-pullBottom/tm-pullBottom.vue
delete mode 100644 tm-vuetify/components/tm-quickCity/tm-quickCity.vue
delete mode 100644 tm-vuetify/components/tm-quickIndex/tm-quickIndex.vue
delete mode 100644 tm-vuetify/components/tm-radio/tm-radio.vue
delete mode 100644 tm-vuetify/components/tm-rate/tm-rate.vue
delete mode 100644 tm-vuetify/components/tm-ratio/tm-ratio.vue
delete mode 100644 tm-vuetify/components/tm-render/tm-render - 副本.vue
delete mode 100644 tm-vuetify/components/tm-render/tm-render.vue
delete mode 100644 tm-vuetify/components/tm-row/tm-row.vue
delete mode 100644 tm-vuetify/components/tm-scroll/tm-scroll.vue
delete mode 100644 tm-vuetify/components/tm-search/tm-search.vue
delete mode 100644 tm-vuetify/components/tm-segTabs/tm-segTabs.vue
delete mode 100644 tm-vuetify/components/tm-shareSheet/tm-shareSheet.vue
delete mode 100644 tm-vuetify/components/tm-sheet/tm-sheet.vue
delete mode 100644 tm-vuetify/components/tm-signBoard/tm-signBoard.vue
delete mode 100644 tm-vuetify/components/tm-skeleton/tm-skeleton.vue
delete mode 100644 tm-vuetify/components/tm-slider/tm-slider.vue
delete mode 100644 tm-vuetify/components/tm-sliderNav/tm-sliderNav.vue
delete mode 100644 tm-vuetify/components/tm-sliders/tm-sliders.vue
delete mode 100644 tm-vuetify/components/tm-stepper/tm-stepper.vue
delete mode 100644 tm-vuetify/components/tm-steps/tm-steps.vue
delete mode 100644 tm-vuetify/components/tm-stepsItem/tm-stepsItem.vue
delete mode 100644 tm-vuetify/components/tm-sticky/tm-sticky.vue
delete mode 100644 tm-vuetify/components/tm-swiper/tm-swiper.vue
delete mode 100644 tm-vuetify/components/tm-swiperList/tm-swiperList.vue
delete mode 100644 tm-vuetify/components/tm-swiperListItem/tm-swiperListItem.vue
delete mode 100644 tm-vuetify/components/tm-switch/tm-switch.vue
delete mode 100644 tm-vuetify/components/tm-switchList/tm-switchList.vue
delete mode 100644 tm-vuetify/components/tm-table/tm-table.vue
delete mode 100644 tm-vuetify/components/tm-tabs/tm-tabs.vue
delete mode 100644 tm-vuetify/components/tm-tags/tm-tags.vue
delete mode 100644 tm-vuetify/components/tm-timeline/tm-timeline.vue
delete mode 100644 tm-vuetify/components/tm-translate/tm-translate.vue
delete mode 100644 tm-vuetify/components/tm-tree/tm-tree.vue
delete mode 100644 tm-vuetify/components/tm-treeSelect/tm-treeSelect.vue
delete mode 100644 tm-vuetify/components/tm-upload/tm-upload.vue
delete mode 100644 tm-vuetify/components/tm-uploadfile/tm-uploadfile.vue
delete mode 100644 tm-vuetify/components/tm-verificationImg/tm-verificationImg.vue
delete mode 100644 tm-vuetify/components/tm-vuetify/说明.md
delete mode 100644 tm-vuetify/components/tm-weekbar/tm-weekbar.vue
delete mode 100644 tm-vuetify/index.js
delete mode 100644 tm-vuetify/license.md
delete mode 100644 tm-vuetify/mian.min.css
delete mode 100644 tm-vuetify/package.json
delete mode 100644 tm-vuetify/readme.md
delete mode 100644 tm-vuetify/scss/fonts/fontawesome_base64.css
delete mode 100644 tm-vuetify/scss/fonts/mdi_base64.css
delete mode 100644 tm-vuetify/scss/iconfonts/demo.css
delete mode 100644 tm-vuetify/scss/iconfonts/iconfont.css
delete mode 100644 tm-vuetify/scss/iconfonts/iconfont.js
delete mode 100644 tm-vuetify/scss/iconfonts/iconfont.json
delete mode 100644 tm-vuetify/scss/iconfonts/iconfont.ttf
delete mode 100644 tm-vuetify/scss/iconfonts/index.html
delete mode 100644 tm-vuetify/scss/theme.css
delete mode 100644 tm-vuetify/scss/theme/amber.css
delete mode 100644 tm-vuetify/scss/theme/blue-grey.css
delete mode 100644 tm-vuetify/scss/theme/blue.css
delete mode 100644 tm-vuetify/scss/theme/brown.css
delete mode 100644 tm-vuetify/scss/theme/cyan.css
delete mode 100644 tm-vuetify/scss/theme/deep-orange.css
delete mode 100644 tm-vuetify/scss/theme/deep-purple.css
delete mode 100644 tm-vuetify/scss/theme/green.css
delete mode 100644 tm-vuetify/scss/theme/indigo.css
delete mode 100644 tm-vuetify/scss/theme/light-blue.css
delete mode 100644 tm-vuetify/scss/theme/light-green.css
delete mode 100644 tm-vuetify/scss/theme/lime.css
delete mode 100644 tm-vuetify/scss/theme/orange.css
delete mode 100644 tm-vuetify/scss/theme/pink.css
delete mode 100644 tm-vuetify/scss/theme/primary.css
delete mode 100644 tm-vuetify/scss/theme/purple.css
delete mode 100644 tm-vuetify/scss/theme/red.css
delete mode 100644 tm-vuetify/scss/theme/teal.css
delete mode 100644 tm-vuetify/scss/theme/yellow.css
delete mode 100644 tm-vuetify/tool/config/config.js
delete mode 100644 tm-vuetify/tool/function/calendar.js
delete mode 100644 tm-vuetify/tool/function/choujianggailv.js
delete mode 100644 tm-vuetify/tool/function/clipboardJS.js
delete mode 100644 tm-vuetify/tool/function/color.js
delete mode 100644 tm-vuetify/tool/function/crender/bezier-curve/core/bezierCurveToPolyline.js
delete mode 100644 tm-vuetify/tool/function/crender/bezier-curve/core/path2d.js
delete mode 100644 tm-vuetify/tool/function/crender/bezier-curve/core/polylineToBezierCurve.js
delete mode 100644 tm-vuetify/tool/function/crender/bezier-curve/index.js
delete mode 100644 tm-vuetify/tool/function/crender/class/crender.class.js
delete mode 100644 tm-vuetify/tool/function/crender/class/graph.class.js
delete mode 100644 tm-vuetify/tool/function/crender/class/style.class.js
delete mode 100644 tm-vuetify/tool/function/crender/color/config/keywords.js
delete mode 100644 tm-vuetify/tool/function/crender/color/index.js
delete mode 100644 tm-vuetify/tool/function/crender/config/graphs.js
delete mode 100644 tm-vuetify/tool/function/crender/crender.min.js
delete mode 100644 tm-vuetify/tool/function/crender/graph/path2d.js
delete mode 100644 tm-vuetify/tool/function/crender/graph/ring.js
delete mode 100644 tm-vuetify/tool/function/crender/index.js
delete mode 100644 tm-vuetify/tool/function/crender/plugin/canvas.js
delete mode 100644 tm-vuetify/tool/function/crender/plugin/util.js
delete mode 100644 tm-vuetify/tool/function/crender/transition/config/curves.js
delete mode 100644 tm-vuetify/tool/function/crender/transition/index.js
delete mode 100644 tm-vuetify/tool/function/dayjs/calendar.js
delete mode 100644 tm-vuetify/tool/function/dayjs/dayjs.min.js
delete mode 100644 tm-vuetify/tool/function/dayjs/index.js
delete mode 100644 tm-vuetify/tool/function/dayjs/isBetween.min.js
delete mode 100644 tm-vuetify/tool/function/dayjs/relativeTime.min.js
delete mode 100644 tm-vuetify/tool/function/dayjs/toObject.min.js
delete mode 100644 tm-vuetify/tool/function/dayjs/zh-cn.min.js
delete mode 100644 tm-vuetify/tool/function/deepClone.js
delete mode 100644 tm-vuetify/tool/function/deepMerge.js
delete mode 100644 tm-vuetify/tool/function/echarts.min.js
delete mode 100644 tm-vuetify/tool/function/findCnChart.js
delete mode 100644 tm-vuetify/tool/function/getParent.js
delete mode 100644 tm-vuetify/tool/function/getParentAls.js
delete mode 100644 tm-vuetify/tool/function/getParentAttr.js
delete mode 100644 tm-vuetify/tool/function/guid.js
delete mode 100644 tm-vuetify/tool/function/js-search.min.js
delete mode 100644 tm-vuetify/tool/function/lottie.js
delete mode 100644 tm-vuetify/tool/function/md5.js
delete mode 100644 tm-vuetify/tool/function/mixin.js
delete mode 100644 tm-vuetify/tool/function/objToString.js
delete mode 100644 tm-vuetify/tool/function/phaser.min.js
delete mode 100644 tm-vuetify/tool/function/preview.js
delete mode 100644 tm-vuetify/tool/function/random.js
delete mode 100644 tm-vuetify/tool/function/randomArray.js
delete mode 100644 tm-vuetify/tool/function/signBoard.js
delete mode 100644 tm-vuetify/tool/function/sleep.js
delete mode 100644 tm-vuetify/tool/function/test.js
delete mode 100644 tm-vuetify/tool/function/theme.js
delete mode 100644 tm-vuetify/tool/function/toast.js
delete mode 100644 tm-vuetify/tool/function/trim.js
delete mode 100644 tm-vuetify/tool/function/uni-echarts-canvas.js
delete mode 100644 tm-vuetify/tool/function/upload.js
delete mode 100644 tm-vuetify/tool/function/util.js
delete mode 100644 tm-vuetify/tool/function/vuex.js
delete mode 100644 tm-vuetify/tool/function/wxshare.js
delete mode 100644 tm-vuetify/tool/mixin/mixin.js
delete mode 100644 tm-vuetify/tool/request/index.js
delete mode 100644 tm-vuetify/tool/store/tm-vuetify.js
delete mode 100644 tm-vuetify/tool/util/area.js
delete mode 100644 tm-vuetify/tool/util/city.js
delete mode 100644 tm-vuetify/tool/util/emitter.js
delete mode 100644 tm-vuetify/tool/util/province.js
create mode 100644 tsconfig.json
delete mode 100644 uni_modules/k-touch-listen/changelog.md
delete mode 100644 uni_modules/k-touch-listen/components/k-touch-listen/k-touch-listen.vue
delete mode 100644 uni_modules/k-touch-listen/package.json
delete mode 100644 uni_modules/liu-poster/changelog.md
delete mode 100644 uni_modules/liu-poster/components/liu-poster/liu-poster.vue
delete mode 100644 uni_modules/liu-poster/license.md
delete mode 100644 uni_modules/liu-poster/package.json
delete mode 100644 uni_modules/liu-poster/readme.md
delete mode 100644 uni_modules/qiun-data-charts/changelog.md
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-error/qiun-error.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading1.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading2.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading3.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading4.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading5.vue
delete mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading.vue
delete mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/config-echarts.js
delete mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
delete mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/readme.md
delete mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js
delete mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js
delete mode 100644 uni_modules/qiun-data-charts/license.md
delete mode 100644 uni_modules/qiun-data-charts/package.json
delete mode 100644 uni_modules/qiun-data-charts/readme.md
delete mode 100644 uni_modules/qiun-data-charts/static/app-plus/echarts.min.js
delete mode 100644 uni_modules/qiun-data-charts/static/h5/echarts.min.js
delete mode 100644 uni_modules/uni-config-center/changelog.md
delete mode 100644 uni_modules/uni-config-center/package.json
delete mode 100644 uni_modules/uni-config-center/readme.md
delete mode 100644 uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/index.js
delete mode 100644 uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/package.json
delete mode 100644 uni_modules/uni-id-common/changelog.md
delete mode 100644 uni_modules/uni-id-common/package.json
delete mode 100644 uni_modules/uni-id-common/readme.md
delete mode 100644 uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/index.js
delete mode 100644 uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/package.json
delete mode 100644 uni_modules/uni-upgrade-center-app/changelog.md
delete mode 100644 uni_modules/uni-upgrade-center-app/images/app_update_close.png
delete mode 100644 uni_modules/uni-upgrade-center-app/images/bg_top.png
delete mode 100644 uni_modules/uni-upgrade-center-app/package.json
delete mode 100644 uni_modules/uni-upgrade-center-app/pages/upgrade-popup.vue
delete mode 100644 uni_modules/uni-upgrade-center-app/pages_init.json
delete mode 100644 uni_modules/uni-upgrade-center-app/readme.md
delete mode 100644 uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/temp.png
delete mode 100644 uni_modules/uni-upgrade-center-app/uniCloud/database/db_init.json
delete mode 100644 uni_modules/uni-upgrade-center-app/utils/call-check-version.js
delete mode 100644 uni_modules/uni-upgrade-center-app/utils/check-update.js
create mode 100644 uno.config.ts
delete mode 100644 utils/app.js
delete mode 100644 utils/auth.js
delete mode 100644 utils/imageCache.js
delete mode 100644 utils/index.js
delete mode 100644 utils/network.js
delete mode 100644 utils/permission.js
delete mode 100644 utils/plugin.js
delete mode 100644 utils/random.js
delete mode 100644 utils/restrictRead.js
delete mode 100644 utils/storage.js
delete mode 100644 utils/throttle.js
delete mode 100644 utils/token.js
delete mode 100644 utils/update.js
delete mode 100644 utils/upvote.js
delete mode 100644 utils/url.params.js
delete mode 100644 utils/uuid.js
delete mode 100644 utils/vote.js
create mode 100644 vite-plugins/README.md
create mode 100644 vite-plugins/copy-native-resources.ts
create mode 100644 vite-plugins/sync-manifest-plugins.ts
create mode 100644 vite.config.ts
create mode 100644 vitest.config.ts
delete mode 100644 vue.config.js
create mode 100644 wot-ui-resolver.ts
diff --git a/.changeset/README.md b/.changeset/README.md
new file mode 100644
index 0000000..654c6d4
--- /dev/null
+++ b/.changeset/README.md
@@ -0,0 +1,8 @@
+# Changesets
+
+Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
+with multi-package repos, or single-package repos to help you version and publish your code. You can
+find the full documentation for it [in our repository](https://github.com/changesets/changesets).
+
+We have a quick list of common questions to get you started engaging with this project in
+[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md).
diff --git a/.changeset/config.json b/.changeset/config.json
new file mode 100644
index 0000000..0d937a9
--- /dev/null
+++ b/.changeset/config.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://unpkg.com/@changesets/config@3.1.3/schema.json",
+ "changelog": "@changesets/cli/changelog",
+ "commit": false,
+ "fixed": [],
+ "linked": [],
+ "access": "restricted",
+ "baseBranch": "base",
+ "updateInternalDependencies": "patch",
+ "ignore": []
+}
diff --git a/.commitlintrc.cjs b/.commitlintrc.cjs
new file mode 100644
index 0000000..98ee7df
--- /dev/null
+++ b/.commitlintrc.cjs
@@ -0,0 +1,3 @@
+module.exports = {
+ extends: ['@commitlint/config-conventional'],
+}
diff --git a/.cursor/rules/api-http-patterns.mdc b/.cursor/rules/api-http-patterns.mdc
new file mode 100644
index 0000000..79026c3
--- /dev/null
+++ b/.cursor/rules/api-http-patterns.mdc
@@ -0,0 +1,51 @@
+# API 和 HTTP 请求规范
+
+## HTTP 请求封装
+- 可以使用 `简单http` 或者 `alova` 或者 `@tanstack/vue-query` 进行请求管理
+- HTTP 配置在 [src/http/](mdc:src/http/) 目录下
+- `简单http` - [src/http/http.ts](mdc:src/http/http.ts)
+- `alova` - [src/http/alova.ts](mdc:src/http/alova.ts)
+- `vue-query` - [src/http/vue-query.ts](mdc:src/http/vue-query.ts)
+- 请求拦截器在 [src/http/interceptor.ts](mdc:src/http/interceptor.ts)
+- 支持请求重试、缓存、错误处理
+
+## API 接口规范
+- API 接口定义在 [src/api/](mdc:src/api/) 目录下
+- 按功能模块组织 API 文件
+- 使用 TypeScript 定义请求和响应类型
+- 支持 `简单http`、`alova` 和 `vue-query` 三种请求方式
+
+
+## 示例代码结构
+```typescript
+// API 接口定义
+export interface LoginParams {
+ username: string
+ password: string
+}
+
+export interface LoginResponse {
+ token: string
+ userInfo: UserInfo
+}
+
+// alova 方式
+export const login = (params: LoginParams) =>
+ http.Post('/api/login', params)
+
+// vue-query 方式
+export const useLogin = () => {
+ return useMutation({
+ mutationFn: (params: LoginParams) =>
+ http.post('/api/login', params)
+ })
+}
+```
+
+## 错误处理
+- 统一错误处理在拦截器中配置
+- 支持网络错误、业务错误、认证错误等
+- 自动处理 token 过期和刷新
+---
+globs: src/api/*.ts,src/http/*.ts
+---
diff --git a/.cursor/rules/development-workflow.mdc b/.cursor/rules/development-workflow.mdc
new file mode 100644
index 0000000..4da3f43
--- /dev/null
+++ b/.cursor/rules/development-workflow.mdc
@@ -0,0 +1,43 @@
+# 开发工作流程
+
+## 项目启动
+1. 安装依赖:`pnpm install`
+2. 开发环境:
+ - H5: `pnpm dev` 或 `pnpm dev:h5`
+ - 微信小程序: `pnpm dev:mp`
+ - 支付宝小程序: `pnpm dev:mp-alipay`
+ - APP: `pnpm dev:app`
+
+## 代码规范
+- 使用 ESLint 进行代码检查:`pnpm lint`
+- 自动修复代码格式:`pnpm lint:fix`
+- 使用 eslint 格式化代码
+- 遵循 TypeScript 严格模式
+
+## 构建和部署
+- H5 构建:`pnpm build:h5`
+- 微信小程序构建:`pnpm build:mp`
+- 支付宝小程序构建:`pnpm build:mp-alipay`
+- APP 构建:`pnpm build:app`
+- 类型检查:`pnpm type-check`
+
+## 开发工具
+- 推荐使用 VSCode 编辑器
+- 安装 Vue 和 TypeScript 相关插件
+- 使用 uni-app 开发者工具调试小程序
+- 使用 HBuilderX 调试 APP
+
+## 调试技巧
+- 使用 console.log 和 uni.showToast 调试
+- 利用 Vue DevTools 调试组件状态
+- 使用网络面板调试 API 请求
+- 平台差异测试和兼容性检查
+
+## 性能优化
+- 使用懒加载和代码分割
+- 优化图片和静态资源
+- 减少不必要的重渲染
+- 合理使用缓存策略
+---
+description: 开发工作流程和最佳实践指南
+---
diff --git a/.cursor/rules/project-overview.mdc b/.cursor/rules/project-overview.mdc
new file mode 100644
index 0000000..f0d613e
--- /dev/null
+++ b/.cursor/rules/project-overview.mdc
@@ -0,0 +1,36 @@
+---
+alwaysApply: true
+---
+# unibest 项目概览
+
+这是一个基于 uniapp + Vue3 + TypeScript + Vite5 + UnoCSS 的跨平台开发框架。
+
+## 项目特点
+- 支持 H5、小程序、APP 多平台开发
+- 使用最新的前端技术栈
+- 内置约定式路由、layout布局、请求封装、登录拦截、自定义tabbar等功能
+- 无需依赖 HBuilderX,支持命令行开发
+
+## 核心配置文件
+- [package.json](mdc:package.json) - 项目依赖和脚本配置
+- [vite.config.ts](mdc:vite.config.ts) - Vite 构建配置
+- [pages.config.ts](mdc:pages.config.ts) - 页面路由配置
+- [manifest.config.ts](mdc:manifest.config.ts) - 应用清单配置
+- [uno.config.ts](mdc:uno.config.ts) - UnoCSS 配置
+
+## 主要目录结构
+- `src/pages/` - 页面文件
+- `src/components/` - 组件文件
+- `src/layouts/` - 布局文件
+- `src/api/` - API 接口
+- `src/http/` - HTTP 请求封装
+- `src/store/` - 状态管理
+- `src/tabbar/` - 底部导航栏
+- `src/App.ku.vue` - 全局根组件(类似 App.vue 里面的 template作用)
+
+## 开发命令
+- `pnpm dev` - 开发 H5 版本
+- `pnpm dev:mp` - 开发微信小程序
+- `pnpm dev:mp-alipay` - 开发支付宝小程序(含钉钉)
+- `pnpm dev:app` - 开发 APP 版本
+- `pnpm build` - 构建生产版本
diff --git a/.cursor/rules/styling-css-patterns.mdc b/.cursor/rules/styling-css-patterns.mdc
new file mode 100644
index 0000000..25f14f2
--- /dev/null
+++ b/.cursor/rules/styling-css-patterns.mdc
@@ -0,0 +1,54 @@
+# 样式和 CSS 开发规范
+
+## UnoCSS 原子化 CSS
+- 项目使用 UnoCSS 作为原子化 CSS 框架
+- 配置在 [uno.config.ts](mdc:uno.config.ts)
+- 支持预设和自定义规则
+- 优先使用原子化类名,减少自定义 CSS
+
+## SCSS 规范
+- 使用 SCSS 预处理器
+- 样式文件使用 `lang="scss"` 和 `scoped` 属性
+- 遵循 BEM 命名规范
+- 使用变量和混入提高复用性
+
+## 样式组织
+- 全局样式在 [src/style/](mdc:src/style/) 目录下
+- 组件样式使用 scoped 作用域
+- 图标字体在 [src/style/iconfont.css](mdc:src/style/iconfont.css)
+- 主题变量在 [src/uni_modules/uni-scss/](mdc:src/uni_modules/uni-scss/) 目录下
+
+## 示例代码结构
+```vue
+
+
+ 标题
+
+
+
+
+
+
+
+
+## 响应式设计
+- 使用 rpx 单位适配不同屏幕
+- 支持横屏和竖屏布局
+- 使用 flexbox 和 grid 布局
+- 考虑不同平台的样式差异
+---
+globs: *.vue,*.scss,*.css
+---
diff --git a/.cursor/rules/uni-app-patterns.mdc b/.cursor/rules/uni-app-patterns.mdc
new file mode 100644
index 0000000..e10403e
--- /dev/null
+++ b/.cursor/rules/uni-app-patterns.mdc
@@ -0,0 +1,63 @@
+# uni-app 开发规范
+
+## 页面开发
+- 页面文件放在 [src/pages/](mdc:src/pages/) 目录下
+- 使用约定式路由,文件名即路由路径
+- 页面配置在仅需要在 宏`definePage` 中配置标题等内容即可,会自动生成到 `pages.json` 中
+- definePage的顺序在最上面
+
+## 组件开发
+- 组件文件放在 [src/components/](mdc:src/components/) 或者 [src/pages/xx/components/](mdc:src/pages/xx/components/) 目录下
+- 使用 uni-app 内置组件和第三方组件库
+- 支持 wot-ui\uview-pro\uv-ui\sard-ui\uview-plus 等多种第三方组件库 和 z-paging 组件
+- 自定义组件遵循 uni-app 组件规范
+
+## 平台适配
+- 使用条件编译处理平台差异
+- 支持 H5、小程序、APP 多平台
+- 注意各平台的 API 差异
+- 使用 uni.xxx API 替代原生 API
+
+## 示例代码结构
+```vue
+
+
+
+
+
+ 点击
+
+
+
+ H5 特有内容
+
+
+
+```
+
+## 生命周期
+- 使用 uni-app 页面生命周期
+- onLoad、onShow、onReady、onHide、onUnload
+- 组件生命周期遵循 Vue3 规范
+- 注意页面栈和导航管理
+---
+globs: src/pages/*.vue,src/components/*.vue
+---
diff --git a/.cursor/rules/vue-typescript-patterns.mdc b/.cursor/rules/vue-typescript-patterns.mdc
new file mode 100644
index 0000000..d81cc8f
--- /dev/null
+++ b/.cursor/rules/vue-typescript-patterns.mdc
@@ -0,0 +1,53 @@
+# Vue3 + TypeScript 开发规范
+
+## Vue 组件规范
+- 使用 Composition API 和 `
+
+
+
+
+
+
+
+
+---
+globs: *.vue,*.ts,*.tsx
+---
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..7f09864
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,13 @@
+root = true
+
+[*] # 表示所有文件适用
+charset = utf-8 # 设置文件字符集为 utf-8
+indent_style = space # 缩进风格(tab | space)
+indent_size = 2 # 缩进大小
+end_of_line = lf # 控制换行类型(lf | cr | crlf)
+trim_trailing_whitespace = true # 去除行首的任意空白字符
+insert_final_newline = true # 始终在文件末尾插入一个新行
+
+[*.md] # 表示仅 md 文件适用以下规则
+max_line_length = off # 关闭最大行长度限制
+trim_trailing_whitespace = false # 关闭末尾空格修剪
diff --git a/.gitignore b/.gitignore
index 57629f6..201f3d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,48 @@
-node_modules/
-unpackage/
-package-lock.json
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+*.local
+
+# Editor directories and files
.idea
-.trae
\ No newline at end of file
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+.hbuilderx
+
+.stylelintcache
+.eslintcache
+
+docs/.vitepress/dist
+docs/.vitepress/cache
+
+src/types
+# 单独把这个文件排除掉,用以解决部分电脑生成的 auto-import.d.ts 的API不完整导致类型提示报错问题
+!src/types/auto-import.d.ts
+src/manifest.json
+src/pages.json
+
+# 2025-10-15 by 菲鸽: lock 文件还是需要加入版本管理,今天又遇到版本不一致导致无法运行的问题了。
+# pnpm-lock.yaml
+# package-lock.json
+
+# TIPS:如果某些文件已经加入了版本管理,现在重新加入 .gitignore 是不生效的,需要执行下面的操作
+# `git rm -r --cached .` 然后提交 commit 即可。
+
+# git rm -r --cached file1 file2 ## 针对某些文件
+# git rm -r --cached dir1 dir2 ## 针对某些文件夹
+# git rm -r --cached . ## 针对所有文件
+
+# 更新 uni-app 官方版本
+# npx @dcloudio/uvm@latest
diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
deleted file mode 100644
index a3135b1..0000000
--- a/.hbuilderx/launch.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
- // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
- "version" : "0.0",
- "configurations" : [
- {
- "app-plus" : {
- "launchtype" : "local"
- },
- "default" : {
- "launchtype" : "local"
- },
- "h5" : {
- "launchtype" : "local"
- },
- "mp-qq" : {
- "launchtype" : "local"
- },
- "mp-weixin" : {
- "launchtype" : "local"
- },
- "type" : "uniCloud"
- },
- {
- "playground" : "standard",
- "type" : "uni-app:app-android"
- }
- ]
-}
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100644
index 0000000..36158d9
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1 @@
+npx --no-install commitlint --edit "$1"
\ No newline at end of file
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 0000000..c3ec64b
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1 @@
+npx lint-staged --allow-empty
\ No newline at end of file
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..f47ca59
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,9 @@
+# registry = https://registry.npmjs.org
+registry = https://registry.npmmirror.com
+
+strict-peer-dependencies=false
+auto-install-peers=true
+shamefully-hoist=true
+ignore-workspace-root-check=true
+install-workspace-root=true
+node-options=--max-old-space-size=8192
diff --git a/.trae/rules/project_rules.md b/.trae/rules/project_rules.md
new file mode 100644
index 0000000..6d73c23
--- /dev/null
+++ b/.trae/rules/project_rules.md
@@ -0,0 +1,123 @@
+# 项目概览
+
+这是一个基于 uniapp + Vue3 + TypeScript + Vite5 + UnoCSS 的跨平台开发框架。
+
+## 项目特点
+- 支持 H5、小程序、APP 多平台开发
+- 使用最新的前端技术栈
+- 内置约定式路由、layout布局、请求封装等功能
+- 无需依赖 HBuilderX,支持命令行开发
+
+## 核心配置文件
+- [package.json](mdc:package.json) - 项目依赖和脚本配置
+- [vite.config.ts](mdc:vite.config.ts) - Vite 构建配置
+- [pages.config.ts](mdc:pages.config.ts) - 页面路由配置
+- [manifest.config.ts](mdc:manifest.config.ts) - 应用清单配置
+- [uno.config.ts](mdc:uno.config.ts) - UnoCSS 配置
+
+## 主要目录结构
+- `src/pages/` - 页面文件
+- `src/components/` - 组件文件
+- `src/layouts/` - 布局文件
+- `src/api/` - API 接口
+- `src/http/` - HTTP 请求封装
+- `src/store/` - 状态管理
+- `src/tabbar/` - 底部导航栏
+- `src/App.ku.vue` - 全局根组件(类似 App.vue 里面的 template作用)
+
+## 开发命令
+- `pnpm dev` - 开发 H5 版本
+- `pnpm dev:mp` - 开发微信小程序
+- `pnpm dev:mp-alipay` - 开发支付宝小程序(含钉钉)
+- `pnpm dev:app` - 开发 APP 版本
+- `pnpm build` - 构建生产版本
+
+## Vue 组件规范
+- 使用 Composition API 和 `
+
+
+
+
+ 点击
+
+
+
+ H5 特有内容
+
+
+
+```
+
+## 生命周期
+- 使用 uni-app 页面生命周期
+- onLoad、onShow、onReady、onHide、onUnload
+- 组件生命周期遵循 Vue3 规范
+- 注意页面栈和导航管理
\ No newline at end of file
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..883b74d
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,15 @@
+{
+ "recommendations": [
+ "vue.volar",
+ "dbaeumer.vscode-eslint",
+ "antfu.unocss",
+ "antfu.iconify",
+ "evils.uniapp-vscode",
+ "uni-helper.uni-helper-vscode",
+ "uni-helper.uni-app-schemas-vscode",
+ "uni-helper.uni-highlight-vscode",
+ "uni-helper.uni-ui-snippets-vscode",
+ "uni-helper.uni-app-snippets-vscode",
+ "streetsidesoftware.code-spell-checker"
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..a88242f
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,106 @@
+{
+ // 配置语言的文件关联
+ "files.associations": {
+ "pages.json": "jsonc", // pages.json 可以写注释
+ "manifest.json": "jsonc" // manifest.json 可以写注释
+ },
+
+ "stylelint.enable": false, // 禁用 stylelint
+ "css.validate": false, // 禁用 CSS 内置验证
+ "scss.validate": false, // 禁用 SCSS 内置验证
+ "less.validate": false, // 禁用 LESS 内置验证
+
+ // 新版本 VsCode 中这个配置已失效
+ "typescript.tsdk": "node_modules/typescript/lib",
+
+ // 配置新版本 VsCode 工作区的 TypeScript 的版本
+ "js/ts.tsdk.path": "node_modules/typescript/lib",
+ "js/ts.tsdk.promptToUseWorkspaceVersion": true,
+
+ "explorer.fileNesting.enabled": true,
+ "explorer.fileNesting.expand": false,
+ "explorer.fileNesting.patterns": {
+ "README.md": "index.html,favicon.ico,robots.txt,CHANGELOG.md",
+ "docker.md": "Dockerfile,docker*.md,nginx*,.dockerignore",
+ "pages.config.ts": "manifest.config.ts,openapi-ts-request.config.ts",
+ "package.json": "tsconfig.json,pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,.npmrc,.browserslistrc",
+ "eslint.config.mjs": ".commitlintrc.*,.prettier*,.editorconfig,.commitlint.cjs,.eslint*"
+ },
+
+ // Disable the default formatter, use eslint instead
+ "prettier.enable": false,
+ "editor.formatOnSave": false,
+
+ // Auto fix
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": "explicit",
+ "source.organizeImports": "never"
+ },
+
+ // Silent the stylistic rules in you IDE, but still auto fix them
+ "eslint.rules.customizations": [
+ { "rule": "style/*", "severity": "off", "fixable": true },
+ { "rule": "format/*", "severity": "off", "fixable": true },
+ { "rule": "*-indent", "severity": "off", "fixable": true },
+ { "rule": "*-spacing", "severity": "off", "fixable": true },
+ { "rule": "*-spaces", "severity": "off", "fixable": true },
+ { "rule": "*-order", "severity": "off", "fixable": true },
+ { "rule": "*-dangle", "severity": "off", "fixable": true },
+ { "rule": "*-newline", "severity": "off", "fixable": true },
+ { "rule": "*quotes", "severity": "off", "fixable": true },
+ { "rule": "*semi", "severity": "off", "fixable": true }
+ ],
+
+ // Enable eslint for all supported languages
+ "eslint.validate": [
+ "javascript",
+ "javascriptreact",
+ "typescript",
+ "typescriptreact",
+ "vue",
+ "html",
+ "markdown",
+ "json",
+ "jsonc",
+ "yaml",
+ "toml",
+ "xml",
+ "gql",
+ "graphql",
+ "astro",
+ "svelte",
+ "css",
+ "less",
+ "scss",
+ "pcss",
+ "postcss"
+ ],
+ "cSpell.words": [
+ "alova",
+ "Aplipay",
+ "attributify",
+ "chooseavatar",
+ "climblee",
+ "commitlint",
+ "dcloudio",
+ "iconfont",
+ "oxlint",
+ "qrcode",
+ "refresherrefresh",
+ "scrolltolower",
+ "tabbar",
+ "Toutiao",
+ "uniapp",
+ "unibest",
+ "unocss",
+ "uview",
+ "uvui",
+ "Wechat",
+ "WechatMiniprogram",
+ "Weixin"
+ ],
+ "i18n-ally.localesPaths": [
+ "src/locale",
+ "src/pages/i18n"
+ ]
+}
diff --git a/.vscode/vue3.code-snippets b/.vscode/vue3.code-snippets
new file mode 100644
index 0000000..9277498
--- /dev/null
+++ b/.vscode/vue3.code-snippets
@@ -0,0 +1,80 @@
+{
+ // Place your unibest 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
+ // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
+ // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
+ // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
+ // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
+ // Placeholders with the same ids are connected.
+ // Example:
+ // "Print to console": {
+ // "scope": "javascript,typescript",
+ // "prefix": "log",
+ // "body": [
+ // "console.log('$1');",
+ // "$2"
+ // ],
+ // "description": "Log output to console"
+ // }
+ "Print unibest Vue3 SFC": {
+ "scope": "vue",
+ "prefix": "v3",
+ "body": [
+ "\n",
+ "",
+ " $3 ",
+ " \n",
+ "\n",
+ ],
+ },
+ "Print unibest style": {
+ "scope": "vue",
+ "prefix": "st",
+ "body": [
+ "\n"
+ ],
+ },
+ "Print unibest script with definePage": {
+ "scope": "vue",
+ "prefix": "sc",
+ "body": [
+ "\n"
+ ],
+ },
+ "Print unibest template": {
+ "scope": "vue",
+ "prefix": "te",
+ "body": [
+ "",
+ " $1 ",
+ " \n"
+ ],
+ },
+}
\ No newline at end of file
diff --git a/App.vue b/App.vue
deleted file mode 100644
index b7dbcde..0000000
--- a/App.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index dbd0f7e..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# 更新日志
-
-## 暂无更新记录
\ No newline at end of file
diff --git a/GIT_README.md b/GIT_README.md
deleted file mode 100644
index 34b30a2..0000000
--- a/GIT_README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Git管理同步配置
-
-#### 同时推送Gitee和Github
-找到项目目录下的`.git`文件夹,打开`config`文件,修改相关代码:
-原始代码:
-```bash
- [remote "origin"]
- url = https://gitee.com/ialley-workshop-open/uni-halo.git
- fetch = +refs/heads/*:refs/remotes/origin/*
-```
-修改后的代码:
-```bash
-[remote "github"]
- url = https://github.com/ialley-workshop-open/uni-halo.git
- fetch = +refs/heads/*:refs/remotes/github/*
-[remote "gitee"]
- url = https://gitee.com/ialley-workshop-open/uni-halo.git
- fetch = +refs/heads/*:refs/remotes/gitee/*
-```
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index dbbe355..9e91d10 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,661 +1,21 @@
- GNU AFFERO GENERAL PUBLIC LICENSE
- Version 3, 19 November 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU Affero General Public License is a free, copyleft license for
-software and other kinds of works, specifically designed to ensure
-cooperation with the community in the case of network server software.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-our General Public Licenses are intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- Developers that use our General Public Licenses protect your rights
-with two steps: (1) assert copyright on the software, and (2) offer
-you this License which gives you legal permission to copy, distribute
-and/or modify the software.
-
- A secondary benefit of defending all users' freedom is that
-improvements made in alternate versions of the program, if they
-receive widespread use, become available for other developers to
-incorporate. Many developers of free software are heartened and
-encouraged by the resulting cooperation. However, in the case of
-software used on network servers, this result may fail to come about.
-The GNU General Public License permits making a modified version and
-letting the public access it on a server without ever releasing its
-source code to the public.
-
- The GNU Affero General Public License is designed specifically to
-ensure that, in such cases, the modified source code becomes available
-to the community. It requires the operator of a network server to
-provide the source code of the modified version running there to the
-users of that server. Therefore, public use of a modified version, on
-a publicly accessible server, gives the public access to the source
-code of the modified version.
-
- An older license, called the Affero General Public License and
-published by Affero, was designed to accomplish similar goals. This is
-a different license, not a version of the Affero GPL, but Affero has
-released a new version of the Affero GPL which permits relicensing under
-this license.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU Affero General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Remote Network Interaction; Use with the GNU General Public License.
-
- Notwithstanding any other provision of this License, if you modify the
-Program, your modified version must prominently offer all users
-interacting with it remotely through a computer network (if your version
-supports such interaction) an opportunity to receive the Corresponding
-Source of your version by providing access to the Corresponding Source
-from a network server at no charge, through some standard or customary
-means of facilitating copying of software. This Corresponding Source
-shall include the Corresponding Source for any work covered by version 3
-of the GNU General Public License that is incorporated pursuant to the
-following paragraph.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the work with which it is combined will remain governed by version
-3 of the GNU General Public License.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU Affero General Public License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU Affero General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU Affero General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU Affero General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published
- by the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If your software can interact with users remotely through a computer
-network, you should also make sure that it provides a way for users to
-get its source. For example, if your program is a web application, its
-interface could display a "Source" link that leads users to an archive
-of the code. There are many ways you could offer source, and different
-solutions will be better for different programs; see section 13 for the
-specific requirements.
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU AGPL, see
- .
+MIT License
+
+Copyright (c) 2025 菲鸽
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index dba2bb4..51978db 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
-【uni-halo v2.0】 基于 Halo2.X API 多端项目,值得一试。
+【uni-halo v3.0】 基于 Halo2.X API 多端项目,值得一试。
正式支持 Halo2.X 版本,免费开源
diff --git a/api/index.js b/api/index.js
deleted file mode 100644
index 94e5d5a..0000000
--- a/api/index.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * 功能:全局API管理
- * 作者:小莫唐尼
- * 邮箱:studio@925i.cn
- * 时间:2022年07月21日 19:14:44
- * 版本:v0.1.0
- * 修改记录:
- * 修改内容:
- * 修改人员:
- * 修改时间:
- */
-
-// 2.0接口
-import v2 from './v2/all.api.js'
-import v2Config from './v2/all.config.js'
-
-const ApiManager = {
- v2,
- v2Config
-};
-
-const install = (Vue) => {
- Vue.prototype.$httpApi = ApiManager
-}
-
-export default {
- install
-}
diff --git a/api/v2/all.api.js b/api/v2/all.api.js
deleted file mode 100644
index 1cdf1d8..0000000
--- a/api/v2/all.api.js
+++ /dev/null
@@ -1,185 +0,0 @@
-import {
- getPersonalToken
-} from '@/utils/token.js'
-import HttpHandler from '@/common/http/request.js'
-import qs from 'qs'
-
-import {
- getAppConfigs
-} from '@/config/index.js'
-import { getNologinEmail, getOpenid } from "@/utils/auth";
-
-export default {
- getPostList: (params) => {
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts`, params)
- },
-
- getPostByName: (name) => {
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts/${name}`, {}, {
- header: {
- 'Wechat-Session-Id': getOpenid(),
- 'nologin-email': getNologinEmail()
- }
- })
- },
-
- getPostListByKeyword: (params) => {
- return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/indices/-/search`, params)
- },
-
- getCategoryList: (params) => {
- const param = qs.stringify(params, {
- allowDots: true,
- encodeValuesOnly: true,
- skipNulls: true,
- encode: false,
- arrayFormat: 'repeat'
- })
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories?${param}`, {})
- },
-
- getCategoryPostList: (name, params) => {
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories/${name}/posts`, params)
- },
-
-
- getPostCommentList: (params) => {
- return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments`, params)
- },
-
- getPostCommentReplyList: (commentName, params) => {
- return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, params)
- },
-
- addPostComment: (data) => {
- return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments`, data)
- },
-
- addPostCommentReply: (commentName, data) => {
- return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, data)
- },
-
- getTagList: (params) => {
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags`, params)
- },
-
- getPostByTagName: (tagName, params) => {
- return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags/${tagName}/posts`, params)
- },
-
- getMomentList: (params) => {
- return HttpHandler.Get(`/apis/api.moment.halo.run/v1alpha1/moments`, params, {
- custom: {
- personalToken: getPersonalToken()
- }
- })
- },
-
- getMomentByName: (name) => {
- return HttpHandler.Get(`/apis/api.moment.halo.run/v1alpha1/moments/${name}`, {}, {
- custom: {
- personalToken: getPersonalToken()
- }
- })
- },
-
- getBlogStatistics: () => {
- return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/stats/-`, {})
- },
-
- getPhotoGroupList: (params) => {
- return HttpHandler.Get(`/apis/api.photo.halo.run/v1alpha1/photogroups`, params)
- },
-
- getPhotoListByGroupName: (params) => {
- return HttpHandler.Get(`/apis/api.photo.halo.run/v1alpha1/photos`, params)
- },
-
- getFriendLinkGroupList: (params) => {
- return HttpHandler.Get(`/apis/api.link.halo.run/v1alpha1/linkgroups`, params)
- },
-
- getFriendLinkList: (params) => {
- return HttpHandler.Get(`/apis/api.link.halo.run/v1alpha1/links`, params)
- },
-
- requestRestrictReadCheck: (restrictType, code, keyId) => {
- const params = {
- code: code,
- templateType: 'post',
- restrictType: restrictType,
- keyId: keyId
- }
- return HttpHandler.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, {
- header: {
- 'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
- 'Wechat-Session-Id': getOpenid(),
- 'nologin-email': getNologinEmail()
- }
- })
- },
-
- createVerificationCode: () => {
- return HttpHandler.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, null, {
- header: {
- 'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
- 'Wechat-Session-Id': getOpenid(),
- }
- })
- },
-
- submitLink(form) {
- return HttpHandler.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, {
- header: {
- 'Authorization': getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization,
- 'Wechat-Session-Id': getOpenid(),
- }
- })
- },
-
- getQRCodeInfo: (key) => {
- return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeInfo/${key}`,
- null, {})
- },
-
- getQRCodeImg: (postId) => {
- return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeImg/${postId}`,
- null, {})
- },
-
- submitUpvote(data) {
- return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/trackers/upvote`, data, {})
- },
-
- getVoteList: (params) => {
- return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes`, params)
- },
-
- getVoteDetail: (name) => {
- return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/detail`, {})
- },
-
- getVoteUserList: (name) => {
- return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/user-list`, {})
- },
-
- submitVote: (name, data, canAnonymously = true) => {
- return HttpHandler.Post(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/submit`, data, {
- custom: {
- personalToken: canAnonymously ? undefined : getPersonalToken()
- }
- })
- },
-
- checkPluginAvailable: (name) => {
- return HttpHandler.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/${name}/available`, {})
- },
-
- getDoubanDetail: (url) => {
- return HttpHandler.Get(`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail`, { url })
- },
-
- postTrackersCounter: (data) => {
- return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/trackers/counter`, data)
- },
-}
\ No newline at end of file
diff --git a/api/v2/all.config.js b/api/v2/all.config.js
deleted file mode 100644
index 15df665..0000000
--- a/api/v2/all.config.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import HttpHandler from '@/common/http/request.js'
-
-export default {
- /**
- * 获取应用基本配置
- */
- getAppConfigs: () => {
- return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getConfigs`, {})
- },
-}
diff --git a/api/v2/plugin.data-statistics.js b/api/v2/plugin.data-statistics.js
deleted file mode 100644
index 93bfbeb..0000000
--- a/api/v2/plugin.data-statistics.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Halo 数据看板插件
- * @link https://www.halo.run/store/apps/app-rtnbbgfk
- */
-import {
- getPersonalToken
-} from '@/utils/token.js'
-import HttpHandler from '@/common/http/request.js'
-import qs from 'qs'
-
-import {
- getAppConfigs
-} from '@/config/index.js'
-
-export default {
- /**
- * 获取图表统计数据
- * @description - 标签、分类、文章发布趋势、评论活跃用户、获取热门文章top10
- */
- getChartData: () => {
- return HttpHandler.Get(`/apis/api.data.statistics.xhhao.com/v1alpha1/chart/data`,{})
- },
- /**
- * 获取Github配置信息
- */
- getGithubConfig:()=>{
- return HttpHandler.Get('/apis/api.data.statistics.xhhao.com/v1alpha1/github/config',{})
- },
- /**
- * 获取 Uptime Kuma 状态页面数据
- */
- getUptimeStatus:()=>{
- return HttpHandler.Get('/apis/api.data.statistics.xhhao.com/v1alpha1/github/config',{})
- }
-}
\ No newline at end of file
diff --git a/common/filters/index.js b/common/filters/index.js
deleted file mode 100644
index 3509a48..0000000
--- a/common/filters/index.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * 功能:全局过滤器
- * 作者:小莫唐尼
- * 邮箱:studio@925i.cn
- * 时间:2022年07月21日 17:39:04
- * 版本:v0.1.0
- * 修改记录:
- * 修改内容:
- * 修改人员:
- * 修改时间:
- */
-
-export default {
- /**
- * 功能描述:时间格式化,将指定的时间戳(或正常的日期)转换为带格式的日期
- *
- * 参数说明:
- * 1.支持格式化 yyyy年MM月dd日 HH点mm分ss秒 星期w q季
- * 2.对象形式传入 { d:'2021-06-04',f:'yyyy年' } d是必传项,f可不传(默认yyyy-MM-dd HH:mm:ss)
- * 使用示例:
- * 1:{{ dateTimeParamName | formatTime }}
- * 2:{{ { d: '2021-06-04', f: 'yyyy' } | formatTime }}
- * 3:{{ { d: dateTimeParamName, f: 'yyyy年MM月dd日 HH点mm分ss秒 星期w q季' } | formatTime }}
- * 特别说明: 由于uniapp中的filter 不支持多参数,但是允许传入对象的形式,故以此方式实现!
- */
- formatTime: function(data) {
- let _dateTime = new Date(data);
- let _fmt = 'yyyy-MM-dd HH:mm:ss';
- if (_dateTime == 'Invalid Date') {
- if (data.d == undefined || data.d == null || data.d == "") {
- console.error('日期参数不正确,传入的参数列表:', data);
- return ''
- };
- _dateTime = new Date(data.d);
- if (_dateTime == 'Invalid Date') {
- console.error('日期参数不正确,传入的参数列表:', data);
- return '111'
- }
- if (data.hasOwnProperty('f')) {
- _fmt = data.f
- }
- }
- const _weekDays = ["日", "一", "二", "三", "四", "五", "六"];
- const _seasons = ["冬", "春", "夏", "秋"];
- const o = {
- "M+": _dateTime.getMonth() + 1, //月份
- "d+": _dateTime.getDate(), //日
- "H+": _dateTime.getHours(), //小时
- "m+": _dateTime.getMinutes(), //分
- "s+": _dateTime.getSeconds(), //秒
- "w+": _weekDays[_dateTime.getDay()], // 星期几
- "q+": _seasons[Math.floor((_dateTime.getMonth() + 3) / 3)], //季度
- S: _dateTime.getMilliseconds(), //毫秒
- };
- if (/(y+)/.test(_fmt)) {
- _fmt = _fmt.replace(
- RegExp.$1,
- (_dateTime.getFullYear() + "").substr(4 - RegExp.$1.length)
- );
- }
- for (let k in o) {
- if (new RegExp("(" + k + ")").test(_fmt)) {
- _fmt = _fmt.replace(
- RegExp.$1,
- RegExp.$1.length == 1 ?
- o[k] :
- ("00" + o[k]).substr(("" + o[k]).length)
- );
- }
- }
- return _fmt;
- },
-
-};
diff --git a/common/http/index.js b/common/http/index.js
deleted file mode 100644
index 3624813..0000000
--- a/common/http/index.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * 功能:请求工具
- * 作者:小莫唐尼
- * 邮箱:studio@925i.cn
- * 时间:2022年07月21日 18:58:03
- * 版本:v0.1.0
- * 修改记录:
- * 修改内容:
- * 修改人员:
- * 修改时间:
- */
-
-import HaloTokenConfig from '@/config/uhalo.config.js'
-import {
- setInterceptors
-} from "./interceptors.js";
-import Request from "@/js_sdk/luch-request/luch-request";
-
-const http = new Request()
-/* 设置全局配置 */
-http.setConfig((config) => {
-
- // 如果是在外部浏览器调试或者编译为h5,请注释该行代码
- config.baseURL = HaloTokenConfig.BASE_API.replace(/\/+$/, "");
-
- config.header = {
- ...config.header,
- ContentType: 'application/json',
- dataType: 'json'
- }
- return config
-})
-
-setInterceptors(http)
-
-export {
- http
-}
diff --git a/common/http/interceptors.js b/common/http/interceptors.js
deleted file mode 100644
index 0f50ce5..0000000
--- a/common/http/interceptors.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * 功能:http拦截
- * 作者:小莫唐尼
- * 邮箱:studio@925i.cn
- * 时间:2022年07月21日 19:02:14
- * 版本:v0.1.0
- * 修改记录:
- * 修改内容:
- * 修改人员:
- * 修改时间:
- */
-import {delCache, setCache} from "@/utils/storage";
-
-const getCategoryNameByUrl = (url) => {
- const reg = '(?<=/api/content/categories/).+(?=/posts)'
- return url.match(reg)[0] || '无分类名'
-}
-const showCategoryInputPasswordModal = (response, category) => {
- uni.showModal({
- title: `[ ${category} ] 分类已加密`, // TODO 这里应该获取分类的名字,可以在弹窗之前请求后台拿到所有分类根据分类code拿到名称,但是不会在这之前发送请求
- content: '',
- editable: true,
- placeholderText: '请输入分类密码后访问',
- confirmText: '验证密码',
- cancelText: '暂不访问',
- showCancel: true,
- cancelColor: '#999999',
- confirmColor: '#03a9f4',
- success: (res) => {
- if (res.confirm) {
- // TODO 这里如果没有输入密码点击确认应该阻止窗口关闭,但是没找到方法
- if (!res.content) {
- uni.showToast({
- title: '提示:请输入密码', icon: 'none', success: () => {
- setTimeout(() => {
- showCategoryInputPasswordModal(response, category);
- }, 800)
- }
- })
- return;
- }
- // 根据请求URL正则匹配分类code,然后把输入的密码根据分类code放入缓存,然后在category.getCategoryPostList中获取,解决多个分类加密输入密码后点错的问题
- // 目前存在一个问题,比如前两个都需要密码,如果先输入第二个的密码之后,重新进来默认打开第一个还会弹窗,所以想在弹窗标题上增加分类名字
- // 另外有以下两种方式科技解决
- // TODO 1.其实这里获取到密码之后可以直接发送一个请求追加上password参数,因为后台会缓存权限,后续不输入密码也可以访问,可惜不会
- // TODO 2.另外也可以拿到密码之后,直接选中该分类追加password参数,重新请求,可惜也不会
- setCache('APP_CATEGORY_PWD_' + category, res.content)
- uni.reLaunch({
- url: '/pages/tabbar/category/category'
- });
- } else if (res.cancel) {
- }
- },
- })
-}
-
-export const setInterceptors = (http) => {
- http.interceptors.request.use((config) => {
- console.log("config", config)
-
- // 可使用async await 做异步操作
- config.header = {
- ...config.header
- // ... 可以直接加参数
- };
- if (config.custom.personalToken) {
- config.header['Authorization'] = `Bearer ${config.custom.personalToken}`
- }
- return config;
- }, (config) => {
- // 可使用async await 做异步操作
- return Promise.reject(config);
- });
-
- http.interceptors.response.use((response) => {
- /* 对响应成功做点什么 可使用async await 做异步操作*/
- // if (response.data.code !== 200) { // 服务端返回的状态码不等于200,则reject()
- // return Promise.reject(response) // return Promise.reject 可使promise状态进入catch
- // if (response.config.custom.verification) { // 演示自定义参数的作用
- // return response.data
- // }
-
- if (response.statusCode == 200) {
- return response.data;
- } else {
- return Promise.reject(response);
- }
- }, (response) => {
- /* 对响应错误做点什么 (statusCode !== 200)*/
- if (!response.data) {
- return Promise.reject({
- status: 500, message: 'API接口服务异常!'
- })
- } else if (response.data.status == 401) {
- uni.$tm.toast(response.data.message);
- // 如果是请求分类之后报401说明密码错误,那么清除该密码,下次点击会报403弹窗再次输入密码
- if (response.config.url.indexOf('/api/content/categories') >= 0) {
- const category = getCategoryNameByUrl(response.config.url)
- delCache('APP_CATEGORY_PWD_' + category);
- uni.showToast({
- title: '提示:密码不正确', icon: 'none', success: () => {
- setTimeout(() => {
- showCategoryInputPasswordModal(response, category);
- }, 800)
- }
- })
- } else {
- // 其他情况维持原来的逻辑
- delCache('APP_ADMIN_LOGIN_TOKEN');
- uni.$eShowModal({
- title: '提示',
- content: '您未登录超管账号或登录已过期,是否重新登录?',
- showCancel: true,
- cancelText: '否',
- cancelColor: '#999999',
- confirmText: '是',
- confirmColor: '#03a9f4'
- }).then(res => {
- uni.navigateTo({
- url: '/pagesB/login/login'
- })
- }).catch(err => {
- uni.switchTab({
- url: '/pages/tabbar/about/about'
- })
- })
- }
- return Promise.reject(response.data);
- } else if (response.data.status == 403) {
- // 如果报403是请求分类文章接口(您没有该分类的访问权限)的话说明是私密分类,需要输入密码请求
- if (response.config.url.indexOf('/api/content/categories') >= 0) {
- const category = getCategoryNameByUrl(response.config.url);
- showCategoryInputPasswordModal(response, category);
- }
- return Promise.reject(response.data);
- } else {
- return Promise.reject(response.data);
- }
-
- });
-};
diff --git a/common/http/request.js b/common/http/request.js
deleted file mode 100644
index 3c6d074..0000000
--- a/common/http/request.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 封装各种请求方式
- */
-import {
- http
-} from '@/common/http/index.js'
-
-export default {
- Get: (url, params, config = {}) => {
- return http.get(url, {
- params,
- ...config
- })
- },
- Post: (url, data, config = {}) => {
- return http.post(url, data, config)
- },
- Put: (url, data, config = {}) => {
- return http.put(url, data, config)
- },
- Upload: (url, config = {}) => {
- return http.upload(url, config)
- },
- Delete: (url, data, config = {}) => {
- return http.delete(url, data, config)
- }
-}
\ No newline at end of file
diff --git a/common/icons/halocoloriconfont.css b/common/icons/halocoloriconfont.css
deleted file mode 100644
index 363f1c8..0000000
--- a/common/icons/halocoloriconfont.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@font-face {
- font-family: "halocoloricon";
- /* Project id 3617343 */
- /* Color fonts */
- src:
- url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABScAAwAAAAAJdwAABRHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoI8I4ESBmAAgSQKvXyuewE2AiQDgXwLgQIABCAFgiQHIBsGHaOQrPHVyP55GBvLC1+4P3Ree2P769UOKY0hCEEbZfy0+zOU8ojmbDZiF7mLOUmQIGmSQ7yEJNTAE6gYpUDNoGJIFdovpi9G6deU/n/hHagYpab03S8ABm2mUhyUEj74AP87RGRIAQMAXqx0k9pNuvMDG86+PDAfDHOnDlvh//lT7/uUbJApmk06wVb1FHyKF7ze+Z9Lbf4wN05v7IAk+74TasKzkP//3HX3A7v+FP+llHWUcsq5AbIwndvb80n5j5AkGTc7oUQh5hoH69XaENDU+rR+xma/h7gqzrHCAnTYGH3x/wUAgARACFAxjgYLQDcRgxLmRUIsm8bmAI8jZHDFiCexJEx6YXwZW6BlCI00kWkh4RaJCJLEIZIk9EFIw+kyltyoECoBVABqgYbQkmE6o54ZJABxB+AmZObaFm4gFAexg9XaCit9ZcvCaCunMYJhW/mPE9mlDsxJ/EldJBalijaKo/gxNMiLDarjJG28ncBMRPwkZbJ+PAcg4CxayLprh1oCKAA6JRGLqXstROX+vlIKhYqCgQiq/SJJTT7nodIveilqeD4lSFlMfTR7G2XWfU4J4DKldIxQ1qBbVNTE+xQoHlDSupdU4PEfKcvZ36h//v6bal/1DzW+9T+qfjlFrdQQO86Kc/pEy0h87A8KlItflwEMBkJ1wAQGrYNWAgAZ9HhQCZCIBLQjwt/azczK9EI/GH+4S6+gKgA6ABMQ1IbqtEsAYATkBKADgBSpiJoMqOMQ4wOhWxxDY/wx5VjAWNhY7NjSsYqxXWOnxs6PDXzN++EuRXGnhDEMbE124japJ2qa6i/V96ox1QPVNVW3ao9qu2qGKl+VI+fi8alZu7OagkDF5FUAvAAAfniMs9oW6IIbPURHJEZjdLoTcwnjknIIA+apDKSiPeGBiYDt2A2Ldn4uSr0al4hEUl1AbreUlEqTOXwclxNSIgzncyRGQ3yoVC6N14UES4RCPsGI4POdfGlGHSLnC3USXMRf9NLhBVK+RdAdfGU0g6FwS5/OQdi9YJwUl9ZeZ9XGdZfspbWjNhhB4gzmIWoNBmG/IOwdenV7q3Px5NUVOfYhIfGIpCdUXRYx2cl7b/gH1KIpWrba5m5POVZsvWXHTRS09vjd2kPepFBINUgg0bEQQYaYAHcAR4R4Fet+ishWXlufIKyUscAH0Q+aKgklQMZysjB2zXr7JqKOY2Y9MNaT4Xv3FqIWSoH/eW141vMeZLGkLDYJAZC4IUXDW4pvSSlUUxRFq+kXgvdVYzDMJV4Pczl4GDcIbB6KNnq4tTWlaHEMDeWpADNVV4wmh0wWLQ2yEKQhCqfe5P6EWhPxuQ+JkU32JZlIIoJ5OTKRhdDdkBW6ipqhN6H5CRPrCrFibcPDSOjiVZIyEbKcFhWkr4BGJcNzJR4F/CrkKMw31KjHCQpp3ZxyvPE0s81a48bWvK2NWkSxP4osxitGbimqFUC0D/PmUg16yFqd5yAc85qBEBizNgiJhpAvLpl+72pVfCLSzraNBqLLsiA507aRqaGAQlwW7BYiq7EXjgZ5By/2kwDrEXQxuzUBONks9wOS1UGe9jiiN8cB20owO1OIsaALScBB1GcB/LZ8APd0KUdU1fcmkmkRI52mlmebrwpvWr6bzi1TkesWjNojvteOD+6tHm7X5lSMYOZ2bWxvk3hKKXJGh4K0rNwyucaWsN/5YGlmVAdcqKW8mqZmf+qxA2AYhlPOiSt5o/vjkJivim85PhPVaGb7P0XO/NpPB45lBXaa/1lu2GhBp3nBMXUlhQVLhSx0tcntkYncHInL4Ud1Uq8ip93i0dHKMr9rzN95ID1qpEWSOGGuZqouUYmH2DUgxtFc2rgMsykIyeaQxi+I1A8Pnw1oVn5+Nqwd7UQe0jVW/AUjHbB1usVk6eZUCPdGA7iKloxzxkK/AF1XzTYY+tQGYe0VQs7NMkN0c61Gm1xEazPeuIhhLPdu0jRlWXBP9WmtruwRG8+cxFtDEaQGQMhcMoL6KIxhZkKSQu7HTAeOtTQW54zWTjU7f3njpCyjxbPMgo01kVavDofqMi87z6tRhUrhCHhEAmmdhsbTcx6u+UUxOZaTLkj2JwdlANmqCl1lqq61LySHU3YRat054oc9fRk9xkhOGtJ1GFmjcaRxRKVIQRr6s636hhGPIuodNGebGwz0GWtFSxx1DH8ekUWGYCrTQ7Al2nhY9qc7AI5iC/ISQB4HDwVbKxXeTfl4hbUfAAeRZjRfebcVemB2G/bX7AciWRDI3HgeQ+9RjEoHbePoNxSOVGBC8ZKkDb+hC6fdq2n6BsY6Q6qBuDlFg7qJcdZoenQ4LVKxKdm3RZePNUtcag4SGQPQZja89/INVfZWFFpbOU9tJ42K3fTx9M/56FXLMbimlDrFXxMGg15p+EzIaga6nXUjR3BKEI7T0sBLKAHfx3pGOlWWKURqZb0j3bbVPR/2rdHXrMG2Txmpc92N3d0CNlvWJ6eNdO8HCO6trV1GipcPpla25q8mJRODacLUkT0mI5IR2NqsQaL1Zvsw1tMzp7YZwNHwHRk4wj2FGaoZqPNuBAKoZjPyoVB4gEHYbYOJ3MDzoHPy8U0b8WMQzEL3TMTi4nXiawhjIfZ0IASuoxrPDOyvm7pRFat9xd+x3iI/ITQFiYnh1KG/aeDbPPyPB/4191PNzY2ppm0BwFaqv7njC3OcUi8BUBvnHFe8gtWvwO7gPOQpJnTBc5Ig3NN5D9pJ3xqMOD823tx6d7/SCugr6FEEuzjSsRGa3+WQtiq7LgrUWmPjWIIkISELwOArbk5VVnVVRZpSHY2YPhAgI11CukuCv0bKAbKYtBqCRNECrPHT3EwbSjNq+JCeVdQHRKE3hiKSJG9dDqGvNpo0SVgKb8oHKgoWHsnH4AupZhII4rX9CDAi2lrlOPmlGARx7Yxiq+eWUcqEwnxNLWuIXarUuWP0Ais368XbSbz/YC+Pnm0citr3QtkoV3/XIyNRPJLGqwe3k6yUl0R5BmlYSTKTPQfCYQBXpiVHQatck/ggETFCbeq6b/EDBFEAZgcYU9Uf9du/ahIhOg7EBF5wCHU/VKjwUe2VrpFULnPS7EVagdOGMWtYKmKqnq3kOUc63M6hHSOflkV37Bx1Kj+18RXDbe4zP5Qn+RuHtYJnyqKf3kUTPkQShIJe1WF3YGTjRdAUBUV+nA79z1RX9T9zVbVZ5qSvgW61Pnk1CV3DvweL/vOu0JxYvq9Iwz889eLeb6WgzgtyvnUVtD//GvPzt6NkZbL56e062hPe/ZIsqD827CUTIDdl7014ujhxz81jOVXw9OnexLkoe0/is0Wv6C2gfdDPnu1JuAnrBGjePP7J9GZJ3/Aj0w8fnjm22aO5/drv/uvXiv4zrrjb/2h0Asec9nxe7+qZ8/7al7HSxwxaaJiMZxpSJrOPfi58/adzqZyLYQNz3p8DQHBvTnj4g4ARLioQoLv9+3PmjOyuXLz45e0dmAXBrPdmwd8tID3fDjZchMDrLNZiqOjegjbXu9WutoJgNrT6XZsryHbg5xbLvCznnMqo48w/cxrbM2dug9PnGHsXm8mcyDE58mS+9Fl58Xm6iexIuPpA0ABIt7I8IGXHOYSMUP0vvynAHXY3B1C5c38ecfrvd7+Zi5C+UA/o3/rehLt3uS07v0ZwatbXRI+7vMzkxCcm/vZbdqtbV7ymF4EvYD+DRpIB8E35jjtAa/vnjXQfUeYMKCOIQd+WbAJfo8xIgrgW2K8Fmi59h6LRExVL4oVDd+yIuHsn8I3mEbhvRxkBbmcPyS8r/vLu3dCeNj5A47/8agTFCeI6UY/7LAH84v04/KML3vG4X3nzAHyprU7Y4T6L8LJWLkLjBws/y/6mRwCQRxTjpsJTPTvuyf9LKkG0kM4m7q0dQzjUffZZKinQvU24baf+VZcNDn7Dr1d7AHRABRavZ/hN4Jznrgue/SI4cro5ljBrWpo1zLIiUV5us9qj/oxzkfMZdfO4w5wG7nluJLkfoPpV8fSyjOGwGV45fUane/rE6JmbBUazLK8uaenSpLq8PIHAZ1N57E+KatItId6Y/6Zfyl3pSvIkly91e7xpi0v6yvMmNmVYZBJhZfSgs88akxaRMdX5+LE9frXTkeRMId2581NcaRM37PDl52ZvqMrNzEqvnQF7710V6oVCna4Un0Yz9eHiaSaiDx79NCF9fo07n1PAbg6ZlTehYBks4OS/V7eKyJevuBxP21yutkJLkNs8DIk028xfjv0SqT1sn3z6qO/Ycw2WOUBkaifGRE/9T/RWR7RrycqqJaCLllTuC0mFT0/2ZuWvBxrw20/HSdIu5S56qcAs0H/fMzm72prNmEzfSuZm7t0al73KmYF+eqedFRmbJh3F1y/+ZcFBX2nllI6QbNrRFfppCfaZnApr7reJOVnZ/vh88qOgEsBceIvpcg7R2/qdt3pKHKLB7mTXKy9JcthtDrIUppj3VN1Mm4ZDH2GaJsb7hjJf/6pAr4OYeWBS8pI8t3hN947nQSVBHxljwX4tPjDj40AeiCJmHWazZwuTbCDexrOEBKZ/Etgf+El6YM+qAH2x3xCizy/Wb/A/fiTdxoHnm5FF6O7zDZ4FIJ/aVK4s8lgEOWkfQ8VYI1rYKRK+W+7ou1deuk/aHP5uzMJFq1vWzCN6dh04xwqXLf/12WuGY/qlnx6/GabJgOOWmCMb7bp+xJcBn+Bjj+pn1HRqdbW7F/O1hO1vFOD8CCfq19kXH6mrHcV8n8EmlMRKmCnZ4XnXD+55+f7cM/uvNiIWxry6s/PHS75KaR2DwTPz1PL40uQ6U112DqvYzcmZ97SwylLdGa15p7T/1Hqj3cjWs57ceDz3WiHDPV+9qlKyqkq+msu/17Zu4FMOjNJgm7R6ZxxjitTGxNj6CL05WTT3GpvFCisIC99qgpDPj8F+/Fik3O2pJzuUi1gVFUSF/eoxoWBb65mu9NmBz40/MepBYubB+5b3h80XMzKmhaYGh7it+daCc+fQUMYxLSNj2DIsdQm7d++a6tN41fkshUsVml3JUD6aWLiV2CX2i3cR4lsXjyZ28YGouRx2FJvTzLZ82W2LQOPRnFR7NV+owLSdT344OHBwTkqY12r1hoUlBHY7LcSaFqb3B7hFsGudAAPB9G7zj49lm/dOf73uRjUR4CHEBPEWfKlUZ1piY7MsanUWWphp0atsEBIH1wPOJ9sgrOJ/psflnB+aDn9cSUmYG+wGuhsG3Nc55Q/4cf4OT4CL6fm/Igz0hdmWpQne1KCrjXR641WD54VYlmYDlmf8VyHnG418ueLfPQYTDtWIx4UjecLrFbwbwvPicW/Ag7dhETON4Vf4yLT8ULc7U8m0pz2Gn5m2CMLTtW5uHUCdwnU/wf7T2N9ntbAo15GpfJkCYCxJ4wt/I26MS8TILl+H8HN/w+ivJcGTJ1s7v45C3cggF8RPp8kjSTm/pwTiDU6vjRQKI2vhjob3PYZ9xwtoFb/nZnDPcw4r4Q6K0cNcF0T/zCxoCet3tjtM/irfG0GvY+fWrrNNzMmZ6Kqk7In/eF684Gx32nxQXPJPiZyHC4qLoXjKQm+R8iuA/rg4byCr/rHPQ6bGQpTj5vYYiI0rsH5xLC524CgL+Qz348bQGrwYx9CjVqSKHEcN0VMlaindK8vK/jTqwa6a0DTz5s35DEPtmTZbpp1Oh+TITTs2bUhcl7hzU9SmZAA63W7LzLTBhytKbS6Xzfpllcou3oRNyNx29gVxZc7GfzHy/opgd3cR9gDj8x5iRbzveXzsu3rHQXJgD4c9eKuI9x1EK4Jbx7/FfKyjY0K6NcSv/bmADPzu/z8I4jLN/y0B5Mqvl/2SxHS7OBNf6h8dJodBiS/acMsIv5RckOjsOYFBLrtOcqHrGcDvoUW40uBYTR8xHsbPGo03/vyynTi0UnmgjyDO9SnkQ+cIoq9PPkPau18o2tWhkB9YJxK29UYlKzYlyyQxPecVbijAeEhoZbAYdAZIbZK9aGcXkxbjZfKLi3mCTwrJSDZWXi7gF5djSMB1k2yOh2RynE42YnHvCyRNLJbJyWY7SSbiY2Ulu/URREQ48YT6qfpxGRER6eMM9oKzyjh88+ZNdY4ku2GcR3STyIeL/CLcG6Jnj4mLvMe4rxb3Ch/5YDwRNK0rtbw8tWv6nPR3tq3V2v17yOVBSriefY70SvcGZCVbFnqDu/lQ4arNjIlN7nRUgLY7OGq9Jfn7PdrrlZI7/5V++gUywvORbCAmJ4JqBE59teeOxsbmXv7Zr92+dso7c6andpWXd6XCf/V0R65EkpOrd6R5nKQvypealubOzU87ubzKLKklJTGyyioZK8ciWVwuix3FruwKppxZw6wLFpPFvyk1S5efN0FBWn4gLQ4Ep51xIGYCSB+nBfJfNzdYzf52CqMqz2+8aNxiQCc1bFEuLIuLaayuinueEha8RQLWQmuD2f1YwWnBpM1GaRRS2xz6cOJqtsiGk7n4tEPhpNMZQly2kbiqxoZYa9lG5RZF+ESzsAEEhpoVx+yzhkhT7II738wRJf7GoTPcFjxKX9ZOm6AeU/voP3lWAvypHgkR/o9DKkP1I4Jo1X/wd0rWGATMANN1BRVWBajH+niW+AHMBItByqZFhqqS0aep0b8JA0Y1zSsddaoMoBBhDqV1EfI6gHjhl3T0fVwU3UCbssYJvhJaKNoK4CiRAblOQa7Wnx4RjfSmEWCQfOnUhS91MG2SCn4qPkpbA9M0UZ4CF4Cn31Wez8SCTKADYnABgRrgxWggXIVhFB1SIGQUA0JhwSgmqKHBZkEoHPR0FsISWA5FBFNzFSw0Lm0Z5EIxlEIZLIFCWAUOsIH9YidAJmQZxPtYw5CbilitoVQoI8uHYit3NSzkrBDrOoopjQ7nqVEngAQAAAA=') format('woff2');
-}
-
-.halocoloricon {
- font-family: "halocoloricon" !important;
- font-size: 16px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.halocoloricon-url-monitor:before {
- content: "\e67f";
-}
-
-.halocoloricon-csdn:before {
- content: "\e601";
-}
-
-.halocoloricon-csdn1:before {
- content: "\e638";
-}
-
-.halocoloricon-ic_email_round:before {
- content: "\e618";
-}
-
-.halocoloricon-wechat:before {
- content: "\e600";
-}
-
-.halocoloricon-social-weibo:before {
- content: "\e621";
-}
-
-.halocoloricon-GitHub:before {
- content: "\ea0a";
-}
-
-.halocoloricon-qq:before {
- content: "\e680";
-}
-
-.halocoloricon-bilibili:before {
- content: "\e66d";
-}
-
-.halocoloricon-gitee:before {
- content: "\e60c";
-}
-
-.halocoloricon-juejin:before {
- content: "\e60b";
-}
-
-.halocoloricon-fenlei3:before {
- content: "\efda";
-}
-
-.halocoloricon-liaotian:before {
- content: "\e62b";
-}
-
-.halocoloricon-liaotian1:before {
- content: "\e688";
-}
-
-.halocoloricon-attent:before {
- content: "\e6b3";
-}
-
-.halocoloricon-classify:before {
- content: "\e6b4";
-}
-
-.halocoloricon-edit:before {
- content: "\e6b5";
-}
-
-.halocoloricon-calendar:before {
- content: "\e6bb";
-}
-
-.halocoloricon-message:before {
- content: "\e6c1";
-}
diff --git a/common/icons/haloiconfont.css b/common/icons/haloiconfont.css
deleted file mode 100644
index 40cfa3c..0000000
--- a/common/icons/haloiconfont.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@font-face {
- font-family: "haloicon";
- /* Project id 3629184 */
- src:
- url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABCkAAsAAAAAHngAABBWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACFbAqrPKMdATYCJANQCyoABCAFhGcHgX0bahlFRoWNA0Aa+4rI/q8TOB0O8hemOgiS7s7qVnJupooyJx6LqYR3Pczqa9EmUkWjMPmofA0W3BtcOLhM3R0cg6P5z9ZkB3NycP3NUEqIau6/nuyGNnl5gB+AFas7R4DCMMmr86iIFQkFJAHY91uzZAlljahqhamshZvZAwXkSAH+2MS27LfS3LsAGJ62+Q8UhHvsjjiPPkKdkZT2CqMxKLNWoVu7bnW6alwVq8a5X+4vWGRIm6MP/F+c6ntsABmN5cLSPX656si2UkfKZLlnqMKB1AemMTiIf366T1jhXicgNZNRNFL3UTysZEVOJZ+cqNS/TU1r9vK1ZfC9CYXDMgiDkbvJ3c9tdlM2X/M933ruaHlabQ6hst96qDlqVUg0CmMRyiKUBGqtsVz9BVMznR4arKk5Z0aHZlGLJiDiXGBf9mUQwNDJENaw9xETiFbAhlUUo/HOFqBrygpaPBfPzUELMgVPcWSH1cgBbLB2Wg6I/eT3y2vG4oGFrfCeaMyi4Qu4+Uw6u8b/UI9BcVugewuwAQW0NixPfoiLP6kAtRJseHbNLYhaKo2/tX4mFF9CXrVm3foMmWqRJU57+Vx19i+xgl6DO+edW6j1l6+n8b/ywMeQII1DQIwQhU0cISKJxsMlhQXiAByasV+a0/BMbnPhwzM1Fwae+ZTERwCiLMmD4oBUgxKANIMSA+kGJQTphUSxpA8UG2QQlDjIECgCMhWUCGQRKEmQJaBokNOgeCAvMRcuPFdzkYIXZ8VlXgyZxzCNwCpwj4B3Bk8+Sop91EIBEW7joFFLCIUU2W59gItQmEiExWHUs++VlGZSdob6IRNFMWITPr9daXEmkc2O8VWXh2FnT6KhM1ZaGkXSVshIo1j7UGISmjB1kynGUkjFgryJ6uIbRYnu0AtOwK3W6cTq+utC23ijod59DW2xMPheyGeDwrUZlk0jV6nmJtyoQumi4zIOjsYuPdRv1SXGaC01K65wjKERtouNae4km4zykGE41G1RIZFSKScAmIaQds2QxOszmVoL+R3ZTmoaojrqaIcnmziHvYXisEKxlChSlMgLjVIA+ClheRKlwnivkKEyXAfFLGdakI8M89kMuMxg2m100jrB6qmhW7IWUyhdDklhJ5jUFhVoXa93pehQdMrUFRWSODPn3wLNeW4487UgTyQg24LAc9HDpipncvzEqaSmemt9v+hdvwZ/uUjjMIVbS7i9LSzkGrUHZAgf3kho+zwS6uzuzHqU8HVcu4ueHcC2AWCrkDzTipjumcOqC/uYjy1uy0LBcquPtD4LV54TG92Iaq2lCny3JkAp8T1vGIYsI27YECD2WxWhbRDqczEWRaJIblztvMgv7tgUNMwJvaLWR7KQeqrOCUzJ4FxMPbmbVXqA4Owb/7y7YJH2NoIAbX249KvIOZce4migA4bS3H8zbESFEklcn61t1MzpJMGtpcBnpP0R2jJg076mrA2Nve9FTMRRgNwqi8504v7ElUJzJ0iiLZ4KpR/Kju3FF8N8JBoKB/0GWR6LbnbWlkd/n7GtE50wZr9OF0xHHe+2WnJadr4Sg9GBhnBpc8ITCptxTiUDTuMIDA/D64XYcYYoLdB6yqp9LmZPCSQgy5OFGMhrOKg0BGDnesjbF+APUB7/7GMZv2ZBWHJdPEbmXwkQCuGVqsTAzpr6+ALmHqK40L8gwL8uc+lN/xupiFGjdphCvuS6HbtaChAUREhhoPUn1QG7ZvY/gPysUB71HxzIS8BKOgComo50Hu4NRH4wX9aCux08lZU0cl356Wjjn5Kgrrj2Feajzg9WphbsqtTDprbDE1yuBP8wwkqDAnah71/TzFfQwnlX3KAnyIJDCx3oCA6SRWAJm/qigZZp7xTx55rBYst0PevvigvUyaKR5elQ2ITLTYOzyTgBnBVs25RAYe7mGYlzXi9rCRLa4c4qY+whAu+6JJv9bRuDy5WiKkU3mTXhk0ItjNeh2BmJy5OqeYii8oWR0bgGPdxx1WdSLcaXv37+mYUvvnX+3IJy0PWESxdUDLB/4Bu+erkYymP0KFQpwK86Qo3UH8V6wyhqHDyJmjkKy5fVCo76sFZncu1S88sz3S8U9Y1po0/VUMLZvnFNtevGYuszu0YbtjxNhc8SwLKgAx2WaVmnLa8Y6EoBrCx7Z1wKApSlutzinqRCEZW7S6qm5YZVcM+mB/bEVL+BBvROroX06rt/l8O6LTRkMZhNobIJvVRqvcUb2tYlvzLjSqcYTaLYgUofV0u3/oTEbU7cDP1ULvpzCmDPR2IoS+q1JIDxxeYQ0YyfGy87aYMqMwY2BYZbQdyYyRrm24JkAYrNHVcZKNFVBjGa+7ur60bg84P9yWCmcdSWTbmcqeH8wiRIVhDsPWJ754yw0N8ELIXvvOPd89u4n4ituhiePiTY+oaaAFrJE98NFY6ITx/MMj6M1LPDf+M/r88me5Gzr/8kj8h6yY7wmxnbGb0g/ySMrJll0DUXLGM9jNklj0JZ3Wsf/SOm59cxnbw7zDrkDs/Z+Jt2qF8VOFSSf+bgU98+oDdxodyNSpsW5acxYqbKi2XnA0etrQ+4UPas0sg2qoV+0/vI2eVdRG+Fgd715H9sG2bMPVze5YHXwxnuHgcnjehfIB44YHkKwmsLozHcVa04jLr4MOzjjSjotlPlwfB8TcC8h/h2X99DAK2atWEftICLp28kB+YUV6vNKqNRZVY7EnRNZdwVx8nTNasWKRB+qu6dY3k6eO/y3WlBu1ICk/z9kwJT2gUEPrAr7SdPliyfhJTQvPHq3Eyy5d8HxtLq0hllD4gZm/sQ8TkQcB4bjTYTxDbJtoaGZkng1ISNRjWhcz9/TkqqL5g8/NTdwI4Ap8N1Nfz+U43tCd2D2V2E/yRUI9Ggj/bgRAoq4Wo0gsvQ5PaBUmTzafk/cbKL8rh/5BirH4xw8a/yXcTpmjih9OcpELZikEsoIZYwSX7Vtb3lai7CHqW0eMfzeidd2/OJhaGQCz/drolicIsBM2af6VJjFVQJH91BVAYNRpJkfUANJzBzx15yu+ygbAc5uFWslk4pC8QOsiisvTfbwR4gbNlL7mCi7bFcS+mqThLy3kTO51eszrZNvZW5/laArW1mLr1iqI9Yu6km9SpMbdj0L9zYkH+4T37Npl4H8uE48exOweBb3B5g93MEONpN5H9TbHCf/itJdKVNMkay1ilaNm22F6I5Hdm9Uuxc+xqR7SjhJB7iy1lHKrQ1A2sHHr4Jl+MPibF4B55k9AvC3mdJxUdWidrEq46IpaKZIW4TtQ9XEW+JNk8mSom7nm0REpP/ZlY9fmz3tre1mnkObnVb26zkWY+fVHEd+ihmNNFkAo9p4h3j2RlXvY5Zq+FBmb33Mf9N7bIBPRRipZgr5gAXgxtqa9TJyhRDPRTLFR5DFd8DdgnWMnatLRQ9IK4WL79FWCamfV4zuwf9gNcuty/iEnG1aCViFif/VQtBDkCzIu+Ca+9cjB8aBAP/58qKuCEUKklroJk/J5NCd5fURNZIiKUJAfRqupRWT7fS62lS94fK/2RKRuPHpiRtWEi2ITRMEWoICclC3QB0it8t3i0BhUZhlMpliuG/vIMJsKya4jXTCyj9lIB8CwrVOgnVYnJMi07C4lE5Gg90e0TB/ZIkX5S1xUGGtJBgpAN3IPLyHwk/yuRIBwLgJbosNrKmF+LEO5A87yGp7Vc0BQN0hYW6QQW6zg6Pvt40qz1/Xly2rFS3rYzDyYzwK0/PKPcLdwujhpX4paXv44lgOnEnUycvjcu+Py8gwd8/MTeBKoyJ/n4TOHAvYF+WtJZbyeJ6laE5U6VYVshcxyyc1a9vvyC+yux+SOG6IqZimUHVrDIU11vIctLaEGIRpqZ4pYrC9QF6jkHvzzUaGKEMQ4bPrJzRmT5v5KGZDJ5R788x+Ot1+jRRsldCpc/nzPTMz2mPi9OLH/d8OV+qtKuOaB+/lAiA8Oxafk/K0NauXLzRDTGvDAWbTzXMKwq4HOgRuU7AzDLts+zLnTpq5fa9h82zZrCY/C0bO2rr+y1bmrTeO8zdwyyk+R/2i0iO37Rdn5iMa5TxCf30S2mUPkvCRvLSuAIEB7ukCbfjjBv3ffBpyF38LjJN3HpU9F10tFXMCHATowJU/UCETRSiGwSsqEOcnk7k1cGYPmcGW3MiUCf+yUKbdR/VSLXoR/AcWINOW8qb7T3bp9m7mTstF9XqLMgEDkW+axD403tBQ76Edok3Cmf5NK13wQUv3nbKMx7JUPJxhrxTVvSYRGWPisiJQo2oU6QXokI9HDTChyMuwW6iG7aQt8TbaaPH2joc+3oksjP0Y4GOc1jAf7eIeEn2+pt8STC7+YLuycGTu1+8SHj+Irri+XOOiiLgA+FLgVLwUgj4ArZqE1UKd0fthlGmO8YCR+7jDX9TEifwPIGKelqO9zr2aNhqHh3rhVOr2HbZk/R0nFZ3ePpNUU8pRweZEHmDv0WEg5Q8TAhY5y3+JhcVwjcded7MccpvyA9GHidgTeFZwc+O5WquKQHSE3zPohMnJLdsEs1rg4bXzDth5Li4BpPLge8F7yFH3H5LItNPu9glsd2q/PSB5dp7VmsFeQxZE1r5Pd8FV/ML+cMAMElxD8Vw7RA93HNPeZojjQwA/mnSjtMngChUhClVFP46bNuWWQIgnNkTgPDdcFTg1A29iQSkqbkyxqTvuHLXIAuiBBnkd+QGYJZnvmHQZ8q8nVkMWr1f1cC+/QyZWjyCEs7T1ndc6SDTsmWpQHs/oAly+GzYXIHC+5SJwyGbz4FDWRT+/bitZou2rB803Gydrvce9b84vnknSi9asMgRwJ/MQQT4p9dzllTOpCW54VSNexJtzJTtCqGCzzkKJrne41W5JVGfEn409XtUY5irW810o0aLx1N/gJ9OfcUPpbbjepkpn1WNG4tfQH3AD6c+U2uARqHljyqmvsuCP4AfQT1TWkt9GI3+VDqA+n7/szucC5/vKcFivzDgv6RX3OubMJNUuT4H6Wplby9HkoY3/TdDJ92n3t2shozmbeO2P/2+KyAWXprh7v4ZZyHjHwG7mOUpnjZBTkv7d3XlNJ1m4VIyTeFRzenY5mk2Ad3THDwGpxlaGD5yQJo1KET7QD2bD9OEBMenWURcQooXextpxN6bZpPjOXIQ+3eaYZLU4wuol8O8XhEMJ7c9OfLCIRstQRZjzU+MNYOeskn9L2ohat3Q9q+tH8ioefRT9nE0Cy6oLO7dntAwZ3Gryoze2mS2brou8AZovSxnL4pgj1kntz0tSV44bG4JsmDRT4w171sF24zO+otaBDy4G9pegvsACFLbbIi97ONovhHcbWOVxb03DaEjoNitfDQj3FubMjSsm87fV5DFbbXyMvtvAIz3aBketkSJFlscccUTX4wEe46fOJK4JCQpKUlLRrJ0JBOOSv+JBncNccyVb0uqR8LBYW20CDkjjV7cSIPZUHc1VuBMT3Obc8WRQKrLplPHWAOlHESn60y8KzclYQHmrRGIXeGNB5qA7w/I/wk4Dv68VOgv5sgxaAZ+fMB0CTwboc4uHZSrnwEA') format('woff2');
-}
-
-.haloicon {
- font-family: "haloicon" !important;
- font-size: 16px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.haloicon-xitongrizhi1:before {
- content: "\e63e";
-}
-
-.haloicon-pinglun:before {
- content: "\e8b4";
-}
-
-.haloicon-shuxie1:before {
- content: "\e639";
-}
-
-.haloicon-rizhi1:before {
- content: "\e668";
-}
-
-.haloicon-fenlei2:before {
- content: "\e63a";
-}
-
-.haloicon-pinglun1:before {
- content: "\e617";
-}
-
-.haloicon-tukuguanli:before {
- content: "\e6e9";
-}
-
-.haloicon-a-pinglunxiaoxi-05:before {
- content: "\e6ad";
-}
-
-.haloicon-password:before {
- content: "\e601";
-}
-
-.haloicon-links:before {
- content: "\e603";
-}
-
-.haloicon-shezhi:before {
- content: "\e622";
-}
-
-.haloicon-tianxie:before {
- content: "\e632";
-}
-
-.haloicon-caidan:before {
- content: "\e62a";
-}
-
-.haloicon-wenzhang1:before {
- content: "\e659";
-}
-
-.haloicon-biaoqian2:before {
- content: "\e63d";
-}
-
-.haloicon-xitongrizhi:before {
- content: "\e609";
-}
-
-.haloicon-rizhishenji:before {
- content: "\e666";
-}
-
-.haloicon-fujian1:before {
- content: "\e703";
-}
-
-.haloicon-xie:before {
- content: "\e610";
-}
diff --git a/common/icons/mphtmliconfont.css b/common/icons/mphtmliconfont.css
deleted file mode 100644
index 352c02d..0000000
--- a/common/icons/mphtmliconfont.css
+++ /dev/null
@@ -1,86 +0,0 @@
-@font-face {
- font-family: "halohtmlicon";
- src: url('data:application/x-font-woff2;charset=utf-8;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI8c0+vAAABjAAAAGBjbWFwnIeZxQAAAjQAAALIZ2x5Zurk4B8AAAUkAAALXGhlYWQhfzifAAAA4AAAADZoaGVhB+ADkgAAALwAAAAkaG10eEgAAAAAAAHsAAAASGxvY2EdyhrcAAAE/AAAACZtYXhwASYAbgAAARgAAAAgbmFtZRCjPLAAABCAAAACZ3Bvc3R6cXe1AAAS6AAAAO8AAQAAA4D/gABcBAAAAP//BAEAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAAF6mF8lfDzz1AAsEAAAAAADfL3pRAAAAAN8velEAAP9/BAEDgQAAAAgAAgAAAAAAAAABAAAAEgBiAAoAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOZd7N8DgP+AAAAD3ACBAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAewAAQAAAAAA5gADAAEAAAAsAAMACgAAAewABAC6AAAAIgAgAAQAAuZd5vznNec950fnoef96brp7unw6wPrBesK63Hrdezf//8AAOZd5vznNec950fnoef96brp7unw6wPrBesJ63Hrdezf//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABACIAIgAiACIAIgAiACIAIgAiACIAIgAiACIAJAAkACQAAAAPABAADgANAAEAAgADAAQABQAGAAcACAAJAAoACwAMABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA5l0AAOZdAAAADwAA5vwAAOb8AAAAEAAA5zUAAOc1AAAADgAA5z0AAOc9AAAADQAA50cAAOdHAAAAAQAA56EAAOehAAAAAgAA5/0AAOf9AAAAAwAA6boAAOm6AAAABAAA6e4AAOnuAAAABQAA6fAAAOnwAAAABgAA6wMAAOsDAAAABwAA6wUAAOsFAAAACAAA6wkAAOsJAAAACQAA6woAAOsKAAAACgAA63EAAOtxAAAACwAA63UAAOt1AAAADAAA7N8AAOzfAAAAEQAAAAAAcgD4ARQBaAHeAkYCkAMOA5QD7gRIBKIE7AUEBWAFlAWuAAAAAwAA/38EAQOBAAwALgBQAAABNTQmIgYdARQWMjY1AzMnERQGIyEiJjURNCYiBhURFB4BMyEyPgE1ESMiBhQWMxMhIiY1EQchMhYVERQWMjY1ETQuASMhERQeATMhMjY0JiMCmg8WDw8WDxqzGS0g/k0gLQ8VDyI7IwGzIjsjzQsPDwvN/TMgLRkDZiAtDxUPIjsj/IAiOyMCzQoPDwoCM80LDw8LzQoPDwoBGhn+miAtLSABZgsPDwv+miM7IiI7IwGADxUP/GYtIANmGS0g/JoLDw8LA2YjOyL8gCM7Ig8VDwAABQAA/8ADvwNBABQAKQA+AEsAWAAABSInJicmNDc2NzYyFxYXFhQHBgcGAyIHBgcGFBcWFxYyNzY3NjQnJicmAyImJyY+ARYXHgEyNjc+AR4BBw4BAyImPQE0NjIWHQEUBiEiJj0BNDYyFh0BFAYB/3poZTw9PTxlaPNpZTw9PTxlaXluXlw2Nzc2XF7cXlw2Nzc2XF5tRHgpBgIOEgUkZnRoIwUSDgIFKnnODRMTGxISAQgOEhIbExNAPTxlafJpZTw9PTxlafJpZTw9A1U3Nlxe3F5cNjc3Nlxe3F5cNjf9bjo1BxILAgcuMjMuBwMLEgc2OwEKEw1ADRMTDUANExMNQA0TEw1ADRMAAAEAAAAAA5EBpQAPAAABISIGHQEUFjMhMjY9ATQmA4j88AMFBQMDEAMFBQGkBQM4AwUFAzgDBQAAAwAA/9UEAQMsAAwAHAAtAAAFIiY3Ez4BHgEHAw4BJSImNxMDJj4BFwEWFAcBBiEiJwEmNDcBPgEeAQcDExYGAcAKDQKAAQ8RCgGAAQwBIw4LCPX1CAkZBwEABQX/AAb+IAoG/wAFBQEABRIOAgb19QgLKw8KAysICwMOCfzVBwtWGAoBMwEzCRcECv7ABg4G/sAICAFABg4GAUAHAgsRB/7N/s0KGAAABgAA/9UDqwMrAA8AGQAkADcARABNAAAFISImNRE0NjMhMhYVERQGJSEyNj0BJyYiBwEVFBY7ATcnJiIHAyIGFRE3NjIfATc2Mh8BETQmIwEiLgE0PgEyHgEUDgEnIgYUFjI2NCYDdf0WFiAgFgLqFiAg/ZICWAUGuQMJA/3IBgVWwFkECAStBQaaECwQWdsPLBCbBgX9yx0xHR0xOjEdHTEdGyUlNiUmKyAWAuoWICAW/RYWICsGBde5AwP+x1cFBsFZAwMB5gYF/amaEBBZ2hAQmwHXBQb+1R0xOjEdHTE6MR2rJTYlJTUmAAAEAAAAAAQBAqsADwAfADQARAAAASEiBhURFBYzITI2NRE0JgMUBiMhIiY1ETQ2MyEyFhUlJgYPAQ4BFREUFh8BHgE+ATURNCYDFAYvASY1ETQ/ATYyFxYVAkv96hYfHxYCFhYfHwwGBP3qBAYGBAIWBAYBkAwdDcAMDg4MwA0dGQ4OHQoGwAUFwAMFAwUCqyAW/hYWICAWAeoWIP3gBQYGBQHqBQYGBS4IAQdyBxkO/voOGQdyBwEPGQ4B6g8Y/e8GBgNyAwYBBgYDcgICAwYAAgAA/9UDrwMsACMALgAABSEiJjURNDYzITIWFAYjISIGFREUFjMhMjY1ETQ2MhYVERQGASImNwE2HgEHAQYDdf0WFiAgFgHgCQwMCf4gBQYGBQLqBQYMEg0g/ooNDAgBgAcZCgf+gAYrIBYC6hYgDRIMBgX9FgUGBgUB4AkMDAn+IBYgAQAXCwIqCwIXCv3WCgAAAAIAAP/XA6kDKQApAFQAAAUiLgI0Nj8BPgEyFhcWFAYiJy4BIgYPAQ4BFB4CMjY/ATYeAQ8BDgEBNj8BPgE0LgIiBg8BBhQWMj8BPgEyHgIUBg8BDgEiJicmIgYUFx4BMgEtKk89Hx8fiB5PU08eBw0RBxg+RT4YiBgaGjA/RD4YSAkYBglHH08BRigeiB8fHz5OVE4fRwcNEQdIGD5EPzAaGhiIGD5FPhgGEg0HHk9TKB89T1NPH4cfICAfBhENBhgaGhiIGD5EPzAaGhhICQcYCEgfHwEuEB+HH09TTz0fHx9IBhIMBkgYGhowP0Q+GIgYGhoYBg0RBh8gAAQAAP/VA9YDAQAgADAAUQBhAAAFIyImPQE0Nz4BNzYzMhYUBiMiBgcOAQc2OwEyFh0BFAYDIgYdARQWOwEyNj0BNCYjASMiJj0BNDc+ATc2MzIWFAYjIgYHDgEHNjsBMhYdARQGAyIGHQEUFjsBMjY9ATQmIwOA1SQyHBtjQUVLCQwMCT50LiQvCBIU1SMyMvgSGRkS1RIZGRL91dUjMhsbY0FFSwkNDQk+cy4kLwkSFNUkMjL5EhkZEtUSGRkSKzIk1WFeW5EpLAwSDUhENIJHCTIj1SQyAVYZEtUSGRkS1RIZ/qoyJNVhXluRKSwMEg1IRDSCRwkyI9UkMgFWGRLVEhkZEtUSGQAAAAAIAAD/1QPWAwAADwAWABoAIQAlACkALQA3AAAFISImNRE0NjMhMhYVERQGJTMyNj0BIQUhNSkBFRQWOwE1JSE1IQUhNSEFITUhJTU0JiMhIgYdAQOg/MAWHx8WA0AWHx/+9fUEB/8A/tUBAP8A/tUHBPUBVgEA/wD+1QEA/wD+1QEA/wADVgcE/MAEBysgFgLAFh8fFv1AFiArBgXK1dXKBQbVK9XV1dXVK8sEBgYEywAAAAABAAD/qgPWAzgAOwAABTI3Njc2LgEGBw4BIyInJicmNDc2NzYzMh4BFyMiBhQWOwEyNj0BNCYiBh0BJicmJyYGBwYHBhYXFhcWAhVkWVc/BgINEgU6oVhuXlw2Nzc2XF5uVJZxHqMJDQ0J1QkMDBIML1dVaGzRT0wjIyBAPl9hVSkpSAcRDAEHQko4Nltf3F5cNjdAc00MEg0NCdUJDAwJlmNCQRMVQExKZWfZWVYxMgAAAAABAAD/qgPiAzgAOwAABSInJicmPgEWFx4BMzI3Njc2NCcmJyYjIg4BBzMyFhQGKwEiJj0BNDYyFh0BNjc2NzYWFxYXFgYHBgcGAhVjWlY/BgEOEQY6oFhuX1s2ODg2W19uU5ZxH6QJDAwJ1QkNDRIML1dUaWvSTk0iJCBAP15hVSkpSAcRDAEHQko4Nltf3F5cNjdAc00MEg0NCdUJDAwJlmNCQRMVQExKZWfZWVYxMgAAAAAKAAD/oAPgA18AAwAHAAsADwATABcAGwAfACMAJwAAExEhEQMhESEHIRUhJyE1IQEhNSEXMxUjByE1IRczFSMFIREhFzMRIyEDvin8lANsXP1NArMh/Y4Ccv7vATL+ziHw8CEBMv7OIfDw/mUBMf7PIPHxA1/8QgO+/GsDa3D1IbP+b30hO899ITtjAYch/roAAAAAAQAAAAADKwLWAAsAAAERMxEjESERIxEzEQLVVlb+VlZWAasBKv0rAVX+qwLV/tYAAgAAAAADdQL1ABsAQAAAATU0JiIGHQEUFjsBMjY0JisBIic3Ni4CDwEmJSIGFREUBiMhIiY1ETQ2MyEyNjQmIyEiBhURFBYzITI2NRE0JgIFDhMNNid0Cg0NCnQGBvgEAQwQB/kCAVgKDRsU/dIUGxsUAXQKDQ0K/ownNjYnAi4nNg0BtHQKDQ0KdCc2DRMOAvgHEAwCBPgGRg0K/owUGxsUAi4UGw0UDTYn/dInNjYnAXQKDQAAAAUAAP/hA6ADHAAHAAsAEwAXABsAAAE1IRUjFSE1JSEVIQEhESMRIREjJTMRIxMzESMC0/5PvwM9/a0BW/6lAcD92ysCeyv+eysruisrAmqysisrh4f9owHz/eICFQn+ewGF/nsAAAAAAQAA/7wDTAMIAA8AAAEVIzUjETMVITUzESMVIzUDSzzxY/7+Y/E8Awi1eP0tPDwC03i1AAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEACAATAAEAAAAAAAIABwAbAAEAAAAAAAMACAAiAAEAAAAAAAQACAAqAAEAAAAAAAUACwAyAAEAAAAAAAYACAA9AAEAAAAAAAoAKwBFAAEAAAAAAAsAEwBwAAMAAQQJAAAAJgCDAAMAAQQJAAEAEACpAAMAAQQJAAIADgC5AAMAAQQJAAMAEADHAAMAAQQJAAQAEADXAAMAAQQJAAUAFgDnAAMAAQQJAAYAEAD9AAMAAQQJAAoAVgENAAMAAQQJAAsAJgFjQ3JlYXRlZCBieSBpY29uZm9udGljb25mb250UmVndWxhcmljb25mb250aWNvbmZvbnRWZXJzaW9uIDEuMGljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMABHNhdmUKZW1vamlsaWdodARsaW5lCTI0Z2wtY29kZQwyNGdsLXBpY3R1cmUQMjRnbC12aWRlb0NhbWVyYQkyNGdsLWVkaXQJMjRnbC1saW5rDjI0Z2wtcXVvdGVMZWZ0CjI0Z2wtdGFibGUKMjRnbC1yZWRvMwoyNGdsLXVuZG8zCHRlbXBsYXRlB2hlYWRpbmcFZGFvcnUIQ2xlYXItMDEEdGV4dAAAAA==') format('woff2');
-}
-
-.halohtmlicon {
- flex: 1;
- text-align: center;
- font-family: "halohtmlicon" !important;
- font-size: 22px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-undo:before {
- content: "\eb75";
-}
-
-.icon-redo:before {
- content: "\eb71";
-}
-
-.icon-img:before {
- content: "\e9ee";
-}
-
-.icon-video:before {
- content: "\e9f0";
-}
-
-.icon-link:before {
- content: "\eb05";
-}
-
-.icon-text:before {
- content: "\ecdf";
-}
-
-.icon-line:before {
- content: "\e7fd";
-}
-
-.icon-heading:before {
- content: "\e735";
-}
-
-.icon-heading:before {
- content: "\e735";
-}
-
-.icon-quote:before {
- content: "\eb09";
-}
-
-.icon-table:before {
- content: "\eb0a";
-}
-
-.icon-code:before {
- content: "\e9ba";
-}
-
-.icon-emoji:before {
- content: "\e7a1";
-}
-
-.icon-template:before {
- content: "\e73d";
-}
-
-.icon-clear:before {
- content: "\e6fc";
-}
-
-.icon-load:before {
- content: "\e65d";
-}
-
-.icon-edit:before {
- content: "\eb03";
-}
-
-.icon-save:before {
- content: "\e747";
-}
diff --git a/common/markdown/markdown.config.js b/common/markdown/markdown.config.js
deleted file mode 100644
index 878d347..0000000
--- a/common/markdown/markdown.config.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * markdown配置
- */
-
-import {getAppConfigs} from '@/config/index.js'
-import HaloTokenConfig from '@/config/uhalo.config.js'
-import utils from '@/utils/index.js'
-
-export default {
- domain: HaloTokenConfig.BASE_API,
- tagStyle: {
- table: `
- table-layout: fixed;
- border-collapse:collapse;
- margin-bottom: 18px;
- overflow: hidden;
- font-size: 13px;
- color: var(--routine);
- background: #f2f6fc;
- border: 1px solid #dcdcdc;
- border-radius: 4px;
- `,
- th: `
- padding: 8px;
- border-right: 1px solid var(--classE);
- border-bottom: 1px solid var(--classE);
- `,
- td: `
- padding: 8px;
- border-right: 1px solid var(--classE);
- border-bottom: 1px solid var(--classE);
- `,
- blockquote: `
- padding: 8px 15px;
- color: #606266;
- background: #f2f6fc;
- border-left: 5px solid #50bfff;
- border-radius: 4px;
- line-height: 26px;
- margin-bottom: 18px;
- `,
- ul: 'padding-left: 15px;line-height: 1.85;',
- ol: 'padding-left: 15px;line-height: 1.85;',
- li: 'margin-bottom: 12px;line-height: 1.85;',
- h1: `
- margin: 30px 0 20px;
- color: var(--main);
- line-height: 24px;
- position: relative;
- font-size:1.2em;
- `,
- h2: `
- color: var(--main);
- line-height: 24px;
- position: relative;
- margin: 22px 0 16px;
- font-size: 1.16em;
- `,
- h3: `
- color: var(--main);
- line-height: 24px;
- position: relative;
- margin: 26px 0 18px;
- font-size: 1.14em;
- `,
- h4: `
- color: var(--main);
- line-height: 24px;
- margin-bottom: 18px;
- position: relative;
- font-size: 1.12em;
- `,
- h5: `
- color: var(--main);
- line-height: 24px;
- margin-bottom: 14px;
- position: relative;
- font-size: 1.1em;
- `,
- h6: `
- color: #303133;
- line-height: 24px;
- margin-bottom: 14px;
- position: relative;
- font-size: 14px;
- `,
- p: `
- line-height: 1.65;
- margin-bottom: 14px;
- font-size: 14px;
- `,
- 'code': ` `,
- strong: 'font-weight: 700;color: rgb(248, 57, 41);',
- video: 'width: 100%',
- },
- containStyle: 'font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;padding:12px;font-size: 14px;color: #606266;word-spacing: 0.8px;letter-spacing: 0.8px;border-radius: 6px;background-color:#FFFFFF;',
-
- loadingGif: utils.checkImageUrl(getAppConfigs().imagesConfig.loadingGifUrl),
- emptyGif: utils.checkImageUrl(getAppConfigs().imagesConfig.loadingEmptyUrl),
-}
diff --git a/common/markdown/markdown.scss b/common/markdown/markdown.scss
deleted file mode 100644
index c9f63ee..0000000
--- a/common/markdown/markdown.scss
+++ /dev/null
@@ -1,155 +0,0 @@
-:root {
- --main: #303133;
- --theme: #fb6c28;
- --code-background: #e8f3ff;
- --radius-inner: 4px;
- --classA: #dcdfe6;
- --classB: #e4e7ed;
- --classC: #ebeef5;
- --classD: #f2f6fc;
- --classE: #dcdcdc;
- --classF: #333;
- --classG: #dcdcdc;
- --classH: #e9f2ff;
- --classI: #5a3713;
- --classJ: #f9e5fb;
- --classK: #e4e7ed;
- --classL: #666;
- --classM: #2d2e37;
- --quote: #50bfff;
- --code: #409eff;
-}
-.evan-markdown {
- ::v-deep {
- h1::before,
- h2::before,
- h3::before,
- h4::before,
- h5::before,
- h6::before {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- content: '';
- margin-right: 6px;
- background-position: center;
- }
- h1::before {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- content: '¶';
- top: -4px;
- margin-right: 12px;
- font-size: 24px;
- color: var(--theme);
- }
- h2::before {
- top: -2px;
- left: 0;
- width: 20px;
- height: 20px;
- background-size: auto 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAVJJREFUWEftl7FKw1AUhv9rbmf1PRw6utkHEOoi6WPoE1ifQJ8gySKCOtRFRBKsDuIiDdZAURBFF50M2sFIzpGogVK03JA2cbh3S/i55zvfvYETgRyLj5erIKOO949FyKm5eHvvHEBV2jyruq1QDQ7n2DNXALEx+D7e2vl6lBYp76scHCzErtmCEPVhqEIAfus8BZk4wM+Zd/46tskDeI0mgLUyAdoAFsoDcM0XCDFdHoDX4FGfbRF3QANoA9qANqANaAPawD82EEWId1sAOJQWz6iO+5nGch41kDw9I3bbYOaTis21wgG4G4AuAzCwXrEoGV6V1ngMJPoPjoB+PzSIa8KBr1QdwFgA6KID7t1AgFYNC5uqxZNcbgB+eASdngHM+9LmpSzF8wFEEagbgHvXoQA3s3aegmYz8P1f4NNVME+39z5e3w4lkSMc3GXtPM1/AjYDFjDGddN5AAAAAElFTkSuQmCC);
- }
- h3::before {
- top: -3px;
- left: 0;
- width: 20px;
- height: 20px;
- background-size: auto 100%;
- background-repeat: none;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAH1JREFUWEft1qENgDAQheH/JANg60DAJIgmrMFCzEEYgTFgDyRFIClp0yBf9evl8pl3RsYbp7BjNLHoMptljPiMZH3WAhKQgAQkIIGXQAXUT79cniHaNMa5draliqqojIID86nRHEtvbSqlBSQgAQlIQAISkECRAA746SC5Ad6XpiGnnOGPAAAAAElFTkSuQmCC);
- }
- h4::before {
- top: -2px;
- width: 22px;
- height: 22px;
- color: var(--theme);
- background-size: auto 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAndJREFUWEftVkty2kAQfT1SBLtwg6AqwzbxCQIniG8QvAmwCp8kRqvgFa5KwHjlkI3NCeIbhJwgXptUgW9AdiDQdGoITqUsjcZyuYqNZ6WSXs88vel+3YQtL9ry+Xgk8KhApALNAe8x5PPbCUrgabdsD2/e+1edEpN4FsIRps7OwT9cXKKHCLw75QIL+V0XRFIUP1dptBx3ChKkxQlw8UnOG5mqLESgdsYZy5dTAE8jg5lH3Ypd5Mlxxl8ttDgGRulcq5iYgApofgn6ILzVBQsSu5/e0OXiqnMOotdatVjsOvkPl4muQIFrp5y1hJzEBA67ZavEk07WX5EexzxM5b1SYgJrFQbBOQDt3wVSuP0qTRfjowsAr3SHODa75HrqqiKX1gdMycjAYa9stU3JCPBhKue1ExNQAY3BakSgl1HBDMykI9z+Ps0WV0eXIITKdhM3c+yUS259FrVPrBM2TlclEnSmY8+S93tV+/yvH+hxxLzv5D11paFltOLmIFD3FzIbtRMzpr2K5arn+bgzJZAWl8631rjby0zAUJI3xnTfkjQTiFEAwHW3bGWNCoCv0zlvjUukgOoJgPymzQGg3itbfVMOMKiezh30ExOIqwIAvwNHZFUVzMcdbbUonGOnsomr4P1XfiFZ/tS6GOOkW7FqJh8gwomz06ol9oE7O6GhH9zLCbfeCxqDoE3AR61sm5nA/3XUZ47pmneYCSLnAeHLCQGZaAvmH72yXdjMA6oTanHpnFfQ5tDmQ+KJ6MZ+jckXY7//k4pWYB7sQVCUccxU3a9teHKcWS7ne0wI4Rhipqv7REZkku8hvhut+CEOidvjkcDWFfgD9RMzMKE7f80AAAAASUVORK5CYII=);
- }
- h5::before {
- top: -1px;
- left: 0;
- width: 18px;
- height: 18px;
- background-size: 100% 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAC8klEQVRYR+3WP2gTURwH8O/vKnVRRHKXP52cBO3g4p/BqYNIhy4muajUQRBFKjQV1En6ZxJBcmlRCoJDRe3FDiJVwamLS3FwqbgIgss1l2ZQF5XeT3I1Z3NJ7u5dLlAwN9699/t97vfe7/EIO/yhHe5DD9jpCv3fFVTu856+Xzi62Y/35hj9CFPNrlUwWeRJAJfBGADwBcBNI0/PRZFdAdo4xlQLjCqKjBzogat7hZCRAgPghJGBgbFnxglAOvS7b/fLb+q+qnv5BHBCyEBAWTdnANy2IxOtWSC1qsY+1jOFwAVG+gIVvXyHQbcaKuZCxmf5iMQogXFQtEsBeO5JT6BcMu+Bcb1lUhcyqfExACUAB6JEtgUqi+U5JrrmmcyFHCjwSYtQO+tSUSFbAmXdnAdwJVASdyWLPAS2kbFA8xsHNS13EzCmlx8R6KJQcBcypfFpho3cKxRna3ADsgEo6+ZjAKMhgjZ1d2KWR2gTSyD0h4jnIB2gXDIXwciFCPZvSnMl0wwshYrJGDImaMUGKovlLBPVOrDjh8APzFx8zDkjNa7FzYoGZsKT9XEarQOHmei1aJA246cqOWW6/i2l8VMGzoWIPW/k6eq2Ja6UwCz8pw2JGZ8sS8pUz8fWau/jGp+SgLchcGBgZD1Py41NUuoI+ZloV8ZU93+ogZKzfBiWfXAPCgMJU8Y42avQdMzI4ZBfmSizocqrUeJaAmsvBZGGBCtTziXeRY1rCxRAViEhXckqK93AeQJ9kYTvlmVlqmcTdhNEtefc+9X3utVmuX+CkK6oyqtu4nwrWP8bF5IZdGYjJ79wDuMCz4D+XmhFWnZbt7ab5ltBB6mbkyAaBPFCJassuwMmNb4L4EZgXwBc4AoGTZrUeA6A9x1yK6tzzvnFDlxBv0D176kCP2TCpbbjBXCRV9DZk0VeAONCE1IQ1zWg3dlF1sFQHWQIXFeBNrLAw5BwHBZWjQl6E3SbbB8X+R4Mg/Ca0wN2WtFeBTut4B84mFI4VpekyAAAAABJRU5ErkJggg==);
- }
- h6::before {
- top: -1px;
- left: 0;
- width: 16px;
- height: 16px;
- background-size: auto 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEI0lEQVRYR+3Xb2wTZRwH8G/vL22RPy5GW8fK6rJpGeFFY9RO3TRRE1HfmEAammEyjZmOSEg1RrPZaTD6xjhU/Ndlf0CZgwmD+qcgZBRIETeqY0Vcnc7pGonhRY2l3m2t5upqjq693l2vcy+8N81zz/NcPvf75fd7rjos8ku3yH34HyjK0PqlDLPzD56vMNL0VHxmpgXAoUIZXKgI3sMSpK+cNTAbylaj/9IkprnLM3+mkg8XQi4EsJ4lSL+ZNbAfVd+JG/XLcSERg3M8IAtZauBtDEkeNdN6fX9NfRqXueQiSwm00wQRMDMGw94snBJkqYBrSYIIXs/ojftqGq6IXHZRFIpkKYC2JSw9SJE663W0nthlqcMawwrJYpVCag1M48pNy1YNvLWRffGNIYSCv6Cnog7rjCtVIbUEXoG7qeqaNMj51F58dWoKPZY62JeWyUJG+ctcIplcIizWCpgTl9EIyODJn9BtceDWq/6B57tO/H4R688fFaZ7AWzWAiiJEyMDx39Ed6UDdyy7Ni/w1ekxbP95VJi/F8CRYoGycGLksaEJdFU6cPdy0zxkR/RbtE6FhPvHATQUm2JFODHSfyyCLmsd7lth/hf53q/jcE8OC+NTAG7PTKiNoCqcGPnpF+PotDrwwNXl+OC3H9A8cVqYPgPgFnFo1QCLwomRg4cvoPMGBzZHTgq3zwKwZ+ddKVATXAZhf+gdnPvuojAUqmJdrspRAtQU93pXEM+8clgwhQHU5itruUBNcTt6TsP9sl8weQC0S/VFOUBNcW/2folt2z+XhZPTZh6kSKJ79aqVRuFszRxfUm8sNbdz9xlsfekz2bhCQBvDMMM8z+ubN92Mjrb71brS+97dM4wtnk8U4SSBBEGErVarzeVywePxoHVLA1pb6lUh3+8bwZMv+BTjpIAVACa9Xq+uqakJ7e3tqpGd/WfR3Jr+81awIJS0mY0A+sLhMGw2W3qfGmTXvhAef/6gapxUBDuqqqoejUQiBvFbKUH2DHyNx54bLAqXF0jT9HBjY6Pd6/XOi7oc5K7936Dp2QNF4/IBrTqdLuLxeIi2tracRSGF/PDgKB55er8muHzATQB2m81m+P1+1NbmPoVyIfsOnUOj+2PNcPmAO1iWbeE4TmexWODz+WQhayrL4No2oCkuJ5Bl2VGO49ZmcisXObdeVSuRaq7ZZ3G10KBTqRQl3pQPGY1GEQgE4HQ6heVDAO5S1cklNmUDXQRB9KZSqXkfESaTCW63G7FYDKFQKDEyMoJoNKqfe/bbAJ7QGpcrxa8xDLOV5/k0kGXZv2ZnZ5FMJtNjmqYvURR1IpFInAcwAeD7ud/pUuDmAY1G41g8Hl9DkmScoqggx3FHAIyJMMlSQfI9V5zKagDC93dsoRFKimQx2dIWOV/U/yn6bx0WyDj8vgLOAAAAAElFTkSuQmCC);
- }
- blockquote > p {
- margin-bottom: 0 !important;
- margin-top: 0 !important;
- font-size: 0.9em !important;
- }
- code[class='md-code'],
- code:not([class]) {
- display: inline-block;
- font-size: 13px;
- color: #409eff;
- margin: 2px 5px;
- padding: 0 8px;
- white-space: normal;
- text-indent: 0;
- -webkit-user-select: auto;
- -moz-user-select: auto;
- -ms-user-select: auto;
- user-select: auto;
- vertical-align: baseline;
- word-break: break-word;
- background: #e8f3ff;
- border-radius: 4px;
- }
- code[class*='language-'] {
- display: block;
- overflow-x: auto;
- // border-radius: 0 0 8px 8px;
- white-space: pre-wrap;
- word-break: break-all;
- user-select: auto;
- padding: 12px 12px 14px 18px;
- margin-bottom: 16px;
- background: #282c34;
- color: #abb2bf;
- border-radius: 4px;
- text-shadow: 0 1px rgba(0, 0, 0, 0.3);
- font-family: 'Fira Code', 'Fira Mono', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
- direction: ltr;
- text-align: left;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- line-height: 1.5;
- -moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
- -webkit-hyphens: none;
- -moz-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
- }
- table {
- td {
- padding: 8px;
- border-right: 1px solid var(--classE);
- border-bottom: 1px solid var(--classE);
- }
- thead th {
- font-weight: 500;
- background: var(--classC);
- }
-
- tbody tr {
- transition: background 0.35s;
- }
- }
- }
-}
diff --git a/common/mixins/index.js b/common/mixins/index.js
deleted file mode 100644
index 6582e2e..0000000
--- a/common/mixins/index.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * 功能:全局混入函数
- * 作者:小莫唐尼
- * 邮箱:studio@925i.cn
- * 时间:2022年07月21日 17:39:32
- * 版本:v0.1.0
- * 修改记录:
- * 修改内容:
- * 修改人员:
- * 修改时间:
- */
-
-export default {
- install(Vue) {
- Vue.mixin({
- data() {
- return {
- _isWechat: true,
- _aniWaitIndex: 0
- };
- },
- computed: {
- haloConfig() {
- return this.$tm.vx.getters().getConfigs;
- },
- haloPluginsConfig() {
- return this.$tm.vx.getters().getConfigs?.pluginConfig;
- },
- // 获取全局应用设置
- globalAppSettings() {
- return uni.$tm.vx.getters().getSettings;
- },
- // 计算动画索引
- calcAniWait() {
- return (index) => {
- if ((index + 1) % 10 === 0) {
- this._aniWaitIndex = 1;
- } else {
- this._aniWaitIndex += 1;
- }
- return this._aniWaitIndex * 50
- }
- }
- },
- onLoad() {
- this.fnResetSetAniWaitIndex()
- },
- created() {
- // #ifdef MP-WEIXIN
- this._isWechat = true;
- // #endif
- // #ifndef MP-WEIXIN
- this._isWechat = false;
- // #endif
- },
- onShow() {
- this.fnResetSetAniWaitIndex()
- },
- methods: {
- // 设置页面标题
- fnSetPageTitle(title) {
- uni.setNavigationBarTitle({
- title: title || this.haloConfig?.appConfig?.startConfig?.title || "uni-halo",
- })
- },
-
- // 页面返回顶部
- fnToTopPage(duration = 500) {
- duration = isNaN(duration) ? 500 : duration
- uni.pageScrollTo({
- scrollTop: 0,
- duration: duration,
- fail: (err) => {
- console.log('err:', err);
- },
- });
- },
- // 初始化动画索引值(需要在每个页面调用)
- fnResetSetAniWaitIndex() {
- this._aniWaitIndex = 0
- }
- },
- });
- },
-};
diff --git a/common/mixins/pluginAvailable.js b/common/mixins/pluginAvailable.js
deleted file mode 100644
index 6b46201..0000000
--- a/common/mixins/pluginAvailable.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * 功能:插件检查
- */
-import {
- NeedPluginIds,
- NeedPlugins,
- checkNeedPluginAvailable
-} from "@/utils/plugin.js"
-
-const HaloPluginAvailableMixin = {
- data() {
- return {
- NeedPluginIds,
- NeedPlugins,
- uniHaloPluginAvailableError: "",
- uniHaloPluginAvailable: true,
- uniHaloPluginPageClass: "",
- uniHaloPluginId: "", // 当前需要的插件
- uniHaloPluginInfo: "" // 当前插件信息
- };
- },
- watch: {
- uniHaloPluginAvailable: {
- immediate: true,
- handler(val) {
- if (val) {
- this.uniHaloPluginPageClass = ""
- } else {
- this.uniHaloPluginPageClass = "box-border items-center justify-center"
- }
- }
- }
- },
- methods: {
- /** 设置插件ID */
- setPluginId(pluginId) {
- this.uniHaloPluginId = pluginId
- this.uniHaloPluginInfo = NeedPlugins.get(pluginId)
- },
- /** 检查插件状态 */
- async checkPluginAvailable(pluginId) {
- pluginId = pluginId ?? this.uniHaloPluginId
- if (!pluginId) return false;
- const available = await checkNeedPluginAvailable(pluginId)
- this.uniHaloPluginAvailable = available
- return available
- },
- /** 设置错误信息 */
- setPluginError(text) {
- this.uniHaloPluginAvailableError = text
- }
- },
-}
-
-export default HaloPluginAvailableMixin;
\ No newline at end of file
diff --git a/common/styles/app.base.scss b/common/styles/app.base.scss
deleted file mode 100644
index ffcdeae..0000000
--- a/common/styles/app.base.scss
+++ /dev/null
@@ -1,349 +0,0 @@
-// 全局css基础样式
-
-.card-shadow {
- box-shadow: 0rpx 0rpx 24rpx rgba(0, 0, 0, 0.08);
-}
-.bg-white {
- background-color: #fff;
-}
-.load-text {
- padding: 0 0 20rpx 0;
- text-align: center;
- color: #999;
- font-size: 24rpx;
-}
-.e-fixed {
- position: fixed;
- left: 0;
- /* #ifndef H5 */
- top: 0;
- /* #endif */
- /* #ifdef H5 */
- top: 88rpx;
- /* #endif */
- right: 0;
- z-index: 6;
-}
-.e-loading-icon {
- animation: eLoading 0.8s linear infinite;
-}
-
-@keyframes eLoading {
- 0% {
- transform: rotateZ(0deg);
- }
- 100% {
- transform: rotateZ(360deg);
- }
-}
-
-// 自定义广告
-
-.ad-card {
- position: relative;
- box-sizing: border-box;
- padding: 24rpx;
- box-shadow: 0rpx 4rpx 24rpx rgba(0, 0, 0, 0.03);
- background-color: #ffffff;
- border-radius: 12rpx;
-
- &.is-lr {
- display: flex;
- .ad-card_tip {
- top: initial;
- left: 288rpx;
- bottom: 24rpx;
- // right: 160rpx;
- padding: 4rpx 20rpx;
- background-color: transparent;
- border: 2rpx solid #607d8b;
- color: #607d8b;
- }
- .ad-card_cover {
- width: 240rpx;
- height: 180rpx;
- animation: adLinkAni 1s ease-in-out infinite;
- }
- .ad-card_info {
- width: 0;
- flex-grow: 1;
- padding-left: 24rpx;
- &-title {
- margin-top: 0;
- width: 100%;
- font-size: 30rpx;
- }
- &-link {
- top: initial;
- // right: 150rpx;
- bottom: 0;
- transform: scale(1);
- }
- }
- }
-
- &_tip {
- position: absolute;
- left: 36rpx;
- top: 36rpx;
- display: inline-flex;
- box-sizing: border-box;
- border-radius: 6rpx;
- padding: 4rpx 10rpx;
- background-color: rgba(0, 0, 0, 0.3);
- color: #ffffff;
- font-size: 24rpx;
- z-index: 2;
- }
- &_cover {
- width: 100%;
- height: 300rpx;
- border-radius: 6rpx;
- }
- &_info {
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
- position: relative;
- &-title {
- width: calc(100% - 120rpx);
- font-size: 28rpx;
- font-weight: bold;
- margin-top: 8rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- color: #333;
- }
- &-desc {
- margin-top: 6rpx;
- font-size: 24rpx;
- color: #616161;
- line-height: 1.8;
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- }
- &-link {
- position: absolute;
- right: 0;
- top: 6rpx;
- display: inline-flex;
- box-sizing: border-box;
- border-radius: 6rpx;
- padding: 4rpx 10rpx;
- border: 2rpx solid #03a9f4;
- color: #03a9f4;
- font-size: 24rpx;
- transform: scale(0.93);
- // animation: adLinkAni 0.8s ease-in-out infinite;
- }
- }
-}
-@keyframes adLinkAni {
- 0% {
- transform: scale(1);
- }
- 50% {
- transform: scale(1.02);
- }
- 100% {
- transform: scale(1);
- }
-}
-
-/* 文本省略样式 开始 */
-.text-sub-one {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-/* 多行文本省略 */
-@for $i from 2 through 30 {
- .text-sub-more-#{$i} {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: $i;
- overflow: hidden;
- }
-}
-
-/* 文本省略样式 结束 */
-
-.box-border{
- box-sizing: border-box;
-}
-
-// 定义尺寸变量(单位:rpx)
-$spacing-sizes: (
- 0: 0,
- 2: 4rpx,
- 4: 8rpx,
- 8: 16rpx,
- 12: 24rpx,
- 24: 48rpx,
- 48: 96rpx
-);
-
-// 内边距类
-@each $name, $size in $spacing-sizes {
- // 全方向内边距:p-{size}
- .uh-p-#{$name} {
- padding: $size !important;
- }
-
- // 水平方向内边距:px-{size}
- .uh-px-#{$name} {
- padding-left: $size !important;
- padding-right: $size !important;
- }
-
- // 垂直方向内边距:py-{size}
- .uh-py-#{$name} {
- padding-top: $size !important;
- padding-bottom: $size !important;
- }
-
- // 上内边距:pt-{size}
- .uh-pt-#{$name} {
- padding-top: $size !important;
- }
-
- // 右内边距:pr-{size}
- .uh-pr-#{$name} {
- padding-right: $size !important;
- }
-
- // 下内边距:pb-{size}
- .uh-pb-#{$name} {
- padding-bottom: $size !important;
- }
-
- // 左内边距:pl-{size}
- .uh-pl-#{$name} {
- padding-left: $size !important;
- }
-}
-
-//外边距工具类
-@each $name, $size in $spacing-sizes {
- // 全方向外边距:m-{size}
- .uh-m-#{$name} {
- margin: $size !important;
- }
-
- // 水平方向外边距:mx-{size}
- .uh-mx-#{$name} {
- margin-left: $size !important;
- margin-right: $size !important;
- }
-
- // 垂直方向外边距:my-{size}
- .uh-my-#{$name} {
- margin-top: $size !important;
- margin-bottom: $size !important;
- }
-
- // 上外边距:mt-{size}
- .uh-mt-#{$name} {
- margin-top: $size !important;
- }
-
- // 右外边距:mr-{size}
- .uh-mr-#{$name} {
- margin-right: $size !important;
- }
-
- // 下外边距:mb-{size}
- .uh-mb-#{$name} {
- margin-bottom: $size !important;
- }
-
- // 左外边距:ml-{size}
- .uh-ml-#{$name} {
- margin-left: $size !important;
- }
-}
-
-// gap 类
-@each $name, $size in $spacing-sizes {
- // 全方向gap:gap-{size}
- .uh-gap-#{$name} {
- gap: $size !important;
- }
-
- // 水平方向gap:gap-x-{size}
- .uh-gap-x-#{$name} {
- column-gap: $size !important;
- }
-
- // 垂直方向gap:gap-y-{size}
- .uh-gap-y-#{$name} {
- row-gap: $size !important;
- }
-}
-
-
-.w-full {
- width: 100%;
-}
-
-.h-full {
- height: 100%;
-}
-
-.flex {
- display: flex;
-}
-
-.flex-col {
- flex-direction: column;
-}
-
-.flex-1 {
- flex: 1;
-}
-
-.flex-shrink-0 {
- flex-shrink: 0;
-}
-
-.items-center {
- align-items: center;
-}
-
-.items-start {
- align-items: flex-start;
-}
-
-.items-end {
- align-items: flex-end;
-}
-
-.justify-between {
- justify-content: space-between;
-}
-
-.justify-around {
- justify-content: space-around;
-}
-
-.justify-end {
- justify-content: flex-end;
-}
-
-.justify-start {
- justify-content: flex-start;
-}
-
-.justify-center {
- justify-content: center;
-}
-
-.text-break {
- overflow-wrap: break-word;
- word-break: break-all;
-}
\ No newline at end of file
diff --git a/common/styles/app.theme.scss b/common/styles/app.theme.scss
deleted file mode 100644
index a58f178..0000000
--- a/common/styles/app.theme.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-// 主题
-
-:root {
- --theme: #f79ea3;
- // --theme: #ffaec3;
- --main: #303133;
- --main-text-color: rgba(12, 25, 50, 1);
-}
diff --git a/common/theme/theme.css b/common/theme/theme.css
deleted file mode 100644
index c7a88af..0000000
--- a/common/theme/theme.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/* 版权:tm-vuetify @2021 by tmzdy time: Sat Jul 23 2022 14:31:11 GMT+0800 (中国标准时间)
- 插件地址:https://jx2d.cn
- 疑问解答Q群:18593916 进群答案:tm-vuetify
-*/
-.shadow-primary-0{box-shadow: 0 0rpx 0rpx rgba(204,0,54, 0.2);}.shadow-primary-1{box-shadow: 0 1.5rpx 4rpx rgba(204,0,54, 0.2);}.shadow-primary-2{box-shadow: 0 3rpx 8rpx rgba(204,0,54, 0.2);}.shadow-primary-3{box-shadow: 0 4.5rpx 12rpx rgba(204,0,54, 0.2);}.shadow-primary-4{box-shadow: 0 6rpx 16rpx rgba(204,0,54, 0.2);}.shadow-primary-5{box-shadow: 0 7.5rpx 20rpx rgba(204,0,54, 0.2);}.shadow-primary-6{box-shadow: 0 9rpx 24rpx rgba(204,0,54, 0.2);}.shadow-primary-7{box-shadow: 0 10.5rpx 28rpx rgba(204,0,54, 0.2);}.shadow-primary-8{box-shadow: 0 12rpx 32rpx rgba(204,0,54, 0.2);}.shadow-primary-9{box-shadow: 0 13.5rpx 36rpx rgba(204,0,54, 0.2);}.shadow-primary-10{box-shadow: 0 15rpx 40rpx rgba(204,0,54, 0.2);}.shadow-primary-11{box-shadow: 0 16.5rpx 44rpx rgba(204,0,54, 0.2);}.shadow-primary-12{box-shadow: 0 18rpx 48rpx rgba(204,0,54, 0.2);}.shadow-primary-13{box-shadow: 0 19.5rpx 52rpx rgba(204,0,54, 0.2);}.shadow-primary-14{box-shadow: 0 21rpx 56rpx rgba(204,0,54, 0.2);}.shadow-primary-15{box-shadow: 0 22.5rpx 60rpx rgba(204,0,54, 0.2);}.shadow-primary-16{box-shadow: 0 24rpx 64rpx rgba(204,0,54, 0.2);}.shadow-primary-17{box-shadow: 0 25.5rpx 68rpx rgba(204,0,54, 0.2);}.shadow-primary-18{box-shadow: 0 27rpx 72rpx rgba(204,0,54, 0.2);}.shadow-primary-19{box-shadow: 0 28.5rpx 76rpx rgba(204,0,54, 0.2);}.shadow-primary-20{box-shadow: 0 30rpx 80rpx rgba(204,0,54, 0.2);}.shadow-primary-21{box-shadow: 0 31.5rpx 84rpx rgba(204,0,54, 0.2);}.shadow-primary-22{box-shadow: 0 33rpx 88rpx rgba(204,0,54, 0.2);}.shadow-primary-23{box-shadow: 0 34.5rpx 92rpx rgba(204,0,54, 0.2);}.shadow-primary-24{box-shadow: 0 36rpx 96rpx rgba(204,0,54, 0.2);}.shadow-primary-25{box-shadow: 0 37.5rpx 100rpx rgba(204,0,54, 0.2);}.primary{background-color:rgba(255,119,155,1) !important;color:rgba(51,0,14,1);}.primary.text{background-color:rgba(255,240,244,1) !important;color:rgba(179,0,47,1) !important;}.primary.outlined{border-width: 2rpx;border-style: solid;color:rgba(255,119,155,1) !important;border-color:rgba(255,119,155,1) !important;background-color:rgba(255,240,244,1) !important;}.primary.outlined.bk{border-width: 2rpx;border-style: solid;color:rgba(255,51,105,1) !important;border-color:rgba(179,0,47,1) !important;background-color:rgba(153,0,40,1) !important;}.primary.bk{color:rgba(255,51,105,1) !important;background-color:rgba(153,0,40,1) !important;}.primary.text.bk{color:rgba(255,51,105,1) !important;background-color:rgba(61,41,46,1) !important;}.border-primary-l-1{border-left-style: solid;border-left-width: 2rpx;border-left-color:rgba(255,119,155,1);}.border-primary-l-1.bk{border-left-style: solid;border-left-width: 2rpx;border-left-color:rgba(255,51,105,1);}.border-primary-r-1{border-right-style: solid;border-right-width: 2rpx;border-right-color:rgba(255,119,155,1);}.border-primary-r-1.bk{border-right-style: solid;border-right-width: 2rpx;border-right-color:rgba(255,51,105,1);}.border-primary-t-1{border-top-style: solid;border-top-width: 2rpx;border-top-color:rgba(255,119,155,1);}.border-primary-t-1.bk{border-top-style: solid;border-top-width: 2rpx;border-top-color:rgba(255,51,105,1);}.border-primary-b-1{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:rgba(255,119,155,1);}.border-primary-b-1.bk{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:rgba(255,51,105,1);}.border-primary-a-1{border-style: solid;border-width: 2rpx;border-color:rgba(255,119,155,1);}.border-primary-a-1.bk{border-style: solid;border-width: 2rpx;border-color:rgba(255,51,105,1);}.border-primary-l-2{border-left-style: solid;border-left-width: 4rpx;border-left-color:rgba(255,119,155,1);}.border-primary-l-2.bk{border-left-style: solid;border-left-width: 4rpx;border-left-color:rgba(255,51,105,1);}.border-primary-r-2{border-right-style: solid;border-right-width: 4rpx;border-right-color:rgba(255,119,155,1);}.border-primary-r-2.bk{border-right-style: solid;border-right-width: 4rpx;border-right-color:rgba(255,51,105,1);}.border-primary-t-2{border-top-style: solid;border-top-width: 4rpx;border-top-color:rgba(255,119,155,1);}.border-primary-t-2.bk{border-top-style: solid;border-top-width: 4rpx;border-top-color:rgba(255,51,105,1);}.border-primary-b-2{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:rgba(255,119,155,1);}.border-primary-b-2.bk{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:rgba(255,51,105,1);}.border-primary-a-2{border-style: solid;border-width: 4rpx;border-color:rgba(255,119,155,1);}.border-primary-a-2.bk{border-style: solid;border-width: 4rpx;border-color:rgba(255,51,105,1);}.border-primary-l-3{border-left-style: solid;border-left-width: 6rpx;border-left-color:rgba(255,119,155,1);}.border-primary-l-3.bk{border-left-style: solid;border-left-width: 6rpx;border-left-color:rgba(255,51,105,1);}.border-primary-r-3{border-right-style: solid;border-right-width: 6rpx;border-right-color:rgba(255,119,155,1);}.border-primary-r-3.bk{border-right-style: solid;border-right-width: 6rpx;border-right-color:rgba(255,51,105,1);}.border-primary-t-3{border-top-style: solid;border-top-width: 6rpx;border-top-color:rgba(255,119,155,1);}.border-primary-t-3.bk{border-top-style: solid;border-top-width: 6rpx;border-top-color:rgba(255,51,105,1);}.border-primary-b-3{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:rgba(255,119,155,1);}.border-primary-b-3.bk{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:rgba(255,51,105,1);}.border-primary-a-3{border-style: solid;border-width: 6rpx;border-color:rgba(255,119,155,1);}.border-primary-a-3.bk{border-style: solid;border-width: 6rpx;border-color:rgba(255,51,105,1);}.border-primary-l-4{border-left-style: solid;border-left-width: 8rpx;border-left-color:rgba(255,119,155,1);}.border-primary-l-4.bk{border-left-style: solid;border-left-width: 8rpx;border-left-color:rgba(255,51,105,1);}.border-primary-r-4{border-right-style: solid;border-right-width: 8rpx;border-right-color:rgba(255,119,155,1);}.border-primary-r-4.bk{border-right-style: solid;border-right-width: 8rpx;border-right-color:rgba(255,51,105,1);}.border-primary-t-4{border-top-style: solid;border-top-width: 8rpx;border-top-color:rgba(255,119,155,1);}.border-primary-t-4.bk{border-top-style: solid;border-top-width: 8rpx;border-top-color:rgba(255,51,105,1);}.border-primary-b-4{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:rgba(255,119,155,1);}.border-primary-b-4.bk{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:rgba(255,51,105,1);}.border-primary-a-4{border-style: solid;border-width: 8rpx;border-color:rgba(255,119,155,1);}.border-primary-a-4.bk{border-style: solid;border-width: 8rpx;border-color:rgba(255,51,105,1);}.border-primary-l-5{border-left-style: solid;border-left-width: 10rpx;border-left-color:rgba(255,119,155,1);}.border-primary-l-5.bk{border-left-style: solid;border-left-width: 10rpx;border-left-color:rgba(255,51,105,1);}.border-primary-r-5{border-right-style: solid;border-right-width: 10rpx;border-right-color:rgba(255,119,155,1);}.border-primary-r-5.bk{border-right-style: solid;border-right-width: 10rpx;border-right-color:rgba(255,51,105,1);}.border-primary-t-5{border-top-style: solid;border-top-width: 10rpx;border-top-color:rgba(255,119,155,1);}.border-primary-t-5.bk{border-top-style: solid;border-top-width: 10rpx;border-top-color:rgba(255,51,105,1);}.border-primary-b-5{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:rgba(255,119,155,1);}.border-primary-b-5.bk{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:rgba(255,51,105,1);}.border-primary-a-5{border-style: solid;border-width: 10rpx;border-color:rgba(255,119,155,1);}.border-primary-a-5.bk{border-style: solid;border-width: 10rpx;border-color:rgba(255,51,105,1);}.text-bg-gradient-primary-lighten,.text-bg-gradient-primary-lighten-b{ color:rgba(179,0,47, 1);}.bg-gradient-primary-lighten{ background-image: linear-gradient(to right,rgb(255,102,142),rgb(255,0,67))!important; color: #fff !important; box-shadow: 0 6rpx 10rpx rgba(204,51,91, 0.2);}.bg-gradient-primary-lighten-b{ background-image: linear-gradient(to bottom,rgb(255,102,142),rgb(255,0,67))!important; color: #fff !important; box-shadow: 0 6rpx 10rpx rgba(204,51,91, 0.2);}.bg-gradient-primary-lighten.text,.bg-gradient-primary-lighten-b.text{ background: #FFF0F4FF !important; color: #B3002FFF !important; box-shadow: none !important;}.bg-gradient-primary-lighten.outlined,.bg-gradient-primary-lighten-b.outlined{ border-width: 2rpx; border-style: solid; background: #FFF0F4FF !important; border-color: #FF779BFF !important; color: #B3002FFF !important; box-shadow: none !important;}.border-bg-gradient-primary-lighten-l-1{border-left-style: solid;border-left-width: 2rpx;border-left-color:#FF668EFF;}.border-bg-gradient-primary-lighten-l-1.bk{border-left-style: solid;border-left-width: 2rpx;border-left-color:#282828;}.border-bg-gradient-primary-lighten-r-1{border-right-style: solid;border-right-width: 2rpx;border-right-color:#FF668EFF;}.border-bg-gradient-primary-lighten-r-1.bk{border-right-style: solid;border-right-width: 2rpx;border-right-color:#282828;}.border-bg-gradient-primary-lighten-t-1{border-top-style: solid;border-top-width: 2rpx;border-top-color:#FF668EFF;}.border-bg-gradient-primary-lighten-t-1.bk{border-top-style: solid;border-top-width: 2rpx;border-top-color:#282828;}.border-bg-gradient-primary-lighten-b-1{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:#FF668EFF;}.border-bg-gradient-primary-lighten-b-1.bk{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-lighten-a-1{border-style: solid;border-width: 2rpx;border-color:#FF668EFF;}.border-bg-gradient-primary-lighten-a-1.bk{border-style: solid;border-width: 2rpx;border-color:#282828;}.border-bg-gradient-primary-lighten-l-2{border-left-style: solid;border-left-width: 4rpx;border-left-color:#FF668EFF;}.border-bg-gradient-primary-lighten-l-2.bk{border-left-style: solid;border-left-width: 4rpx;border-left-color:#282828;}.border-bg-gradient-primary-lighten-r-2{border-right-style: solid;border-right-width: 4rpx;border-right-color:#FF668EFF;}.border-bg-gradient-primary-lighten-r-2.bk{border-right-style: solid;border-right-width: 4rpx;border-right-color:#282828;}.border-bg-gradient-primary-lighten-t-2{border-top-style: solid;border-top-width: 4rpx;border-top-color:#FF668EFF;}.border-bg-gradient-primary-lighten-t-2.bk{border-top-style: solid;border-top-width: 4rpx;border-top-color:#282828;}.border-bg-gradient-primary-lighten-b-2{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:#FF668EFF;}.border-bg-gradient-primary-lighten-b-2.bk{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-lighten-a-2{border-style: solid;border-width: 4rpx;border-color:#FF668EFF;}.border-bg-gradient-primary-lighten-a-2.bk{border-style: solid;border-width: 4rpx;border-color:#282828;}.border-bg-gradient-primary-lighten-l-3{border-left-style: solid;border-left-width: 6rpx;border-left-color:#FF668EFF;}.border-bg-gradient-primary-lighten-l-3.bk{border-left-style: solid;border-left-width: 6rpx;border-left-color:#282828;}.border-bg-gradient-primary-lighten-r-3{border-right-style: solid;border-right-width: 6rpx;border-right-color:#FF668EFF;}.border-bg-gradient-primary-lighten-r-3.bk{border-right-style: solid;border-right-width: 6rpx;border-right-color:#282828;}.border-bg-gradient-primary-lighten-t-3{border-top-style: solid;border-top-width: 6rpx;border-top-color:#FF668EFF;}.border-bg-gradient-primary-lighten-t-3.bk{border-top-style: solid;border-top-width: 6rpx;border-top-color:#282828;}.border-bg-gradient-primary-lighten-b-3{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:#FF668EFF;}.border-bg-gradient-primary-lighten-b-3.bk{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-lighten-a-3{border-style: solid;border-width: 6rpx;border-color:#FF668EFF;}.border-bg-gradient-primary-lighten-a-3.bk{border-style: solid;border-width: 6rpx;border-color:#282828;}.border-bg-gradient-primary-lighten-l-4{border-left-style: solid;border-left-width: 8rpx;border-left-color:#FF668EFF;}.border-bg-gradient-primary-lighten-l-4.bk{border-left-style: solid;border-left-width: 8rpx;border-left-color:#282828;}.border-bg-gradient-primary-lighten-r-4{border-right-style: solid;border-right-width: 8rpx;border-right-color:#FF668EFF;}.border-bg-gradient-primary-lighten-r-4.bk{border-right-style: solid;border-right-width: 8rpx;border-right-color:#282828;}.border-bg-gradient-primary-lighten-t-4{border-top-style: solid;border-top-width: 8rpx;border-top-color:#FF668EFF;}.border-bg-gradient-primary-lighten-t-4.bk{border-top-style: solid;border-top-width: 8rpx;border-top-color:#282828;}.border-bg-gradient-primary-lighten-b-4{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:#FF668EFF;}.border-bg-gradient-primary-lighten-b-4.bk{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-lighten-a-4{border-style: solid;border-width: 8rpx;border-color:#FF668EFF;}.border-bg-gradient-primary-lighten-a-4.bk{border-style: solid;border-width: 8rpx;border-color:#282828;}.border-bg-gradient-primary-lighten-l-5{border-left-style: solid;border-left-width: 10rpx;border-left-color:#FF668EFF;}.border-bg-gradient-primary-lighten-l-5.bk{border-left-style: solid;border-left-width: 10rpx;border-left-color:#282828;}.border-bg-gradient-primary-lighten-r-5{border-right-style: solid;border-right-width: 10rpx;border-right-color:#FF668EFF;}.border-bg-gradient-primary-lighten-r-5.bk{border-right-style: solid;border-right-width: 10rpx;border-right-color:#282828;}.border-bg-gradient-primary-lighten-t-5{border-top-style: solid;border-top-width: 10rpx;border-top-color:#FF668EFF;}.border-bg-gradient-primary-lighten-t-5.bk{border-top-style: solid;border-top-width: 10rpx;border-top-color:#282828;}.border-bg-gradient-primary-lighten-b-5{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:#FF668EFF;}.border-bg-gradient-primary-lighten-b-5.bk{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-lighten-a-5{border-style: solid;border-width: 10rpx;border-color:#FF668EFF;}.border-bg-gradient-primary-lighten-a-5.bk{border-style: solid;border-width: 10rpx;border-color:#282828;}.bg-gradient-primary-lighten.bk,.bg-gradient-primary-lighten-b.bk{ background-image: none !important; background: rgb(153,0,40) !important; color: #FF3369FF !important; box-shadow: none !important;}.text-bg-gradient-primary-accent,.text-bg-gradient-primary-accent-b{ color:rgba(179,0,47, 1);}.bg-gradient-primary-accent{ background-image: linear-gradient(to right,rgb(255,0,67),rgb(255,0,110))!important; color: #fff !important; box-shadow: 0 6rpx 10rpx rgba(204,51,91, 0.2);}.bg-gradient-primary-accent-b{ background-image: linear-gradient(to bottom,rgb(255,0,67),rgb(255,0,110))!important; color: #fff !important; box-shadow: 0 6rpx 10rpx rgba(204,51,91, 0.2);}.bg-gradient-primary-accent.text,.bg-gradient-primary-accent-b.text{ background: #FFF0F4FF !important; color: #B3002FFF !important; box-shadow: none !important;}.bg-gradient-primary-accent.outlined,.bg-gradient-primary-accent-b.outlined{ border-width: 2rpx; border-style: solid; background: #FFF0F4FF !important; border-color: #FF779BFF !important; color: #B3002FFF !important; box-shadow: none !important;}.border-bg-gradient-primary-accent-l-1{border-left-style: solid;border-left-width: 2rpx;border-left-color:#FF0043FF;}.border-bg-gradient-primary-accent-l-1.bk{border-left-style: solid;border-left-width: 2rpx;border-left-color:#282828;}.border-bg-gradient-primary-accent-r-1{border-right-style: solid;border-right-width: 2rpx;border-right-color:#FF0043FF;}.border-bg-gradient-primary-accent-r-1.bk{border-right-style: solid;border-right-width: 2rpx;border-right-color:#282828;}.border-bg-gradient-primary-accent-t-1{border-top-style: solid;border-top-width: 2rpx;border-top-color:#FF0043FF;}.border-bg-gradient-primary-accent-t-1.bk{border-top-style: solid;border-top-width: 2rpx;border-top-color:#282828;}.border-bg-gradient-primary-accent-b-1{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:#FF0043FF;}.border-bg-gradient-primary-accent-b-1.bk{border-bottom-style: solid;border-bottom-width: 2rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-accent-a-1{border-style: solid;border-width: 2rpx;border-color:#FF0043FF;}.border-bg-gradient-primary-accent-a-1.bk{border-style: solid;border-width: 2rpx;border-color:#282828;}.border-bg-gradient-primary-accent-l-2{border-left-style: solid;border-left-width: 4rpx;border-left-color:#FF0043FF;}.border-bg-gradient-primary-accent-l-2.bk{border-left-style: solid;border-left-width: 4rpx;border-left-color:#282828;}.border-bg-gradient-primary-accent-r-2{border-right-style: solid;border-right-width: 4rpx;border-right-color:#FF0043FF;}.border-bg-gradient-primary-accent-r-2.bk{border-right-style: solid;border-right-width: 4rpx;border-right-color:#282828;}.border-bg-gradient-primary-accent-t-2{border-top-style: solid;border-top-width: 4rpx;border-top-color:#FF0043FF;}.border-bg-gradient-primary-accent-t-2.bk{border-top-style: solid;border-top-width: 4rpx;border-top-color:#282828;}.border-bg-gradient-primary-accent-b-2{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:#FF0043FF;}.border-bg-gradient-primary-accent-b-2.bk{border-bottom-style: solid;border-bottom-width: 4rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-accent-a-2{border-style: solid;border-width: 4rpx;border-color:#FF0043FF;}.border-bg-gradient-primary-accent-a-2.bk{border-style: solid;border-width: 4rpx;border-color:#282828;}.border-bg-gradient-primary-accent-l-3{border-left-style: solid;border-left-width: 6rpx;border-left-color:#FF0043FF;}.border-bg-gradient-primary-accent-l-3.bk{border-left-style: solid;border-left-width: 6rpx;border-left-color:#282828;}.border-bg-gradient-primary-accent-r-3{border-right-style: solid;border-right-width: 6rpx;border-right-color:#FF0043FF;}.border-bg-gradient-primary-accent-r-3.bk{border-right-style: solid;border-right-width: 6rpx;border-right-color:#282828;}.border-bg-gradient-primary-accent-t-3{border-top-style: solid;border-top-width: 6rpx;border-top-color:#FF0043FF;}.border-bg-gradient-primary-accent-t-3.bk{border-top-style: solid;border-top-width: 6rpx;border-top-color:#282828;}.border-bg-gradient-primary-accent-b-3{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:#FF0043FF;}.border-bg-gradient-primary-accent-b-3.bk{border-bottom-style: solid;border-bottom-width: 6rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-accent-a-3{border-style: solid;border-width: 6rpx;border-color:#FF0043FF;}.border-bg-gradient-primary-accent-a-3.bk{border-style: solid;border-width: 6rpx;border-color:#282828;}.border-bg-gradient-primary-accent-l-4{border-left-style: solid;border-left-width: 8rpx;border-left-color:#FF0043FF;}.border-bg-gradient-primary-accent-l-4.bk{border-left-style: solid;border-left-width: 8rpx;border-left-color:#282828;}.border-bg-gradient-primary-accent-r-4{border-right-style: solid;border-right-width: 8rpx;border-right-color:#FF0043FF;}.border-bg-gradient-primary-accent-r-4.bk{border-right-style: solid;border-right-width: 8rpx;border-right-color:#282828;}.border-bg-gradient-primary-accent-t-4{border-top-style: solid;border-top-width: 8rpx;border-top-color:#FF0043FF;}.border-bg-gradient-primary-accent-t-4.bk{border-top-style: solid;border-top-width: 8rpx;border-top-color:#282828;}.border-bg-gradient-primary-accent-b-4{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:#FF0043FF;}.border-bg-gradient-primary-accent-b-4.bk{border-bottom-style: solid;border-bottom-width: 8rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-accent-a-4{border-style: solid;border-width: 8rpx;border-color:#FF0043FF;}.border-bg-gradient-primary-accent-a-4.bk{border-style: solid;border-width: 8rpx;border-color:#282828;}.border-bg-gradient-primary-accent-l-5{border-left-style: solid;border-left-width: 10rpx;border-left-color:#FF0043FF;}.border-bg-gradient-primary-accent-l-5.bk{border-left-style: solid;border-left-width: 10rpx;border-left-color:#282828;}.border-bg-gradient-primary-accent-r-5{border-right-style: solid;border-right-width: 10rpx;border-right-color:#FF0043FF;}.border-bg-gradient-primary-accent-r-5.bk{border-right-style: solid;border-right-width: 10rpx;border-right-color:#282828;}.border-bg-gradient-primary-accent-t-5{border-top-style: solid;border-top-width: 10rpx;border-top-color:#FF0043FF;}.border-bg-gradient-primary-accent-t-5.bk{border-top-style: solid;border-top-width: 10rpx;border-top-color:#282828;}.border-bg-gradient-primary-accent-b-5{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:#FF0043FF;}.border-bg-gradient-primary-accent-b-5.bk{border-bottom-style: solid;border-bottom-width: 10rpx;border-bottom-color:#282828;}.border-bg-gradient-primary-accent-a-5{border-style: solid;border-width: 10rpx;border-color:#FF0043FF;}.border-bg-gradient-primary-accent-a-5.bk{border-style: solid;border-width: 10rpx;border-color:#282828;}.bg-gradient-primary-accent.bk,.bg-gradient-primary-accent-b.bk{ background-image: none !important; background: rgb(153,0,40) !important; color: #FF3369FF !important; box-shadow: none !important;}.text-primary{color:rgba(255,119,155,1);}.text-primary.bk{color:rgba(255,51,105,1);}
\ No newline at end of file
diff --git a/components/article-card/article-card.vue b/components/article-card/article-card.vue
deleted file mode 100644
index 4191eef..0000000
--- a/components/article-card/article-card.vue
+++ /dev/null
@@ -1,352 +0,0 @@
-
-
-
-
-
-
-
-
- 置顶
- {{ article.spec.title }}
-
- {{ article.status.excerpt }}
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/article-douban/article-douban.vue b/components/article-douban/article-douban.vue
deleted file mode 100644
index 13f5b6a..0000000
--- a/components/article-douban/article-douban.vue
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
- {{ loadingText }}
-
-
- 豆瓣
-
- 无封面
-
-
- {{ detail.spec.name }}
-
- 评分:
-
- {{ detail.spec.score }}
-
-
- {{ detail.spec.cardSubtitle }}
-
- {{ types[detail.spec.type] }}
- {{ gen }}
-
-
-
-
-
- 原文地址
- 豆瓣地址
- 资源信息
-
-
-
-
-
-
-
-
diff --git a/components/article-min-card/article-min-card.vue b/components/article-min-card/article-min-card.vue
deleted file mode 100644
index ca2ad54..0000000
--- a/components/article-min-card/article-min-card.vue
+++ /dev/null
@@ -1,222 +0,0 @@
-
-
-
-
-
-
- {{ article.spec.title }}
- {{ article.status.excerpt }}
-
-
-
-
-
-
-
-
diff --git a/components/article-vote/article-vote.vue b/components/article-vote/article-vote.vue
deleted file mode 100644
index 0df2e80..0000000
--- a/components/article-vote/article-vote.vue
+++ /dev/null
@@ -1,569 +0,0 @@
-
-
-
- {{loadingText}}
-
-
-
-
-
- {{ index + 1 }}
- {{ vote.spec._uh_type }}
- {{vote.spec._uh_state.state}}
-
-
- 查看投票详情
-
-
-
- {{ vote.spec.title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{option.title }}
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
- {{option.title }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{option.title }}
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
- {{option.title }}
-
-
-
-
-
-
-
-
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
-
-
-
-
- 您已参与投票
- 投票未开始
- 投票已结束
- 不支持匿名投票
- 提交投票(请选择选项)
- 提交投票
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/barrage/barrage.vue b/components/barrage/barrage.vue
deleted file mode 100644
index da018c7..0000000
--- a/components/barrage/barrage.vue
+++ /dev/null
@@ -1,339 +0,0 @@
-
-
-
-
-
-
- {{ item.item.author }}
- {{ item.item.content }}
-
-
-
-
-
-
-
-
diff --git a/components/cache-image/cache-image.vue b/components/cache-image/cache-image.vue
deleted file mode 100644
index e490bf7..0000000
--- a/components/cache-image/cache-image.vue
+++ /dev/null
@@ -1,198 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/category-mini-card/category-mini-card.vue b/components/category-mini-card/category-mini-card.vue
deleted file mode 100644
index 0a01e26..0000000
--- a/components/category-mini-card/category-mini-card.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
- {{ category.spec.displayName }}
- 共 {{ category.postCount }} 篇
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/comment-item/comment-item.vue b/components/comment-item/comment-item.vue
deleted file mode 100644
index d550b1c..0000000
--- a/components/comment-item/comment-item.vue
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/comment-list/comment-list.vue b/components/comment-list/comment-list.vue
deleted file mode 100644
index 61f8d19..0000000
--- a/components/comment-list/comment-list.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-
-
-
-
-
-
-
diff --git a/components/comment-modal/comment-modal.vue b/components/comment-modal/comment-modal.vue
deleted file mode 100644
index 40ce546..0000000
--- a/components/comment-modal/comment-modal.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
- {{ calcTitle }}
-
-
-
-
-
-
-
- 提交
-
-
-
-
-
-
-
-
-
diff --git a/components/e-swiper/e-swiper.scss b/components/e-swiper/e-swiper.scss
deleted file mode 100644
index 66a8cb4..0000000
--- a/components/e-swiper/e-swiper.scss
+++ /dev/null
@@ -1,343 +0,0 @@
-// 轮播图
-
-.Swiper-mfw-index-box {
- display: flex;
- width: 100%;
- justify-content: center;
- align-items: center;
- view {
- display: flex;
- }
-
- .Swiper-mfw-index {
- // 轮播图
- width: 100%;
- .Swiper-mfw {
- width: inherit;
- height: 450rpx;
- border-radius: 12rpx;
- .swiper-mfw-item {
- width: inherit;
- height: inherit;
- border-radius: 12rpx;
- .Image,
- .ImageVideo {
- border-radius: 12rpx;
- width: inherit;
- height: inherit;
- }
- }
- }
- // 指示器
- .Swiper-indicator-box {
- width: inherit;
- display: flex;
- flex-direction: column;
- align-items: center;
-
- // Top顶部 [今日首推-盒子]
- .Top-date-hot {
- width: 100%;
- box-sizing: border-box;
- padding: 20rpx 24rpx;
- display: flex;
- align-items: center;
- flex-wrap: nowrap;
- .left-date-ri {
- justify-content: center;
- .date-ri-text {
- color: #ffffff;
- font-size: 60rpx;
- font-weight: 700;
- margin-top: -4rpx;
- }
- }
- .conter-date-nianyue {
- margin: 0 14rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- flex-direction: row;
- flex-wrap: nowrap;
- .left-width-bgcolor {
- width: 8rpx;
- height: 45rpx;
- border-radius: 12rpx;
- background-color: #fafafa;
- margin-right: 14rpx;
- }
- .right-date-nianyue {
- flex-direction: column;
- .Top-yue-usa,
- .Bottom-nian,
- .text {
- color: #ffffff;
- font-size: 24rpx;
- font-weight: 700;
- transform: scale(0.95);
- }
- .text {
- margin-top: -4rpx;
- }
- }
- }
- .right-hot-ttf {
- display: flex;
- flex-direction: column;
- justify-content: center;
- margin-left: 6rpx;
- .hot-text {
- color: #ffffff;
- font-size: 52rpx;
- font-weight: 700;
- }
- }
- }
- }
- // 指示器 [轮播信息 -> 标题,用户,头像,所在地]
- .Swiper-indicator-Top {
- position: absolute;
- left: 0rpx;
- bottom: 110rpx;
- width: 100%;
- box-sizing: border-box;
- padding: 20rpx 24rpx;
- background-color: rgba(0, 0, 0, 0.085);
- backdrop-filter: blur(3rpx);
- &.no-dot {
- bottom: 0;
- }
- .Top-item {
- width: 100%;
- display: flex;
- flex-direction: column;
- // 如果有视频,则显示“视频预览”
- .Top-ImageVideo {
- width: 150rpx;
- box-sizing: border-box;
- padding: 2rpx 6rpx;
- margin-bottom: 10rpx;
- background-color: #f0ad4e;
- border-radius: 20rpx;
- flex-direction: row;
- flex-wrap: nowrap;
- align-items: center;
- .Icons {
- color: #242629;
- font-size: 26rpx;
- transform: scale(0.8);
- }
-
- .ImageVideo-text {
- color: #242629;
- font-size: 24rpx;
- }
- }
-
- // 标题
- .Top-Title {
- width: 100%;
- display: flex;
- align-items: flex-start;
- .title-text {
- width: 100%;
- color: #ffffff;
- font-size: 28rpx;
- font-weight: 700;
- }
- }
- // 用户信息盒子
- .Bottom-UserInfo {
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- margin-top: 16rpx;
- align-items: center;
- .UserImage-box {
- width: 40rpx;
- border-radius: 20rpx;
- margin-right: 20rpx;
- .Image {
- width: 40rpx;
- height: 40rpx;
- border-radius: 50%;
- }
- }
- .textbox {
- flex-direction: row;
- flex-wrap: nowrap;
- .wo-text,
- .UserInfo {
- font-size: 24rpx;
- }
- .wo-text {
- color: #f1f2f6;
- margin-right: 8rpx;
- }
- .UserInfo {
- color: #ffffff;
- }
- }
- .jiange-box {
- margin: 0 8rpx;
- .jiange-text {
- color: #f1f2f6;
- }
- }
- }
- }
- }
- // 指示器 [左边图片列表+右边按钮]
- .Swiper-indicator-Bottom {
- position: absolute;
- left: 0;
- bottom: 0;
- width: 100%;
- display: flex;
- justify-content: space-between;
- border-radius: 12rpx;
- flex-direction: row;
- flex-wrap: nowrap;
- box-sizing: border-box;
- padding: 14rpx;
- background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(101, 101, 101, 0.7));
- // 左边[图片列表]
- .Bottom-left-Imagelist {
- // width: 560rpx;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- justify-content: space-between;
- // 指示图(小图模式)
- .Bottom-item {
- width: 98rpx;
- height: 78rpx;
- border-radius: 8rpx;
-
- .Image {
- width: 98rpx;
- height: 78rpx;
- border-radius: 8rpx;
- box-sizing: border-box;
- }
- &.current {
- .Image {
- // border: 4rpx solid #ffda02;
- border: 4rpx solid rgb(110, 186, 247);
- }
- }
- }
- .Bottom-item + .Bottom-item {
- margin-left: 10rpx;
- }
- }
- // 右边 [历历在目-按钮]
- .Bottom-right-lili-btn {
- width: 145rpx;
- align-items: center;
- justify-content: center;
- border-radius: 10rpx;
- // background-image: linear-gradient(45deg, rgb(110, 186, 247), rgb(13, 141, 242));
- .Bottom-item {
- width: 145rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- color: #fff;
- .indicator-text {
- font-size: 24rpx;
- font-weight: 700;
- }
- .more {
- display: flex;
- align-items: center;
- font-weight: bold;
- font-size: 26rpx;
- .iconfont {
- color: #fff;
- font-size: 24rpx;
- }
- }
- .text {
- display: flex;
- flex-direction: column;
- align-items: center;
- // font-weight: normal;
- letter-spacing: 4rpx;
- }
- }
- }
- }
- }
- .Swiper-box {
- border-radius: 12rpx;
- overflow: hidden !important;
- transform: translateY(0) !important;
- transform: translateX(0) !important;
- &.right {
- .indicator-Top-box {
- position: absolute;
- }
- .Swiper-indicator-Top {
- bottom: 0;
- .Top-item .Top-Title .title-text {
- width: 540rpx;
- }
- }
- .Swiper-indicator-Bottom {
- width: 120rpx;
- position: absolute;
- top: 0rpx;
- left: initial;
- right: 0rpx;
- flex-direction: column;
- background-image: none;
- background-color: rgba(0, 0, 0, 0.1);
- // border-radius: 0rpx 12rpx 12rpx 0;
- border-radius: 12rpx;
- .Bottom-left-Imagelist {
- flex-direction: column;
- align-items: center;
- .Bottom-item {
- border-radius: 6rpx;
- }
- .Bottom-item + .Bottom-item {
- margin-left: 0rpx;
- margin-top: 10rpx;
- }
- }
- .Bottom-right-lili-btn {
- width: 100rpx;
- margin-left: -4rpx;
- .Bottom-item {
- width: initial;
- margin-top: 6rpx;
- align-items: flex-start;
- justify-content: flex-start;
-
- .more {
- font-size: 24rpx;
- }
- .text {
- letter-spacing: 0;
- font-size: 24rpx;
- font-weight: normal;
- }
- }
- }
- }
- }
- }
-}
-
-.Swiper-mfw {
- position: relative;
-}
-.indicator-Top-box {
- position: absolute;
-}
-.indicator-Btoom-box {
- position: absolute;
- bottom: 0;
-}
diff --git a/components/e-swiper/e-swiper.vue b/components/e-swiper/e-swiper.vue
deleted file mode 100644
index e1784bb..0000000
--- a/components/e-swiper/e-swiper.vue
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ date.month }}
-
-
-
-
- {{ date.monthEn }}
- {{ date.year }}
-
-
-
- {{ title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 视频预览
-
-
-
- {{ item.title }}
-
-
-
-
-
-
-
-
-
- {{ item.nickname }}
-
-
-
-
- 发布于 {{ item.createTime }}
-
- ·
-
- {{ item.address }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MORE
-
-
- 更多推荐
-
-
-
-
-
-
-
-
-
-
diff --git a/components/heatmap/heatmap.vue b/components/heatmap/heatmap.vue
deleted file mode 100644
index 6fe45d1..0000000
--- a/components/heatmap/heatmap.vue
+++ /dev/null
@@ -1,479 +0,0 @@
-
-
-
-
-
-
- {{ week }}
-
-
-
-
- {{ month.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/mp-html/components/mp-html/editable/config.js b/components/mp-html/components/mp-html/editable/config.js
deleted file mode 100644
index 8a21a3a..0000000
--- a/components/mp-html/components/mp-html/editable/config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// 以下项目可以删减或更换顺序,但不能添加或更改名字
-export default {
- // 普通标签的菜单项
- node: ['大小', '斜体', '粗体', '下划线', '居中', '缩进', '上移', '下移', '删除'],
- // 图片的菜单项
- img: ['换图', '宽度', '超链接', '预览图', '禁用预览', '上移', '下移', '删除'],
- // 链接的菜单项
- link: ['更换链接', '上移', '下移', '删除'],
- // 音视频的菜单项
- media: ['封面', '循环', '自动播放', '上移', '下移', '删除']
-}
diff --git a/components/mp-html/components/mp-html/editable/index.js b/components/mp-html/components/mp-html/editable/index.js
deleted file mode 100644
index a6daf8a..0000000
--- a/components/mp-html/components/mp-html/editable/index.js
+++ /dev/null
@@ -1,532 +0,0 @@
-/**
- * @fileoverview editable 插件
- */
-import config from './config'
-import Parser from '../parser'
-
-function Editable (vm) {
- this.vm = vm
- this.editHistory = [] // 历史记录
- this.editI = -1 // 历史记录指针
- vm._mask = [] // 蒙版被点击时进行的操作
-
- vm._setData = function (path, val) {
- const paths = path.split('.')
- let target = vm
- for (let i = 0; i < paths.length - 1; i++) {
- target = target[paths[i]]
- }
- vm.$set(target, paths.pop(), val)
- }
-
- /**
- * @description 移动历史记录指针
- * @param {Number} num 移动距离
- */
- const move = num => {
- setTimeout(() => {
- const item = this.editHistory[this.editI + num]
- if (item) {
- this.editI += num
- vm._setData(item.key, item.value)
- }
- }, 200)
- }
- vm.undo = () => move(-1) // 撤销
- vm.redo = () => move(1) // 重做
-
- /**
- * @description 更新记录
- * @param {String} path 更新内容路径
- * @param {*} oldVal 旧值
- * @param {*} newVal 新值
- * @param {Boolean} set 是否更新到视图
- * @private
- */
- vm._editVal = (path, oldVal, newVal, set) => {
- // 当前指针后的内容去除
- while (this.editI < this.editHistory.length - 1) {
- this.editHistory.pop()
- }
-
- // 最多存储 30 条操作记录
- while (this.editHistory.length > 30) {
- this.editHistory.pop()
- this.editI--
- }
-
- const last = this.editHistory[this.editHistory.length - 1]
- if (!last || last.key !== path) {
- if (last) {
- // 去掉上一次的新值
- this.editHistory.pop()
- this.editI--
- }
- // 存入这一次的旧值
- this.editHistory.push({
- key: path,
- value: oldVal
- })
- this.editI++
- }
-
- // 存入本次的新值
- this.editHistory.push({
- key: path,
- value: newVal
- })
- this.editI++
-
- // 更新到视图
- if (set) {
- vm._setData(path, newVal)
- }
- }
-
- /**
- * @description 获取菜单项
- * @private
- */
- vm._getItem = function (node, up, down) {
- let items
- let i
- if (node.name === 'img') {
- items = config.img.slice(0)
- if (!vm.getSrc) {
- i = items.indexOf('换图')
- if (i !== -1) {
- items.splice(i, 1)
- }
- i = items.indexOf('超链接')
- if (i !== -1) {
- items.splice(i, 1)
- }
- i = items.indexOf('预览图')
- if (i !== -1) {
- items.splice(i, 1)
- }
- }
- i = items.indexOf('禁用预览')
- if (i !== -1 && node.attrs.ignore) {
- items[i] = '启用预览'
- }
- } else if (node.name === 'a') {
- items = config.link.slice(0)
- if (!vm.getSrc) {
- i = items.indexOf('更换链接')
- if (i !== -1) {
- items.splice(i, 1)
- }
- }
- } else if (node.name === 'video' || node.name === 'audio') {
- items = config.media.slice(0)
- i = items.indexOf('封面')
- if (!vm.getSrc && i !== -1) {
- items.splice(i, 1)
- }
- i = items.indexOf('循环')
- if (node.attrs.loop && i !== -1) {
- items[i] = '不循环'
- }
- i = items.indexOf('自动播放')
- if (node.attrs.autoplay && i !== -1) {
- items[i] = '不自动播放'
- }
- } else {
- items = config.node.slice(0)
- }
- if (!up) {
- i = items.indexOf('上移')
- if (i !== -1) {
- items.splice(i, 1)
- }
- }
- if (!down) {
- i = items.indexOf('下移')
- if (i !== -1) {
- items.splice(i, 1)
- }
- }
- return items
- }
-
- /**
- * @description 显示 tooltip
- * @param {object} obj
- * @private
- */
- vm._tooltip = function (obj) {
- vm.$set(vm, 'tooltip', {
- top: obj.top,
- items: obj.items
- })
- vm._tooltipcb = obj.success
- }
-
- /**
- * @description 显示滚动条
- * @param {object} obj
- * @private
- */
- vm._slider = function (obj) {
- vm.$set(vm, 'slider', {
- min: obj.min,
- max: obj.max,
- value: obj.value,
- top: obj.top
- })
- vm._slideringcb = obj.changing
- vm._slidercb = obj.change
- }
-
- /**
- * @description 点击蒙版
- * @private
- */
- vm._maskTap = function () {
- // 隐藏所有悬浮窗
- while (vm._mask.length) {
- (vm._mask.pop())()
- }
- if (vm.tooltip) {
- vm.$set(vm, 'tooltip', null)
- }
- if (vm.slider) {
- vm.$set(vm, 'slider', null)
- }
- }
-
- /**
- * @description 插入节点
- * @param {Object} node
- */
- function insert (node) {
- if (vm._edit) {
- vm._edit.insert(node)
- } else {
- const nodes = vm.nodes.slice(0)
- nodes.push(node)
- vm._editVal('nodes', vm.nodes, nodes, true)
- }
- }
-
- /**
- * @description 在光标处插入指定 html 内容
- * @param {String} html 内容
- */
- vm.insertHtml = html => {
- this.inserting = true
- const arr = new Parser(vm).parse(html)
- this.inserting = undefined
- for (let i = 0; i < arr.length; i++) {
- insert(arr[i])
- }
- }
-
- /**
- * @description 在光标处插入图片
- */
- vm.insertImg = function () {
- vm.getSrc && vm.getSrc('img').then(src => {
- if (typeof src === 'string') {
- src = [src]
- }
- const parser = new Parser(vm)
- for (let i = 0; i < src.length; i++) {
- insert({
- name: 'img',
- attrs: {
- src: parser.getUrl(src[i])
- }
- })
- }
- }).catch(() => { })
- }
-
- /**
- * @description 在光标处插入一个链接
- */
- vm.insertLink = function () {
- vm.getSrc && vm.getSrc('link').then(url => {
- insert({
- name: 'a',
- attrs: {
- href: url
- },
- children: [{
- type: 'text',
- text: url
- }]
- })
- }).catch(() => { })
- }
-
- /**
- * @description 在光标处插入一个表格
- * @param {Number} rows 行数
- * @param {Number} cols 列数
- */
- vm.insertTable = function (rows, cols) {
- const table = {
- name: 'table',
- attrs: {
- style: 'display:table;width:100%;margin:10px 0;text-align:center;border-spacing:0;border-collapse:collapse;border:1px solid gray'
- },
- children: []
- }
- for (let i = 0; i < rows; i++) {
- const tr = {
- name: 'tr',
- attrs: {},
- children: []
- }
- for (let j = 0; j < cols; j++) {
- tr.children.push({
- name: 'td',
- attrs: {
- style: 'padding:2px;border:1px solid gray'
- },
- children: [{
- type: 'text',
- text: ''
- }]
- })
- }
- table.children.push(tr)
- }
- insert(table)
- }
-
- /**
- * @description 插入视频/音频
- * @param {Object} node
- */
- function insertMedia (node) {
- if (typeof node.src === 'string') {
- node.src = [node.src]
- }
- const parser = new Parser(vm)
- // 拼接主域名
- for (let i = 0; i < node.src.length; i++) {
- node.src[i] = parser.getUrl(node.src[i])
- }
- insert({
- name: 'div',
- attrs: {
- style: 'text-align:center'
- },
- children: [node]
- })
- }
-
- /**
- * @description 在光标处插入一个视频
- */
- vm.insertVideo = function () {
- vm.getSrc && vm.getSrc('video').then(src => {
- insertMedia({
- name: 'video',
- attrs: {
- controls: 'T'
- },
- children: [],
- src,
- // #ifdef APP-PLUS
- html: ` `
- // #endif
- })
- }).catch(() => { })
- }
-
- /**
- * @description 在光标处插入一个音频
- */
- vm.insertAudio = function () {
- vm.getSrc && vm.getSrc('audio').then(attrs => {
- let src
- if (attrs.src) {
- src = attrs.src
- attrs.src = undefined
- } else {
- src = attrs
- attrs = {}
- }
- attrs.controls = 'T'
- insertMedia({
- name: 'audio',
- attrs,
- children: [],
- src
- })
- }).catch(() => { })
- }
-
- /**
- * @description 在光标处插入一段文本
- */
- vm.insertText = function () {
- insert({
- name: 'p',
- attrs: {},
- children: [{
- type: 'text',
- text: ''
- }]
- })
- }
-
- /**
- * @description 清空内容
- */
- vm.clear = function () {
- vm._maskTap()
- vm._edit = undefined
- vm.$set(vm, 'nodes', [{
- name: 'p',
- attrs: {},
- children: [{
- type: 'text',
- text: ''
- }]
- }])
- }
-
- /**
- * @description 获取编辑后的 html
- */
- vm.getContent = function () {
- let html = '';
- // 递归遍历获取
- (function traversal (nodes, table) {
- for (let i = 0; i < nodes.length; i++) {
- let item = nodes[i]
- if (item.type === 'text') {
- html += item.text.replace(/&/g, '&').replace(//g, '>').replace(/\n/g, ' ').replace(/\xa0/g, ' ') // 编码实体
- } else {
- if (item.name === 'img') {
- item.attrs.i = ''
- // 还原被转换的 svg
- if ((item.attrs.src || '').includes('data:image/svg+xml;utf8,')) {
- html += item.attrs.src.substr(24).replace(/%23/g, '#').replace(' 1) {
- item.children = []
- for (let j = 0; j < item.src.length; j++) {
- item.children.push({
- name: 'source',
- attrs: {
- src: item.src[j]
- }
- })
- }
- } else {
- item.attrs.src = item.src[0]
- }
- } else if (item.name === 'div' && (item.attrs.style || '').includes('overflow:auto') && (item.children[0] || {}).name === 'table') {
- // 还原滚动层
- item = item.children[0]
- }
- // 还原 table
- if (item.name === 'table') {
- item = JSON.parse(JSON.stringify(item))
- table = item.attrs
- if ((item.attrs.style || '').includes('display:grid')) {
- item.attrs.style = item.attrs.style.split('display:grid')[0]
- const children = [{
- name: 'tr',
- attrs: {},
- children: []
- }]
- for (let j = 0; j < item.children.length; j++) {
- item.children[j].attrs.style = item.children[j].attrs.style.replace(/grid-[^;]+;*/g, '')
- if (item.children[j].r !== children.length) {
- children.push({
- name: 'tr',
- attrs: {},
- children: [item.children[j]]
- })
- } else {
- children[children.length - 1].children.push(item.children[j])
- }
- }
- item.children = children
- }
- }
- html += '<' + item.name
- for (const attr in item.attrs) {
- let val = item.attrs[attr]
- if (!val) continue
- if (val === 'T' || val === true) {
- // bool 型省略值
- html += ' ' + attr
- continue
- } else if (item.name[0] === 't' && attr === 'style' && table) {
- // 取消为了显示 table 添加的 style
- val = val.replace(/;*display:table[^;]*/, '')
- if (table.border) {
- val = val.replace(/border[^;]+;*/g, $ => $.includes('collapse') ? $ : '')
- }
- if (table.cellpadding) {
- val = val.replace(/padding[^;]+;*/g, '')
- }
- if (!val) continue
- }
- html += ' ' + attr + '="' + val.replace(/"/g, '"') + '"'
- }
- html += '>'
- if (item.children) {
- traversal(item.children, table)
- html += '' + item.name + '>'
- }
- }
- }
- })(vm.nodes)
-
- // 其他插件处理
- for (let i = vm.plugins.length; i--;) {
- if (vm.plugins[i].onGetContent) {
- html = vm.plugins[i].onGetContent(html) || html
- }
- }
-
- return html
- }
-}
-
-Editable.prototype.onUpdate = function (content, config) {
- if (this.vm.editable) {
- this.vm._maskTap()
- config.entities.amp = '&'
- if (!this.inserting) {
- this.vm._edit = undefined
- if (!content) {
- setTimeout(() => {
- this.vm.$set(this.vm, 'nodes', [{
- name: 'p',
- attrs: {},
- children: [{
- type: 'text',
- text: ''
- }]
- }])
- }, 0)
- }
- }
- }
-}
-
-Editable.prototype.onParse = function (node) {
- // 空白单元格可编辑
- if (this.vm.editable && (node.name === 'td' || node.name === 'th') && !this.vm.getText(node.children)) {
- node.children.push({
- type: 'text',
- text: ''
- })
- }
-}
-
-export default Editable
diff --git a/components/mp-html/components/mp-html/emoji/index.js b/components/mp-html/components/mp-html/emoji/index.js
deleted file mode 100644
index fafcb49..0000000
--- a/components/mp-html/components/mp-html/emoji/index.js
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- * @fileoverview emoji 插件
- */
-const reg = /\[(\S+?)\]/g
-const data = {
- 笑脸: '😄',
- 生病: '😷',
- 破涕为笑: '😂',
- 吐舌: '😝',
- 脸红: '😳',
- 恐惧: '😱',
- 失望: '😔',
- 无语: '😒',
- 眨眼: '😉',
- 酷: '😎',
- 哭: '😭',
- 痴迷: '😍',
- 吻: '😘',
- 思考: '🤔',
- 困惑: '😕',
- 颠倒: '🙃',
- 钱: '🤑',
- 惊讶: '😲',
- 白眼: '🙄',
- 叹气: '😤',
- 睡觉: '😴',
- 书呆子: '🤓',
- 愤怒: '😡',
- 面无表情: '😑',
- 张嘴: '😮',
- 量体温: '🤒',
- 呕吐: '🤮',
- 光环: '😇',
- 幽灵: '👻',
- 外星人: '👽',
- 机器人: '🤖',
- 捂眼镜: '🙈',
- 捂耳朵: '🙉',
- 捂嘴: '🙊',
- 婴儿: '👶',
- 男孩: '👦',
- 女孩: '👧',
- 男人: '👨',
- 女人: '👩',
- 老人: '👴',
- 老妇人: '👵',
- 警察: '👮',
- 王子: '🤴',
- 公主: '🤴',
- 举手: '🙋',
- 跑步: '🏃',
- 家庭: '👪',
- 眼睛: '👀',
- 鼻子: '👃',
- 耳朵: '👂',
- 舌头: '👅',
- 嘴: '👄',
- 心: '❤️',
- 心碎: '💔',
- 雪人: '☃️',
- 情书: '💌',
- 大便: '💩',
- 闹钟: '⏰',
- 眼镜: '👓',
- 雨伞: '☂️',
- 音乐: '🎵',
- 话筒: '🎤',
- 游戏机: '🎮',
- 喇叭: '📢',
- 耳机: '🎧',
- 礼物: '🎁',
- 电话: '📞',
- 电脑: '💻',
- 打印机: '🖨️',
- 手电筒: '🔦',
- 灯泡: '💡',
- 书本: '📖',
- 信封: '✉️',
- 药丸: '💊',
- 口红: '💄',
- 手机: '📱',
- 相机: '📷',
- 电视: '📺',
- 中: '🀄',
- 垃圾桶: '🚮',
- 厕所: '🚾',
- 感叹号: '❗',
- 禁: '🈲',
- 可: '🉑',
- 彩虹: '🌈',
- 旋风: '🌀',
- 雷电: '⚡',
- 雪花: '❄️',
- 星星: '⭐',
- 水滴: '💧',
- 玫瑰: '🌹',
- 加油: '💪',
- 左: '👈',
- 右: '👉',
- 上: '👆',
- 下: '👇',
- 手掌: '🖐️',
- 好的: '👌',
- 好: '👍',
- 差: '👎',
- 胜利: '✌',
- 拳头: '👊',
- 挥手: '👋',
- 鼓掌: '👏',
- 猴子: '🐒',
- 狗: '🐶',
- 狼: '🐺',
- 猫: '🐱',
- 老虎: '🐯',
- 马: '🐎',
- 独角兽: '🦄',
- 斑马: '🦓',
- 鹿: '🦌',
- 牛: '🐮',
- 猪: '🐷',
- 羊: '🐏',
- 长颈鹿: '🦒',
- 大象: '🐘',
- 老鼠: '🐭',
- 蝙蝠: '🦇',
- 刺猬: '🦔',
- 熊猫: '🐼',
- 鸽子: '🕊️',
- 鸭子: '🦆',
- 兔子: '🐇',
- 老鹰: '🦅',
- 青蛙: '🐸',
- 蛇: '🐍',
- 龙: '🐉',
- 鲸鱼: '🐳',
- 海豚: '🐬',
- 足球: '⚽',
- 棒球: '⚾',
- 篮球: '🏀',
- 排球: '🏐',
- 橄榄球: '🏉',
- 网球: '🎾',
- 骰子: '🎲',
- 鸡腿: '🍗',
- 蛋糕: '🎂',
- 啤酒: '🍺',
- 饺子: '🥟',
- 汉堡: '🍔',
- 薯条: '🍟',
- 意大利面: '🍝',
- 干杯: '🥂',
- 筷子: '🥢',
- 糖果: '🍬',
- 奶瓶: '🍼',
- 爆米花: '🍿',
- 邮局: '🏤',
- 医院: '🏥',
- 银行: '🏦',
- 酒店: '🏨',
- 学校: '🏫',
- 城堡: '🏰',
- 火车: '🚂',
- 高铁: '🚄',
- 地铁: '🚇',
- 公交: '🚌',
- 救护车: '🚑',
- 消防车: '🚒',
- 警车: '🚓',
- 出租车: '🚕',
- 汽车: '🚗',
- 货车: '🚛',
- 自行车: '🚲',
- 摩托: '🛵',
- 红绿灯: '🚥',
- 帆船: '⛵',
- 游轮: '🛳️',
- 轮船: '⛴️',
- 飞机: '✈️',
- 直升机: '🚁',
- 缆车: '🚠',
- 警告: '⚠️',
- 禁止: '⛔'
-}
-
-function Emoji () {
-
-}
-
-Emoji.prototype.onUpdate = function (content) {
- return content.replace(reg, ($, $1) => {
- if (data[$1]) return data[$1]
- return $
- })
-}
-
-Emoji.prototype.onGetContent = function (content) {
- for (const item in data) {
- content = content.replace(new RegExp(data[item], 'g'), '[' + item + ']')
- }
- return content
-}
-
-export default Emoji
diff --git a/components/mp-html/components/mp-html/highlight/config.js b/components/mp-html/components/mp-html/highlight/config.js
deleted file mode 100644
index b6f0142..0000000
--- a/components/mp-html/components/mp-html/highlight/config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export default {
- copyByLongPress: true, // 是否需要长按代码块时显示复制代码内容菜单
- showLanguageName: true, // 是否在代码块右上角显示语言的名称
- showLineNumber: true // 是否显示行号
-}
diff --git a/components/mp-html/components/mp-html/highlight/index.js b/components/mp-html/components/mp-html/highlight/index.js
deleted file mode 100644
index 4f83d48..0000000
--- a/components/mp-html/components/mp-html/highlight/index.js
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * @fileoverview highlight 插件
- * Include prismjs (https://prismjs.com)
- */
-import prism from './prism.min'
-import config from './config'
-import Parser from '../parser'
-
-function Highlight (vm) {
- this.vm = vm
-}
-
-Highlight.prototype.onParse = function (node, vm) {
- if (node.name === 'pre') {
- if (vm.options.editable) {
- node.attrs.class = (node.attrs.class || '') + ' hl-pre'
- return
- }
- let i
- for (i = node.children.length; i--;) {
- if (node.children[i].name === 'code') break
- }
- if (i === -1) return
- const code = node.children[i]
- let className = code.attrs.class + ' ' + node.attrs.class
- i = className.indexOf('language-')
- if (i === -1) {
- i = className.indexOf('lang-')
- if (i === -1) {
- className = 'language-text'
- i = 9
- } else {
- i += 5
- }
- } else {
- i += 9
- }
- let j
- for (j = i; j < className.length; j++) {
- if (className[j] === ' ') break
- }
- const lang = className.substring(i, j)
- if (code.children.length) {
- const text = this.vm.getText(code.children).replace(/&/g, '&')
- if (!text) return
- if (node.c) {
- node.c = undefined
- }
- if (prism.languages[lang]) {
- code.children = (new Parser(this.vm).parse(
- // 加一层 pre 保留空白符
- '' + prism.highlight(text, prism.languages[lang], lang).replace(/token /g, 'hl-') + ' '))[0].children
- }
- node.attrs.class = 'hl-pre'
- code.attrs.class = 'hl-code'
- if (config.showLanguageName) {
- node.children.push({
- name: 'div',
- attrs: {
- class: 'hl-language',
- style: 'user-select:none'
- },
- children: [{
- type: 'text',
- text: lang
- }]
- })
- }
- if (config.copyByLongPress) {
- node.attrs.style += (node.attrs.style || '') + ';user-select:none'
- node.attrs['data-content'] = text
- vm.expose()
- }
- if (config.showLineNumber) {
- const line = text.split('\n').length; const children = []
- for (let k = line; k--;) {
- children.push({
- name: 'span',
- attrs: {
- class: 'span'
- }
- })
- }
- node.children.push({
- name: 'span',
- attrs: {
- class: 'line-numbers-rows'
- },
- children
- })
- }
- }
- }
-}
-
-export default Highlight
diff --git a/components/mp-html/components/mp-html/highlight/prism.min.js b/components/mp-html/components/mp-html/highlight/prism.min.js
deleted file mode 100644
index 0b67d39..0000000
--- a/components/mp-html/components/mp-html/highlight/prism.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! PrismJS 1.22.0
-https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript */
-var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=l.reach);k+=y.value.length,y=y.next){var b=y.value;if(t.length>n.length)return;if(!(b instanceof W)){var x=1;if(h&&y!=t.tail.prev){m.lastIndex=k;var w=m.exec(n);if(!w)break;var A=w.index+(f&&w[1]?w[1].length:0),P=w.index+w[0].length,S=k;for(S+=y.value.length;S<=A;)y=y.next,S+=y.value.length;if(S-=y.value.length,k=S,y.value instanceof W)continue;for(var E=y;E!==t.tail&&(Sl.reach&&(l.reach=j);var C=y.prev;L&&(C=I(t,C,L),k+=L.length),z(t,C,x);var _=new W(o,g?M.tokenize(O,g):O,v,O);y=I(t,C,_),N&&I(t,y,N),1"+a.content+""+a.tag+">"},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(M.highlight(r,M.languages[t],t)),a&&u.close()},!1)),M;var e=M.util.currentScript();function t(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var r=document.readyState;"loading"===r||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",t):window.requestAnimationFrame?window.requestAnimationFrame(t):window.setTimeout(t,16)}return M}(_self);export default Prism;"undefined"!=typeof global&&(global.Prism=Prism);
-Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[^]*?>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
-!function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var s=e.languages.markup;s&&(s.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},s.tag))}(Prism);
-Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
-Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript;
diff --git a/components/mp-html/components/mp-html/img-cache/index.js b/components/mp-html/components/mp-html/img-cache/index.js
deleted file mode 100644
index d920f03..0000000
--- a/components/mp-html/components/mp-html/img-cache/index.js
+++ /dev/null
@@ -1,138 +0,0 @@
-const data = {
- name: 'imgcache',
- prefix: 'imgcache_'
-}
-function ImgCache (vm) {
- this.vm = vm // 保存实例在其他周期使用
- this.i = 0 // 用于标记第几张图
- vm.imgCache = {
- get list () {
- return uni
- .getStorageInfoSync()
- .keys.filter((key) => key.startsWith(data.prefix))
- .map((key) => key.split(data.prefix)[1])
- },
- get (url) {
- return uni.getStorageSync(data.prefix + url)
- },
- delete (url) {
- const path = uni.getStorageSync(data.prefix + url)
- if (!path) return false
- plus.io.resolveLocalFileSystemURL(path, (entry) => {
- entry.remove()
- })
- uni.removeStorageSync(data.prefix + url)
- return true
- },
- async add (url) {
- const filename = await download(url)
- if (filename) {
- uni.setStorageSync(data.prefix + url, filename)
- return 'file://' + plus.io.convertLocalFileSystemURL(filename)
- }
- return null
- },
- clear () {
- uni
- .getStorageInfoSync()
- .keys.filter((key) => key.startsWith(data.prefix))
- .forEach((key) => {
- uni.removeStorageSync(key)
- })
-
- plus.io.resolveLocalFileSystemURL(`_doc/${data.name}/`, (entry) => {
- entry.removeRecursively(
- (entry) => {
- console.log(`${data.name}缓存删除成功`, entry)
- },
- (e) => {
- console.log(`${data.name}缓存删除失败`, e)
- }
- )
- })
- }
- }
-}
-
-// #ifdef APP-PLUS
-ImgCache.prototype.onParse = function (node, parser) {
- // 启用本插件 && 解析图片标签 && 拥有src属性 && 是网络图片
- if (
- this.vm.ImgCache &&
- node.name === 'img' &&
- node.attrs.src &&
- /^https?:\/\//.test(node.attrs.src)
- ) {
- const src = node.attrs.src
- node.attrs.src = ''
- node.attrs.i = this.vm.imgList.length + this.i++
- parser.expose()
-
- async function getUrl (path) {
- if (await resolveFile(path)) return path
- const filename = await download(src)
- filename && uni.setStorageSync(data.prefix + src, filename)
- return filename
- }
-
- uni.getStorage({
- key: data.prefix + src,
- success: async (res) => {
- const path = await getUrl(res.data)
- const url = path
- ? 'file://' + plus.io.convertLocalFileSystemURL(path)
- : src
- node.attrs.src = url
- this.vm.imgList[node.attrs.i] = path || src
- },
- fail: async () => {
- const path = await getUrl()
- const url = path
- ? 'file://' + plus.io.convertLocalFileSystemURL(path)
- : src
- node.attrs.src = url
- this.vm.imgList[node.attrs.i] = path || src
- }
- })
- }
-}
-
-const taskQueue = new Set()
-
-function download (url) {
- return new Promise((resolve) => {
- if (taskQueue.has(url)) return
- taskQueue.add(url)
- const suffix = /.+\.(jpg|jpeg|png|bmp|gif|webp)/.exec(url)
- const name = `${makeid(8)}_${Date.now()}${suffix ? '.' + suffix[1] : ''}`
- const task = plus.downloader.createDownload(
- url,
- { filename: `_doc/${data.name}/${name}` },
- (download, status) => {
- taskQueue.delete(url)
- resolve(status === 200 ? download.filename : null)
- }
- )
- task.start()
- })
-}
-
-// 判断文件存在
-function resolveFile (url) {
- return new Promise((resolve) => {
- plus.io.resolveLocalFileSystemURL(url, resolve, () => resolve(null))
- })
-}
-
-// 生成uuid
-function makeid (length) {
- let result = ''
- const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
- for (let i = 0; i < length; i++) {
- result += characters.charAt(Math.floor(Math.random() * characters.length))
- }
- return result
-}
-// #endif
-
-export default ImgCache
diff --git a/components/mp-html/components/mp-html/markdown/index.js b/components/mp-html/components/mp-html/markdown/index.js
deleted file mode 100644
index 8900403..0000000
--- a/components/mp-html/components/mp-html/markdown/index.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * @fileoverview markdown 插件
- * Include marked (https://github.com/markedjs/marked)
- * Include github-markdown-css (https://github.com/sindresorhus/github-markdown-css)
- */
-import marked from './marked.min'
-let index = 0
-
-function Markdown (vm) {
- this.vm = vm
- vm._ids = {}
-}
-
-Markdown.prototype.onUpdate = function (content) {
- if (this.vm.markdown) {
- return marked(content)
- }
-}
-
-Markdown.prototype.onParse = function (node, vm) {
- if (vm.options.markdown) {
- // 中文 id 需要转换,否则无法跳转
- if (vm.options.useAnchor && node.attrs && /[\u4e00-\u9fa5]/.test(node.attrs.id)) {
- const id = 't' + index++
- this.vm._ids[node.attrs.id] = id
- node.attrs.id = id
- }
- if (node.name === 'p' || node.name === 'table' || node.name === 'tr' || node.name === 'th' || node.name === 'td' || node.name === 'blockquote' || node.name === 'pre' || node.name === 'code') {
- node.attrs.class = `md-${node.name} ${node.attrs.class || ''}`
- }
- }
-}
-
-export default Markdown
diff --git a/components/mp-html/components/mp-html/markdown/marked.min.js b/components/mp-html/components/mp-html/markdown/marked.min.js
deleted file mode 100644
index 2efcf53..0000000
--- a/components/mp-html/components/mp-html/markdown/marked.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * marked - a markdown parser
- * Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)
- * https://github.com/markedjs/marked
- */
-function t(){"use strict";function i(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(e){return c[e]}var e,t=(function(t){function e(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}t.exports={defaults:e(),getDefaults:e,changeDefaults:function(e){t.exports.defaults=e}}}(e={exports:{}}),e.exports),r=(t.defaults,t.getDefaults,t.changeDefaults,/[&<>"']/),l=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,o=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"};var u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(u,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var g=/(^|[^\[])\^/g;var f=/[^\w:]/g,d=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var k={},b=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,x=/^([^:]+:\/*[^/]*)[\s\S]*$/;function w(e,t){k[" "+e]||(b.test(e)?k[" "+e]=e+"/":k[" "+e]=v(e,"/",!0));var n=-1===(e=k[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(x,"$1")+t:e+t}function v(e,t,n){var r=e.length;if(0===r)return"";for(var i=0;it)n.splice(t);else for(;n.length>=1,e+=e;return n+e},q=t.defaults,O=v,C=R,U=_,j=T;function E(e,t,n){var r=t.href,i=t.title?U(t.title):null,t=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:i,text:t}:{type:"image",raw:n,href:r,title:i,text:U(t)}}var D=function(){function e(e){this.options=e||q}var t=e.prototype;return t.space=function(e){e=this.rules.block.newline.exec(e);if(e)return 1=n.length?e.slice(n.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]&&t[2].trim(),text:e}}},t.heading=function(e){e=this.rules.block.heading.exec(e);if(e)return{type:"heading",raw:e[0],depth:e[1].length,text:e[2]}},t.nptable=function(e){e=this.rules.block.nptable.exec(e);if(e){var t={type:"table",header:C(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(t.header.length===t.align.length){for(var n=t.align.length,r=0;r ?/gm,"");return{type:"blockquote",raw:t[0],text:e}}},t.list=function(e){e=this.rules.block.list.exec(e);if(e){for(var t,n,r,i,s,l=e[0],a=e[2],o=1g[0].length||3/i.test(e[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):U(e[0]):e[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){e=j(t[2],"()");-1$/,"$1"))&&e.replace(this.rules.inline._escapes,"$1"),title:r&&r.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){e=(n[2]||n[1]).replace(/\s+/g," ");if((e=t[e.toLowerCase()])&&e.href)return E(n,e,n[0]);var n=n[0].charAt(0);return{type:"text",raw:n,text:n}}},t.strong=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,s="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(s.lastIndex=0;null!=(r=s.exec(t));)if(i=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)))return{type:"strong",raw:e.slice(0,i[0].length),text:e.slice(2,i[0].length-2)}}},t.em=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,s="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(s.lastIndex=0;null!=(r=s.exec(t));)if(i=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)))return{type:"em",raw:e.slice(0,i[0].length),text:e.slice(1,i[0].length-1)}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),e=n.startsWith(" ")&&n.endsWith(" ");return r&&e&&(n=n.substring(1,n.length-1)),n=U(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}},t.del=function(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2]}},t.autolink=function(e,t){e=this.rules.inline.autolink.exec(e);if(e){var n,t="@"===e[2]?"mailto:"+(n=U(this.options.mangle?t(e[1]):e[1])):n=U(e[1]);return{type:"link",raw:e[0],text:n,href:t,tokens:[{type:"text",raw:n,text:n}]}}},t.url=function(e,t){var n,r,i,s;if(n=this.rules.inline.url.exec(e)){if("@"===n[2])i="mailto:"+(r=U(this.options.mangle?t(n[0]):n[0]));else{for(;s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0],s!==n[0];);r=U(n[0]),i="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}},t.inlineText=function(e,t,n){e=this.rules.inline.text.exec(e);if(e){n=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):U(e[0]):e[0]:U(this.options.smartypants?n(e[0]):e[0]);return{type:"text",raw:e[0],text:n}}},e}(),R=$,T=z,$=A,z={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:R,table:R,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};z.def=T(z.def).replace("label",z._label).replace("title",z._title).getRegex(),z.bullet=/(?:[*+-]|\d{1,9}[.)])/,z.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,z.item=T(z.item,"gm").replace(/bull/g,z.bullet).getRegex(),z.listItemStart=T(/^( *)(bull)/).replace("bull",z.bullet).getRegex(),z.list=T(z.list).replace(/bull/g,z.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+z.def.source+")").getRegex(),z._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",z._comment=/|$)/,z.html=T(z.html,"i").replace("comment",z._comment).replace("tag",z._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),z.paragraph=T(z._paragraph).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.blockquote=T(z.blockquote).replace("paragraph",z.paragraph).getRegex(),z.normal=$({},z),z.gfm=$({},z.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),z.gfm.nptable=T(z.gfm.nptable).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.gfm.table=T(z.gfm.table).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.pedantic=$({},z.normal,{html:T("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",z._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:R,paragraph:T(z.normal._paragraph).replace("hr",z.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",z.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:R,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:R,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};R.punctuation=T(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",R._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",R._comment=T(z._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.em.start=T(R.em.start).replace(/punctuation/g,R._punctuation).getRegex(),R.em.middle=T(R.em.middle).replace(/punctuation/g,R._punctuation).replace(/overlapSkip/g,R._overlapSkip).getRegex(),R.em.endAst=T(R.em.endAst,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.em.endUnd=T(R.em.endUnd,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.strong.start=T(R.strong.start).replace(/punctuation/g,R._punctuation).getRegex(),R.strong.middle=T(R.strong.middle).replace(/punctuation/g,R._punctuation).replace(/overlapSkip/g,R._overlapSkip).getRegex(),R.strong.endAst=T(R.strong.endAst,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.strong.endUnd=T(R.strong.endUnd,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=T(R._blockSkip,"g").getRegex(),R.overlapSkip=T(R._overlapSkip,"g").getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=T(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=T(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=T(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=T(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=T(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=$({},R),R.pedantic=$({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:T(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:T(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=$({},R.normal,{escape:T(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\'+(n?e:V(e,!0))+"\n":""+(n?e:V(e,!0))+" \n"},t.blockquote=function(e){return"\n"+e+" \n"},t.html=function(e){return e},t.heading=function(e,t,n,r){return this.options.headerIds?"\n":""+e+" \n"},t.hr=function(){return this.options.xhtml?" \n":" \n"},t.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+r+">\n"},t.listitem=function(e){return""+e+" \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return""+e+"
\n"},t.table=function(e,t){return"\n\n"+e+" \n"+(t=t&&""+t+" ")+"
\n"},t.tablerow=function(e){return"\n"+e+" \n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},t.strong=function(e){return""+e+" "},t.em=function(e){return""+e+" "},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?" ":" "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;e='"+n+" "},t.image=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;n=' ":">"},t.text=function(e){return e},e}(),J=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),K=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n))for(r=this.seen[e];n=e+"-"+ ++r,this.seen.hasOwnProperty(n););return t||(this.seen[e]=r,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),Q=t.defaults,Y=y,ee=function(){function n(e){this.options=e||Q,this.options.renderer=this.options.renderer||new H,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new J,this.slugger=new K}n.parse=function(e,t){return new n(t).parse(e)},n.parseInline=function(e,t){return new n(t).parseInline(e)};var e=n.prototype;return e.parse=function(e,t){void 0===t&&(t=!0);for(var n,r,i,s,l,a,o,c,u,p,h,g,f,d,k,b="",m=e.length,x=0;xAn error occurred:
"+re(e.message+"",!0)+" ";throw e}}return se.options=se.setOptions=function(e){return te(se.defaults,e),ie(se.defaults),se},se.getDefaults=_,se.defaults=t,se.use=function(a){var t,n=te({},a);a.renderer&&function(){var e,l=se.defaults.renderer||new H;for(e in a.renderer)!function(i){var s=l[i];l[i]=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:"+re(e.message+"",!0)+" ";throw e}},se.Parser=ee,se.parser=ee.parse,se.Renderer=H,se.TextRenderer=J,se.Lexer=W,se.lexer=W.lex,se.Tokenizer=D,se.Slugger=K,se.parse=se};export default t();
\ No newline at end of file
diff --git a/components/mp-html/components/mp-html/mp-html.vue b/components/mp-html/components/mp-html/mp-html.vue
deleted file mode 100644
index 8476403..0000000
--- a/components/mp-html/components/mp-html/mp-html.vue
+++ /dev/null
@@ -1,579 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{item}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/mp-html/components/mp-html/node/node.vue b/components/mp-html/components/mp-html/node/node.vue
deleted file mode 100644
index 9d71b58..0000000
--- a/components/mp-html/components/mp-html/node/node.vue
+++ /dev/null
@@ -1,1119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{n.text}}
- {{opts[6]||'请输入'}}
-
- {{n.text}}
- {{opts[6]||'请输入'}}
-
-
- \n
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/mp-html/components/mp-html/parser.js b/components/mp-html/components/mp-html/parser.js
deleted file mode 100644
index 62f32ef..0000000
--- a/components/mp-html/components/mp-html/parser.js
+++ /dev/null
@@ -1,1342 +0,0 @@
-/**
- * @fileoverview html 解析器
- */
-
-// 配置
-const config = {
- // 信任的标签(保持标签名不变)
- trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),
-
- // 块级标签(转为 div,其他的非信任标签转为 span)
- blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),
-
- // #ifdef (MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE3
- // 行内标签
- inlineTags: makeMap('abbr,b,big,code,del,em,i,ins,label,q,small,span,strong,sub,sup'),
- // #endif
-
- // 要移除的标签
- ignoreTags: makeMap('area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr'),
-
- // 自闭合的标签
- voidTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),
-
- // html 实体
- entities: {
- lt: '<',
- gt: '>',
- quot: '"',
- apos: "'",
- ensp: '\u2002',
- emsp: '\u2003',
- nbsp: '\xA0',
- semi: ';',
- ndash: '–',
- mdash: '—',
- middot: '·',
- lsquo: '‘',
- rsquo: '’',
- ldquo: '“',
- rdquo: '”',
- bull: '•',
- hellip: '…',
- larr: '←',
- uarr: '↑',
- rarr: '→',
- darr: '↓'
- },
-
- // 默认的标签样式
- tagStyle: {
- // #ifndef APP-PLUS-NVUE
- address: 'font-style:italic',
- big: 'display:inline;font-size:1.2em',
- caption: 'display:table-caption;text-align:center',
- center: 'text-align:center',
- cite: 'font-style:italic',
- dd: 'margin-left:40px',
- mark: 'background-color:yellow',
- pre: 'font-family:monospace;white-space:pre',
- s: 'text-decoration:line-through',
- small: 'display:inline;font-size:0.8em',
- strike: 'text-decoration:line-through',
- u: 'text-decoration:underline'
- // #endif
- },
-
- // svg 大小写对照表
- svgDict: {
- animatetransform: 'animateTransform',
- lineargradient: 'linearGradient',
- viewbox: 'viewBox',
- attributename: 'attributeName',
- repeatcount: 'repeatCount',
- repeatdur: 'repeatDur'
- }
-}
-const tagSelector={}
-const {
- windowWidth,
- // #ifdef MP-WEIXIN
- system
- // #endif
-} = uni.getSystemInfoSync()
-const blankChar = makeMap(' ,\r,\n,\t,\f')
-let idIndex = 0
-
-// #ifdef H5 || APP-PLUS
-config.ignoreTags.iframe = undefined
-config.trustTags.iframe = true
-config.ignoreTags.embed = undefined
-config.trustTags.embed = true
-// #endif
-// #ifdef APP-PLUS-NVUE
-config.ignoreTags.source = undefined
-config.ignoreTags.style = undefined
-// #endif
-
-/**
- * @description 创建 map
- * @param {String} str 逗号分隔
- */
-function makeMap (str) {
- const map = Object.create(null)
- const list = str.split(',')
- for (let i = list.length; i--;) {
- map[list[i]] = true
- }
- return map
-}
-
-/**
- * @description 解码 html 实体
- * @param {String} str 要解码的字符串
- * @param {Boolean} amp 要不要解码 &
- * @returns {String} 解码后的字符串
- */
-function decodeEntity (str, amp) {
- let i = str.indexOf('&')
- while (i !== -1) {
- const j = str.indexOf(';', i + 3)
- let code
- if (j === -1) break
- if (str[i + 1] === '#') {
- // { 形式的实体
- code = parseInt((str[i + 2] === 'x' ? '0' : '') + str.substring(i + 2, j))
- if (!isNaN(code)) {
- str = str.substr(0, i) + String.fromCharCode(code) + str.substr(j + 1)
- }
- } else {
- // 形式的实体
- code = str.substring(i + 1, j)
- if (config.entities[code] || (code === 'amp' && amp)) {
- str = str.substr(0, i) + (config.entities[code] || '&') + str.substr(j + 1)
- }
- }
- i = str.indexOf('&', i + 1)
- }
- return str
-}
-
-/**
- * @description 合并多个块级标签,加快长内容渲染
- * @param {Array} nodes 要合并的标签数组
- */
-function mergeNodes (nodes) {
- let i = nodes.length - 1
- for (let j = i; j >= -1; j--) {
- if (j === -1 || nodes[j].c || !nodes[j].name || (nodes[j].name !== 'div' && nodes[j].name !== 'p' && nodes[j].name[0] !== 'h') || (nodes[j].attrs.style || '').includes('inline')) {
- if (i - j >= 5) {
- nodes.splice(j + 1, i - j, {
- name: 'div',
- attrs: {},
- children: nodes.slice(j + 1, i + 1)
- })
- }
- i = j - 1
- }
- }
-}
-
-/**
- * @description html 解析器
- * @param {Object} vm 组件实例
- */
-function Parser (vm) {
- this.options = vm || {}
- this.tagStyle = Object.assign({}, config.tagStyle, this.options.tagStyle)
- this.imgList = vm.imgList || []
- this.imgList._unloadimgs = 0
- this.plugins = vm.plugins || []
- this.attrs = Object.create(null)
- this.stack = []
- this.nodes = []
- this.pre = (this.options.containerStyle || '').includes('white-space') && this.options.containerStyle.includes('pre') ? 2 : 0
-}
-
-/**
- * @description 执行解析
- * @param {String} content 要解析的文本
- */
-Parser.prototype.parse = function (content) {
- // 插件处理
- for (let i = this.plugins.length; i--;) {
- if (this.plugins[i].onUpdate) {
- content = this.plugins[i].onUpdate(content, config) || content
- }
- }
-
- new Lexer(this).parse(content)
- // 出栈未闭合的标签
- while (this.stack.length) {
- this.popNode()
- }
- if (this.nodes.length > 50) {
- mergeNodes(this.nodes)
- }
- return this.nodes
-}
-
-/**
- * @description 将标签暴露出来(不被 rich-text 包含)
- */
-Parser.prototype.expose = function () {
- // #ifndef APP-PLUS-NVUE
- for (let i = this.stack.length; i--;) {
- const item = this.stack[i]
- if (item.c || item.name === 'a' || item.name === 'video' || item.name === 'audio') return
- item.c = 1
- }
- // #endif
-}
-
-/**
- * @description 处理插件
- * @param {Object} node 要处理的标签
- * @returns {Boolean} 是否要移除此标签
- */
-Parser.prototype.hook = function (node) {
- for (let i = this.plugins.length; i--;) {
- if (this.plugins[i].onParse && this.plugins[i].onParse(node, this) === false) {
- return false
- }
- }
- return true
-}
-
-/**
- * @description 将链接拼接上主域名
- * @param {String} url 需要拼接的链接
- * @returns {String} 拼接后的链接
- */
-Parser.prototype.getUrl = function (url) {
- const domain = this.options.domain
- if (url[0] === '/') {
- if (url[1] === '/') {
- // // 开头的补充协议名
- url = (domain ? domain.split('://')[0] : 'http') + ':' + url
- } else if (domain) {
- // 否则补充整个域名
- url = domain + url
- } /* #ifdef APP-PLUS */ else {
- url = plus.io.convertLocalFileSystemURL(url)
- } /* #endif */
- } else if (!url.includes('data:') && !url.includes('://')) {
- if (domain) {
- url = domain + '/' + url
- } /* #ifdef APP-PLUS */ else {
- url = plus.io.convertLocalFileSystemURL(url)
- } /* #endif */
- }
- return url
-}
-
-/**
- * @description 解析样式表
- * @param {Object} node 标签
- * @returns {Object}
- */
-Parser.prototype.parseStyle = function (node) {
- const attrs = node.attrs
- const list = (this.tagStyle[node.name] || '').split(';').concat((attrs.style || '').split(';'))
- const styleObj = {}
- let tmp = ''
-
- if (attrs.id && !this.xml) {
- // 暴露锚点
- if (this.options.useAnchor) {
- this.expose()
- } else if (node.name !== 'img' && node.name !== 'a' && node.name !== 'video' && node.name !== 'audio') {
- attrs.id = undefined
- }
- }
-
- // 转换 width 和 height 属性
- if (attrs.width) {
- styleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px')
- attrs.width = undefined
- }
- if (attrs.height) {
- styleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px')
- attrs.height = undefined
- }
-
- for (let i = 0, len = list.length; i < len; i++) {
- const info = list[i].split(':')
- if (info.length < 2) continue
- const key = info.shift().trim().toLowerCase()
- let value = info.join(':').trim()
- if ((value[0] === '-' && value.lastIndexOf('-') > 0) || value.includes('safe')) {
- // 兼容性的 css 不压缩
- tmp += `;${key}:${value}`
- } else if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import')) {
- // 重复的样式进行覆盖
- if (value.includes('url')) {
- // 填充链接
- let j = value.indexOf('(') + 1
- if (j) {
- while (value[j] === '"' || value[j] === "'" || blankChar[value[j]]) {
- j++
- }
- value = value.substr(0, j) + this.getUrl(value.substr(j))
- }
- } else if (value.includes('rpx')) {
- // 转换 rpx(rich-text 内部不支持 rpx)
- value = value.replace(/[0-9.]+\s*rpx/g, $ => parseFloat($) * windowWidth / 750 + 'px')
- }
- styleObj[key] = value
- }
- }
-
- node.attrs.style = tmp
- return styleObj
-}
-
-/**
- * @description 解析到标签名
- * @param {String} name 标签名
- * @private
- */
-Parser.prototype.onTagName = function (name) {
- this.tagName = this.xml ? name : name.toLowerCase()
- if (this.tagName === 'svg') {
- this.xml = (this.xml || 0) + 1 // svg 标签内大小写敏感
- }
-}
-
-/**
- * @description 解析到属性名
- * @param {String} name 属性名
- * @private
- */
-Parser.prototype.onAttrName = function (name) {
- name = this.xml ? name : name.toLowerCase()
- if (name.substr(0, 5) === 'data-') {
- if (name === 'data-src' && !this.attrs.src) {
- // data-src 自动转为 src
- this.attrName = 'src'
- } else if (this.tagName === 'img' || this.tagName === 'a') {
- // a 和 img 标签保留 data- 的属性,可以在 imgtap 和 linktap 事件中使用
- this.attrName = name
- } else {
- // 剩余的移除以减小大小
- this.attrName = undefined
- }
- } else {
- this.attrName = name
- this.attrs[name] = 'T' // boolean 型属性缺省设置
- }
-}
-
-/**
- * @description 解析到属性值
- * @param {String} val 属性值
- * @private
- */
-Parser.prototype.onAttrVal = function (val) {
- const name = this.attrName || ''
- if (name === 'style' || name === 'href') {
- // 部分属性进行实体解码
- this.attrs[name] = decodeEntity(val, true)
- } else if (name.includes('src')) {
- // 拼接主域名
- this.attrs[name] = this.getUrl(decodeEntity(val, true))
- } else if (name) {
- this.attrs[name] = val
- }
-}
-
-/**
- * @description 解析到标签开始
- * @param {Boolean} selfClose 是否有自闭合标识 />
- * @private
- */
-Parser.prototype.onOpenTag = function (selfClose) {
- // 拼装 node
- const node = Object.create(null)
- node.name = this.tagName
- node.attrs = this.attrs
- // 避免因为自动 diff 使得 type 被设置为 null 导致部分内容不显示
- if (this.options.nodes.length) {
- node.type = 'node'
- }
- this.attrs = Object.create(null)
-
- const attrs = node.attrs
- const parent = this.stack[this.stack.length - 1]
- const siblings = parent ? parent.children : this.nodes
- const close = this.xml ? selfClose : config.voidTags[node.name]
-
- // 替换标签名选择器
- if (tagSelector[node.name]) {
- attrs.class = tagSelector[node.name] + (attrs.class ? ' ' + attrs.class : '')
- }
-
- // 转换 embed 标签
- if (node.name === 'embed') {
- // #ifndef H5 || APP-PLUS
- const src = attrs.src || ''
- // 按照后缀名和 type 将 embed 转为 video 或 audio
- if (src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8') || (attrs.type || '').includes('video')) {
- node.name = 'video'
- } else if (src.includes('.mp3') || src.includes('.wav') || src.includes('.aac') || src.includes('.m4a') || (attrs.type || '').includes('audio')) {
- node.name = 'audio'
- }
- if (attrs.autostart) {
- attrs.autoplay = 'T'
- }
- attrs.controls = 'T'
- // #endif
- // #ifdef H5 || APP-PLUS
- this.expose()
- // #endif
- }
-
- // #ifndef APP-PLUS-NVUE
- // 处理音视频
- if (node.name === 'video' || node.name === 'audio') {
- // 设置 id 以便获取 context
- if (node.name === 'video' && !attrs.id) {
- attrs.id = 'v' + idIndex++
- }
- // 没有设置 controls 也没有设置 autoplay 的自动设置 controls
- if (!attrs.controls && !attrs.autoplay) {
- attrs.controls = 'T'
- }
- // 用数组存储所有可用的 source
- node.src = []
- if (attrs.src) {
- node.src.push(attrs.src)
- attrs.src = undefined
- }
- this.expose()
- }
- // #endif
-
- // 处理自闭合标签
- if (close) {
- if (!this.hook(node) || config.ignoreTags[node.name]) {
- // 通过 base 标签设置主域名
- if (node.name === 'base' && !this.options.domain) {
- this.options.domain = attrs.href
- } /* #ifndef APP-PLUS-NVUE */ else if (node.name === 'source' && parent && (parent.name === 'video' || parent.name === 'audio') && attrs.src) {
- // 设置 source 标签(仅父节点为 video 或 audio 时有效)
- parent.src.push(attrs.src)
- } /* #endif */
- return
- }
-
- // 解析 style
- const styleObj = this.parseStyle(node)
-
- // 处理图片
- if (node.name === 'img') {
- if (attrs.src) {
- // 标记 webp
- if (attrs.src.includes('webp')) {
- node.webp = 'T'
- }
- // data url 图片如果没有设置 original-src 默认为不可预览的小图片
- if (attrs.src.includes('data:') && !attrs['original-src']) {
- attrs.ignore = 'T'
- }
- if (!attrs.ignore || node.webp || attrs.src.includes('cloud://')) {
- for (let i = this.stack.length; i--;) {
- const item = this.stack[i]
- if (item.name === 'a') {
- node.a = item.attrs
- }
- if (item.name === 'table' && !node.webp && !attrs.src.includes('cloud://')) {
- if (!styleObj.display || styleObj.display.includes('inline')) {
- node.t = 'inline-block'
- } else {
- node.t = styleObj.display
- }
- styleObj.display = undefined
- }
- // #ifndef H5 || APP-PLUS
- const style = item.attrs.style || ''
- if (style.includes('flex:') && !style.includes('flex:0') && !style.includes('flex: 0') && (!styleObj.width || parseInt(styleObj.width) > 100)) {
- styleObj.width = '100% !important'
- styleObj.height = ''
- for (let j = i + 1; j < this.stack.length; j++) {
- this.stack[j].attrs.style = (this.stack[j].attrs.style || '').replace('inline-', '')
- }
- } else if (style.includes('flex') && styleObj.width === '100%') {
- for (let j = i + 1; j < this.stack.length; j++) {
- const style = this.stack[j].attrs.style || ''
- if (!style.includes(';width') && !style.includes(' width') && style.indexOf('width') !== 0) {
- styleObj.width = ''
- break
- }
- }
- } else if (style.includes('inline-block')) {
- if (styleObj.width && styleObj.width[styleObj.width.length - 1] === '%') {
- item.attrs.style += ';max-width:' + styleObj.width
- styleObj.width = ''
- } else {
- item.attrs.style += ';max-width:100%'
- }
- }
- // #endif
- item.c = 1
- }
- attrs.i = this.imgList.length.toString()
- let src = attrs['original-src'] || attrs.src
- // #ifndef H5 || MP-ALIPAY || APP-PLUS || MP-360
- if (this.imgList.includes(src)) {
- // 如果有重复的链接则对域名进行随机大小写变换避免预览时错位
- let i = src.indexOf('://')
- if (i !== -1) {
- i += 3
- let newSrc = src.substr(0, i)
- for (; i < src.length; i++) {
- if (src[i] === '/') break
- newSrc += Math.random() > 0.5 ? src[i].toUpperCase() : src[i]
- }
- newSrc += src.substr(i)
- src = newSrc
- }
- }
- // #endif
- this.imgList.push(src)
- if (!node.t) {
- this.imgList._unloadimgs += 1
- }
- // #ifdef H5 || APP-PLUS
- if (this.options.lazyLoad) {
- attrs['data-src'] = attrs.src
- attrs.src = undefined
- }
- // #endif
- }
- }
- if (styleObj.display === 'inline') {
- styleObj.display = ''
- }
- // #ifndef APP-PLUS-NVUE
- if (attrs.ignore) {
- styleObj['max-width'] = styleObj['max-width'] || '100%'
- attrs.style += ';-webkit-touch-callout:none'
- }
- // #endif
- // 设置的宽度超出屏幕,为避免变形,高度转为自动
- if (parseInt(styleObj.width) > windowWidth) {
- styleObj.height = undefined
- }
- // 记录是否设置了宽高
- if (!isNaN(parseInt(styleObj.width))) {
- node.w = 'T'
- }
- if (!isNaN(parseInt(styleObj.height)) && (!styleObj.height.includes('%') || (parent && (parent.attrs.style || '').includes('height')))) {
- node.h = 'T'
- }
- } else if (node.name === 'svg') {
- siblings.push(node)
- this.stack.push(node)
- this.popNode()
- return
- }
- for (const key in styleObj) {
- if (styleObj[key]) {
- attrs.style += `;${key}:${styleObj[key].replace(' !important', '')}`
- }
- }
- attrs.style = attrs.style.substr(1) || undefined
- // #ifdef (MP-WEIXIN || MP-QQ) && VUE3
- if (!attrs.style) {
- delete attrs.style
- }
- // #endif
- } else {
- if ((node.name === 'pre' || ((attrs.style || '').includes('white-space') && attrs.style.includes('pre'))) && this.pre !== 2) {
- this.pre = node.pre = 1
- }
- node.children = []
- this.stack.push(node)
- }
-
- // 加入节点树
- siblings.push(node)
-}
-
-/**
- * @description 解析到标签结束
- * @param {String} name 标签名
- * @private
- */
-Parser.prototype.onCloseTag = function (name) {
- // 依次出栈到匹配为止
- name = this.xml ? name : name.toLowerCase()
- let i
- for (i = this.stack.length; i--;) {
- if (this.stack[i].name === name) break
- }
- if (i !== -1) {
- while (this.stack.length > i) {
- this.popNode()
- }
- } else if (name === 'p' || name === 'br') {
- const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes
- siblings.push({
- name,
- attrs: {
- class: tagSelector[name] || '',
- style: this.tagStyle[name] || ''
- }
- })
- }
-}
-
-/**
- * @description 处理标签出栈
- * @private
- */
-Parser.prototype.popNode = function () {
- const editable = this.options.editable
- const node = this.stack.pop()
- let attrs = node.attrs
- const children = node.children
- const parent = this.stack[this.stack.length - 1]
- const siblings = parent ? parent.children : this.nodes
-
- if (!this.hook(node) || config.ignoreTags[node.name]) {
- // 获取标题
- if (node.name === 'title' && children.length && children[0].type === 'text' && this.options.setTitle) {
- uni.setNavigationBarTitle({
- title: children[0].text
- })
- }
- siblings.pop()
- return
- }
-
- if (node.pre && this.pre !== 2) {
- // 是否合并空白符标识
- this.pre = node.pre = undefined
- for (let i = this.stack.length; i--;) {
- if (this.stack[i].pre) {
- this.pre = 1
- }
- }
- }
-
- const styleObj = {}
-
- // 转换 svg
- if (node.name === 'svg') {
- if (this.xml > 1) {
- // 多层 svg 嵌套
- this.xml--
- return
- }
- // #ifdef APP-PLUS-NVUE
- (function traversal (node) {
- if (node.name) {
- // 调整 svg 的大小写
- node.name = config.svgDict[node.name] || node.name
- for (const item in node.attrs) {
- if (config.svgDict[item]) {
- node.attrs[config.svgDict[item]] = node.attrs[item]
- node.attrs[item] = undefined
- }
- }
- for (let i = 0; i < (node.children || []).length; i++) {
- traversal(node.children[i])
- }
- }
- })(node)
- // #endif
- // #ifndef APP-PLUS-NVUE
- let src = ''
- const style = attrs.style
- attrs.style = ''
- attrs.xmlns = 'http://www.w3.org/2000/svg';
- (function traversal (node) {
- if (node.type === 'text') {
- src += node.text
- return
- }
- const name = config.svgDict[node.name] || node.name
- src += '<' + name
- for (const item in node.attrs) {
- const val = node.attrs[item]
- if (val) {
- src += ` ${config.svgDict[item] || item}="${val}"`
- }
- }
- if (!node.children) {
- src += '/>'
- } else {
- src += '>'
- for (let i = 0; i < node.children.length; i++) {
- traversal(node.children[i])
- }
- src += '' + name + '>'
- }
- })(node)
- node.name = 'img'
- node.attrs = {
- src: 'data:image/svg+xml;utf8,' + src.replace(/#/g, '%23'),
- style,
- ignore: 'T'
- }
- node.children = undefined
- // #endif
- this.xml = false
- return
- }
-
- // #ifndef APP-PLUS-NVUE
- // 转换 align 属性
- if (attrs.align) {
- if (node.name === 'table') {
- if (attrs.align === 'center') {
- styleObj['margin-inline-start'] = styleObj['margin-inline-end'] = 'auto'
- } else {
- styleObj.float = attrs.align
- }
- } else {
- styleObj['text-align'] = attrs.align
- }
- attrs.align = undefined
- }
-
- // 转换 dir 属性
- if (attrs.dir) {
- styleObj.direction = attrs.dir
- attrs.dir = undefined
- }
-
- // 转换 font 标签的属性
- if (node.name === 'font') {
- if (attrs.color) {
- styleObj.color = attrs.color
- attrs.color = undefined
- }
- if (attrs.face) {
- styleObj['font-family'] = attrs.face
- attrs.face = undefined
- }
- if (attrs.size) {
- let size = parseInt(attrs.size)
- if (!isNaN(size)) {
- if (size < 1) {
- size = 1
- } else if (size > 7) {
- size = 7
- }
- styleObj['font-size'] = ['x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'xxx-large'][size - 1]
- }
- attrs.size = undefined
- }
- }
- // #endif
-
- // 一些编辑器的自带 class
- if ((attrs.class || '').includes('align-center')) {
- styleObj['text-align'] = 'center'
- }
-
- Object.assign(styleObj, this.parseStyle(node))
-
- if (node.name !== 'table' && parseInt(styleObj.width) > windowWidth) {
- styleObj['max-width'] = '100%'
- styleObj['box-sizing'] = 'border-box'
- }
-
- // #ifndef APP-PLUS-NVUE
- if (config.blockTags[node.name]) {
- if (!editable) {
- node.name = 'div'
- }
- } else if (!config.trustTags[node.name] && !this.xml) {
- // 未知标签转为 span,避免无法显示
- node.name = 'span'
- }
-
- if (node.name === 'a' || node.name === 'ad'
- // #ifdef H5 || APP-PLUS
- || node.name === 'iframe' // eslint-disable-line
- // #endif
- ) {
- this.expose()
- } else if (node.name === 'video') {
- if ((styleObj.height || '').includes('auto')) {
- styleObj.height = undefined
- }
- /* #ifdef APP-PLUS */
- let str = ''
- for (let i = 0; i < node.src.length; i++) {
- str += ''
- }
- str += ' '
- node.html = str
- /* #endif */
- } else if ((node.name === 'ul' || node.name === 'ol') && (node.c || editable)) {
- // 列表处理
- const types = {
- a: 'lower-alpha',
- A: 'upper-alpha',
- i: 'lower-roman',
- I: 'upper-roman'
- }
- if (types[attrs.type]) {
- attrs.style += ';list-style-type:' + types[attrs.type]
- attrs.type = undefined
- }
- for (let i = children.length; i--;) {
- if (children[i].name === 'li') {
- children[i].c = 1
- }
- }
- } else if (node.name === 'table') {
- // 表格处理
- // cellpadding、cellspacing、border 这几个常用表格属性需要通过转换实现
- let padding = parseFloat(attrs.cellpadding)
- let spacing = parseFloat(attrs.cellspacing)
- const border = parseFloat(attrs.border)
- const bordercolor = styleObj['border-color']
- const borderstyle = styleObj['border-style']
- if ((node.c || editable)) {
- // padding 和 spacing 默认 2
- if (isNaN(padding)) {
- padding = 2
- }
- if (isNaN(spacing)) {
- spacing = 2
- }
- }
- if (border) {
- attrs.style += `;border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'}`
- }
- if (node.flag && (node.c || editable)) {
- // 有 colspan 或 rowspan 且含有链接的表格通过 grid 布局实现
- styleObj.display = 'grid'
- if (spacing) {
- styleObj['grid-gap'] = spacing + 'px'
- styleObj.padding = spacing + 'px'
- } else if (border) {
- // 无间隔的情况下避免边框重叠
- attrs.style += ';border-left:0;border-top:0'
- }
-
- const width = [] // 表格的列宽
- const trList = [] // tr 列表
- const cells = [] // 保存新的单元格
- const map = {}; // 被合并单元格占用的格子
-
- (function traversal (nodes) {
- for (let i = 0; i < nodes.length; i++) {
- if (nodes[i].name === 'tr') {
- trList.push(nodes[i])
- } else {
- traversal(nodes[i].children || [])
- }
- }
- })(children)
-
- for (let row = 1; row <= trList.length; row++) {
- let col = 1
- for (let j = 0; j < trList[row - 1].children.length; j++) {
- const td = trList[row - 1].children[j]
- if (td.name === 'td' || td.name === 'th') {
- // 这个格子被上面的单元格占用,则列号++
- while (map[row + '.' + col]) {
- col++
- }
- if (editable) {
- td.r = row
- }
- let style = td.attrs.style || ''
- let start = style.indexOf('width') ? style.indexOf(';width') : 0
- // 提取出 td 的宽度
- if (start !== -1) {
- let end = style.indexOf(';', start + 6)
- if (end === -1) {
- end = style.length
- }
- if (!td.attrs.colspan) {
- width[col] = style.substring(start ? start + 7 : 6, end)
- }
- style = style.substr(0, start) + style.substr(end)
- }
- // 设置竖直对齐
- style += ';display:flex'
- start = style.indexOf('vertical-align')
- if (start !== -1) {
- const val = style.substr(start + 15, 10)
- if (val.includes('middle')) {
- style += ';align-items:center'
- } else if (val.includes('bottom')) {
- style += ';align-items:flex-end'
- }
- } else {
- style += ';align-items:center'
- }
- // 设置水平对齐
- start = style.indexOf('text-align')
- if (start !== -1) {
- const val = style.substr(start + 11, 10)
- if (val.includes('center')) {
- style += ';justify-content: center'
- } else if (val.includes('right')) {
- style += ';justify-content: right'
- }
- }
- style = (border ? `;border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'}` + (spacing ? '' : ';border-right:0;border-bottom:0') : '') + (padding ? `;padding:${padding}px` : '') + ';' + style
- // 处理列合并
- if (td.attrs.colspan) {
- style += `;grid-column-start:${col};grid-column-end:${col + parseInt(td.attrs.colspan)}`
- if (!td.attrs.rowspan) {
- style += `;grid-row-start:${row};grid-row-end:${row + 1}`
- }
- col += parseInt(td.attrs.colspan) - 1
- }
- // 处理行合并
- if (td.attrs.rowspan) {
- style += `;grid-row-start:${row};grid-row-end:${row + parseInt(td.attrs.rowspan)}`
- if (!td.attrs.colspan) {
- style += `;grid-column-start:${col};grid-column-end:${col + 1}`
- }
- // 记录下方单元格被占用
- for (let rowspan = 1; rowspan < td.attrs.rowspan; rowspan++) {
- for (let colspan = 0; colspan < (td.attrs.colspan || 1); colspan++) {
- map[(row + rowspan) + '.' + (col - colspan)] = 1
- }
- }
- }
- if (style) {
- td.attrs.style = style
- }
- cells.push(td)
- col++
- }
- }
- if (row === 1) {
- let temp = ''
- for (let i = 1; i < col; i++) {
- temp += (width[i] ? width[i] : 'auto') + ' '
- }
- styleObj['grid-template-columns'] = temp
- }
- }
- node.children = cells
- } else {
- // 没有使用合并单元格的表格通过 table 布局实现
- if ((node.c || editable)) {
- styleObj.display = 'table'
- }
- if (!isNaN(spacing)) {
- styleObj['border-spacing'] = spacing + 'px'
- }
- if (border || padding) {
- // 遍历
- (function traversal (nodes) {
- for (let i = 0; i < nodes.length; i++) {
- const td = nodes[i]
- if (td.name === 'th' || td.name === 'td') {
- if (border) {
- td.attrs.style = `border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'};${td.attrs.style || ''}`
- }
- if (padding) {
- td.attrs.style = `padding:${padding}px;${td.attrs.style || ''}`
- }
- } else if (td.children) {
- traversal(td.children)
- }
- }
- })(children)
- }
- }
- // 给表格添加一个单独的横向滚动层
- if (this.options.scrollTable && !(attrs.style || '').includes('inline')) {
- const table = Object.assign({}, node)
- node.name = 'div'
- node.attrs = {
- style: 'overflow:auto'
- }
- node.children = [table]
- attrs = table.attrs
- }
- } else if ((node.name === 'td' || node.name === 'th') && (attrs.colspan || attrs.rowspan)) {
- for (let i = this.stack.length; i--;) {
- if (this.stack[i].name === 'table') {
- this.stack[i].flag = 1 // 指示含有合并单元格
- break
- }
- }
- } else if (node.name === 'ruby') {
- // 转换 ruby
- node.name = 'span'
- for (let i = 0; i < children.length - 1; i++) {
- if (children[i].type === 'text' && children[i + 1].name === 'rt') {
- children[i] = {
- name: 'div',
- attrs: {
- style: 'display:inline-block;text-align:center'
- },
- children: [{
- name: 'div',
- attrs: {
- style: 'font-size:50%;' + (children[i + 1].attrs.style || '')
- },
- children: children[i + 1].children
- }, children[i]]
- }
- children.splice(i + 1, 1)
- }
- }
- } else if (!editable && node.c ) {
- (function traversal (node) {
- node.c = 2
- for (let i = node.children.length; i--;) {
- const child = node.children[i]
- // #ifdef (MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE3
- if (child.name && (config.inlineTags[child.name] || ((child.attrs.style || '').includes('inline') && child.children)) && !child.c) {
- traversal(child)
- }
- // #endif
- if (!child.c || child.name === 'table') {
- node.c = 1
- }
- }
- })(node)
- }
-
- if ((styleObj.display || '').includes('flex') && !(node.c || editable)) {
- for (let i = children.length; i--;) {
- const item = children[i]
- if (item.f) {
- item.attrs.style = (item.attrs.style || '') + item.f
- item.f = undefined
- }
- }
- }
- // flex 布局时部分样式需要提取到 rich-text 外层
- const flex = parent && ((parent.attrs.style || '').includes('flex') || (parent.attrs.style || '').includes('grid'))
- // #ifdef MP-WEIXIN
- // 检查基础库版本 virtualHost 是否可用
- && !((node.c || editable) && wx.getNFCAdapter) // eslint-disable-line
- // #endif
- // #ifndef MP-WEIXIN || MP-QQ || MP-BAIDU || MP-TOUTIAO
- && !node.c // eslint-disable-line
- // #endif
- if (flex) {
- node.f = ';max-width:100%'
- }
-
- if (children.length >= 50 && (node.c || editable) && !(styleObj.display || '').includes('flex')) {
- mergeNodes(children)
- }
- // #endif
-
- for (const key in styleObj) {
- if (styleObj[key]) {
- const val = `;${key}:${styleObj[key].replace(' !important', '')}`
- /* #ifndef APP-PLUS-NVUE */
- if (flex && ((key.includes('flex') && key !== 'flex-direction') || key === 'align-self' || key.includes('grid') || styleObj[key][0] === '-' || (key.includes('width') && val.includes('%')))) {
- node.f += val
- if (key === 'width') {
- attrs.style += ';width:100%'
- }
- } else /* #endif */ {
- attrs.style += val
- }
- }
- }
- attrs.style = attrs.style.substr(1) || undefined
- // #ifdef (MP-WEIXIN || MP-QQ) && VUE3
- for (const key in attrs) {
- if (!attrs[key]) {
- delete attrs[key]
- }
- }
- // #endif
-}
-
-/**
- * @description 解析到文本
- * @param {String} text 文本内容
- */
-Parser.prototype.onText = function (text) {
- if (!this.pre) {
- // 合并空白符
- let trim = ''
- let flag
- for (let i = 0, len = text.length; i < len; i++) {
- if (!blankChar[text[i]]) {
- trim += text[i]
- } else {
- if (trim[trim.length - 1] !== ' ') {
- trim += ' '
- }
- if (text[i] === '\n' && !flag) {
- flag = true
- }
- }
- }
- // 去除含有换行符的空串
- if (trim === ' ') {
- if (flag) return
- // #ifdef VUE3
- else {
- const parent = this.stack[this.stack.length - 1]
- if (parent && parent.name[0] === 't') return
- }
- // #endif
- }
- text = trim
- }
- const node = Object.create(null)
- node.type = 'text'
- // #ifdef (MP-BAIDU || MP-ALIPAY || MP-TOUTIAO) && VUE3
- node.attrs = {}
- // #endif
- node.text = decodeEntity(text)
- if (this.hook(node)) {
- // #ifdef MP-WEIXIN
- if (this.options.selectable === 'force' && system.includes('iOS') && !uni.canIUse('rich-text.user-select')) {
- this.expose()
- }
- // #endif
- const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes
- siblings.push(node)
- }
-}
-
-/**
- * @description html 词法分析器
- * @param {Object} handler 高层处理器
- */
-function Lexer (handler) {
- this.handler = handler
-}
-
-/**
- * @description 执行解析
- * @param {String} content 要解析的文本
- */
-Lexer.prototype.parse = function (content) {
- this.content = content || ''
- this.i = 0 // 标记解析位置
- this.start = 0 // 标记一个单词的开始位置
- this.state = this.text // 当前状态
- for (let len = this.content.length; this.i !== -1 && this.i < len;) {
- this.state()
- }
-}
-
-/**
- * @description 检查标签是否闭合
- * @param {String} method 如果闭合要进行的操作
- * @returns {Boolean} 是否闭合
- * @private
- */
-Lexer.prototype.checkClose = function (method) {
- const selfClose = this.content[this.i] === '/'
- if (this.content[this.i] === '>' || (selfClose && this.content[this.i + 1] === '>')) {
- if (method) {
- this.handler[method](this.content.substring(this.start, this.i))
- }
- this.i += selfClose ? 2 : 1
- this.start = this.i
- this.handler.onOpenTag(selfClose)
- if (this.handler.tagName === 'script') {
- this.i = this.content.indexOf('', this.i)
- if (this.i !== -1) {
- this.i += 2
- this.start = this.i
- }
- this.state = this.endTag
- } else {
- this.state = this.text
- }
- return true
- }
- return false
-}
-
-/**
- * @description 文本状态
- * @private
- */
-Lexer.prototype.text = function () {
- this.i = this.content.indexOf('<', this.i) // 查找最近的标签
- if (this.i === -1) {
- // 没有标签了
- if (this.start < this.content.length) {
- this.handler.onText(this.content.substring(this.start, this.content.length))
- }
- return
- }
- const c = this.content[this.i + 1]
- if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
- // 标签开头
- if (this.start !== this.i) {
- this.handler.onText(this.content.substring(this.start, this.i))
- }
- this.start = ++this.i
- this.state = this.tagName
- } else if (c === '/' || c === '!' || c === '?') {
- if (this.start !== this.i) {
- this.handler.onText(this.content.substring(this.start, this.i))
- }
- const next = this.content[this.i + 2]
- if (c === '/' && ((next >= 'a' && next <= 'z') || (next >= 'A' && next <= 'Z'))) {
- // 标签结尾
- this.i += 2
- this.start = this.i
- this.state = this.endTag
- return
- }
- // 处理注释
- let end = '-->'
- if (c !== '!' || this.content[this.i + 2] !== '-' || this.content[this.i + 3] !== '-') {
- end = '>'
- }
- this.i = this.content.indexOf(end, this.i)
- if (this.i !== -1) {
- this.i += end.length
- this.start = this.i
- }
- } else {
- this.i++
- }
-}
-
-/**
- * @description 标签名状态
- * @private
- */
-Lexer.prototype.tagName = function () {
- if (blankChar[this.content[this.i]]) {
- // 解析到标签名
- this.handler.onTagName(this.content.substring(this.start, this.i))
- while (blankChar[this.content[++this.i]]);
- if (this.i < this.content.length && !this.checkClose()) {
- this.start = this.i
- this.state = this.attrName
- }
- } else if (!this.checkClose('onTagName')) {
- this.i++
- }
-}
-
-/**
- * @description 属性名状态
- * @private
- */
-Lexer.prototype.attrName = function () {
- let c = this.content[this.i]
- if (blankChar[c] || c === '=') {
- // 解析到属性名
- this.handler.onAttrName(this.content.substring(this.start, this.i))
- let needVal = c === '='
- const len = this.content.length
- while (++this.i < len) {
- c = this.content[this.i]
- if (!blankChar[c]) {
- if (this.checkClose()) return
- if (needVal) {
- // 等号后遇到第一个非空字符
- this.start = this.i
- this.state = this.attrVal
- return
- }
- if (this.content[this.i] === '=') {
- needVal = true
- } else {
- this.start = this.i
- this.state = this.attrName
- return
- }
- }
- }
- } else if (!this.checkClose('onAttrName')) {
- this.i++
- }
-}
-
-/**
- * @description 属性值状态
- * @private
- */
-Lexer.prototype.attrVal = function () {
- const c = this.content[this.i]
- const len = this.content.length
- if (c === '"' || c === "'") {
- // 有冒号的属性
- this.start = ++this.i
- this.i = this.content.indexOf(c, this.i)
- if (this.i === -1) return
- this.handler.onAttrVal(this.content.substring(this.start, this.i))
- } else {
- // 没有冒号的属性
- for (; this.i < len; this.i++) {
- if (blankChar[this.content[this.i]]) {
- this.handler.onAttrVal(this.content.substring(this.start, this.i))
- break
- } else if (this.checkClose('onAttrVal')) return
- }
- }
- while (blankChar[this.content[++this.i]]);
- if (this.i < len && !this.checkClose()) {
- this.start = this.i
- this.state = this.attrName
- }
-}
-
-/**
- * @description 结束标签状态
- * @returns {String} 结束的标签名
- * @private
- */
-Lexer.prototype.endTag = function () {
- const c = this.content[this.i]
- if (blankChar[c] || c === '>' || c === '/') {
- this.handler.onCloseTag(this.content.substring(this.start, this.i))
- if (c !== '>') {
- this.i = this.content.indexOf('>', this.i)
- if (this.i === -1) return
- }
- this.start = ++this.i
- this.state = this.text
- } else {
- this.i++
- }
-}
-
-export default Parser
diff --git a/components/mp-html/components/mp-html/style/index.js b/components/mp-html/components/mp-html/style/index.js
deleted file mode 100644
index abfb371..0000000
--- a/components/mp-html/components/mp-html/style/index.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * @fileoverview style 插件
- */
-// #ifndef APP-PLUS-NVUE
-import Parser from './parser'
-// #endif
-
-function Style () {
- this.styles = []
-}
-
-// #ifndef APP-PLUS-NVUE
-Style.prototype.onParse = function (node, vm) {
- // 获取样式
- if (node.name === 'style' && node.children.length && node.children[0].type === 'text') {
- this.styles = this.styles.concat(new Parser().parse(node.children[0].text))
- } else if (node.name) {
- // 匹配样式(对非文本标签)
- // 存储不同优先级的样式 name < class < id < 后代
- let matched = ['', '', '', '']
- for (let i = 0, len = this.styles.length; i < len; i++) {
- const item = this.styles[i]
- let res = match(node, item.key || item.list[item.list.length - 1])
- let j
- if (res) {
- // 后代选择器
- if (!item.key) {
- j = item.list.length - 2
- for (let k = vm.stack.length; j >= 0 && k--;) {
- // 子选择器
- if (item.list[j] === '>') {
- // 错误情况
- if (j < 1 || j > item.list.length - 2) break
- if (match(vm.stack[k], item.list[j - 1])) {
- j -= 2
- } else {
- j++
- }
- } else if (match(vm.stack[k], item.list[j])) {
- j--
- }
- }
- res = 4
- }
- if (item.key || j < 0) {
- // 添加伪类
- if (item.pseudo && node.children) {
- let text
- item.style = item.style.replace(/content:([^;]+)/, (_, $1) => {
- text = $1.replace(/['"]/g, '')
- // 处理 attr 函数
- .replace(/attr\((.+?)\)/, (_, $1) => node.attrs[$1.trim()] || '')
- // 编码 \xxx
- .replace(/\\(\w{4})/, (_, $1) => String.fromCharCode(parseInt($1, 16)))
- return ''
- })
- const pseudo = {
- name: 'span',
- attrs: {
- style: item.style
- },
- children: [{
- type: 'text',
- text
- }]
- }
- if (item.pseudo === 'before') {
- node.children.unshift(pseudo)
- } else {
- node.children.push(pseudo)
- }
- } else {
- matched[res - 1] += item.style + (item.style[item.style.length - 1] === ';' ? '' : ';')
- }
- }
- }
- }
- matched = matched.join('')
- if (matched.length > 2) {
- node.attrs.style = matched + (node.attrs.style || '')
- }
- }
-}
-
-/**
- * @description 匹配样式
- * @param {object} node 要匹配的标签
- * @param {string|string[]} keys 选择器
- * @returns {number} 0:不匹配;1:name 匹配;2:class 匹配;3:id 匹配
- */
-function match (node, keys) {
- function matchItem (key) {
- if (key[0] === '#') {
- // 匹配 id
- if (node.attrs.id && node.attrs.id.trim() === key.substr(1)) return 3
- } else if (key[0] === '.') {
- // 匹配 class
- key = key.substr(1)
- const selectors = (node.attrs.class || '').split(' ')
- for (let i = 0; i < selectors.length; i++) {
- if (selectors[i].trim() === key) return 2
- }
- } else if (node.name === key) {
- // 匹配 name
- return 1
- }
- return 0
- }
-
- // 多选择器交集
- if (keys instanceof Array) {
- let res = 0
- for (let j = 0; j < keys.length; j++) {
- const tmp = matchItem(keys[j])
- // 任意一个不匹配就失败
- if (!tmp) return 0
- // 优先级最大的一个作为最终优先级
- if (tmp > res) {
- res = tmp
- }
- }
- return res
- }
-
- return matchItem(keys)
-}
-// #endif
-
-export default Style
diff --git a/components/mp-html/components/mp-html/style/parser.js b/components/mp-html/components/mp-html/style/parser.js
deleted file mode 100644
index b639334..0000000
--- a/components/mp-html/components/mp-html/style/parser.js
+++ /dev/null
@@ -1,175 +0,0 @@
-const blank = {
- ' ': true,
- '\n': true,
- '\t': true,
- '\r': true,
- '\f': true
-}
-
-function Parser () {
- this.styles = []
- this.selectors = []
-}
-
-/**
- * @description 解析 css 字符串
- * @param {string} content css 内容
- */
-Parser.prototype.parse = function (content) {
- new Lexer(this).parse(content)
- return this.styles
-}
-
-/**
- * @description 解析到一个选择器
- * @param {string} name 名称
- */
-Parser.prototype.onSelector = function (name) {
- // 不支持的选择器
- if (name.includes('[') || name.includes('*') || name.includes('@')) return
- const selector = {}
- // 伪类
- if (name.includes(':')) {
- const info = name.split(':')
- const pseudo = info.pop()
- if (pseudo === 'before' || pseudo === 'after') {
- selector.pseudo = pseudo
- name = info[0]
- } else return
- }
-
- // 分割交集选择器
- function splitItem (str) {
- const arr = []
- let i, start
- for (i = 1, start = 0; i < str.length; i++) {
- if (str[i] === '.' || str[i] === '#') {
- arr.push(str.substring(start, i))
- start = i
- }
- }
- if (!arr.length) {
- return str
- } else {
- arr.push(str.substring(start, i))
- return arr
- }
- }
-
- // 后代选择器
- if (name.includes(' ')) {
- selector.list = []
- const list = name.split(' ')
- for (let i = 0; i < list.length; i++) {
- if (list[i].length) {
- // 拆分子选择器
- const arr = list[i].split('>')
- for (let j = 0; j < arr.length; j++) {
- selector.list.push(splitItem(arr[j]))
- if (j < arr.length - 1) {
- selector.list.push('>')
- }
- }
- }
- }
- } else {
- selector.key = splitItem(name)
- }
-
- this.selectors.push(selector)
-}
-
-/**
- * @description 解析到选择器内容
- * @param {string} content 内容
- */
-Parser.prototype.onContent = function (content) {
- // 并集选择器
- for (let i = 0; i < this.selectors.length; i++) {
- this.selectors[i].style = content
- }
- this.styles = this.styles.concat(this.selectors)
- this.selectors = []
-}
-
-/**
- * @description css 词法分析器
- * @param {object} handler 高层处理器
- */
-function Lexer (handler) {
- this.selector = ''
- this.style = ''
- this.handler = handler
-}
-
-Lexer.prototype.parse = function (content) {
- this.i = 0
- this.content = content
- this.state = this.blank
- for (let len = content.length; this.i < len; this.i++) {
- this.state(content[this.i])
- }
-}
-
-Lexer.prototype.comment = function () {
- this.i = this.content.indexOf('*/', this.i) + 1
- if (!this.i) {
- this.i = this.content.length
- }
-}
-
-Lexer.prototype.blank = function (c) {
- if (!blank[c]) {
- if (c === '/' && this.content[this.i + 1] === '*') {
- this.comment()
- return
- }
- this.selector += c
- this.state = this.name
- }
-}
-
-Lexer.prototype.name = function (c) {
- if (c === '/' && this.content[this.i + 1] === '*') {
- this.comment()
- return
- }
- if (c === '{' || c === ',' || c === ';') {
- this.handler.onSelector(this.selector.trimEnd())
- this.selector = ''
- if (c !== '{') {
- while (blank[this.content[++this.i]]);
- }
- if (this.content[this.i] === '{') {
- this.floor = 1
- this.state = this.val
- } else {
- this.selector += this.content[this.i]
- }
- } else if (blank[c]) {
- this.selector += ' '
- } else {
- this.selector += c
- }
-}
-
-Lexer.prototype.val = function (c) {
- if (c === '/' && this.content[this.i + 1] === '*') {
- this.comment()
- return
- }
- if (c === '{') {
- this.floor++
- } else if (c === '}') {
- this.floor--
- if (!this.floor) {
- this.handler.onContent(this.style)
- this.style = ''
- this.state = this.blank
- return
- }
- }
- this.style += c
-}
-
-export default Parser
diff --git a/components/mp-html/static/app-plus/mp-html/js/handler.js b/components/mp-html/static/app-plus/mp-html/js/handler.js
deleted file mode 100644
index 1d986bd..0000000
--- a/components/mp-html/static/app-plus/mp-html/js/handler.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";function t(t){for(var e=Object.create(null),n=t.attributes.length;n--;)e[t.attributes[n].name]=t.attributes[n].value;return e}function e(){a[1]&&(this.src=a[1],this.onerror=null),this.onclick=null,this.ontouchstart=null,uni.postMessage({data:{action:"onError",source:"img",attrs:t(this)}})}function n(){window.unloadimgs-=1,0===window.unloadimgs&&uni.postMessage({data:{action:"onReady"}})}function o(r,s,c){for(var d=0;d0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;a("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("redirectTo",{url:encodeURI(n)})},getEnv:function(e){window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a("postMessage",e.data||{})}},r=/uni-app/i.test(navigator.userAgent),d=/Html5Plus/i.test(navigator.userAgent),s=/complete|loaded|interactive/;var w=window.my&&navigator.userAgent.indexOf("AlipayClient")>-1;var u=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var c=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var g=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var v=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.qa&&/quickapp/i.test(navigator.userAgent);for(var l,_=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},f=[function(e){if(r||d)return window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&s.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),o},function(e){if(v)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(c)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(w){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(u)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(g)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(p){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){return document.addEventListener("DOMContentLoaded",e),o}],m=0;m.hl-code,.hl-pre{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.hl-pre{padding:1em;margin:.5em 0;overflow:auto}.hl-pre{background:#2d2d2d}.hl-block-comment,.hl-cdata,.hl-comment,.hl-doctype,.hl-prolog{color:#999}.hl-punctuation{color:#ccc}.hl-attr-name,.hl-deleted,.hl-namespace,.hl-tag{color:#e2777a}.hl-function-name{color:#6196cc}.hl-boolean,.hl-function,.hl-number{color:#f08d49}.hl-class-name,.hl-constant,.hl-property,.hl-symbol{color:#f8c555}.hl-atrule,.hl-builtin,.hl-important,.hl-keyword,.hl-selector{color:#cc99cd}.hl-attr-value,.hl-char,.hl-regex,.hl-string,.hl-variable{color:#7ec699}.hl-entity,.hl-operator,.hl-url{color:#67cdcc}.hl-bold,.hl-important{font-weight:700}.hl-italic{font-style:italic}.hl-entity{cursor:help}.hl-inserted{color:green}
\ No newline at end of file
diff --git a/components/notify-dialog/notify-dialog.vue b/components/notify-dialog/notify-dialog.vue
deleted file mode 100644
index 1c248d5..0000000
--- a/components/notify-dialog/notify-dialog.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
- {{ title }}
-
-
-
-
-
-
-
- 点击跳转内容链接
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/plugin-unavailable/plugin-unavailable.vue b/components/plugin-unavailable/plugin-unavailable.vue
deleted file mode 100644
index d4b1bc4..0000000
--- a/components/plugin-unavailable/plugin-unavailable.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-
-
-
-
-
-
- {{ pluginInfo.name }}
-
-
- 未安装/启用插件
-
-
-
- {{ pluginInfo.desc }}
-
-
- {{errorText}}
-
-
-
- 插件地址:{{ pluginInfo.url }}
-
-
-
-
- 复制地址
-
-
- 复制地址
- 提交反馈
-
-
-
-
- 提示:请确保 Halo 博客已安装相关插件
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/restrict-read-skeleton/restrict-read-skeleton.vue b/components/restrict-read-skeleton/restrict-read-skeleton.vue
deleted file mode 100644
index af315be..0000000
--- a/components/restrict-read-skeleton/restrict-read-skeleton.vue
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ tipText }}
-
-
-
- {{ buttonText }}
-
-
-
-
-
-
diff --git a/components/scroll-btn/scroll-btn.vue b/components/scroll-btn/scroll-btn.vue
deleted file mode 100644
index 79a2df7..0000000
--- a/components/scroll-btn/scroll-btn.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/components/vote-card/vote-card.vue b/components/vote-card/vote-card.vue
deleted file mode 100644
index f25c212..0000000
--- a/components/vote-card/vote-card.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
-
-
- {{ vote.spec._uh_type}}
-
-
- {{ vote.spec.title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/wave/wave.vue b/components/wave/wave.vue
deleted file mode 100644
index 1321e3d..0000000
--- a/components/wave/wave.vue
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/config/index.js b/config/index.js
deleted file mode 100644
index d4d85ae..0000000
--- a/config/index.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// 应用设置存储key值
-export const _AppConfigKey = 'APP_GLOBAL_CONFIGS';
-export const _AppMockJsonKey = 'APP_GLOBAL_MOCK_JSON';
-
-// 默认的应用设置
-export const DefaultAppConfigs = {
- basicConfig: {
- tokenConfig: {
- personalToken: "",
- }
- },
- loveConfig: {},
- imagesConfig: {},
- authorConfig: {},
- appConfig: {},
- pluginConfig: {
- votePlugin: {},
- toolsPlugin: {},
- linksPlugin:{},
- linksSubmitPlugin: {},
- doubanPlugin: {
- position: 'bottom'
- },
- },
- pageConfig: {
- homeConfig: {
- pageTitle: "首页",
- useCategory: true,
- bannerConfig: {
- enabled: true,
- showTitle: true,
- showIndicator: true,
- height: "400rpx",
- dotPosition: "right",
- type: "post",
- list: []
- }
- },
- categoryConfig: {
- type: "list"
- },
- momentConfig: {
- useTagRandomColor: true
- }
- },
- auditConfig: {
- auditModeEnabled: false,
- auditModeData: {
- jsonUrl: "",
- jsonData: ""
- }
- }
-}
-
-/**
- * 获取应用设置
- */
-export const getAppConfigs = () => {
- let configs = uni.getStorageSync(_AppConfigKey)
- if (configs) return JSON.parse(configs)
-
- uni.setStorageSync(_AppConfigKey, JSON.stringify(DefaultAppConfigs))
- return DefaultAppConfigs;
-}
-
-/**
- * 保存应用设置
- */
-export const setAppConfigs = (configs) => {
- uni.setStorageSync(_AppConfigKey, JSON.stringify(configs))
-}
-
-
-/**
- * 获取应用模拟数据
- */
-export const getAppMockJson = () => {
- let json = uni.getStorageSync(_AppMockJsonKey)
- if (json) return JSON.parse(json)
-
- uni.setStorageSync(_AppMockJsonKey, JSON.stringify({}))
- return {};
-}
-
-/**
- * 保存应用模拟数据
- */
-export const setAppMockJson = (json) => {
- uni.setStorageSync(_AppMockJsonKey, JSON.stringify(json))
-}
\ No newline at end of file
diff --git a/config/uhalo.config.js b/config/uhalo.config.js
deleted file mode 100644
index 5083f7d..0000000
--- a/config/uhalo.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/** 应用基础配置 */
-const UHaloBaseConfig = Object.freeze({
-
- /** 基础请求域名:你的Halo博客基础域名,注意,域名后面不能带有斜杠【/】 */
- // BASE_API: "",
- // 示例:
- BASE_API: "https://blog.xiaoxiaomo.cn",
-
- // todo:可能有其他配置
-})
-
-export default UHaloBaseConfig;
diff --git a/config/unihalo.mock.json b/config/unihalo.mock.json
deleted file mode 100644
index 6f83287..0000000
--- a/config/unihalo.mock.json
+++ /dev/null
@@ -1,177 +0,0 @@
-{
- "home": {
- "bannerList": [
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- }
- ],
- "categoryList": [
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- }
- ],
- "postList": [
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- }
- ]
- },
- "category": {
- "list": [
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- },
- {
- "title": "uni-halo",
- "desc": "",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": ""
- }
- ]
- },
- "moments": {
- "list": [
- {
- "content": "你好啊,这是我的一条生活记录",
- "time": "2024-05-25 08:59:00",
- "images": [
- "/upload/uni_halo_ad_cover.png",
- "/upload/uni_halo_ad_cover.png",
- "/upload/uni_halo_ad_cover.png"
- ]
- }
- ]
- },
- "gallery": {
- "list": [
- "/upload/uni_halo_ad_cover.png",
- "/upload/uni_halo_ad_cover.png",
- "/upload/uni_halo_ad_cover.png",
- "/upload/uni_halo_ad_cover.png"
- ]
- },
- "archives": {
- "list": [
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- },
- {
- "title": "uni-halo(2.0)开源啦!!!",
- "desc": "uni-halo 2.0 已独立兼容 Halo2.x 应用,欢迎小伙伴们体验。",
- "cover": "/upload/uni_halo_ad_cover.png",
- "time": "2024-05-25 08:59:00"
- }
- ]
- }
-}
diff --git a/env/.env b/env/.env
new file mode 100644
index 0000000..a2bda3b
--- /dev/null
+++ b/env/.env
@@ -0,0 +1,43 @@
+VITE_APP_TITLE='uni-halo'
+VITE_APP_DESC='基于halo开源博客系统API开发的多端博客。'
+VITE_APP_PORT=9000
+
+VITE_UNI_APPID='__UNI__5748B6E'
+VITE_WX_APPID='wx1bb161867082c72f'
+
+# 微信开发者工具 CLI 路径,仅当默认安装路径不正确时配置(就是当 pnpm dev:mp 无法自动打开微信开发者工具时,才需要配置,通常是你更改了默认的安装位置导致的,一般出现在windows系统)
+# macOS 示例:
+# WECHAT_DEVTOOLS_CLI_PATH = '/Applications/wechatwebdevtools.app/Contents/MacOS/cli'
+# Windows 示例:
+# WECHAT_DEVTOOLS_CLI_PATH = 'C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat'
+
+# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
+# https://uniapp.dcloud.net.cn/collocation/manifest.html#h5-router
+# 比如你要部署到 https://unibest.tech/doc/ ,则配置为 /doc/
+VITE_APP_PUBLIC_BASE=/
+
+# 默认后台请求地址
+# 不同命令会按 mode 叠加读取 .env.development / .env.test / .env.production。
+# 微信小程序如果没有配置下面的专用地址,也会回退使用这个值。
+VITE_SERVER_BASEURL=''
+# 备注:如果后台带统一前缀,则也要加到后面,eg: https://blog.xiaoxiaomo.cn/api
+
+# 微信小程序专用后台请求地址,按微信开发者工具 envVersion 区分。
+# 不配置时会回退使用 VITE_SERVER_BASEURL。
+# VITE_SERVER_BASEURL__WEIXIN_DEVELOP = 'https://dev.xxx.com'
+# VITE_SERVER_BASEURL__WEIXIN_TRIAL = 'https://trial.xxx.com'
+# VITE_SERVER_BASEURL__WEIXIN_RELEASE = 'https://prod.xxx.com'
+
+# h5是否需要配置代理
+VITE_APP_PROXY_ENABLE=false
+# 下面的不用修改,只要不跟你后台的统一前缀冲突就行。如果修改了,记得修改 `nginx` 里面的配置
+VITE_APP_PROXY_PREFIX='/dev-api'
+
+# 第二个请求地址 (目前alova中可以使用)
+VITE_SERVER_BASEURL_SECONDARY='https://blog.xiaoxiaomo.cn'
+
+# 认证模式,'single' | 'double' ==> 单token | 双token
+VITE_AUTH_MODE='single'
+
+# 原生插件资源复制开关,启用后 App 构建会把根目录 nativeplugins 复制到 dist
+VITE_COPY_NATIVE_RES_ENABLE=true
diff --git a/env/.env.development b/env/.env.development
new file mode 100644
index 0000000..6619c32
--- /dev/null
+++ b/env/.env.development
@@ -0,0 +1,9 @@
+# 变量必须以 VITE_ 为前缀才能暴露给外部读取
+NODE_ENV='development'
+# 是否去除console 和 debugger
+VITE_DELETE_CONSOLE=false
+# 是否开启sourcemap
+VITE_SHOW_SOURCEMAP=false
+
+# development mode 后台请求地址
+VITE_SERVER_BASEURL=''
diff --git a/env/.env.production b/env/.env.production
new file mode 100644
index 0000000..9a234e9
--- /dev/null
+++ b/env/.env.production
@@ -0,0 +1,9 @@
+# 变量必须以 VITE_ 为前缀才能暴露给外部读取
+NODE_ENV='production'
+# 是否去除console 和 debugger
+VITE_DELETE_CONSOLE=true
+# 是否开启sourcemap
+VITE_SHOW_SOURCEMAP=false
+
+# production mode 后台请求地址
+# VITE_SERVER_BASEURL = 'https://prod.xxx.com'
diff --git a/env/.env.test b/env/.env.test
new file mode 100644
index 0000000..557ad61
--- /dev/null
+++ b/env/.env.test
@@ -0,0 +1,9 @@
+# 变量必须以 VITE_ 为前缀才能暴露给外部读取
+NODE_ENV='development'
+# 是否去除console 和 debugger
+VITE_DELETE_CONSOLE=false
+# 是否开启sourcemap
+VITE_SHOW_SOURCEMAP=false
+
+# test mode 后台请求地址
+# VITE_SERVER_BASEURL = 'https://test.xxx.com'
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..426985a
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,60 @@
+import uniHelper from '@uni-helper/eslint-config'
+
+export default uniHelper({
+ unocss: true,
+ vue: true,
+ markdown: false,
+ ignores: [
+ // 忽略uni_modules目录
+ '**/uni_modules/',
+ // 忽略原生插件目录
+ '**/nativeplugins/',
+ 'dist',
+ // unplugin-auto-import 生成的类型文件,每次提交都改变,所以加入这里吧,与 .gitignore 配合使用
+ 'auto-import.d.ts',
+ // vite-plugin-uni-pages 生成的类型文件,每次切换分支都一堆不同的,所以直接 .gitignore
+ 'uni-pages.d.ts',
+ // 插件生成的文件
+ 'src/pages.json',
+ 'src/manifest.json',
+ // 忽略自动生成文件
+ 'src/service/**',
+ ],
+ // https://eslint-config.antfu.me/rules
+ rules: {
+ 'no-useless-return': 'off',
+ 'no-console': 'off',
+ 'no-unused-vars': 'off',
+ 'vue/no-unused-refs': 'off',
+ 'unused-imports/no-unused-vars': 'off',
+ 'eslint-comments/no-unlimited-disable': 'off',
+ 'jsdoc/check-param-names': 'off',
+ 'jsdoc/require-returns-description': 'off',
+ 'ts/no-empty-object-type': 'off',
+ 'no-extend-native': 'off',
+ // uni 条件编译注释可能包裹 import,自动排序会破坏平台条件边界
+ 'perfectionist/sort-imports': 'off',
+ 'vue/singleline-html-element-content-newline': [
+ 'error',
+ {
+ externalIgnores: ['text'],
+ },
+ ],
+ // vue SFC 调换顺序改这里
+ 'vue/block-order': ['error', {
+ order: [['script', 'template'], 'style'],
+ }],
+ },
+ formatters: {
+ /**
+ * Format CSS, LESS, SCSS files, also the `
diff --git a/pages/tabbar/about/about.vue b/pages/tabbar/about/about.vue
deleted file mode 100644
index 9e31faa..0000000
--- a/pages/tabbar/about/about.vue
+++ /dev/null
@@ -1,626 +0,0 @@
-
-
-
-
-
-
- {{ bloggerInfo.nickname }}
-
- {{ bloggerInfo.description || '这个博主很懒,竟然没写介绍~' }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 内容数量
-
-
-
-
-
- 访客数量
-
-
-
-
-
- 分类总数
-
-
-
-
-
-
-
- 评论数量
-
-
-
-
-
-
- 点赞数量
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ nav.rightText }}
-
- {{ nav.rightText }}
-
-
-
-
-
-
-
- {{ copyrightConfig.content }}
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/tabbar/category/category.vue b/pages/tabbar/category/category.vue
deleted file mode 100644
index 57204e0..0000000
--- a/pages/tabbar/category/category.vue
+++ /dev/null
@@ -1,472 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.spec.displayName }}
-
- 共 {{ item.postCount }} 篇文章
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/tabbar/gallery/gallery.vue b/pages/tabbar/gallery/gallery.vue
deleted file mode 100644
index a8e73dd..0000000
--- a/pages/tabbar/gallery/gallery.vue
+++ /dev/null
@@ -1,397 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 刷新试试
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/tabbar/home/home.vue b/pages/tabbar/home/home.vue
deleted file mode 100644
index 89a872b..0000000
--- a/pages/tabbar/home/home.vue
+++ /dev/null
@@ -1,753 +0,0 @@
-
-
-
-
-
-
-
-
- 搜索内容...
-
-
- {{ appInfo.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 快捷导航
-
-
-
-
-
-
-
-
- {{item.title}}
-
-
-
-
-
-
-
-
-
- 精选分类
-
-
-
-
- 查看更多
-
-
-
-
-
- 还没有任何分类~
-
-
-
-
-
-
-
-
-
-
-
- 最新列表
-
-
-
-
- 查看更多
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/tabbar/moments/moments.vue b/pages/tabbar/moments/moments.vue
deleted file mode 100644
index 882888a..0000000
--- a/pages/tabbar/moments/moments.vue
+++ /dev/null
@@ -1,410 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ moment.spec.user.displayName }}
-
-
- {{ {d: moment.spec.releaseTime, f: 'yyyy年MM月dd日 星期w'} | formatTime }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ tag }}
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/about/about.vue b/pagesA/about/about.vue
deleted file mode 100644
index 9eeecc6..0000000
--- a/pagesA/about/about.vue
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
- uni-halo
-
-
-
-
- 巷子工坊
-
-
- 小莫唐尼
-
-
- https://blog.xiaoxiaomo.cn
-
-
- https://uni-halo.925i.cn
-
-
- https://gitee.com/ialley-workshop-open/uni-halo
-
-
- https://github.com/ialley-workshop-open/uni-halo
-
-
-
-
- 根据 AGPL-3.0 协议开源
- 「 2022 uni-halo 丨 开源项目丨巷子工坊@小莫唐尼 」
-
-
-
-
-
-
-
diff --git a/pagesA/archives/archives.vue b/pagesA/archives/archives.vue
deleted file mode 100644
index e3df6da..0000000
--- a/pagesA/archives/archives.vue
+++ /dev/null
@@ -1,600 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.year }}年
- {{ item.month }}月
-
- (共 {{ item.posts.length }} 篇内容)
-
-
- (共 {{ item.posts.length }} 篇文章)
-
-
-
-
-
-
-
-
- {{ post.spec.title }}
-
-
- {{ post.status.excerpt }}
-
-
-
- 发布时间:
- {{ {d: post.spec.publishTime, f: 'yyyy年MM月dd日 星期w'} | formatTime }}
-
-
-
-
-
- 该日期下暂无归档文章!
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/article-detail/article-detail.vue b/pagesA/article-detail/article-detail.vue
deleted file mode 100644
index 7440361..0000000
--- a/pagesA/article-detail/article-detail.vue
+++ /dev/null
@@ -1,1605 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{ result.spec.title }}
-
-
- 作者:{{ result.owner.displayName }}
- 时间:{{ { d: result.spec.publishTime, f: 'yyyy年MM月dd日 星期w' } | formatTime }}
-
-
-
-
-
-
-
- {{ result.stats.visit }}
- 阅读
-
-
- {{ result.stats.upvote }}
- 喜欢
-
-
- {{ result.stats.comment }}
- 评论
-
-
- {{ result.content.raw.length }}
- 字数
-
-
-
-
-
-
-
- 分类:
- 未选择分类
-
-
- {{ item.spec.displayName }}
-
-
-
-
- 标签:
- 未选择标签
-
-
- {{ item.spec.displayName }}
-
-
-
-
- 原文:
-
- {{ originalURL }}
-
- 阅读原文
-
-
-
-
-
-
-
-
- 豆瓣资源
-
- {{ doubanIsOpen ? '收起' : '展开' }}
-
-
-
-
-
-
- 豆瓣内容已收起,点击展开
- 提示区域已收起,点击显示
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 豆瓣资源
-
- {{ doubanIsOpen ? '收起' : '展开' }}
-
-
-
-
-
-
- 豆瓣内容已收起,点击展开
- 提示区域已收起,点击显示
-
-
-
-
-
- 相关投票
-
- {{ voteIsOpen ? '收起' : '展开' }}
-
-
-
-
-
-
-
-
-
-
- 投票已收起,点击展开 {{ result._voteIds.length }} 个投票项
-
- 提示区域已收起,点击显示
-
-
-
-
-
- 版权声明
-
- 版权归属:{{ postDetailConfig.copyrightAuthor }}
- 版权说明:{{ postDetailConfig.copyrightDesc }}
-
- 侵权处理:{{ postDetailConfig.copyrightViolation }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 评论详情
-
-
-
-
-
-
-
- 加载中,请稍等...
-
-
-
- 刷新试试
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 海报正在生成...
-
-
-
-
- 保存到相册
- 分享给好友
- 关 闭
-
-
-
-
-
-
-
-
-
-
-
- 请扫描下方二维码获取验证码
-
-
-
-
-
-
- 点击观看视频之后,可访问
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/articles/articles.vue b/pagesA/articles/articles.vue
deleted file mode 100644
index ee3eb29..0000000
--- a/pagesA/articles/articles.vue
+++ /dev/null
@@ -1,245 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 文章
- 瞬间
-
- {{ item.title }}
-
-
-
-
- 最近更新时间:{{ {d: item.updateTimestamp, f: 'yyyy年MM月dd日 HH点mm分ss秒'} | formatTime }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/category-detail/category-detail.vue b/pagesA/category-detail/category-detail.vue
deleted file mode 100644
index 8066a87..0000000
--- a/pagesA/category-detail/category-detail.vue
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/contact/contact.vue b/pagesA/contact/contact.vue
deleted file mode 100644
index 977100e..0000000
--- a/pagesA/contact/contact.vue
+++ /dev/null
@@ -1,279 +0,0 @@
-
-
-
-
-
-
-
- {{ bloggerInfo.nickname }}
-
- {{ bloggerInfo.description || '这个博主很懒,竟然没写介绍~' }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.name }}
-
- {{ item.value }}
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/data-visual/data-visual.vue b/pagesA/data-visual/data-visual.vue
deleted file mode 100644
index 4258983..0000000
--- a/pagesA/data-visual/data-visual.vue
+++ /dev/null
@@ -1,549 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 标签统计
- (全部标签的文章数量占比)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 分类统计
- (全部分类的文章数量占比)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 文章发布趋势
- (按日期统计文章发布数量)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 评论活跃用户
- (按评论作者统计评论数量)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 热门文章前10
- (按访问量排序的热门文章)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/disclaimers/disclaimers.vue b/pagesA/disclaimers/disclaimers.vue
deleted file mode 100644
index 0b2788d..0000000
--- a/pagesA/disclaimers/disclaimers.vue
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
- 《 本博客免责声明 》
- —— 博主:{{ bloggerInfo.nickname }} ——
- 1、本博客属于个人非盈利性质的网站,所有转载的文章都以遵循原作者的版权声明注明了文章来源。
- 2、如果原文没有版权声明,按照目前互联网开放的原则,本博客将在不通知作者的情况下转载文章。
- 3、如果原文明确注明“禁止转载”,本博客将不会转载。
-
- 4、如果本博客转载的文章不符合作者的版权声明或者作者不想让本博客转载您的文章,请邮件告知
-
-
- {{ bloggerInfo.email }}
-
- ,博主将会在第一时间删除相关信息!
-
- 5、本博客转载文章仅为留作备份和知识点分享的目的。
-
- 6、本博客将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担相关责任。
-
-
- 7、本博客所发布、转载的文章,其版权均归原作者所有。如其他自媒体、网站或个人从本博客下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本博客注明的“原文来源”或者自行去原文处复制版权声明,并自负版权等法律责任。
-
- 8、本博客的所有原创文章皆可以任意转载,但转载时务必请注明出处。
- 9、尊重原创,知识共享!
-
-
-
-
-
-
-
diff --git a/pagesA/friend-links/friend-links.vue b/pagesA/friend-links/friend-links.vue
deleted file mode 100644
index 754c50c..0000000
--- a/pagesA/friend-links/friend-links.vue
+++ /dev/null
@@ -1,457 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ link.spec.groupName || '暂未分组' }}
-
- {{ link.spec.displayName }}
-
-
- 站点地址:{{ link.spec.url }}
-
-
-
- 博客简介:{{ link.spec.description || '这个博主很懒,没写简介~' }}
-
-
-
-
-
-
-
- {{ link.spec.displayName }}
- {{ link.spec.description }}
-
-
-
- {{ link.spec.url }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ detail.data.spec.displayName }}
-
-
-
- {{ detail.data.spec.groupName }}
-
-
-
- {{ detail.data.spec.url }}
-
-
-
-
-
-
- 博客简介:{{ detail.data.spec.description || '这个博主很懒,没写简介~' }}
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/love/album.vue b/pagesA/love/album.vue
deleted file mode 100644
index 9629e4c..0000000
--- a/pagesA/love/album.vue
+++ /dev/null
@@ -1,383 +0,0 @@
-
-
-
-
-
-
-
- 相册正在努力加载中啦~
-
-
- 刷新试试
-
-
-
-
-
-
- 刷新试试
-
-
-
-
-
-
-
-
-
- {{ item.spec.description }}
-
-
- 该照片没有记录任何信息
- 记录一下拍照的瞬间,会更精彩哟
-
-
-
-
-
-
-
-
-
-
-
- 上一张
-
-
- 点击
-
- 刷新
-
-
- 下一张
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/love/journey.vue b/pagesA/love/journey.vue
deleted file mode 100644
index ec9c57b..0000000
--- a/pagesA/love/journey.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
- 我们的故事
- 内容渲染
-
-
-
-
-
-
-
-
diff --git a/pagesA/love/list.vue b/pagesA/love/list.vue
deleted file mode 100644
index 26054c5..0000000
--- a/pagesA/love/list.vue
+++ /dev/null
@@ -1,430 +0,0 @@
-
-
-
-
-
-
- 相恋
-
- -
- {{ calcLoveDays }}
- -
-
- 天
-
-
-
-
-
-
-
-
- 暂时还没有恋爱清单,快去制定你们的恋爱清单吧~
-
-
-
-
-
-
-
- 未开始
- 进行中
- 已完成
-
-
- {{ item.title }}
-
-
- {{ item.open ? '-' : '+' }}
-
-
-
-
- 事件内容:
- {{ item.content || "-" }}
-
-
- 完成时间:
- {{ item.completeDate || '-' }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/love/love.vue b/pagesA/love/love.vue
deleted file mode 100644
index 983a8f9..0000000
--- a/pagesA/love/love.vue
+++ /dev/null
@@ -1,418 +0,0 @@
-
-
-
-
-
-
-
- {{ loveConfig.loveInfo.boyNickname }}
-
-
-
-
- {{ loveConfig.loveInfo.girlNickname }}
-
-
-
-
-
-
- {{ loveConfig.loveDateTitle }}
-
-
- 第
- {{ loveDayCount.d }}
- 天
-
-
- {{ loveDayCount.h }}
- 小时
-
-
- {{ loveDayCount.m }}
- 分钟
-
-
- {{ loveDayCount.s }}
- 秒
-
-
-
-
-
-
-
-
-
-
-
- {{ nav.title }}
- {{ nav.desc }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/moment-detail/moment-detail.vue b/pagesA/moment-detail/moment-detail.vue
deleted file mode 100644
index d08d567..0000000
--- a/pagesA/moment-detail/moment-detail.vue
+++ /dev/null
@@ -1,357 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ moment.spec.user.displayName }}
-
-
- {{ {d: moment.spec.releaseTime, f: 'yyyy年MM月dd日 星期w'} | formatTime }}
-
-
-
-
-
- 标签列表:
-
- {{ tag }}
-
-
-
-
-
-
-
-
- 图片附件:
-
-
-
-
-
-
-
-
-
-
- 音频附件:
-
-
-
-
-
-
-
- 视频附件:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/setting/setting.vue b/pagesA/setting/setting.vue
deleted file mode 100644
index 0182cf6..0000000
--- a/pagesA/setting/setting.vue
+++ /dev/null
@@ -1,383 +0,0 @@
-
-
-
-
-
-
- 布局
- 应用以及文章列表布局设置
-
-
-
-
-
-
-
-
-
-
-
-
-
- 外观
- 设置应用主题色/暗黑模式等
-
-
-
- todo
-
-
-
-
-
- 功能
- 一些常用的功能性设置
-
-
-
- 图库瀑布流模式
-
-
-
- 友链简洁模式
-
-
-
-
- 是否圆形头像
-
-
-
- 轮播图指示器
-
-
-
- 轮播图指示器位置
-
-
-
-
-
-
-
-
-
-
-
-
- 保存设置
- 恢复默认设置
- 返回
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/start/start.vue b/pagesA/start/start.vue
deleted file mode 100644
index 528f39b..0000000
--- a/pagesA/start/start.vue
+++ /dev/null
@@ -1,531 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 「 {{ startConfig.title }} 」
-
-
-
-
-
-
- {{ startConfig.desc1 }}
-
-
- {{ startConfig.desc2 }}
-
-
-
-
- {{ startConfig.btnText || '开始体验' }}
-
-
-
- {{ startConfig.btnText || '开始体验' }}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/submit-link/submit-link.vue b/pagesA/submit-link/submit-link.vue
deleted file mode 100644
index 9dcaadf..0000000
--- a/pagesA/submit-link/submit-link.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-
-
-
-
-
-
-
-
- 友链信息提交
-
-
-
-
-
-
-
-
-
-
-
- (贵站友情链接页面地址,即包含本站链接也页面)
-
-
-
-
-
-
-
-
- (用于抓取文章)
-
-
-
-
- 提交数据
- 友链申请
-
-
-
-
-
-
-
-
-
-
-
-
- {{ blogDetail.blogName }}
-
- {{ blogDetail.blogDesc }}
-
-
-
-
-
- {{ calcBlogContent }}
-
-
-
-
-
-
-
-
- 复制友链交换信息
- 关闭
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/tag-detail/tag-detail.vue b/pagesA/tag-detail/tag-detail.vue
deleted file mode 100644
index f6684a7..0000000
--- a/pagesA/tag-detail/tag-detail.vue
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pagesA/tags/tags.vue b/pagesA/tags/tags.vue
deleted file mode 100644
index 95dccd0..0000000
--- a/pagesA/tags/tags.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-
- 文章标签页面
-
-
-
-
-
diff --git a/pagesA/vote-detail/vote-detail.vue b/pagesA/vote-detail/vote-detail.vue
deleted file mode 100644
index 852586b..0000000
--- a/pagesA/vote-detail/vote-detail.vue
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 投票信息
-
-
- 投票类型:
- {{ vote.spec._uh_type }}
-
-
- 投票状态:{{vote.spec._uh_state.state}}
-
-
- 投票方式:匿名
- 不匿名
-
-
- 开始时间:{{ {d: vote.spec.startDate, f: 'yyyy-MM-dd HH:mm'} | formatTime }}
-
-
-
- 结束时间:永久有效
-
-
- 结束时间:{{ {d: vote.spec.endDate, f: 'yyyy-MM-dd HH:mm'} | formatTime }}
-
-
-
-
-
-
-
- 投票内容
-
- {{ vote.spec.title }}
-
-
-
-
- 投票选项 (最多选择 {{ vote.spec.maxVotes }} 项)
-
-
-
-
-
-
- {{option.title }}
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
- {{option.title }}
-
-
-
-
-
-
-
-
-
-
-
- {{option.title }}
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
- {{option.title }}
-
-
-
-
-
-
-
-
-
- {{option._uh_percent }}%
-
-
-
-
-
-
-
-
-
-
- 投票统计
-
- {{ vote.stats.voteCount }}
- 人已参与
-
-
-
-
-
-
-
-
-
- 您已参与投票
- 投票未开始
- 投票已结束
- 不支持匿名投票
- 提交投票(请选择选项)
- 提交投票
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesA/votes/votes.vue b/pagesA/votes/votes.vue
deleted file mode 100644
index 03e27fa..0000000
--- a/pagesA/votes/votes.vue
+++ /dev/null
@@ -1,409 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ loadMoreText }}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pagesC/website/website.vue b/pagesC/website/website.vue
deleted file mode 100644
index 21dd7e8..0000000
--- a/pagesC/website/website.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..c26a156
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,22349 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+overrides:
+ bin-wrapper: npm:bin-wrapper-china
+ unconfig: 7.3.2
+
+importers:
+
+ .:
+ dependencies:
+ '@alova/adapter-uniapp':
+ specifier: ^2.0.14
+ version: 2.0.14(alova@3.3.4)
+ '@alova/shared':
+ specifier: ^1.3.1
+ version: 1.3.1
+ '@changesets/cli':
+ specifier: ^2.30.0
+ version: 2.30.0(@types/node@20.19.11)
+ '@dcloudio/uni-app':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(@dcloudio/types@3.4.19)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-app-harmony':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-app-plus':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-components':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-h5':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-alipay':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-baidu':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(@dcloudio/types@3.4.19)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-harmony':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-jd':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-kuaishou':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-lark':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-qq':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-toutiao':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-weixin':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-xhs':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-quickapp-webview':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@halo-dev/api-client':
+ specifier: ^2.24.0
+ version: 2.24.0(axios@1.17.0)
+ '@qiun/ucharts':
+ specifier: 2.5.0-20230101
+ version: 2.5.0-20230101
+ '@wot-ui/ui':
+ specifier: latest
+ version: 2.0.8(vue@3.4.21(typescript@5.8.3))
+ abortcontroller-polyfill:
+ specifier: ^1.7.8
+ version: 1.7.8
+ alova:
+ specifier: ^3.3.3
+ version: 3.3.4
+ dayjs:
+ specifier: 1.11.10
+ version: 1.11.10
+ pinia:
+ specifier: 2.0.36
+ version: 2.0.36(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ pinia-plugin-persistedstate:
+ specifier: 3.2.1
+ version: 3.2.1(pinia@2.0.36(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))
+ qs:
+ specifier: ^6.15.2
+ version: 6.15.2
+ vue:
+ specifier: ^3.4.21
+ version: 3.4.21(typescript@5.8.3)
+ vue-i18n:
+ specifier: 9.1.9
+ version: 9.1.9(vue@3.4.21(typescript@5.8.3))
+ vue-router:
+ specifier: 4.5.1
+ version: 4.5.1(vue@3.4.21(typescript@5.8.3))
+ z-paging:
+ specifier: 2.8.7
+ version: 2.8.7
+ devDependencies:
+ '@commitlint/cli':
+ specifier: ^19.8.1
+ version: 19.8.1(@types/node@20.19.11)(typescript@5.8.3)
+ '@commitlint/config-conventional':
+ specifier: ^19.8.1
+ version: 19.8.1
+ '@dcloudio/types':
+ specifier: ^3.4.8
+ version: 3.4.19
+ '@dcloudio/uni-automator':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-cli-shared':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-stacktracey':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001
+ '@dcloudio/vite-plugin-uni':
+ specifier: 3.0.0-4070620250821001
+ version: 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@iconify-json/carbon':
+ specifier: ^1.2.4
+ version: 1.2.13
+ '@iconify/utils':
+ specifier: ^3.0.2
+ version: 3.0.2
+ '@types/node':
+ specifier: ^20.17.9
+ version: 20.19.11
+ '@uni-helper/eslint-config':
+ specifier: 0.5.0
+ version: 0.5.0(@antfu/eslint-config@5.2.1(@unocss/eslint-plugin@66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.0.1(eslint@9.34.0(jiti@2.6.1)))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)))(eslint@9.34.0(jiti@2.6.1))
+ '@uni-helper/plugin-uni':
+ specifier: 0.1.0
+ version: 0.1.0(@dcloudio/vite-plugin-uni@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))
+ '@uni-helper/uni-env':
+ specifier: 0.1.8
+ version: 0.1.8
+ '@uni-helper/uni-types':
+ specifier: 1.0.0-alpha.6
+ version: 1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ '@uni-helper/unocss-preset-uni':
+ specifier: 0.2.11
+ version: 0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/preset-mini@66.5.3)(@unocss/rule-utils@66.5.3)(@unocss/vite@66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))(unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))))(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))
+ '@uni-helper/vite-plugin-uni-components':
+ specifier: 0.2.3
+ version: 0.2.3(rollup@4.50.0)
+ '@uni-helper/vite-plugin-uni-layouts':
+ specifier: 0.1.11
+ version: 0.1.11(rollup@4.50.0)
+ '@uni-helper/vite-plugin-uni-manifest':
+ specifier: 0.2.12
+ version: 0.2.12(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@uni-helper/vite-plugin-uni-pages':
+ specifier: 0.3.23
+ version: 0.3.23(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@uni-helper/vite-plugin-uni-platform':
+ specifier: 0.0.5
+ version: 0.0.5
+ '@uni-ku/bundle-optimizer':
+ specifier: v1.3.15-beta.2
+ version: 1.3.15-beta.2(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@uni-ku/root':
+ specifier: 1.4.1
+ version: 1.4.1(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@unocss/eslint-plugin':
+ specifier: ^66.2.3
+ version: 66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@unocss/preset-legacy-compat':
+ specifier: 66.0.0
+ version: 66.0.0
+ '@vitejs/plugin-vue':
+ specifier: ^5.1.0
+ version: 5.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@vue/runtime-core':
+ specifier: ^3.4.21
+ version: 3.4.21
+ '@vue/test-utils':
+ specifier: ^2.4.10
+ version: 2.4.10(@vue/compiler-dom@3.5.22)(@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.8.3)))(vue@3.4.21(typescript@5.8.3))
+ '@vue/tsconfig':
+ specifier: ^0.1.3
+ version: 0.1.3(@types/node@20.19.11)
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.21(postcss@8.5.6)
+ cross-env:
+ specifier: ^10.0.0
+ version: 10.0.0
+ enquirer:
+ specifier: ^2.4.1
+ version: 2.4.1
+ eslint:
+ specifier: ^9.31.0
+ version: 9.34.0(jiti@2.6.1)
+ eslint-plugin-format:
+ specifier: ^1.0.1
+ version: 1.0.1(eslint@9.34.0(jiti@2.6.1))
+ husky:
+ specifier: ^9.1.7
+ version: 9.1.7
+ jsdom:
+ specifier: ^29.1.1
+ version: 29.1.1
+ lint-staged:
+ specifier: ^15.2.10
+ version: 15.5.2
+ miniprogram-api-typings:
+ specifier: ^4.1.0
+ version: 4.1.0
+ miniprogram-ci:
+ specifier: ^2.1.26
+ version: 2.1.26(eslint@9.34.0(jiti@2.6.1))
+ openapi-ts-request:
+ specifier: ^1.10.0
+ version: 1.10.0(@types/node@20.19.11)(@vue/compiler-sfc@3.5.22)(chokidar@3.6.0)(typescript@5.8.3)
+ picocolors:
+ specifier: ^1.1.1
+ version: 1.1.1
+ postcss:
+ specifier: ^8.4.49
+ version: 8.5.6
+ postcss-html:
+ specifier: ^1.8.0
+ version: 1.8.0
+ postcss-scss:
+ specifier: ^4.0.9
+ version: 4.0.9(postcss@8.5.6)
+ rollup-plugin-visualizer:
+ specifier: ^6.0.3
+ version: 6.0.3(rollup@4.50.0)
+ sass:
+ specifier: 1.77.8
+ version: 1.77.8
+ std-env:
+ specifier: ^3.9.0
+ version: 3.9.0
+ typescript:
+ specifier: ~5.8.0
+ version: 5.8.3
+ unocss:
+ specifier: 66.0.0
+ version: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ unplugin-auto-import:
+ specifier: ^20.0.0
+ version: 20.1.0
+ vite:
+ specifier: 5.2.8
+ version: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vite-plugin-restart:
+ specifier: ^1.0.0
+ version: 1.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ vite-plugin-vue-devtools:
+ specifier: ^8.0.5
+ version: 8.0.5(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ vitest:
+ specifier: 3.2.4
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vue-tsc:
+ specifier: ^3.0.6
+ version: 3.0.6(typescript@5.8.3)
+
+packages:
+
+ '@alova/adapter-uniapp@2.0.14':
+ resolution: {integrity: sha512-AHrS/evdhONySkmtYHs6Sh1D+a0+zjBeOltcYY2/az/KEPN9p/l4H9Nvy+ghLhzMzfKfnITxeeMOi5ANyERimw==}
+ peerDependencies:
+ alova: ^3.0.20
+
+ '@alova/shared@1.3.1':
+ resolution: {integrity: sha512-ijSOaFLUFcVzMKSY3avoEE5C03/p9atjMDPBwvNkwnzaCrhv6/m4A121NdadF8YlHCRuifyYfz90IyEdMXTsJg==}
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+
+ '@antfu/eslint-config@5.2.1':
+ resolution: {integrity: sha512-EG/5kwDci1PFKSwAPMEMHDA/VYJFn0TAqwXLdnmE7zuFcaug3EGih7UOWmapMfL59Hqq6jbomaUHN31aVnL8NA==}
+ hasBin: true
+ peerDependencies:
+ '@eslint-react/eslint-plugin': ^1.38.4
+ '@next/eslint-plugin-next': ^15.4.0-canary.115
+ '@prettier/plugin-xml': ^3.4.1
+ '@unocss/eslint-plugin': '>=0.50.0'
+ astro-eslint-parser: ^1.0.2
+ eslint: ^9.10.0
+ eslint-plugin-astro: ^1.2.0
+ eslint-plugin-format: '>=0.1.0'
+ eslint-plugin-jsx-a11y: '>=6.10.2'
+ eslint-plugin-react-hooks: ^5.2.0
+ eslint-plugin-react-refresh: ^0.4.19
+ eslint-plugin-solid: ^0.14.3
+ eslint-plugin-svelte: '>=2.35.1'
+ eslint-plugin-vuejs-accessibility: ^2.4.1
+ prettier-plugin-astro: ^0.14.0
+ prettier-plugin-slidev: ^1.0.5
+ svelte-eslint-parser: '>=0.37.0'
+ peerDependenciesMeta:
+ '@eslint-react/eslint-plugin':
+ optional: true
+ '@next/eslint-plugin-next':
+ optional: true
+ '@prettier/plugin-xml':
+ optional: true
+ '@unocss/eslint-plugin':
+ optional: true
+ astro-eslint-parser:
+ optional: true
+ eslint-plugin-astro:
+ optional: true
+ eslint-plugin-format:
+ optional: true
+ eslint-plugin-jsx-a11y:
+ optional: true
+ eslint-plugin-react-hooks:
+ optional: true
+ eslint-plugin-react-refresh:
+ optional: true
+ eslint-plugin-solid:
+ optional: true
+ eslint-plugin-svelte:
+ optional: true
+ eslint-plugin-vuejs-accessibility:
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+ prettier-plugin-slidev:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
+
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
+ '@antfu/utils@8.1.1':
+ resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
+
+ '@antfu/utils@9.3.0':
+ resolution: {integrity: sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==}
+
+ '@asamuzakjp/css-color@5.1.11':
+ resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ '@asamuzakjp/dom-selector@7.1.1':
+ resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ '@asamuzakjp/generational-cache@1.0.1':
+ resolution: {integrity: sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ '@asamuzakjp/nwsapi@2.3.9':
+ resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
+
+ '@babel/code-frame@7.22.10':
+ resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/code-frame@7.29.0':
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.22.9':
+ resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.0':
+ resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.21.4':
+ resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.3':
+ resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/eslint-parser@7.22.10':
+ resolution: {integrity: sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0
+ eslint: ^7.5.0 || ^8.0.0
+
+ '@babel/generator@7.21.4':
+ resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.3':
+ resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.29.0':
+ resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.22.5':
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.22.10':
+ resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.22.10':
+ resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.22.10':
+ resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-class-features-plugin@7.28.3':
+ resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-class-features-plugin@7.28.6':
+ resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.22.9':
+ resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1':
+ resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.3.3':
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+
+ '@babel/helper-define-polyfill-provider@0.6.5':
+ resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-environment-visitor@7.22.5':
+ resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-function-name@7.22.5':
+ resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-hoist-variables@7.22.5':
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.22.5':
+ resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.28.5':
+ resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.21.4':
+ resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.22.9':
+ resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.22.5':
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.24.6':
+ resolution: {integrity: sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.28.6':
+ resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.22.9':
+ resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-remap-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.22.9':
+ resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.28.6':
+ resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.22.5':
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.24.6':
+ resolution: {integrity: sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-split-export-declaration@7.22.6':
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.24.6':
+ resolution: {integrity: sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.24.6':
+ resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.22.5':
+ resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.22.10':
+ resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.28.3':
+ resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.21.0':
+ resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.3':
+ resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/highlight@7.22.10':
+ resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.21.4':
+ resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.28.3':
+ resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.28.4':
+ resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.29.0':
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
+ resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
+ resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.6':
+ resolution: {integrity: sha512-iVuhb6poq5ikqRq2XWU6OQ+R5o9wF+r/or9CeUyovgptz0UlnK4/seOQ1Istu/XybYjAhQv1FRSSfHHufIku5Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
+ resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.6':
+ resolution: {integrity: sha512-c8TER5xMDYzzFcGqOEp9l4hvB7dcbhcGjcLVwxWfe4P5DOafdwjsBJZKsmv+o3aXh7NhopvayQIovHrh2zSRUQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3':
+ resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-async-generator-functions@7.20.7':
+ resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-class-properties@7.18.6':
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-class-static-block@7.21.0':
+ resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-proposal-decorators@7.21.0':
+ resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-decorators@7.29.0':
+ resolution: {integrity: sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-do-expressions@7.18.6':
+ resolution: {integrity: sha512-ddToGCONJhCuL+l4FhtGnKl5ZYCj9fDVFiqiCdQDpeIbVn/NvMeSib+7T1/rk08jRafae4qNiP8OnJyuqlsuYA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-dynamic-import@7.18.6':
+ resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-export-default-from@7.18.10':
+ resolution: {integrity: sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-export-namespace-from@7.18.9':
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-function-bind@7.18.9':
+ resolution: {integrity: sha512-9RfxqKkRBCCT0xoBl9AqieCMscJmSAL9HYixGMWH549jUpT9csWWK/HEYZEx9t9iW/PRSXgX95x9bDlgtAJGFA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-function-sent@7.18.6':
+ resolution: {integrity: sha512-UdaOKPOLPt0O+Xu26tnw6oAZMLXhk+yMrXOzn6kAzTHBnWHJsoN1hlrgxFAQ+FRLS0ql1oYIQ2phvoFzmN3GMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-json-strings@7.18.6':
+ resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-logical-assignment-operators@7.20.7':
+ resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6':
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6':
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-object-rest-spread@7.20.7':
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-optional-catch-binding@7.18.6':
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0':
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-pipeline-operator@7.18.9':
+ resolution: {integrity: sha512-Pc33e6m8f4MJhRXVCUwiKZNtEm+W2CUPHIL0lyJNtkp+w6d75CLw3gsBKQ81VAMUgT9jVPIEU8gwJ5nJgmJ1Ag==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-methods@7.18.6':
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0':
+ resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-throw-expressions@7.18.6':
+ resolution: {integrity: sha512-WHOrJyhGoGrdtW480L79cF7Iq/gZDZ/z6OqK7mVyFR5I37dTpog/wNgb6hmaM3HYZtULEJl++7VaMWkNZsOcHg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-unicode-property-regex@7.18.6':
+ resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
+ engines: {node: '>=4'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-async-generators@7.8.4':
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-bigint@7.8.3':
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-properties@7.12.13':
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-static-block@7.14.5':
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.22.10':
+ resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.28.6':
+ resolution: {integrity: sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-do-expressions@7.22.5':
+ resolution: {integrity: sha512-60pOTgQGY00/Kiozrtu286Aqg50IxDy/jIHhlMzXjYTs1Q8lbeOgqC9NLidtqfBNwdX6bZCT6FJ2i5xzt+JKzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-export-default-from@7.22.5':
+ resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-export-namespace-from@7.8.3':
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-function-bind@7.22.5':
+ resolution: {integrity: sha512-Sjy7XIhHF9L++0Mk/3Y4H4439cjI//wc/jE8Ly3+qGPkTUYYEhe4rzMv/JnyZpekfOBL22X6DAq42I7GM/3KzA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-function-sent@7.22.5':
+ resolution: {integrity: sha512-tKOWGUAVv+JGJ1tcOIFdCqxUX97lgAUnmLpWt/9JtEkgk9WQ5OolN+y9rWj6mtLM+d0kAzTGLu/kRQqr5/PEsA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.24.6':
+ resolution: {integrity: sha512-BE6o2BogJKJImTmGpkmOic4V0hlRRxVtzqxiSPa8TIFxyhi4EFjHm08nq1M4STK4RytuLMgnSz0/wfflvGFNOg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.27.1':
+ resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.27.1':
+ resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-json-strings@7.8.3':
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.27.1':
+ resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4':
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3':
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-pipeline-operator@7.22.5':
+ resolution: {integrity: sha512-7yuGXd+h8gpR14FnPDTTCd5TfC/1B9njNZJT29GJ7UFF/WVbzkZy7728DynrENqgImqj5xyPTQAo8si9n3QVJQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5':
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-throw-expressions@7.22.5':
+ resolution: {integrity: sha512-oCyfA7rDVcQIydA7ZOmnHCQTzz5JvG9arY++Z+ASL/q5q+mJLblaRNHoK6ggV54X2c14wCK/lQi7z1DujmEmZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-top-level-await@7.14.5':
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.22.5':
+ resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.27.1':
+ resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.22.5':
+ resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-arrow-functions@7.27.1':
+ resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.28.0':
+ resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.22.5':
+ resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.22.5':
+ resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1':
+ resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.22.10':
+ resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.28.0':
+ resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.27.1':
+ resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.28.3':
+ resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.22.6':
+ resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-classes@7.28.3':
+ resolution: {integrity: sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.22.5':
+ resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.27.1':
+ resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.22.10':
+ resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.28.0':
+ resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.22.5':
+ resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.27.1':
+ resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.22.5':
+ resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1':
+ resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.27.1':
+ resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.0':
+ resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.22.5':
+ resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1':
+ resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1':
+ resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.22.5':
+ resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.27.1':
+ resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.22.5':
+ resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.27.1':
+ resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.27.1':
+ resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.22.5':
+ resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.27.1':
+ resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1':
+ resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.22.5':
+ resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1':
+ resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.22.5':
+ resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.27.1':
+ resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.21.2':
+ resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1':
+ resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.22.5':
+ resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.27.1':
+ resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.22.5':
+ resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.27.1':
+ resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.22.5':
+ resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-new-target@7.27.1':
+ resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1':
+ resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.27.1':
+ resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.28.0':
+ resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.22.5':
+ resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.27.1':
+ resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1':
+ resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.24.6':
+ resolution: {integrity: sha512-cHbqF6l1QP11OkYTYQ+hhVx1E017O5ZcSPXk9oODpqhcAD1htsWG2NpHrrhthEO2qZomLK0FXS+u7NfrkF5aOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.22.5':
+ resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.27.7':
+ resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.27.1':
+ resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1':
+ resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.22.5':
+ resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.27.1':
+ resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.22.10':
+ resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.28.3':
+ resolution: {integrity: sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1':
+ resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-reserved-words@7.22.5':
+ resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-reserved-words@7.27.1':
+ resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.21.4':
+ resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.22.5':
+ resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1':
+ resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.22.5':
+ resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.27.1':
+ resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.22.5':
+ resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.27.1':
+ resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.22.5':
+ resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.27.1':
+ resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.22.5':
+ resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1':
+ resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.21.3':
+ resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.28.0':
+ resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.22.10':
+ resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1':
+ resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1':
+ resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.22.5':
+ resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.27.1':
+ resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1':
+ resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.21.4':
+ resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-env@7.28.3':
+ resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6':
+ resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/regjsgen@0.8.0':
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+
+ '@babel/runtime@7.21.0':
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.28.3':
+ resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.20.7':
+ resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.28.6':
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.21.4':
+ resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.3':
+ resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.4':
+ resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.29.0':
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.24.6':
+ resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
+ engines: {node: '>=6.9.0'}
+
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
+ '@bramus/specificity@2.4.2':
+ resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==}
+ hasBin: true
+
+ '@changesets/apply-release-plan@7.1.0':
+ resolution: {integrity: sha512-yq8ML3YS7koKQ/9bk1PqO0HMzApIFNwjlwCnwFEXMzNe8NpzeeYYKCmnhWJGkN8g7E51MnWaSbqRcTcdIxUgnQ==}
+
+ '@changesets/assemble-release-plan@6.0.9':
+ resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==}
+
+ '@changesets/changelog-git@0.2.1':
+ resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
+
+ '@changesets/cli@2.30.0':
+ resolution: {integrity: sha512-5D3Nk2JPqMI1wK25pEymeWRSlSMdo5QOGlyfrKg0AOufrUcjEE3RQgaCpHoBiM31CSNrtSgdJ0U6zL1rLDDfBA==}
+ hasBin: true
+
+ '@changesets/config@3.1.3':
+ resolution: {integrity: sha512-vnXjcey8YgBn2L1OPWd3ORs0bGC4LoYcK/ubpgvzNVr53JXV5GiTVj7fWdMRsoKUH7hhhMAQnsJUqLr21EncNw==}
+
+ '@changesets/errors@0.2.0':
+ resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
+
+ '@changesets/get-dependents-graph@2.1.3':
+ resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
+
+ '@changesets/get-release-plan@4.0.15':
+ resolution: {integrity: sha512-Q04ZaRPuEVZtA+auOYgFaVQQSA98dXiVe/yFaZfY7hoSmQICHGvP0TF4u3EDNHWmmCS4ekA/XSpKlSM2PyTS2g==}
+
+ '@changesets/get-version-range-type@0.4.0':
+ resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
+
+ '@changesets/git@3.0.4':
+ resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==}
+
+ '@changesets/logger@0.1.1':
+ resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
+
+ '@changesets/parse@0.4.3':
+ resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==}
+
+ '@changesets/pre@2.0.2':
+ resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
+
+ '@changesets/read@0.6.7':
+ resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==}
+
+ '@changesets/should-skip-package@0.1.2':
+ resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
+
+ '@changesets/types@4.1.0':
+ resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
+
+ '@changesets/types@6.1.0':
+ resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==}
+
+ '@changesets/write@0.4.0':
+ resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
+
+ '@clack/core@0.5.0':
+ resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
+
+ '@clack/prompts@0.11.0':
+ resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
+
+ '@commitlint/cli@19.8.1':
+ resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==}
+ engines: {node: '>=v18'}
+ hasBin: true
+
+ '@commitlint/config-conventional@19.8.1':
+ resolution: {integrity: sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/config-validator@19.8.1':
+ resolution: {integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/ensure@19.8.1':
+ resolution: {integrity: sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/execute-rule@19.8.1':
+ resolution: {integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/format@19.8.1':
+ resolution: {integrity: sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/is-ignored@19.8.1':
+ resolution: {integrity: sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/lint@19.8.1':
+ resolution: {integrity: sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/load@19.8.1':
+ resolution: {integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/message@19.8.1':
+ resolution: {integrity: sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/parse@19.8.1':
+ resolution: {integrity: sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/read@19.8.1':
+ resolution: {integrity: sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/resolve-extends@19.8.1':
+ resolution: {integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/rules@19.8.1':
+ resolution: {integrity: sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/to-lines@19.8.1':
+ resolution: {integrity: sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/top-level@19.8.1':
+ resolution: {integrity: sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/types@19.8.1':
+ resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==}
+ engines: {node: '>=v18'}
+
+ '@cronvel/get-pixels@3.4.1':
+ resolution: {integrity: sha512-gB5C5nDIacLUdsMuW8YsM9SzK3vaFANe4J11CVXpovpy7bZUGrcJKmc6m/0gWG789pKr6XSZY2aEetjFvSRw5g==}
+
+ '@csstools/color-helpers@6.0.2':
+ resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==}
+ engines: {node: '>=20.19.0'}
+
+ '@csstools/css-calc@3.2.1':
+ resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
+
+ '@csstools/css-color-parser@4.1.1':
+ resolution: {integrity: sha512-eZ5XOtyhK+mggRafYUWzA0tvaYOFgdY8AkgQiCJF9qNAePnUo/zmsqqYubBBb3sQ8uNUaSKTY9s9klfRaAXL0g==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
+
+ '@csstools/css-parser-algorithms@4.0.0':
+ resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^4.0.0
+
+ '@csstools/css-syntax-patches-for-csstree@1.1.4':
+ resolution: {integrity: sha512-wgsqt92b7C7tQhIdPNxj0n9zuUbQlvAuI1exyzeNrOKOi62SD7ren8zqszmpVREjAOqg8cD2FqYhQfAuKjk4sw==}
+ peerDependencies:
+ css-tree: ^3.2.1
+ peerDependenciesMeta:
+ css-tree:
+ optional: true
+
+ '@csstools/css-tokenizer@4.0.0':
+ resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
+ engines: {node: '>=20.19.0'}
+
+ '@dcloudio/types@3.4.19':
+ resolution: {integrity: sha512-1foayOFEAQ+jnQLt3ACsovCNjer3/fXn1I2VBpmDOzs2nk/n4UHwRLAxZV/RpxRqaGOPEvKrO/Pq+VI6sAmuRw==}
+
+ '@dcloudio/uni-app-harmony@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-HrnpvA/rfdY3Vi8/unxHP1BO83KzuCrfsvLQHf7twCSMWFDqCykOkrEhb8beTtQSDoZvJYsQPB6REDkgundp5Q==}
+
+ '@dcloudio/uni-app-plus@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-7ldq9OAGMuTp+K91uWfkQBuIQOOodlYbiRcvynmkpOse0JrOLJf+XuL5QmBR+ehy6TukJtDQjtRkpdjCl39acg==}
+
+ '@dcloudio/uni-app-uts@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-eakQjg3OMFIyh57CN+4+XaeR09FSCIbv2o1a1ieH+jW0VbOZDBpVFdD+9XtP2ZCRyq0JEuhZwFD1q1QHJuuQig==}
+
+ '@dcloudio/uni-app-vite@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-cqeQyhmrMO+nIRsTEKGN0Eh33RRL+INREZ7/9eFBEfr4FLzoo84acxg/W1FR5rYhdgPqfiJ4WyUofSQqUgwS7A==}
+
+ '@dcloudio/uni-app-vue@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-ORLSlsE0c6Lp3vLm3DCCRrGOvrST70Gacw3NYAtXvDIJ/89cAsAg+MoPHRosekbqXwb9g/TKsUeh6D6dV6S81g==}
+
+ '@dcloudio/uni-app@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-nsME16nXk0yHc2ag0/zE0kZ+mcJiuF5TJvbUUcNFGMEinAwskZSWHtmiDt0UrvorERuCxzZrbiMFPBYeAJQveg==}
+ peerDependencies:
+ '@dcloudio/types': ^3.4.14
+
+ '@dcloudio/uni-automator@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-OILDnCodrfaWj/TnSYamFJ0NmCBjVdI+yf3cUoOK6yQv0kTqIyadOqpnOnrwliXqTMNsWoMPRppEqzeK4Q4xkg==}
+ peerDependencies:
+ jest: 27.0.4
+ jest-environment-node: 27.5.1
+
+ '@dcloudio/uni-cli-shared@3.0.0-4020820240925001':
+ resolution: {integrity: sha512-zWIMxjyc8OdpZU1/ivEfjQQa5jNk2sThIkBS6hM3rs7E68HE6cAxPZqZh9CY0LuM8XsAgILIoY77yTcCM3vMJQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ '@dcloudio/uni-cli-shared@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-53U1nFOzknNa5qoIr1G0ihN8BOvb/X83E8gnRrOoQEPHj7p+OUvFJzqPdf+ChxxMa3JwrmCpVki3MAzA6gLUIQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ '@dcloudio/uni-cloud@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-Pg1lYEUxc+kgB1X/PClEUrpcpmFJ6NNt1Ss0t/10IhiDG1HjhkvT5sP624UKlWbnAAss7Jg58P1UJWkWdbeG3Q==}
+
+ '@dcloudio/uni-components@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-Jfs8cHCg73vadf1gCSCkaV2MJOwFQO3bZ4dx2/ojaJWh7AaMUFcD9+ox7YZ7TWsf9V1cKYKffXBMOLOad9h2VQ==}
+
+ '@dcloudio/uni-console@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-yV6o2AMyzmx4CUxWi8ClTfjmjgWpNqezDEFhH6tuWwbYPadv8Lhea4lRMBGgzMNvAr434K68+BXT+/CQkL/l1w==}
+
+ '@dcloudio/uni-h5-vite@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-wXZvedQRKXXMAk177NqKeEh4vgf29fy29LkgVFQXv8UMCi74FhBAa198zm1QCddvE7HCPj+zesbV9PuNID8IJg==}
+
+ '@dcloudio/uni-h5-vue@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-duoIL+6O62PWbxB/eeZ4AiJGjLUsUq89ql+zm9rB5ICH23xgCoyXTyuWxOeY722FIRL0XvmWy6kZjDzRDMhvlw==}
+
+ '@dcloudio/uni-h5@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-6cnkCKaW3CKgDhwIm2Duq8ivC3Ybn1gJFu9Hc0ybeAHomUNepauUO31b6RpA9BopOVhwUt905Eg4Ubvq/9Mbaw==}
+
+ '@dcloudio/uni-i18n@3.0.0-4020820240925001':
+ resolution: {integrity: sha512-+EfuUC79QIYIbKB8cdH0IoY69DYytG9jeybIATSlMwMZjVJznA8dGfvkfgy29mBjgLYThuXyZ1dSZ33DXr9MBw==}
+
+ '@dcloudio/uni-i18n@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-Fev7Yw6nPhuUbLpMoGu5EhJKzNyGzHp6mpJQA6qDrN/4oRZkUi7Yhr51Yj5GIVnWfzFtUc2dC9Qi3cb//XvSPQ==}
+
+ '@dcloudio/uni-mp-alipay@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-9jAxrFNQzwewYLqmXnlLdGoucd7KBWxIV+7Rqx63GAjZ9OfuczFlJr3t8TwdskNZoHClEPZv/O31eV94GQqZRA==}
+
+ '@dcloudio/uni-mp-baidu@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-R5fpkBoFskf0l8WXwvJB/mpy+U991a0edIarZ0ZYAT9B3o1YZtvcl0IDYA8p7KelZtqQwvgTQnc2UtagBKq4xw==}
+
+ '@dcloudio/uni-mp-compiler@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-DTfWLDihC+vWX0FLxnuPkRYzI7Asr3dHAemrzKd/lB6sj5t5bGfvzo77dbi1o9Icv9cnHkqgFX5CwtI99YcUwA==}
+
+ '@dcloudio/uni-mp-harmony@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-CBlSXXca6IpnFIAvISD4OIAubWgZjA4psGo89+gSTFh50ximI9kwtnKP3/rUqRkuqWLfS9A+wrBalGYkF+xBBA==}
+
+ '@dcloudio/uni-mp-jd@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-/l0teip1uXgXQIzTO8JjWZe2I+pEtCSUWem8fhl8mtokBKIL1qM5oU4aY6EHNM1PFPNWw9mZGJotLMG3VIVrbA==}
+
+ '@dcloudio/uni-mp-kuaishou@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-fCxksZ1ABQVgPkWHrC6WxWp9CsP0nLG4pYnj6F+Rw1z95PeR87kTAbiH8RxqYlOzSQtOe6MyDIbF3dh+cvgFkg==}
+
+ '@dcloudio/uni-mp-lark@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-E5bU1LOpdgxjQXUcyt945aFrvYnZjrxjZ8Ab/5s0yHkR5hLb8WkvM0Cl+1CWlI9hDmUwX6n3XSBRI0wNYk3uNw==}
+
+ '@dcloudio/uni-mp-qq@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-RkF0qB5+vtGPyJproXt/rXADOKczdLycdv1gpP+b+Kf/QCjsloSwiMhmFUfips8dz5P3K/N/RqYC1OengAT9PA==}
+
+ '@dcloudio/uni-mp-toutiao@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-PxmrGdSQat2LnyWdpDPI4aG41ifmn3SzLl0g1HHY78stYivb2Iz4bizrhrSEFjV3YVkr+QEvpHOpunUxX0MOHQ==}
+
+ '@dcloudio/uni-mp-vite@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-RWl4wTsh895SOn9rrXMcGq3zjMjPn9fs7imIxlyu6XacyTI0lNzsX32cvfs1V+h238JTI0D7m6wWAKZpL1CWQA==}
+
+ '@dcloudio/uni-mp-vue@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-IAjgLFH00QLyNfrhTVw1VAyN9VwF88Tf/+b2JsebnyLr0swpLGCrkl7EO8Nesr6dxaOh6D0UaHmAKgfMuuMIQA==}
+
+ '@dcloudio/uni-mp-weixin@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-SjHKnNPYgpukuqNrz39OqdjxtlNd06664MG5ZBkJ112wdhq54FFKKKJM1HUx13q05Hg64OjNj8awsWGWCFs37g==}
+
+ '@dcloudio/uni-mp-xhs@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-ZNZS+tbVgBpARlndxGXQqrmwiptPyTqH/KWqrd0QLZT0PKjjCOR5drRnyZT2UC9Q6ZPPa3M9BdhtBW3U+abA4Q==}
+
+ '@dcloudio/uni-nvue-styler@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-TMnk4UqaH5WtnfHbXRN0MoLunKjpNN/PC3nMed2E+OuWiEKXEIZGeim7oMCniwWIRnTTyg1heOnDX0SnDEjW8w==}
+
+ '@dcloudio/uni-push@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-Gu19UQp0jVUZGkjnPqRMCNEk2TySjIrHRt7Re9Tk2/KLcwzGa86rR9bUKnZTU7VSd7jkRBZ7O3RLodWStEaTsg==}
+
+ '@dcloudio/uni-quickapp-webview@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-WlpPqLb8VJIa8bNtodk/ci/A+zeFHC4blc1Y6GIaldWnc+YdjW/IO8ndpVHPkSEJTB7Sm9/MUbLvoPzdVhc4Jg==}
+
+ '@dcloudio/uni-shared@3.0.0-4020820240925001':
+ resolution: {integrity: sha512-CSzMyxotDk/O8Yc2h1B0Bfm/wiDumexLNRJ0EJxXBX2eCyHpLl9SMrYIDqC0Y7aSHNPYA2UKfoaAujTMGqFmtg==}
+
+ '@dcloudio/uni-shared@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-iMxx6JuZ7dsGLKGrECd8nwXLit5aKD8ILvmt3ioxdxnYsKb2rwdB1mrjUtHRX6zsJLVV3Yai/FuYsfvp13QS0w==}
+
+ '@dcloudio/uni-stacktracey@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-bldVvfM9RyXqyjXLXPM2ytexiTY+20qR+3L92l43cY9kPMqnQrSr1M9TF2HrJB5xiqlXYC0FTWpJ3CgRPwBgJg==}
+
+ '@dcloudio/uni-stat@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-a7bsTAfAPLYsB9dvfdJL72NLbtAXpt3ivlPdTgAtq+jas/pio73AvPifGMtQtUCZXmbiMFSeLOrihQP6+A5cCw==}
+
+ '@dcloudio/vite-plugin-uni@3.0.0-4070620250821001':
+ resolution: {integrity: sha512-7gxjhkUnfb/rbpnuUkFJcSWG7XPUf2y8NIZQCIabHEkkCp+bSf+fLHyxdPVqqHoQLHGecmnV6WKjhEPvmlerAg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ vite: ^5.2.8
+
+ '@dprint/formatter@0.3.0':
+ resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==}
+
+ '@dprint/markdown@0.17.8':
+ resolution: {integrity: sha512-ukHFOg+RpG284aPdIg7iPrCYmMs3Dqy43S1ejybnwlJoFiW02b+6Bbr5cfZKFRYNP3dKGM86BqHEnMzBOyLvvA==}
+
+ '@dprint/toml@0.6.4':
+ resolution: {integrity: sha512-bZXIUjxr0LIuHWshZr/5mtUkOrnh0NKVZEF6ACojW5z7zkJu7s9sV2mMXm8XQDqN4cJzdHYUYzUyEGdfciaLJA==}
+
+ '@emnapi/core@1.5.0':
+ resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
+
+ '@emnapi/runtime@1.5.0':
+ resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
+ '@epic-web/invariant@1.0.0':
+ resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
+
+ '@es-joy/jsdoccomment@0.50.2':
+ resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
+ engines: {node: '>=18'}
+
+ '@es-joy/jsdoccomment@0.52.0':
+ resolution: {integrity: sha512-BXuN7BII+8AyNtn57euU2Yxo9yA/KUDNzrpXyi3pfqKmBhhysR6ZWOebFh3vyPoqA3/j1SOvGgucElMGwlXing==}
+ engines: {node: '>=20.11.0'}
+
+ '@esbuild/aix-ppc64@0.20.2':
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.20.2':
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.20.2':
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.20.2':
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.20.2':
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.20.2':
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.20.2':
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.20.2':
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.20.2':
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.20.2':
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.20.2':
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.20.2':
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.20.2':
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.20.2':
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.20.2':
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.20.2':
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.20.2':
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.20.2':
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.20.2':
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.20.2':
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.20.2':
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.20.2':
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-plugin-eslint-comments@4.5.0':
+ resolution: {integrity: sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+
+ '@eslint-community/eslint-utils@4.7.0':
+ resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/eslint-utils@4.9.0':
+ resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/compat@1.4.0':
+ resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.40 || 9
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/config-helpers@0.3.1':
+ resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.15.2':
+ resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.16.0':
+ resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.34.0':
+ resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/markdown@7.4.0':
+ resolution: {integrity: sha512-VQykmMjBb4tQoJOXVWXa+oQbQeCZlE7W3rAsOpmtpKLvJd75saZZ04PVVs7+zgMDJGghd4/gyFV6YlvdJFaeNQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.3.5':
+ resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.4.0':
+ resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@exodus/bytes@1.15.1':
+ resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ peerDependencies:
+ '@noble/hashes': ^1.8.0 || ^2.0.0
+ peerDependenciesMeta:
+ '@noble/hashes':
+ optional: true
+
+ '@exodus/schemasafe@1.3.0':
+ resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==}
+
+ '@halo-dev/api-client@2.24.0':
+ resolution: {integrity: sha512-c2CQ4peNvfcorq9U0ekidNt4UA0tr7BsPzv3aPl6aHYnnGUdfmoVIIfp4ty0azsdTG6pTnUVdiDNKq185/VTcw==}
+ peerDependencies:
+ axios: ^1.12.*
+
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
+
+ '@iconify-json/carbon@1.2.13':
+ resolution: {integrity: sha512-vXrFFKkfYaZSwf4WfnRQJQMnpEzxlPlupwZZlS1WvOAuNnWahsUudHycaMpoBzDqBfniH4KQ2b5qnw0VMKoJug==}
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
+ '@iconify/utils@2.3.0':
+ resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
+
+ '@iconify/utils@3.0.2':
+ resolution: {integrity: sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==}
+
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@intlify/core-base@9.1.9':
+ resolution: {integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==}
+ engines: {node: '>= 10'}
+
+ '@intlify/devtools-if@9.1.9':
+ resolution: {integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==}
+ engines: {node: '>= 10'}
+
+ '@intlify/message-compiler@9.1.9':
+ resolution: {integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==}
+ engines: {node: '>= 10'}
+
+ '@intlify/message-resolver@9.1.9':
+ resolution: {integrity: sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==}
+ engines: {node: '>= 10'}
+
+ '@intlify/runtime@9.1.9':
+ resolution: {integrity: sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==}
+ engines: {node: '>= 10'}
+
+ '@intlify/shared@9.1.9':
+ resolution: {integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==}
+ engines: {node: '>= 10'}
+
+ '@intlify/vue-devtools@9.1.9':
+ resolution: {integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==}
+ engines: {node: '>= 10'}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jest/console@27.5.1':
+ resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/core@27.5.1':
+ resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/environment@27.5.1':
+ resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/fake-timers@27.5.1':
+ resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/globals@27.5.1':
+ resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/reporters@27.5.1':
+ resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/source-map@27.5.1':
+ resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-result@27.5.1':
+ resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-sequencer@27.5.1':
+ resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/transform@27.5.1':
+ resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/types@27.5.1':
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jimp/bmp@0.10.3':
+ resolution: {integrity: sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/bmp@0.16.13':
+ resolution: {integrity: sha512-9edAxu7N2FX7vzkdl5Jo1BbACfycUtBQX+XBMcHA2bk62P8R0otgkHg798frgAk/WxQIzwxqOH6wMiCwrlAzdQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/core@0.10.3':
+ resolution: {integrity: sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==}
+
+ '@jimp/core@0.16.13':
+ resolution: {integrity: sha512-qXpA1tzTnlkTku9yqtuRtS/wVntvE6f3m3GNxdTdtmc+O+Wcg9Xo2ABPMh7Nc0AHbMKzwvwgB2JnjZmlmJEObg==}
+
+ '@jimp/custom@0.10.3':
+ resolution: {integrity: sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==}
+
+ '@jimp/custom@0.16.13':
+ resolution: {integrity: sha512-LTATglVUPGkPf15zX1wTMlZ0+AU7cGEGF6ekVF1crA8eHUWsGjrYTB+Ht4E3HTrCok8weQG+K01rJndCp/l4XA==}
+
+ '@jimp/gif@0.10.3':
+ resolution: {integrity: sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/gif@0.16.13':
+ resolution: {integrity: sha512-yFAMZGv3o+YcjXilMWWwS/bv1iSqykFahFMSO169uVMtfQVfa90kt4/kDwrXNR6Q9i6VHpFiGZMlF2UnHClBvg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/jpeg@0.10.3':
+ resolution: {integrity: sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/jpeg@0.16.13':
+ resolution: {integrity: sha512-BJHlDxzTlCqP2ThqP8J0eDrbBfod7npWCbJAcfkKqdQuFk0zBPaZ6KKaQKyKxmWJ87Z6ohANZoMKEbtvrwz1AA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-blit@0.10.3':
+ resolution: {integrity: sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-blit@0.16.13':
+ resolution: {integrity: sha512-8Z1k96ZFxlhK2bgrY1JNWNwvaBeI/bciLM0yDOni2+aZwfIIiC7Y6PeWHTAvjHNjphz+XCt01WQmOYWCn0ML6g==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-blur@0.10.3':
+ resolution: {integrity: sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-blur@0.16.13':
+ resolution: {integrity: sha512-PvLrfa8vkej3qinlebyhLpksJgCF5aiysDMSVhOZqwH5nQLLtDE9WYbnsofGw4r0VVpyw3H/ANCIzYTyCtP9Cg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-circle@0.10.3':
+ resolution: {integrity: sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-circle@0.16.13':
+ resolution: {integrity: sha512-RNave7EFgZrb5V5EpdvJGAEHMnDAJuwv05hKscNfIYxf0kR3KhViBTDy+MoTnMlIvaKFULfwIgaZWzyhuINMzA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-color@0.10.3':
+ resolution: {integrity: sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-color@0.16.13':
+ resolution: {integrity: sha512-xW+9BtEvoIkkH/Wde9ql4nAFbYLkVINhpgAE7VcBUsuuB34WUbcBl/taOuUYQrPEFQJ4jfXiAJZ2H/rvKjCVnQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-contain@0.10.3':
+ resolution: {integrity: sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+
+ '@jimp/plugin-contain@0.16.13':
+ resolution: {integrity: sha512-QayTXw4tXMwU6q6acNTQrTTFTXpNRBe+MgTGMDU0lk+23PjlFCO/9sacflelG8lsp7vNHhAxFeHptDMAksEYzg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+
+ '@jimp/plugin-cover@0.10.3':
+ resolution: {integrity: sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+
+ '@jimp/plugin-cover@0.16.13':
+ resolution: {integrity: sha512-BSsP71GTNaqWRcvkbWuIVH+zK7b3TSNebbhDkFK0fVaUTzHuKMS/mgY4hDZIEVt7Rf5FjadAYtsujHN9w0iSYA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+
+ '@jimp/plugin-crop@0.10.3':
+ resolution: {integrity: sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-crop@0.16.13':
+ resolution: {integrity: sha512-WEl2tPVYwzYL8OKme6Go2xqiWgKsgxlMwyHabdAU4tXaRwOCnOI7v4021gCcBb9zn/oWwguHuKHmK30Fw2Z/PA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-displace@0.10.3':
+ resolution: {integrity: sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-displace@0.16.13':
+ resolution: {integrity: sha512-qt9WKq8vWrcjySa9DyQ0x/RBMHQeiVjdVSY1SJsMjssPUf0pS74qorcuAkGi89biN3YoGUgPkpqECnAWnYwgGA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-dither@0.10.3':
+ resolution: {integrity: sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-dither@0.16.13':
+ resolution: {integrity: sha512-5/N3yJggbWQTlGZHQYJPmQXEwR52qaXjEzkp1yRBbtdaekXE3BG/suo0fqeoV/csf8ooI78sJzYmIrxNoWVtgQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-fisheye@0.10.3':
+ resolution: {integrity: sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-fisheye@0.16.13':
+ resolution: {integrity: sha512-2rZmTdFbT/cF9lEZIkXCYO0TsT114Q27AX5IAo0Sju6jVQbvIk1dFUTnwLDadTo8wkJlFzGqMQ24Cs8cHWOliA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-flip@0.10.3':
+ resolution: {integrity: sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-rotate': '>=0.3.5'
+
+ '@jimp/plugin-flip@0.16.13':
+ resolution: {integrity: sha512-EmcgAA74FTc5u7Z+hUO/sRjWwfPPLuOQP5O64x5g4j0T12Bd29IgsYZxoutZo/rb3579+JNa/3wsSEmyVv1EpA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-rotate': '>=0.3.5'
+
+ '@jimp/plugin-gaussian@0.10.3':
+ resolution: {integrity: sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-gaussian@0.16.13':
+ resolution: {integrity: sha512-A1XKfGQD0iDdIiKqFYi8nZMv4dDVYdxbrmgR7y/CzUHhSYdcmoljLIIsZZM3Iks/Wa353W3vtvkWLuDbQbch1w==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-invert@0.10.3':
+ resolution: {integrity: sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-invert@0.16.13':
+ resolution: {integrity: sha512-xFMrIn7czEZbdbMzZWuaZFnlLGJDVJ82y5vlsKsXRTG2kcxRsMPXvZRWHV57nSs1YFsNqXSbrC8B98n0E32njQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-mask@0.10.3':
+ resolution: {integrity: sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-mask@0.16.13':
+ resolution: {integrity: sha512-wLRYKVBXql2GAYgt6FkTnCfE+q5NomM7Dlh0oIPGAoMBWDyTx0eYutRK6PlUrRK2yMHuroAJCglICTbxqGzowQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-normalize@0.10.3':
+ resolution: {integrity: sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-normalize@0.16.13':
+ resolution: {integrity: sha512-3tfad0n9soRna4IfW9NzQdQ2Z3ijkmo21DREHbE6CGcMIxOSvfRdSvf1qQPApxjTSo8LTU4MCi/fidx/NZ0GqQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-print@0.10.3':
+ resolution: {integrity: sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+
+ '@jimp/plugin-print@0.16.13':
+ resolution: {integrity: sha512-0m6i3p01PGRkGAK9r53hDYrkyMq+tlhLOIbsSTmZyh6HLshUKlTB7eXskF5OpVd5ZUHoltlNc6R+ggvKIzxRFw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+
+ '@jimp/plugin-resize@0.10.3':
+ resolution: {integrity: sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-resize@0.16.13':
+ resolution: {integrity: sha512-qoqtN8LDknm3fJm9nuPygJv30O3vGhSBD2TxrsCnhtOsxKAqVPJtFVdGd/qVuZ8nqQANQmTlfqTiK9mVWQ7MiQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugin-rotate@0.10.3':
+ resolution: {integrity: sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-rotate@0.16.13':
+ resolution: {integrity: sha512-Ev+Jjmj1nHYw897z9C3R9dYsPv7S2/nxdgfFb/h8hOwK0Ovd1k/+yYS46A0uj/JCKK0pQk8wOslYBkPwdnLorw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-scale@0.10.3':
+ resolution: {integrity: sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-scale@0.16.13':
+ resolution: {integrity: sha512-05POQaEJVucjTiSGMoH68ZiELc7QqpIpuQlZ2JBbhCV+WCbPFUBcGSmE7w4Jd0E2GvCho/NoMODLwgcVGQA97A==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-shadow@0.10.3':
+ resolution: {integrity: sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blur': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-shadow@0.16.13':
+ resolution: {integrity: sha512-nmu5VSZ9hsB1JchTKhnnCY+paRBnwzSyK5fhkhtQHHoFD5ArBQ/5wU8y6tCr7k/GQhhGq1OrixsECeMjPoc8Zw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blur': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+
+ '@jimp/plugin-threshold@0.10.3':
+ resolution: {integrity: sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-color': '>=0.8.0'
+ '@jimp/plugin-resize': '>=0.8.0'
+
+ '@jimp/plugin-threshold@0.16.13':
+ resolution: {integrity: sha512-+3zArBH0OE3Rhjm4HyAokMsZlIq5gpQec33CncyoSwxtRBM2WAhUVmCUKuBo+Lr/2/4ISoY4BWpHKhMLDix6cA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-color': '>=0.8.0'
+ '@jimp/plugin-resize': '>=0.8.0'
+
+ '@jimp/plugins@0.10.3':
+ resolution: {integrity: sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/plugins@0.16.13':
+ resolution: {integrity: sha512-CJLdqODEhEVs4MgWCxpWL5l95sCBlkuSLz65cxEm56X5akIsn4LOlwnKoSEZioYcZUBvHhCheH67AyPTudfnQQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/png@0.10.3':
+ resolution: {integrity: sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/png@0.16.13':
+ resolution: {integrity: sha512-8cGqINvbWJf1G0Her9zbq9I80roEX0A+U45xFby3tDWfzn+Zz8XKDF1Nv9VUwVx0N3zpcG1RPs9hfheG4Cq2kg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/tiff@0.10.3':
+ resolution: {integrity: sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/tiff@0.16.13':
+ resolution: {integrity: sha512-oJY8d9u95SwW00VPHuCNxPap6Q1+E/xM5QThb9Hu+P6EGuu6lIeLaNBMmFZyblwFbwrH+WBOZlvIzDhi4Dm/6Q==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/types@0.10.3':
+ resolution: {integrity: sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/types@0.16.13':
+ resolution: {integrity: sha512-mC0yVNUobFDjoYLg4hoUwzMKgNlxynzwt3cDXzumGvRJ7Kb8qQGOWJQjQFo5OxmGExqzPphkirdbBF88RVLBCg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+
+ '@jimp/utils@0.10.3':
+ resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==}
+
+ '@jimp/utils@0.16.13':
+ resolution: {integrity: sha512-VyCpkZzFTHXtKgVO35iKN0sYR10psGpV6SkcSeV4oF7eSYlR8Bl6aQLCzVeFjvESF7mxTmIiI3/XrMobVrtxDA==}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.30':
+ resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@leejim/wxml-parser@0.1.6':
+ resolution: {integrity: sha512-1u4ULGK4GKkWhTlc3Hmac8PknrmpGd7qxZOTnT/Bm6EZ/wtonLgFhJ4vyuiUZpeCptnknOLkRpGx2Um9npwdZw==}
+
+ '@manypkg/find-root@1.1.0':
+ resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
+
+ '@manypkg/get-packages@1.1.3':
+ resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==}
+
+ '@node-rs/xxhash-android-arm-eabi@1.7.6':
+ resolution: {integrity: sha512-ptmfpFZ8SgTef58Us+0HsZ9BKhyX/gZYbhLkuzPt7qUoMqMSJK85NC7LEgzDgjUiG+S5GahEEQ9/tfh9BVvKhw==}
+ engines: {node: '>= 12'}
+ cpu: [arm]
+ os: [android]
+
+ '@node-rs/xxhash-android-arm64@1.7.6':
+ resolution: {integrity: sha512-n4MyZvqifuoARfBvrZ2IBqmsGzwlVI3kb2mB0gVvoHtMsPbl/q94zoDBZ7WgeP3t4Wtli+QS3zgeTCOWUbqqUQ==}
+ engines: {node: '>= 12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@node-rs/xxhash-darwin-arm64@1.7.6':
+ resolution: {integrity: sha512-6xGuE07CiCIry/KT3IiwQd/kykTOmjKzO/ZnHlE5ibGMx64NFE0qDuwJbxQ4rGyUzgJ0KuN9ZdOhUDJmepnpcw==}
+ engines: {node: '>= 12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@node-rs/xxhash-darwin-x64@1.7.6':
+ resolution: {integrity: sha512-Z4oNnhyznDvHhxv+s0ka+5KG8mdfLVucZMZMejj9BL+CPmamClygPiHIRiifRcPAoX9uPZykaCsULngIfLeF3Q==}
+ engines: {node: '>= 12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@node-rs/xxhash-freebsd-x64@1.7.6':
+ resolution: {integrity: sha512-arCDOf3xZ5NfBL5fk5J52sNPjXL2cVWN6nXNB3nrtRFFdPBLsr6YXtshAc6wMVxnIW4VGaEv/5K6IpTA8AFyWw==}
+ engines: {node: '>= 12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@node-rs/xxhash-linux-arm-gnueabihf@1.7.6':
+ resolution: {integrity: sha512-ndLLEW+MwLH3lFS0ahlHCcmkf2ykOv/pbP8OBBeAOlz/Xc3jKztg5IJ9HpkjKOkHk470yYxgHVaw1QMoMzU00A==}
+ engines: {node: '>= 12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@node-rs/xxhash-linux-arm64-gnu@1.7.6':
+ resolution: {integrity: sha512-VX7VkTG87mAdrF2vw4aroiRpFIIN8Lj6NgtGHF+IUVbzQxPudl4kG+FPEjsNH8y04yQxRbPE7naQNgHcTKMrNw==}
+ engines: {node: '>= 12'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@node-rs/xxhash-linux-arm64-musl@1.7.6':
+ resolution: {integrity: sha512-AB5m6crGYSllM9F/xZNOQSPImotR5lOa9e4arW99Bv82S+gcpphI8fGMDOVTTCXY/RLRhvvhwzLDxmLB2O8VDg==}
+ engines: {node: '>= 12'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@node-rs/xxhash-linux-x64-gnu@1.7.6':
+ resolution: {integrity: sha512-a2A6M+5tc0PVlJlE/nl0XsLEzMpKkwg7Y1lR5urFUbW9uVQnKjJYQDrUojhlXk0Uv3VnYQPa6ThmwlacZA5mvQ==}
+ engines: {node: '>= 12'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@node-rs/xxhash-linux-x64-musl@1.7.6':
+ resolution: {integrity: sha512-WioGJSC1GoxQpmdQrG5l/uddSBAS4XCWczHNwXe895J5xadGQzyvmr0r17BNfihvbBUDH1H9jwouNYzDDeA6+A==}
+ engines: {node: '>= 12'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@node-rs/xxhash-wasm32-wasi@1.7.6':
+ resolution: {integrity: sha512-WDXXKMMFMrez+esm2DzMPHFNPFYf+wQUtaXrXwtxXeQMFEzleOLwEaqV0+bbXGJTwhPouL3zY1Qo2xmIH4kkTg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@node-rs/xxhash-win32-arm64-msvc@1.7.6':
+ resolution: {integrity: sha512-qjDFUZJT/Zq0yFS+0TApkD86p0NBdPXlOoHur9yNeO9YX2/9/b1sC2P7N27PgOu13h61TUOvTUC00e/82jAZRQ==}
+ engines: {node: '>= 12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@node-rs/xxhash-win32-ia32-msvc@1.7.6':
+ resolution: {integrity: sha512-s7a+mQWOTnU4NiiypRq/vbNGot/il0HheXuy9oxJ0SW2q/e4BJ8j0pnP6UBlAjsk+005A76vOwsEj01qbQw8+A==}
+ engines: {node: '>= 12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@node-rs/xxhash-win32-x64-msvc@1.7.6':
+ resolution: {integrity: sha512-zHOHm2UaIahRhgRPJll+4Xy4Z18aAT/7KNeQW+QJupGvFz+GzOFXMGs3R/3B1Ktob/F5ui3i1MrW9GEob3CWTg==}
+ engines: {node: '>= 12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@node-rs/xxhash@1.7.6':
+ resolution: {integrity: sha512-XMisO+aQHsVpxRp/85EszTtOQTOlhPbd149P/Xa9F55wafA6UM3h2UhOgOs7aAzItnHU/Aw1WQ1FVTEg7WB43Q==}
+ engines: {node: '>= 12'}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@one-ini/wasm@0.1.1':
+ resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@pkgr/core@0.1.2':
+ resolution: {integrity: sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
+ '@pkgr/core@0.2.9':
+ resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+
+ '@prettier/sync@0.6.1':
+ resolution: {integrity: sha512-yF9G8vK/LYUTF3Cijd7VC9La3b20F20/J/fgoR4H0B8JGOWnZVZX6+I6+vODPosjmMcpdlUV+gUqJQZp3kLOcw==}
+ peerDependencies:
+ prettier: '*'
+
+ '@protobufjs/aspromise@1.1.2':
+ resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
+
+ '@protobufjs/base64@1.1.2':
+ resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
+
+ '@protobufjs/codegen@2.0.4':
+ resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
+
+ '@protobufjs/eventemitter@1.1.0':
+ resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
+
+ '@protobufjs/fetch@1.1.0':
+ resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+
+ '@protobufjs/float@1.0.2':
+ resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
+
+ '@protobufjs/inquire@1.1.0':
+ resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
+
+ '@protobufjs/path@1.1.2':
+ resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
+
+ '@protobufjs/pool@1.1.0':
+ resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
+
+ '@protobufjs/utf8@1.1.0':
+ resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
+
+ '@qiun/ucharts@2.5.0-20230101':
+ resolution: {integrity: sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw==}
+
+ '@quansync/fs@0.1.5':
+ resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==}
+
+ '@rollup/pluginutils@5.2.0':
+ resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.50.0':
+ resolution: {integrity: sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.50.0':
+ resolution: {integrity: sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.50.0':
+ resolution: {integrity: sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.50.0':
+ resolution: {integrity: sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.50.0':
+ resolution: {integrity: sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.50.0':
+ resolution: {integrity: sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.50.0':
+ resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.50.0':
+ resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.50.0':
+ resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.50.0':
+ resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.50.0':
+ resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.50.0':
+ resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.50.0':
+ resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-musl@4.50.0':
+ resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-s390x-gnu@4.50.0':
+ resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.50.0':
+ resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.50.0':
+ resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-openharmony-arm64@4.50.0':
+ resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.50.0':
+ resolution: {integrity: sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.50.0':
+ resolution: {integrity: sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.50.0':
+ resolution: {integrity: sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@sindresorhus/is@0.7.0':
+ resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==}
+ engines: {node: '>=4'}
+
+ '@sindresorhus/is@4.6.0':
+ resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
+ engines: {node: '>=10'}
+
+ '@sinonjs/commons@1.8.6':
+ resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
+
+ '@sinonjs/fake-timers@8.1.0':
+ resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
+
+ '@stylistic/eslint-plugin@5.4.0':
+ resolution: {integrity: sha512-UG8hdElzuBDzIbjG1QDwnYH0MQ73YLXDFHgZzB4Zh/YJfnw8XNsloVtytqzx0I2Qky9THSdpTmi8Vjn/pf/Lew==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=9.0.0'
+
+ '@swc/core-darwin-arm64@1.4.14':
+ resolution: {integrity: sha512-8iPfLhYNspBl836YYsfv6ErXwDUqJ7IMieddV3Ey/t/97JAEAdNDUdtTKDtbyP0j/Ebyqyn+fKcqwSq7rAof0g==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@swc/core-darwin-x64@1.4.14':
+ resolution: {integrity: sha512-9CqSj8uRZ92cnlgAlVaWMaJJBdxtNvCzJxaGj5KuIseeG6Q0l1g+qk8JcU7h9dAsH9saHTNwNFBVGKQo0W0ujg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@swc/core-linux-arm-gnueabihf@1.4.14':
+ resolution: {integrity: sha512-mfd5JArPITTzMjcezH4DwMw+BdjBV1y25Khp8itEIpdih9ei+fvxOOrDYTN08b466NuE2dF2XuhKtRLA7fXArQ==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@swc/core-linux-arm64-gnu@1.4.14':
+ resolution: {integrity: sha512-3Lqlhlmy8MVRS9xTShMaPAp0oyUt0KFhDs4ixJsjdxKecE0NJSV/MInuDmrkij1C8/RQ2wySRlV9np5jK86oWw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-arm64-musl@1.4.14':
+ resolution: {integrity: sha512-n0YoCa64TUcJrbcXIHIHDWQjdUPdaXeMHNEu7yyBtOpm01oMGTKP3frsUXIABLBmAVWtKvqit4/W1KVKn5gJzg==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@swc/core-linux-x64-gnu@1.4.14':
+ resolution: {integrity: sha512-CGmlwLWbfG1dB4jZBJnp2IWlK5xBMNLjN7AR5kKA3sEpionoccEnChOEvfux1UdVJQjLRKuHNV9yGyqGBTpxfQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-x64-musl@1.4.14':
+ resolution: {integrity: sha512-xq4npk8YKYmNwmr8fbvF2KP3kUVdZYfXZMQnW425gP3/sn+yFQO8Nd0bGH40vOVQn41kEesSe0Z5O/JDor2TgQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@swc/core-win32-arm64-msvc@1.4.14':
+ resolution: {integrity: sha512-imq0X+gU9uUe6FqzOQot5gpKoaC00aCUiN58NOzwp0QXEupn8CDuZpdBN93HiZswfLruu5jA1tsc15x6v9p0Yg==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@swc/core-win32-ia32-msvc@1.4.14':
+ resolution: {integrity: sha512-cH6QpXMw5D3t+lpx6SkErHrxN0yFzmQ0lgNAJxoDRiaAdDbqA6Col8UqUJwUS++Ul6aCWgNhCdiEYehPaoyDPA==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@swc/core-win32-x64-msvc@1.4.14':
+ resolution: {integrity: sha512-FmZ4Tby4wW65K/36BKzmuu7mlq7cW5XOxzvufaSNVvQ5PN4OodAlqPjToe029oma4Av+ykJiif64scMttyNAzg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@swc/core@1.4.14':
+ resolution: {integrity: sha512-tHXg6OxboUsqa/L7DpsCcFnxhLkqN/ht5pCwav1HnvfthbiNIJypr86rNx4cUnQDJepETviSqBTIjxa7pSpGDQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/types@0.1.25':
+ resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==}
+
+ '@szmarczak/http-timer@4.0.6':
+ resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
+ engines: {node: '>=10'}
+
+ '@tokenizer/token@0.3.0':
+ resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+
+ '@tootallnate/once@1.1.2':
+ resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
+ engines: {node: '>= 6'}
+
+ '@trivago/prettier-plugin-sort-imports@5.2.2':
+ resolution: {integrity: sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==}
+ engines: {node: '>18.12'}
+ peerDependencies:
+ '@vue/compiler-sfc': 3.x
+ prettier: 2.x - 3.x
+ prettier-plugin-svelte: 3.x
+ svelte: 4.x || 5.x
+ peerDependenciesMeta:
+ '@vue/compiler-sfc':
+ optional: true
+ prettier-plugin-svelte:
+ optional: true
+ svelte:
+ optional: true
+
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
+ '@ts-morph/common@0.26.1':
+ resolution: {integrity: sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==}
+
+ '@tybys/wasm-util@0.10.0':
+ resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
+ '@types/cacheable-request@6.0.3':
+ resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
+
+ '@types/chai@5.2.3':
+ resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
+
+ '@types/conventional-commits-parser@5.0.1':
+ resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/deep-eql@4.0.2':
+ resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/graceful-fs@4.1.9':
+ resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
+
+ '@types/http-cache-semantics@4.0.4':
+ resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/keyv@3.1.4':
+ resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+
+ '@types/long@4.0.2':
+ resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@12.20.55':
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
+
+ '@types/node@16.9.1':
+ resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}
+
+ '@types/node@20.19.11':
+ resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==}
+
+ '@types/node@20.19.20':
+ resolution: {integrity: sha512-2Q7WS25j4pS1cS8yw3d6buNCVJukOTeQ39bAnwR6sOJbaxvyCGebzTMypDFN82CxBLnl+lSWVdCCWbRY6y9yZQ==}
+
+ '@types/prettier@2.7.3':
+ resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
+
+ '@types/proper-lockfile@4.1.4':
+ resolution: {integrity: sha512-uo2ABllncSqg9F1D4nugVl9v93RmjxF6LJzQLMLDdPaXCUIDPeOJ21Gbqi43xNKzBi/WQ0Q0dICqufzQbMjipQ==}
+
+ '@types/responselike@1.0.3':
+ resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
+
+ '@types/retry@0.12.5':
+ resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==}
+
+ '@types/stack-utils@2.0.3':
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@16.0.9':
+ resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
+
+ '@typescript-eslint/eslint-plugin@8.46.0':
+ resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.46.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/parser@8.46.0':
+ resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/project-service@8.41.0':
+ resolution: {integrity: sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/project-service@8.46.0':
+ resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/scope-manager@8.41.0':
+ resolution: {integrity: sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/scope-manager@8.46.0':
+ resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/tsconfig-utils@8.41.0':
+ resolution: {integrity: sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/tsconfig-utils@8.46.0':
+ resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/type-utils@8.46.0':
+ resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/types@8.41.0':
+ resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/types@8.46.0':
+ resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.41.0':
+ resolution: {integrity: sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/typescript-estree@8.46.0':
+ resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/utils@8.41.0':
+ resolution: {integrity: sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/utils@8.46.0':
+ resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/visitor-keys@8.41.0':
+ resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/visitor-keys@8.46.0':
+ resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@uni-helper/eslint-config@0.5.0':
+ resolution: {integrity: sha512-jU/VT078aZQcwjC4ceuWWR5yh4mJ0PzW5MSrOgLi1MSbBKQe5YTAlvphXAUMYpSHqg7iwCmaWNamy3tv4ZZicw==}
+ peerDependencies:
+ '@antfu/eslint-config': ^5.0.0
+ eslint: ^9.10.0
+
+ '@uni-helper/plugin-uni@0.1.0':
+ resolution: {integrity: sha512-hBPUjoQc/SgqKsyGUl0fJiL+dDwLPhf2es1PJdsXcxHyOujoBP2+D4z5ie+Q72wVwKtTsQSP3tSjww/63JRmbA==}
+ peerDependencies:
+ '@dcloudio/vite-plugin-uni': '*'
+
+ '@uni-helper/uni-app-types@1.0.0-alpha.6':
+ resolution: {integrity: sha512-t9AKDYBmDaz4IW0fgtBt25ubEzf7kyUeMlHaBaG5nyNGd6pVuDpYkABhsnNPDiZcaHAoN6SbX1SQQx5axDOWbA==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ typescript: ^5.0.0
+ vue: ^3.0.0
+
+ '@uni-helper/uni-cloud-types@1.0.0-alpha.6':
+ resolution: {integrity: sha512-xnLiRcqf14NXcmkcekF3BbN0O157WROpzHfyKVAeLhcXRhO0HIRUMy0+h9KnCDZ+LFteeIOZXJWC5ere3yhIiQ==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ typescript: ^5.0.0
+ vue: ^3.0.0
+
+ '@uni-helper/uni-env@0.1.8':
+ resolution: {integrity: sha512-oZQisgM5sFarGrswKHJvS5S7xNMXLjcBcPTKp2gzLMon+chdHiKua1+Hlqe/NX79Re35W4A6/QHDrw9cZ5AVGQ==}
+
+ '@uni-helper/uni-types@1.0.0-alpha.6':
+ resolution: {integrity: sha512-lGSm3RUOQThyYIUuJI46b8ug3nGZMyRfMQ/ktOGNxOXBukGA1TF1TN2m4MjKUklIQ+kiIuIgZJoU3S7oIK5emw==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ '@uni-helper/uni-app-types': 1.0.0-alpha.6
+ '@uni-helper/uni-cloud-types': 1.0.0-alpha.6
+ '@uni-helper/uni-ui-types': 1.0.0-alpha.6
+ typescript: ^5.0.0
+ vue: ^3.0.0
+
+ '@uni-helper/uni-ui-types@1.0.0-alpha.6':
+ resolution: {integrity: sha512-2KuAup2M7rPVzpLaXhhnxCD/Cs5VQYiqzC9XNI/VZuA88+ApPmHzkwyS0THSHnz1VbDIGX/Ju69nj+mApfYKDw==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ '@uni-helper/uni-app-types': 1.0.0-alpha.6
+ typescript: ^5.0.0
+ vue: ^3.0.0
+
+ '@uni-helper/unocss-preset-uni@0.2.11':
+ resolution: {integrity: sha512-/863vV/9y89j0ZzEGSrz+dCsOjxxUpGTNHL7+i/yokhyscmvcH8KPEpcOTfNtbkE5ALyJdNnfN70g2jbpxC3mw==}
+ peerDependencies:
+ '@unocss/preset-legacy-compat': '>=0.58'
+ '@unocss/preset-mini': '>=0.58'
+ '@unocss/rule-utils': '>=0.58'
+ '@unocss/vite': '>=0.58'
+ unocss: '>=0.58'
+ unocss-applet: '>=0.7'
+ peerDependenciesMeta:
+ '@unocss/preset-mini':
+ optional: true
+ '@unocss/vite':
+ optional: true
+
+ '@uni-helper/vite-plugin-uni-components@0.2.3':
+ resolution: {integrity: sha512-in7jRYQnPkLg6W13dzz8mzHDuZC+OFc3qb8MrnmDQgniIxHfxJw8vaibL1au6gvq7ij3h6EHvhHaRytIJ2PkYw==}
+
+ '@uni-helper/vite-plugin-uni-layouts@0.1.11':
+ resolution: {integrity: sha512-FXdFATBFsHAl7xY9q3KO0EexMRGua/7txIiQTm2rQi1/bXcft4CUXldtuHl9Upq0V6CT47aanmfzcOF5CpHK7Q==}
+
+ '@uni-helper/vite-plugin-uni-manifest@0.2.12':
+ resolution: {integrity: sha512-3bAl6hEmBb7TA+yLntCAsdhAjedLNmbaDJV6gXKK/G5pOJDvO+agkU/P/Pb9DGXAhUjOZ8QbUr0fLdyVw0h4qw==}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0 || ^6.0.0
+
+ '@uni-helper/vite-plugin-uni-pages@0.3.23':
+ resolution: {integrity: sha512-dokW4rY/g1aOwCp3Jjjwyek20YY7vBEwixy/j+lesudrY1+YEGMQwdq8gB6yDdnywQijqy9GRTu+GwlNESDKkA==}
+ peerDependencies:
+ vite: ^5.0.0
+
+ '@uni-helper/vite-plugin-uni-platform@0.0.5':
+ resolution: {integrity: sha512-T0lUwM3bGtGTcig3TBWP3VyRUQAY39/TMGL0064YMv8mt3F55S3KfpW7HIKEzV+EPF41TBX1ahhspuN8MJrpew==}
+
+ '@uni-ku/bundle-optimizer@1.3.15-beta.2':
+ resolution: {integrity: sha512-cHm6VsUX5l7/khK+l6KPHPNZMBDerhVLjxmKzClgnncdkOZHA8HOlciEt5A8sAUWjqckjrVKPjrea/6JpAPIvw==}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+
+ '@uni-ku/root@1.4.1':
+ resolution: {integrity: sha512-DI9LLbWmPXjqJVwZTC84GuvSz9vzOgSUjbFrOE1y3kivttEReNVqwWM3n/kzFoNuS3KKm/DissOph4rFs912Zw==}
+ peerDependencies:
+ vite: ^5.0.0
+
+ '@unocss-applet/preset-applet@0.11.0':
+ resolution: {integrity: sha512-nIDwW2hgb+aNGGQHHgRomGiGSKEhLOwtuwisdWbEwqzTzfdgw1dW5wzKrmgp+S+i3UQwNq1LGBnDJU4p6SH4hQ==}
+
+ '@unocss-applet/preset-rem-rpx@0.11.0':
+ resolution: {integrity: sha512-sisoat2UPDvf6wQrLTRLkU71CdAhMByoiBNDSOTpy14rQuq74BUVhdHKmCYV10GRCOzQN/N4gwKFZAUwrWe0EQ==}
+
+ '@unocss-applet/transformer-attributify@0.11.0':
+ resolution: {integrity: sha512-kmanW2EtkB0x18uIUT9VHQg17QZ5Q114aITOGTrNp+nb1ttM5wvN/zG29VTvkKyPBX7sSkMWJuXxWxux06Jb3w==}
+
+ '@unocss/astro@66.0.0':
+ resolution: {integrity: sha512-GBhXT6JPqXjDXoJZTXhySk83NgOt0UigChqrUUdG4x7Z+DVYkDBION8vZUJjw0OdIaxNQ4euGWu4GDsMF6gQQg==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ '@unocss/cli@66.0.0':
+ resolution: {integrity: sha512-KVQiskoOjVkLVpNaG6WpLa4grPplrZROYZJVIUYSTqZyZRFNSvjttHcsCwpoWUEUdEombPtVZl8FrXePjY5IiQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ '@unocss/config@66.0.0':
+ resolution: {integrity: sha512-nFRGop/guBa4jLkrgXjaRDm5JPz4x3YpP10m5IQkHpHwlnHUVn1L9smyPl04ohYWhYn9ZcAHgR28Ih2jwta8hw==}
+ engines: {node: '>=14'}
+
+ '@unocss/config@66.5.0':
+ resolution: {integrity: sha512-vNPqcfCPIVCuV3AU13d6qO/wSRrvdXeV8myQQUlUBVkvHezFBQ/atVOP77Ov5qUBARyx3zwUCkgQxYOCs60EGw==}
+ engines: {node: '>=14'}
+
+ '@unocss/core@66.0.0':
+ resolution: {integrity: sha512-PdVbSMHNDDkr++9nkqzsZRAkaU84gxMTEgYbqI7dt2p1DXp/5tomVtmMsr2/whXGYKRiUc0xZ3p4Pzraz8TcXA==}
+
+ '@unocss/core@66.5.0':
+ resolution: {integrity: sha512-4JStg50nrwd4aJulbPYglqHyuVUHMEX2EltpdxrrxknvSjy4LriKCVUCEmIljsbTFDXm8xcPnPGs6VN/ZmlKlA==}
+
+ '@unocss/core@66.5.1':
+ resolution: {integrity: sha512-BUgN87sUIffco1d+1IuV4a1gKTI1YAFa7CTjxglLUAnopXPPJ+Q77G10zoBoFLzutiIOYLsesa3hzbQvDhosnA==}
+
+ '@unocss/core@66.5.3':
+ resolution: {integrity: sha512-sGGBgtIfH3Ch7syIzJvA86iIVhSjfGThHBSDA0kFgGTBiYv2VBaUq0UpDfeMpda3LSg59LfEL5Fqa9kUqju5xQ==}
+
+ '@unocss/eslint-plugin@66.5.0':
+ resolution: {integrity: sha512-IrxXxf3hQvq+lJlksA7RNe953/gvS6BM2W+4DdsLKLyqzjN037zbPqtMGiYiUAhwEPLQVQAsdezGDVXc8EzBiw==}
+ engines: {node: '>=14'}
+
+ '@unocss/extractor-arbitrary-variants@66.0.0':
+ resolution: {integrity: sha512-vlkOIOuwBfaFBJcN6o7+obXjigjOlzVFN/jT6pG1WXbQDTRZ021jeF3i9INdb9D/0cQHSeDvNgi1TJ5oUxfiow==}
+
+ '@unocss/extractor-arbitrary-variants@66.5.3':
+ resolution: {integrity: sha512-QBJCCBFfNOyVlXeDh0h1K2ZvreS5UAbPg+EUPngIIT9hVHIeKatXfCpeMYYt5ZmFZbqX3Zf4MKdguxbGZU9xHQ==}
+
+ '@unocss/inspector@66.0.0':
+ resolution: {integrity: sha512-mkIxieVm0kMOKw+E4ABpIerihYMdjgq9A92RD5h2+W/ebpxTEw5lTTK1xcMLiAlmOrVYMQKjpgPeu3vQmDyGZQ==}
+
+ '@unocss/postcss@66.0.0':
+ resolution: {integrity: sha512-6bi+ujzh8I1PJwtmHX71LH8z/H9+vPxeYD4XgFihyU1k4Y6MVhjr7giGjLX4yP27IP+NsVyotD22V7by/dBVEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ '@unocss/preset-attributify@66.0.0':
+ resolution: {integrity: sha512-eYsOgmcDoiIgGAepIwRX+DKGYxc/wm0r4JnDuZdz29AB+A6oY/FGHS1BVt4rq9ny4B5PofP4p6Rty+vwD9rigw==}
+
+ '@unocss/preset-icons@66.0.0':
+ resolution: {integrity: sha512-6ObwTvEGuPBbKWRoMMiDioHtwwQTFI5oojFLJ32Y8tW6TdXvBLkO88d7qpgQxEjgVt4nJrqF1WEfR4niRgBm0Q==}
+
+ '@unocss/preset-legacy-compat@66.0.0':
+ resolution: {integrity: sha512-NpMyzNVkVDGt9nO1n7dZLBDvzAkUu2hCR3ePY//xnUn7Syl5SwPdCEuc7FzHHb/rdSVVsip1cvFEaThO2FnUXQ==}
+
+ '@unocss/preset-mini@66.0.0':
+ resolution: {integrity: sha512-d62eACnuKtR0dwCFOQXgvw5VLh5YSyK56xCzpHkh0j0GstgfDLfKTys0T/XVAAvdSvAy/8A8vhSNJ4PlIc9V2A==}
+
+ '@unocss/preset-mini@66.5.3':
+ resolution: {integrity: sha512-0WnC4zuyJP3jQQFxFKG7MRUJW5AipdO15yHIkPPWzwNjDSlIcsjhr08v8BJxSFpOsr+XOEgqC3EnHn+CWkv3lg==}
+
+ '@unocss/preset-tagify@66.0.0':
+ resolution: {integrity: sha512-GGYGyWxaevh0jN0NoATVO1Qe7DFXM3ykLxchlXmG6/zy963pZxItg/njrKnxE9la4seCdxpFH7wQBa68imwwdA==}
+
+ '@unocss/preset-typography@66.0.0':
+ resolution: {integrity: sha512-apjckP5nPU5mtaHTCzz5u/dK9KJWwJ2kOFCVk0+a/KhUWmnqnzmjRYZlEuWxxr5QxTdCW+9cIoRDSA0lYZS5tg==}
+
+ '@unocss/preset-uno@66.0.0':
+ resolution: {integrity: sha512-qgoZ/hzTI32bQvcyjcwvv1X/dbPlmQNehzgjUaL7QFT0q0/CN/SRpysfzoQ8DLl2se9T+YCOS9POx3KrpIiYSQ==}
+
+ '@unocss/preset-web-fonts@66.0.0':
+ resolution: {integrity: sha512-9MzfDc6AJILN4Kq7Z91FfFbizBOYgw3lJd2UwqIs3PDYWG5iH5Zv5zhx6jelZVqEW5uWcIARYEEg2m4stZO1ZA==}
+
+ '@unocss/preset-wind3@66.0.0':
+ resolution: {integrity: sha512-WAGRmpi1sb2skvYn9DBQUvhfqrJ+VmQmn5ZGsT2ewvsk7HFCvVLAMzZeKrrTQepeNBRhg6HzFDDi8yg6yB5c9g==}
+
+ '@unocss/preset-wind3@66.5.3':
+ resolution: {integrity: sha512-AEgidZkpdCFKjXmCUSJgucxz/IqT4atLUQiq8x8fEKSuPo8rH2CtmO4Bllt9uJMS3GrGNqyrtPixjz5mknC0ZQ==}
+
+ '@unocss/preset-wind4@66.5.3':
+ resolution: {integrity: sha512-EGVtwNgHbdvTMX1Fnpa9l2FWxfAkMdpGxe5xL2MjC7+WVFqVqBCIF37ejiOLgi8+rr1omAijuvh3hGP7VdSPiQ==}
+
+ '@unocss/preset-wind@66.0.0':
+ resolution: {integrity: sha512-FtvGpHnGC7FiyKJavPnn5y9lsaoWRhXlujCqlT5Bw63kKhMNr0ogKySBpenUhJOhWhVM0OQXn2nZ3GZRxW2qpw==}
+
+ '@unocss/reset@66.0.0':
+ resolution: {integrity: sha512-YLFz/5yT7mFJC8JSmIUA5+bS3CBCJbtztOw+8rWzjQr/BEVSGuihWUUpI2Df6VVxXIXxKanZR6mIl59yvf+GEA==}
+
+ '@unocss/rule-utils@66.0.0':
+ resolution: {integrity: sha512-UJ51YHbwxYTGyj35ugsPlOT4gaa7tCbXdywZ3m5Nn0JgywwIqGmBFyiN9ZjHBHfJuDxmmPd6lxojoBscih/WMQ==}
+ engines: {node: '>=14'}
+
+ '@unocss/rule-utils@66.5.0':
+ resolution: {integrity: sha512-+yqGZP8fR/G/gOkjXSXjmgTXFr4zGCQR+rA3Ana4xVoLIttcmPk4qO1IWcUVRQTDDqFmUjW/XwWmChta+rdQsA==}
+ engines: {node: '>=14'}
+
+ '@unocss/rule-utils@66.5.3':
+ resolution: {integrity: sha512-3aDxWw3fBjA2hldu5r126Dxl10nP/1dEx+fetiWEGT6X4J9dvJgNAGAJOVZeKv6tSfhqLyFsRV/cSbApYItCYw==}
+ engines: {node: '>=14'}
+
+ '@unocss/transformer-attributify-jsx@66.0.0':
+ resolution: {integrity: sha512-jS7szFXXC6RjTv9wo0NACskf618w981bkbyQ5izRO7Ha47sNpHhHDpaltnG7SR9qV4cCtGalOw4onVMHsRKwRg==}
+
+ '@unocss/transformer-compile-class@66.0.0':
+ resolution: {integrity: sha512-ytUIE0nAcHRMACuTXkHp8auZ483DXrOZw99jk3FJ+aFjpD/pVSFmX14AWJ7bqPFObxb4SLFs6KhQma30ESC22A==}
+
+ '@unocss/transformer-directives@66.0.0':
+ resolution: {integrity: sha512-utcg7m2Foi7uHrU5WHadNuJ0a3qWG8tZNkQMi+m0DQpX6KWfuDtDn0zDZ1X+z5lmiB3WGSJERRrsvZbj1q50Mw==}
+
+ '@unocss/transformer-variant-group@66.0.0':
+ resolution: {integrity: sha512-1BLjNWtAnR1JAcQGw0TS+nGrVoB9aznzvVZRoTx23dtRr3btvgKPHb8LrD48eD/p8Dtw9j3WfuxMDKXKegKDLg==}
+
+ '@unocss/vite@66.0.0':
+ resolution: {integrity: sha512-IVcPX8xL+2edyXKt4tp9yu5A6gcbPVCsspfcL0XgziCr01kS+4qSoZ90F3IUs3hXc/AyO5eCpRtGFMPLpOjXQg==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0
+
+ '@vitejs/plugin-legacy@5.3.2':
+ resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ terser: ^5.4.0
+ vite: ^5.0.0
+
+ '@vitejs/plugin-vue-jsx@3.1.0':
+ resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.0.0
+
+ '@vitejs/plugin-vue@5.1.0':
+ resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+
+ '@vitest/eslint-plugin@1.3.16':
+ resolution: {integrity: sha512-EvXGiZpz3L1G/pmebcmMe61UzqgR8LFwmm+QGgQEHcrTCFkMgl+c0mj2jneo38/CkHhofbK3zc3xafV6/SpzNw==}
+ peerDependencies:
+ eslint: '>= 8.57.0'
+ typescript: '>= 5.0.0'
+ vitest: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ vitest:
+ optional: true
+
+ '@vitest/expect@3.2.4':
+ resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+
+ '@vitest/mocker@3.2.4':
+ resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@3.2.4':
+ resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+
+ '@vitest/runner@3.2.4':
+ resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+
+ '@vitest/snapshot@3.2.4':
+ resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+
+ '@vitest/spy@3.2.4':
+ resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+
+ '@vitest/utils@3.2.4':
+ resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+
+ '@volar/language-core@2.4.23':
+ resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==}
+
+ '@volar/source-map@2.4.23':
+ resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==}
+
+ '@volar/typescript@2.4.23':
+ resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==}
+
+ '@vue/babel-helper-vue-transform-on@1.5.0':
+ resolution: {integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==}
+
+ '@vue/babel-plugin-jsx@1.5.0':
+ resolution: {integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+
+ '@vue/babel-plugin-resolve-type@1.5.0':
+ resolution: {integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/compiler-core@3.4.21':
+ resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
+
+ '@vue/compiler-core@3.5.20':
+ resolution: {integrity: sha512-8TWXUyiqFd3GmP4JTX9hbiTFRwYHgVL/vr3cqhr4YQ258+9FADwvj7golk2sWNGHR67QgmCZ8gz80nQcMokhwg==}
+
+ '@vue/compiler-core@3.5.22':
+ resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==}
+
+ '@vue/compiler-dom@3.4.21':
+ resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
+
+ '@vue/compiler-dom@3.5.20':
+ resolution: {integrity: sha512-whB44M59XKjqUEYOMPYU0ijUV0G+4fdrHVKDe32abNdX/kJe1NUEMqsi4cwzXa9kyM9w5S8WqFsrfo1ogtBZGQ==}
+
+ '@vue/compiler-dom@3.5.22':
+ resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==}
+
+ '@vue/compiler-sfc@3.4.21':
+ resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
+
+ '@vue/compiler-sfc@3.5.22':
+ resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==}
+
+ '@vue/compiler-ssr@3.4.21':
+ resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
+
+ '@vue/compiler-ssr@3.5.22':
+ resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==}
+
+ '@vue/compiler-vue2@2.7.16':
+ resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+
+ '@vue/consolidate@1.0.0':
+ resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==}
+ engines: {node: '>= 0.12.0'}
+
+ '@vue/devtools-api@6.6.4':
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+
+ '@vue/devtools-core@8.0.5':
+ resolution: {integrity: sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==}
+ peerDependencies:
+ vue: ^3.0.0
+
+ '@vue/devtools-kit@8.0.5':
+ resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==}
+
+ '@vue/devtools-shared@8.0.5':
+ resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==}
+
+ '@vue/language-core@3.0.6':
+ resolution: {integrity: sha512-e2RRzYWm+qGm8apUHW1wA5RQxzNhkqbbKdbKhiDUcmMrNAZGyM8aTiL3UrTqkaFI5s7wJRGGrp4u3jgusuBp2A==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@vue/reactivity@3.0.5':
+ resolution: {integrity: sha512-3xodUE3sEIJgS7ntwUbopIpzzvi7vDAOjVamfb2l+v1FUg0jpd3gf62N2wggJw3fxBMr+QvyxpD+dBoxLsmAjw==}
+
+ '@vue/reactivity@3.4.21':
+ resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
+
+ '@vue/runtime-core@3.4.21':
+ resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
+
+ '@vue/runtime-dom@3.4.21':
+ resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
+
+ '@vue/server-renderer@3.4.21':
+ resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
+ peerDependencies:
+ vue: 3.4.21
+
+ '@vue/shared@3.0.5':
+ resolution: {integrity: sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw==}
+
+ '@vue/shared@3.4.21':
+ resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
+
+ '@vue/shared@3.5.20':
+ resolution: {integrity: sha512-SoRGP596KU/ig6TfgkCMbXkr4YJ91n/QSdMuqeP5r3hVIYA3CPHUBCc7Skak0EAKV+5lL4KyIh61VA/pK1CIAA==}
+
+ '@vue/shared@3.5.22':
+ resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==}
+
+ '@vue/test-utils@2.4.10':
+ resolution: {integrity: sha512-SmoZ5EA1kYiAFs9NkYdiFFQF+cSnUwnvlYEbY+DogWQZUiqOm/Y29eSbc5T6yi75SgSF9863SBeXniIEoPajCA==}
+ peerDependencies:
+ '@vue/compiler-dom': 3.x
+ '@vue/server-renderer': 3.x
+ vue: 3.x
+ peerDependenciesMeta:
+ '@vue/server-renderer':
+ optional: true
+
+ '@vue/tsconfig@0.1.3':
+ resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@wot-ui/ui@2.0.8':
+ resolution: {integrity: sha512-JeC9rNlxG75zMplQNjBuJDRZhnTzMcY/D2FVdg+5DyZGAJdwc5RX0wtkZMGxRHSSQ8aq9cnjKrpZ45ZQv4Y6EQ==}
+ engines: {HBuilderX: ^3.8.7}
+ peerDependencies:
+ vue: '>=3.2.47'
+
+ '@xmldom/xmldom@0.8.11':
+ resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
+ engines: {node: '>=10.0.0'}
+
+ JSONStream@1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ hasBin: true
+
+ a-sync-waterfall@1.0.1:
+ resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==}
+
+ abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
+
+ abbrev@2.0.0:
+ resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
+ abortcontroller-polyfill@1.7.8:
+ resolution: {integrity: sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==}
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-globals@6.0.0:
+ resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@6.4.2:
+ resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ adm-zip@0.5.10:
+ resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==}
+ engines: {node: '>=6.0'}
+
+ adm-zip@0.5.16:
+ resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==}
+ engines: {node: '>=12.0'}
+
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
+ ajv-formats@1.6.1:
+ resolution: {integrity: sha512-4CjkH20If1lhR5CGtqkrVg3bbOtFEG80X9v6jDOIUhbzzbB+UzPBGy8GQhUNVZ0yvMHdMpawCOcy5ydGMsagGQ==}
+ peerDependencies:
+ ajv: ^7.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@7.2.4:
+ resolution: {integrity: sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ alien-signals@2.0.7:
+ resolution: {integrity: sha512-wE7y3jmYeb0+h6mr5BOovuqhFv22O/MV9j5p0ndJsa7z1zJNPGQ4ph5pQk/kTTCWRC3xsA4SmtwmkzQO+7NCNg==}
+
+ alova@3.3.4:
+ resolution: {integrity: sha512-UKKqXdvf8aQ4C7m3brO77YWe5CDz8N59PdAUz7M8gowKUUXTutbk0Vk5DRBrCe0hMUyyNMUhdCZ38llGxCViyQ==}
+ engines: {node: '>= 18.0.0'}
+
+ ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-escapes@7.0.0:
+ resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
+ engines: {node: '>=18'}
+
+ ansi-gray@0.1.1:
+ resolution: {integrity: sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-regex@2.1.1:
+ resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.0:
+ resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@2.2.1:
+ resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ ansi-wrap@0.1.0:
+ resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==}
+ engines: {node: '>=0.10.0'}
+
+ ansis@4.2.0:
+ resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ engines: {node: '>=14'}
+
+ any-base@1.1.0:
+ resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ archive-type@4.0.0:
+ resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==}
+ engines: {node: '>=4'}
+
+ archiver-utils@2.1.0:
+ resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==}
+ engines: {node: '>= 6'}
+
+ archiver-utils@3.0.4:
+ resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==}
+ engines: {node: '>= 10'}
+
+ archiver@5.3.2:
+ resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==}
+ engines: {node: '>= 10'}
+
+ are-docs-informative@0.0.2:
+ resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
+ engines: {node: '>=14'}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-differ@1.0.0:
+ resolution: {integrity: sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==}
+ engines: {node: '>=0.10.0'}
+
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
+ array-ify@1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+
+ array-timsort@1.0.3:
+ resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ array-uniq@1.0.3:
+ resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==}
+ engines: {node: '>=0.10.0'}
+
+ asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+
+ asn1@0.2.6:
+ resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
+
+ assert-plus@1.0.0:
+ resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
+ engines: {node: '>=0.8'}
+
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
+ ast-kit@0.11.3:
+ resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==}
+ engines: {node: '>=16.14.0'}
+
+ ast-kit@1.4.3:
+ resolution: {integrity: sha512-MdJqjpodkS5J149zN0Po+HPshkTdUyrvF7CKTafUgv69vBSPtncrj+3IiUgqdd7ElIEkbeXCsEouBUwLrw9Ilg==}
+ engines: {node: '>=16.14.0'}
+
+ async@3.2.6:
+ resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ atomically@1.7.0:
+ resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==}
+ engines: {node: '>=10.12.0'}
+
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ aws-sign2@0.7.0:
+ resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
+
+ aws4@1.13.2:
+ resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==}
+
+ axios@1.17.0:
+ resolution: {integrity: sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==}
+
+ babel-code-frame@6.26.0:
+ resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==}
+
+ babel-core@6.26.0:
+ resolution: {integrity: sha512-FSiqfr4SYrH5Zv5KgWahyY99VC+Aod1ioMRNvL1lPS4WTUqvPAdYo7ioWEhDHEDqZADapbJZMX0sBuRsc93bDQ==}
+
+ babel-generator@6.26.1:
+ resolution: {integrity: sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==}
+
+ babel-helper-bindify-decorators@6.24.1:
+ resolution: {integrity: sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==}
+
+ babel-helper-builder-binary-assignment-operator-visitor@6.24.1:
+ resolution: {integrity: sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==}
+
+ babel-helper-call-delegate@6.24.1:
+ resolution: {integrity: sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==}
+
+ babel-helper-define-map@6.26.0:
+ resolution: {integrity: sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==}
+
+ babel-helper-explode-assignable-expression@6.24.1:
+ resolution: {integrity: sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==}
+
+ babel-helper-explode-class@6.24.1:
+ resolution: {integrity: sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==}
+
+ babel-helper-function-name@6.24.1:
+ resolution: {integrity: sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==}
+
+ babel-helper-get-function-arity@6.24.1:
+ resolution: {integrity: sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==}
+
+ babel-helper-hoist-variables@6.24.1:
+ resolution: {integrity: sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==}
+
+ babel-helper-optimise-call-expression@6.24.1:
+ resolution: {integrity: sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==}
+
+ babel-helper-regex@6.26.0:
+ resolution: {integrity: sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==}
+
+ babel-helper-remap-async-to-generator@6.24.1:
+ resolution: {integrity: sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==}
+
+ babel-helper-replace-supers@6.24.1:
+ resolution: {integrity: sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==}
+
+ babel-helpers@6.24.1:
+ resolution: {integrity: sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==}
+
+ babel-jest@27.5.1:
+ resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.8.0
+
+ babel-messages@6.23.0:
+ resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==}
+
+ babel-plugin-check-es2015-constants@6.22.0:
+ resolution: {integrity: sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==}
+
+ babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
+
+ babel-plugin-jest-hoist@27.5.1:
+ resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ babel-plugin-polyfill-corejs2@0.3.3:
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ babel-plugin-polyfill-corejs2@0.4.14:
+ resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.13.0:
+ resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.6.0:
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ babel-plugin-polyfill-regenerator@0.4.1:
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ babel-plugin-polyfill-regenerator@0.6.5:
+ resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-syntax-async-functions@6.13.0:
+ resolution: {integrity: sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==}
+
+ babel-plugin-syntax-async-generators@6.13.0:
+ resolution: {integrity: sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==}
+
+ babel-plugin-syntax-class-constructor-call@6.18.0:
+ resolution: {integrity: sha512-EEuBcXz/wZ81Jaac0LnMHtD4Mfz9XWn2oH2Xj+CHwz2SZWUqqdtR2BgWPSdTGMmxN/5KLSh4PImt9+9ZedDarA==}
+
+ babel-plugin-syntax-class-properties@6.13.0:
+ resolution: {integrity: sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==}
+
+ babel-plugin-syntax-decorators@6.13.0:
+ resolution: {integrity: sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==}
+
+ babel-plugin-syntax-do-expressions@6.13.0:
+ resolution: {integrity: sha512-HD/5qJB9oSXzl0caxM+aRD7ENICXqcc3Up/8toDQk7zNIDE7TzsqtxC5f4t9Rwhu2Ya8l9l4j6b3vOsy+a6qxg==}
+
+ babel-plugin-syntax-dynamic-import@6.18.0:
+ resolution: {integrity: sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==}
+
+ babel-plugin-syntax-exponentiation-operator@6.13.0:
+ resolution: {integrity: sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==}
+
+ babel-plugin-syntax-export-extensions@6.13.0:
+ resolution: {integrity: sha512-Eo0rcRaIDMld/W6mVhePiudIuLW+Cr/8eveW3mBREfZORScZgx4rh6BAPyvzdEc/JZvQ+LkC80t0VGFs6FX+lg==}
+
+ babel-plugin-syntax-function-bind@6.13.0:
+ resolution: {integrity: sha512-m8yMoh9LIiNyeLdQs5I9G+3YXo4nqVsKQkk7YplrG4qAFbNi9hkZlow8HDHxhH9QOVFPHmy8+03NzRCdyChIKw==}
+
+ babel-plugin-syntax-object-rest-spread@6.13.0:
+ resolution: {integrity: sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==}
+
+ babel-plugin-syntax-trailing-function-commas@6.22.0:
+ resolution: {integrity: sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==}
+
+ babel-plugin-transform-async-generator-functions@6.24.1:
+ resolution: {integrity: sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==}
+
+ babel-plugin-transform-async-to-generator@6.24.1:
+ resolution: {integrity: sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==}
+
+ babel-plugin-transform-class-constructor-call@6.24.1:
+ resolution: {integrity: sha512-RvYukT1Nh7njz8P8326ztpQUGCKwmjgu6aRIx1lkvylWITYcskg29vy1Kp8WXIq7FvhXsz0Crf2kS94bjB690A==}
+
+ babel-plugin-transform-class-properties@6.24.1:
+ resolution: {integrity: sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==}
+
+ babel-plugin-transform-decorators@6.24.1:
+ resolution: {integrity: sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==}
+
+ babel-plugin-transform-do-expressions@6.22.0:
+ resolution: {integrity: sha512-yQwYqYg+Tnj1InA8W1rsItsZVhkv1Euc4KVua9ledtPz5PDWYz7LVyy6rDBpVYUWFZj5k6GUm3YZpCbIm8Tqew==}
+
+ babel-plugin-transform-es2015-arrow-functions@6.22.0:
+ resolution: {integrity: sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==}
+
+ babel-plugin-transform-es2015-block-scoped-functions@6.22.0:
+ resolution: {integrity: sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==}
+
+ babel-plugin-transform-es2015-block-scoping@6.26.0:
+ resolution: {integrity: sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==}
+
+ babel-plugin-transform-es2015-classes@6.24.1:
+ resolution: {integrity: sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==}
+
+ babel-plugin-transform-es2015-computed-properties@6.24.1:
+ resolution: {integrity: sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==}
+
+ babel-plugin-transform-es2015-destructuring@6.23.0:
+ resolution: {integrity: sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==}
+
+ babel-plugin-transform-es2015-duplicate-keys@6.24.1:
+ resolution: {integrity: sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==}
+
+ babel-plugin-transform-es2015-for-of@6.23.0:
+ resolution: {integrity: sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==}
+
+ babel-plugin-transform-es2015-function-name@6.24.1:
+ resolution: {integrity: sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==}
+
+ babel-plugin-transform-es2015-literals@6.22.0:
+ resolution: {integrity: sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==}
+
+ babel-plugin-transform-es2015-modules-amd@6.24.1:
+ resolution: {integrity: sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==}
+
+ babel-plugin-transform-es2015-modules-commonjs@6.26.2:
+ resolution: {integrity: sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==}
+
+ babel-plugin-transform-es2015-modules-systemjs@6.24.1:
+ resolution: {integrity: sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==}
+
+ babel-plugin-transform-es2015-modules-umd@6.24.1:
+ resolution: {integrity: sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==}
+
+ babel-plugin-transform-es2015-object-super@6.24.1:
+ resolution: {integrity: sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==}
+
+ babel-plugin-transform-es2015-parameters@6.24.1:
+ resolution: {integrity: sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==}
+
+ babel-plugin-transform-es2015-shorthand-properties@6.24.1:
+ resolution: {integrity: sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==}
+
+ babel-plugin-transform-es2015-spread@6.22.0:
+ resolution: {integrity: sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==}
+
+ babel-plugin-transform-es2015-sticky-regex@6.24.1:
+ resolution: {integrity: sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==}
+
+ babel-plugin-transform-es2015-template-literals@6.22.0:
+ resolution: {integrity: sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==}
+
+ babel-plugin-transform-es2015-typeof-symbol@6.23.0:
+ resolution: {integrity: sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==}
+
+ babel-plugin-transform-es2015-unicode-regex@6.24.1:
+ resolution: {integrity: sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==}
+
+ babel-plugin-transform-exponentiation-operator@6.24.1:
+ resolution: {integrity: sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==}
+
+ babel-plugin-transform-export-extensions@6.22.0:
+ resolution: {integrity: sha512-mtzELzINaYqdVglyZrDDVwkcFRuE7s6QUFWXxwffKAHB/NkfbJ2NJSytugB43ytIC8UVt30Ereyx+7gNyTkDLg==}
+
+ babel-plugin-transform-function-bind@6.22.0:
+ resolution: {integrity: sha512-9Ec4KYf1GurT39mlUjDSlN7HWSlB3u3mWRMogQbb+Y88lO0ZM3rJ0ADhPnQwWK9TbO6e/4E+Et1rrfGY9mFimA==}
+
+ babel-plugin-transform-object-rest-spread@6.26.0:
+ resolution: {integrity: sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==}
+
+ babel-plugin-transform-regenerator@6.26.0:
+ resolution: {integrity: sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==}
+
+ babel-plugin-transform-strict-mode@6.24.1:
+ resolution: {integrity: sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==}
+
+ babel-preset-current-node-syntax@1.2.0:
+ resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0 || ^8.0.0-0
+
+ babel-preset-es2015@6.24.1:
+ resolution: {integrity: sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==}
+ deprecated: '🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!'
+
+ babel-preset-jest@27.5.1:
+ resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ babel-preset-stage-0@6.24.1:
+ resolution: {integrity: sha512-MJD+xBbpsApbKlzAX0sOBF+VeFaUmv5s8FSOO7SSZpes1QgphCjq/UIGRFWSmQ/0i5bqQjLGCTXGGXqcLQ9JDA==}
+
+ babel-preset-stage-1@6.24.1:
+ resolution: {integrity: sha512-rn+UOcd7BHDniq1SVxv2/AVVSVI1NK+hfS0I/iR6m6KbOi/aeBRcqBilqO73pd9VUpRXF2HFtlDuC9F2BEQqmg==}
+
+ babel-preset-stage-2@6.24.1:
+ resolution: {integrity: sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==}
+
+ babel-preset-stage-3@6.24.1:
+ resolution: {integrity: sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==}
+
+ babel-register@6.26.0:
+ resolution: {integrity: sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==}
+
+ babel-runtime@6.26.0:
+ resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==}
+
+ babel-template@6.26.0:
+ resolution: {integrity: sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==}
+
+ babel-traverse@6.26.0:
+ resolution: {integrity: sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==}
+
+ babel-types@6.26.0:
+ resolution: {integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==}
+
+ babylon@6.18.0:
+ resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==}
+ hasBin: true
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ base64url@3.0.1:
+ resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==}
+ engines: {node: '>=6.0.0'}
+
+ baseline-browser-mapping@2.8.15:
+ resolution: {integrity: sha512-qsJ8/X+UypqxHXN75M7dF88jNK37dLBRW7LeUzCPz+TNs37G8cfWy9nWzS+LS//g600zrt2le9KuXt0rWfDz5Q==}
+ hasBin: true
+
+ bcrypt-pbkdf@1.0.2:
+ resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
+
+ beeper@1.1.1:
+ resolution: {integrity: sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==}
+ engines: {node: '>=0.10.0'}
+
+ better-path-resolve@1.0.0:
+ resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
+ engines: {node: '>=4'}
+
+ bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+
+ big-integer@1.6.52:
+ resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
+ engines: {node: '>=0.6'}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bing-translate-api@4.1.0:
+ resolution: {integrity: sha512-oP2663Yd5MXX4kbB/3LdS9YgPiE+ls9+2iFZH2ZXigWhWyHT3R4m6aCup4TNJd3/U4gqHHnQoxTaIW7uOf4+vA==}
+
+ birpc@2.9.0:
+ resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==}
+
+ bl@1.2.3:
+ resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ bl@5.1.0:
+ resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
+
+ bmp-js@0.1.0:
+ resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==}
+
+ body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ bplist-creator@0.1.0:
+ resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==}
+
+ bplist-parser@0.3.1:
+ resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==}
+ engines: {node: '>= 5.10.0'}
+
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browser-process-hrtime@1.0.0:
+ resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
+
+ browserslist-to-esbuild@2.1.1:
+ resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ browserslist: '*'
+
+ browserslist@4.25.4:
+ resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ browserslist@4.26.3:
+ resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+
+ buffer-alloc-unsafe@1.1.0:
+ resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
+
+ buffer-alloc@1.2.0:
+ resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
+
+ buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+
+ buffer-equal@0.0.1:
+ resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
+ engines: {node: '>=0.4.0'}
+
+ buffer-fill@1.0.0:
+ resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+
+ builtin-modules@5.0.0:
+ resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==}
+ engines: {node: '>=18.20'}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ c12@1.11.2:
+ resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==}
+ peerDependencies:
+ magicast: ^0.3.4
+ peerDependenciesMeta:
+ magicast:
+ optional: true
+
+ c12@2.0.4:
+ resolution: {integrity: sha512-3DbbhnFt0fKJHxU4tEUPmD1ahWE4PWPMomqfYsTJdrhpmEnRKJi3qSC4rO5U6E6zN1+pjBY7+z8fUmNRMaVKLw==}
+ peerDependencies:
+ magicast: ^0.3.5
+ peerDependenciesMeta:
+ magicast:
+ optional: true
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ cac@6.7.9:
+ resolution: {integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==}
+ engines: {node: '>=8'}
+
+ cacheable-lookup@5.0.4:
+ resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
+ engines: {node: '>=10.6.0'}
+
+ cacheable-request@2.1.4:
+ resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==}
+
+ cacheable-request@7.0.4:
+ resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
+ engines: {node: '>=8'}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ call-me-maybe@1.0.2:
+ resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@3.0.0:
+ resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001739:
+ resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==}
+
+ caniuse-lite@1.0.30001749:
+ resolution: {integrity: sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==}
+
+ caseless@0.12.0:
+ resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ centra@2.7.0:
+ resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==}
+
+ chai@5.3.3:
+ resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ engines: {node: '>=18'}
+
+ chalk@1.1.3:
+ resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
+ engines: {node: '>=0.10.0'}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.6.0:
+ resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ change-case@5.4.4:
+ resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
+
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ chardet@2.1.1:
+ resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==}
+
+ check-error@2.1.3:
+ resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ engines: {node: '>= 16'}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
+ chroma-js@2.6.0:
+ resolution: {integrity: sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ ci-info@4.3.1:
+ resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
+ engines: {node: '>=8'}
+
+ citty@0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
+ clean-css@4.2.4:
+ resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
+ engines: {node: '>= 4.0'}
+
+ clean-regexp@1.0.0:
+ resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
+ engines: {node: '>=4'}
+
+ cli-cursor@4.0.0:
+ resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cli-truncate@4.0.0:
+ resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
+ engines: {node: '>=18'}
+
+ cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+
+ cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clone-response@1.0.2:
+ resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==}
+
+ clone-response@1.0.3:
+ resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
+
+ clone-stats@0.0.1:
+ resolution: {integrity: sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ code-block-writer@13.0.3:
+ resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
+
+ collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+ commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
+
+ commander@13.1.0:
+ resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
+ engines: {node: '>=18'}
+
+ commander@2.11.0:
+ resolution: {integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@5.1.0:
+ resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+
+ comment-json@4.4.1:
+ resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==}
+ engines: {node: '>= 6'}
+
+ comment-parser@1.4.1:
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
+ engines: {node: '>= 12.0.0'}
+
+ compare-func@2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+
+ compare-versions@3.6.0:
+ resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
+
+ compress-commons@4.1.2:
+ resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==}
+ engines: {node: '>= 10'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ conf@9.0.2:
+ resolution: {integrity: sha512-rLSiilO85qHgaTBIIHQpsv8z+NnVfZq3cKuYNCXN1AOqPzced0GWZEe/A517VldRLyQYXUMyV+vszavE2jSAqw==}
+ engines: {node: '>=10'}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ conventional-changelog-angular@7.0.0:
+ resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-conventionalcommits@7.0.2:
+ resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
+ engines: {node: '>=16'}
+
+ conventional-commits-parser@5.0.0:
+ resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ cookie@0.7.1:
+ resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+ engines: {node: '>= 0.6'}
+
+ copy-anything@2.0.6:
+ resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
+
+ copy-anything@4.0.5:
+ resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==}
+ engines: {node: '>=18'}
+
+ core-js-compat@3.25.1:
+ resolution: {integrity: sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==}
+
+ core-js-compat@3.45.1:
+ resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==}
+
+ core-js-compat@3.46.0:
+ resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==}
+
+ core-js@2.6.12:
+ resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
+ deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
+
+ core-js@3.45.1:
+ resolution: {integrity: sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==}
+
+ core-util-is@1.0.2:
+ resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cos-js-sdk-v5@1.8.6:
+ resolution: {integrity: sha512-FCygXb5cNQhlwmsGf5B5WnqFsx+cQiPW+I4SWjVg08IaSA+1Uu8VqpP+FI7+LIA9PoC3GpX6ehgV0olsfEnoHg==}
+
+ cos-nodejs-sdk-v5@2.14.6:
+ resolution: {integrity: sha512-b5PIJ0fqzIPCC1tq0GOBlJU0wlo4F0HQgTAqvdk73jYlxrNiMd1RTU9GsLwwX2fGOA2J+TOlcy76FebjlO0Smg==}
+ engines: {node: '>= 6'}
+
+ cosmiconfig-typescript-loader@6.1.0:
+ resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==}
+ engines: {node: '>=v18'}
+ peerDependencies:
+ '@types/node': '*'
+ cosmiconfig: '>=9'
+ typescript: '>=5'
+
+ cosmiconfig@9.0.0:
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ crc-32@1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+
+ crc32-stream@4.0.3:
+ resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==}
+ engines: {node: '>= 10'}
+
+ cross-env@10.0.0:
+ resolution: {integrity: sha512-aU8qlEK/nHYtVuN4p7UQgAwVljzMg8hB4YK5ThRqD2l/ziSnryncPNn7bMLt5cFYsKVKBh8HqLqyCoTupEUu7Q==}
+ engines: {node: '>=20'}
+ hasBin: true
+
+ cross-env@7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ css-declaration-sorter@6.4.1:
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-font-size-keywords@1.0.0:
+ resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==}
+
+ css-font-stretch-keywords@1.0.1:
+ resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==}
+
+ css-font-style-keywords@1.0.1:
+ resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==}
+
+ css-font-weight-keywords@1.0.0:
+ resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==}
+
+ css-list-helpers@2.0.0:
+ resolution: {integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==}
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-system-font-keywords@1.0.0:
+ resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==}
+
+ css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssnano-preset-default@5.2.14:
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano-utils@3.1.0:
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano@5.1.15:
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+
+ cssom@0.3.8:
+ resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+
+ cssom@0.4.4:
+ resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
+
+ cssstyle@2.3.0:
+ resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+ engines: {node: '>=8'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ cwise-compiler@1.1.3:
+ resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==}
+
+ d@1.0.2:
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
+ engines: {node: '>=0.12'}
+
+ dargs@8.1.0:
+ resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
+ engines: {node: '>=12'}
+
+ dashdash@1.14.1:
+ resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
+ engines: {node: '>=0.10'}
+
+ data-urls@2.0.0:
+ resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
+ engines: {node: '>=10'}
+
+ data-urls@7.0.0:
+ resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ dateformat@2.2.0:
+ resolution: {integrity: sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==}
+
+ dayjs@1.11.10:
+ resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
+
+ de-indent@1.0.2:
+ resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+
+ debounce-fn@4.0.0:
+ resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==}
+ engines: {node: '>=10'}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.1:
+ resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debuglog@1.0.1:
+ resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ decimal.js@10.6.0:
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
+
+ decode-named-character-reference@1.2.0:
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+
+ decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+
+ decompress-response@3.3.0:
+ resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==}
+ engines: {node: '>=4'}
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ decompress-tar@4.1.1:
+ resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==}
+ engines: {node: '>=4'}
+
+ decompress-tarbz2@4.1.1:
+ resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==}
+ engines: {node: '>=4'}
+
+ decompress-targz@4.1.1:
+ resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==}
+ engines: {node: '>=4'}
+
+ decompress-unzip@4.0.1:
+ resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==}
+ engines: {node: '>=4'}
+
+ decompress@4.2.1:
+ resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==}
+ engines: {node: '>=4'}
+
+ dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ default-browser-id@5.0.1:
+ resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
+ engines: {node: '>=18'}
+
+ default-browser@5.5.0:
+ resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==}
+ engines: {node: '>=18'}
+
+ default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ detect-indent@4.0.0:
+ resolution: {integrity: sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==}
+ engines: {node: '>=0.10.0'}
+
+ detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+
+ detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ dezalgo@1.0.4:
+ resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==}
+
+ diff-sequences@27.5.1:
+ resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ dom-walk@0.1.2:
+ resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domexception@2.0.1:
+ resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
+ engines: {node: '>=8'}
+ deprecated: Use your platform's native DOMException instead
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+
+ dot-prop@6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
+ download@8.0.0:
+ resolution: {integrity: sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==}
+ engines: {node: '>=10'}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ duplexer2@0.0.2:
+ resolution: {integrity: sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==}
+
+ duplexer3@0.1.5:
+ resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==}
+
+ duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ ecc-jsbn@0.1.2:
+ resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
+
+ editorconfig@1.0.7:
+ resolution: {integrity: sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ electron-to-chromium@1.5.211:
+ resolution: {integrity: sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==}
+
+ electron-to-chromium@1.5.234:
+ resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==}
+
+ emittery@0.8.1:
+ resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
+ engines: {node: '>=10'}
+
+ emoji-regex@10.5.0:
+ resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ empathic@2.0.0:
+ resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ engines: {node: '>=14'}
+
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
+
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
+ engines: {node: '>=10.13.0'}
+
+ enquirer@2.4.1:
+ resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
+ engines: {node: '>=8.6'}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@8.0.0:
+ resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==}
+ engines: {node: '>=20.19.0'}
+
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
+
+ errno@0.1.8:
+ resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+ hasBin: true
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ error-stack-parser-es@1.0.5:
+ resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ es5-ext@0.10.64:
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
+ engines: {node: '>=0.10'}
+
+ es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+
+ es6-promise@3.3.1:
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
+
+ es6-symbol@3.1.4:
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
+ engines: {node: '>=0.12'}
+
+ es6-weak-map@2.0.3:
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
+
+ esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
+ eslint-compat-utils@0.5.1:
+ resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-compat-utils@0.6.5:
+ resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-config-flat-gitignore@2.1.0:
+ resolution: {integrity: sha512-cJzNJ7L+psWp5mXM7jBX+fjHtBvvh06RBlcweMhKD8jWqQw0G78hOW5tpVALGHGFPsBV+ot2H+pdDGJy6CV8pA==}
+ peerDependencies:
+ eslint: ^9.5.0
+
+ eslint-flat-config-utils@2.1.1:
+ resolution: {integrity: sha512-K8eaPkBemHkfbYsZH7z4lZ/tt6gNSsVh535Wh9W9gQBS2WjvfUbbVr2NZR3L1yiRCLuOEimYfPxCxODczD4Opg==}
+
+ eslint-flat-config-utils@2.1.4:
+ resolution: {integrity: sha512-bEnmU5gqzS+4O+id9vrbP43vByjF+8KOs+QuuV4OlqAuXmnRW2zfI/Rza1fQvdihQ5h4DUo0NqFAiViD4mSrzQ==}
+
+ eslint-formatting-reporter@0.0.0:
+ resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==}
+ peerDependencies:
+ eslint: '>=8.40.0'
+
+ eslint-json-compat-utils@0.2.1:
+ resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@eslint/json': '*'
+ eslint: '*'
+ jsonc-eslint-parser: ^2.4.0
+ peerDependenciesMeta:
+ '@eslint/json':
+ optional: true
+
+ eslint-merge-processors@2.0.0:
+ resolution: {integrity: sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-parser-plain@0.1.1:
+ resolution: {integrity: sha512-KRgd6wuxH4U8kczqPp+Oyk4irThIhHWxgFgLDtpgjUGVIS3wGrJntvZW/p6hHq1T4FOwnOtCNkvAI4Kr+mQ/Hw==}
+
+ eslint-plugin-antfu@3.1.1:
+ resolution: {integrity: sha512-7Q+NhwLfHJFvopI2HBZbSxWXngTwBLKxW1AGXLr2lEGxcEIK/AsDs8pn8fvIizl5aZjBbVbVK5ujmMpBe4Tvdg==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-plugin-command@3.3.1:
+ resolution: {integrity: sha512-fBVTXQ2y48TVLT0+4A6PFINp7GcdIailHAXbvPBixE7x+YpYnNQhFZxTdvnb+aWk+COgNebQKen/7m4dmgyWAw==}
+ peerDependencies:
+ eslint: '*'
+
+ eslint-plugin-es-x@7.8.0:
+ resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=8'
+
+ eslint-plugin-format@1.0.1:
+ resolution: {integrity: sha512-Tdns+CDjS+m7QrM85wwRi2yLae88XiWVdIOXjp9mDII0pmTBQlczPCmjpKnjiUIY3yPZNLqb5Ms/A/JXcBF2Dw==}
+ peerDependencies:
+ eslint: ^8.40.0 || ^9.0.0
+
+ eslint-plugin-import-lite@0.3.0:
+ resolution: {integrity: sha512-dkNBAL6jcoCsXZsQ/Tt2yXmMDoNt5NaBh/U7yvccjiK8cai6Ay+MK77bMykmqQA2bTF6lngaLCDij6MTO3KkvA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=9.0.0'
+ typescript: '>=4.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-jsdoc@52.0.4:
+ resolution: {integrity: sha512-be5OzGlLExvcK13Il3noU7/v7WmAQGenTmCaBKf1pwVtPOb6X+PGFVnJad0QhMj4KKf45XjE4hbsBxv25q1fTg==}
+ engines: {node: '>=20.11.0'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
+
+ eslint-plugin-jsonc@2.21.0:
+ resolution: {integrity: sha512-HttlxdNG5ly3YjP1cFMP62R4qKLxJURfBZo2gnMY+yQojZxkLyOpY1H1KRTKBmvQeSG9pIpSGEhDjE17vvYosg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-plugin-n@17.23.1:
+ resolution: {integrity: sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.23.0'
+
+ eslint-plugin-no-only-tests@3.3.0:
+ resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==}
+ engines: {node: '>=5.0.0'}
+
+ eslint-plugin-perfectionist@4.15.1:
+ resolution: {integrity: sha512-MHF0cBoOG0XyBf7G0EAFCuJJu4I18wy0zAoT1OHfx2o6EOx1EFTIzr2HGeuZa1kDcusoX0xJ9V7oZmaeFd773Q==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ eslint: '>=8.45.0'
+
+ eslint-plugin-pnpm@1.2.0:
+ resolution: {integrity: sha512-HKIFEmRGVxXvPx/hCpZY0qUGCYoaSYO6EVut4Hf9bckC0qP6F23mBgdoIExRZIWoViHuMznSaDU1FpQmc2xpgw==}
+ peerDependencies:
+ eslint: ^9.0.0
+
+ eslint-plugin-regexp@2.10.0:
+ resolution: {integrity: sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==}
+ engines: {node: ^18 || >=20}
+ peerDependencies:
+ eslint: '>=8.44.0'
+
+ eslint-plugin-toml@0.12.0:
+ resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-plugin-unicorn@60.0.0:
+ resolution: {integrity: sha512-QUzTefvP8stfSXsqKQ+vBQSEsXIlAiCduS/V1Em+FKgL9c21U/IIm20/e3MFy1jyCf14tHAhqC1sX8OTy6VUCg==}
+ engines: {node: ^20.10.0 || >=21.0.0}
+ peerDependencies:
+ eslint: '>=9.29.0'
+
+ eslint-plugin-unused-imports@4.2.0:
+ resolution: {integrity: sha512-hLbJ2/wnjKq4kGA9AUaExVFIbNzyxYdVo49QZmKCnhk5pc9wcYRbfgLHvWJ8tnsdcseGhoUAddm9gn/lt+d74w==}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0
+ eslint: ^9.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+
+ eslint-plugin-vue@10.5.0:
+ resolution: {integrity: sha512-7BZHsG3kC2vei8F2W8hnfDi9RK+cv5eKPMvzBdrl8Vuc0hR5odGQRli8VVzUkrmUHkxFEm4Iio1r5HOKslO0Aw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
+ '@typescript-eslint/parser': ^7.0.0 || ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0
+ vue-eslint-parser: ^10.0.0
+ peerDependenciesMeta:
+ '@stylistic/eslint-plugin':
+ optional: true
+ '@typescript-eslint/parser':
+ optional: true
+
+ eslint-plugin-yml@1.19.0:
+ resolution: {integrity: sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ eslint-processor-vue-blocks@2.0.0:
+ resolution: {integrity: sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q==}
+ peerDependencies:
+ '@vue/compiler-sfc': ^3.3.0
+ eslint: '>=9.0.0'
+
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.34.0:
+ resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ esniff@2.0.1:
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
+ engines: {node: '>=0.10'}
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ exif-parser@0.1.12:
+ resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}
+
+ exit@0.1.2:
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+ engines: {node: '>= 0.8.0'}
+
+ expect-type@1.3.0:
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ engines: {node: '>=12.0.0'}
+
+ expect@27.5.1:
+ resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ express@4.21.2:
+ resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
+ engines: {node: '>= 0.10.0'}
+
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
+ ext-list@2.2.2:
+ resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==}
+ engines: {node: '>=0.10.0'}
+
+ ext-name@5.0.0:
+ resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==}
+ engines: {node: '>=4'}
+
+ ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ extendable-error@0.1.7:
+ resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
+
+ extsprintf@1.3.0:
+ resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
+ engines: {'0': node >=0.6.0}
+
+ fancy-log@1.3.3:
+ resolution: {integrity: sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==}
+ engines: {node: '>= 0.10'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+
+ fast-xml-parser@4.2.5:
+ resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==}
+ hasBin: true
+
+ fast-xml-parser@4.5.3:
+ resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==}
+ hasBin: true
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fault@2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+
+ fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+
+ fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ file-type@11.1.0:
+ resolution: {integrity: sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==}
+ engines: {node: '>=6'}
+
+ file-type@16.5.4:
+ resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==}
+ engines: {node: '>=10'}
+
+ file-type@3.9.0:
+ resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==}
+ engines: {node: '>=0.10.0'}
+
+ file-type@4.4.0:
+ resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==}
+ engines: {node: '>=4'}
+
+ file-type@5.2.0:
+ resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==}
+ engines: {node: '>=4'}
+
+ file-type@6.2.0:
+ resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==}
+ engines: {node: '>=4'}
+
+ file-type@9.0.0:
+ resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==}
+ engines: {node: '>=6'}
+
+ filename-reserved-regex@2.0.0:
+ resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==}
+ engines: {node: '>=4'}
+
+ filenamify@3.0.0:
+ resolution: {integrity: sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==}
+ engines: {node: '>=6'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ finalhandler@1.3.1:
+ resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
+ engines: {node: '>= 0.8'}
+
+ find-up-simple@1.0.1:
+ resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==}
+ engines: {node: '>=18'}
+
+ find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ find-up@7.0.0:
+ resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
+ engines: {node: '>=18'}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ follow-redirects@1.16.0:
+ resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ forever-agent@0.6.1:
+ resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
+
+ form-data@2.3.3:
+ resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
+ engines: {node: '>= 0.12'}
+
+ form-data@3.0.4:
+ resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==}
+ engines: {node: '>= 6'}
+
+ form-data@4.0.5:
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
+ engines: {node: '>= 6'}
+
+ format@0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
+ engines: {node: '>=0.4.x'}
+
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ from2@2.3.0:
+ resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
+
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
+ fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+
+ fs-extra@7.0.1:
+ resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ generic-names@4.0.0:
+ resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.3.1:
+ resolution: {integrity: sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==}
+ engines: {node: '>=18'}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ get-proxy@2.1.0:
+ resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==}
+ engines: {node: '>=4'}
+
+ get-stream@2.3.1:
+ resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==}
+ engines: {node: '>=0.10.0'}
+
+ get-stream@3.0.0:
+ resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
+ engines: {node: '>=4'}
+
+ get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+
+ get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ get-tsconfig@4.12.0:
+ resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==}
+
+ getpass@0.1.7:
+ resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
+
+ gifwrap@0.9.4:
+ resolution: {integrity: sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==}
+
+ giget@1.2.5:
+ resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==}
+ hasBin: true
+
+ git-raw-commits@4.0.0:
+ resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
+ glob@7.1.2:
+ resolution: {integrity: sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ global-directory@4.0.1:
+ resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
+ engines: {node: '>=18'}
+
+ global@4.4.0:
+ resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@15.15.0:
+ resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ engines: {node: '>=18'}
+
+ globals@16.4.0:
+ resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
+ engines: {node: '>=18'}
+
+ globals@9.18.0:
+ resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==}
+ engines: {node: '>=0.10.0'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+
+ glogg@1.0.2:
+ resolution: {integrity: sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==}
+ engines: {node: '>= 0.10'}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ got@11.8.6:
+ resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
+ engines: {node: '>=10.19.0'}
+
+ got@8.3.2:
+ resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==}
+ engines: {node: '>=4'}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ gulp-ignore@3.0.0:
+ resolution: {integrity: sha512-hRQDJipaU5A84J7QacNGG+bnFU3QLESdjuJCRTAZ5VuKsz4LmvOrECFJeeCtqxP3RV0Pn6mawU0Q3CFZGpirSg==}
+
+ gulp-match@1.1.0:
+ resolution: {integrity: sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==}
+
+ gulp-plumber@1.1.0:
+ resolution: {integrity: sha512-KLlTTb4xONJMSW235/SOCpKpNMFv2xh+RLsPOIdb6INF9yo1SN9zsMiREHQXRAegGQYdSIwYU9U5XFyCoaqUiw==}
+ engines: {node: '>=0.10', npm: '>=1.2.10'}
+
+ gulp-util@3.0.8:
+ resolution: {integrity: sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==}
+ engines: {node: '>=0.10'}
+ deprecated: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
+
+ gulplog@1.0.0:
+ resolution: {integrity: sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==}
+ engines: {node: '>= 0.10'}
+
+ gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+
+ har-schema@2.0.0:
+ resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
+ engines: {node: '>=4'}
+
+ har-validator@5.1.5:
+ resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
+ engines: {node: '>=6'}
+ deprecated: this library is no longer supported
+
+ has-ansi@2.0.0:
+ resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
+ engines: {node: '>=0.10.0'}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-gulplog@0.1.0:
+ resolution: {integrity: sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==}
+ engines: {node: '>= 0.10'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-symbol-support-x@1.4.2:
+ resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-to-string-tag-x@1.4.1:
+ resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hash-sum@2.0.0:
+ resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ home-or-tmp@2.0.0:
+ resolution: {integrity: sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==}
+ engines: {node: '>=0.10.0'}
+
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ html-encoding-sniffer@2.0.1:
+ resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
+ engines: {node: '>=10'}
+
+ html-encoding-sniffer@6.0.0:
+ resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-minifier@4.0.0:
+ resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ htmlparser2@8.0.2:
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+
+ http-cache-semantics@3.8.1:
+ resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==}
+
+ http-cache-semantics@4.2.0:
+ resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
+
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+
+ http-proxy-agent@4.0.1:
+ resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
+ engines: {node: '>= 6'}
+
+ http-signature@1.2.0:
+ resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
+ engines: {node: '>=0.8', npm: '>=1.3.7'}
+
+ http2-client@1.3.5:
+ resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==}
+
+ http2-wrapper@1.0.3:
+ resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
+ engines: {node: '>=10.19.0'}
+
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
+ human-id@4.1.3:
+ resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==}
+ hasBin: true
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ husky@9.1.7:
+ resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
+ iconv-lite@0.7.2:
+ resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==}
+ engines: {node: '>=0.10.0'}
+
+ icss-replace-symbols@1.1.0:
+ resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
+
+ icss-utils@5.1.0:
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
+
+ image-q@4.0.0:
+ resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==}
+
+ image-size@0.5.5:
+ resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ image-size@1.2.1:
+ resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ immediate@3.0.6:
+ resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
+
+ immutable@4.3.7:
+ resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ indent-string@5.0.0:
+ resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
+ engines: {node: '>=12'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ ini@4.1.1:
+ resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ into-stream@3.1.0:
+ resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==}
+ engines: {node: '>=4'}
+
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
+ invert-kv@3.0.1:
+ resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==}
+ engines: {node: '>=8'}
+
+ iota-array@1.0.0:
+ resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==}
+
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+
+ is-builtin-module@5.0.0:
+ resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==}
+ engines: {node: '>=18.20'}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ engines: {node: '>= 0.4'}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finite@1.1.0:
+ resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+
+ is-fullwidth-code-point@5.1.0:
+ resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
+ engines: {node: '>=18'}
+
+ is-function@1.0.2:
+ resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
+
+ is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-interactive@2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
+ is-natural-number@4.0.1:
+ resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+
+ is-object@1.0.2:
+ resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==}
+
+ is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
+ is-promise@2.2.2:
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
+
+ is-retry-allowed@1.2.0:
+ resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-subdir@1.2.0:
+ resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
+ engines: {node: '>=4'}
+
+ is-text-path@2.0.0:
+ resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
+ engines: {node: '>=8'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
+ is-unicode-supported@1.3.0:
+ resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
+ engines: {node: '>=12'}
+
+ is-what@3.14.1:
+ resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
+
+ is-what@5.5.0:
+ resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==}
+ engines: {node: '>=18'}
+
+ is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isbinaryfile@5.0.6:
+ resolution: {integrity: sha512-I+NmIfBHUl+r2wcDd6JwE9yWje/PIVY/R5/CmV8dXLZd5K+L9X2klAOwfAHNnondLXkbHyTAleQAWonpTJBTtw==}
+ engines: {node: '>= 18.0.0'}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ isstream@0.1.2:
+ resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
+
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-instrument@5.2.1:
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@4.0.1:
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.2.0:
+ resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
+ engines: {node: '>=8'}
+
+ isurl@1.0.0:
+ resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==}
+ engines: {node: '>= 4'}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
+ javascript-natural-sort@0.7.1:
+ resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
+
+ jest-changed-files@27.5.1:
+ resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-circus@27.5.1:
+ resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-cli@27.5.1:
+ resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jest-config@27.5.1:
+ resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ ts-node:
+ optional: true
+
+ jest-diff@27.5.1:
+ resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-docblock@27.5.1:
+ resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-each@27.5.1:
+ resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-jsdom@27.5.1:
+ resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-node@27.5.1:
+ resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-get-type@27.5.1:
+ resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-haste-map@27.5.1:
+ resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-jasmine2@27.5.1:
+ resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-leak-detector@27.5.1:
+ resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-matcher-utils@27.5.1:
+ resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-message-util@27.5.1:
+ resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-mock@27.5.1:
+ resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-pnp-resolver@1.2.3:
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+
+ jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-resolve-dependencies@27.5.1:
+ resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-resolve@27.5.1:
+ resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runner@27.5.1:
+ resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runtime@27.5.1:
+ resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-serializer@27.5.1:
+ resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-snapshot@27.5.1:
+ resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-util@27.5.1:
+ resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-validate@27.5.1:
+ resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-watcher@27.5.1:
+ resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest@27.0.4:
+ resolution: {integrity: sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jimp@0.10.3:
+ resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==}
+
+ jimp@0.16.1:
+ resolution: {integrity: sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==}
+
+ jiti@1.21.7:
+ resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ hasBin: true
+
+ jiti@2.5.1:
+ resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
+ hasBin: true
+
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
+ hasBin: true
+
+ jpeg-js@0.3.7:
+ resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==}
+
+ jpeg-js@0.4.4:
+ resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
+
+ js-base64@3.7.8:
+ resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==}
+
+ js-beautify@1.15.4:
+ resolution: {integrity: sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ js-cookie@3.0.8:
+ resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==}
+
+ js-tokens@3.0.2:
+ resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: true
+
+ jsbn@0.1.1:
+ resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
+
+ jsdoc-type-pratt-parser@4.1.0:
+ resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
+ engines: {node: '>=12.0.0'}
+
+ jsdoc-type-pratt-parser@4.8.0:
+ resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
+ engines: {node: '>=12.0.0'}
+
+ jsdom@16.7.0:
+ resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsdom@29.1.1:
+ resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
+ peerDependencies:
+ canvas: ^3.0.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+
+ jsesc@1.3.0:
+ resolution: {integrity: sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==}
+ hasBin: true
+
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.0:
+ resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==}
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-schema-typed@7.0.3:
+ resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==}
+
+ json-schema@0.4.0:
+ resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json-stringify-safe@5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+
+ json5@0.5.1:
+ resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonc-eslint-parser@2.4.1:
+ resolution: {integrity: sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
+ jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+
+ jsonfile@6.2.0:
+ resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
+
+ jsonparse@1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+
+ jsonschema@1.5.0:
+ resolution: {integrity: sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==}
+
+ jsprim@1.4.2:
+ resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
+ engines: {node: '>=0.6.0'}
+
+ jszip@3.10.1:
+ resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+
+ keyv@3.0.0:
+ resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+ lazyness@1.2.0:
+ resolution: {integrity: sha512-KenL6EFbwxBwRxG93t0gcUyi0Nw0Ub31FJKN1laA4UscdkL1K1AxUd0gYZdcLU3v+x+wcFi4uQKS5hL+fk500g==}
+ engines: {node: '>=6.0.0'}
+
+ lazystream@1.0.1:
+ resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
+ engines: {node: '>= 0.6.3'}
+
+ lcid@3.1.1:
+ resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==}
+ engines: {node: '>=8'}
+
+ less@4.5.1:
+ resolution: {integrity: sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ licia@1.48.0:
+ resolution: {integrity: sha512-bBWiT5CSdEtwuAHiYTJ74yItCjIFdHi4xiFk6BRDfKa+sdCpkUHp69YKb5udNOJlHDzFjNjcMgNZ/+wQIHrB8A==}
+
+ lie@3.3.0:
+ resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
+
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ lines-and-columns@2.0.4:
+ resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lint-staged@15.5.2:
+ resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==}
+ engines: {node: '>=18.12.0'}
+ hasBin: true
+
+ listr2@8.3.3:
+ resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==}
+ engines: {node: '>=18.0.0'}
+
+ load-bmfont@1.4.2:
+ resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==}
+
+ loader-utils@3.3.1:
+ resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
+ engines: {node: '>= 12.13.0'}
+
+ local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+
+ local-pkg@0.5.1:
+ resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
+ engines: {node: '>=14'}
+
+ local-pkg@1.1.2:
+ resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
+ engines: {node: '>=14'}
+
+ localstorage-polyfill@1.0.1:
+ resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==}
+ engines: {node: '>=6'}
+
+ locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lodash._basecopy@3.0.1:
+ resolution: {integrity: sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==}
+
+ lodash._basetostring@3.0.1:
+ resolution: {integrity: sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==}
+
+ lodash._basevalues@3.0.0:
+ resolution: {integrity: sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==}
+
+ lodash._getnative@3.9.1:
+ resolution: {integrity: sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==}
+
+ lodash._isiterateecall@3.0.9:
+ resolution: {integrity: sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==}
+
+ lodash._reescape@3.0.0:
+ resolution: {integrity: sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==}
+
+ lodash._reevaluate@3.0.0:
+ resolution: {integrity: sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==}
+
+ lodash._reinterpolate@3.0.0:
+ resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==}
+
+ lodash._root@3.0.1:
+ resolution: {integrity: sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==}
+
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.defaults@4.2.0:
+ resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+
+ lodash.difference@4.5.0:
+ resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==}
+
+ lodash.escape@3.2.0:
+ resolution: {integrity: sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==}
+
+ lodash.flatten@4.4.0:
+ resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
+
+ lodash.groupby@4.6.0:
+ resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==}
+
+ lodash.isarguments@3.1.0:
+ resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
+
+ lodash.isarray@3.0.4:
+ resolution: {integrity: sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+
+ lodash.keys@3.1.2:
+ resolution: {integrity: sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==}
+
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.mergewith@4.6.2:
+ resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
+
+ lodash.restparam@3.6.1:
+ resolution: {integrity: sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==}
+
+ lodash.snakecase@4.1.1:
+ resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+
+ lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+
+ lodash.template@3.6.2:
+ resolution: {integrity: sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==}
+ deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead.
+
+ lodash.templatesettings@3.1.1:
+ resolution: {integrity: sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==}
+
+ lodash.union@4.6.0:
+ resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash.upperfirst@4.3.1:
+ resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@5.1.0:
+ resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
+ engines: {node: '>=12'}
+
+ log-update@6.1.0:
+ resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
+ engines: {node: '>=18'}
+
+ long@4.0.0:
+ resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ loupe@3.2.1:
+ resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+
+ lower-case@1.1.4:
+ resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
+
+ lowercase-keys@1.0.0:
+ resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==}
+ engines: {node: '>=0.10.0'}
+
+ lowercase-keys@1.0.1:
+ resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
+ engines: {node: '>=0.10.0'}
+
+ lowercase-keys@2.0.0:
+ resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
+ engines: {node: '>=8'}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@11.5.1:
+ resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==}
+ engines: {node: 20 || >=22}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-queue@0.1.0:
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
+
+ magic-string@0.30.18:
+ resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==}
+
+ magic-string@0.30.19:
+ resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
+
+ make-dir@1.3.0:
+ resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
+ engines: {node: '>=4'}
+
+ make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
+ make-synchronized@0.8.0:
+ resolution: {integrity: sha512-DZu4lwc0ffoFz581BSQa/BJl+1ZqIkoRQ+VejMlH0VrP4E86StAODnZujZ4sepumQj8rcP7wUnUBGM8Gu+zKUA==}
+
+ makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-frontmatter@2.0.1:
+ resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+
+ mdn-data@2.12.2:
+ resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ memoizee@0.4.17:
+ resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==}
+ engines: {node: '>=0.12'}
+
+ memory-fs@0.5.0:
+ resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==}
+ engines: {node: '>=4.3.0 <5.0.0 || >=5.10'}
+
+ meow@12.1.1:
+ resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
+ engines: {node: '>=16.10'}
+
+ meow@13.2.0:
+ resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
+ engines: {node: '>=18'}
+
+ merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ merge@2.1.1:
+ resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
+
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-fn@3.1.0:
+ resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==}
+ engines: {node: '>=8'}
+
+ mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ mimic-function@5.0.1:
+ resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
+ engines: {node: '>=18'}
+
+ mimic-response@1.0.1:
+ resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
+ engines: {node: '>=4'}
+
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+
+ min-document@2.19.0:
+ resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
+
+ minimatch@3.0.4:
+ resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+
+ minimatch@8.0.4:
+ resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ miniprogram-api-typings@4.1.0:
+ resolution: {integrity: sha512-4RBsz27nBKyRkVGoNkRaPx24/KeJBw3zaaIlXDR8s/WBh2PbcUAc+q7wLLbp7Qsmb3bLzzUu7tqAti+B06kmjg==}
+
+ miniprogram-ci@2.1.26:
+ resolution: {integrity: sha512-a83cOIRfwda7+HwEdG1LpqYAPfGGuGEGfJKRQ/9Yq29NCwmHX1oJSdLlAknqSAwsax2SxayaBQSkfbIbRRlY2w==}
+ engines: {node: '>=16.1.0'}
+ hasBin: true
+
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
+ mkdir-p@0.0.7:
+ resolution: {integrity: sha512-VkWaZNxDgZle/aJAemUAWdyYX7geyuleKYFfRejf/pFKjxBDbWrMAy41ijg5EiI1U00WR9JcvynuDedE/fTxLA==}
+
+ mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
+
+ mockjs@1.1.0:
+ resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==}
+ hasBin: true
+
+ module-alias@2.2.3:
+ resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==}
+
+ moment-timezone@0.5.48:
+ resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==}
+
+ moment@2.30.1:
+ resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}
+
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
+ engines: {node: '>=10'}
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ muggle-string@0.4.1:
+ resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+
+ multipipe@0.1.2:
+ resolution: {integrity: sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nanoid@5.1.6:
+ resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ natural-orderby@5.0.0:
+ resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==}
+ engines: {node: '>=18'}
+
+ ndarray-pack@1.2.1:
+ resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==}
+
+ ndarray@1.0.19:
+ resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==}
+
+ needle@3.3.1:
+ resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==}
+ engines: {node: '>= 4.4.x'}
+ hasBin: true
+
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+
+ nextgen-events@1.5.3:
+ resolution: {integrity: sha512-P6qw6kenNXP+J9XlKJNi/MNHUQ+Lx5K8FEcSfX7/w8KJdZan5+BB5MKzuNgL2RTjHG1Svg8SehfseVEp8zAqwA==}
+ engines: {node: '>=6.0.0'}
+
+ no-case@2.3.2:
+ resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
+
+ node-bitmap@0.0.1:
+ resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==}
+ engines: {node: '>=v0.6.5'}
+
+ node-fetch-h2@2.3.0:
+ resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==}
+ engines: {node: 4.x || >=6.0.0}
+
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+
+ node-readfiles@0.2.0:
+ resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==}
+
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+ node-releases@2.0.23:
+ resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==}
+
+ nopt@7.2.1:
+ resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@2.0.1:
+ resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==}
+ engines: {node: '>=4'}
+
+ normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+
+ npm-conf@1.1.3:
+ resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==}
+ engines: {node: '>=4'}
+
+ npm-normalize-package-bin@1.0.1:
+ resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ nunjucks@3.2.4:
+ resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==}
+ engines: {node: '>= 6.9.0'}
+ hasBin: true
+ peerDependencies:
+ chokidar: ^3.3.0
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
+
+ nwsapi@2.2.22:
+ resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==}
+
+ nypm@0.5.4:
+ resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+
+ oas-kit-common@1.0.8:
+ resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==}
+
+ oas-linter@3.2.2:
+ resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==}
+
+ oas-resolver@2.5.6:
+ resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==}
+ hasBin: true
+
+ oas-schema-walker@1.1.5:
+ resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==}
+
+ oas-validator@5.0.8:
+ resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==}
+
+ oauth-sign@0.9.0:
+ resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
+
+ object-assign@3.0.0:
+ resolution: {integrity: sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==}
+ engines: {node: '>=0.10.0'}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
+
+ ofetch@1.4.1:
+ resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
+
+ ohash@1.1.6:
+ resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==}
+
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
+
+ omggif@1.0.10:
+ resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
+
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+ onetime@7.0.0:
+ resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
+ engines: {node: '>=18'}
+
+ open@10.2.0:
+ resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
+ openapi-ts-request@1.10.0:
+ resolution: {integrity: sha512-PkyEMqGXaLirDtomEi8ThocGapeR74D16Bb2O9KMTRHQmm4EvlfXCofe4KCycBxWQUNARuodZVpZrSS2OFZ6ng==}
+ engines: {node: '>=18.0.0', pnpm: '>=9'}
+ hasBin: true
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ ora@6.3.1:
+ resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ os-homedir@1.0.2:
+ resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
+ engines: {node: '>=0.10.0'}
+
+ os-locale-s-fix@1.0.8-fix-1:
+ resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==}
+ engines: {node: '>=10', yarn: ^1.22.4}
+
+ os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ outdent@0.5.0:
+ resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
+
+ p-cancelable@0.4.1:
+ resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==}
+ engines: {node: '>=4'}
+
+ p-cancelable@2.1.1:
+ resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
+ engines: {node: '>=8'}
+
+ p-event@2.3.1:
+ resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==}
+ engines: {node: '>=6'}
+
+ p-filter@2.1.0:
+ resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
+ engines: {node: '>=8'}
+
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+
+ p-is-promise@1.1.0:
+ resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==}
+ engines: {node: '>=4'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+
+ p-timeout@2.0.1:
+ resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==}
+ engines: {node: '>=4'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ package-manager-detector@0.2.11:
+ resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
+
+ package-manager-detector@1.3.0:
+ resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
+
+ pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+
+ param-case@2.1.1:
+ resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-bmfont-ascii@1.0.6:
+ resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==}
+
+ parse-bmfont-binary@1.0.6:
+ resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==}
+
+ parse-bmfont-xml@1.1.6:
+ resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==}
+
+ parse-css-font@4.0.0:
+ resolution: {integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==}
+
+ parse-gitignore@2.0.0:
+ resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
+ engines: {node: '>=14'}
+
+ parse-headers@2.0.6:
+ resolution: {integrity: sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==}
+
+ parse-imports-exports@0.2.4:
+ resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse-node-version@1.0.1:
+ resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
+ engines: {node: '>= 0.10'}
+
+ parse-statements@1.0.11:
+ resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
+
+ parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+
+ parse5@8.0.1:
+ resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==}
+
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ path-to-regexp@0.1.12:
+ resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
+ peek-readable@4.1.0:
+ resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==}
+ engines: {node: '>=8'}
+
+ pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+ perfect-debounce@2.1.0:
+ resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==}
+
+ performance-now@2.1.0:
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+
+ phin@2.9.3:
+ resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+
+ phin@3.7.1:
+ resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==}
+ engines: {node: '>= 8'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ pidtree@0.6.0:
+ resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
+ engines: {node: '>=4'}
+
+ pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ pinia-plugin-persistedstate@3.2.1:
+ resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==}
+ peerDependencies:
+ pinia: ^2.0.0
+
+ pinia@2.0.36:
+ resolution: {integrity: sha512-4UKApwjlmJH+VuHKgA+zQMddcCb3ezYnyewQ9NVrsDqZ/j9dMv5+rh+1r48whKNdpFkZAWVxhBp5ewYaYX9JcQ==}
+ peerDependencies:
+ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+ vue: ^2.6.14 || ^3.2.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ typescript:
+ optional: true
+
+ pinkie-promise@2.0.1:
+ resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==}
+ engines: {node: '>=0.10.0'}
+
+ pinkie@2.0.4:
+ resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
+ engines: {node: '>=0.10.0'}
+
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pixelmatch@4.0.2:
+ resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==}
+ hasBin: true
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ pkg-types@2.3.0:
+ resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
+
+ pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+
+ plist@3.1.0:
+ resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
+ engines: {node: '>=10.4.0'}
+
+ pluralize@8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+
+ pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+
+ pngjs@6.0.0:
+ resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==}
+ engines: {node: '>=12.13.0'}
+
+ pnpm-workspace-yaml@1.2.0:
+ resolution: {integrity: sha512-4CnZHmLSaprRnIm2iQ27Zl1cWPRHdX7Ehw7ckRwujoPKCk2QAz4agsA2MbTodg4sgbqYfJ68ULT+Q5A8dU+Mow==}
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
+ postcss-calc@8.2.4:
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-colormin@5.3.1:
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-convert-values@5.1.3:
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-comments@5.1.2:
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-duplicates@5.1.0:
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-empty@5.1.1:
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-overridden@5.1.0:
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-html@1.8.0:
+ resolution: {integrity: sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==}
+ engines: {node: ^12 || >=14}
+
+ postcss-import@14.1.0:
+ resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-load-config@3.1.4:
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
+ postcss-merge-longhand@5.1.7:
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-merge-rules@5.1.4:
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-font-values@5.1.0:
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-gradients@5.1.1:
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-params@5.1.4:
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-selectors@5.2.1:
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-modules-extract-imports@3.1.0:
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-local-by-default@4.2.0:
+ resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-scope@3.2.1:
+ resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-values@4.0.0:
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules@4.3.1:
+ resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-normalize-charset@5.1.0:
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-display-values@5.1.0:
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-positions@5.1.1:
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-repeat-style@5.1.1:
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-string@5.1.0:
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-timing-functions@5.1.0:
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-unicode@5.1.1:
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-url@5.1.0:
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-whitespace@5.1.1:
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-ordered-values@5.1.3:
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-initial@5.1.2:
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-transforms@5.1.0:
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-safe-parser@6.0.0:
+ resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.3.3
+
+ postcss-scss@4.0.9:
+ resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.4.29
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+ engines: {node: '>=4'}
+
+ postcss-svgo@5.1.0:
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-unique-selectors@5.1.1:
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prepend-http@2.0.0:
+ resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==}
+ engines: {node: '>=4'}
+
+ prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+
+ prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ private@0.1.8:
+ resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==}
+ engines: {node: '>= 0.6'}
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
+ proper-lockfile@4.1.2:
+ resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==}
+
+ proto-list@1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+
+ protobufjs@6.11.4:
+ resolution: {integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==}
+ hasBin: true
+
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
+ proxy-from-env@2.1.0:
+ resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==}
+ engines: {node: '>=10'}
+
+ prr@1.0.1:
+ resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+
+ psl@1.15.0:
+ resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
+
+ pump@3.0.3:
+ resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ qrcode-reader@1.0.4:
+ resolution: {integrity: sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==}
+
+ qrcode-terminal@0.12.0:
+ resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
+ hasBin: true
+
+ qs@6.13.0:
+ resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ engines: {node: '>=0.6'}
+
+ qs@6.15.2:
+ resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
+ engines: {node: '>=0.6'}
+
+ qs@6.5.5:
+ resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==}
+ engines: {node: '>=0.6'}
+
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
+
+ query-string@5.1.1:
+ resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==}
+ engines: {node: '>=0.10.0'}
+
+ querystring@0.2.1:
+ resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==}
+ engines: {node: '>=0.4.x'}
+ deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
+
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+
+ quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ rate-limiter-flexible@5.0.5:
+ resolution: {integrity: sha512-+/dSQfo+3FYwYygUs/V2BBdwGa9nFtakDwKt4l0bnvNB53TNT++QSFewwHX9qXrZJuMe9j+TUaU21lm5ARgqdQ==}
+
+ raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+
+ rc9@2.1.2:
+ resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
+ read-package-json@2.1.2:
+ resolution: {integrity: sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==}
+ deprecated: This package is no longer supported. Please use @npmcli/package-json instead.
+
+ read-package-tree@5.2.1:
+ resolution: {integrity: sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==}
+ deprecated: The functionality that this package provided is now in @npmcli/arborist
+
+ read-yaml-file@1.1.0:
+ resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
+ engines: {node: '>=6'}
+
+ readable-stream@1.1.14:
+ resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readable-stream@4.7.0:
+ resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ readable-web-to-node-stream@3.0.4:
+ resolution: {integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==}
+ engines: {node: '>=8'}
+
+ readdir-glob@1.1.3:
+ resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==}
+
+ readdir-scoped-modules@1.1.0:
+ resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==}
+ deprecated: This functionality has been moved to @npmcli/fs
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ refa@0.12.1:
+ resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ reftools@1.1.9:
+ resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==}
+
+ regenerate-unicode-properties@10.2.0:
+ resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
+ engines: {node: '>=4'}
+
+ regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ regenerator-runtime@0.11.1:
+ resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==}
+
+ regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ regenerator-transform@0.10.1:
+ resolution: {integrity: sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==}
+
+ regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+
+ regexp-ast-analysis@0.7.1:
+ resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ regexp-tree@0.1.27:
+ resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
+ hasBin: true
+
+ regexpu-core@2.0.0:
+ resolution: {integrity: sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==}
+
+ regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+
+ regexpu-core@6.2.0:
+ resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==}
+ engines: {node: '>=4'}
+
+ regjsgen@0.2.0:
+ resolution: {integrity: sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==}
+
+ regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+
+ regjsparser@0.1.5:
+ resolution: {integrity: sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==}
+ hasBin: true
+
+ regjsparser@0.12.0:
+ resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
+ hasBin: true
+
+ regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ repeating@2.0.1:
+ resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==}
+ engines: {node: '>=0.10.0'}
+
+ replace-ext@0.0.1:
+ resolution: {integrity: sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==}
+ engines: {node: '>= 0.4'}
+
+ request@2.88.2:
+ resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
+ engines: {node: '>= 6'}
+ deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ reserved-words@0.1.2:
+ resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==}
+
+ resolve-alpn@1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve.exports@1.1.1:
+ resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
+ engines: {node: '>=10'}
+
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ responselike@1.0.2:
+ resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==}
+
+ responselike@2.0.1:
+ resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
+
+ restore-cursor@4.0.0:
+ resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ restore-cursor@5.1.0:
+ resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
+ engines: {node: '>=18'}
+
+ retry@0.12.0:
+ resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
+ engines: {node: '>= 4'}
+
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+ rimraf@5.0.10:
+ resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
+ hasBin: true
+
+ rollup-plugin-visualizer@6.0.3:
+ resolution: {integrity: sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ rolldown: 1.x || ^1.0.0-beta
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rolldown:
+ optional: true
+ rollup:
+ optional: true
+
+ rollup@4.50.0:
+ resolution: {integrity: sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
+ engines: {node: '>=18'}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-area-insets@1.4.1:
+ resolution: {integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==}
+
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ sass@1.77.8:
+ resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+
+ saxes@5.0.1:
+ resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
+ engines: {node: '>=10'}
+
+ saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+
+ scslre@0.3.0:
+ resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
+ engines: {node: ^14.0.0 || >=16.0.0}
+
+ scule@1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+
+ seek-bzip@1.0.6:
+ resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==}
+ hasBin: true
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ send@0.19.0:
+ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.16.2:
+ resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
+ engines: {node: '>= 0.8.0'}
+
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ seventh@0.7.40:
+ resolution: {integrity: sha512-7sxUydQx4iEh17uJUFjZDAwbffJirldZaNIJvVB/hk9mPEL3J4GpLGSL+mHFH2ydkye46DAsLGqzFJ+/Qj5foQ==}
+ engines: {node: '>=7.6.0'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ should-equal@2.0.0:
+ resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==}
+
+ should-format@3.0.3:
+ resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==}
+
+ should-type-adaptors@1.1.0:
+ resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==}
+
+ should-type@1.4.0:
+ resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==}
+
+ should-util@1.0.1:
+ resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==}
+
+ should@13.2.3:
+ resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==}
+
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
+
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ simple-plist@1.3.1:
+ resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==}
+
+ sirv@3.0.1:
+ resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
+ engines: {node: '>=18'}
+
+ sirv@3.0.2:
+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
+ engines: {node: '>=18'}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ slash@1.0.0:
+ resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==}
+ engines: {node: '>=0.10.0'}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+
+ slice-ansi@7.1.0:
+ resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
+ engines: {node: '>=18'}
+
+ sort-keys-length@1.0.1:
+ resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
+ engines: {node: '>=0.10.0'}
+
+ sort-keys@1.1.2:
+ resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==}
+ engines: {node: '>=0.10.0'}
+
+ sort-keys@2.0.0:
+ resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
+ engines: {node: '>=4'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map-support@0.4.18:
+ resolution: {integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==}
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ sparkles@1.0.1:
+ resolution: {integrity: sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==}
+ engines: {node: '>= 0.10'}
+
+ spawndamnit@3.0.1:
+ resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-expression-parse@4.0.0:
+ resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+
+ spdx-license-ids@3.0.22:
+ resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==}
+
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
+ split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ sshpk@1.18.0:
+ resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
+ statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+
+ stdin-discarder@0.1.0:
+ resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ stream-buffers@2.2.0:
+ resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==}
+ engines: {node: '>= 0.10.0'}
+
+ strict-uri-encode@1.1.0:
+ resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
+ engines: {node: '>=0.10.0'}
+
+ string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+
+ string-hash-64@1.0.3:
+ resolution: {integrity: sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw==}
+
+ string-hash@1.1.3:
+ resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
+
+ string-kit@0.17.10:
+ resolution: {integrity: sha512-n3/2BeEJrlzztoxeBTt9DVh0dfHordBuZoFsSJs59tk1JoPVvtvNsvAgqu0Nlpj5Y/qoQbnT8jCnfuoHcsfGnw==}
+ engines: {node: '>=14.15.0'}
+
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string_decoder@0.10.31:
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
+
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ strip-ansi@3.0.1:
+ resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
+ strip-dirs@2.1.0:
+ resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ strip-indent@4.1.0:
+ resolution: {integrity: sha512-OA95x+JPmL7kc7zCu+e+TeYxEiaIyndRx0OrBcK2QPPH09oAndr2ALvymxWA+Lx1PYYvFUm4O63pRkdJAaW96w==}
+ engines: {node: '>=12'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ strip-literal@2.1.1:
+ resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==}
+
+ strip-literal@3.0.0:
+ resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
+
+ strip-outer@1.0.1:
+ resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==}
+ engines: {node: '>=0.10.0'}
+
+ strnum@1.1.2:
+ resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
+
+ strtok3@6.3.0:
+ resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==}
+ engines: {node: '>=10'}
+
+ stylehacks@5.1.1:
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ superjson@2.2.6:
+ resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==}
+ engines: {node: '>=16'}
+
+ supports-color@2.0.0:
+ resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+ engines: {node: '>=0.8.0'}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-hyperlinks@2.3.0:
+ resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ swagger2openapi@7.0.8:
+ resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==}
+ hasBin: true
+
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
+ sync-message@0.0.12:
+ resolution: {integrity: sha512-ySLe+P2U91a51SbWNUvDvAxCct+EKd5PKq3ptJoCZty7oxrf3+VFXxoskreLqrmN6VFxagqcXloz7fcFS08UFw==}
+
+ synckit@0.11.11:
+ resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ synckit@0.9.3:
+ resolution: {integrity: sha512-JJoOEKTfL1urb1mDoEblhD9NhEbWmq9jHEMEnxoC4ujUaZ4itA8vKgwkFAyNClgxplLi9tsUKX+EduK0p/l7sg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ systemjs@6.15.1:
+ resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
+
+ tapable@2.2.3:
+ resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
+ engines: {node: '>=6'}
+
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
+ engines: {node: '>=6'}
+
+ tar-stream@1.6.2:
+ resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
+ engines: {node: '>= 0.8.0'}
+
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+
+ term-size@2.2.1:
+ resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
+ engines: {node: '>=8'}
+
+ terminal-kit@2.11.7:
+ resolution: {integrity: sha512-Obe3T8rYOVEI+3uJM1jAK74GkyJsLqRNsA78LcVQrJJ0XfxkhNEVJZ3+pdYD2qcXt9MOx3e/fCMZK/J0lg7KUA==}
+ engines: {node: '>=14.15.0'}
+
+ terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+
+ terser@4.8.0:
+ resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ terser@5.43.1:
+ resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+
+ text-extensions@2.4.0:
+ resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
+ engines: {node: '>=8'}
+
+ throat@6.0.2:
+ resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
+
+ through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+
+ through2@3.0.2:
+ resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==}
+
+ through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ time-stamp@1.1.0:
+ resolution: {integrity: sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==}
+ engines: {node: '>=0.10.0'}
+
+ timed-out@4.0.1:
+ resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==}
+ engines: {node: '>=0.10.0'}
+
+ timers-ext@0.1.8:
+ resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==}
+ engines: {node: '>=0.12'}
+
+ timm@1.7.1:
+ resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
+
+ tiny-pinyin@1.3.2:
+ resolution: {integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==}
+
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ engines: {node: '>=12.0.0'}
+
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@2.0.0:
+ resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@4.0.4:
+ resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
+ engines: {node: '>=14.0.0'}
+
+ tldts-core@7.4.2:
+ resolution: {integrity: sha512-nwEyF4vl4RSJjwSjBUmOSxc3BFPoIFdlRthJ6e+5v9P3bHNsoD06UjuqMUspqp7vsEZ1beaHi1km+optiE17yA==}
+
+ tldts@7.4.2:
+ resolution: {integrity: sha512-kCwffuaH8ntKtygnWe1b4BJKWiCUH30n5KfoTr6IchcXOwR7chAOFJxFrH3vjANafUYrIA4a7SDL+nn7SiR4Sw==}
+ hasBin: true
+
+ tmp@0.0.28:
+ resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==}
+ engines: {node: '>=0.4.0'}
+
+ tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+
+ to-buffer@1.2.2:
+ resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==}
+ engines: {node: '>= 0.4'}
+
+ to-fast-properties@1.0.3:
+ resolution: {integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==}
+ engines: {node: '>=0.10.0'}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+ token-types@4.2.1:
+ resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==}
+ engines: {node: '>=10'}
+
+ toml-eslint-parser@0.10.0:
+ resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
+ tough-cookie@2.5.0:
+ resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
+ engines: {node: '>=0.8'}
+
+ tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+
+ tough-cookie@6.0.1:
+ resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==}
+ engines: {node: '>=16'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tr46@2.1.0:
+ resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
+ engines: {node: '>=8'}
+
+ tr46@6.0.0:
+ resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==}
+ engines: {node: '>=20'}
+
+ tree-kit@0.7.5:
+ resolution: {integrity: sha512-CmyY7d0OYE5W6UCmvij+SaocG7z+q4roF+Oj7BtU8B+KlpdiRZRMUwNyqfmWYcpYgsOcY1/dfIx/VsLmbAOLGg==}
+
+ trim-repeated@1.0.0:
+ resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
+ engines: {node: '>=0.10.0'}
+
+ trim-right@1.0.1:
+ resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==}
+ engines: {node: '>=0.10.0'}
+
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
+ ts-declaration-location@1.0.7:
+ resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==}
+ peerDependencies:
+ typescript: '>=4.0.0'
+
+ ts-morph@25.0.1:
+ resolution: {integrity: sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+
+ tweetnacl@0.14.5:
+ resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
+ type@2.7.3:
+ resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
+
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
+
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typescript@5.9.2:
+ resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ uglify-js@3.0.27:
+ resolution: {integrity: sha512-HD8CmxPXUI62v5tweiulMcP/apAtx1DXGcNZkhKQZyC+MTrTsoCBb8yPAwVrbvpgw3EpRU76bRe6axjIiCYcQg==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ uglify-js@3.19.3:
+ resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ unbzip2-stream@1.4.3:
+ resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
+
+ unconfig@7.3.2:
+ resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==}
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ undici@7.26.0:
+ resolution: {integrity: sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==}
+ engines: {node: '>=20.18.1'}
+
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.2.0:
+ resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+
+ unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+
+ unimport@3.14.6:
+ resolution: {integrity: sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==}
+
+ unimport@4.1.1:
+ resolution: {integrity: sha512-j9+fijH6aDd05yv1fXlyt7HSxtOWtGtrZeYTVBsSUg57Iuf+Ps2itIZjeyu7bEQ4k0WOgYhHrdW8m/pJgOpl5g==}
+ engines: {node: '>=18.12.0'}
+
+ unimport@5.2.0:
+ resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==}
+ engines: {node: '>=18.12.0'}
+
+ uniq@1.0.1:
+ resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==}
+
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unocss-applet@0.11.0:
+ resolution: {integrity: sha512-h4AxJcPqPEF3upxsPc4Qc+78D3ZYhOylhi4NZng1DxtdeBqnd5bD+fXXiCg3Afdd7SCYJkiTZ3Zf8OVoihXhQg==}
+ peerDependencies:
+ unocss: '>=66.0.0'
+
+ unocss@66.0.0:
+ resolution: {integrity: sha512-SHstiv1s7zGPSjzOsADzlwRhQM+6817+OqQE3Fv+N/nn2QLNx1bi3WXybFfz5tWkzBtyTZlwdPmeecsIs1yOCA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 66.0.0
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ vite:
+ optional: true
+
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ unplugin-auto-import@0.16.7:
+ resolution: {integrity: sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-auto-import@19.1.0:
+ resolution: {integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-auto-import@20.1.0:
+ resolution: {integrity: sha512-Wa7/y3DwpbxhjyXCbuliuATCPa0/e47tstWkytJGAr55ooSNwIvbkrq0rlduqYGiCNMsZcD+C6vsN+W3AX96eA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^4.0.0
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-utils@0.2.5:
+ resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==}
+ engines: {node: '>=18.12.0'}
+
+ unplugin-utils@0.3.0:
+ resolution: {integrity: sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==}
+ engines: {node: '>=20.19.0'}
+
+ unplugin@1.16.1:
+ resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
+ engines: {node: '>=14.0.0'}
+
+ unplugin@2.3.9:
+ resolution: {integrity: sha512-2dcbZq6aprwXTkzptq3k5qm5B8cvpjG9ynPd5fyM2wDJuuF7PeUK64Sxf0d+X1ZyDOeGydbNzMqBSIVlH8GIfA==}
+ engines: {node: '>=18.12.0'}
+
+ unquote@1.1.1:
+ resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
+
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ upper-case@1.1.3:
+ resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ url-parse-lax@3.0.0:
+ resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==}
+ engines: {node: '>=4'}
+
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
+ url-to-options@1.0.1:
+ resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==}
+ engines: {node: '>= 4'}
+
+ utif@2.0.1:
+ resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
+ uuid@3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+
+ v8-to-istanbul@8.1.1:
+ resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
+ engines: {node: '>=10.12.0'}
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ verror@1.10.0:
+ resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
+ engines: {'0': node >=0.6.0}
+
+ vinyl@0.5.3:
+ resolution: {integrity: sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==}
+ engines: {node: '>= 0.9'}
+
+ vite-dev-rpc@1.1.0:
+ resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0
+
+ vite-hot-client@2.1.0:
+ resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==}
+ peerDependencies:
+ vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0
+
+ vite-node@3.2.4:
+ resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+
+ vite-plugin-inspect@11.3.3:
+ resolution: {integrity: sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': '*'
+ vite: ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+
+ vite-plugin-restart@1.0.0:
+ resolution: {integrity: sha512-t2ktkTOa+DQX05TEZm/3FE0DyrYEyFXdhG5gLcta5p71zOpg9yG3DeRcHWJVLJgWNoaVtOr4fUlr1kKu+WfXyQ==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
+ vite-plugin-vue-devtools@8.0.5:
+ resolution: {integrity: sha512-p619BlKFOqQXJ6uDWS1vUPQzuJOD6xJTfftj57JXBGoBD/yeQCowR7pnWcr/FEX4/HVkFbreI6w2uuGBmQOh6A==}
+ engines: {node: '>=v14.21.3'}
+ peerDependencies:
+ vite: ^6.0.0 || ^7.0.0-0
+
+ vite-plugin-vue-inspector@5.3.2:
+ resolution: {integrity: sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==}
+ peerDependencies:
+ vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0
+
+ vite@5.2.8:
+ resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ vitest@3.2.4:
+ resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/debug': ^4.1.12
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@vitest/browser': 3.2.4
+ '@vitest/ui': 3.2.4
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/debug':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
+ vue-component-type-helpers@3.3.3:
+ resolution: {integrity: sha512-x4nsFpy5Pe8fqPzp/5vkTPeTTDBpAx4WVtV47Ejt0+2FQrq4pRRsJs7JmYRqMFzTu/LW+pCWEjQ3YVCkPV7f9g==}
+
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-eslint-parser@10.2.0:
+ resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+ vue-flow-layout@0.1.1:
+ resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==}
+ peerDependencies:
+ vue: ^3.4.37
+
+ vue-i18n@9.1.9:
+ resolution: {integrity: sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ vue: ^3.0.0
+
+ vue-router@4.5.1:
+ resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ vue-tsc@3.0.6:
+ resolution: {integrity: sha512-Tbs8Whd43R2e2nxez4WXPvvdjGbW24rOSgRhLOHXzWiT4pcP4G7KeWh0YCn18rF4bVwv7tggLLZ6MJnO6jXPBg==}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.0.0'
+
+ vue@3.4.21:
+ resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ w3c-hr-time@1.0.2:
+ resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
+ deprecated: Use your platform's native performance.now() and performance.timeOrigin.
+
+ w3c-xmlserializer@2.0.0:
+ resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
+ engines: {node: '>=10'}
+
+ w3c-xmlserializer@5.0.0:
+ resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
+ engines: {node: '>=18'}
+
+ walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webidl-conversions@5.0.0:
+ resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
+ engines: {node: '>=8'}
+
+ webidl-conversions@6.1.0:
+ resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
+ engines: {node: '>=10.4'}
+
+ webidl-conversions@8.0.1:
+ resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==}
+ engines: {node: '>=20'}
+
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
+ whatwg-encoding@1.0.5:
+ resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
+
+ whatwg-mimetype@2.3.0:
+ resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
+
+ whatwg-mimetype@5.0.0:
+ resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==}
+ engines: {node: '>=20'}
+
+ whatwg-url@16.0.1:
+ resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ whatwg-url@8.7.0:
+ resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
+ engines: {node: '>=10'}
+
+ which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+
+ which-typed-array@1.1.20:
+ resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
+ engines: {node: '>= 0.4'}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrap-ansi@9.0.0:
+ resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
+ engines: {node: '>=18'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
+ write-file-atomic@7.0.0:
+ resolution: {integrity: sha512-YnlPC6JqnZl6aO4uRc+dx5PHguiR9S6WeoLtpxNT9wIG+BDya7ZNE1q7KOjVgaA73hKhKLpVPgJ5QA9THQ5BRg==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
+ ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ ws@8.18.3:
+ resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ wsl-utils@0.1.0:
+ resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+ engines: {node: '>=18'}
+
+ wxml-minifier@0.0.1:
+ resolution: {integrity: sha512-g8ZS4fyLdyRIcExnevKTnAFxbtYlAPKBGFO1DXOcsJfmppQWjH2xe2Ff6rRQ2ubYAWalaNjMYpkAl6hurhqkHg==}
+
+ xhr@2.6.0:
+ resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==}
+
+ xml-name-validator@3.0.0:
+ resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
+
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+
+ xml-name-validator@5.0.0:
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
+ engines: {node: '>=18'}
+
+ xml-parse-from-string@1.0.1:
+ resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
+
+ xml2js@0.5.0:
+ resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
+ engines: {node: '>=4.0.0'}
+
+ xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+
+ xmlbuilder@15.1.1:
+ resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
+ engines: {node: '>=8.0'}
+
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+
+ xmlhttprequest@1.8.0:
+ resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==}
+ engines: {node: '>=0.4.0'}
+
+ xregexp@3.1.0:
+ resolution: {integrity: sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==}
+
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml-eslint-parser@1.3.0:
+ resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yaml@2.8.1:
+ resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+
+ yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+ yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yocto-queue@1.2.1:
+ resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
+ engines: {node: '>=12.20'}
+
+ z-paging@2.8.7:
+ resolution: {integrity: sha512-RcDeKFoCQB51dmrrTb1PMIazjTqGuAbFmjPS0/N5hdUNTCRvxGOOBTBFolvIxUcsWhrocI9C0mYDgUwXT6Dwcg==}
+ engines: {HBuilderX: ^3.0.7}
+
+ zip-stream@4.1.1:
+ resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==}
+ engines: {node: '>= 10'}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@alova/adapter-uniapp@2.0.14(alova@3.3.4)':
+ dependencies:
+ '@alova/shared': 1.3.1
+ alova: 3.3.4
+
+ '@alova/shared@1.3.1': {}
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.30
+
+ '@antfu/eslint-config@5.2.1(@unocss/eslint-plugin@66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.0.1(eslint@9.34.0(jiti@2.6.1)))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@clack/prompts': 0.11.0
+ '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.34.0(jiti@2.6.1))
+ '@eslint/markdown': 7.4.0
+ '@stylistic/eslint-plugin': 5.4.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/eslint-plugin': 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@typescript-eslint/parser': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@vitest/eslint-plugin': 1.3.16(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ ansis: 4.2.0
+ cac: 6.7.14
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-config-flat-gitignore: 2.1.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-flat-config-utils: 2.1.4
+ eslint-merge-processors: 2.0.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-antfu: 3.1.1(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-command: 3.3.1(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-import-lite: 0.3.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint-plugin-jsdoc: 52.0.4(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-jsonc: 2.21.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-n: 17.23.1(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint-plugin-no-only-tests: 3.3.0
+ eslint-plugin-perfectionist: 4.15.1(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint-plugin-pnpm: 1.2.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-regexp: 2.10.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-toml: 0.12.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-unicorn: 60.0.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-unused-imports: 4.2.0(@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))
+ eslint-plugin-vue: 10.5.0(@stylistic/eslint-plugin@5.4.0(eslint@9.34.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.6.1)))
+ eslint-plugin-yml: 1.19.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.34.0(jiti@2.6.1))
+ globals: 16.4.0
+ jsonc-eslint-parser: 2.4.1
+ local-pkg: 1.1.2
+ parse-gitignore: 2.0.0
+ toml-eslint-parser: 0.10.0
+ vue-eslint-parser: 10.2.0(eslint@9.34.0(jiti@2.6.1))
+ yaml-eslint-parser: 1.3.0
+ optionalDependencies:
+ '@unocss/eslint-plugin': 66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint-plugin-format: 1.0.1(eslint@9.34.0(jiti@2.6.1))
+ transitivePeerDependencies:
+ - '@eslint/json'
+ - '@vue/compiler-sfc'
+ - supports-color
+ - typescript
+ - vitest
+
+ '@antfu/install-pkg@1.1.0':
+ dependencies:
+ package-manager-detector: 1.3.0
+ tinyexec: 1.0.1
+
+ '@antfu/utils@0.7.10': {}
+
+ '@antfu/utils@8.1.1': {}
+
+ '@antfu/utils@9.3.0': {}
+
+ '@asamuzakjp/css-color@5.1.11':
+ dependencies:
+ '@asamuzakjp/generational-cache': 1.0.1
+ '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
+ '@asamuzakjp/dom-selector@7.1.1':
+ dependencies:
+ '@asamuzakjp/generational-cache': 1.0.1
+ '@asamuzakjp/nwsapi': 2.3.9
+ bidi-js: 1.0.3
+ css-tree: 3.2.1
+ is-potential-custom-element-name: 1.0.1
+
+ '@asamuzakjp/generational-cache@1.0.1': {}
+
+ '@asamuzakjp/nwsapi@2.3.9': {}
+
+ '@babel/code-frame@7.22.10':
+ dependencies:
+ '@babel/highlight': 7.22.10
+ chalk: 2.4.2
+
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.27.1
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/code-frame@7.29.0':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.22.9': {}
+
+ '@babel/compat-data@7.28.0': {}
+
+ '@babel/core@7.21.4':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.0
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helpers': 7.28.3
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ convert-source-map: 1.9.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/core@7.28.3':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/helpers': 7.28.3
+ '@babel/parser': 7.28.3
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.3
+ '@babel/types': 7.28.2
+ convert-source-map: 2.0.0
+ debug: 4.4.1
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/eslint-parser@7.22.10(@babel/core@7.21.4)(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-visitor-keys: 2.1.0
+ semver: 6.3.1
+
+ '@babel/generator@7.21.4':
+ dependencies:
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 2.5.2
+
+ '@babel/generator@7.28.3':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
+ '@babel/generator@7.29.0':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
+ '@babel/helper-annotate-as-pure@7.22.5':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.22.10':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-compilation-targets@7.22.10':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.26.3
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.25.4
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.28.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.29.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.29.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ regexpu-core: 6.2.0
+ semver: 6.3.1
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ regexpu-core: 6.2.0
+ semver: 6.3.1
+
+ '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ debug: 4.4.3
+ lodash.debounce: 4.0.8
+ resolve: 1.22.10
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ debug: 4.4.3
+ lodash.debounce: 4.0.8
+ resolve: 1.22.10
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-environment-visitor@7.22.5': {}
+
+ '@babel/helper-function-name@7.22.5':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-hoist-variables@7.22.5':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-member-expression-to-functions@7.22.5':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.3
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-member-expression-to-functions@7.28.5':
+ dependencies:
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-imports@7.21.4':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.3
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.22.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-optimise-call-expression@7.22.5':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-plugin-utils@7.24.6': {}
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-plugin-utils@7.28.6': {}
+
+ '@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-wrap-function': 7.28.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-wrap-function': 7.28.3
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-wrap-function': 7.28.3
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.22.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.28.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.28.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-simple-access@7.22.5':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.24.6':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.3
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-split-export-declaration@7.22.6':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-string-parser@7.24.6': {}
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.24.6': {}
+
+ '@babel/helper-validator-identifier@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.28.5': {}
+
+ '@babel/helper-validator-option@7.22.5': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helper-wrap-function@7.22.10':
+ dependencies:
+ '@babel/helper-function-name': 7.22.5
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+
+ '@babel/helper-wrap-function@7.28.3':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helpers@7.21.0':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helpers@7.28.3':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.29.0
+
+ '@babel/highlight@7.22.10':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ '@babel/parser@7.21.4':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/parser@7.28.3':
+ dependencies:
+ '@babel/types': 7.28.2
+
+ '@babel/parser@7.28.4':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/parser@7.29.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-do-expressions@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-do-expressions': 7.22.5(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-export-default-from@7.18.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-function-bind@7.18.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-function-bind': 7.22.5(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-function-sent@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-wrap-function': 7.28.3
+ '@babel/plugin-syntax-function-sent': 7.22.5(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/core': 7.21.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-pipeline-operator@7.18.9(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-pipeline-operator': 7.22.5(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+
+ '@babel/plugin-proposal-throw-expressions@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-throw-expressions': 7.22.5(@babel/core@7.21.4)
+
+ '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-do-expressions@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-function-bind@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-function-sent@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-assertions@7.24.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-pipeline-operator@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-throw-expressions@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.22.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-split-export-declaration': 7.22.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.28.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-globals': 7.28.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-globals': 7.28.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.3)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
+
+ '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
+
+ '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
+
+ '@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-literals@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-simple-access': 7.22.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-optional-chaining@7.24.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ regenerator-transform: 0.15.2
+
+ '@babel/plugin-transform-regenerator@7.28.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-regenerator@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-spread@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-spread@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.21.4)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/preset-env@7.21.4(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/core': 7.21.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4)
+ '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.21.4)
+ '@babel/plugin-transform-classes': 7.28.3(@babel/core@7.21.4)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.21.4)
+ '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.21.4)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-regenerator': 7.28.3(@babel/core@7.21.4)
+ '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.21.4)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.21.4)
+ '@babel/preset-modules': 0.1.6(@babel/core@7.21.4)
+ '@babel/types': 7.29.0
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4)
+ core-js-compat: 3.46.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-env@7.28.3(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/core': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.3)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.3)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.3)
+ '@babel/plugin-transform-classes': 7.28.3(@babel/core@7.28.3)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.3)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-regenerator': 7.28.3(@babel/core@7.28.3)
+ '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.3)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.3)
+ babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3)
+ babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3)
+ core-js-compat: 3.45.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-modules@0.1.6(@babel/core@7.21.4)':
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.21.4)
+ '@babel/types': 7.29.0
+ esutils: 2.0.3
+
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/types': 7.29.0
+ esutils: 2.0.3
+
+ '@babel/regjsgen@0.8.0': {}
+
+ '@babel/runtime@7.21.0':
+ dependencies:
+ regenerator-runtime: 0.13.11
+
+ '@babel/runtime@7.28.3': {}
+
+ '@babel/template@7.20.7':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.29.0
+
+ '@babel/template@7.28.6':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+
+ '@babel/traverse@7.21.4':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.0
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/traverse@7.28.3':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.29.0
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.3
+ '@babel/template': 7.27.2
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/traverse@7.28.4':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.0
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/traverse@7.29.0':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.0
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.24.6':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+ to-fast-properties: 2.0.0
+
+ '@babel/types@7.28.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
+ '@babel/types@7.29.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@bcoe/v8-coverage@0.2.3': {}
+
+ '@bramus/specificity@2.4.2':
+ dependencies:
+ css-tree: 3.2.1
+
+ '@changesets/apply-release-plan@7.1.0':
+ dependencies:
+ '@changesets/config': 3.1.3
+ '@changesets/get-version-range-type': 0.4.0
+ '@changesets/git': 3.0.4
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ detect-indent: 6.1.0
+ fs-extra: 7.0.1
+ lodash.startcase: 4.4.0
+ outdent: 0.5.0
+ prettier: 2.8.8
+ resolve-from: 5.0.0
+ semver: 7.7.3
+
+ '@changesets/assemble-release-plan@6.0.9':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ semver: 7.7.3
+
+ '@changesets/changelog-git@0.2.1':
+ dependencies:
+ '@changesets/types': 6.1.0
+
+ '@changesets/cli@2.30.0(@types/node@20.19.11)':
+ dependencies:
+ '@changesets/apply-release-plan': 7.1.0
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/changelog-git': 0.2.1
+ '@changesets/config': 3.1.3
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/get-release-plan': 4.0.15
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.7
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@changesets/write': 0.4.0
+ '@inquirer/external-editor': 1.0.3(@types/node@20.19.11)
+ '@manypkg/get-packages': 1.1.3
+ ansi-colors: 4.1.3
+ enquirer: 2.4.1
+ fs-extra: 7.0.1
+ mri: 1.2.0
+ package-manager-detector: 0.2.11
+ picocolors: 1.1.1
+ resolve-from: 5.0.0
+ semver: 7.7.3
+ spawndamnit: 3.0.1
+ term-size: 2.2.1
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@changesets/config@3.1.3':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/logger': 0.1.1
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+ micromatch: 4.0.8
+
+ '@changesets/errors@0.2.0':
+ dependencies:
+ extendable-error: 0.1.7
+
+ '@changesets/get-dependents-graph@2.1.3':
+ dependencies:
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ picocolors: 1.1.1
+ semver: 7.7.3
+
+ '@changesets/get-release-plan@4.0.15':
+ dependencies:
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/config': 3.1.3
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.7
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+
+ '@changesets/get-version-range-type@0.4.0': {}
+
+ '@changesets/git@3.0.4':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@manypkg/get-packages': 1.1.3
+ is-subdir: 1.2.0
+ micromatch: 4.0.8
+ spawndamnit: 3.0.1
+
+ '@changesets/logger@0.1.1':
+ dependencies:
+ picocolors: 1.1.1
+
+ '@changesets/parse@0.4.3':
+ dependencies:
+ '@changesets/types': 6.1.0
+ js-yaml: 4.1.1
+
+ '@changesets/pre@2.0.2':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+
+ '@changesets/read@0.6.7':
+ dependencies:
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/parse': 0.4.3
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ p-filter: 2.1.0
+ picocolors: 1.1.1
+
+ '@changesets/should-skip-package@0.1.2':
+ dependencies:
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+
+ '@changesets/types@4.1.0': {}
+
+ '@changesets/types@6.1.0': {}
+
+ '@changesets/write@0.4.0':
+ dependencies:
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ human-id: 4.1.3
+ prettier: 2.8.8
+
+ '@clack/core@0.5.0':
+ dependencies:
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+
+ '@clack/prompts@0.11.0':
+ dependencies:
+ '@clack/core': 0.5.0
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+
+ '@commitlint/cli@19.8.1(@types/node@20.19.11)(typescript@5.8.3)':
+ dependencies:
+ '@commitlint/format': 19.8.1
+ '@commitlint/lint': 19.8.1
+ '@commitlint/load': 19.8.1(@types/node@20.19.11)(typescript@5.8.3)
+ '@commitlint/read': 19.8.1
+ '@commitlint/types': 19.8.1
+ tinyexec: 1.0.1
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
+
+ '@commitlint/config-conventional@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ conventional-changelog-conventionalcommits: 7.0.2
+
+ '@commitlint/config-validator@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ ajv: 8.17.1
+
+ '@commitlint/ensure@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ lodash.startcase: 4.4.0
+ lodash.upperfirst: 4.3.1
+
+ '@commitlint/execute-rule@19.8.1': {}
+
+ '@commitlint/format@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ chalk: 5.6.0
+
+ '@commitlint/is-ignored@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ semver: 7.7.3
+
+ '@commitlint/lint@19.8.1':
+ dependencies:
+ '@commitlint/is-ignored': 19.8.1
+ '@commitlint/parse': 19.8.1
+ '@commitlint/rules': 19.8.1
+ '@commitlint/types': 19.8.1
+
+ '@commitlint/load@19.8.1(@types/node@20.19.11)(typescript@5.8.3)':
+ dependencies:
+ '@commitlint/config-validator': 19.8.1
+ '@commitlint/execute-rule': 19.8.1
+ '@commitlint/resolve-extends': 19.8.1
+ '@commitlint/types': 19.8.1
+ chalk: 5.6.0
+ cosmiconfig: 9.0.0(typescript@5.8.3)
+ cosmiconfig-typescript-loader: 6.1.0(@types/node@20.19.11)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3)
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ lodash.uniq: 4.5.0
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
+
+ '@commitlint/message@19.8.1': {}
+
+ '@commitlint/parse@19.8.1':
+ dependencies:
+ '@commitlint/types': 19.8.1
+ conventional-changelog-angular: 7.0.0
+ conventional-commits-parser: 5.0.0
+
+ '@commitlint/read@19.8.1':
+ dependencies:
+ '@commitlint/top-level': 19.8.1
+ '@commitlint/types': 19.8.1
+ git-raw-commits: 4.0.0
+ minimist: 1.2.8
+ tinyexec: 1.0.1
+
+ '@commitlint/resolve-extends@19.8.1':
+ dependencies:
+ '@commitlint/config-validator': 19.8.1
+ '@commitlint/types': 19.8.1
+ global-directory: 4.0.1
+ import-meta-resolve: 4.2.0
+ lodash.mergewith: 4.6.2
+ resolve-from: 5.0.0
+
+ '@commitlint/rules@19.8.1':
+ dependencies:
+ '@commitlint/ensure': 19.8.1
+ '@commitlint/message': 19.8.1
+ '@commitlint/to-lines': 19.8.1
+ '@commitlint/types': 19.8.1
+
+ '@commitlint/to-lines@19.8.1': {}
+
+ '@commitlint/top-level@19.8.1':
+ dependencies:
+ find-up: 7.0.0
+
+ '@commitlint/types@19.8.1':
+ dependencies:
+ '@types/conventional-commits-parser': 5.0.1
+ chalk: 5.6.0
+
+ '@cronvel/get-pixels@3.4.1':
+ dependencies:
+ jpeg-js: 0.4.4
+ ndarray: 1.0.19
+ ndarray-pack: 1.2.1
+ node-bitmap: 0.0.1
+ omggif: 1.0.10
+ pngjs: 6.0.0
+
+ '@csstools/color-helpers@6.0.2': {}
+
+ '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
+ '@csstools/css-color-parser@4.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/color-helpers': 6.0.2
+ '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
+ '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/css-tokenizer': 4.0.0
+
+ '@csstools/css-syntax-patches-for-csstree@1.1.4(css-tree@3.2.1)':
+ optionalDependencies:
+ css-tree: 3.2.1
+
+ '@csstools/css-tokenizer@4.0.0': {}
+
+ '@dcloudio/types@3.4.19': {}
+
+ '@dcloudio/uni-app-harmony@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-app-uts': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-app-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ debug: 4.4.1
+ fs-extra: 10.1.0
+ licia: 1.48.0
+ postcss-selector-parser: 6.1.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+
+ '@dcloudio/uni-app-plus@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-app-uts': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-app-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-app-vue': 3.0.0-4070620250821001
+ debug: 4.4.1
+ fs-extra: 10.1.0
+ licia: 1.48.0
+ postcss-selector-parser: 6.1.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+
+ '@dcloudio/uni-app-uts@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-console': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-nvue-styler': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.30
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/consolidate': 1.0.0
+ '@vue/shared': 3.4.21
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ estree-walker: 2.0.2
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ magic-string: 0.30.19
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+ unimport: 4.1.1
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-app-vite@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-nvue-styler': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ debug: 4.4.3
+ fs-extra: 10.1.0
+ picocolors: 1.1.1
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+
+ '@dcloudio/uni-app-vue@3.0.0-4070620250821001': {}
+
+ '@dcloudio/uni-app@3.0.0-4070620250821001(@dcloudio/types@3.4.19)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/types': 3.4.19
+ '@dcloudio/uni-cloud': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-components': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-console': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-push': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@dcloudio/uni-stat': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-automator@3.0.0-4070620250821001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ address: 1.2.2
+ cross-env: 7.0.3
+ debug: 4.4.1
+ default-gateway: 6.0.3
+ fs-extra: 10.1.0
+ jest: 27.0.4
+ jest-environment-node: 27.5.1
+ jsonc-parser: 3.3.1
+ licia: 1.48.0
+ merge: 2.1.1
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+
+ '@dcloudio/uni-cli-shared@3.0.0-4020820240925001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.3
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
+ '@dcloudio/uni-i18n': 3.0.0-4020820240925001
+ '@dcloudio/uni-shared': 3.0.0-4020820240925001
+ '@intlify/core-base': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ adm-zip: 0.5.16
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ base64url: 3.0.1
+ chokidar: 3.6.0
+ compare-versions: 3.6.0
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ esbuild: 0.20.2
+ estree-walker: 2.0.2
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ isbinaryfile: 5.0.6
+ jsonc-parser: 3.3.1
+ lines-and-columns: 2.0.4
+ magic-string: 0.30.18
+ merge: 2.1.1
+ mime: 3.0.0
+ module-alias: 2.2.3
+ os-locale-s-fix: 1.0.8-fix-1
+ picocolors: 1.1.1
+ postcss-import: 14.1.0(postcss@8.5.6)
+ postcss-load-config: 3.1.4(postcss@8.5.6)
+ postcss-modules: 4.3.1(postcss@8.5.6)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.10
+ source-map-js: 1.2.1
+ tapable: 2.2.3
+ unplugin-auto-import: 0.16.7(rollup@4.50.0)
+ xregexp: 3.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-cli-shared@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.3
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@intlify/core-base': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ adm-zip: 0.5.16
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ base64url: 3.0.1
+ chokidar: 3.6.0
+ compare-versions: 3.6.0
+ debug: 4.4.1
+ entities: 4.5.0
+ es-module-lexer: 1.7.0
+ esbuild: 0.20.2
+ estree-walker: 2.0.2
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ isbinaryfile: 5.0.6
+ jsonc-parser: 3.3.1
+ lines-and-columns: 2.0.4
+ magic-string: 0.30.18
+ merge: 2.1.1
+ mime: 3.0.0
+ module-alias: 2.2.3
+ os-locale-s-fix: 1.0.8-fix-1
+ picocolors: 1.1.1
+ postcss-import: 14.1.0(postcss@8.5.6)
+ postcss-load-config: 3.1.4(postcss@8.5.6)
+ postcss-modules: 4.3.1(postcss@8.5.6)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.10
+ source-map-js: 1.2.1
+ tapable: 2.2.3
+ unimport: 4.1.1
+ unplugin-auto-import: 19.1.0
+ xregexp: 3.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-cloud@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ fast-glob: 3.3.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-components@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cloud': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-h5': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-console@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ fs-extra: 10.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-h5-vite@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ debug: 4.4.3
+ fs-extra: 10.1.0
+ mime: 3.0.0
+ module-alias: 2.2.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-h5-vue@3.0.0-4070620250821001(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ transitivePeerDependencies:
+ - vue
+
+ '@dcloudio/uni-h5@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-h5-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-h5-vue': 3.0.0-4070620250821001(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ debug: 4.4.1
+ localstorage-polyfill: 1.0.1
+ postcss-selector-parser: 6.1.2
+ safe-area-insets: 1.4.1
+ vue-router: 4.5.1(vue@3.4.21(typescript@5.8.3))
+ xmlhttprequest: 1.8.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-i18n@3.0.0-4020820240925001': {}
+
+ '@dcloudio/uni-i18n@3.0.0-4070620250821001': {}
+
+ '@dcloudio/uni-mp-alipay@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-baidu@3.0.0-4070620250821001(@dcloudio/types@3.4.19)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-app': 3.0.0-4070620250821001(@dcloudio/types@3.4.19)(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-mp-weixin': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ jimp: 0.10.3
+ licia: 1.48.0
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - '@dcloudio/types'
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+
+ '@dcloudio/uni-mp-compiler@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@babel/generator': 7.29.0
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.29.0
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
+ estree-walker: 2.0.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-harmony@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-toutiao': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-quickapp-webview': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-jd@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-kuaishou@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-mp-weixin': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+
+ '@dcloudio/uni-mp-lark@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-toutiao': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-qq@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ fs-extra: 10.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-toutiao@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-vite@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-i18n': 3.0.0-4070620250821001
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/shared': 3.4.21
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-mp-vue@3.0.0-4070620250821001':
+ dependencies:
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+
+ '@dcloudio/uni-mp-weixin@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ jimp: 0.10.3
+ licia: 1.48.0
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+
+ '@dcloudio/uni-mp-xhs@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-compiler': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-nvue-styler@3.0.0-4070620250821001':
+ dependencies:
+ parse-css-font: 4.0.0
+ postcss: 8.5.6
+
+ '@dcloudio/uni-push@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-quickapp-webview@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vite': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-mp-vue': 3.0.0-4070620250821001
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/uni-shared@3.0.0-4020820240925001':
+ dependencies:
+ '@vue/shared': 3.4.21
+
+ '@dcloudio/uni-shared@3.0.0-4070620250821001':
+ dependencies:
+ '@vue/shared': 3.4.21
+
+ '@dcloudio/uni-stacktracey@3.0.0-4070620250821001': {}
+
+ '@dcloudio/uni-stat@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dcloudio/vite-plugin-uni@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
+ '@dcloudio/uni-cli-shared': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@dcloudio/uni-shared': 3.0.0-4070620250821001
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ '@vitejs/plugin-legacy': 5.3.2(terser@5.43.1)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/shared': 3.4.21
+ cac: 6.7.9
+ debug: 4.4.1
+ estree-walker: 2.0.2
+ express: 4.21.2
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.18
+ picocolors: 1.1.1
+ terser: 5.43.1
+ unplugin-auto-import: 19.1.0
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@dprint/formatter@0.3.0': {}
+
+ '@dprint/markdown@0.17.8': {}
+
+ '@dprint/toml@0.6.4': {}
+
+ '@emnapi/core@1.5.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.5.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@epic-web/invariant@1.0.0': {}
+
+ '@es-joy/jsdoccomment@0.50.2':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@typescript-eslint/types': 8.46.0
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 4.1.0
+
+ '@es-joy/jsdoccomment@0.52.0':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@typescript-eslint/types': 8.46.0
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 4.1.0
+
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
+ '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ escape-string-regexp: 4.0.0
+ eslint: 9.34.0(jiti@2.6.1)
+ ignore: 5.3.2
+
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.12.1': {}
+
+ '@eslint/compat@1.4.0(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ '@eslint/core': 0.16.0
+ optionalDependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+
+ '@eslint/config-array@0.21.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.1
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/config-helpers@0.3.1': {}
+
+ '@eslint/core@0.15.2':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/core@0.16.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/eslintrc@3.3.1':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.4.1
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.34.0': {}
+
+ '@eslint/markdown@7.4.0':
+ dependencies:
+ '@eslint/core': 0.16.0
+ '@eslint/plugin-kit': 0.4.0
+ github-slugger: 2.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-frontmatter: 2.0.1
+ mdast-util-gfm: 3.1.0
+ micromark-extension-frontmatter: 2.0.0
+ micromark-extension-gfm: 3.0.0
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/object-schema@2.1.6': {}
+
+ '@eslint/plugin-kit@0.3.5':
+ dependencies:
+ '@eslint/core': 0.15.2
+ levn: 0.4.1
+
+ '@eslint/plugin-kit@0.4.0':
+ dependencies:
+ '@eslint/core': 0.16.0
+ levn: 0.4.1
+
+ '@exodus/bytes@1.15.1': {}
+
+ '@exodus/schemasafe@1.3.0': {}
+
+ '@halo-dev/api-client@2.24.0(axios@1.17.0)':
+ dependencies:
+ axios: 1.17.0
+ qs: 6.15.2
+
+ '@humanfs/core@0.19.1': {}
+
+ '@humanfs/node@0.16.6':
+ dependencies:
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.3.1
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.3.1': {}
+
+ '@humanwhocodes/retry@0.4.3': {}
+
+ '@iconify-json/carbon@1.2.13':
+ dependencies:
+ '@iconify/types': 2.0.0
+
+ '@iconify/types@2.0.0': {}
+
+ '@iconify/utils@2.3.0':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@antfu/utils': 8.1.1
+ '@iconify/types': 2.0.0
+ debug: 4.4.3
+ globals: 15.15.0
+ kolorist: 1.8.0
+ local-pkg: 1.1.2
+ mlly: 1.8.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@iconify/utils@3.0.2':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@antfu/utils': 9.3.0
+ '@iconify/types': 2.0.0
+ debug: 4.4.3
+ globals: 15.15.0
+ kolorist: 1.8.0
+ local-pkg: 1.1.2
+ mlly: 1.8.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@inquirer/external-editor@1.0.3(@types/node@20.19.11)':
+ dependencies:
+ chardet: 2.1.1
+ iconv-lite: 0.7.2
+ optionalDependencies:
+ '@types/node': 20.19.11
+
+ '@intlify/core-base@9.1.9':
+ dependencies:
+ '@intlify/devtools-if': 9.1.9
+ '@intlify/message-compiler': 9.1.9
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/runtime': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+
+ '@intlify/devtools-if@9.1.9':
+ dependencies:
+ '@intlify/shared': 9.1.9
+
+ '@intlify/message-compiler@9.1.9':
+ dependencies:
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/shared': 9.1.9
+ source-map: 0.6.1
+
+ '@intlify/message-resolver@9.1.9': {}
+
+ '@intlify/runtime@9.1.9':
+ dependencies:
+ '@intlify/message-compiler': 9.1.9
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/shared': 9.1.9
+
+ '@intlify/shared@9.1.9': {}
+
+ '@intlify/vue-devtools@9.1.9':
+ dependencies:
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/runtime': 9.1.9
+ '@intlify/shared': 9.1.9
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+
+ '@istanbuljs/schema@0.1.3': {}
+
+ '@jest/console@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+
+ '@jest/core@27.5.1':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/reporters': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.8.1
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 27.5.1
+ jest-config: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-resolve-dependencies: 27.5.1
+ jest-runner: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ jest-watcher: 27.5.1
+ micromatch: 4.0.8
+ rimraf: 3.0.2
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ '@jest/environment@27.5.1':
+ dependencies:
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ jest-mock: 27.5.1
+
+ '@jest/fake-timers@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@sinonjs/fake-timers': 8.1.0
+ '@types/node': 20.19.20
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ '@jest/globals@27.5.1':
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/types': 27.5.1
+ expect: 27.5.1
+
+ '@jest/reporters@27.5.1':
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 5.2.1
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.2.0
+ jest-haste-map: 27.5.1
+ jest-resolve: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ slash: 3.0.0
+ source-map: 0.6.1
+ string-length: 4.0.2
+ terminal-link: 2.1.1
+ v8-to-istanbul: 8.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/source-map@27.5.1':
+ dependencies:
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ source-map: 0.6.1
+
+ '@jest/test-result@27.5.1':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.2
+
+ '@jest/test-sequencer@27.5.1':
+ dependencies:
+ '@jest/test-result': 27.5.1
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-runtime: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/transform@27.5.1':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@jest/types': 27.5.1
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 1.9.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-util: 27.5.1
+ micromatch: 4.0.8
+ pirates: 4.0.7
+ slash: 3.0.0
+ source-map: 0.6.1
+ write-file-atomic: 3.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/types@27.5.1':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.19.20
+ '@types/yargs': 16.0.9
+ chalk: 4.1.2
+
+ '@jimp/bmp@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ bmp-js: 0.1.0
+ core-js: 3.45.1
+
+ '@jimp/bmp@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+ bmp-js: 0.1.0
+
+ '@jimp/core@0.10.3':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/utils': 0.10.3
+ any-base: 1.1.0
+ buffer: 5.7.1
+ core-js: 3.45.1
+ exif-parser: 0.1.12
+ file-type: 9.0.0
+ load-bmfont: 1.4.2
+ mkdirp: 0.5.6
+ phin: 2.9.3
+ pixelmatch: 4.0.2
+ tinycolor2: 1.6.0
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/core@0.16.13':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/utils': 0.16.13
+ any-base: 1.1.0
+ buffer: 5.7.1
+ exif-parser: 0.1.12
+ file-type: 16.5.4
+ load-bmfont: 1.4.2
+ mkdirp: 0.5.6
+ phin: 2.9.3
+ pixelmatch: 4.0.2
+ tinycolor2: 1.6.0
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/custom@0.10.3':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/core': 0.10.3
+ core-js: 3.45.1
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/custom@0.16.13':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/core': 0.16.13
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/gif@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+ omggif: 1.0.10
+
+ '@jimp/gif@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+ gifwrap: 0.9.4
+ omggif: 1.0.10
+
+ '@jimp/jpeg@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+ jpeg-js: 0.3.7
+
+ '@jimp/jpeg@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+ jpeg-js: 0.4.4
+
+ '@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-blur@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-circle@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-circle@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+ tinycolor2: 1.6.0
+
+ '@jimp/plugin-color@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+ tinycolor2: 1.6.0
+
+ '@jimp/plugin-contain@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-contain@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-scale@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-scale': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-cover@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-cover@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-scale@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-crop': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-scale': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-displace@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-displace@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-dither@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-dither@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-fisheye@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-fisheye@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-flip@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-flip@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-rotate@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-rotate': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-gaussian@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-gaussian@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-invert@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-invert@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-mask@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-mask@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-normalize@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-normalize@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-print@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+ load-bmfont: 1.4.2
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/plugin-print@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/utils': 0.16.13
+ load-bmfont: 1.4.2
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-rotate@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-crop': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-scale@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-shadow@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-shadow@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blur@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-blur': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugin-threshold@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+
+ '@jimp/plugin-threshold@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-color@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-color': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/utils': 0.16.13
+
+ '@jimp/plugins@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-circle': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-contain': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
+ '@jimp/plugin-cover': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-displace': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-dither': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-fisheye': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-flip': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
+ '@jimp/plugin-gaussian': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-invert': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-mask': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-normalize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-print': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/plugin-shadow': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ '@jimp/plugin-threshold': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
+ core-js: 3.45.1
+ timm: 1.7.1
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/plugins@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-blur': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-circle': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-color': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-contain': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-scale@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))
+ '@jimp/plugin-cover': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-scale@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))
+ '@jimp/plugin-crop': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-displace': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-dither': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-fisheye': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-flip': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-rotate@0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13)))
+ '@jimp/plugin-gaussian': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-invert': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-mask': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-normalize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-print': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/plugin-rotate': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-crop@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/plugin-scale': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/plugin-shadow': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blur@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ '@jimp/plugin-threshold': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-color@0.16.13(@jimp/custom@0.16.13))(@jimp/plugin-resize@0.16.13(@jimp/custom@0.16.13))
+ timm: 1.7.1
+ transitivePeerDependencies:
+ - debug
+
+ '@jimp/png@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.45.1
+ pngjs: 3.4.0
+
+ '@jimp/png@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/utils': 0.16.13
+ pngjs: 3.4.0
+
+ '@jimp/tiff@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ core-js: 3.45.1
+ utif: 2.0.1
+
+ '@jimp/tiff@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ utif: 2.0.1
+
+ '@jimp/types@0.10.3(@jimp/custom@0.10.3)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/bmp': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/custom': 0.10.3
+ '@jimp/gif': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/jpeg': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/png': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/tiff': 0.10.3(@jimp/custom@0.10.3)
+ core-js: 3.45.1
+ timm: 1.7.1
+
+ '@jimp/types@0.16.13(@jimp/custom@0.16.13)':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/bmp': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/custom': 0.16.13
+ '@jimp/gif': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/jpeg': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/png': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/tiff': 0.16.13(@jimp/custom@0.16.13)
+ timm: 1.7.1
+
+ '@jimp/utils@0.10.3':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ core-js: 3.45.1
+ regenerator-runtime: 0.13.11
+
+ '@jimp/utils@0.16.13':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ regenerator-runtime: 0.13.11
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.30
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/source-map@0.3.11':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.30
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.30':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@leejim/wxml-parser@0.1.6': {}
+
+ '@manypkg/find-root@1.1.0':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+
+ '@manypkg/get-packages@1.1.3':
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ dependencies:
+ '@emnapi/core': 1.5.0
+ '@emnapi/runtime': 1.5.0
+ '@tybys/wasm-util': 0.10.0
+ optional: true
+
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ dependencies:
+ eslint-scope: 5.1.1
+
+ '@node-rs/xxhash-android-arm-eabi@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-android-arm64@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-darwin-arm64@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-darwin-x64@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-freebsd-x64@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-linux-arm-gnueabihf@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-linux-arm64-gnu@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-linux-arm64-musl@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-linux-x64-gnu@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-linux-x64-musl@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-wasm32-wasi@1.7.6':
+ dependencies:
+ '@napi-rs/wasm-runtime': 0.2.12
+ optional: true
+
+ '@node-rs/xxhash-win32-arm64-msvc@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-win32-ia32-msvc@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash-win32-x64-msvc@1.7.6':
+ optional: true
+
+ '@node-rs/xxhash@1.7.6':
+ optionalDependencies:
+ '@node-rs/xxhash-android-arm-eabi': 1.7.6
+ '@node-rs/xxhash-android-arm64': 1.7.6
+ '@node-rs/xxhash-darwin-arm64': 1.7.6
+ '@node-rs/xxhash-darwin-x64': 1.7.6
+ '@node-rs/xxhash-freebsd-x64': 1.7.6
+ '@node-rs/xxhash-linux-arm-gnueabihf': 1.7.6
+ '@node-rs/xxhash-linux-arm64-gnu': 1.7.6
+ '@node-rs/xxhash-linux-arm64-musl': 1.7.6
+ '@node-rs/xxhash-linux-x64-gnu': 1.7.6
+ '@node-rs/xxhash-linux-x64-musl': 1.7.6
+ '@node-rs/xxhash-wasm32-wasi': 1.7.6
+ '@node-rs/xxhash-win32-arm64-msvc': 1.7.6
+ '@node-rs/xxhash-win32-ia32-msvc': 1.7.6
+ '@node-rs/xxhash-win32-x64-msvc': 1.7.6
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.19.1
+
+ '@one-ini/wasm@0.1.1': {}
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pkgr/core@0.1.2': {}
+
+ '@pkgr/core@0.2.9': {}
+
+ '@polka/url@1.0.0-next.29': {}
+
+ '@prettier/sync@0.6.1(prettier@3.6.2)':
+ dependencies:
+ make-synchronized: 0.8.0
+ prettier: 3.6.2
+
+ '@protobufjs/aspromise@1.1.2': {}
+
+ '@protobufjs/base64@1.1.2': {}
+
+ '@protobufjs/codegen@2.0.4': {}
+
+ '@protobufjs/eventemitter@1.1.0': {}
+
+ '@protobufjs/fetch@1.1.0':
+ dependencies:
+ '@protobufjs/aspromise': 1.1.2
+ '@protobufjs/inquire': 1.1.0
+
+ '@protobufjs/float@1.0.2': {}
+
+ '@protobufjs/inquire@1.1.0': {}
+
+ '@protobufjs/path@1.1.2': {}
+
+ '@protobufjs/pool@1.1.0': {}
+
+ '@protobufjs/utf8@1.1.0': {}
+
+ '@qiun/ucharts@2.5.0-20230101': {}
+
+ '@quansync/fs@0.1.5':
+ dependencies:
+ quansync: 0.2.11
+
+ '@rollup/pluginutils@5.2.0(rollup@4.50.0)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.50.0
+
+ '@rollup/rollup-android-arm-eabi@4.50.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.50.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.50.0':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.50.0':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.50.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.50.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.50.0':
+ optional: true
+
+ '@sindresorhus/is@0.7.0': {}
+
+ '@sindresorhus/is@4.6.0': {}
+
+ '@sinonjs/commons@1.8.6':
+ dependencies:
+ type-detect: 4.0.8
+
+ '@sinonjs/fake-timers@8.1.0':
+ dependencies:
+ '@sinonjs/commons': 1.8.6
+
+ '@stylistic/eslint-plugin@5.4.0(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/types': 8.46.0
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ estraverse: 5.3.0
+ picomatch: 4.0.3
+
+ '@swc/core-darwin-arm64@1.4.14':
+ optional: true
+
+ '@swc/core-darwin-x64@1.4.14':
+ optional: true
+
+ '@swc/core-linux-arm-gnueabihf@1.4.14':
+ optional: true
+
+ '@swc/core-linux-arm64-gnu@1.4.14':
+ optional: true
+
+ '@swc/core-linux-arm64-musl@1.4.14':
+ optional: true
+
+ '@swc/core-linux-x64-gnu@1.4.14':
+ optional: true
+
+ '@swc/core-linux-x64-musl@1.4.14':
+ optional: true
+
+ '@swc/core-win32-arm64-msvc@1.4.14':
+ optional: true
+
+ '@swc/core-win32-ia32-msvc@1.4.14':
+ optional: true
+
+ '@swc/core-win32-x64-msvc@1.4.14':
+ optional: true
+
+ '@swc/core@1.4.14':
+ dependencies:
+ '@swc/counter': 0.1.3
+ '@swc/types': 0.1.25
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.4.14
+ '@swc/core-darwin-x64': 1.4.14
+ '@swc/core-linux-arm-gnueabihf': 1.4.14
+ '@swc/core-linux-arm64-gnu': 1.4.14
+ '@swc/core-linux-arm64-musl': 1.4.14
+ '@swc/core-linux-x64-gnu': 1.4.14
+ '@swc/core-linux-x64-musl': 1.4.14
+ '@swc/core-win32-arm64-msvc': 1.4.14
+ '@swc/core-win32-ia32-msvc': 1.4.14
+ '@swc/core-win32-x64-msvc': 1.4.14
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/types@0.1.25':
+ dependencies:
+ '@swc/counter': 0.1.3
+
+ '@szmarczak/http-timer@4.0.6':
+ dependencies:
+ defer-to-connect: 2.0.1
+
+ '@tokenizer/token@0.3.0': {}
+
+ '@tootallnate/once@1.1.2': {}
+
+ '@trivago/prettier-plugin-sort-imports@5.2.2(@vue/compiler-sfc@3.5.22)(prettier@3.6.2)':
+ dependencies:
+ '@babel/generator': 7.29.0
+ '@babel/parser': 7.28.4
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.29.0
+ javascript-natural-sort: 0.7.1
+ lodash: 4.17.21
+ prettier: 3.6.2
+ optionalDependencies:
+ '@vue/compiler-sfc': 3.5.22
+ transitivePeerDependencies:
+ - supports-color
+
+ '@trysound/sax@0.2.0': {}
+
+ '@ts-morph/common@0.26.1':
+ dependencies:
+ fast-glob: 3.3.3
+ minimatch: 9.0.5
+ path-browserify: 1.0.1
+
+ '@tybys/wasm-util@0.10.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@types/cacheable-request@6.0.3':
+ dependencies:
+ '@types/http-cache-semantics': 4.0.4
+ '@types/keyv': 3.1.4
+ '@types/node': 20.19.20
+ '@types/responselike': 1.0.3
+
+ '@types/chai@5.2.3':
+ dependencies:
+ '@types/deep-eql': 4.0.2
+ assertion-error: 2.0.1
+
+ '@types/conventional-commits-parser@5.0.1':
+ dependencies:
+ '@types/node': 20.19.11
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/deep-eql@4.0.2': {}
+
+ '@types/estree@1.0.8': {}
+
+ '@types/graceful-fs@4.1.9':
+ dependencies:
+ '@types/node': 20.19.20
+
+ '@types/http-cache-semantics@4.0.4': {}
+
+ '@types/istanbul-lib-coverage@2.0.6': {}
+
+ '@types/istanbul-lib-report@3.0.3':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ '@types/istanbul-reports@3.0.4':
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/keyv@3.1.4':
+ dependencies:
+ '@types/node': 20.19.20
+
+ '@types/long@4.0.2': {}
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/ms@2.1.0': {}
+
+ '@types/node@12.20.55': {}
+
+ '@types/node@16.9.1': {}
+
+ '@types/node@20.19.11':
+ dependencies:
+ undici-types: 6.21.0
+
+ '@types/node@20.19.20':
+ dependencies:
+ undici-types: 6.21.0
+
+ '@types/prettier@2.7.3': {}
+
+ '@types/proper-lockfile@4.1.4':
+ dependencies:
+ '@types/retry': 0.12.5
+
+ '@types/responselike@1.0.3':
+ dependencies:
+ '@types/node': 20.19.20
+
+ '@types/retry@0.12.5': {}
+
+ '@types/stack-utils@2.0.3': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@types/yargs-parser@21.0.3': {}
+
+ '@types/yargs@16.0.9':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/type-utils': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.46.0
+ eslint: 9.34.0(jiti@2.6.1)
+ graphemer: 1.4.0
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.46.0
+ debug: 4.4.3
+ eslint: 9.34.0(jiti@2.6.1)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/project-service@8.41.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.41.0
+ debug: 4.4.3
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/project-service@8.46.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.46.0
+ debug: 4.4.3
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/scope-manager@8.41.0':
+ dependencies:
+ '@typescript-eslint/types': 8.41.0
+ '@typescript-eslint/visitor-keys': 8.41.0
+
+ '@typescript-eslint/scope-manager@8.46.0':
+ dependencies:
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/visitor-keys': 8.46.0
+
+ '@typescript-eslint/tsconfig-utils@8.41.0(typescript@5.8.3)':
+ dependencies:
+ typescript: 5.8.3
+
+ '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.8.3)':
+ dependencies:
+ typescript: 5.8.3
+
+ '@typescript-eslint/type-utils@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ debug: 4.4.3
+ eslint: 9.34.0(jiti@2.6.1)
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/types@8.41.0': {}
+
+ '@typescript-eslint/types@8.46.0': {}
+
+ '@typescript-eslint/typescript-estree@8.41.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.41.0(typescript@5.8.3)
+ '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.41.0
+ '@typescript-eslint/visitor-keys': 8.41.0
+ debug: 4.4.3
+ fast-glob: 3.3.3
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.7.3
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/typescript-estree@8.46.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.46.0(typescript@5.8.3)
+ '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/visitor-keys': 8.46.0
+ debug: 4.4.3
+ fast-glob: 3.3.3
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.7.3
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.41.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.41.0
+ '@typescript-eslint/types': 8.41.0
+ '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.8.3)
+ eslint: 9.34.0(jiti@2.6.1)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.8.3)
+ eslint: 9.34.0(jiti@2.6.1)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/visitor-keys@8.41.0':
+ dependencies:
+ '@typescript-eslint/types': 8.41.0
+ eslint-visitor-keys: 4.2.1
+
+ '@typescript-eslint/visitor-keys@8.46.0':
+ dependencies:
+ '@typescript-eslint/types': 8.46.0
+ eslint-visitor-keys: 4.2.1
+
+ '@uni-helper/eslint-config@0.5.0(@antfu/eslint-config@5.2.1(@unocss/eslint-plugin@66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.0.1(eslint@9.34.0(jiti@2.6.1)))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)))(eslint@9.34.0(jiti@2.6.1))':
+ dependencies:
+ '@antfu/eslint-config': 5.2.1(@unocss/eslint-plugin@66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.0.1(eslint@9.34.0(jiti@2.6.1)))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@eslint/eslintrc': 3.3.1
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-flat-config-utils: 2.1.1
+ local-pkg: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@uni-helper/plugin-uni@0.1.0(@dcloudio/vite-plugin-uni@3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))':
+ dependencies:
+ '@dcloudio/vite-plugin-uni': 3.0.0-4070620250821001(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+
+ '@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ typescript: 5.8.3
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ typescript: 5.8.3
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@uni-helper/uni-env@0.1.8':
+ dependencies:
+ std-env: 3.9.0
+
+ '@uni-helper/uni-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@uni-helper/uni-app-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ '@uni-helper/uni-cloud-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ '@uni-helper/uni-ui-types': 1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ typescript: 5.8.3
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@uni-helper/uni-app-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ typescript: 5.8.3
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@uni-helper/unocss-preset-uni@0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/preset-mini@66.5.3)(@unocss/rule-utils@66.5.3)(@unocss/vite@66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))(unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))))(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))':
+ dependencies:
+ '@uni-helper/uni-env': 0.1.8
+ '@unocss/preset-legacy-compat': 66.0.0
+ '@unocss/rule-utils': 66.5.3
+ unocss: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ unocss-applet: 0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)))
+ optionalDependencies:
+ '@unocss/preset-mini': 66.5.3
+ '@unocss/vite': 66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+
+ '@uni-helper/vite-plugin-uni-components@0.2.3(rollup@4.50.0)':
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ chokidar: 3.6.0
+ debug: 4.4.1
+ fast-glob: 3.3.3
+ local-pkg: 0.4.3
+ magic-string: 0.30.18
+ minimatch: 8.0.4
+ resolve: 1.22.10
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ '@uni-helper/vite-plugin-uni-layouts@0.1.11(rollup@4.50.0)':
+ dependencies:
+ '@babel/types': 7.28.2
+ '@uni-helper/uni-env': 0.1.8
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ ast-kit: 0.11.3(rollup@4.50.0)
+ c12: 1.11.2
+ chokidar: 3.6.0
+ fast-glob: 3.3.3
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.18
+ scule: 1.3.0
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+
+ '@uni-helper/vite-plugin-uni-manifest@0.2.12(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ c12: 2.0.4
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - magicast
+
+ '@uni-helper/vite-plugin-uni-pages@0.3.23(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@babel/generator': 7.29.0
+ '@babel/types': 7.29.0
+ '@types/proper-lockfile': 4.1.4
+ '@uni-helper/uni-env': 0.1.8
+ '@vue/compiler-sfc': 3.4.21
+ ast-kit: 1.4.3
+ chokidar: 3.6.0
+ comment-json: 4.4.1
+ debug: 4.4.3
+ detect-indent: 6.1.0
+ detect-newline: 3.1.0
+ fast-glob: 3.3.3
+ json5: 2.2.3
+ kolorist: 1.8.0
+ lodash.groupby: 4.6.0
+ magic-string: 0.30.19
+ proper-lockfile: 4.1.2
+ typescript: 5.9.2
+ unconfig: 7.3.2
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ write-file-atomic: 7.0.0
+ yaml: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@uni-helper/vite-plugin-uni-platform@0.0.5':
+ dependencies:
+ '@uni-helper/uni-env': 0.1.8
+
+ '@uni-ku/bundle-optimizer@1.3.15-beta.2(postcss@8.5.6)(rollup@4.50.0)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020820240925001(postcss@8.5.6)(rollup@4.50.0)(vue@3.4.21(typescript@5.8.3))
+ '@node-rs/xxhash': 1.7.6
+ chalk: 4.1.2
+ magic-string: 0.30.18
+ minimatch: 9.0.5
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+
+ '@uni-ku/root@1.4.1(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@vue/compiler-sfc': 3.4.21
+ chokidar: 3.6.0
+ jsonc-parser: 3.3.1
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+
+ '@unocss-applet/preset-applet@0.11.0':
+ dependencies:
+ '@unocss/core': 66.5.3
+ '@unocss/preset-mini': 66.5.3
+ '@unocss/preset-wind3': 66.5.3
+ '@unocss/preset-wind4': 66.5.3
+
+ '@unocss-applet/preset-rem-rpx@0.11.0':
+ dependencies:
+ '@unocss/core': 66.5.3
+
+ '@unocss-applet/transformer-attributify@0.11.0':
+ dependencies:
+ '@unocss/core': 66.5.3
+ magic-string: 0.30.19
+
+ '@unocss/astro@66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/reset': 66.0.0
+ '@unocss/vite': 66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ optionalDependencies:
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - vue
+
+ '@unocss/cli@66.0.0':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@unocss/config': 66.0.0
+ '@unocss/core': 66.0.0
+ '@unocss/preset-uno': 66.0.0
+ cac: 6.7.14
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ consola: 3.4.2
+ magic-string: 0.30.19
+ pathe: 2.0.3
+ perfect-debounce: 1.0.0
+ tinyglobby: 0.2.15
+ unplugin-utils: 0.2.5
+
+ '@unocss/config@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ unconfig: 7.3.2
+
+ '@unocss/config@66.5.0':
+ dependencies:
+ '@unocss/core': 66.5.0
+ unconfig: 7.3.2
+
+ '@unocss/core@66.0.0': {}
+
+ '@unocss/core@66.5.0': {}
+
+ '@unocss/core@66.5.1': {}
+
+ '@unocss/core@66.5.3': {}
+
+ '@unocss/eslint-plugin@66.5.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/utils': 8.41.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ '@unocss/config': 66.5.0
+ '@unocss/core': 66.5.0
+ '@unocss/rule-utils': 66.5.0
+ magic-string: 0.30.18
+ synckit: 0.11.11
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
+
+ '@unocss/extractor-arbitrary-variants@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/extractor-arbitrary-variants@66.5.3':
+ dependencies:
+ '@unocss/core': 66.5.3
+
+ '@unocss/inspector@66.0.0(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+ colorette: 2.0.20
+ gzip-size: 6.0.0
+ sirv: 3.0.1
+ vue-flow-layout: 0.1.1(vue@3.4.21(typescript@5.8.3))
+ transitivePeerDependencies:
+ - vue
+
+ '@unocss/postcss@66.0.0(postcss@8.5.6)':
+ dependencies:
+ '@unocss/config': 66.0.0
+ '@unocss/core': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+ css-tree: 3.1.0
+ postcss: 8.5.6
+ tinyglobby: 0.2.15
+
+ '@unocss/preset-attributify@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/preset-icons@66.0.0':
+ dependencies:
+ '@iconify/utils': 2.3.0
+ '@unocss/core': 66.0.0
+ ofetch: 1.4.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@unocss/preset-legacy-compat@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/preset-mini@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/extractor-arbitrary-variants': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+
+ '@unocss/preset-mini@66.5.3':
+ dependencies:
+ '@unocss/core': 66.5.3
+ '@unocss/extractor-arbitrary-variants': 66.5.3
+ '@unocss/rule-utils': 66.5.3
+
+ '@unocss/preset-tagify@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/preset-typography@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/preset-mini': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+
+ '@unocss/preset-uno@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/preset-wind3': 66.0.0
+
+ '@unocss/preset-web-fonts@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ ofetch: 1.4.1
+
+ '@unocss/preset-wind3@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/preset-mini': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+
+ '@unocss/preset-wind3@66.5.3':
+ dependencies:
+ '@unocss/core': 66.5.3
+ '@unocss/preset-mini': 66.5.3
+ '@unocss/rule-utils': 66.5.3
+
+ '@unocss/preset-wind4@66.5.3':
+ dependencies:
+ '@unocss/core': 66.5.3
+ '@unocss/extractor-arbitrary-variants': 66.5.3
+ '@unocss/rule-utils': 66.5.3
+
+ '@unocss/preset-wind@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/preset-wind3': 66.0.0
+
+ '@unocss/reset@66.0.0': {}
+
+ '@unocss/rule-utils@66.0.0':
+ dependencies:
+ '@unocss/core': 66.5.1
+ magic-string: 0.30.19
+
+ '@unocss/rule-utils@66.5.0':
+ dependencies:
+ '@unocss/core': 66.5.1
+ magic-string: 0.30.18
+
+ '@unocss/rule-utils@66.5.3':
+ dependencies:
+ '@unocss/core': 66.5.3
+ magic-string: 0.30.19
+
+ '@unocss/transformer-attributify-jsx@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/transformer-compile-class@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/transformer-directives@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+ '@unocss/rule-utils': 66.0.0
+ css-tree: 3.1.0
+
+ '@unocss/transformer-variant-group@66.0.0':
+ dependencies:
+ '@unocss/core': 66.0.0
+
+ '@unocss/vite@66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@unocss/config': 66.0.0
+ '@unocss/core': 66.0.0
+ '@unocss/inspector': 66.0.0(vue@3.4.21(typescript@5.8.3))
+ chokidar: 3.6.0
+ magic-string: 0.30.19
+ tinyglobby: 0.2.15
+ unplugin-utils: 0.2.5
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - vue
+
+ '@vitejs/plugin-legacy@5.3.2(terser@5.43.1)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/preset-env': 7.28.3(@babel/core@7.28.3)
+ browserslist: 4.25.4
+ browserslist-to-esbuild: 2.1.1(browserslist@4.25.4)
+ core-js: 3.45.1
+ magic-string: 0.30.19
+ regenerator-runtime: 0.14.1
+ systemjs: 6.15.1
+ terser: 5.43.1
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
+ '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vue: 3.4.21(typescript@5.8.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitejs/plugin-vue@5.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@vitest/eslint-plugin@1.3.16(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/utils': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint: 9.34.0(jiti@2.6.1)
+ optionalDependencies:
+ typescript: 5.8.3
+ vitest: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitest/expect@3.2.4':
+ dependencies:
+ '@types/chai': 5.2.3
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.3.3
+ tinyrainbow: 2.0.0
+
+ '@vitest/mocker@3.2.4(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))':
+ dependencies:
+ '@vitest/spy': 3.2.4
+ estree-walker: 3.0.3
+ magic-string: 0.30.19
+ optionalDependencies:
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+
+ '@vitest/pretty-format@3.2.4':
+ dependencies:
+ tinyrainbow: 2.0.0
+
+ '@vitest/runner@3.2.4':
+ dependencies:
+ '@vitest/utils': 3.2.4
+ pathe: 2.0.3
+ strip-literal: 3.0.0
+
+ '@vitest/snapshot@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ magic-string: 0.30.19
+ pathe: 2.0.3
+
+ '@vitest/spy@3.2.4':
+ dependencies:
+ tinyspy: 4.0.4
+
+ '@vitest/utils@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ loupe: 3.2.1
+ tinyrainbow: 2.0.0
+
+ '@volar/language-core@2.4.23':
+ dependencies:
+ '@volar/source-map': 2.4.23
+
+ '@volar/source-map@2.4.23': {}
+
+ '@volar/typescript@2.4.23':
+ dependencies:
+ '@volar/language-core': 2.4.23
+ path-browserify: 1.0.1
+ vscode-uri: 3.1.0
+
+ '@vue/babel-helper-vue-transform-on@1.5.0': {}
+
+ '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3)
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.3
+ '@babel/types': 7.29.0
+ '@vue/babel-helper-vue-transform-on': 1.5.0
+ '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.3)
+ '@vue/shared': 3.5.20
+ optionalDependencies:
+ '@babel/core': 7.28.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.3)':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/core': 7.28.3
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/parser': 7.29.0
+ '@vue/compiler-sfc': 3.5.22
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/compiler-core@3.4.21':
+ dependencies:
+ '@babel/parser': 7.28.3
+ '@vue/shared': 3.4.21
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-core@3.5.20':
+ dependencies:
+ '@babel/parser': 7.28.3
+ '@vue/shared': 3.5.20
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-core@3.5.22':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@vue/shared': 3.5.22
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-dom@3.4.21':
+ dependencies:
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+
+ '@vue/compiler-dom@3.5.20':
+ dependencies:
+ '@vue/compiler-core': 3.5.20
+ '@vue/shared': 3.5.20
+
+ '@vue/compiler-dom@3.5.22':
+ dependencies:
+ '@vue/compiler-core': 3.5.22
+ '@vue/shared': 3.5.22
+
+ '@vue/compiler-sfc@3.4.21':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/shared': 3.4.21
+ estree-walker: 2.0.2
+ magic-string: 0.30.19
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+
+ '@vue/compiler-sfc@3.5.22':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/compiler-core': 3.5.22
+ '@vue/compiler-dom': 3.5.22
+ '@vue/compiler-ssr': 3.5.22
+ '@vue/shared': 3.5.22
+ estree-walker: 2.0.2
+ magic-string: 0.30.19
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+
+ '@vue/compiler-ssr@3.4.21':
+ dependencies:
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
+
+ '@vue/compiler-ssr@3.5.22':
+ dependencies:
+ '@vue/compiler-dom': 3.5.22
+ '@vue/shared': 3.5.22
+
+ '@vue/compiler-vue2@2.7.16':
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+
+ '@vue/consolidate@1.0.0': {}
+
+ '@vue/devtools-api@6.6.4': {}
+
+ '@vue/devtools-core@8.0.5(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@vue/devtools-kit': 8.0.5
+ '@vue/devtools-shared': 8.0.5
+ mitt: 3.0.1
+ nanoid: 5.1.6
+ pathe: 2.0.3
+ vite-hot-client: 2.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ vue: 3.4.21(typescript@5.8.3)
+ transitivePeerDependencies:
+ - vite
+
+ '@vue/devtools-kit@8.0.5':
+ dependencies:
+ '@vue/devtools-shared': 8.0.5
+ birpc: 2.9.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 2.1.0
+ speakingurl: 14.0.1
+ superjson: 2.2.6
+
+ '@vue/devtools-shared@8.0.5':
+ dependencies:
+ rfdc: 1.4.1
+
+ '@vue/language-core@3.0.6(typescript@5.8.3)':
+ dependencies:
+ '@volar/language-core': 2.4.23
+ '@vue/compiler-dom': 3.5.20
+ '@vue/compiler-vue2': 2.7.16
+ '@vue/shared': 3.5.20
+ alien-signals: 2.0.7
+ muggle-string: 0.4.1
+ path-browserify: 1.0.1
+ picomatch: 4.0.3
+ optionalDependencies:
+ typescript: 5.8.3
+
+ '@vue/reactivity@3.0.5':
+ dependencies:
+ '@vue/shared': 3.0.5
+
+ '@vue/reactivity@3.4.21':
+ dependencies:
+ '@vue/shared': 3.4.21
+
+ '@vue/runtime-core@3.4.21':
+ dependencies:
+ '@vue/reactivity': 3.4.21
+ '@vue/shared': 3.4.21
+
+ '@vue/runtime-dom@3.4.21':
+ dependencies:
+ '@vue/runtime-core': 3.4.21
+ '@vue/shared': 3.4.21
+ csstype: 3.1.3
+
+ '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/shared': 3.4.21
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@vue/shared@3.0.5': {}
+
+ '@vue/shared@3.4.21': {}
+
+ '@vue/shared@3.5.20': {}
+
+ '@vue/shared@3.5.22': {}
+
+ '@vue/test-utils@2.4.10(@vue/compiler-dom@3.5.22)(@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.8.3)))(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ '@vue/compiler-dom': 3.5.22
+ js-beautify: 1.15.4
+ vue: 3.4.21(typescript@5.8.3)
+ vue-component-type-helpers: 3.3.3
+ optionalDependencies:
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+
+ '@vue/tsconfig@0.1.3(@types/node@20.19.11)':
+ optionalDependencies:
+ '@types/node': 20.19.11
+
+ '@wot-ui/ui@2.0.8(vue@3.4.21(typescript@5.8.3))':
+ dependencies:
+ vue: 3.4.21(typescript@5.8.3)
+
+ '@xmldom/xmldom@0.8.11': {}
+
+ JSONStream@1.3.5:
+ dependencies:
+ jsonparse: 1.3.1
+ through: 2.3.8
+
+ a-sync-waterfall@1.0.1: {}
+
+ abab@2.0.6: {}
+
+ abbrev@2.0.0: {}
+
+ abort-controller@3.0.0:
+ dependencies:
+ event-target-shim: 5.0.1
+
+ abortcontroller-polyfill@1.7.8: {}
+
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ acorn-globals@6.0.0:
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
+ acorn-walk@7.2.0: {}
+
+ acorn@6.4.2: {}
+
+ acorn@7.4.1: {}
+
+ acorn@8.15.0: {}
+
+ address@1.2.2: {}
+
+ adm-zip@0.5.10: {}
+
+ adm-zip@0.5.16: {}
+
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ ajv-formats@1.6.1(ajv@7.2.4):
+ optionalDependencies:
+ ajv: 7.2.4
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ajv@7.2.4:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ alien-signals@2.0.7: {}
+
+ alova@3.3.4:
+ dependencies:
+ '@alova/shared': 1.3.1
+ rate-limiter-flexible: 5.0.5
+
+ ansi-colors@4.1.3: {}
+
+ ansi-escapes@4.3.2:
+ dependencies:
+ type-fest: 0.21.3
+
+ ansi-escapes@7.0.0:
+ dependencies:
+ environment: 1.1.0
+
+ ansi-gray@0.1.1:
+ dependencies:
+ ansi-wrap: 0.1.0
+
+ ansi-regex@2.1.1: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.0: {}
+
+ ansi-styles@2.2.1: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@5.2.0: {}
+
+ ansi-styles@6.2.1: {}
+
+ ansi-wrap@0.1.0: {}
+
+ ansis@4.2.0: {}
+
+ any-base@1.1.0: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ archive-type@4.0.0:
+ dependencies:
+ file-type: 4.4.0
+
+ archiver-utils@2.1.0:
+ dependencies:
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ lazystream: 1.0.1
+ lodash.defaults: 4.2.0
+ lodash.difference: 4.5.0
+ lodash.flatten: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.union: 4.6.0
+ normalize-path: 3.0.0
+ readable-stream: 2.3.8
+
+ archiver-utils@3.0.4:
+ dependencies:
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ lazystream: 1.0.1
+ lodash.defaults: 4.2.0
+ lodash.difference: 4.5.0
+ lodash.flatten: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.union: 4.6.0
+ normalize-path: 3.0.0
+ readable-stream: 3.6.2
+
+ archiver@5.3.2:
+ dependencies:
+ archiver-utils: 2.1.0
+ async: 3.2.6
+ buffer-crc32: 0.2.13
+ readable-stream: 3.6.2
+ readdir-glob: 1.1.3
+ tar-stream: 2.2.0
+ zip-stream: 4.1.1
+
+ are-docs-informative@0.0.2: {}
+
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+
+ argparse@2.0.1: {}
+
+ array-differ@1.0.0: {}
+
+ array-flatten@1.1.1: {}
+
+ array-ify@1.0.0: {}
+
+ array-timsort@1.0.3: {}
+
+ array-union@2.1.0: {}
+
+ array-uniq@1.0.3: {}
+
+ asap@2.0.6: {}
+
+ asn1@0.2.6:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ assert-plus@1.0.0: {}
+
+ assertion-error@2.0.1: {}
+
+ ast-kit@0.11.3(rollup@4.50.0):
+ dependencies:
+ '@babel/parser': 7.28.3
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ pathe: 1.1.2
+ transitivePeerDependencies:
+ - rollup
+
+ ast-kit@1.4.3:
+ dependencies:
+ '@babel/parser': 7.29.0
+ pathe: 2.0.3
+
+ async@3.2.6: {}
+
+ asynckit@0.4.0: {}
+
+ atomically@1.7.0: {}
+
+ autoprefixer@10.4.21(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.25.4
+ caniuse-lite: 1.0.30001739
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.1.0
+
+ aws-sign2@0.7.0: {}
+
+ aws4@1.13.2: {}
+
+ axios@1.17.0:
+ dependencies:
+ follow-redirects: 1.16.0
+ form-data: 4.0.5
+ https-proxy-agent: 5.0.1
+ proxy-from-env: 2.1.0
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ babel-code-frame@6.26.0:
+ dependencies:
+ chalk: 1.1.3
+ esutils: 2.0.3
+ js-tokens: 3.0.2
+
+ babel-core@6.26.0:
+ dependencies:
+ babel-code-frame: 6.26.0
+ babel-generator: 6.26.1
+ babel-helpers: 6.24.1
+ babel-messages: 6.23.0
+ babel-register: 6.26.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ babylon: 6.18.0
+ convert-source-map: 1.9.0
+ debug: 2.6.9
+ json5: 0.5.1
+ lodash: 4.17.21
+ minimatch: 3.1.2
+ path-is-absolute: 1.0.1
+ private: 0.1.8
+ slash: 1.0.0
+ source-map: 0.5.7
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-generator@6.26.1:
+ dependencies:
+ babel-messages: 6.23.0
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ detect-indent: 4.0.0
+ jsesc: 1.3.0
+ lodash: 4.17.21
+ source-map: 0.5.7
+ trim-right: 1.0.1
+
+ babel-helper-bindify-decorators@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-builder-binary-assignment-operator-visitor@6.24.1:
+ dependencies:
+ babel-helper-explode-assignable-expression: 6.24.1
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-call-delegate@6.24.1:
+ dependencies:
+ babel-helper-hoist-variables: 6.24.1
+ babel-runtime: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-define-map@6.26.0:
+ dependencies:
+ babel-helper-function-name: 6.24.1
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-explode-assignable-expression@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-explode-class@6.24.1:
+ dependencies:
+ babel-helper-bindify-decorators: 6.24.1
+ babel-runtime: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-function-name@6.24.1:
+ dependencies:
+ babel-helper-get-function-arity: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-get-function-arity@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-helper-hoist-variables@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-helper-optimise-call-expression@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-helper-regex@6.26.0:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ lodash: 4.17.21
+
+ babel-helper-remap-async-to-generator@6.24.1:
+ dependencies:
+ babel-helper-function-name: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helper-replace-supers@6.24.1:
+ dependencies:
+ babel-helper-optimise-call-expression: 6.24.1
+ babel-messages: 6.23.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-helpers@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-jest@27.5.1(@babel/core@7.28.3):
+ dependencies:
+ '@babel/core': 7.28.3
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 27.5.1(@babel/core@7.28.3)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-messages@6.23.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-check-es2015-constants@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-istanbul@6.1.1:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.28.6
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-jest-hoist@27.5.1:
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.28.0
+
+ babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4):
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/core': 7.21.4
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.3):
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/core': 7.28.3
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3):
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3)
+ core-js-compat: 3.46.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4):
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ core-js-compat: 3.46.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4):
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.3):
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3)
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-syntax-async-functions@6.13.0: {}
+
+ babel-plugin-syntax-async-generators@6.13.0: {}
+
+ babel-plugin-syntax-class-constructor-call@6.18.0: {}
+
+ babel-plugin-syntax-class-properties@6.13.0: {}
+
+ babel-plugin-syntax-decorators@6.13.0: {}
+
+ babel-plugin-syntax-do-expressions@6.13.0: {}
+
+ babel-plugin-syntax-dynamic-import@6.18.0: {}
+
+ babel-plugin-syntax-exponentiation-operator@6.13.0: {}
+
+ babel-plugin-syntax-export-extensions@6.13.0: {}
+
+ babel-plugin-syntax-function-bind@6.13.0: {}
+
+ babel-plugin-syntax-object-rest-spread@6.13.0: {}
+
+ babel-plugin-syntax-trailing-function-commas@6.22.0: {}
+
+ babel-plugin-transform-async-generator-functions@6.24.1:
+ dependencies:
+ babel-helper-remap-async-to-generator: 6.24.1
+ babel-plugin-syntax-async-generators: 6.13.0
+ babel-runtime: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-async-to-generator@6.24.1:
+ dependencies:
+ babel-helper-remap-async-to-generator: 6.24.1
+ babel-plugin-syntax-async-functions: 6.13.0
+ babel-runtime: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-class-constructor-call@6.24.1:
+ dependencies:
+ babel-plugin-syntax-class-constructor-call: 6.18.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-class-properties@6.24.1:
+ dependencies:
+ babel-helper-function-name: 6.24.1
+ babel-plugin-syntax-class-properties: 6.13.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-decorators@6.24.1:
+ dependencies:
+ babel-helper-explode-class: 6.24.1
+ babel-plugin-syntax-decorators: 6.13.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-do-expressions@6.22.0:
+ dependencies:
+ babel-plugin-syntax-do-expressions: 6.13.0
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-arrow-functions@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-block-scoped-functions@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-block-scoping@6.26.0:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-classes@6.24.1:
+ dependencies:
+ babel-helper-define-map: 6.26.0
+ babel-helper-function-name: 6.24.1
+ babel-helper-optimise-call-expression: 6.24.1
+ babel-helper-replace-supers: 6.24.1
+ babel-messages: 6.23.0
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-computed-properties@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-destructuring@6.23.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-duplicate-keys@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-plugin-transform-es2015-for-of@6.23.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-function-name@6.24.1:
+ dependencies:
+ babel-helper-function-name: 6.24.1
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-literals@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-modules-amd@6.24.1:
+ dependencies:
+ babel-plugin-transform-es2015-modules-commonjs: 6.26.2
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-modules-commonjs@6.26.2:
+ dependencies:
+ babel-plugin-transform-strict-mode: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-modules-systemjs@6.24.1:
+ dependencies:
+ babel-helper-hoist-variables: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-modules-umd@6.24.1:
+ dependencies:
+ babel-plugin-transform-es2015-modules-amd: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-object-super@6.24.1:
+ dependencies:
+ babel-helper-replace-supers: 6.24.1
+ babel-runtime: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-parameters@6.24.1:
+ dependencies:
+ babel-helper-call-delegate: 6.24.1
+ babel-helper-get-function-arity: 6.24.1
+ babel-runtime: 6.26.0
+ babel-template: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-es2015-shorthand-properties@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-plugin-transform-es2015-spread@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-sticky-regex@6.24.1:
+ dependencies:
+ babel-helper-regex: 6.26.0
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-plugin-transform-es2015-template-literals@6.22.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-typeof-symbol@6.23.0:
+ dependencies:
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-es2015-unicode-regex@6.24.1:
+ dependencies:
+ babel-helper-regex: 6.26.0
+ babel-runtime: 6.26.0
+ regexpu-core: 2.0.0
+
+ babel-plugin-transform-exponentiation-operator@6.24.1:
+ dependencies:
+ babel-helper-builder-binary-assignment-operator-visitor: 6.24.1
+ babel-plugin-syntax-exponentiation-operator: 6.13.0
+ babel-runtime: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-export-extensions@6.22.0:
+ dependencies:
+ babel-plugin-syntax-export-extensions: 6.13.0
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-function-bind@6.22.0:
+ dependencies:
+ babel-plugin-syntax-function-bind: 6.13.0
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-object-rest-spread@6.26.0:
+ dependencies:
+ babel-plugin-syntax-object-rest-spread: 6.13.0
+ babel-runtime: 6.26.0
+
+ babel-plugin-transform-regenerator@6.26.0:
+ dependencies:
+ regenerator-transform: 0.10.1
+
+ babel-plugin-transform-strict-mode@6.24.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3):
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3)
+
+ babel-preset-es2015@6.24.1:
+ dependencies:
+ babel-plugin-check-es2015-constants: 6.22.0
+ babel-plugin-transform-es2015-arrow-functions: 6.22.0
+ babel-plugin-transform-es2015-block-scoped-functions: 6.22.0
+ babel-plugin-transform-es2015-block-scoping: 6.26.0
+ babel-plugin-transform-es2015-classes: 6.24.1
+ babel-plugin-transform-es2015-computed-properties: 6.24.1
+ babel-plugin-transform-es2015-destructuring: 6.23.0
+ babel-plugin-transform-es2015-duplicate-keys: 6.24.1
+ babel-plugin-transform-es2015-for-of: 6.23.0
+ babel-plugin-transform-es2015-function-name: 6.24.1
+ babel-plugin-transform-es2015-literals: 6.22.0
+ babel-plugin-transform-es2015-modules-amd: 6.24.1
+ babel-plugin-transform-es2015-modules-commonjs: 6.26.2
+ babel-plugin-transform-es2015-modules-systemjs: 6.24.1
+ babel-plugin-transform-es2015-modules-umd: 6.24.1
+ babel-plugin-transform-es2015-object-super: 6.24.1
+ babel-plugin-transform-es2015-parameters: 6.24.1
+ babel-plugin-transform-es2015-shorthand-properties: 6.24.1
+ babel-plugin-transform-es2015-spread: 6.22.0
+ babel-plugin-transform-es2015-sticky-regex: 6.24.1
+ babel-plugin-transform-es2015-template-literals: 6.22.0
+ babel-plugin-transform-es2015-typeof-symbol: 6.23.0
+ babel-plugin-transform-es2015-unicode-regex: 6.24.1
+ babel-plugin-transform-regenerator: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-preset-jest@27.5.1(@babel/core@7.28.3):
+ dependencies:
+ '@babel/core': 7.28.3
+ babel-plugin-jest-hoist: 27.5.1
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3)
+
+ babel-preset-stage-0@6.24.1:
+ dependencies:
+ babel-plugin-transform-do-expressions: 6.22.0
+ babel-plugin-transform-function-bind: 6.22.0
+ babel-preset-stage-1: 6.24.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-preset-stage-1@6.24.1:
+ dependencies:
+ babel-plugin-transform-class-constructor-call: 6.24.1
+ babel-plugin-transform-export-extensions: 6.22.0
+ babel-preset-stage-2: 6.24.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-preset-stage-2@6.24.1:
+ dependencies:
+ babel-plugin-syntax-dynamic-import: 6.18.0
+ babel-plugin-transform-class-properties: 6.24.1
+ babel-plugin-transform-decorators: 6.24.1
+ babel-preset-stage-3: 6.24.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-preset-stage-3@6.24.1:
+ dependencies:
+ babel-plugin-syntax-trailing-function-commas: 6.22.0
+ babel-plugin-transform-async-generator-functions: 6.24.1
+ babel-plugin-transform-async-to-generator: 6.24.1
+ babel-plugin-transform-exponentiation-operator: 6.24.1
+ babel-plugin-transform-object-rest-spread: 6.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-register@6.26.0:
+ dependencies:
+ babel-core: 6.26.0
+ babel-runtime: 6.26.0
+ core-js: 2.6.12
+ home-or-tmp: 2.0.0
+ lodash: 4.17.21
+ mkdirp: 0.5.6
+ source-map-support: 0.4.18
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-runtime@6.26.0:
+ dependencies:
+ core-js: 2.6.12
+ regenerator-runtime: 0.11.1
+
+ babel-template@6.26.0:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-traverse: 6.26.0
+ babel-types: 6.26.0
+ babylon: 6.18.0
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-traverse@6.26.0:
+ dependencies:
+ babel-code-frame: 6.26.0
+ babel-messages: 6.23.0
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ babylon: 6.18.0
+ debug: 2.6.9
+ globals: 9.18.0
+ invariant: 2.2.4
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-types@6.26.0:
+ dependencies:
+ babel-runtime: 6.26.0
+ esutils: 2.0.3
+ lodash: 4.17.21
+ to-fast-properties: 1.0.3
+
+ babylon@6.18.0: {}
+
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ base64url@3.0.1: {}
+
+ baseline-browser-mapping@2.8.15: {}
+
+ bcrypt-pbkdf@1.0.2:
+ dependencies:
+ tweetnacl: 0.14.5
+
+ beeper@1.1.1: {}
+
+ better-path-resolve@1.0.0:
+ dependencies:
+ is-windows: 1.0.2
+
+ bidi-js@1.0.3:
+ dependencies:
+ require-from-string: 2.0.2
+
+ big-integer@1.6.52: {}
+
+ binary-extensions@2.3.0: {}
+
+ bing-translate-api@4.1.0:
+ dependencies:
+ got: 11.8.6
+
+ birpc@2.9.0: {}
+
+ bl@1.2.3:
+ dependencies:
+ readable-stream: 2.3.8
+ safe-buffer: 5.2.1
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ bl@5.1.0:
+ dependencies:
+ buffer: 6.0.3
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ bmp-js@0.1.0: {}
+
+ body-parser@1.20.3:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.13.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ boolbase@1.0.0: {}
+
+ bplist-creator@0.1.0:
+ dependencies:
+ stream-buffers: 2.2.0
+
+ bplist-parser@0.3.1:
+ dependencies:
+ big-integer: 1.6.52
+
+ brace-expansion@1.1.12:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ browser-process-hrtime@1.0.0: {}
+
+ browserslist-to-esbuild@2.1.1(browserslist@4.25.4):
+ dependencies:
+ browserslist: 4.25.4
+ meow: 13.2.0
+
+ browserslist@4.25.4:
+ dependencies:
+ caniuse-lite: 1.0.30001739
+ electron-to-chromium: 1.5.211
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.25.4)
+
+ browserslist@4.26.3:
+ dependencies:
+ baseline-browser-mapping: 2.8.15
+ caniuse-lite: 1.0.30001749
+ electron-to-chromium: 1.5.234
+ node-releases: 2.0.23
+ update-browserslist-db: 1.1.3(browserslist@4.26.3)
+
+ bser@2.1.1:
+ dependencies:
+ node-int64: 0.4.0
+
+ buffer-alloc-unsafe@1.1.0: {}
+
+ buffer-alloc@1.2.0:
+ dependencies:
+ buffer-alloc-unsafe: 1.1.0
+ buffer-fill: 1.0.0
+
+ buffer-crc32@0.2.13: {}
+
+ buffer-equal@0.0.1: {}
+
+ buffer-fill@1.0.0: {}
+
+ buffer-from@1.1.2: {}
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ buffer@6.0.3:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ builtin-modules@5.0.0: {}
+
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
+ bytes@3.1.2: {}
+
+ c12@1.11.2:
+ dependencies:
+ chokidar: 3.6.0
+ confbox: 0.1.8
+ defu: 6.1.4
+ dotenv: 16.6.1
+ giget: 1.2.5
+ jiti: 1.21.7
+ mlly: 1.8.0
+ ohash: 1.1.6
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ pkg-types: 1.3.1
+ rc9: 2.1.2
+
+ c12@2.0.4:
+ dependencies:
+ chokidar: 4.0.3
+ confbox: 0.1.8
+ defu: 6.1.4
+ dotenv: 16.6.1
+ giget: 1.2.5
+ jiti: 2.6.1
+ mlly: 1.8.0
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 1.0.0
+ pkg-types: 1.3.1
+ rc9: 2.1.2
+
+ cac@6.7.14: {}
+
+ cac@6.7.9: {}
+
+ cacheable-lookup@5.0.4: {}
+
+ cacheable-request@2.1.4:
+ dependencies:
+ clone-response: 1.0.2
+ get-stream: 3.0.0
+ http-cache-semantics: 3.8.1
+ keyv: 3.0.0
+ lowercase-keys: 1.0.0
+ normalize-url: 2.0.1
+ responselike: 1.0.2
+
+ cacheable-request@7.0.4:
+ dependencies:
+ clone-response: 1.0.3
+ get-stream: 5.2.0
+ http-cache-semantics: 4.2.0
+ keyv: 4.5.4
+ lowercase-keys: 2.0.0
+ normalize-url: 6.1.0
+ responselike: 2.0.1
+
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
+
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
+
+ call-me-maybe@1.0.2: {}
+
+ callsites@3.1.0: {}
+
+ camel-case@3.0.0:
+ dependencies:
+ no-case: 2.3.2
+ upper-case: 1.1.3
+
+ camelcase@5.3.1: {}
+
+ camelcase@6.3.0: {}
+
+ caniuse-api@3.0.0:
+ dependencies:
+ browserslist: 4.26.3
+ caniuse-lite: 1.0.30001749
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+ caniuse-lite@1.0.30001739: {}
+
+ caniuse-lite@1.0.30001749: {}
+
+ caseless@0.12.0: {}
+
+ ccount@2.0.1: {}
+
+ centra@2.7.0:
+ dependencies:
+ follow-redirects: 1.15.11
+ transitivePeerDependencies:
+ - debug
+
+ chai@5.3.3:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.3
+ deep-eql: 5.0.2
+ loupe: 3.2.1
+ pathval: 2.0.1
+
+ chalk@1.1.3:
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@5.6.0: {}
+
+ change-case@5.4.4: {}
+
+ char-regex@1.0.2: {}
+
+ character-entities@2.0.2: {}
+
+ chardet@2.1.1: {}
+
+ check-error@2.1.3: {}
+
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ chownr@2.0.0: {}
+
+ chroma-js@2.6.0: {}
+
+ ci-info@3.9.0: {}
+
+ ci-info@4.3.1: {}
+
+ citty@0.1.6:
+ dependencies:
+ consola: 3.4.2
+
+ cjs-module-lexer@1.4.3: {}
+
+ clean-css@4.2.4:
+ dependencies:
+ source-map: 0.6.1
+
+ clean-regexp@1.0.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ cli-cursor@4.0.0:
+ dependencies:
+ restore-cursor: 4.0.0
+
+ cli-cursor@5.0.0:
+ dependencies:
+ restore-cursor: 5.1.0
+
+ cli-spinners@2.9.2: {}
+
+ cli-truncate@4.0.0:
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 7.2.0
+
+ cliui@6.0.0:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+
+ cliui@7.0.4:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ cliui@8.0.1:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ clone-response@1.0.2:
+ dependencies:
+ mimic-response: 1.0.1
+
+ clone-response@1.0.3:
+ dependencies:
+ mimic-response: 1.0.1
+
+ clone-stats@0.0.1: {}
+
+ clone@1.0.4: {}
+
+ co@4.6.0: {}
+
+ code-block-writer@13.0.3: {}
+
+ collect-v8-coverage@1.0.2: {}
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.3: {}
+
+ color-name@1.1.4: {}
+
+ color-support@1.1.3: {}
+
+ colord@2.9.3: {}
+
+ colorette@2.0.20: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ commander@10.0.1: {}
+
+ commander@12.1.0: {}
+
+ commander@13.1.0: {}
+
+ commander@2.11.0: {}
+
+ commander@2.20.3: {}
+
+ commander@5.1.0: {}
+
+ commander@7.2.0: {}
+
+ commander@9.5.0: {}
+
+ comment-json@4.4.1:
+ dependencies:
+ array-timsort: 1.0.3
+ core-util-is: 1.0.3
+ esprima: 4.0.1
+
+ comment-parser@1.4.1: {}
+
+ compare-func@2.0.0:
+ dependencies:
+ array-ify: 1.0.0
+ dot-prop: 5.3.0
+
+ compare-versions@3.6.0: {}
+
+ compress-commons@4.1.2:
+ dependencies:
+ buffer-crc32: 0.2.13
+ crc32-stream: 4.0.3
+ normalize-path: 3.0.0
+ readable-stream: 3.6.2
+
+ concat-map@0.0.1: {}
+
+ conf@9.0.2:
+ dependencies:
+ ajv: 7.2.4
+ ajv-formats: 1.6.1(ajv@7.2.4)
+ atomically: 1.7.0
+ debounce-fn: 4.0.0
+ dot-prop: 6.0.1
+ env-paths: 2.2.1
+ json-schema-typed: 7.0.3
+ make-dir: 3.1.0
+ onetime: 5.1.2
+ pkg-up: 3.1.0
+ semver: 7.7.3
+
+ confbox@0.1.8: {}
+
+ confbox@0.2.2: {}
+
+ config-chain@1.1.13:
+ dependencies:
+ ini: 1.3.8
+ proto-list: 1.2.4
+
+ consola@3.4.2: {}
+
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
+ conventional-changelog-angular@7.0.0:
+ dependencies:
+ compare-func: 2.0.0
+
+ conventional-changelog-conventionalcommits@7.0.2:
+ dependencies:
+ compare-func: 2.0.0
+
+ conventional-commits-parser@5.0.0:
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 2.0.0
+ meow: 12.1.1
+ split2: 4.2.0
+
+ convert-source-map@1.9.0: {}
+
+ convert-source-map@2.0.0: {}
+
+ cookie-signature@1.0.6: {}
+
+ cookie@0.7.1: {}
+
+ copy-anything@2.0.6:
+ dependencies:
+ is-what: 3.14.1
+
+ copy-anything@4.0.5:
+ dependencies:
+ is-what: 5.5.0
+
+ core-js-compat@3.25.1:
+ dependencies:
+ browserslist: 4.26.3
+
+ core-js-compat@3.45.1:
+ dependencies:
+ browserslist: 4.25.4
+
+ core-js-compat@3.46.0:
+ dependencies:
+ browserslist: 4.26.3
+
+ core-js@2.6.12: {}
+
+ core-js@3.45.1: {}
+
+ core-util-is@1.0.2: {}
+
+ core-util-is@1.0.3: {}
+
+ cos-js-sdk-v5@1.8.6:
+ dependencies:
+ fast-xml-parser: 4.5.3
+
+ cos-nodejs-sdk-v5@2.14.6:
+ dependencies:
+ conf: 9.0.2
+ fast-xml-parser: 4.2.5
+ mime-types: 2.1.35
+ request: 2.88.2
+
+ cosmiconfig-typescript-loader@6.1.0(@types/node@20.19.11)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3):
+ dependencies:
+ '@types/node': 20.19.11
+ cosmiconfig: 9.0.0(typescript@5.8.3)
+ jiti: 2.5.1
+ typescript: 5.8.3
+
+ cosmiconfig@9.0.0(typescript@5.8.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.1
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 5.8.3
+
+ crc-32@1.2.2: {}
+
+ crc32-stream@4.0.3:
+ dependencies:
+ crc-32: 1.2.2
+ readable-stream: 3.6.2
+
+ cross-env@10.0.0:
+ dependencies:
+ '@epic-web/invariant': 1.0.0
+ cross-spawn: 7.0.6
+
+ cross-env@7.0.3:
+ dependencies:
+ cross-spawn: 7.0.6
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ css-declaration-sorter@6.4.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ css-font-size-keywords@1.0.0: {}
+
+ css-font-stretch-keywords@1.0.1: {}
+
+ css-font-style-keywords@1.0.1: {}
+
+ css-font-weight-keywords@1.0.0: {}
+
+ css-list-helpers@2.0.0: {}
+
+ css-select@4.3.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.2.2
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+
+ css-system-font-keywords@1.0.0: {}
+
+ css-tree@1.1.3:
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+
+ css-tree@3.1.0:
+ dependencies:
+ mdn-data: 2.12.2
+ source-map-js: 1.2.1
+
+ css-tree@3.2.1:
+ dependencies:
+ mdn-data: 2.27.1
+ source-map-js: 1.2.1
+
+ css-what@6.2.2: {}
+
+ cssesc@3.0.0: {}
+
+ cssnano-preset-default@5.2.14(postcss@8.5.6):
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.5.6)
+ cssnano-utils: 3.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-calc: 8.2.4(postcss@8.5.6)
+ postcss-colormin: 5.3.1(postcss@8.5.6)
+ postcss-convert-values: 5.1.3(postcss@8.5.6)
+ postcss-discard-comments: 5.1.2(postcss@8.5.6)
+ postcss-discard-duplicates: 5.1.0(postcss@8.5.6)
+ postcss-discard-empty: 5.1.1(postcss@8.5.6)
+ postcss-discard-overridden: 5.1.0(postcss@8.5.6)
+ postcss-merge-longhand: 5.1.7(postcss@8.5.6)
+ postcss-merge-rules: 5.1.4(postcss@8.5.6)
+ postcss-minify-font-values: 5.1.0(postcss@8.5.6)
+ postcss-minify-gradients: 5.1.1(postcss@8.5.6)
+ postcss-minify-params: 5.1.4(postcss@8.5.6)
+ postcss-minify-selectors: 5.2.1(postcss@8.5.6)
+ postcss-normalize-charset: 5.1.0(postcss@8.5.6)
+ postcss-normalize-display-values: 5.1.0(postcss@8.5.6)
+ postcss-normalize-positions: 5.1.1(postcss@8.5.6)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.5.6)
+ postcss-normalize-string: 5.1.0(postcss@8.5.6)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.5.6)
+ postcss-normalize-unicode: 5.1.1(postcss@8.5.6)
+ postcss-normalize-url: 5.1.0(postcss@8.5.6)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.5.6)
+ postcss-ordered-values: 5.1.3(postcss@8.5.6)
+ postcss-reduce-initial: 5.1.2(postcss@8.5.6)
+ postcss-reduce-transforms: 5.1.0(postcss@8.5.6)
+ postcss-svgo: 5.1.0(postcss@8.5.6)
+ postcss-unique-selectors: 5.1.1(postcss@8.5.6)
+
+ cssnano-utils@3.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ cssnano@5.1.15(postcss@8.5.6):
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.5.6)
+ lilconfig: 2.1.0
+ postcss: 8.5.6
+ yaml: 1.10.2
+
+ csso@4.2.0:
+ dependencies:
+ css-tree: 1.1.3
+
+ cssom@0.3.8: {}
+
+ cssom@0.4.4: {}
+
+ cssstyle@2.3.0:
+ dependencies:
+ cssom: 0.3.8
+
+ csstype@3.1.3: {}
+
+ cwise-compiler@1.1.3:
+ dependencies:
+ uniq: 1.0.1
+
+ d@1.0.2:
+ dependencies:
+ es5-ext: 0.10.64
+ type: 2.7.3
+
+ dargs@8.1.0: {}
+
+ dashdash@1.14.1:
+ dependencies:
+ assert-plus: 1.0.0
+
+ data-urls@2.0.0:
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+
+ data-urls@7.0.0:
+ dependencies:
+ whatwg-mimetype: 5.0.0
+ whatwg-url: 16.0.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
+ dateformat@2.2.0: {}
+
+ dayjs@1.11.10: {}
+
+ de-indent@1.0.2: {}
+
+ debounce-fn@4.0.0:
+ dependencies:
+ mimic-fn: 3.1.0
+
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
+ debug@4.4.1:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ debuglog@1.0.1: {}
+
+ decamelize@1.2.0: {}
+
+ decimal.js@10.6.0: {}
+
+ decode-named-character-reference@1.2.0:
+ dependencies:
+ character-entities: 2.0.2
+
+ decode-uri-component@0.2.2: {}
+
+ decompress-response@3.3.0:
+ dependencies:
+ mimic-response: 1.0.1
+
+ decompress-response@6.0.0:
+ dependencies:
+ mimic-response: 3.1.0
+
+ decompress-tar@4.1.1:
+ dependencies:
+ file-type: 5.2.0
+ is-stream: 1.1.0
+ tar-stream: 1.6.2
+
+ decompress-tarbz2@4.1.1:
+ dependencies:
+ decompress-tar: 4.1.1
+ file-type: 6.2.0
+ is-stream: 1.1.0
+ seek-bzip: 1.0.6
+ unbzip2-stream: 1.4.3
+
+ decompress-targz@4.1.1:
+ dependencies:
+ decompress-tar: 4.1.1
+ file-type: 5.2.0
+ is-stream: 1.1.0
+
+ decompress-unzip@4.0.1:
+ dependencies:
+ file-type: 3.9.0
+ get-stream: 2.3.1
+ pify: 2.3.0
+ yauzl: 2.10.0
+
+ decompress@4.2.1:
+ dependencies:
+ decompress-tar: 4.1.1
+ decompress-tarbz2: 4.1.1
+ decompress-targz: 4.1.1
+ decompress-unzip: 4.0.1
+ graceful-fs: 4.2.11
+ make-dir: 1.3.0
+ pify: 2.3.0
+ strip-dirs: 2.1.0
+
+ dedent@0.7.0: {}
+
+ deep-eql@5.0.2: {}
+
+ deep-is@0.1.4: {}
+
+ deepmerge@4.3.1: {}
+
+ default-browser-id@5.0.1: {}
+
+ default-browser@5.5.0:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.1
+
+ default-gateway@6.0.3:
+ dependencies:
+ execa: 5.1.1
+
+ defaults@1.0.4:
+ dependencies:
+ clone: 1.0.4
+
+ defer-to-connect@2.0.1: {}
+
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ define-lazy-prop@2.0.0: {}
+
+ define-lazy-prop@3.0.0: {}
+
+ defu@6.1.4: {}
+
+ delayed-stream@1.0.0: {}
+
+ depd@2.0.0: {}
+
+ dequal@2.0.3: {}
+
+ destr@2.0.5: {}
+
+ destroy@1.2.0: {}
+
+ detect-indent@4.0.0:
+ dependencies:
+ repeating: 2.0.1
+
+ detect-indent@6.1.0: {}
+
+ detect-newline@3.1.0: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ dezalgo@1.0.4:
+ dependencies:
+ asap: 2.0.6
+ wrappy: 1.0.2
+
+ diff-sequences@27.5.1: {}
+
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
+ dom-serializer@1.4.1:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ dom-walk@0.1.2: {}
+
+ domelementtype@2.3.0: {}
+
+ domexception@2.0.1:
+ dependencies:
+ webidl-conversions: 5.0.0
+
+ domhandler@4.3.1:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@2.8.0:
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+
+ domutils@3.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ dot-prop@5.3.0:
+ dependencies:
+ is-obj: 2.0.0
+
+ dot-prop@6.0.1:
+ dependencies:
+ is-obj: 2.0.0
+
+ dotenv@16.6.1: {}
+
+ download@8.0.0:
+ dependencies:
+ archive-type: 4.0.0
+ content-disposition: 0.5.4
+ decompress: 4.2.1
+ ext-name: 5.0.0
+ file-type: 11.1.0
+ filenamify: 3.0.0
+ get-stream: 4.1.0
+ got: 8.3.2
+ make-dir: 2.1.0
+ p-event: 2.3.1
+ pify: 4.0.1
+
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ duplexer2@0.0.2:
+ dependencies:
+ readable-stream: 1.1.14
+
+ duplexer3@0.1.5: {}
+
+ duplexer@0.1.2: {}
+
+ eastasianwidth@0.2.0: {}
+
+ ecc-jsbn@0.1.2:
+ dependencies:
+ jsbn: 0.1.1
+ safer-buffer: 2.1.2
+
+ editorconfig@1.0.7:
+ dependencies:
+ '@one-ini/wasm': 0.1.1
+ commander: 10.0.1
+ minimatch: 9.0.5
+ semver: 7.7.3
+
+ ee-first@1.1.1: {}
+
+ electron-to-chromium@1.5.211: {}
+
+ electron-to-chromium@1.5.234: {}
+
+ emittery@0.8.1: {}
+
+ emoji-regex@10.5.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ empathic@2.0.0: {}
+
+ encodeurl@1.0.2: {}
+
+ encodeurl@2.0.0: {}
+
+ end-of-stream@1.4.5:
+ dependencies:
+ once: 1.4.0
+
+ enhanced-resolve@5.18.3:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.0
+
+ enquirer@2.4.1:
+ dependencies:
+ ansi-colors: 4.1.3
+ strip-ansi: 6.0.1
+
+ entities@2.2.0: {}
+
+ entities@4.5.0: {}
+
+ entities@8.0.0: {}
+
+ env-paths@2.2.1: {}
+
+ environment@1.1.0: {}
+
+ errno@0.1.8:
+ dependencies:
+ prr: 1.0.1
+
+ error-ex@1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ error-stack-parser-es@1.0.5: {}
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-module-lexer@1.7.0: {}
+
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ es5-ext@0.10.64:
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.4
+ esniff: 2.0.1
+ next-tick: 1.1.0
+
+ es6-iterator@2.0.3:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ es6-symbol: 3.1.4
+
+ es6-promise@3.3.1: {}
+
+ es6-symbol@3.1.4:
+ dependencies:
+ d: 1.0.2
+ ext: 1.7.0
+
+ es6-weak-map@2.0.3:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.4
+
+ esbuild@0.20.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
+ escalade@3.2.0: {}
+
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@2.0.0: {}
+
+ escape-string-regexp@4.0.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+
+ eslint-compat-utils@0.5.1(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ semver: 7.7.3
+
+ eslint-compat-utils@0.6.5(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ semver: 7.7.3
+
+ eslint-config-flat-gitignore@2.1.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@eslint/compat': 1.4.0(eslint@9.34.0(jiti@2.6.1))
+ eslint: 9.34.0(jiti@2.6.1)
+
+ eslint-flat-config-utils@2.1.1:
+ dependencies:
+ pathe: 2.0.3
+
+ eslint-flat-config-utils@2.1.4:
+ dependencies:
+ pathe: 2.0.3
+
+ eslint-formatting-reporter@0.0.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ prettier-linter-helpers: 1.0.0
+
+ eslint-json-compat-utils@0.2.1(eslint@9.34.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.1):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ esquery: 1.6.0
+ jsonc-eslint-parser: 2.4.1
+
+ eslint-merge-processors@2.0.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+
+ eslint-parser-plain@0.1.1: {}
+
+ eslint-plugin-antfu@3.1.1(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+
+ eslint-plugin-command@3.3.1(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@es-joy/jsdoccomment': 0.50.2
+ eslint: 9.34.0(jiti@2.6.1)
+
+ eslint-plugin-es-x@7.8.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.1
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-compat-utils: 0.5.1(eslint@9.34.0(jiti@2.6.1))
+
+ eslint-plugin-format@1.0.1(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@dprint/formatter': 0.3.0
+ '@dprint/markdown': 0.17.8
+ '@dprint/toml': 0.6.4
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-formatting-reporter: 0.0.0(eslint@9.34.0(jiti@2.6.1))
+ eslint-parser-plain: 0.1.1
+ prettier: 3.6.2
+ synckit: 0.9.3
+
+ eslint-plugin-import-lite@0.3.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/types': 8.46.0
+ eslint: 9.34.0(jiti@2.6.1)
+ optionalDependencies:
+ typescript: 5.8.3
+
+ eslint-plugin-jsdoc@52.0.4(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@es-joy/jsdoccomment': 0.52.0
+ are-docs-informative: 0.0.2
+ comment-parser: 1.4.1
+ debug: 4.4.3
+ escape-string-regexp: 4.0.0
+ eslint: 9.34.0(jiti@2.6.1)
+ espree: 10.4.0
+ esquery: 1.6.0
+ parse-imports-exports: 0.2.4
+ semver: 7.7.3
+ spdx-expression-parse: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-jsonc@2.21.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ diff-sequences: 27.5.1
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-compat-utils: 0.6.5(eslint@9.34.0(jiti@2.6.1))
+ eslint-json-compat-utils: 0.2.1(eslint@9.34.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.1)
+ espree: 10.4.0
+ graphemer: 1.4.0
+ jsonc-eslint-parser: 2.4.1
+ natural-compare: 1.4.0
+ synckit: 0.11.11
+ transitivePeerDependencies:
+ - '@eslint/json'
+
+ eslint-plugin-n@17.23.1(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ enhanced-resolve: 5.18.3
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-plugin-es-x: 7.8.0(eslint@9.34.0(jiti@2.6.1))
+ get-tsconfig: 4.12.0
+ globals: 15.15.0
+ globrex: 0.1.2
+ ignore: 5.3.2
+ semver: 7.7.3
+ ts-declaration-location: 1.0.7(typescript@5.8.3)
+ transitivePeerDependencies:
+ - typescript
+
+ eslint-plugin-no-only-tests@3.3.0: {}
+
+ eslint-plugin-perfectionist@4.15.1(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3):
+ dependencies:
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/utils': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+ eslint: 9.34.0(jiti@2.6.1)
+ natural-orderby: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ eslint-plugin-pnpm@1.2.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ empathic: 2.0.0
+ eslint: 9.34.0(jiti@2.6.1)
+ jsonc-eslint-parser: 2.4.1
+ pathe: 2.0.3
+ pnpm-workspace-yaml: 1.2.0
+ tinyglobby: 0.2.15
+ yaml-eslint-parser: 1.3.0
+
+ eslint-plugin-regexp@2.10.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.1
+ comment-parser: 1.4.1
+ eslint: 9.34.0(jiti@2.6.1)
+ jsdoc-type-pratt-parser: 4.8.0
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+ scslre: 0.3.0
+
+ eslint-plugin-toml@0.12.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ debug: 4.4.3
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-compat-utils: 0.6.5(eslint@9.34.0(jiti@2.6.1))
+ lodash: 4.17.21
+ toml-eslint-parser: 0.10.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-unicorn@60.0.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ '@eslint/plugin-kit': 0.3.5
+ change-case: 5.4.4
+ ci-info: 4.3.1
+ clean-regexp: 1.0.0
+ core-js-compat: 3.46.0
+ eslint: 9.34.0(jiti@2.6.1)
+ esquery: 1.6.0
+ find-up-simple: 1.0.1
+ globals: 16.4.0
+ indent-string: 5.0.0
+ is-builtin-module: 5.0.0
+ jsesc: 3.1.0
+ pluralize: 8.0.0
+ regexp-tree: 0.1.27
+ regjsparser: 0.12.0
+ semver: 7.7.3
+ strip-indent: 4.1.0
+
+ eslint-plugin-unused-imports@4.2.0(@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.34.0(jiti@2.6.1)
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+
+ eslint-plugin-vue@10.5.0(@stylistic/eslint-plugin@5.4.0(eslint@9.34.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.34.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.6.1))):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.6.1))
+ eslint: 9.34.0(jiti@2.6.1)
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 6.1.2
+ semver: 7.7.3
+ vue-eslint-parser: 10.2.0(eslint@9.34.0(jiti@2.6.1))
+ xml-name-validator: 4.0.0
+ optionalDependencies:
+ '@stylistic/eslint-plugin': 5.4.0(eslint@9.34.0(jiti@2.6.1))
+ '@typescript-eslint/parser': 8.46.0(eslint@9.34.0(jiti@2.6.1))(typescript@5.8.3)
+
+ eslint-plugin-yml@1.19.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ debug: 4.4.3
+ diff-sequences: 27.5.1
+ escape-string-regexp: 4.0.0
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-compat-utils: 0.6.5(eslint@9.34.0(jiti@2.6.1))
+ natural-compare: 1.4.0
+ yaml-eslint-parser: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@vue/compiler-sfc': 3.5.22
+ eslint: 9.34.0(jiti@2.6.1)
+
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-visitor-keys@2.1.0: {}
+
+ eslint-visitor-keys@3.4.3: {}
+
+ eslint-visitor-keys@4.2.1: {}
+
+ eslint@9.34.0(jiti@2.6.1):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.3.1
+ '@eslint/core': 0.15.2
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.34.0
+ '@eslint/plugin-kit': 0.3.5
+ '@humanfs/node': 0.16.6
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.6.1
+ transitivePeerDependencies:
+ - supports-color
+
+ esniff@2.0.1:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ event-emitter: 0.3.5
+ type: 2.7.3
+
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 4.2.1
+
+ espree@9.6.1:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 3.4.3
+
+ esprima@4.0.1: {}
+
+ esquery@1.6.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@4.3.0: {}
+
+ estraverse@5.3.0: {}
+
+ estree-walker@2.0.2: {}
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ esutils@2.0.3: {}
+
+ etag@1.8.1: {}
+
+ event-emitter@0.3.5:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+
+ event-target-shim@5.0.1: {}
+
+ eventemitter3@4.0.7: {}
+
+ eventemitter3@5.0.1: {}
+
+ events@3.3.0: {}
+
+ execa@5.1.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ execa@8.0.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.3.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+
+ exif-parser@0.1.12: {}
+
+ exit@0.1.2: {}
+
+ expect-type@1.3.0: {}
+
+ expect@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-get-type: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+
+ express@4.21.2:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.3
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.1
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.12
+ proxy-addr: 2.0.7
+ qs: 6.13.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.0
+ serve-static: 1.16.2
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ exsolve@1.0.7: {}
+
+ ext-list@2.2.2:
+ dependencies:
+ mime-db: 1.52.0
+
+ ext-name@5.0.0:
+ dependencies:
+ ext-list: 2.2.2
+ sort-keys-length: 1.0.1
+
+ ext@1.7.0:
+ dependencies:
+ type: 2.7.3
+
+ extend@3.0.2: {}
+
+ extendable-error@0.1.7: {}
+
+ extsprintf@1.3.0: {}
+
+ fancy-log@1.3.3:
+ dependencies:
+ ansi-gray: 0.1.1
+ color-support: 1.1.3
+ parse-node-version: 1.0.1
+ time-stamp: 1.1.0
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-diff@1.3.0: {}
+
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fast-json-stable-stringify@2.1.0: {}
+
+ fast-levenshtein@2.0.6: {}
+
+ fast-safe-stringify@2.1.1: {}
+
+ fast-uri@3.1.0: {}
+
+ fast-xml-parser@4.2.5:
+ dependencies:
+ strnum: 1.1.2
+
+ fast-xml-parser@4.5.3:
+ dependencies:
+ strnum: 1.1.2
+
+ fastq@1.19.1:
+ dependencies:
+ reusify: 1.1.0
+
+ fault@2.0.1:
+ dependencies:
+ format: 0.2.2
+
+ fb-watchman@2.0.2:
+ dependencies:
+ bser: 2.1.1
+
+ fd-slicer@1.1.0:
+ dependencies:
+ pend: 1.2.0
+
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+
+ file-entry-cache@8.0.0:
+ dependencies:
+ flat-cache: 4.0.1
+
+ file-type@11.1.0: {}
+
+ file-type@16.5.4:
+ dependencies:
+ readable-web-to-node-stream: 3.0.4
+ strtok3: 6.3.0
+ token-types: 4.2.1
+
+ file-type@3.9.0: {}
+
+ file-type@4.4.0: {}
+
+ file-type@5.2.0: {}
+
+ file-type@6.2.0: {}
+
+ file-type@9.0.0: {}
+
+ filename-reserved-regex@2.0.0: {}
+
+ filenamify@3.0.0:
+ dependencies:
+ filename-reserved-regex: 2.0.0
+ strip-outer: 1.0.1
+ trim-repeated: 1.0.0
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ finalhandler@1.3.1:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ find-up-simple@1.0.1: {}
+
+ find-up@3.0.0:
+ dependencies:
+ locate-path: 3.0.0
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ find-up@7.0.0:
+ dependencies:
+ locate-path: 7.2.0
+ path-exists: 5.0.0
+ unicorn-magic: 0.1.0
+
+ flat-cache@4.0.1:
+ dependencies:
+ flatted: 3.3.3
+ keyv: 4.5.4
+
+ flatted@3.3.3: {}
+
+ follow-redirects@1.15.11: {}
+
+ follow-redirects@1.16.0: {}
+
+ for-each@0.3.5:
+ dependencies:
+ is-callable: 1.2.7
+
+ foreground-child@3.3.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ forever-agent@0.6.1: {}
+
+ form-data@2.3.3:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ form-data@3.0.4:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
+
+ form-data@4.0.5:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
+
+ format@0.2.2: {}
+
+ forwarded@0.2.0: {}
+
+ fraction.js@4.3.7: {}
+
+ fresh@0.5.2: {}
+
+ from2@2.3.0:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+
+ fs-constants@1.0.0: {}
+
+ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.0
+ universalify: 2.0.1
+
+ fs-extra@7.0.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+
+ fs-extra@8.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+
+ fs-minipass@2.1.0:
+ dependencies:
+ minipass: 3.3.6
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ generic-names@4.0.0:
+ dependencies:
+ loader-utils: 3.3.1
+
+ gensync@1.0.0-beta.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.3.1: {}
+
+ get-intrinsic@1.3.0:
+ 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-package-type@0.1.0: {}
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
+ get-proxy@2.1.0:
+ dependencies:
+ npm-conf: 1.1.3
+
+ get-stream@2.3.1:
+ dependencies:
+ object-assign: 4.1.1
+ pinkie-promise: 2.0.1
+
+ get-stream@3.0.0: {}
+
+ get-stream@4.1.0:
+ dependencies:
+ pump: 3.0.3
+
+ get-stream@5.2.0:
+ dependencies:
+ pump: 3.0.3
+
+ get-stream@6.0.1: {}
+
+ get-stream@8.0.1: {}
+
+ get-tsconfig@4.12.0:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ getpass@0.1.7:
+ dependencies:
+ assert-plus: 1.0.0
+
+ gifwrap@0.9.4:
+ dependencies:
+ image-q: 4.0.0
+ omggif: 1.0.10
+
+ giget@1.2.5:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ defu: 6.1.4
+ node-fetch-native: 1.6.7
+ nypm: 0.5.4
+ pathe: 2.0.3
+ tar: 6.2.1
+
+ git-raw-commits@4.0.0:
+ dependencies:
+ dargs: 8.1.0
+ meow: 12.1.1
+ split2: 4.2.0
+
+ github-slugger@2.0.0: {}
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
+ glob@7.1.2:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ global-directory@4.0.1:
+ dependencies:
+ ini: 4.1.1
+
+ global@4.4.0:
+ dependencies:
+ min-document: 2.19.0
+ process: 0.11.10
+
+ globals@11.12.0: {}
+
+ globals@14.0.0: {}
+
+ globals@15.15.0: {}
+
+ globals@16.4.0: {}
+
+ globals@9.18.0: {}
+
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ globrex@0.1.2: {}
+
+ glogg@1.0.2:
+ dependencies:
+ sparkles: 1.0.1
+
+ gopd@1.2.0: {}
+
+ got@11.8.6:
+ dependencies:
+ '@sindresorhus/is': 4.6.0
+ '@szmarczak/http-timer': 4.0.6
+ '@types/cacheable-request': 6.0.3
+ '@types/responselike': 1.0.3
+ cacheable-lookup: 5.0.4
+ cacheable-request: 7.0.4
+ decompress-response: 6.0.0
+ http2-wrapper: 1.0.3
+ lowercase-keys: 2.0.0
+ p-cancelable: 2.1.1
+ responselike: 2.0.1
+
+ got@8.3.2:
+ dependencies:
+ '@sindresorhus/is': 0.7.0
+ '@types/keyv': 3.1.4
+ '@types/responselike': 1.0.3
+ cacheable-request: 2.1.4
+ decompress-response: 3.3.0
+ duplexer3: 0.1.5
+ get-stream: 3.0.0
+ into-stream: 3.1.0
+ is-retry-allowed: 1.2.0
+ isurl: 1.0.0
+ lowercase-keys: 1.0.1
+ mimic-response: 1.0.1
+ p-cancelable: 0.4.1
+ p-timeout: 2.0.1
+ pify: 3.0.0
+ safe-buffer: 5.2.1
+ timed-out: 4.0.1
+ url-parse-lax: 3.0.0
+ url-to-options: 1.0.1
+
+ graceful-fs@4.2.11: {}
+
+ graphemer@1.4.0: {}
+
+ gulp-ignore@3.0.0:
+ dependencies:
+ gulp-match: 1.1.0
+ through2: 3.0.2
+
+ gulp-match@1.1.0:
+ dependencies:
+ minimatch: 3.1.2
+
+ gulp-plumber@1.1.0:
+ dependencies:
+ gulp-util: 3.0.8
+ through2: 2.0.5
+
+ gulp-util@3.0.8:
+ dependencies:
+ array-differ: 1.0.0
+ array-uniq: 1.0.3
+ beeper: 1.1.1
+ chalk: 1.1.3
+ dateformat: 2.2.0
+ fancy-log: 1.3.3
+ gulplog: 1.0.0
+ has-gulplog: 0.1.0
+ lodash._reescape: 3.0.0
+ lodash._reevaluate: 3.0.0
+ lodash._reinterpolate: 3.0.0
+ lodash.template: 3.6.2
+ minimist: 1.2.8
+ multipipe: 0.1.2
+ object-assign: 3.0.0
+ replace-ext: 0.0.1
+ through2: 2.0.5
+ vinyl: 0.5.3
+
+ gulplog@1.0.0:
+ dependencies:
+ glogg: 1.0.2
+
+ gzip-size@6.0.0:
+ dependencies:
+ duplexer: 0.1.2
+
+ har-schema@2.0.0: {}
+
+ har-validator@5.1.5:
+ dependencies:
+ ajv: 6.12.6
+ har-schema: 2.0.0
+
+ has-ansi@2.0.0:
+ dependencies:
+ ansi-regex: 2.1.1
+
+ has-flag@3.0.0: {}
+
+ has-flag@4.0.0: {}
+
+ has-gulplog@0.1.0:
+ dependencies:
+ sparkles: 1.0.1
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.1
+
+ has-symbol-support-x@1.4.2: {}
+
+ has-symbols@1.1.0: {}
+
+ has-to-string-tag-x@1.4.1:
+ dependencies:
+ has-symbol-support-x: 1.4.2
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.1.0
+
+ hash-sum@2.0.0: {}
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ he@1.2.0: {}
+
+ home-or-tmp@2.0.0:
+ dependencies:
+ os-homedir: 1.0.2
+ os-tmpdir: 1.0.2
+
+ hookable@5.5.3: {}
+
+ hosted-git-info@2.8.9: {}
+
+ html-encoding-sniffer@2.0.1:
+ dependencies:
+ whatwg-encoding: 1.0.5
+
+ html-encoding-sniffer@6.0.0:
+ dependencies:
+ '@exodus/bytes': 1.15.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
+ html-escaper@2.0.2: {}
+
+ html-minifier@4.0.0:
+ dependencies:
+ camel-case: 3.0.0
+ clean-css: 4.2.4
+ commander: 2.20.3
+ he: 1.2.0
+ param-case: 2.1.1
+ relateurl: 0.2.7
+ uglify-js: 3.19.3
+
+ htmlparser2@8.0.2:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ entities: 4.5.0
+
+ http-cache-semantics@3.8.1: {}
+
+ http-cache-semantics@4.2.0: {}
+
+ http-errors@2.0.0:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ http-proxy-agent@4.0.1:
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ http-signature@1.2.0:
+ dependencies:
+ assert-plus: 1.0.0
+ jsprim: 1.4.2
+ sshpk: 1.18.0
+
+ http2-client@1.3.5: {}
+
+ http2-wrapper@1.0.3:
+ dependencies:
+ quick-lru: 5.1.1
+ resolve-alpn: 1.2.1
+
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ human-id@4.1.3: {}
+
+ human-signals@2.1.0: {}
+
+ human-signals@5.0.0: {}
+
+ husky@9.1.7: {}
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ iconv-lite@0.6.3:
+ dependencies:
+ safer-buffer: 2.1.2
+ optional: true
+
+ iconv-lite@0.7.2:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ icss-replace-symbols@1.1.0: {}
+
+ icss-utils@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ ieee754@1.2.1: {}
+
+ ignore@5.3.2: {}
+
+ ignore@7.0.5: {}
+
+ image-q@4.0.0:
+ dependencies:
+ '@types/node': 16.9.1
+
+ image-size@0.5.5:
+ optional: true
+
+ image-size@1.2.1:
+ dependencies:
+ queue: 6.0.2
+
+ immediate@3.0.6: {}
+
+ immutable@4.3.7: {}
+
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ import-local@3.2.0:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+
+ import-meta-resolve@4.2.0: {}
+
+ imurmurhash@0.1.4: {}
+
+ indent-string@5.0.0: {}
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.4: {}
+
+ ini@1.3.8: {}
+
+ ini@4.1.1: {}
+
+ into-stream@3.1.0:
+ dependencies:
+ from2: 2.3.0
+ p-is-promise: 1.1.0
+
+ invariant@2.2.4:
+ dependencies:
+ loose-envify: 1.4.0
+
+ invert-kv@3.0.1: {}
+
+ iota-array@1.0.0: {}
+
+ ipaddr.js@1.9.1: {}
+
+ is-arrayish@0.2.1: {}
+
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-buffer@1.1.6: {}
+
+ is-builtin-module@5.0.0:
+ dependencies:
+ builtin-modules: 5.0.0
+
+ is-callable@1.2.7: {}
+
+ is-core-module@2.16.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-docker@2.2.1: {}
+
+ is-docker@3.0.0: {}
+
+ is-extglob@2.1.1: {}
+
+ is-finite@1.1.0: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-fullwidth-code-point@4.0.0: {}
+
+ is-fullwidth-code-point@5.1.0:
+ dependencies:
+ get-east-asian-width: 1.3.1
+
+ is-function@1.0.2: {}
+
+ is-generator-fn@2.1.0: {}
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-interactive@2.0.0: {}
+
+ is-natural-number@4.0.1: {}
+
+ is-number@7.0.0: {}
+
+ is-obj@2.0.0: {}
+
+ is-object@1.0.2: {}
+
+ is-plain-obj@1.1.0: {}
+
+ is-potential-custom-element-name@1.0.1: {}
+
+ is-promise@2.2.2: {}
+
+ is-retry-allowed@1.2.0: {}
+
+ is-stream@1.1.0: {}
+
+ is-stream@2.0.1: {}
+
+ is-stream@3.0.0: {}
+
+ is-subdir@1.2.0:
+ dependencies:
+ better-path-resolve: 1.0.0
+
+ is-text-path@2.0.0:
+ dependencies:
+ text-extensions: 2.4.0
+
+ is-typed-array@1.1.15:
+ dependencies:
+ which-typed-array: 1.1.20
+
+ is-typedarray@1.0.0: {}
+
+ is-unicode-supported@1.3.0: {}
+
+ is-what@3.14.1: {}
+
+ is-what@5.5.0: {}
+
+ is-windows@1.0.2: {}
+
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ isarray@0.0.1: {}
+
+ isarray@1.0.0: {}
+
+ isarray@2.0.5: {}
+
+ isbinaryfile@5.0.6: {}
+
+ isexe@2.0.0: {}
+
+ isstream@0.1.2: {}
+
+ istanbul-lib-coverage@3.2.2: {}
+
+ istanbul-lib-instrument@5.2.1:
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/parser': 7.29.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-lib-report@3.0.1:
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+
+ istanbul-lib-source-maps@4.0.1:
+ dependencies:
+ debug: 4.4.3
+ istanbul-lib-coverage: 3.2.2
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-reports@3.2.0:
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+
+ isurl@1.0.0:
+ dependencies:
+ has-to-string-tag-x: 1.4.1
+ is-object: 1.0.2
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ javascript-natural-sort@0.7.1: {}
+
+ jest-changed-files@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ execa: 5.1.1
+ throat: 6.0.2
+
+ jest-circus@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 0.7.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-cli@27.5.1:
+ dependencies:
+ '@jest/core': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ import-local: 3.2.0
+ jest-config: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ prompts: 2.4.2
+ yargs: 16.2.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jest-config@27.5.1:
+ dependencies:
+ '@babel/core': 7.28.3
+ '@jest/test-sequencer': 27.5.1
+ '@jest/types': 27.5.1
+ babel-jest: 27.5.1(@babel/core@7.28.3)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-get-type: 27.5.1
+ jest-jasmine2: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runner: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ micromatch: 4.0.8
+ parse-json: 5.2.0
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-diff@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-docblock@27.5.1:
+ dependencies:
+ detect-newline: 3.1.0
+
+ jest-each@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-environment-jsdom@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ jsdom: 16.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-environment-node@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ jest-get-type@27.5.1: {}
+
+ jest-haste-map@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 20.19.20
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 27.5.1
+ jest-serializer: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ micromatch: 4.0.8
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ jest-jasmine2@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ co: 4.6.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-leak-detector@27.5.1:
+ dependencies:
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-matcher-utils@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-message-util@27.5.1:
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@jest/types': 27.5.1
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+
+ jest-mock@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+
+ jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
+ optionalDependencies:
+ jest-resolve: 27.5.1
+
+ jest-regex-util@27.5.1: {}
+
+ jest-resolve-dependencies@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-regex-util: 27.5.1
+ jest-snapshot: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-resolve@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ resolve: 1.22.10
+ resolve.exports: 1.1.1
+ slash: 3.0.0
+
+ jest-runner@27.5.1:
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ emittery: 0.8.1
+ graceful-fs: 4.2.11
+ jest-docblock: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-leak-detector: 27.5.1
+ jest-message-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runtime: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ source-map-support: 0.5.21
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-runtime@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/globals': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ cjs-module-lexer: 1.4.3
+ collect-v8-coverage: 1.0.2
+ execa: 5.1.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-serializer@27.5.1:
+ dependencies:
+ '@types/node': 20.19.20
+ graceful-fs: 4.2.11
+
+ jest-snapshot@27.5.1:
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/generator': 7.29.0
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3)
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__traverse': 7.28.0
+ '@types/prettier': 2.7.3
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3)
+ chalk: 4.1.2
+ expect: 27.5.1
+ graceful-fs: 4.2.11
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ natural-compare: 1.4.0
+ pretty-format: 27.5.1
+ semver: 7.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-util@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+
+ jest-validate@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ leven: 3.1.0
+ pretty-format: 27.5.1
+
+ jest-watcher@27.5.1:
+ dependencies:
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.19.20
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ jest-util: 27.5.1
+ string-length: 4.0.2
+
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 20.19.20
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest@27.0.4:
+ dependencies:
+ '@jest/core': 27.5.1
+ import-local: 3.2.0
+ jest-cli: 27.5.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jimp@0.10.3:
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.10.3
+ '@jimp/plugins': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/types': 0.10.3(@jimp/custom@0.10.3)
+ core-js: 3.45.1
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - debug
+
+ jimp@0.16.1:
+ dependencies:
+ '@babel/runtime': 7.28.3
+ '@jimp/custom': 0.16.13
+ '@jimp/plugins': 0.16.13(@jimp/custom@0.16.13)
+ '@jimp/types': 0.16.13(@jimp/custom@0.16.13)
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - debug
+
+ jiti@1.21.7: {}
+
+ jiti@2.5.1: {}
+
+ jiti@2.6.1: {}
+
+ jpeg-js@0.3.7: {}
+
+ jpeg-js@0.4.4: {}
+
+ js-base64@3.7.8: {}
+
+ js-beautify@1.15.4:
+ dependencies:
+ config-chain: 1.1.13
+ editorconfig: 1.0.7
+ glob: 10.4.5
+ js-cookie: 3.0.8
+ nopt: 7.2.1
+
+ js-cookie@3.0.8: {}
+
+ js-tokens@3.0.2: {}
+
+ js-tokens@4.0.0: {}
+
+ js-tokens@9.0.1: {}
+
+ js-yaml@3.14.1:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
+ js-yaml@4.1.1:
+ dependencies:
+ argparse: 2.0.1
+
+ jsbn@0.1.1: {}
+
+ jsdoc-type-pratt-parser@4.1.0: {}
+
+ jsdoc-type-pratt-parser@4.8.0: {}
+
+ jsdom@16.7.0:
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.15.0
+ acorn-globals: 6.0.0
+ cssom: 0.4.4
+ cssstyle: 2.3.0
+ data-urls: 2.0.0
+ decimal.js: 10.6.0
+ domexception: 2.0.1
+ escodegen: 2.1.0
+ form-data: 3.0.4
+ html-encoding-sniffer: 2.0.1
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.22
+ parse5: 6.0.1
+ saxes: 5.0.1
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.4
+ w3c-hr-time: 1.0.2
+ w3c-xmlserializer: 2.0.0
+ webidl-conversions: 6.1.0
+ whatwg-encoding: 1.0.5
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+ ws: 7.5.10
+ xml-name-validator: 3.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ jsdom@29.1.1:
+ dependencies:
+ '@asamuzakjp/css-color': 5.1.11
+ '@asamuzakjp/dom-selector': 7.1.1
+ '@bramus/specificity': 2.4.2
+ '@csstools/css-syntax-patches-for-csstree': 1.1.4(css-tree@3.2.1)
+ '@exodus/bytes': 1.15.1
+ css-tree: 3.2.1
+ data-urls: 7.0.0
+ decimal.js: 10.6.0
+ html-encoding-sniffer: 6.0.0
+ is-potential-custom-element-name: 1.0.1
+ lru-cache: 11.5.1
+ parse5: 8.0.1
+ saxes: 6.0.0
+ symbol-tree: 3.2.4
+ tough-cookie: 6.0.1
+ undici: 7.26.0
+ w3c-xmlserializer: 5.0.0
+ webidl-conversions: 8.0.1
+ whatwg-mimetype: 5.0.0
+ whatwg-url: 16.0.1
+ xml-name-validator: 5.0.0
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
+ jsesc@0.5.0: {}
+
+ jsesc@1.3.0: {}
+
+ jsesc@2.5.2: {}
+
+ jsesc@3.0.2: {}
+
+ jsesc@3.1.0: {}
+
+ json-buffer@3.0.0: {}
+
+ json-buffer@3.0.1: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
+ json-schema-traverse@0.4.1: {}
+
+ json-schema-traverse@1.0.0: {}
+
+ json-schema-typed@7.0.3: {}
+
+ json-schema@0.4.0: {}
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+ json-stringify-safe@5.0.1: {}
+
+ json5@0.5.1: {}
+
+ json5@2.2.3: {}
+
+ jsonc-eslint-parser@2.4.1:
+ dependencies:
+ acorn: 8.15.0
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ semver: 7.7.3
+
+ jsonc-parser@3.3.1: {}
+
+ jsonfile@4.0.0:
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ jsonfile@6.2.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ jsonparse@1.3.1: {}
+
+ jsonschema@1.5.0: {}
+
+ jsprim@1.4.2:
+ dependencies:
+ assert-plus: 1.0.0
+ extsprintf: 1.3.0
+ json-schema: 0.4.0
+ verror: 1.10.0
+
+ jszip@3.10.1:
+ dependencies:
+ lie: 3.3.0
+ pako: 1.0.11
+ readable-stream: 2.3.8
+ setimmediate: 1.0.5
+
+ keyv@3.0.0:
+ dependencies:
+ json-buffer: 3.0.0
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ kleur@3.0.3: {}
+
+ kolorist@1.8.0: {}
+
+ lazyness@1.2.0: {}
+
+ lazystream@1.0.1:
+ dependencies:
+ readable-stream: 2.3.8
+
+ lcid@3.1.1:
+ dependencies:
+ invert-kv: 3.0.1
+
+ less@4.5.1:
+ dependencies:
+ copy-anything: 2.0.6
+ parse-node-version: 1.0.1
+ tslib: 2.8.1
+ optionalDependencies:
+ errno: 0.1.8
+ graceful-fs: 4.2.11
+ image-size: 0.5.5
+ make-dir: 2.1.0
+ mime: 1.6.0
+ needle: 3.3.1
+ source-map: 0.6.1
+
+ leven@3.1.0: {}
+
+ levn@0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ licia@1.48.0: {}
+
+ lie@3.3.0:
+ dependencies:
+ immediate: 3.0.6
+
+ lilconfig@2.1.0: {}
+
+ lilconfig@3.1.3: {}
+
+ lines-and-columns@1.2.4: {}
+
+ lines-and-columns@2.0.4: {}
+
+ lint-staged@15.5.2:
+ dependencies:
+ chalk: 5.6.0
+ commander: 13.1.0
+ debug: 4.4.1
+ execa: 8.0.1
+ lilconfig: 3.1.3
+ listr2: 8.3.3
+ micromatch: 4.0.8
+ pidtree: 0.6.0
+ string-argv: 0.3.2
+ yaml: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+
+ listr2@8.3.3:
+ dependencies:
+ cli-truncate: 4.0.0
+ colorette: 2.0.20
+ eventemitter3: 5.0.1
+ log-update: 6.1.0
+ rfdc: 1.4.1
+ wrap-ansi: 9.0.0
+
+ load-bmfont@1.4.2:
+ dependencies:
+ buffer-equal: 0.0.1
+ mime: 1.6.0
+ parse-bmfont-ascii: 1.0.6
+ parse-bmfont-binary: 1.0.6
+ parse-bmfont-xml: 1.1.6
+ phin: 3.7.1
+ xhr: 2.6.0
+ xtend: 4.0.2
+ transitivePeerDependencies:
+ - debug
+
+ loader-utils@3.3.1: {}
+
+ local-pkg@0.4.3: {}
+
+ local-pkg@0.5.1:
+ dependencies:
+ mlly: 1.8.0
+ pkg-types: 1.3.1
+
+ local-pkg@1.1.2:
+ dependencies:
+ mlly: 1.8.0
+ pkg-types: 2.3.0
+ quansync: 0.2.11
+
+ localstorage-polyfill@1.0.1: {}
+
+ locate-path@3.0.0:
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
+ locate-path@7.2.0:
+ dependencies:
+ p-locate: 6.0.0
+
+ lodash._basecopy@3.0.1: {}
+
+ lodash._basetostring@3.0.1: {}
+
+ lodash._basevalues@3.0.0: {}
+
+ lodash._getnative@3.9.1: {}
+
+ lodash._isiterateecall@3.0.9: {}
+
+ lodash._reescape@3.0.0: {}
+
+ lodash._reevaluate@3.0.0: {}
+
+ lodash._reinterpolate@3.0.0: {}
+
+ lodash._root@3.0.1: {}
+
+ lodash.camelcase@4.3.0: {}
+
+ lodash.debounce@4.0.8: {}
+
+ lodash.defaults@4.2.0: {}
+
+ lodash.difference@4.5.0: {}
+
+ lodash.escape@3.2.0:
+ dependencies:
+ lodash._root: 3.0.1
+
+ lodash.flatten@4.4.0: {}
+
+ lodash.groupby@4.6.0: {}
+
+ lodash.isarguments@3.1.0: {}
+
+ lodash.isarray@3.0.4: {}
+
+ lodash.isplainobject@4.0.6: {}
+
+ lodash.kebabcase@4.1.1: {}
+
+ lodash.keys@3.1.2:
+ dependencies:
+ lodash._getnative: 3.9.1
+ lodash.isarguments: 3.1.0
+ lodash.isarray: 3.0.4
+
+ lodash.memoize@4.1.2: {}
+
+ lodash.merge@4.6.2: {}
+
+ lodash.mergewith@4.6.2: {}
+
+ lodash.restparam@3.6.1: {}
+
+ lodash.snakecase@4.1.1: {}
+
+ lodash.startcase@4.4.0: {}
+
+ lodash.template@3.6.2:
+ dependencies:
+ lodash._basecopy: 3.0.1
+ lodash._basetostring: 3.0.1
+ lodash._basevalues: 3.0.0
+ lodash._isiterateecall: 3.0.9
+ lodash._reinterpolate: 3.0.0
+ lodash.escape: 3.2.0
+ lodash.keys: 3.1.2
+ lodash.restparam: 3.6.1
+ lodash.templatesettings: 3.1.1
+
+ lodash.templatesettings@3.1.1:
+ dependencies:
+ lodash._reinterpolate: 3.0.0
+ lodash.escape: 3.2.0
+
+ lodash.union@4.6.0: {}
+
+ lodash.uniq@4.5.0: {}
+
+ lodash.upperfirst@4.3.1: {}
+
+ lodash@4.17.21: {}
+
+ log-symbols@5.1.0:
+ dependencies:
+ chalk: 5.6.0
+ is-unicode-supported: 1.3.0
+
+ log-update@6.1.0:
+ dependencies:
+ ansi-escapes: 7.0.0
+ cli-cursor: 5.0.0
+ slice-ansi: 7.1.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 9.0.0
+
+ long@4.0.0: {}
+
+ longest-streak@3.1.0: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ loupe@3.2.1: {}
+
+ lower-case@1.1.4: {}
+
+ lowercase-keys@1.0.0: {}
+
+ lowercase-keys@1.0.1: {}
+
+ lowercase-keys@2.0.0: {}
+
+ lru-cache@10.4.3: {}
+
+ lru-cache@11.5.1: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ lru-queue@0.1.0:
+ dependencies:
+ es5-ext: 0.10.64
+
+ magic-string@0.30.18:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ magic-string@0.30.19:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ make-dir@1.3.0:
+ dependencies:
+ pify: 3.0.0
+
+ make-dir@2.1.0:
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.2
+
+ make-dir@3.1.0:
+ dependencies:
+ semver: 6.3.1
+
+ make-dir@4.0.0:
+ dependencies:
+ semver: 7.7.3
+
+ make-synchronized@0.8.0: {}
+
+ makeerror@1.0.12:
+ dependencies:
+ tmpl: 1.0.5
+
+ markdown-table@3.0.4: {}
+
+ math-intrinsics@1.1.0: {}
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-frontmatter@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ escape-string-regexp: 5.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-extension-frontmatter: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.0
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ mdn-data@2.0.14: {}
+
+ mdn-data@2.12.2: {}
+
+ mdn-data@2.27.1: {}
+
+ media-typer@0.3.0: {}
+
+ memoizee@0.4.17:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ es6-weak-map: 2.0.3
+ event-emitter: 0.3.5
+ is-promise: 2.2.2
+ lru-queue: 0.1.0
+ next-tick: 1.1.0
+ timers-ext: 0.1.8
+
+ memory-fs@0.5.0:
+ dependencies:
+ errno: 0.1.8
+ readable-stream: 2.3.8
+
+ meow@12.1.1: {}
+
+ meow@13.2.0: {}
+
+ merge-descriptors@1.0.3: {}
+
+ merge-stream@2.0.0: {}
+
+ merge2@1.4.1: {}
+
+ merge@2.1.1: {}
+
+ methods@1.1.2: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-frontmatter@2.0.0:
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime@1.6.0: {}
+
+ mime@3.0.0: {}
+
+ mimic-fn@2.1.0: {}
+
+ mimic-fn@3.1.0: {}
+
+ mimic-fn@4.0.0: {}
+
+ mimic-function@5.0.1: {}
+
+ mimic-response@1.0.1: {}
+
+ mimic-response@3.1.0: {}
+
+ min-document@2.19.0:
+ dependencies:
+ dom-walk: 0.1.2
+
+ minimatch@3.0.4:
+ dependencies:
+ brace-expansion: 1.1.12
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.12
+
+ minimatch@5.1.6:
+ dependencies:
+ brace-expansion: 2.0.2
+
+ minimatch@8.0.4:
+ dependencies:
+ brace-expansion: 2.0.2
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.2
+
+ minimist@1.2.8: {}
+
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@5.0.0: {}
+
+ minipass@7.1.2: {}
+
+ miniprogram-api-typings@4.1.0: {}
+
+ miniprogram-ci@2.1.26(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ '@babel/code-frame': 7.22.10
+ '@babel/compat-data': 7.22.9
+ '@babel/core': 7.21.4
+ '@babel/eslint-parser': 7.22.10(@babel/core@7.21.4)(eslint@9.34.0(jiti@2.6.1))
+ '@babel/generator': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10
+ '@babel/helper-compilation-targets': 7.22.10
+ '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.21.4)
+ '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4)
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.22.5
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4)
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-plugin-utils': 7.24.6
+ '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.21.4)
+ '@babel/helper-replace-supers': 7.22.9(@babel/core@7.21.4)
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.24.6
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-string-parser': 7.24.6
+ '@babel/helper-validator-identifier': 7.24.6
+ '@babel/helper-validator-option': 7.22.5
+ '@babel/helper-wrap-function': 7.22.10
+ '@babel/helpers': 7.21.0
+ '@babel/highlight': 7.22.10
+ '@babel/parser': 7.21.4
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.6(@babel/core@7.21.4)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-do-expressions': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-export-default-from': 7.18.10(@babel/core@7.21.4)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4)
+ '@babel/plugin-proposal-function-bind': 7.18.9(@babel/core@7.21.4)
+ '@babel/plugin-proposal-function-sent': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-pipeline-operator': 7.18.9(@babel/core@7.21.4)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4)
+ '@babel/plugin-proposal-throw-expressions': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.21.4)
+ '@babel/plugin-syntax-do-expressions': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-function-bind': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-function-sent': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-import-assertions': 7.24.6(@babel/core@7.21.4)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4)
+ '@babel/plugin-syntax-pipeline-operator': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-throw-expressions': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4)
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.21.4)
+ '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.21.4)
+ '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.21.4)
+ '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-optional-chaining': 7.24.6(@babel/core@7.21.4)
+ '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.21.4)
+ '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.4)
+ '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.21.4)
+ '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4)
+ '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.21.4)
+ '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.21.4)
+ '@babel/preset-env': 7.21.4(@babel/core@7.21.4)
+ '@babel/preset-modules': 0.1.6(@babel/core@7.21.4)
+ '@babel/regjsgen': 0.8.0
+ '@babel/runtime': 7.21.0
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.24.6
+ '@swc/core': 1.4.14
+ '@vue/reactivity': 3.0.5
+ acorn: 6.4.2
+ adm-zip: 0.5.10
+ archiver: 5.3.2
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ babel-code-frame: 6.26.0
+ babel-core: 6.26.0
+ babel-preset-es2015: 6.24.1
+ babel-preset-stage-0: 6.24.1
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ commander: 9.5.0
+ core-js-compat: 3.25.1
+ cos-js-sdk-v5: 1.8.6
+ cos-nodejs-sdk-v5: 2.14.6
+ cssnano: 5.1.15(postcss@8.5.6)
+ download: 8.0.0
+ eventemitter3: 4.0.7
+ execa: 5.1.1
+ fs-extra: 8.1.0
+ get-proxy: 2.1.0
+ glob: 7.1.2
+ gulp-ignore: 3.0.0
+ gulp-plumber: 1.1.0
+ html-minifier: 4.0.0
+ image-size: 1.2.1
+ jimp: 0.16.1
+ js-base64: 3.7.8
+ jsonschema: 1.5.0
+ jszip: 3.10.1
+ less: 4.5.1
+ licia: 1.48.0
+ lodash: 4.17.21
+ memory-fs: 0.5.0
+ minimatch: 3.0.4
+ mkdir-p: 0.0.7
+ moment-timezone: 0.5.48
+ ora: 6.3.1
+ postcss: 8.5.6
+ protobufjs: 6.11.4
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ querystring: 0.2.1
+ read-package-tree: 5.2.1
+ request: 2.88.2
+ rimraf: 3.0.2
+ sass: 1.77.8
+ simple-plist: 1.3.1
+ source-map: 0.6.1
+ string-hash-64: 1.0.3
+ sync-message: 0.0.12
+ terminal-kit: 2.11.7
+ terser: 4.8.0
+ tmp: 0.0.28
+ tslib: 2.8.1
+ uglify-js: 3.0.27
+ uuid: 3.4.0
+ wxml-minifier: 0.0.1
+ yargs: 15.4.1
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - debug
+ - eslint
+ - supports-color
+
+ minizlib@2.1.2:
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ mitt@3.0.1: {}
+
+ mkdir-p@0.0.7: {}
+
+ mkdirp@0.5.6:
+ dependencies:
+ minimist: 1.2.8
+
+ mkdirp@1.0.4: {}
+
+ mlly@1.8.0:
+ dependencies:
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
+
+ mockjs@1.1.0:
+ dependencies:
+ commander: 13.1.0
+
+ module-alias@2.2.3: {}
+
+ moment-timezone@0.5.48:
+ dependencies:
+ moment: 2.30.1
+
+ moment@2.30.1: {}
+
+ mri@1.2.0: {}
+
+ mrmime@2.0.1: {}
+
+ ms@2.0.0: {}
+
+ ms@2.1.3: {}
+
+ muggle-string@0.4.1: {}
+
+ multipipe@0.1.2:
+ dependencies:
+ duplexer2: 0.0.2
+
+ nanoid@3.3.11: {}
+
+ nanoid@5.1.6: {}
+
+ natural-compare@1.4.0: {}
+
+ natural-orderby@5.0.0: {}
+
+ ndarray-pack@1.2.1:
+ dependencies:
+ cwise-compiler: 1.1.3
+ ndarray: 1.0.19
+
+ ndarray@1.0.19:
+ dependencies:
+ iota-array: 1.0.0
+ is-buffer: 1.1.6
+
+ needle@3.3.1:
+ dependencies:
+ iconv-lite: 0.6.3
+ sax: 1.4.1
+ optional: true
+
+ negotiator@0.6.3: {}
+
+ next-tick@1.1.0: {}
+
+ nextgen-events@1.5.3: {}
+
+ no-case@2.3.2:
+ dependencies:
+ lower-case: 1.1.4
+
+ node-bitmap@0.0.1: {}
+
+ node-fetch-h2@2.3.0:
+ dependencies:
+ http2-client: 1.3.5
+
+ node-fetch-native@1.6.7: {}
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-int64@0.4.0: {}
+
+ node-readfiles@0.2.0:
+ dependencies:
+ es6-promise: 3.3.1
+
+ node-releases@2.0.19: {}
+
+ node-releases@2.0.23: {}
+
+ nopt@7.2.1:
+ dependencies:
+ abbrev: 2.0.0
+
+ normalize-package-data@2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.10
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
+ normalize-url@2.0.1:
+ dependencies:
+ prepend-http: 2.0.0
+ query-string: 5.1.1
+ sort-keys: 2.0.0
+
+ normalize-url@6.1.0: {}
+
+ npm-conf@1.1.3:
+ dependencies:
+ config-chain: 1.1.13
+ pify: 3.0.0
+
+ npm-normalize-package-bin@1.0.1: {}
+
+ npm-run-path@4.0.1:
+ dependencies:
+ path-key: 3.1.1
+
+ npm-run-path@5.3.0:
+ dependencies:
+ path-key: 4.0.0
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ nunjucks@3.2.4(chokidar@3.6.0):
+ dependencies:
+ a-sync-waterfall: 1.0.1
+ asap: 2.0.6
+ commander: 5.1.0
+ optionalDependencies:
+ chokidar: 3.6.0
+
+ nwsapi@2.2.22: {}
+
+ nypm@0.5.4:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ tinyexec: 0.3.2
+ ufo: 1.6.1
+
+ oas-kit-common@1.0.8:
+ dependencies:
+ fast-safe-stringify: 2.1.1
+
+ oas-linter@3.2.2:
+ dependencies:
+ '@exodus/schemasafe': 1.3.0
+ should: 13.2.3
+ yaml: 1.10.2
+
+ oas-resolver@2.5.6:
+ dependencies:
+ node-fetch-h2: 2.3.0
+ oas-kit-common: 1.0.8
+ reftools: 1.1.9
+ yaml: 1.10.2
+ yargs: 17.7.2
+
+ oas-schema-walker@1.1.5: {}
+
+ oas-validator@5.0.8:
+ dependencies:
+ call-me-maybe: 1.0.2
+ oas-kit-common: 1.0.8
+ oas-linter: 3.2.2
+ oas-resolver: 2.5.6
+ oas-schema-walker: 1.1.5
+ reftools: 1.1.9
+ should: 13.2.3
+ yaml: 1.10.2
+
+ oauth-sign@0.9.0: {}
+
+ object-assign@3.0.0: {}
+
+ object-assign@4.1.1: {}
+
+ object-inspect@1.13.4: {}
+
+ ofetch@1.4.1:
+ dependencies:
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.1
+
+ ohash@1.1.6: {}
+
+ ohash@2.0.11: {}
+
+ omggif@1.0.10: {}
+
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ onetime@6.0.0:
+ dependencies:
+ mimic-fn: 4.0.0
+
+ onetime@7.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
+ open@10.2.0:
+ dependencies:
+ default-browser: 5.5.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ wsl-utils: 0.1.0
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ openapi-ts-request@1.10.0(@types/node@20.19.11)(@vue/compiler-sfc@3.5.22)(chokidar@3.6.0)(typescript@5.8.3):
+ dependencies:
+ '@clack/prompts': 0.11.0
+ '@prettier/sync': 0.6.1(prettier@3.6.2)
+ '@trivago/prettier-plugin-sort-imports': 5.2.2(@vue/compiler-sfc@3.5.22)(prettier@3.6.2)
+ axios: 1.17.0
+ bing-translate-api: 4.1.0
+ chalk: 4.1.2
+ commander: 12.1.0
+ cosmiconfig: 9.0.0(typescript@5.8.3)
+ cosmiconfig-typescript-loader: 6.1.0(@types/node@20.19.11)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3)
+ glob: 10.4.5
+ js-yaml: 4.1.0
+ lodash: 4.17.21
+ memoizee: 0.4.17
+ minimatch: 9.0.5
+ mockjs: 1.1.0
+ nunjucks: 3.2.4(chokidar@3.6.0)
+ prettier: 3.6.2
+ reserved-words: 0.1.2
+ rimraf: 5.0.10
+ swagger2openapi: 7.0.8
+ tiny-pinyin: 1.3.2
+ ts-morph: 25.0.1
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@types/node'
+ - '@vue/compiler-sfc'
+ - chokidar
+ - debug
+ - encoding
+ - prettier-plugin-svelte
+ - supports-color
+ - svelte
+ - typescript
+
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.5
+
+ ora@6.3.1:
+ dependencies:
+ chalk: 5.6.0
+ cli-cursor: 4.0.0
+ cli-spinners: 2.9.2
+ is-interactive: 2.0.0
+ is-unicode-supported: 1.3.0
+ log-symbols: 5.1.0
+ stdin-discarder: 0.1.0
+ strip-ansi: 7.1.0
+ wcwidth: 1.0.1
+
+ os-homedir@1.0.2: {}
+
+ os-locale-s-fix@1.0.8-fix-1:
+ dependencies:
+ lcid: 3.1.1
+
+ os-tmpdir@1.0.2: {}
+
+ outdent@0.5.0: {}
+
+ p-cancelable@0.4.1: {}
+
+ p-cancelable@2.1.1: {}
+
+ p-event@2.3.1:
+ dependencies:
+ p-timeout: 2.0.1
+
+ p-filter@2.1.0:
+ dependencies:
+ p-map: 2.1.0
+
+ p-finally@1.0.0: {}
+
+ p-is-promise@1.1.0: {}
+
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-limit@4.0.0:
+ dependencies:
+ yocto-queue: 1.2.1
+
+ p-locate@3.0.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
+ p-locate@6.0.0:
+ dependencies:
+ p-limit: 4.0.0
+
+ p-map@2.1.0: {}
+
+ p-timeout@2.0.1:
+ dependencies:
+ p-finally: 1.0.0
+
+ p-try@2.2.0: {}
+
+ package-json-from-dist@1.0.1: {}
+
+ package-manager-detector@0.2.11:
+ dependencies:
+ quansync: 0.2.11
+
+ package-manager-detector@1.3.0: {}
+
+ pako@1.0.11: {}
+
+ param-case@2.1.1:
+ dependencies:
+ no-case: 2.3.2
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ parse-bmfont-ascii@1.0.6: {}
+
+ parse-bmfont-binary@1.0.6: {}
+
+ parse-bmfont-xml@1.1.6:
+ dependencies:
+ xml-parse-from-string: 1.0.1
+ xml2js: 0.5.0
+
+ parse-css-font@4.0.0:
+ dependencies:
+ css-font-size-keywords: 1.0.0
+ css-font-stretch-keywords: 1.0.1
+ css-font-style-keywords: 1.0.1
+ css-font-weight-keywords: 1.0.0
+ css-list-helpers: 2.0.0
+ css-system-font-keywords: 1.0.0
+ unquote: 1.1.1
+
+ parse-gitignore@2.0.0: {}
+
+ parse-headers@2.0.6: {}
+
+ parse-imports-exports@0.2.4:
+ dependencies:
+ parse-statements: 1.0.11
+
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ parse-node-version@1.0.1: {}
+
+ parse-statements@1.0.11: {}
+
+ parse5@6.0.1: {}
+
+ parse5@8.0.1:
+ dependencies:
+ entities: 8.0.0
+
+ parseurl@1.3.3: {}
+
+ path-browserify@1.0.1: {}
+
+ path-exists@3.0.0: {}
+
+ path-exists@4.0.0: {}
+
+ path-exists@5.0.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-key@4.0.0: {}
+
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
+ path-to-regexp@0.1.12: {}
+
+ path-type@4.0.0: {}
+
+ pathe@1.1.2: {}
+
+ pathe@2.0.3: {}
+
+ pathval@2.0.1: {}
+
+ peek-readable@4.1.0: {}
+
+ pend@1.2.0: {}
+
+ perfect-debounce@1.0.0: {}
+
+ perfect-debounce@2.1.0: {}
+
+ performance-now@2.1.0: {}
+
+ phin@2.9.3: {}
+
+ phin@3.7.1:
+ dependencies:
+ centra: 2.7.0
+ transitivePeerDependencies:
+ - debug
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ picomatch@4.0.3: {}
+
+ pidtree@0.6.0: {}
+
+ pify@2.3.0: {}
+
+ pify@3.0.0: {}
+
+ pify@4.0.1: {}
+
+ pinia-plugin-persistedstate@3.2.1(pinia@2.0.36(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))):
+ dependencies:
+ pinia: 2.0.36(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+
+ pinia@2.0.36(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.4.21(typescript@5.8.3)
+ vue-demi: 0.14.10(vue@3.4.21(typescript@5.8.3))
+ optionalDependencies:
+ typescript: 5.8.3
+
+ pinkie-promise@2.0.1:
+ dependencies:
+ pinkie: 2.0.4
+
+ pinkie@2.0.4: {}
+
+ pirates@4.0.7: {}
+
+ pixelmatch@4.0.2:
+ dependencies:
+ pngjs: 3.4.0
+
+ pkg-dir@4.2.0:
+ dependencies:
+ find-up: 4.1.0
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
+
+ pkg-types@2.3.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
+
+ pkg-up@3.1.0:
+ dependencies:
+ find-up: 3.0.0
+
+ plist@3.1.0:
+ dependencies:
+ '@xmldom/xmldom': 0.8.11
+ base64-js: 1.5.1
+ xmlbuilder: 15.1.1
+
+ pluralize@8.0.0: {}
+
+ pngjs@3.4.0: {}
+
+ pngjs@6.0.0: {}
+
+ pnpm-workspace-yaml@1.2.0:
+ dependencies:
+ yaml: 2.8.1
+
+ possible-typed-array-names@1.1.0: {}
+
+ postcss-calc@8.2.4(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ postcss-colormin@5.3.1(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-convert-values@5.1.3(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-discard-comments@5.1.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-duplicates@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-empty@5.1.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-overridden@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-html@1.8.0:
+ dependencies:
+ htmlparser2: 8.0.2
+ js-tokens: 9.0.1
+ postcss: 8.5.6
+ postcss-safe-parser: 6.0.0(postcss@8.5.6)
+
+ postcss-import@14.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.10
+
+ postcss-load-config@3.1.4(postcss@8.5.6):
+ dependencies:
+ lilconfig: 2.1.0
+ yaml: 1.10.2
+ optionalDependencies:
+ postcss: 8.5.6
+
+ postcss-merge-longhand@5.1.7(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.5.6)
+
+ postcss-merge-rules@5.1.4(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-minify-font-values@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-gradients@5.1.1(postcss@8.5.6):
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-params@5.1.4(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ cssnano-utils: 3.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-selectors@5.2.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+ postcss-value-parser: 4.2.0
+
+ postcss-modules-scope@3.2.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-modules-values@4.0.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ postcss-modules@4.3.1(postcss@8.5.6):
+ dependencies:
+ generic-names: 4.0.0
+ icss-replace-symbols: 1.1.0
+ lodash.camelcase: 4.3.0
+ postcss: 8.5.6
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.6)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.6)
+ postcss-modules-scope: 3.2.1(postcss@8.5.6)
+ postcss-modules-values: 4.0.0(postcss@8.5.6)
+ string-hash: 1.1.3
+
+ postcss-normalize-charset@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-normalize-display-values@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-positions@5.1.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-repeat-style@5.1.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-string@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-timing-functions@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-unicode@5.1.1(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-url@5.1.0(postcss@8.5.6):
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-whitespace@5.1.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-ordered-values@5.1.3(postcss@8.5.6):
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-reduce-initial@5.1.2(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ caniuse-api: 3.0.0
+ postcss: 8.5.6
+
+ postcss-reduce-transforms@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-safe-parser@6.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-scss@4.0.9(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-selector-parser@7.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+
+ postcss-unique-selectors@5.1.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prelude-ls@1.2.1: {}
+
+ prepend-http@2.0.0: {}
+
+ prettier-linter-helpers@1.0.0:
+ dependencies:
+ fast-diff: 1.3.0
+
+ prettier@2.8.8: {}
+
+ prettier@3.6.2: {}
+
+ pretty-format@27.5.1:
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+
+ private@0.1.8: {}
+
+ process-nextick-args@2.0.1: {}
+
+ process@0.11.10: {}
+
+ prompts@2.4.2:
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+
+ proper-lockfile@4.1.2:
+ dependencies:
+ graceful-fs: 4.2.11
+ retry: 0.12.0
+ signal-exit: 3.0.7
+
+ proto-list@1.2.4: {}
+
+ protobufjs@6.11.4:
+ dependencies:
+ '@protobufjs/aspromise': 1.1.2
+ '@protobufjs/base64': 1.1.2
+ '@protobufjs/codegen': 2.0.4
+ '@protobufjs/eventemitter': 1.1.0
+ '@protobufjs/fetch': 1.1.0
+ '@protobufjs/float': 1.0.2
+ '@protobufjs/inquire': 1.1.0
+ '@protobufjs/path': 1.1.2
+ '@protobufjs/pool': 1.1.0
+ '@protobufjs/utf8': 1.1.0
+ '@types/long': 4.0.2
+ '@types/node': 20.19.20
+ long: 4.0.0
+
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ proxy-from-env@2.1.0: {}
+
+ prr@1.0.1: {}
+
+ psl@1.15.0:
+ dependencies:
+ punycode: 2.3.1
+
+ pump@3.0.3:
+ dependencies:
+ end-of-stream: 1.4.5
+ once: 1.4.0
+
+ punycode@2.3.1: {}
+
+ qrcode-reader@1.0.4: {}
+
+ qrcode-terminal@0.12.0: {}
+
+ qs@6.13.0:
+ dependencies:
+ side-channel: 1.1.0
+
+ qs@6.15.2:
+ dependencies:
+ side-channel: 1.1.0
+
+ qs@6.5.5: {}
+
+ quansync@0.2.11: {}
+
+ query-string@5.1.1:
+ dependencies:
+ decode-uri-component: 0.2.2
+ object-assign: 4.1.1
+ strict-uri-encode: 1.1.0
+
+ querystring@0.2.1: {}
+
+ querystringify@2.2.0: {}
+
+ queue-microtask@1.2.3: {}
+
+ queue@6.0.2:
+ dependencies:
+ inherits: 2.0.4
+
+ quick-lru@5.1.1: {}
+
+ range-parser@1.2.1: {}
+
+ rate-limiter-flexible@5.0.5: {}
+
+ raw-body@2.5.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ rc9@2.1.2:
+ dependencies:
+ defu: 6.1.4
+ destr: 2.0.5
+
+ react-is@17.0.2: {}
+
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ read-package-json@2.1.2:
+ dependencies:
+ glob: 7.2.3
+ json-parse-even-better-errors: 2.3.1
+ normalize-package-data: 2.5.0
+ npm-normalize-package-bin: 1.0.1
+
+ read-package-tree@5.2.1:
+ dependencies:
+ debuglog: 1.0.1
+ dezalgo: 1.0.4
+ once: 1.4.0
+ read-package-json: 2.1.2
+ readdir-scoped-modules: 1.1.0
+
+ read-yaml-file@1.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+
+ readable-stream@1.1.14:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+
+ readable-stream@2.3.8:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readable-stream@4.7.0:
+ dependencies:
+ abort-controller: 3.0.0
+ buffer: 6.0.3
+ events: 3.3.0
+ process: 0.11.10
+ string_decoder: 1.3.0
+
+ readable-web-to-node-stream@3.0.4:
+ dependencies:
+ readable-stream: 4.7.0
+
+ readdir-glob@1.1.3:
+ dependencies:
+ minimatch: 5.1.6
+
+ readdir-scoped-modules@1.1.0:
+ dependencies:
+ debuglog: 1.0.1
+ dezalgo: 1.0.4
+ graceful-fs: 4.2.11
+ once: 1.4.0
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
+ readdirp@4.1.2: {}
+
+ refa@0.12.1:
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+
+ reftools@1.1.9: {}
+
+ regenerate-unicode-properties@10.2.0:
+ dependencies:
+ regenerate: 1.4.2
+
+ regenerate@1.4.2: {}
+
+ regenerator-runtime@0.11.1: {}
+
+ regenerator-runtime@0.13.11: {}
+
+ regenerator-runtime@0.14.1: {}
+
+ regenerator-transform@0.10.1:
+ dependencies:
+ babel-runtime: 6.26.0
+ babel-types: 6.26.0
+ private: 0.1.8
+
+ regenerator-transform@0.15.2:
+ dependencies:
+ '@babel/runtime': 7.28.3
+
+ regexp-ast-analysis@0.7.1:
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ refa: 0.12.1
+
+ regexp-tree@0.1.27: {}
+
+ regexpu-core@2.0.0:
+ dependencies:
+ regenerate: 1.4.2
+ regjsgen: 0.2.0
+ regjsparser: 0.1.5
+
+ regexpu-core@5.3.2:
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.0
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.0
+
+ regexpu-core@6.2.0:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.0
+ regjsgen: 0.8.0
+ regjsparser: 0.12.0
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.0
+
+ regjsgen@0.2.0: {}
+
+ regjsgen@0.8.0: {}
+
+ regjsparser@0.1.5:
+ dependencies:
+ jsesc: 0.5.0
+
+ regjsparser@0.12.0:
+ dependencies:
+ jsesc: 3.0.2
+
+ regjsparser@0.9.1:
+ dependencies:
+ jsesc: 0.5.0
+
+ relateurl@0.2.7: {}
+
+ repeating@2.0.1:
+ dependencies:
+ is-finite: 1.1.0
+
+ replace-ext@0.0.1: {}
+
+ request@2.88.2:
+ dependencies:
+ aws-sign2: 0.7.0
+ aws4: 1.13.2
+ caseless: 0.12.0
+ combined-stream: 1.0.8
+ extend: 3.0.2
+ forever-agent: 0.6.1
+ form-data: 2.3.3
+ har-validator: 5.1.5
+ http-signature: 1.2.0
+ is-typedarray: 1.0.0
+ isstream: 0.1.2
+ json-stringify-safe: 5.0.1
+ mime-types: 2.1.35
+ oauth-sign: 0.9.0
+ performance-now: 2.1.0
+ qs: 6.5.5
+ safe-buffer: 5.2.1
+ tough-cookie: 2.5.0
+ tunnel-agent: 0.6.0
+ uuid: 3.4.0
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ require-main-filename@2.0.0: {}
+
+ requires-port@1.0.0: {}
+
+ reserved-words@0.1.2: {}
+
+ resolve-alpn@1.2.1: {}
+
+ resolve-cwd@3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+
+ resolve-from@4.0.0: {}
+
+ resolve-from@5.0.0: {}
+
+ resolve-pkg-maps@1.0.0: {}
+
+ resolve.exports@1.1.1: {}
+
+ resolve@1.22.10:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ responselike@1.0.2:
+ dependencies:
+ lowercase-keys: 1.0.1
+
+ responselike@2.0.1:
+ dependencies:
+ lowercase-keys: 2.0.0
+
+ restore-cursor@4.0.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ restore-cursor@5.1.0:
+ dependencies:
+ onetime: 7.0.0
+ signal-exit: 4.1.0
+
+ retry@0.12.0: {}
+
+ reusify@1.1.0: {}
+
+ rfdc@1.4.1: {}
+
+ rimraf@3.0.2:
+ dependencies:
+ glob: 7.2.3
+
+ rimraf@5.0.10:
+ dependencies:
+ glob: 10.4.5
+
+ rollup-plugin-visualizer@6.0.3(rollup@4.50.0):
+ dependencies:
+ open: 8.4.2
+ picomatch: 4.0.3
+ source-map: 0.7.6
+ yargs: 17.7.2
+ optionalDependencies:
+ rollup: 4.50.0
+
+ rollup@4.50.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.50.0
+ '@rollup/rollup-android-arm64': 4.50.0
+ '@rollup/rollup-darwin-arm64': 4.50.0
+ '@rollup/rollup-darwin-x64': 4.50.0
+ '@rollup/rollup-freebsd-arm64': 4.50.0
+ '@rollup/rollup-freebsd-x64': 4.50.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.50.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.50.0
+ '@rollup/rollup-linux-arm64-gnu': 4.50.0
+ '@rollup/rollup-linux-arm64-musl': 4.50.0
+ '@rollup/rollup-linux-loongarch64-gnu': 4.50.0
+ '@rollup/rollup-linux-ppc64-gnu': 4.50.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.50.0
+ '@rollup/rollup-linux-riscv64-musl': 4.50.0
+ '@rollup/rollup-linux-s390x-gnu': 4.50.0
+ '@rollup/rollup-linux-x64-gnu': 4.50.0
+ '@rollup/rollup-linux-x64-musl': 4.50.0
+ '@rollup/rollup-openharmony-arm64': 4.50.0
+ '@rollup/rollup-win32-arm64-msvc': 4.50.0
+ '@rollup/rollup-win32-ia32-msvc': 4.50.0
+ '@rollup/rollup-win32-x64-msvc': 4.50.0
+ fsevents: 2.3.3
+
+ run-applescript@7.1.0: {}
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ safe-area-insets@1.4.1: {}
+
+ safe-buffer@5.1.2: {}
+
+ safe-buffer@5.2.1: {}
+
+ safer-buffer@2.1.2: {}
+
+ sass@1.77.8:
+ dependencies:
+ chokidar: 3.6.0
+ immutable: 4.3.7
+ source-map-js: 1.2.1
+
+ sax@1.4.1: {}
+
+ saxes@5.0.1:
+ dependencies:
+ xmlchars: 2.2.0
+
+ saxes@6.0.0:
+ dependencies:
+ xmlchars: 2.2.0
+
+ scslre@0.3.0:
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+
+ scule@1.3.0: {}
+
+ seek-bzip@1.0.6:
+ dependencies:
+ commander: 2.20.3
+
+ semver@5.7.2: {}
+
+ semver@6.3.1: {}
+
+ semver@7.7.3: {}
+
+ send@0.19.0:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ serve-static@1.16.2:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ set-blocking@2.0.0: {}
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+
+ setimmediate@1.0.5: {}
+
+ setprototypeof@1.2.0: {}
+
+ seventh@0.7.40:
+ dependencies:
+ setimmediate: 1.0.5
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ should-equal@2.0.0:
+ dependencies:
+ should-type: 1.4.0
+
+ should-format@3.0.3:
+ dependencies:
+ should-type: 1.4.0
+ should-type-adaptors: 1.1.0
+
+ should-type-adaptors@1.1.0:
+ dependencies:
+ should-type: 1.4.0
+ should-util: 1.0.1
+
+ should-type@1.4.0: {}
+
+ should-util@1.0.1: {}
+
+ should@13.2.3:
+ dependencies:
+ should-equal: 2.0.0
+ should-format: 3.0.3
+ should-type: 1.4.0
+ should-type-adaptors: 1.1.0
+ should-util: 1.0.1
+
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+
+ siginfo@2.0.0: {}
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ simple-plist@1.3.1:
+ dependencies:
+ bplist-creator: 0.1.0
+ bplist-parser: 0.3.1
+ plist: 3.1.0
+
+ sirv@3.0.1:
+ dependencies:
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
+
+ sirv@3.0.2:
+ dependencies:
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
+
+ sisteransi@1.0.5: {}
+
+ slash@1.0.0: {}
+
+ slash@3.0.0: {}
+
+ slice-ansi@5.0.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
+
+ slice-ansi@7.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 5.1.0
+
+ sort-keys-length@1.0.1:
+ dependencies:
+ sort-keys: 1.1.2
+
+ sort-keys@1.1.2:
+ dependencies:
+ is-plain-obj: 1.1.0
+
+ sort-keys@2.0.0:
+ dependencies:
+ is-plain-obj: 1.1.0
+
+ source-map-js@1.2.1: {}
+
+ source-map-support@0.4.18:
+ dependencies:
+ source-map: 0.5.7
+
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ source-map@0.5.7: {}
+
+ source-map@0.6.1: {}
+
+ source-map@0.7.6: {}
+
+ sparkles@1.0.1: {}
+
+ spawndamnit@3.0.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ spdx-correct@3.2.0:
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.22
+
+ spdx-exceptions@2.5.0: {}
+
+ spdx-expression-parse@3.0.1:
+ dependencies:
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.22
+
+ spdx-expression-parse@4.0.0:
+ dependencies:
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.22
+
+ spdx-license-ids@3.0.22: {}
+
+ speakingurl@14.0.1: {}
+
+ split2@4.2.0: {}
+
+ sprintf-js@1.0.3: {}
+
+ sshpk@1.18.0:
+ dependencies:
+ asn1: 0.2.6
+ assert-plus: 1.0.0
+ bcrypt-pbkdf: 1.0.2
+ dashdash: 1.14.1
+ ecc-jsbn: 0.1.2
+ getpass: 0.1.7
+ jsbn: 0.1.1
+ safer-buffer: 2.1.2
+ tweetnacl: 0.14.5
+
+ stable@0.1.8: {}
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
+ stackback@0.0.2: {}
+
+ statuses@2.0.1: {}
+
+ std-env@3.9.0: {}
+
+ stdin-discarder@0.1.0:
+ dependencies:
+ bl: 5.1.0
+
+ stream-buffers@2.2.0: {}
+
+ strict-uri-encode@1.1.0: {}
+
+ string-argv@0.3.2: {}
+
+ string-hash-64@1.0.3: {}
+
+ string-hash@1.1.3: {}
+
+ string-kit@0.17.10: {}
+
+ string-length@4.0.2:
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.5.0
+ get-east-asian-width: 1.3.1
+ strip-ansi: 7.1.0
+
+ string_decoder@0.10.31: {}
+
+ string_decoder@1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ strip-ansi@3.0.1:
+ dependencies:
+ ansi-regex: 2.1.1
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.2.0
+
+ strip-bom@3.0.0: {}
+
+ strip-bom@4.0.0: {}
+
+ strip-dirs@2.1.0:
+ dependencies:
+ is-natural-number: 4.0.1
+
+ strip-final-newline@2.0.0: {}
+
+ strip-final-newline@3.0.0: {}
+
+ strip-indent@4.1.0: {}
+
+ strip-json-comments@3.1.1: {}
+
+ strip-literal@2.1.1:
+ dependencies:
+ js-tokens: 9.0.1
+
+ strip-literal@3.0.0:
+ dependencies:
+ js-tokens: 9.0.1
+
+ strip-outer@1.0.1:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ strnum@1.1.2: {}
+
+ strtok3@6.3.0:
+ dependencies:
+ '@tokenizer/token': 0.3.0
+ peek-readable: 4.1.0
+
+ stylehacks@5.1.1(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ superjson@2.2.6:
+ dependencies:
+ copy-anything: 4.0.5
+
+ supports-color@2.0.0: {}
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-hyperlinks@2.3.0:
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ svgo@2.8.0:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.1.1
+ stable: 0.1.8
+
+ swagger2openapi@7.0.8:
+ dependencies:
+ call-me-maybe: 1.0.2
+ node-fetch: 2.7.0
+ node-fetch-h2: 2.3.0
+ node-readfiles: 0.2.0
+ oas-kit-common: 1.0.8
+ oas-resolver: 2.5.6
+ oas-schema-walker: 1.1.5
+ oas-validator: 5.0.8
+ reftools: 1.1.9
+ yaml: 1.10.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - encoding
+
+ symbol-tree@3.2.4: {}
+
+ sync-message@0.0.12: {}
+
+ synckit@0.11.11:
+ dependencies:
+ '@pkgr/core': 0.2.9
+
+ synckit@0.9.3:
+ dependencies:
+ '@pkgr/core': 0.1.2
+ tslib: 2.8.1
+
+ systemjs@6.15.1: {}
+
+ tapable@2.2.3: {}
+
+ tapable@2.3.0: {}
+
+ tar-stream@1.6.2:
+ dependencies:
+ bl: 1.2.3
+ buffer-alloc: 1.2.0
+ end-of-stream: 1.4.5
+ fs-constants: 1.0.0
+ readable-stream: 2.3.8
+ to-buffer: 1.2.2
+ xtend: 4.0.2
+
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.5
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ tar@6.2.1:
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
+ term-size@2.2.1: {}
+
+ terminal-kit@2.11.7:
+ dependencies:
+ '@cronvel/get-pixels': 3.4.1
+ chroma-js: 2.6.0
+ lazyness: 1.2.0
+ ndarray: 1.0.19
+ nextgen-events: 1.5.3
+ seventh: 0.7.40
+ string-kit: 0.17.10
+ tree-kit: 0.7.5
+
+ terminal-link@2.1.1:
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+
+ terser@4.8.0:
+ dependencies:
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map: 0.6.1
+ source-map-support: 0.5.21
+
+ terser@5.43.1:
+ dependencies:
+ '@jridgewell/source-map': 0.3.11
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ test-exclude@6.0.0:
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+
+ text-extensions@2.4.0: {}
+
+ throat@6.0.2: {}
+
+ through2@2.0.5:
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+
+ through2@3.0.2:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ through@2.3.8: {}
+
+ time-stamp@1.1.0: {}
+
+ timed-out@4.0.1: {}
+
+ timers-ext@0.1.8:
+ dependencies:
+ es5-ext: 0.10.64
+ next-tick: 1.1.0
+
+ timm@1.7.1: {}
+
+ tiny-pinyin@1.3.2: {}
+
+ tinybench@2.9.0: {}
+
+ tinycolor2@1.6.0: {}
+
+ tinyexec@0.3.2: {}
+
+ tinyexec@1.0.1: {}
+
+ tinyglobby@0.2.15:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ tinypool@1.1.1: {}
+
+ tinyrainbow@2.0.0: {}
+
+ tinyspy@4.0.4: {}
+
+ tldts-core@7.4.2: {}
+
+ tldts@7.4.2:
+ dependencies:
+ tldts-core: 7.4.2
+
+ tmp@0.0.28:
+ dependencies:
+ os-tmpdir: 1.0.2
+
+ tmpl@1.0.5: {}
+
+ to-buffer@1.2.2:
+ dependencies:
+ isarray: 2.0.5
+ safe-buffer: 5.2.1
+ typed-array-buffer: 1.0.3
+
+ to-fast-properties@1.0.3: {}
+
+ to-fast-properties@2.0.0: {}
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ toidentifier@1.0.1: {}
+
+ token-types@4.2.1:
+ dependencies:
+ '@tokenizer/token': 0.3.0
+ ieee754: 1.2.1
+
+ toml-eslint-parser@0.10.0:
+ dependencies:
+ eslint-visitor-keys: 3.4.3
+
+ totalist@3.0.1: {}
+
+ tough-cookie@2.5.0:
+ dependencies:
+ psl: 1.15.0
+ punycode: 2.3.1
+
+ tough-cookie@4.1.4:
+ dependencies:
+ psl: 1.15.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
+
+ tough-cookie@6.0.1:
+ dependencies:
+ tldts: 7.4.2
+
+ tr46@0.0.3: {}
+
+ tr46@2.1.0:
+ dependencies:
+ punycode: 2.3.1
+
+ tr46@6.0.0:
+ dependencies:
+ punycode: 2.3.1
+
+ tree-kit@0.7.5: {}
+
+ trim-repeated@1.0.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ trim-right@1.0.1: {}
+
+ ts-api-utils@2.1.0(typescript@5.8.3):
+ dependencies:
+ typescript: 5.8.3
+
+ ts-declaration-location@1.0.7(typescript@5.8.3):
+ dependencies:
+ picomatch: 4.0.3
+ typescript: 5.8.3
+
+ ts-morph@25.0.1:
+ dependencies:
+ '@ts-morph/common': 0.26.1
+ code-block-writer: 13.0.3
+
+ tslib@2.8.1: {}
+
+ tunnel-agent@0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ tweetnacl@0.14.5: {}
+
+ type-check@0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
+
+ type-detect@4.0.8: {}
+
+ type-fest@0.21.3: {}
+
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ type@2.7.3: {}
+
+ typed-array-buffer@1.0.3:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-typed-array: 1.1.15
+
+ typedarray-to-buffer@3.1.5:
+ dependencies:
+ is-typedarray: 1.0.0
+
+ typescript@5.8.3: {}
+
+ typescript@5.9.2: {}
+
+ ufo@1.6.1: {}
+
+ uglify-js@3.0.27:
+ dependencies:
+ commander: 2.11.0
+ source-map: 0.5.7
+
+ uglify-js@3.19.3: {}
+
+ unbzip2-stream@1.4.3:
+ dependencies:
+ buffer: 5.7.1
+ through: 2.3.8
+
+ unconfig@7.3.2:
+ dependencies:
+ '@quansync/fs': 0.1.5
+ defu: 6.1.4
+ jiti: 2.6.1
+ quansync: 0.2.11
+
+ undici-types@6.21.0: {}
+
+ undici@7.26.0: {}
+
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
+
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.1.0
+
+ unicode-match-property-value-ecmascript@2.2.0: {}
+
+ unicode-property-aliases-ecmascript@2.1.0: {}
+
+ unicorn-magic@0.1.0: {}
+
+ unimport@3.14.6(rollup@4.50.0):
+ dependencies:
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ acorn: 8.15.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.3
+ local-pkg: 1.1.2
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 1.3.1
+ scule: 1.3.0
+ strip-literal: 2.1.1
+ unplugin: 1.16.1
+ transitivePeerDependencies:
+ - rollup
+
+ unimport@4.1.1:
+ dependencies:
+ acorn: 8.15.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.3
+ local-pkg: 1.1.2
+ magic-string: 0.30.18
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 1.3.1
+ scule: 1.3.0
+ strip-literal: 3.0.0
+ unplugin: 2.3.9
+ unplugin-utils: 0.2.5
+
+ unimport@5.2.0:
+ dependencies:
+ acorn: 8.15.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ local-pkg: 1.1.2
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 2.3.0
+ scule: 1.3.0
+ strip-literal: 3.0.0
+ tinyglobby: 0.2.15
+ unplugin: 2.3.9
+ unplugin-utils: 0.2.5
+
+ uniq@1.0.1: {}
+
+ unist-util-is@6.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ universalify@0.1.2: {}
+
+ universalify@0.2.0: {}
+
+ universalify@2.0.1: {}
+
+ unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))):
+ dependencies:
+ '@unocss-applet/preset-applet': 0.11.0
+ '@unocss-applet/preset-rem-rpx': 0.11.0
+ '@unocss-applet/transformer-attributify': 0.11.0
+ unocss: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+
+ unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ '@unocss/astro': 66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@unocss/cli': 66.0.0
+ '@unocss/core': 66.0.0
+ '@unocss/postcss': 66.0.0(postcss@8.5.6)
+ '@unocss/preset-attributify': 66.0.0
+ '@unocss/preset-icons': 66.0.0
+ '@unocss/preset-mini': 66.0.0
+ '@unocss/preset-tagify': 66.0.0
+ '@unocss/preset-typography': 66.0.0
+ '@unocss/preset-uno': 66.0.0
+ '@unocss/preset-web-fonts': 66.0.0
+ '@unocss/preset-wind': 66.0.0
+ '@unocss/preset-wind3': 66.0.0
+ '@unocss/transformer-attributify-jsx': 66.0.0
+ '@unocss/transformer-compile-class': 66.0.0
+ '@unocss/transformer-directives': 66.0.0
+ '@unocss/transformer-variant-group': 66.0.0
+ '@unocss/vite': 66.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ optionalDependencies:
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - postcss
+ - supports-color
+ - vue
+
+ unpipe@1.0.0: {}
+
+ unplugin-auto-import@0.16.7(rollup@4.50.0):
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
+ fast-glob: 3.3.3
+ local-pkg: 0.5.1
+ magic-string: 0.30.19
+ minimatch: 9.0.5
+ unimport: 3.14.6(rollup@4.50.0)
+ unplugin: 1.16.1
+ transitivePeerDependencies:
+ - rollup
+
+ unplugin-auto-import@19.1.0:
+ dependencies:
+ local-pkg: 1.1.2
+ magic-string: 0.30.18
+ picomatch: 4.0.3
+ unimport: 4.1.1
+ unplugin: 2.3.9
+ unplugin-utils: 0.2.5
+
+ unplugin-auto-import@20.1.0:
+ dependencies:
+ local-pkg: 1.1.2
+ magic-string: 0.30.18
+ picomatch: 4.0.3
+ unimport: 5.2.0
+ unplugin: 2.3.9
+ unplugin-utils: 0.3.0
+
+ unplugin-utils@0.2.5:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
+
+ unplugin-utils@0.3.0:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
+
+ unplugin@1.16.1:
+ dependencies:
+ acorn: 8.15.0
+ webpack-virtual-modules: 0.6.2
+
+ unplugin@2.3.9:
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ acorn: 8.15.0
+ picomatch: 4.0.3
+ webpack-virtual-modules: 0.6.2
+
+ unquote@1.1.1: {}
+
+ update-browserslist-db@1.1.3(browserslist@4.25.4):
+ dependencies:
+ browserslist: 4.25.4
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ update-browserslist-db@1.1.3(browserslist@4.26.3):
+ dependencies:
+ browserslist: 4.26.3
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ upper-case@1.1.3: {}
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ url-parse-lax@3.0.0:
+ dependencies:
+ prepend-http: 2.0.0
+
+ url-parse@1.5.10:
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+
+ url-to-options@1.0.1: {}
+
+ utif@2.0.1:
+ dependencies:
+ pako: 1.0.11
+
+ util-deprecate@1.0.2: {}
+
+ utils-merge@1.0.1: {}
+
+ uuid@3.4.0: {}
+
+ v8-to-istanbul@8.1.1:
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 1.9.0
+ source-map: 0.7.6
+
+ validate-npm-package-license@3.0.4:
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+
+ vary@1.1.2: {}
+
+ verror@1.10.0:
+ dependencies:
+ assert-plus: 1.0.0
+ core-util-is: 1.0.2
+ extsprintf: 1.3.0
+
+ vinyl@0.5.3:
+ dependencies:
+ clone: 1.0.4
+ clone-stats: 0.0.1
+ replace-ext: 0.0.1
+
+ vite-dev-rpc@1.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)):
+ dependencies:
+ birpc: 2.9.0
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vite-hot-client: 2.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+
+ vite-hot-client@2.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)):
+ dependencies:
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+
+ vite-node@3.2.4(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ pathe: 2.0.3
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ vite-plugin-inspect@11.3.3(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)):
+ dependencies:
+ ansis: 4.2.0
+ debug: 4.4.3
+ error-stack-parser-es: 1.0.5
+ ohash: 2.0.11
+ open: 10.2.0
+ perfect-debounce: 2.1.0
+ sirv: 3.0.2
+ unplugin-utils: 0.3.0
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vite-dev-rpc: 1.1.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ transitivePeerDependencies:
+ - supports-color
+
+ vite-plugin-restart@1.0.0(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)):
+ dependencies:
+ micromatch: 4.0.8
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+
+ vite-plugin-vue-devtools@8.0.5(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ '@vue/devtools-core': 8.0.5(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
+ '@vue/devtools-kit': 8.0.5
+ '@vue/devtools-shared': 8.0.5
+ sirv: 3.0.2
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vite-plugin-inspect: 11.3.3(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ vite-plugin-vue-inspector: 5.3.2(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - supports-color
+ - vue
+
+ vite-plugin-vue-inspector@5.3.2(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)):
+ dependencies:
+ '@babel/core': 7.28.3
+ '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
+ '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
+ '@vue/compiler-dom': 3.5.22
+ kolorist: 1.8.0
+ magic-string: 0.30.19
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1):
+ dependencies:
+ esbuild: 0.20.2
+ postcss: 8.5.6
+ rollup: 4.50.0
+ optionalDependencies:
+ '@types/node': 20.19.11
+ fsevents: 2.3.3
+ less: 4.5.1
+ sass: 1.77.8
+ terser: 5.43.1
+
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.11)(jsdom@29.1.1)(less@4.5.1)(sass@1.77.8)(terser@5.43.1):
+ dependencies:
+ '@types/chai': 5.2.3
+ '@vitest/expect': 3.2.4
+ '@vitest/mocker': 3.2.4(vite@5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1))
+ '@vitest/pretty-format': 3.2.4
+ '@vitest/runner': 3.2.4
+ '@vitest/snapshot': 3.2.4
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.3.3
+ debug: 4.4.3
+ expect-type: 1.3.0
+ magic-string: 0.30.19
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ std-env: 3.9.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.15
+ tinypool: 1.1.1
+ tinyrainbow: 2.0.0
+ vite: 5.2.8(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ vite-node: 3.2.4(@types/node@20.19.11)(less@4.5.1)(sass@1.77.8)(terser@5.43.1)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/debug': 4.1.12
+ '@types/node': 20.19.11
+ jsdom: 29.1.1
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ vscode-uri@3.1.0: {}
+
+ vue-component-type-helpers@3.3.3: {}
+
+ vue-demi@0.14.10(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ vue: 3.4.21(typescript@5.8.3)
+
+ vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.6.1)):
+ dependencies:
+ debug: 4.4.3
+ eslint: 9.34.0(jiti@2.6.1)
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.6.0
+ semver: 7.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ vue-flow-layout@0.1.1(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ vue: 3.4.21(typescript@5.8.3)
+
+ vue-i18n@9.1.9(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ '@intlify/core-base': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+ '@vue/devtools-api': 6.6.4
+ vue: 3.4.21(typescript@5.8.3)
+
+ vue-router@4.5.1(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.4.21(typescript@5.8.3)
+
+ vue-tsc@3.0.6(typescript@5.8.3):
+ dependencies:
+ '@volar/typescript': 2.4.23
+ '@vue/language-core': 3.0.6(typescript@5.8.3)
+ typescript: 5.8.3
+
+ vue@3.4.21(typescript@5.8.3):
+ dependencies:
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/runtime-dom': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3))
+ '@vue/shared': 3.4.21
+ optionalDependencies:
+ typescript: 5.8.3
+
+ w3c-hr-time@1.0.2:
+ dependencies:
+ browser-process-hrtime: 1.0.0
+
+ w3c-xmlserializer@2.0.0:
+ dependencies:
+ xml-name-validator: 3.0.0
+
+ w3c-xmlserializer@5.0.0:
+ dependencies:
+ xml-name-validator: 5.0.0
+
+ walker@1.0.8:
+ dependencies:
+ makeerror: 1.0.12
+
+ wcwidth@1.0.1:
+ dependencies:
+ defaults: 1.0.4
+
+ webidl-conversions@3.0.1: {}
+
+ webidl-conversions@5.0.0: {}
+
+ webidl-conversions@6.1.0: {}
+
+ webidl-conversions@8.0.1: {}
+
+ webpack-virtual-modules@0.6.2: {}
+
+ whatwg-encoding@1.0.5:
+ dependencies:
+ iconv-lite: 0.4.24
+
+ whatwg-mimetype@2.3.0: {}
+
+ whatwg-mimetype@5.0.0: {}
+
+ whatwg-url@16.0.1:
+ dependencies:
+ '@exodus/bytes': 1.15.1
+ tr46: 6.0.0
+ webidl-conversions: 8.0.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ whatwg-url@8.7.0:
+ dependencies:
+ lodash: 4.17.21
+ tr46: 2.1.0
+ webidl-conversions: 6.1.0
+
+ which-module@2.0.1: {}
+
+ which-typed-array@1.1.20:
+ 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
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
+ word-wrap@1.2.5: {}
+
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ wrap-ansi@9.0.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 7.2.0
+ strip-ansi: 7.1.0
+
+ wrappy@1.0.2: {}
+
+ write-file-atomic@3.0.3:
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+
+ write-file-atomic@7.0.0:
+ dependencies:
+ imurmurhash: 0.1.4
+ signal-exit: 4.1.0
+
+ ws@7.5.10: {}
+
+ ws@8.18.3: {}
+
+ wsl-utils@0.1.0:
+ dependencies:
+ is-wsl: 3.1.0
+
+ wxml-minifier@0.0.1:
+ dependencies:
+ '@leejim/wxml-parser': 0.1.6
+
+ xhr@2.6.0:
+ dependencies:
+ global: 4.4.0
+ is-function: 1.0.2
+ parse-headers: 2.0.6
+ xtend: 4.0.2
+
+ xml-name-validator@3.0.0: {}
+
+ xml-name-validator@4.0.0: {}
+
+ xml-name-validator@5.0.0: {}
+
+ xml-parse-from-string@1.0.1: {}
+
+ xml2js@0.5.0:
+ dependencies:
+ sax: 1.4.1
+ xmlbuilder: 11.0.1
+
+ xmlbuilder@11.0.1: {}
+
+ xmlbuilder@15.1.1: {}
+
+ xmlchars@2.2.0: {}
+
+ xmlhttprequest@1.8.0: {}
+
+ xregexp@3.1.0: {}
+
+ xtend@4.0.2: {}
+
+ y18n@4.0.3: {}
+
+ y18n@5.0.8: {}
+
+ yallist@3.1.1: {}
+
+ yallist@4.0.0: {}
+
+ yaml-eslint-parser@1.3.0:
+ dependencies:
+ eslint-visitor-keys: 3.4.3
+ yaml: 2.8.1
+
+ yaml@1.10.2: {}
+
+ yaml@2.8.1: {}
+
+ yargs-parser@18.1.3:
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+
+ yargs-parser@20.2.9: {}
+
+ yargs-parser@21.1.1: {}
+
+ yargs@15.4.1:
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+
+ yargs@16.2.0:
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+
+ yargs@17.7.2:
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
+ yauzl@2.10.0:
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+
+ yocto-queue@0.1.0: {}
+
+ yocto-queue@1.2.1: {}
+
+ z-paging@2.8.7: {}
+
+ zip-stream@4.1.1:
+ dependencies:
+ archiver-utils: 3.0.4
+ compress-commons: 4.1.2
+ readable-stream: 3.6.2
+
+ zwitch@2.0.4: {}
diff --git a/scripts/bump-version.js b/scripts/bump-version.js
new file mode 100644
index 0000000..f0fbb9a
--- /dev/null
+++ b/scripts/bump-version.js
@@ -0,0 +1,154 @@
+import fs from 'node:fs'
+import path from 'node:path'
+import process from 'node:process'
+import enquirer from 'enquirer'
+import pc from 'picocolors'
+
+const manifestPath = path.resolve(process.cwd(), 'manifest.config.ts')
+// 获取是否只是测试运行
+const dryRun = process.argv.includes('--dry-run')
+
+/**
+ * 将语义化版本号根据传递的类型进行递增
+ * @param {string} version 当前版本号,如 '1.1.0'
+ * @param {string} type 升级类型: 'patch' | 'minor' | 'major' | 'none'
+ * @returns {string} 新的版本号
+ */
+function bumpVersionName(version, type) {
+ if (type === 'none') return version
+
+ const parts = version.split('.')
+ let major = Number.parseInt(parts[0] || '0', 10)
+ let minor = Number.parseInt(parts[1] || '0', 10)
+ let patch = Number.parseInt(parts[2] || '0', 10)
+
+ switch (type) {
+ case 'major':
+ major += 1; minor = 0; patch = 0;
+ break;
+ case 'minor':
+ minor += 1; patch = 0;
+ break;
+ case 'patch':
+ patch += 1;
+ break;
+ }
+ return `${major}.${minor}.${patch}`
+}
+
+async function run() {
+ const source = fs.readFileSync(manifestPath, 'utf8')
+
+ // 匹配 versionCode 和 versionName 的正则表达式,支持键名带有引号的情况,例如 'versionCode': '100'
+ const versionCodeRegex = /((?:['"])?versionCode(?:['"])?\s*:\s*)(['"])(\d+)\2/
+ const versionNameRegex = /((?:['"])?versionName(?:['"])?\s*:\s*)(['"])([\d\.]+)\2/
+
+ const codeMatch = source.match(versionCodeRegex)
+ const nameMatch = source.match(versionNameRegex)
+
+ if (!codeMatch || !nameMatch) {
+ console.error(pc.red('✖ [bump-version] 未在 manifest.config.ts 中找到合法的 versionCode 或 versionName'))
+ process.exit(1)
+ }
+
+ const currentVersionCode = Number.parseInt(codeMatch[3], 10)
+ const currentVersionName = nameMatch[3]
+ const nextVersionCode = String(currentVersionCode + 1)
+
+ // 1. 检查命令行参数是否有 --type
+ const typeArgMatch = process.argv.find(arg => arg.startsWith('--type='))
+ let bumpType = typeArgMatch ? typeArgMatch.split('=')[1] : null
+
+ // 2. 环境判定:如果不在交互终端或者是CI环境,但是没有指定类型,则默认只升级 versionCode
+ const isInteractive = process.stdout.isTTY && !process.env.CI
+
+ if (!bumpType) {
+ if (!isInteractive) {
+ console.log(pc.yellow('⚠ [bump-version] 非交互环境且未指定参数,默认不修改 versionName'))
+ bumpType = 'none'
+ } else {
+ // 3. 在终端交互式询问用户怎么处理 versionName
+ console.log('')
+ console.log(pc.cyan('📦 准备发布新版本'))
+ console.log(`${pc.gray('当前版本:')} ${pc.bold(currentVersionName)} ${pc.gray(`(v${currentVersionCode})`)}`)
+ console.log('')
+
+ const response = await enquirer.prompt({
+ type: 'select',
+ name: 'selectedType',
+ message: '请选择如何升级版本名称 (versionName)?',
+ pointer: pc.cyan('❯'),
+ choices: [
+ {
+ message: `${pc.bold('修复')} (Patch) ${pc.gray(currentVersionName)} → ${pc.green(bumpVersionName(currentVersionName, 'patch'))}`,
+ name: 'patch',
+ hint: pc.gray('修复Bug、极小的代码安全变动')
+ },
+ {
+ message: `${pc.bold('特性')} (Minor) ${pc.gray(currentVersionName)} → ${pc.cyan(bumpVersionName(currentVersionName, 'minor'))}`,
+ name: 'minor',
+ hint: pc.gray('新增功能、向下兼容的API更新')
+ },
+ {
+ message: `${pc.bold('重大')} (Major) ${pc.gray(currentVersionName)} → ${pc.magenta(bumpVersionName(currentVersionName, 'major'))}`,
+ name: 'major',
+ hint: pc.gray('重大重构、不兼容的API修改')
+ },
+ {
+ message: `${pc.bold('仅Code')} (None) ${pc.gray('保持 ' + currentVersionName)}`,
+ name: 'none',
+ hint: pc.gray('保持名称不变,仅升级构建号(versionCode)')
+ },
+ {
+ message: `${pc.bold('取消')} (Cancel) ${pc.gray('完全不升级版本')}`,
+ name: 'cancel',
+ hint: pc.gray('跳过版本修改,直接进入后续打包流程')
+ },
+ ],
+ // 如果用户按 ctrl+c 退出
+ onCancel: () => {
+ console.log(pc.red('✖ 取消操作并退出编译'))
+ process.exit(1)
+ }
+ })
+ bumpType = response.selectedType
+
+ // 用户选择了完全不升级
+ if (bumpType === 'cancel') {
+ console.log('')
+ console.log(pc.green('✔ 已跳过版本升级操作'))
+ console.log('')
+ process.exit(0)
+ }
+ }
+ }
+
+ // 4. 根据类型计算下一代版本并进行替换计算
+ const nextVersionName = bumpVersionName(currentVersionName, bumpType)
+
+ let updated = source.replace(versionCodeRegex, `${codeMatch[1]}${codeMatch[2]}${nextVersionCode}${codeMatch[2]}`)
+ updated = updated.replace(versionNameRegex, `${nameMatch[1]}${nameMatch[2]}${nextVersionName}${nameMatch[2]}`)
+
+ // 5. 回填文件内容
+ if (!dryRun) {
+ fs.writeFileSync(manifestPath, updated, 'utf8')
+ }
+
+ // 美化成功提示输出
+ console.log('')
+ console.log(pc.green(`✔ ${dryRun ? '(模拟运行) ' : ''}版本更新成功!`))
+
+ if (bumpType !== 'none') {
+ console.log(` ${pc.gray('versionName:')} ${pc.strikethrough(pc.gray(currentVersionName))} → ${pc.bold(pc.green(nextVersionName))}`)
+ } else {
+ console.log(` ${pc.gray('versionName:')} ${pc.dim(currentVersionName)} (未更改)`)
+ }
+
+ console.log(` ${pc.gray('versionCode:')} ${pc.strikethrough(pc.gray(currentVersionCode))} → ${pc.bold(pc.green(nextVersionCode))}`)
+ console.log('')
+}
+
+run().catch(err => {
+ console.error(pc.red('✖ [bump-version] 发生错误:'), err)
+ process.exit(1)
+})
diff --git a/scripts/create-base-files.js b/scripts/create-base-files.js
new file mode 100644
index 0000000..bc45af8
--- /dev/null
+++ b/scripts/create-base-files.js
@@ -0,0 +1,55 @@
+// 基础配置文件生成脚本
+// 此脚本用于生成 src/manifest.json 和 src/pages.json 基础文件
+// 由于这两个配置文件会被添加到 .gitignore 中,因此需要通过此脚本确保项目能正常运行
+import fs from 'node:fs'
+import path from 'node:path'
+import { fileURLToPath } from 'node:url'
+
+// 获取当前文件的目录路径(替代 CommonJS 中的 __dirname)
+const __filename = fileURLToPath(import.meta.url)
+const __dirname = path.dirname(__filename)
+
+// 最简可运行配置
+const manifest = { }
+const pages = {
+ pages: [
+ {
+ path: 'pages/index/index',
+ type: 'home',
+ style: {
+ navigationStyle: 'custom',
+ navigationBarTitleText: '首页',
+ },
+ },
+ {
+ path: 'pages/me/me',
+ type: 'page',
+ style: {
+ navigationBarTitleText: '我的',
+ },
+ },
+ ],
+ subPackages: [],
+}
+
+// 使用修复后的 __dirname 来解析文件路径
+const manifestPath = path.resolve(__dirname, '../src/manifest.json')
+const pagesPath = path.resolve(__dirname, '../src/pages.json')
+
+// 确保 src 目录存在
+const srcDir = path.resolve(__dirname, '../src')
+if (!fs.existsSync(srcDir)) {
+ fs.mkdirSync(srcDir, { recursive: true })
+}
+
+const MIN_SIZE = `{ }`.length // 如果只有一个空对象,必定是不对的,需要重新生成
+
+// 如果 src/manifest.json 不存在,就创建它;或者如果文件大小小于等于 MIN_SIZE,也重新创建
+if (!fs.existsSync(manifestPath) || fs.statSync(manifestPath).size <= MIN_SIZE) {
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2))
+}
+
+// 如果 src/pages.json 不存在,就创建它;或者如果文件大小小于等于 MIN_SIZE,也重新创建
+if (!fs.existsSync(pagesPath) || fs.statSync(pagesPath).size <= MIN_SIZE) {
+ fs.writeFileSync(pagesPath, JSON.stringify(pages, null, 2))
+}
diff --git a/scripts/open-dev-tools.js b/scripts/open-dev-tools.js
new file mode 100644
index 0000000..ad6ba45
--- /dev/null
+++ b/scripts/open-dev-tools.js
@@ -0,0 +1,107 @@
+import { exec } from 'node:child_process'
+import fs from 'node:fs'
+import path from 'node:path'
+import process from 'node:process'
+
+/**
+ * 打开开发者工具
+ * @param {string} env - 环境,'dev' 或 'build'
+ * @param {object} options - 配置选项
+ * @param {string} options.wechatDevtoolsCliPath - 微信开发者工具 CLI 路径
+ */
+function _openDevTools(env = 'dev', options = {}) {
+ const { wechatDevtoolsCliPath } = options
+ const platform = process.platform // darwin, win32, linux
+ const { UNI_PLATFORM } = process.env // mp-weixin, mp-alipay, mp-lark
+
+ const uniPlatformText = UNI_PLATFORM === 'mp-weixin' ? '微信小程序' : UNI_PLATFORM === 'mp-alipay' ? '支付宝小程序' : UNI_PLATFORM === 'mp-lark' ? '抖音小程序' : '小程序'
+
+ // 项目路径(构建输出目录),根据环境选择不同目录
+ const outputDir = env === 'build' ? `dist/build/${UNI_PLATFORM}` : `dist/dev/${UNI_PLATFORM}`
+ const projectPath = path.resolve(process.cwd(), outputDir)
+
+ // 检查构建输出目录是否存在
+ if (!fs.existsSync(projectPath)) {
+ console.log(`❌ ${uniPlatformText}构建目录不存在:`, projectPath)
+ return
+ }
+
+ console.log(`🚀 正在打开${uniPlatformText}开发者工具...`)
+
+ // 根据不同操作系统执行不同命令
+ let command = ''
+
+ if (platform === 'darwin') {
+ // macOS
+ if (UNI_PLATFORM === 'mp-weixin') {
+ const cliPath = wechatDevtoolsCliPath || '/Applications/wechatwebdevtools.app/Contents/MacOS/cli'
+ command = `"${cliPath}" -o "${projectPath}"`
+ }
+ else if (UNI_PLATFORM === 'mp-alipay') {
+ command = `/Applications/小程序开发者工具.app/Contents/MacOS/小程序开发者工具 --p "${projectPath}"`
+ }
+ else if (UNI_PLATFORM === 'mp-lark') {
+ command = `/Applications/抖音开发者工具.app/Contents/MacOS/抖音开发者工具 --p "${projectPath}"`
+ }
+ }
+ else if (platform === 'win32' || platform === 'win64') {
+ // Windows
+ if (UNI_PLATFORM === 'mp-weixin') {
+ const cliPath = wechatDevtoolsCliPath || 'C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat'
+ command = `"${cliPath}" -o "${projectPath}"`
+ }
+ }
+ else {
+ // Linux 或其他系统
+ console.log('❌ 当前系统不支持自动打开微信开发者工具')
+ return
+ }
+
+ exec(command, (error, stdout, stderr) => {
+ if (error) {
+ console.log(`❌ 打开${uniPlatformText}开发者工具失败:`, error.message)
+ if (UNI_PLATFORM === 'mp-weixin') {
+ console.log('💡 当前使用的微信开发者工具 CLI 命令:', command)
+ console.log('💡 如果安装位置不同,可以在 env/.env 配置 WECHAT_DEVTOOLS_CLI_PATH 为本机实际 CLI 路径')
+ }
+ console.log(`💡 请确保${uniPlatformText}开发者工具服务端口已启用`)
+ console.log(`💡 可以手动打开${uniPlatformText}开发者工具并导入项目:`, projectPath)
+ return
+ }
+
+ if (stderr) {
+ console.log('⚠️ 警告:', stderr)
+ }
+
+ console.log(`✅ ${uniPlatformText}开发者工具已打开`)
+
+ if (stdout) {
+ console.log(stdout)
+ }
+ })
+}
+
+/**
+ * 创建 Vite 插件,用于自动打开开发者工具
+ * @param {object} options - 配置选项
+ * @param {string} options.mode - 构建模式,'development' 或 'production'
+ * @param {string} options.wechatDevtoolsCliPath - 微信开发者工具 CLI 路径
+ */
+export default function openDevTools(options = {}) {
+ const { mode = 'development', wechatDevtoolsCliPath } = options
+ // 根据 mode 确定环境:development -> dev, production -> build
+ const env = mode === 'production' ? 'build' : 'dev'
+
+ // 首次构建标记
+ let isFirstBuild = true
+
+ return {
+ name: 'uni-devtools',
+ writeBundle() {
+ if (isFirstBuild && process.env.UNI_PLATFORM?.includes('mp')) {
+ isFirstBuild = false
+ _openDevTools(env, { wechatDevtoolsCliPath })
+ }
+ },
+ }
+}
diff --git a/scripts/postupgrade.js b/scripts/postupgrade.js
new file mode 100644
index 0000000..35c2e2a
--- /dev/null
+++ b/scripts/postupgrade.js
@@ -0,0 +1,95 @@
+// # 执行 `pnpm upgrade` 后会升级 `uniapp` 相关依赖
+// # 在升级完后,会自动添加很多无用依赖,这需要删除以减小依赖包体积
+// # 只需要执行下面的命令即可
+
+import { exec } from 'node:child_process'
+import { promisify } from 'node:util'
+
+// 日志控制开关,设置为 true 可以启用所有日志输出
+const FG_LOG_ENABLE = true
+
+// 将 exec 转换为返回 Promise 的函数
+const execPromise = promisify(exec)
+
+// 定义要执行的命令
+const dependencies = [
+ // TODO: 如果不需要某个平台的小程序,请手动删除或注释掉
+ '@dcloudio/uni-mp-baidu',
+ '@dcloudio/uni-mp-jd',
+ '@dcloudio/uni-mp-kuaishou',
+ '@dcloudio/uni-mp-qq',
+ '@dcloudio/uni-mp-xhs',
+ '@dcloudio/uni-quickapp-webview',
+]
+
+/**
+ * 带开关的日志输出函数
+ * @param {string} message 日志消息
+ * @param {string} type 日志类型 (log, error)
+ */
+function log(message, type = 'log') {
+ if (FG_LOG_ENABLE) {
+ if (type === 'error') {
+ console.error(message)
+ }
+ else {
+ console.log(message)
+ }
+ }
+}
+
+/**
+ * 卸载单个依赖包
+ * @param {string} dep 依赖包名
+ * @returns {Promise} 是否成功卸载
+ */
+async function uninstallDependency(dep) {
+ try {
+ log(`开始卸载依赖: ${dep}`)
+ const { stdout, stderr } = await execPromise(`pnpm un ${dep}`)
+ if (stdout) {
+ log(`stdout [${dep}]: ${stdout}`)
+ }
+ if (stderr) {
+ log(`stderr [${dep}]: ${stderr}`, 'error')
+ }
+ log(`成功卸载依赖: ${dep}`)
+ return true
+ }
+ catch (error) {
+ // 单个依赖卸载失败不影响其他依赖
+ log(`卸载依赖 ${dep} 失败: ${error.message}`, 'error')
+ return false
+ }
+}
+
+/**
+ * 串行卸载所有依赖包
+ */
+async function uninstallAllDependencies() {
+ log(`开始串行卸载 ${dependencies.length} 个依赖包...`)
+
+ let successCount = 0
+ let failedCount = 0
+
+ // 串行执行所有卸载命令
+ for (const dep of dependencies) {
+ const success = await uninstallDependency(dep)
+ if (success) {
+ successCount++
+ }
+ else {
+ failedCount++
+ }
+
+ // 为了避免命令执行过快导致的问题,添加短暂延迟
+ await new Promise(resolve => setTimeout(resolve, 100))
+ }
+
+ log(`卸载操作完成: 成功 ${successCount} 个, 失败 ${failedCount} 个`)
+}
+
+// 执行串行卸载
+uninstallAllDependencies().catch((err) => {
+ log(`串行卸载过程中出现未捕获的错误: ${err}`, 'error')
+})
diff --git a/scripts/upload-weixin.js b/scripts/upload-weixin.js
new file mode 100644
index 0000000..b56d12b
--- /dev/null
+++ b/scripts/upload-weixin.js
@@ -0,0 +1,270 @@
+/**
+ * 微信小程序 CLI 上传脚本
+ *
+ * 使用方法:
+ * pnpm upload:mp # 版本号读取 package.json,描述使用最新 Git commit
+ * pnpm upload:mp --version=1.0.1 # 指定版本号(覆盖 package.json)
+ * pnpm upload:mp --desc="修复bug" # 指定版本描述(覆盖 Git commit)
+ * pnpm upload:mp --robot=2 # 指定机器人编号(1-30)
+ * pnpm upload:mp --version=2.0.0 --desc="重大更新" # 组合使用多个参数
+ *
+ * 版本号策略: 命令行参数 > package.json version
+ * 描述策略: 命令行参数 > Git 最新 commit > 默认时间戳
+ *
+ * 注意事项:
+ * 1. 确保已在微信公众平台开通 "小程序代码上传" 权限
+ * 2. 确保私钥文件存在(private.${appid}.key),并且配置了上传IP白名单
+ * 3. 上传前会自动执行 build:mp:prod 构建 并跳过打开开发者工具
+ * 4. 秘钥文件的appid(VITE_WX_APPID)需要与微信公众平台的小程序appid一致
+ */
+
+import { execSync } from 'node:child_process'
+import fs from 'node:fs'
+import path from 'node:path'
+import process from 'node:process'
+import { fileURLToPath } from 'node:url'
+import ci from 'miniprogram-ci'
+
+const __filename = fileURLToPath(import.meta.url)
+const __dirname = path.dirname(__filename)
+const ROOT_DIR = path.resolve(__dirname, '..')
+
+// 从 package.json 读取版本号
+function getPackageVersion() {
+ try {
+ const pkgPath = path.resolve(ROOT_DIR, 'package.json')
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))
+ return pkg.version || '1.0.0'
+ }
+ catch {
+ return '1.0.0'
+ }
+}
+
+// 获取最新的 Git commit 信息
+function getGitCommitMessage() {
+ try {
+ // 获取最新 commit 的作者和标题
+ const message = execSync('git log -1 --pretty="%an: %s"', {
+ cwd: ROOT_DIR,
+ encoding: 'utf-8',
+ }).trim()
+ return message || null
+ }
+ catch {
+ return null
+ }
+}
+
+// 生成默认描述
+function getDefaultDesc() {
+ // 优先使用 Git commit 信息
+ const gitMessage = getGitCommitMessage()
+ if (gitMessage) {
+ return gitMessage
+ }
+ // 回退到时间戳
+ return `上传于 ${new Date().toLocaleString('zh-CN')}`
+}
+
+// 解析命令行参数
+function parseArgs() {
+ const args = process.argv.slice(2)
+ const params = {
+ version: null, // 稍后设置,优先级:命令行 > package.json
+ desc: null, // 稍后设置,优先级:命令行 > Git commit > 默认
+ robot: 1, // 机器人编号 1-30
+ }
+
+ args.forEach((arg) => {
+ if (arg.startsWith('--version=')) {
+ params.version = arg.split('=')[1]
+ }
+ else if (arg.startsWith('--desc=')) {
+ params.desc = arg.split('=')[1]
+ }
+ else if (arg.startsWith('--robot=')) {
+ params.robot = Number.parseInt(arg.split('=')[1], 10)
+ }
+ })
+
+ // 如果命令行没有指定版本号,则读取 package.json
+ if (!params.version) {
+ params.version = getPackageVersion()
+ }
+
+ // 如果命令行没有指定描述,则读取 Git commit 或使用默认
+ if (!params.desc) {
+ params.desc = getDefaultDesc()
+ }
+
+ return params
+}
+
+// 读取环境变量
+function loadEnvFile(mode = 'production') {
+ const envPath = path.resolve(ROOT_DIR, 'env', `.env.${mode}`)
+ const defaultEnvPath = path.resolve(ROOT_DIR, 'env', '.env')
+
+ const envContent = {}
+
+ // 先读取默认 .env
+ if (fs.existsSync(defaultEnvPath)) {
+ const content = fs.readFileSync(defaultEnvPath, 'utf-8')
+ content.split('\n').forEach((line) => {
+ const trimmed = line.trim()
+ if (trimmed && !trimmed.startsWith('#')) {
+ const [key, ...valueParts] = trimmed.split('=')
+ if (key) {
+ envContent[key.trim()] = valueParts.join('=').trim().replace(/^['"]|['"]$/g, '')
+ }
+ }
+ })
+ }
+
+ // 再读取对应模式的 .env 文件(会覆盖默认值)
+ if (fs.existsSync(envPath)) {
+ const content = fs.readFileSync(envPath, 'utf-8')
+ content.split('\n').forEach((line) => {
+ const trimmed = line.trim()
+ if (trimmed && !trimmed.startsWith('#')) {
+ const [key, ...valueParts] = trimmed.split('=')
+ if (key) {
+ envContent[key.trim()] = valueParts.join('=').trim().replace(/^['"]|['"]$/g, '')
+ }
+ }
+ })
+ }
+
+ return envContent
+}
+
+// 获取私钥路径
+function getPrivateKeyPath(appid) {
+ // 查找私钥文件
+ const keyPatterns = [
+ `private.${appid}.key`,
+ 'private.key',
+ ]
+
+ for (const pattern of keyPatterns) {
+ const keyPath = path.resolve(ROOT_DIR, pattern)
+ if (fs.existsSync(keyPath)) {
+ return keyPath
+ }
+ }
+
+ throw new Error(`未找到私钥文件,请确保项目根目录存在 private.${appid}.key 文件`)
+}
+
+// 主函数
+async function main() {
+ console.log('\n🚀 开始微信小程序上传流程...\n')
+
+ const params = parseArgs()
+ const env = loadEnvFile('production')
+ const appid = env.VITE_WX_APPID
+
+ if (!appid) {
+ throw new Error('未找到 VITE_WX_APPID 环境变量,请检查 env/.env 文件')
+ }
+
+ console.log(`📱 AppID: ${appid}`)
+ console.log(`📌 版本号: ${params.version}`)
+ console.log(`📝 版本描述: ${params.desc}`)
+ console.log(`🤖 机器人编号: ${params.robot}`)
+
+ // 获取私钥路径
+ const privateKeyPath = getPrivateKeyPath(appid)
+ console.log(`🔑 私钥路径: ${privateKeyPath}`)
+
+ // 构建小程序(跳过自动打开开发者工具)
+ console.log('\n📦 正在构建小程序...(跳过自动打开开发者工具)\n')
+ try {
+ execSync('pnpm build:mp:prod', {
+ cwd: ROOT_DIR,
+ stdio: 'inherit',
+ env: {
+ ...process.env,
+ SKIP_OPEN_DEVTOOLS: 'true', // 上传时跳过打开开发者工具
+ },
+ })
+ }
+ catch (error) {
+ console.error('❌ 构建失败:', error.message)
+ process.exit(1)
+ }
+
+ // 小程序代码目录
+ const projectPath = path.resolve(ROOT_DIR, 'dist', 'build', 'mp-weixin')
+
+ if (!fs.existsSync(projectPath)) {
+ throw new Error(`构建产物不存在: ${projectPath}`)
+ }
+
+ console.log(`📂 项目路径: ${projectPath}`)
+ console.log('\n⬆️ 正在上传到微信服务器...\n')
+
+ // 创建项目实例
+ const project = new ci.Project({
+ appid,
+ type: 'miniProgram',
+ projectPath,
+ privateKeyPath,
+ ignores: ['node_modules/**/*'],
+ })
+
+ try {
+ // 上传代码
+ const uploadResult = await ci.upload({
+ project,
+ version: params.version,
+ desc: params.desc,
+ robot: params.robot,
+ setting: {
+ es6: true,
+ es7: true,
+ minify: true,
+ autoPrefixWXSS: true,
+ minifyWXML: true,
+ minifyWXSS: true,
+ minifyJS: true,
+ },
+ onProgressUpdate: (task) => {
+ if (task._status === 'done') {
+ console.log(` ✅ ${task._msg}`)
+ }
+ },
+ })
+
+ console.log('\n✅ 上传成功!')
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')
+ console.log(` 📌 版本号: ${params.version}`)
+ console.log(` 📝 描述: ${params.desc}`)
+ console.log(` 🤖 机器人: ${params.robot}`)
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')
+ console.log('\n📋 下一步操作:')
+ console.log(' 1. 登录微信公众平台: https://mp.weixin.qq.com')
+ console.log(' 2. 进入 "管理 -> 版本管理"')
+ console.log(' 3. 在 "开发版本" 中找到刚上传的版本')
+ console.log(' 4. 点击 "选为体验版" 按钮\n')
+
+ return uploadResult
+ }
+ catch (error) {
+ console.error('\n❌ 上传失败:', error.message)
+ if (error.message.includes('privateKeyPath')) {
+ console.log('\n💡 提示: 请确保已在微信公众平台配置代码上传密钥')
+ console.log(' 1. 登录微信公众平台')
+ console.log(' 2. 进入 "开发 -> 开发设置"')
+ console.log(' 3. 在 "小程序代码上传" 区域生成并下载密钥')
+ console.log(' 4. 在 "小程序代码上传" 区域配置上传IP白名单')
+ }
+ process.exit(1)
+ }
+}
+
+main().catch((error) => {
+ console.error('❌ 执行出错:', error)
+ process.exit(1)
+})
diff --git a/scripts/vite-plugin-eruda.js b/scripts/vite-plugin-eruda.js
new file mode 100644
index 0000000..c9b2b66
--- /dev/null
+++ b/scripts/vite-plugin-eruda.js
@@ -0,0 +1,37 @@
+/**
+ * @description 通过 vite 自定义条件动态导入 eruda
+ * @description Eruda 配置参考 https://eruda.liriliri.io/zh/docs/
+ * @param {object} options
+ * @param {boolean} [options.open] - 是否开启 eruda
+ * @param {object} [options.erudaOptions] - eruda 配置
+ * @param {string} [options.erudaUrl] - eruda 地址
+ */
+export default function vitePluginEruda(options = {}) {
+ const { open = true, erudaOptions = {}, erudaUrl = 'https://cdn.jsdelivr.net/npm/eruda' } = options
+
+ return {
+ name: 'vite-plugin-eruda',
+
+ transformIndexHtml(html) {
+ const tags = [
+ {
+ tag: 'script',
+ attrs: {
+ src: erudaUrl,
+ },
+ injectTo: 'head',
+ },
+ {
+ tag: 'script',
+ children: `eruda.init(${JSON.stringify(erudaOptions)});`,
+ injectTo: 'head',
+ },
+ ]
+
+ if (!open) {
+ return html
+ }
+ return { html, tags }
+ },
+ }
+}
diff --git a/src/App.ku.vue b/src/App.ku.vue
new file mode 100644
index 0000000..5bf77d6
--- /dev/null
+++ b/src/App.ku.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ {{ helloKuRoot }},这里可以配置全局的东西
+
+
+
+
+
+
+
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..c17eb06
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,52 @@
+
+
+
diff --git a/src/api/foo-alova.ts b/src/api/foo-alova.ts
new file mode 100644
index 0000000..de35095
--- /dev/null
+++ b/src/api/foo-alova.ts
@@ -0,0 +1,17 @@
+import { API_DOMAINS, http } from '@/http/alova'
+
+export interface IFoo {
+ id: number
+ name: string
+}
+
+export function foo() {
+ return http.Get('/foo', {
+ params: {
+ name: '菲鸽',
+ page: 1,
+ pageSize: 10,
+ },
+ meta: { domain: API_DOMAINS.SECONDARY }, // 用于切换请求地址
+ })
+}
diff --git a/src/api/foo.ts b/src/api/foo.ts
new file mode 100644
index 0000000..a500002
--- /dev/null
+++ b/src/api/foo.ts
@@ -0,0 +1,43 @@
+import { http } from '@/http/http'
+
+export interface IFoo {
+ id: number
+ name: string
+}
+
+export function foo() {
+ return http.Get('/foo', {
+ params: {
+ name: '菲鸽',
+ page: 1,
+ pageSize: 10,
+ },
+ })
+}
+
+export interface IFooItem {
+ id: string
+ name: string
+}
+
+/** GET 请求 */
+export async function getFooAPI(name: string) {
+ return await http.get('/foo', { name })
+}
+/** GET 请求;支持 传递 header 的范例 */
+export function getFooAPI2(name: string) {
+ return http.get('/foo', { name }, { 'Content-Type-100': '100' })
+}
+
+/** POST 请求 */
+export function postFooAPI(name: string) {
+ return http.post('/foo', { name })
+}
+/** POST 请求;需要传递 query 参数的范例;微信小程序经常有同时需要query参数和body参数的场景 */
+export function postFooAPI2(name: string) {
+ return http.post('/foo', { name }, { a: 1, b: 2 })
+}
+/** POST 请求;支持 传递 header 的范例 */
+export function postFooAPI3(name: string) {
+ return http.post('/foo', { name }, { a: 1, b: 2 }, { 'Content-Type-100': '100' })
+}
diff --git a/src/api/halo-base/category.ts b/src/api/halo-base/category.ts
new file mode 100644
index 0000000..a3cbfaa
--- /dev/null
+++ b/src/api/halo-base/category.ts
@@ -0,0 +1,42 @@
+import { http } from '@/http/alova'
+import qs from 'qs'
+import type { CategoryV1alpha1PublicApiQueryCategoriesRequest, CategoryV1alpha1PublicApiQueryCategoryByNameRequest, CategoryV1alpha1PublicApiQueryPostsByCategoryNameRequest, CategoryVo, CategoryVoList, ListedPostVoList } from '@halo-dev/api-client'
+
+const EndpointBase = '/apis/api.content.halo.run/v1alpha1/categories'
+
+/**
+ * 查询分类列表
+ * @param params 查询参数
+ * @returns 分类列表
+ */
+export function queryCategories(params: CategoryV1alpha1PublicApiQueryCategoriesRequest) {
+ // const paramString = qs.stringify(params, {
+ // allowDots: true,
+ // encodeValuesOnly: true,
+ // skipNulls: true,
+ // encode: false,
+ // arrayFormat: 'repeat',
+ // })
+ return http.Get(EndpointBase, { params, meta: { isHalo: true } })
+}
+
+/**
+ * 根据分类名称查询分类
+ * @param params 查询参数
+ * @returns 分类
+ */
+export function queryCategoryByName(params: CategoryV1alpha1PublicApiQueryCategoryByNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}`, { params, meta: { isHalo: true } })
+}
+
+/**
+ * 根据分类名称查询分类下的文章列表
+ * @param params 查询参数
+ * @returns 文章列表
+ */
+export function queryPostsByCategoryName(params: CategoryV1alpha1PublicApiQueryPostsByCategoryNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}/posts`, {
+ params,
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-base/comment.ts b/src/api/halo-base/comment.ts
new file mode 100644
index 0000000..a91040a
--- /dev/null
+++ b/src/api/halo-base/comment.ts
@@ -0,0 +1,72 @@
+import { http } from '@/http/alova'
+import type { Comment, CommentV1alpha1PublicApiCreateComment1Request, CommentV1alpha1PublicApiCreateReply1Request, CommentV1alpha1PublicApiGetCommentRequest, CommentV1alpha1PublicApiListCommentRepliesRequest, CommentV1alpha1PublicApiListComments1Request, CommentVoList, CommentWithReplyVoList, Reply, ReplyVoList } from '@halo-dev/api-client'
+
+const EndpointBase = '/apis/api.halo.run/v1alpha1/comments'
+
+/**
+ * 创建评论
+ * @param data 创建评论请求参数
+ * @returns 创建评论响应参数
+ */
+export function createComment(data: CommentV1alpha1PublicApiCreateComment1Request) {
+ return http.Post(`${EndpointBase}`, data, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 创建回复
+ * @param data 创建回复请求参数
+ * @returns 创建回复响应参数
+ */
+export function createReply(data: CommentV1alpha1PublicApiCreateReply1Request) {
+ return http.Post(`${EndpointBase}/${data.name}/reply`, data, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取评论列表
+ * @param params 获取评论列表请求参数
+ * @returns 获取评论列表响应参数
+ */
+export function listComments(params: CommentV1alpha1PublicApiListComments1Request) {
+ return http.Get(`${EndpointBase}`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取评论回复列表
+ * @param params 获取评论回复列表请求参数
+ * @returns 获取评论回复列表响应参数
+ */
+export function listCommentReplies(params: CommentV1alpha1PublicApiListCommentRepliesRequest) {
+ return http.Get(`${EndpointBase}/${params.name}/reply`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取评论详情
+ * @param params 获取评论详情请求参数
+ * @returns 获取评论详情响应参数
+ */
+export function getComment(params: CommentV1alpha1PublicApiGetCommentRequest) {
+ return http.Get(`${EndpointBase}/${params.name}`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
diff --git a/src/api/halo-base/common.ts b/src/api/halo-base/common.ts
new file mode 100644
index 0000000..3291f39
--- /dev/null
+++ b/src/api/halo-base/common.ts
@@ -0,0 +1,24 @@
+import { http } from '@/http/alova'
+import type { IndexV1alpha1PublicApiIndicesSearchRequest, SearchResult } from '@halo-dev/api-client'
+
+/**
+ * 检查插件是否可用
+ * @param pluginId 插件ID
+ * @returns 插件是否可用
+ */
+export function checkPluginAvailable(pluginId: string) {
+ return http.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/${pluginId}/available`, {
+ meta: { isHalo: true },
+ })
+}
+
+/**
+ * 内容搜索(全局搜索)
+ * @param data 搜索参数
+ * @returns 搜索结果
+ */
+export function indicesSearch(data: IndexV1alpha1PublicApiIndicesSearchRequest) {
+ return http.Post(`/apis/api.halo.run/v1alpha1/indices/-/search`, data, {
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-base/post.ts b/src/api/halo-base/post.ts
new file mode 100644
index 0000000..2b5338f
--- /dev/null
+++ b/src/api/halo-base/post.ts
@@ -0,0 +1,43 @@
+import { http } from '@/http/alova'
+import { getNoLoginEmail, getOpenid } from '@/utils/auth'
+import type { ListedPostVoList, NavigationPostVo, PostV1alpha1PublicApiQueryPostByNameRequest, PostV1alpha1PublicApiQueryPostsRequest, PostVo } from '@halo-dev/api-client'
+
+const EndpointBase = '/apis/api.content.halo.run/v1alpha1/posts'
+
+/**
+ * 查询文章列表
+ * @param params 查询参数
+ * @returns 文章列表
+ */
+export function queryPosts(params?: PostV1alpha1PublicApiQueryPostsRequest) {
+ return http.Get(EndpointBase, {
+ params,
+ meta: { isHalo: true },
+ })
+}
+
+/**
+ * 根据名称查询文章
+ * @param params 查询参数
+ * @returns 文章
+ */
+export function queryPostByName(params: PostV1alpha1PublicApiQueryPostByNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}`, {
+ meta: { isHalo: true },
+ headers: {
+ 'Wechat-Session-Id': getOpenid(),
+ 'nologin-email': getNoLoginEmail(),
+ },
+ })
+}
+
+/**
+ * 根据名称查询文章导航(上一篇下一篇数据)
+ * @param params 查询参数
+ * @returns 文章导航
+ */
+export function queryPostNavigationByName(params: PostV1alpha1PublicApiQueryPostByNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}/navigation`, {
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-base/stats.ts b/src/api/halo-base/stats.ts
new file mode 100644
index 0000000..b1c4d75
--- /dev/null
+++ b/src/api/halo-base/stats.ts
@@ -0,0 +1,19 @@
+import { http } from '@/http/alova'
+
+export interface SiteStatsVo {
+ category: number
+ comment: number
+ post: number
+ upvote: number
+ visit: number
+}
+
+/**
+ * 获取站点统计信息
+ * @returns 站点统计信息
+ */
+export function getSiteStats() {
+ return http.Get(`/apis/api.halo.run/v1alpha1/stats/-`, {
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-base/tag.ts b/src/api/halo-base/tag.ts
new file mode 100644
index 0000000..012486f
--- /dev/null
+++ b/src/api/halo-base/tag.ts
@@ -0,0 +1,34 @@
+import { http } from '@/http/alova'
+import type { ListedPostVoList, TagV1alpha1PublicApiQueryPostsByTagNameRequest, TagV1alpha1PublicApiQueryTagByNameRequest, TagV1alpha1PublicApiQueryTagsRequest, TagVo, TagVoList } from '@halo-dev/api-client'
+
+const EndpointBase = '/apis/api.content.halo.run/v1alpha1/tags'
+
+/**
+ * 查询标签列表
+ * @param params 查询参数
+ * @returns 标签列表
+ */
+export function queryTags(params: TagV1alpha1PublicApiQueryTagsRequest) {
+ return http.Get(EndpointBase, { params, meta: { isHalo: true } })
+}
+
+/**
+ * 根据标签名称查询标签
+ * @param params 查询参数
+ * @returns 标签
+ */
+export function queryTagByName(params: TagV1alpha1PublicApiQueryTagByNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}`, { params, meta: { isHalo: true } })
+}
+
+/**
+ * 根据标签名称查询标签下的文章列表
+ * @param params 查询参数
+ * @returns 文章列表
+ */
+export function queryPostsByTagName(params: TagV1alpha1PublicApiQueryPostsByTagNameRequest) {
+ return http.Get(`${EndpointBase}/${params.name}/posts`, {
+ params,
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-base/trackers.ts b/src/api/halo-base/trackers.ts
new file mode 100644
index 0000000..a43d413
--- /dev/null
+++ b/src/api/halo-base/trackers.ts
@@ -0,0 +1,52 @@
+import { http } from '@/http/alova'
+
+const EndpointBase = '/apis/api.halo.run/v1alpha1/trackers'
+
+export interface CounterRequest {
+ group: string
+ hostname: string
+ language: string
+ name: string
+ plural: string
+ referrer: string
+ screen: string
+}
+
+export interface VoteRequest {
+ group: string
+ name: string
+ plural: string
+}
+
+/**
+ * 提交点赞
+ * @param data 点赞参数
+ * @returns 点赞结果
+ */
+export function upvote(data: VoteRequest) {
+ return http.Post(`${EndpointBase}/upvote`, data, {
+ meta: { isHalo: true },
+ })
+}
+
+/**
+ * 取消点赞
+ * @param data 点赞参数
+ * @returns 点赞结果
+ */
+export function downvote(data: VoteRequest) {
+ return http.Post(`${EndpointBase}/downvote`, data, {
+ meta: { isHalo: true },
+ })
+}
+
+/**
+ * 提交访问量(统计)
+ * @param data 访问量参数
+ * @returns 访问量结果
+ */
+export function trackersCounter(data: CounterRequest) {
+ return http.Post(`${EndpointBase}/counter`, data, {
+ meta: { isHalo: true },
+ })
+}
diff --git a/src/api/halo-plugin/data-statistics.ts b/src/api/halo-plugin/data-statistics.ts
new file mode 100644
index 0000000..9179a3e
--- /dev/null
+++ b/src/api/halo-plugin/data-statistics.ts
@@ -0,0 +1,24 @@
+import { http } from '@/http/alova'
+
+/**
+ * 获取图表统计数据
+ * @description - 标签、分类、文章发布趋势、评论活跃用户、获取热门文章top10
+ */
+export function getChartData() {
+ return http.Get(`/apis/api.data.statistics.xhhao.com/v1alpha1/chart/data`, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取Github配置信息
+ */
+export function getGithubConfig() {
+ return http.Get('/apis/api.data.statistics.xhhao.com/v1alpha1/github/config', {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
diff --git a/src/api/halo-plugin/douban.ts b/src/api/halo-plugin/douban.ts
new file mode 100644
index 0000000..6001c17
--- /dev/null
+++ b/src/api/halo-plugin/douban.ts
@@ -0,0 +1,11 @@
+import { http } from '@/http/alova'
+
+/**
+ * 获取豆瓣电影详情
+ * @param params 获取豆瓣电影详情请求参数
+ * @param params.url 豆瓣电影URL
+ * @returns 获取豆瓣电影详情响应参数
+ */
+export function queryDoubanDetailByUrl(params: { url: string }) {
+ return http.Get(`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail`, { params })
+}
diff --git a/src/api/halo-plugin/link.ts b/src/api/halo-plugin/link.ts
new file mode 100644
index 0000000..b2a8486
--- /dev/null
+++ b/src/api/halo-plugin/link.ts
@@ -0,0 +1,19 @@
+import { http } from '@/http/alova'
+
+/**
+ * 获取链接组分组列表
+ * @param params 获取链接分分组列表请求参数
+ * @returns 获取链接分分组组列表响应参数
+ */
+export function queryLinkGroups(params: any) {
+ return http.Get(`/apis/api.link.halo.run/v1alpha1/linkgroups`, { params })
+}
+
+/**
+ * 获取链接列表
+ * @param params 获取链接列表请求参数
+ * @returns 获取链接列表响应参数
+ */
+export function queryLinks(params: any) {
+ return http.Get(`/apis/api.link.halo.run/v1alpha1/links`, { params })
+}
diff --git a/src/api/halo-plugin/moment.ts b/src/api/halo-plugin/moment.ts
new file mode 100644
index 0000000..b9b74a4
--- /dev/null
+++ b/src/api/halo-plugin/moment.ts
@@ -0,0 +1,23 @@
+import { http } from '@/http/alova'
+
+const EndpointBase = '/apis/api.moment.halo.run/v1alpha1/moments'
+
+/**
+ * 获取瞬间列表
+ * @param params 获取瞬间列表请求参数
+ * @returns 获取瞬间列表响应参数
+ */
+export function queryMoments(params: any) {
+ return http.Get(`${EndpointBase}`, {
+ params,
+ })
+}
+
+/**
+ * 获取瞬间详情
+ * @param name 瞬间名称
+ * @returns 获取瞬间详情响应参数
+ */
+export function queryMomentByName(name: string) {
+ return http.Get(`${EndpointBase}/${name}`, {})
+}
diff --git a/src/api/halo-plugin/muyin.ts b/src/api/halo-plugin/muyin.ts
new file mode 100644
index 0000000..ced3d0c
--- /dev/null
+++ b/src/api/halo-plugin/muyin.ts
@@ -0,0 +1,55 @@
+/**
+ * muyin 插件相关api
+ */
+import { http } from '@/http/alova'
+import { getNoLoginEmail, getOpenid } from '@/utils/auth'
+
+/**
+ * 限制阅读检查
+ * @param restrictType 限制类型
+ * @param code 验证码
+ * @param keyId 键ID
+ * @returns 限制阅读检查响应参数
+ */
+export function requestRestrictReadCheck(restrictType: string, code: string, keyId: string) {
+ const params = {
+ code,
+ templateType: 'post',
+ restrictType,
+ keyId,
+ }
+ return http.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, {
+ headers: {
+ 'Authorization': 'getAppConfigs().pluginConfig.toolsPlugin?.Authorization',
+ 'Wechat-Session-Id': getOpenid(),
+ 'nologin-email': getNoLoginEmail(),
+ },
+ })
+}
+
+/**
+ * 创建验证码
+ * @returns 创建验证码响应参数
+ */
+export function createVerificationCode() {
+ return http.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, {
+ headers: {
+ 'Authorization': 'getAppConfigs().pluginConfig.toolsPlugin?.Authorization',
+ 'Wechat-Session-Id': getOpenid(),
+ },
+ })
+}
+
+/**
+ * 提交链接
+ * @param form 提交链接请求参数
+ * @returns 提交链接响应参数
+ */
+export function submitLink(form: any) {
+ return http.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, {
+ headers: {
+ 'Authorization': 'getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization',
+ 'Wechat-Session-Id': getOpenid(),
+ },
+ })
+}
diff --git a/src/api/halo-plugin/photo.ts b/src/api/halo-plugin/photo.ts
new file mode 100644
index 0000000..33bee3d
--- /dev/null
+++ b/src/api/halo-plugin/photo.ts
@@ -0,0 +1,56 @@
+import { http } from '@/http/alova'
+
+/**
+ * 获取图库分组列表
+ * @param params 获取图库分组列表请求参数
+ * @returns 获取图库分组列表响应参数
+ */
+export function queryPhotoGroups(params: any) {
+ return http.Get(`/apis/api.photo.halo.run/v1alpha1/photogroups`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取图库标签列表 列出所有不重复的标签名称及对应图片数量,支持可选的 name 参数进行大小写不敏感模糊过滤
+ * @param params 获取图库标签列表请求参数
+ * @returns 获取图库标签列表响应参数
+ */
+export function queryPhotoTags(params: any) {
+ return http.Get(`/apis/api.photo.halo.run/v1alpha1/tags`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取图库列表 分页列出图片,支持 group、ungrouped、tag、keyword、labelSelector、fieldSelector、sort、page、size 查询参数
+ * @param params 获取图库列表请求参数
+ * @returns 获取图库列表响应参数
+ */
+export function queryPhotos(params: any) {
+ return http.Get(`/apis/api.photo.halo.run/v1alpha1/photos`, {
+ params,
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 根据 metadata.name 获取单张图片,不存在或已软删除时返回 404
+ * @param name 图片名称
+ * @returns 获取图片响应参数
+ */
+export function queryPhotoByName(name: string) {
+ return http.Get(`/apis/api.photo.halo.run/v1alpha1/photos/${name}`, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
diff --git a/src/api/halo-plugin/uni-halo.ts b/src/api/halo-plugin/uni-halo.ts
new file mode 100644
index 0000000..f2ea7fb
--- /dev/null
+++ b/src/api/halo-plugin/uni-halo.ts
@@ -0,0 +1,39 @@
+import { http } from '@/http/alova'
+
+/**
+ * 获取 uni-halo 插件配置
+ * @returns uni-halo 插件配置响应参数
+ */
+export function queryUniHaloPluginConfigs() {
+ return http.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getConfigs`, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取 uni-halo 插件二维码信息
+ * @param key 二维码key
+ * @returns uni-halo 插件二维码信息响应参数
+ */
+export function queryQRCodeInfo(key: string) {
+ return http.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeInfo/${key}`, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
+
+/**
+ * 获取 uni-halo 插件二维码图片
+ * @param metadataName 文章id,metadata.name 值
+ * @returns uni-halo 插件二维码图片响应参数
+ */
+export function queryQRCodeImg(metadataName: string) {
+ return http.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeImg/${metadataName}`, {
+ meta: {
+ isHalo: true,
+ },
+ })
+}
diff --git a/src/api/halo-plugin/vote.ts b/src/api/halo-plugin/vote.ts
new file mode 100644
index 0000000..c3c350d
--- /dev/null
+++ b/src/api/halo-plugin/vote.ts
@@ -0,0 +1,45 @@
+import { http } from '@/http/alova'
+
+const EndpointBase = '/apis/api.vote.kunkunyu.com/v1alpha1/votes'
+
+/**
+ * 获取投票列表
+ * @param params 获取投票列表请求参数
+ * @returns 获取投票列表响应参数
+ */
+export function queryVotes(params: any) {
+ return http.Get(EndpointBase, { params })
+}
+
+/**
+ * 获取投票详情
+ * @param name 投票名称
+ * @returns 获取投票详情响应参数
+ */
+export function queryVoteDetail(name: string) {
+ return http.Get(`${EndpointBase}/${name}/detail`, {})
+}
+
+/**
+ * 获取投票用户列表
+ * @param name 投票名称
+ * @returns 获取投票用户列表响应参数
+ */
+export function queryVoteUsers(name: string) {
+ return http.Get(`${EndpointBase}/${name}/user-list`, {})
+}
+
+/**
+ * 提交投票
+ * @param name 投票名称
+ * @param data 提交投票请求参数
+ * @param canAnonymously 是否匿名匿名提交
+ * @returns 提交投票响应参数
+ */
+export function submitVote(name: string, data: any, canAnonymously = true) {
+ return http.Post(`${EndpointBase}/${name}/submit`, data, {
+ meta: {
+ token: canAnonymously ? undefined : 'getToken()',
+ },
+ })
+}
diff --git a/src/api/login.ts b/src/api/login.ts
new file mode 100644
index 0000000..7691c9b
--- /dev/null
+++ b/src/api/login.ts
@@ -0,0 +1,85 @@
+import type { IAuthLoginRes, ICaptcha, IDoubleTokenRes, IUpdateInfo, IUpdatePassword, IUserInfoRes } from './types/login'
+import { http } from '@/http/http'
+
+/**
+ * 登录表单
+ */
+export interface ILoginForm {
+ username: string
+ password: string
+}
+
+/**
+ * 获取验证码
+ * @returns ICaptcha 验证码
+ */
+export function getCode() {
+ return http.get('/user/getCode')
+}
+
+/**
+ * 用户登录
+ * @param loginForm 登录表单
+ */
+export function login(loginForm: ILoginForm) {
+ return http.post('/auth/login', loginForm)
+}
+
+/**
+ * 刷新token
+ * @param refreshToken 刷新token
+ */
+export function refreshToken(refreshToken: string) {
+ return http.post('/auth/refreshToken', { refreshToken })
+}
+
+/**
+ * 获取用户信息
+ */
+export function getUserInfo() {
+ return http.get('/user/info')
+}
+
+/**
+ * 退出登录
+ */
+export function logout() {
+ return http.get('/auth/logout')
+}
+
+/**
+ * 修改用户信息
+ */
+export function updateInfo(data: IUpdateInfo) {
+ return http.post('/user/updateInfo', data)
+}
+
+/**
+ * 修改用户密码
+ */
+export function updateUserPassword(data: IUpdatePassword) {
+ return http.post('/user/updatePassword', data)
+}
+
+/**
+ * 获取微信登录凭证
+ * @returns Promise 包含微信登录凭证(code)
+ */
+export function getWxCode() {
+ return new Promise((resolve, reject) => {
+ uni.login({
+ provider: 'weixin',
+ success: res => resolve(res),
+ fail: err => reject(new Error(err)),
+ })
+ })
+}
+
+/**
+ * 微信登录
+ * @param params 微信登录参数,包含code
+ * @returns Promise 包含登录结果
+ */
+export function wxLogin(data: { code: string }) {
+ return http.post('/auth/wxLogin', data)
+}
diff --git a/src/api/types/login.ts b/src/api/types/login.ts
new file mode 100644
index 0000000..b5f49e8
--- /dev/null
+++ b/src/api/types/login.ts
@@ -0,0 +1,102 @@
+// 认证模式类型
+export type AuthMode = 'single' | 'double'
+
+// 单Token响应类型
+export interface ISingleTokenRes {
+ token: string
+ expiresIn: number // 有效期(秒)
+}
+
+// 双Token响应类型
+export interface IDoubleTokenRes {
+ accessToken: string
+ refreshToken: string
+ accessExpiresIn: number // 访问令牌有效期(秒)
+ refreshExpiresIn: number // 刷新令牌有效期(秒)
+}
+
+/**
+ * 登录返回的信息,其实就是 token 信息
+ */
+export type IAuthLoginRes = ISingleTokenRes | IDoubleTokenRes
+
+/**
+ * 用户信息
+ */
+export type UserRole = string
+
+export interface IUserInfoRes {
+ userId: number
+ username: string
+ nickname: string
+ avatar?: string
+ /** 同时支持单角色和多角色,你自行选择一种就行 */
+ role?: UserRole
+ roles?: UserRole[]
+ [key: string]: any // 允许其他扩展字段
+}
+
+// 认证存储数据结构
+export interface AuthStorage {
+ mode: AuthMode
+ tokens: ISingleTokenRes | IDoubleTokenRes
+ userInfo?: IUserInfoRes
+ loginTime: number // 登录时间戳
+}
+
+/**
+ * 获取验证码
+ */
+export interface ICaptcha {
+ captchaEnabled: boolean
+ uuid: string
+ image: string
+}
+/**
+ * 上传成功的信息
+ */
+export interface IUploadSuccessInfo {
+ fileId: number
+ originalName: string
+ fileName: string
+ storagePath: string
+ fileHash: string
+ fileType: string
+ fileBusinessType: string
+ fileSize: number
+}
+/**
+ * 更新用户信息
+ */
+export interface IUpdateInfo {
+ id: number
+ name: string
+ sex: string
+}
+/**
+ * 更新用户信息
+ */
+export interface IUpdatePassword {
+ id: number
+ oldPassword: string
+ newPassword: string
+ confirmPassword: string
+}
+
+/**
+ * 判断是否为单Token响应
+ * @param tokenRes 登录响应数据
+ * @returns 是否为单Token响应
+ */
+export function isSingleTokenRes(tokenRes: IAuthLoginRes): tokenRes is ISingleTokenRes {
+ return 'token' in tokenRes && !('refreshToken' in tokenRes)
+}
+
+/**
+ * 判断是否为双Token响应
+ * @param tokenRes 登录响应数据
+ * @returns 是否为双Token响应
+ */
+export function isDoubleTokenRes(tokenRes: IAuthLoginRes): tokenRes is IDoubleTokenRes {
+ return 'accessToken' in tokenRes && 'refreshToken' in tokenRes
+}
diff --git a/src/components/.gitkeep b/src/components/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/components/qiun-data-charts/config-echarts.js b/src/components/qiun-data-charts/config-echarts.js
new file mode 100644
index 0000000..48fc59d
--- /dev/null
+++ b/src/components/qiun-data-charts/config-echarts.js
@@ -0,0 +1,444 @@
+/*
+ * uCharts®
+ * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台
+ * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.
+ * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
+ * 复制使用请保留本段注释,感谢支持开源!
+ *
+ * uCharts®官方网站
+ * https://www.uCharts.cn
+ *
+ * 开源地址:
+ * https://gitee.com/uCharts/uCharts
+ *
+ * uni-app插件市场地址:
+ * http://ext.dcloud.net.cn/plugin?id=271
+ *
+ */
+
+// 通用配置项
+
+// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性
+const color = [
+ '#1890FF',
+ '#91CB74',
+ '#FAC858',
+ '#EE6666',
+ '#73C0DE',
+ '#3CA272',
+ '#FC8452',
+ '#9A60B4',
+ '#ea7ccc',
+]
+
+const cfe = {
+ // demotype为自定义图表类型
+ type: [
+ 'pie',
+ 'ring',
+ 'rose',
+ 'funnel',
+ 'line',
+ 'column',
+ 'area',
+ 'radar',
+ 'gauge',
+ 'candle',
+ 'demotype',
+ ],
+ // 增加自定义图表类型,如果需要categories,请在这里加入您的图表类型例如最后的"demotype"
+ categories: ['line', 'column', 'area', 'radar', 'gauge', 'candle', 'demotype'],
+ // instance为实例变量承载属性,option为eopts承载属性,不要删除
+ instance: {},
+ option: {},
+ // 下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换
+ formatter: {
+ tooltipDemo1(res) {
+ let result = ''
+ for (const i in res) {
+ if (i == 0) {
+ result += `${res[i].axisValueLabel}年销售额`
+ }
+ let value = '--'
+ if (res[i].data !== null) {
+ value = res[i].data
+ }
+ // #ifdef H5
+ result += `\n${res[i].seriesName}:${value} 万元`
+ // #endif
+
+ // #ifdef APP-PLUS
+ result += ` ${res[i].marker}${res[i].seriesName}:${value} 万元`
+ // #endif
+ }
+ return result
+ },
+ legendFormat(name) {
+ return `自定义图例+${name}`
+ },
+ yAxisFormatDemo(value, index) {
+ return `${value}元`
+ },
+ seriesFormatDemo(res) {
+ return `${res.name}年${res.value}元`
+ },
+ },
+ // 这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在eopts参数,会将demotype与eopts中option合并后渲染图表。
+ demotype: {
+ color,
+ // 在这里填写echarts的option即可
+ },
+ // 下面是自定义配置,请添加项目所需的通用配置
+ column: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'axis',
+ },
+ grid: {
+ top: 30,
+ bottom: 50,
+ right: 15,
+ left: 40,
+ },
+ legend: {
+ bottom: 'left',
+ },
+ toolbox: {
+ show: false,
+ },
+ xAxis: {
+ type: 'category',
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ boundaryGap: true,
+ data: [],
+ },
+ yAxis: {
+ type: 'value',
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'bar',
+ data: [],
+ barwidth: 20,
+ label: {
+ show: true,
+ color: '#666666',
+ position: 'top',
+ },
+ },
+ },
+ line: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'axis',
+ },
+ grid: {
+ top: 30,
+ bottom: 50,
+ right: 15,
+ left: 40,
+ },
+ legend: {
+ bottom: 'left',
+ },
+ toolbox: {
+ show: false,
+ },
+ xAxis: {
+ type: 'category',
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ boundaryGap: true,
+ data: [],
+ },
+ yAxis: {
+ type: 'value',
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'line',
+ data: [],
+ barwidth: 20,
+ label: {
+ show: true,
+ color: '#666666',
+ position: 'top',
+ },
+ },
+ },
+ area: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'axis',
+ },
+ grid: {
+ top: 30,
+ bottom: 50,
+ right: 15,
+ left: 40,
+ },
+ legend: {
+ bottom: 'left',
+ },
+ toolbox: {
+ show: false,
+ },
+ xAxis: {
+ type: 'category',
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ boundaryGap: true,
+ data: [],
+ },
+ yAxis: {
+ type: 'value',
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: '#666666',
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#CCCCCC',
+ },
+ },
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'line',
+ data: [],
+ areaStyle: {},
+ label: {
+ show: true,
+ color: '#666666',
+ position: 'top',
+ },
+ },
+ },
+ pie: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'item',
+ },
+ grid: {
+ top: 40,
+ bottom: 30,
+ right: 15,
+ left: 15,
+ },
+ legend: {
+ bottom: 'left',
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'pie',
+ data: [],
+ radius: '50%',
+ label: {
+ show: true,
+ color: '#666666',
+ position: 'top',
+ },
+ },
+ },
+ ring: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'item',
+ },
+ grid: {
+ top: 40,
+ bottom: 30,
+ right: 15,
+ left: 15,
+ },
+ legend: {
+ bottom: 'left',
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'pie',
+ data: [],
+ radius: ['40%', '70%'],
+ avoidLabelOverlap: false,
+ label: {
+ show: true,
+ color: '#666666',
+ position: 'top',
+ },
+ labelLine: {
+ show: true,
+ },
+ },
+ },
+ rose: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'item',
+ },
+ legend: {
+ top: 'bottom',
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'pie',
+ data: [],
+ radius: '55%',
+ center: ['50%', '50%'],
+ roseType: 'area',
+ },
+ },
+ funnel: {
+ color,
+ title: {
+ text: '',
+ },
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b} : {c}%',
+ },
+ legend: {
+ top: 'bottom',
+ },
+ seriesTemplate: {
+ name: '',
+ type: 'funnel',
+ left: '10%',
+ top: 60,
+ bottom: 60,
+ width: '80%',
+ min: 0,
+ max: 100,
+ minSize: '0%',
+ maxSize: '100%',
+ sort: 'descending',
+ gap: 2,
+ label: {
+ show: true,
+ position: 'inside',
+ },
+ labelLine: {
+ length: 10,
+ lineStyle: {
+ width: 1,
+ type: 'solid',
+ },
+ },
+ itemStyle: {
+ bordercolor: '#fff',
+ borderwidth: 1,
+ },
+ emphasis: {
+ label: {
+ fontSize: 20,
+ },
+ },
+ data: [],
+ },
+ },
+ gauge: {
+ color,
+ tooltip: {
+ formatter: '{a} {b} : {c}%',
+ },
+ seriesTemplate: {
+ name: '业务指标',
+ type: 'gauge',
+ detail: { formatter: '{value}%' },
+ data: [{ value: 50, name: '完成率' }],
+ },
+ },
+ candle: {
+ xAxis: {
+ data: [],
+ },
+ yAxis: {},
+ color,
+ title: {
+ text: '',
+ },
+ dataZoom: [
+ {
+ type: 'inside',
+ xAxisIndex: [0, 1],
+ start: 10,
+ end: 100,
+ },
+ {
+ show: true,
+ xAxisIndex: [0, 1],
+ type: 'slider',
+ bottom: 10,
+ start: 10,
+ end: 100,
+ },
+ ],
+ seriesTemplate: {
+ name: '',
+ type: 'k',
+ data: [],
+ },
+ },
+}
+
+export default cfe
diff --git a/src/components/qiun-data-charts/config-ucharts.js b/src/components/qiun-data-charts/config-ucharts.js
new file mode 100644
index 0000000..947d1e3
--- /dev/null
+++ b/src/components/qiun-data-charts/config-ucharts.js
@@ -0,0 +1,675 @@
+/*
+ * uCharts®
+ * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台
+ * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.
+ * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
+ * 复制使用请保留本段注释,感谢支持开源!
+ *
+ * uCharts®官方网站
+ * https://www.uCharts.cn
+ *
+ * 开源地址:
+ * https://gitee.com/uCharts/uCharts
+ *
+ * uni-app插件市场地址:
+ * http://ext.dcloud.net.cn/plugin?id=271
+ *
+ */
+
+// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性
+const color = [
+ '#1890FF',
+ '#91CB74',
+ '#FAC858',
+ '#EE6666',
+ '#73C0DE',
+ '#3CA272',
+ '#FC8452',
+ '#9A60B4',
+ '#ea7ccc',
+]
+
+// 事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改
+const formatDateTime = (timeStamp, returnType) => {
+ const date = new Date()
+ date.setTime(timeStamp * 1000)
+ const y = date.getFullYear()
+ let m = date.getMonth() + 1
+ m = m < 10 ? `0${m}` : m
+ let d = date.getDate()
+ d = d < 10 ? `0${d}` : d
+ let h = date.getHours()
+ h = h < 10 ? `0${h}` : h
+ let minute = date.getMinutes()
+ let second = date.getSeconds()
+ minute = minute < 10 ? `0${minute}` : minute
+ second = second < 10 ? `0${second}` : second
+ if (returnType == 'full') {
+ return `${y}-${m}-${d} ${h}:${minute}:${second}`
+ }
+ if (returnType == 'y-m-d') {
+ return `${y}-${m}-${d}`
+ }
+ if (returnType == 'h:m') {
+ return `${h}:${minute}`
+ }
+ if (returnType == 'h:m:s') {
+ return `${h}:${minute}:${second}`
+ }
+ return [y, m, d, h, minute, second]
+}
+
+const cfu = {
+ // demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可
+ type: [
+ 'pie',
+ 'ring',
+ 'rose',
+ 'word',
+ 'funnel',
+ 'map',
+ 'arcbar',
+ 'line',
+ 'column',
+ 'mount',
+ 'bar',
+ 'area',
+ 'radar',
+ 'gauge',
+ 'candle',
+ 'mix',
+ 'tline',
+ 'tarea',
+ 'scatter',
+ 'bubble',
+ 'demotype',
+ ],
+ range: [
+ '饼状图',
+ '圆环图',
+ '玫瑰图',
+ '词云图',
+ '漏斗图',
+ '地图',
+ '圆弧进度条',
+ '折线图',
+ '柱状图',
+ '山峰图',
+ '条状图',
+ '区域图',
+ '雷达图',
+ '仪表盘',
+ 'K线图',
+ '混合图',
+ '时间轴折线',
+ '时间轴区域',
+ '散点图',
+ '气泡图',
+ '自定义类型',
+ ],
+ // 增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype"
+ // 自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories
+ categories: [
+ 'line',
+ 'column',
+ 'mount',
+ 'bar',
+ 'area',
+ 'radar',
+ 'gauge',
+ 'candle',
+ 'mix',
+ 'demotype',
+ ],
+ // instance为实例变量承载属性,不要删除
+ instance: {},
+ // option为opts及eopts承载属性,不要删除
+ option: {},
+ // 下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换
+ formatter: {
+ yAxisDemo1(val, index, opts) {
+ return `${val}元`
+ },
+ yAxisDemo2(val, index, opts) {
+ return val.toFixed(2)
+ },
+ xAxisDemo1(val, index, opts) {
+ return `${val}年`
+ },
+ xAxisDemo2(val, index, opts) {
+ return formatDateTime(val, 'h:m')
+ },
+ seriesDemo1(val, index, series, opts) {
+ return `${val}元`
+ },
+ tooltipDemo1(item, category, index, opts) {
+ if (index == 0) {
+ return `随便用${item.data}年`
+ }
+ return `其他我没改${item.data}天`
+ },
+ pieDemo(val, index, series, opts) {
+ if (index !== undefined) {
+ return `${series[index].name}:${series[index].data}元`
+ }
+ },
+ },
+ // 这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。
+ demotype: {
+ // 我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置
+ type: 'line',
+ color,
+ padding: [15, 10, 0, 15],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ gridType: 'dash',
+ dashLength: 2,
+ },
+ legend: {},
+ extra: {
+ line: {
+ type: 'curve',
+ width: 2,
+ },
+ },
+ },
+ // 下面是自定义配置,请添加项目所需的通用配置
+ pie: {
+ type: 'pie',
+ color,
+ padding: [5, 5, 5, 5],
+ extra: {
+ pie: {
+ activeOpacity: 0.5,
+ activeRadius: 10,
+ offsetAngle: 0,
+ labelWidth: 15,
+ border: true,
+ borderWidth: 3,
+ borderColor: '#FFFFFF',
+ },
+ },
+ },
+ ring: {
+ type: 'ring',
+ color,
+ padding: [5, 5, 5, 5],
+ rotate: false,
+ dataLabel: true,
+ legend: {
+ show: true,
+ position: 'right',
+ lineHeight: 25,
+ },
+ title: {
+ name: '收益率',
+ fontSize: 15,
+ color: '#666666',
+ },
+ subtitle: {
+ name: '70%',
+ fontSize: 25,
+ color: '#7cb5ec',
+ },
+ extra: {
+ ring: {
+ ringWidth: 30,
+ activeOpacity: 0.5,
+ activeRadius: 10,
+ offsetAngle: 0,
+ labelWidth: 15,
+ border: true,
+ borderWidth: 3,
+ borderColor: '#FFFFFF',
+ },
+ },
+ },
+ rose: {
+ type: 'rose',
+ color,
+ padding: [5, 5, 5, 5],
+ legend: {
+ show: true,
+ position: 'left',
+ lineHeight: 25,
+ },
+ extra: {
+ rose: {
+ type: 'area',
+ minRadius: 50,
+ activeOpacity: 0.5,
+ activeRadius: 10,
+ offsetAngle: 0,
+ labelWidth: 15,
+ border: false,
+ borderWidth: 2,
+ borderColor: '#FFFFFF',
+ },
+ },
+ },
+ word: {
+ type: 'word',
+ color,
+ extra: {
+ word: {
+ type: 'normal',
+ autoColors: false,
+ },
+ },
+ },
+ funnel: {
+ type: 'funnel',
+ color,
+ padding: [15, 15, 0, 15],
+ extra: {
+ funnel: {
+ activeOpacity: 0.3,
+ activeWidth: 10,
+ border: true,
+ borderWidth: 2,
+ borderColor: '#FFFFFF',
+ fillOpacity: 1,
+ labelAlign: 'right',
+ },
+ },
+ },
+ map: {
+ type: 'map',
+ color,
+ padding: [0, 0, 0, 0],
+ dataLabel: true,
+ extra: {
+ map: {
+ border: true,
+ borderWidth: 1,
+ borderColor: '#666666',
+ fillOpacity: 0.6,
+ activeBorderColor: '#F04864',
+ activeFillColor: '#FACC14',
+ activeFillOpacity: 1,
+ },
+ },
+ },
+ arcbar: {
+ type: 'arcbar',
+ color,
+ title: {
+ name: '百分比',
+ fontSize: 25,
+ color: '#00FF00',
+ },
+ subtitle: {
+ name: '默认标题',
+ fontSize: 15,
+ color: '#666666',
+ },
+ extra: {
+ arcbar: {
+ type: 'default',
+ width: 12,
+ backgroundColor: '#E9E9E9',
+ startAngle: 0.75,
+ endAngle: 0.25,
+ gap: 2,
+ },
+ },
+ },
+ line: {
+ type: 'line',
+ color,
+ padding: [15, 10, 0, 15],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ gridType: 'dash',
+ dashLength: 2,
+ },
+ legend: {},
+ extra: {
+ line: {
+ type: 'straight',
+ width: 2,
+ activeType: 'hollow',
+ },
+ },
+ },
+ tline: {
+ type: 'line',
+ color,
+ padding: [15, 10, 0, 15],
+ xAxis: {
+ disableGrid: false,
+ boundaryGap: 'justify',
+ },
+ yAxis: {
+ gridType: 'dash',
+ dashLength: 2,
+ data: [
+ {
+ min: 0,
+ max: 80,
+ },
+ ],
+ },
+ legend: {},
+ extra: {
+ line: {
+ type: 'curve',
+ width: 2,
+ activeType: 'hollow',
+ },
+ },
+ },
+ tarea: {
+ type: 'area',
+ color,
+ padding: [15, 10, 0, 15],
+ xAxis: {
+ disableGrid: true,
+ boundaryGap: 'justify',
+ },
+ yAxis: {
+ gridType: 'dash',
+ dashLength: 2,
+ data: [
+ {
+ min: 0,
+ max: 80,
+ },
+ ],
+ },
+ legend: {},
+ extra: {
+ area: {
+ type: 'curve',
+ opacity: 0.2,
+ addLine: true,
+ width: 2,
+ gradient: true,
+ activeType: 'hollow',
+ },
+ },
+ },
+ column: {
+ type: 'column',
+ color,
+ padding: [15, 15, 0, 5],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ data: [{ min: 0 }],
+ },
+ legend: {},
+ extra: {
+ column: {
+ type: 'group',
+ width: 30,
+ activeBgColor: '#000000',
+ activeBgOpacity: 0.08,
+ },
+ },
+ },
+ mount: {
+ type: 'mount',
+ color,
+ padding: [15, 15, 0, 5],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ data: [{ min: 0 }],
+ },
+ legend: {},
+ extra: {
+ mount: {
+ type: 'mount',
+ widthRatio: 1.5,
+ },
+ },
+ },
+ bar: {
+ type: 'bar',
+ color,
+ padding: [15, 30, 0, 5],
+ xAxis: {
+ boundaryGap: 'justify',
+ disableGrid: false,
+ min: 0,
+ axisLine: false,
+ },
+ yAxis: {},
+ legend: {},
+ extra: {
+ bar: {
+ type: 'group',
+ width: 30,
+ meterBorde: 1,
+ meterFillColor: '#FFFFFF',
+ activeBgColor: '#000000',
+ activeBgOpacity: 0.08,
+ },
+ },
+ },
+ area: {
+ type: 'area',
+ color,
+ padding: [15, 15, 0, 15],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ gridType: 'dash',
+ dashLength: 2,
+ },
+ legend: {},
+ extra: {
+ area: {
+ type: 'straight',
+ opacity: 0.2,
+ addLine: true,
+ width: 2,
+ gradient: false,
+ activeType: 'hollow',
+ },
+ },
+ },
+ radar: {
+ type: 'radar',
+ color,
+ padding: [5, 5, 5, 5],
+ dataLabel: false,
+ legend: {
+ show: true,
+ position: 'right',
+ lineHeight: 25,
+ },
+ extra: {
+ radar: {
+ gridType: 'radar',
+ gridColor: '#CCCCCC',
+ gridCount: 3,
+ opacity: 0.2,
+ max: 200,
+ labelShow: true,
+ },
+ },
+ },
+ gauge: {
+ type: 'gauge',
+ color,
+ title: {
+ name: '66Km/H',
+ fontSize: 25,
+ color: '#2fc25b',
+ offsetY: 50,
+ },
+ subtitle: {
+ name: '实时速度',
+ fontSize: 15,
+ color: '#1890ff',
+ offsetY: -50,
+ },
+ extra: {
+ gauge: {
+ type: 'default',
+ width: 30,
+ labelColor: '#666666',
+ startAngle: 0.75,
+ endAngle: 0.25,
+ startNumber: 0,
+ endNumber: 100,
+ labelFormat: '',
+ splitLine: {
+ fixRadius: 0,
+ splitNumber: 10,
+ width: 30,
+ color: '#FFFFFF',
+ childNumber: 5,
+ childWidth: 12,
+ },
+ pointer: {
+ width: 24,
+ color: 'auto',
+ },
+ },
+ },
+ },
+ candle: {
+ type: 'candle',
+ color,
+ padding: [15, 15, 0, 15],
+ enableScroll: true,
+ enableMarkLine: true,
+ dataLabel: false,
+ xAxis: {
+ labelCount: 4,
+ itemCount: 40,
+ disableGrid: true,
+ gridColor: '#CCCCCC',
+ gridType: 'solid',
+ dashLength: 4,
+ scrollShow: true,
+ scrollAlign: 'left',
+ scrollColor: '#A6A6A6',
+ scrollBackgroundColor: '#EFEBEF',
+ },
+ yAxis: {},
+ legend: {},
+ extra: {
+ candle: {
+ color: {
+ upLine: '#f04864',
+ upFill: '#f04864',
+ downLine: '#2fc25b',
+ downFill: '#2fc25b',
+ },
+ average: {
+ show: true,
+ name: ['MA5', 'MA10', 'MA30'],
+ day: [5, 10, 20],
+ color: ['#1890ff', '#2fc25b', '#facc14'],
+ },
+ },
+ markLine: {
+ type: 'dash',
+ dashLength: 5,
+ data: [
+ {
+ value: 2150,
+ lineColor: '#f04864',
+ showLabel: true,
+ },
+ {
+ value: 2350,
+ lineColor: '#f04864',
+ showLabel: true,
+ },
+ ],
+ },
+ },
+ },
+ mix: {
+ type: 'mix',
+ color,
+ padding: [15, 15, 0, 15],
+ xAxis: {
+ disableGrid: true,
+ },
+ yAxis: {
+ disabled: false,
+ disableGrid: false,
+ splitNumber: 5,
+ gridType: 'dash',
+ dashLength: 4,
+ gridColor: '#CCCCCC',
+ padding: 10,
+ showTitle: true,
+ data: [],
+ },
+ legend: {},
+ extra: {
+ mix: {
+ column: {
+ width: 20,
+ },
+ },
+ },
+ },
+ scatter: {
+ type: 'scatter',
+ color,
+ padding: [15, 15, 0, 15],
+ dataLabel: false,
+ xAxis: {
+ disableGrid: false,
+ gridType: 'dash',
+ splitNumber: 5,
+ boundaryGap: 'justify',
+ min: 0,
+ },
+ yAxis: {
+ disableGrid: false,
+ gridType: 'dash',
+ },
+ legend: {},
+ extra: {
+ scatter: {},
+ },
+ },
+ bubble: {
+ type: 'bubble',
+ color,
+ padding: [15, 15, 0, 15],
+ xAxis: {
+ disableGrid: false,
+ gridType: 'dash',
+ splitNumber: 5,
+ boundaryGap: 'justify',
+ min: 0,
+ max: 250,
+ },
+ yAxis: {
+ disableGrid: false,
+ gridType: 'dash',
+ data: [
+ {
+ min: 0,
+ max: 150,
+ },
+ ],
+ },
+ legend: {},
+ extra: {
+ bubble: {
+ border: 2,
+ opacity: 0.5,
+ },
+ },
+ },
+}
+
+export default cfu
diff --git a/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue b/src/components/qiun-data-charts/qiun-data-charts.vue
similarity index 64%
rename from uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue
rename to src/components/qiun-data-charts/qiun-data-charts.vue
index 5678f7d..4585fd4 100644
--- a/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue
+++ b/src/components/qiun-data-charts/qiun-data-charts.vue
@@ -1,4 +1,4 @@
-
-
+
@@ -30,11 +30,11 @@
-
+
+
+
diff --git a/src/components/qiun-loading/loading1.vue b/src/components/qiun-loading/loading1.vue
new file mode 100644
index 0000000..cdd3f02
--- /dev/null
+++ b/src/components/qiun-loading/loading1.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-loading/loading2.vue b/src/components/qiun-loading/loading2.vue
new file mode 100644
index 0000000..9e65eed
--- /dev/null
+++ b/src/components/qiun-loading/loading2.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-loading/loading3.vue b/src/components/qiun-loading/loading3.vue
new file mode 100644
index 0000000..77e0070
--- /dev/null
+++ b/src/components/qiun-loading/loading3.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-loading/loading4.vue b/src/components/qiun-loading/loading4.vue
new file mode 100644
index 0000000..462f599
--- /dev/null
+++ b/src/components/qiun-loading/loading4.vue
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-loading/loading5.vue b/src/components/qiun-loading/loading5.vue
new file mode 100644
index 0000000..395d01d
--- /dev/null
+++ b/src/components/qiun-loading/loading5.vue
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-loading/qiun-loading.vue b/src/components/qiun-loading/qiun-loading.vue
new file mode 100644
index 0000000..f4922da
--- /dev/null
+++ b/src/components/qiun-loading/qiun-loading.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/qiun-title-bar/qiun-title-bar.vue b/src/components/qiun-title-bar/qiun-title-bar.vue
new file mode 100644
index 0000000..bfb5a82
--- /dev/null
+++ b/src/components/qiun-title-bar/qiun-title-bar.vue
@@ -0,0 +1,47 @@
+
+
+
+ {{ title }}
+
+
+
+
+
+
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 0000000..b1a4533
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1,41 @@
+///
+///
+
+declare module '*.vue' {
+ import type { DefineComponent } from 'vue'
+
+ const component: DefineComponent<{}, {}, any>
+ export default component
+}
+
+interface ImportMetaEnv {
+ /** 网站标题,应用名称 */
+ readonly VITE_APP_TITLE: string
+ /** 服务端口号 */
+ readonly VITE_SERVER_PORT: string
+ /** 后台接口地址 */
+ readonly VITE_SERVER_BASEURL: string
+ /** 微信小程序开发版后台接口地址,不配置则使用 VITE_SERVER_BASEURL */
+ readonly VITE_SERVER_BASEURL__WEIXIN_DEVELOP?: string
+ /** 微信小程序体验版后台接口地址,不配置则使用 VITE_SERVER_BASEURL */
+ readonly VITE_SERVER_BASEURL__WEIXIN_TRIAL?: string
+ /** 微信小程序正式版后台接口地址,不配置则使用 VITE_SERVER_BASEURL */
+ readonly VITE_SERVER_BASEURL__WEIXIN_RELEASE?: string
+ /** H5是否需要代理 */
+ readonly VITE_APP_PROXY_ENABLE: 'true' | 'false'
+ /** H5是否需要代理,需要的话有个前缀 */
+ readonly VITE_APP_PROXY_PREFIX: string
+ /** 后端是否有统一前缀 /api */
+ readonly VITE_SERVER_HAS_API_PREFIX: 'true' | 'false'
+ /** 认证模式,'single' | 'double' ==> 单token | 双token */
+ readonly VITE_AUTH_MODE: 'single' | 'double'
+ /** 是否清除console */
+ readonly VITE_DELETE_CONSOLE: string
+ // 更多环境变量...
+}
+
+interface ImportMeta {
+ readonly env: ImportMetaEnv
+}
+
+declare const __VITE_APP_PROXY__: 'true' | 'false'
diff --git a/src/hooks/useRequest.test.ts b/src/hooks/useRequest.test.ts
new file mode 100644
index 0000000..8a205c7
--- /dev/null
+++ b/src/hooks/useRequest.test.ts
@@ -0,0 +1,74 @@
+import { mount } from '@vue/test-utils'
+import { describe, expect, it, vi } from 'vitest'
+import { defineComponent, h } from 'vue'
+import useRequest from './useRequest'
+
+/**
+ * 在 Vue 应用上下文中运行 composable。
+ * composable 的 ref/computed/onMounted 只能在 setup() 内使用,
+ * withSetup 通过挂载一个临时组件来提供这个上下文。
+ */
+function withSetup(composableFn: () => T): T {
+ let result!: T
+ const Comp = defineComponent({
+ setup() {
+ result = composableFn()
+ return () => h('div')
+ },
+ })
+ const wrapper = mount(Comp)
+ wrapper.unmount()
+ return result
+}
+
+describe('useRequest', () => {
+ it('初始状态:loading=false, error=false, data=undefined', () => {
+ const asyncFn = vi.fn().mockResolvedValue('data')
+ const { loading, error, data } = withSetup(() => useRequest(asyncFn))
+
+ expect(loading.value).toBe(false)
+ expect(error.value).toBe(false)
+ expect(data.value).toBeUndefined()
+ })
+
+ it('initialData:初始 data 使用传入的默认值', () => {
+ const asyncFn = vi.fn().mockResolvedValue('new')
+ const { data } = withSetup(() => useRequest(asyncFn, { initialData: 'init' }))
+
+ expect(data.value).toBe('init')
+ })
+
+ it('run 成功:loading 先变 true 后变 false,data 更新为返回值', async () => {
+ const asyncFn = vi.fn().mockResolvedValue('result')
+ const { loading, data, run } = withSetup(() => useRequest(asyncFn))
+
+ const runPromise = run()
+ expect(loading.value).toBe(true)
+
+ await runPromise
+
+ expect(loading.value).toBe(false)
+ expect(data.value).toBe('result')
+ })
+
+ it('run 失败:抛出错误,error 被设置,loading 重置为 false', async () => {
+ const err = new Error('network error')
+ const asyncFn = vi.fn().mockRejectedValue(err)
+ const { loading, error, run } = withSetup(() => useRequest(asyncFn))
+
+ await expect(run()).rejects.toThrow('network error')
+
+ expect(loading.value).toBe(false)
+ expect(error.value).toBe(err)
+ })
+
+ it('immediate=true:组件挂载时立即调用异步函数并更新 data', async () => {
+ const asyncFn = vi.fn().mockResolvedValue('eager')
+ const { data } = withSetup(() => useRequest(asyncFn, { immediate: true }))
+
+ expect(asyncFn).toHaveBeenCalledTimes(1)
+ // 等待 Promise 完成
+ await asyncFn.mock.results[0].value
+ expect(data.value).toBe('eager')
+ })
+})
diff --git a/src/hooks/useRequest.ts b/src/hooks/useRequest.ts
new file mode 100644
index 0000000..8ac4bfe
--- /dev/null
+++ b/src/hooks/useRequest.ts
@@ -0,0 +1,54 @@
+import type { Ref } from 'vue'
+import { ref } from 'vue'
+
+interface IUseRequestOptions {
+ /** 是否立即执行 */
+ immediate?: boolean
+ /** 初始化数据 */
+ initialData?: T
+}
+
+interface IUseRequestReturn {
+ loading: Ref
+ error: Ref
+ data: Ref
+ run: (args?: P) => Promise
+}
+
+/**
+ * useRequest是一个定制化的请求钩子,用于处理异步请求和响应。
+ * @param func 一个执行异步请求的函数,返回一个包含响应数据的Promise。
+ * @param options 包含请求选项的对象 {immediate, initialData}。
+ * @param options.immediate 是否立即执行请求,默认为false。
+ * @param options.initialData 初始化数据,默认为undefined。
+ * @returns 返回一个对象{loading, error, data, run},包含请求的加载状态、错误信息、响应数据和手动触发请求的函数。
+ */
+export default function useRequest(
+ func: (args?: P) => Promise,
+ options: IUseRequestOptions = { immediate: false },
+): IUseRequestReturn {
+ const loading = ref(false)
+ const error = ref(false)
+ const data = ref(options.initialData) as Ref
+ const run = async (args?: P) => {
+ loading.value = true
+ return func(args)
+ .then((res) => {
+ data.value = res
+ error.value = false
+ return data.value
+ })
+ .catch((err) => {
+ error.value = err
+ throw err
+ })
+ .finally(() => {
+ loading.value = false
+ })
+ }
+
+ if (options.immediate) {
+ (run as (args: P) => Promise)({} as P)
+ }
+ return { loading, error, data, run }
+}
diff --git a/src/hooks/useScroll.md b/src/hooks/useScroll.md
new file mode 100644
index 0000000..bb2eace
--- /dev/null
+++ b/src/hooks/useScroll.md
@@ -0,0 +1,116 @@
+# 上拉刷新和下拉加载更多
+
+在 unibest 框架中,我们通过组合 `useScroll` Hook 可结合 `scroll-view` 组件来轻松实现上拉刷新和下拉加载更多的功能。
+场景一 页面滚动
+
+```
+definePage({
+ style: {
+ navigationBarTitleText: '上拉刷新和下拉加载更多',
+ enablePullDownRefresh: true,
+ onReachBottomDistance: 100,
+ },
+})
+```
+
+场景二 局部滚动 结合 `scroll-view`
+
+## 关键文件
+
+- `src/hooks/useScroll.ts`: 提供了核心的滚动逻辑处理 Hook。
+- `src/pages-sub/demo/scroll.vue`: 一个具体的实现示例页面。
+
+## `useScroll` Hook
+
+`useScroll` 是一个 Vue Composition API Hook,它封装了处理下拉刷新和上拉加载的通用逻辑。
+
+### 主要功能
+
+- **管理加载状态**: 自动处理 `loading`(加载中)、`finished`(已加载全部)和 `error`(加载失败)等状态。
+- **分页逻辑**: 内部维护分页参数(页码 `page` 和每页数量 `pageSize`)。
+- **事件处理**: 提供 `onScrollToLower`(滚动到底部)、`onRefresherRefresh`(下拉刷新)等方法,用于在视图层触发。
+- **数据合并**: 自动将新加载的数据追加到现有列表 `list` 中。
+
+### 使用方法
+
+```typescript
+import { useScroll } from '@/hooks/useScroll'
+import { getList } from '@/service/list' // 你的数据请求API
+
+const {
+ list, // 响应式的数据列表
+ loading, // 是否加载中
+ finished, // 是否已全部加载
+ error, // 是否加载失败
+ onScrollToLower, // 滚动到底部时触发的事件
+ onRefresherRefresh, // 下拉刷新时触发的事件
+} = useScroll(getList) // 将获取数据的API函数传入
+```
+
+## `scroll-view` 组件
+
+`scroll-view` 是 uni-app 提供的可滚动视图区域组件,它提供了一系列属性来支持下拉刷新和上拉加载。
+
+### 关键属性
+
+- `scroll-y`: 允许纵向滚动。
+- `refresher-enabled`: 启用下拉刷新。
+- `refresher-triggered`: 控制下拉刷新动画的显示与隐藏,通过 `loading` 状态绑定。
+- `@scrolltolower`: 滚动到底部时触发的事件,绑定 `onScrollToLower` 方法。
+- `@refresherrefresh`: 触发下拉刷新时触发的事件,绑定 `onRefresherRefresh` 方法。
+
+## 示例代码
+
+以下是 `src/pages-sub/demo/scroll.vue` 中的核心代码,展示了如何将 `useScroll` 和 `scroll-view` 结合使用。
+
+```vue
+
+
+
+
+ {{ item.name }}
+
+
+
+ 加载中...
+ 没有更多了
+ 加载失败,请重试
+
+
+
+
+
+
+
+```
+
+## 实现步骤总结
+
+1. **创建API**: 确保你有一个返回分页数据的API请求函数(例如 `getList`),它应该接受页码和页面大小作为参数。
+2. **调用 `useScroll`**: 在你的页面脚本中,导入并调用 `useScroll` Hook,将你的API函数作为参数传入。
+3. **模板绑定**:
+ - 使用 `scroll-view` 组件作为滚动容器。
+ - 将其 `refresher-triggered` 属性绑定到 `useScroll` 返回的 `loading` 状态。
+ - 将其 `@scrolltolower` 事件绑定到 `onScrollToLower` 方法。
+ - 将其 `@refresherrefresh` 事件绑定到 `onRefresherRefresh` 方法。
+4. **渲染列表**: 使用 `v-for` 指令渲染 `useScroll` 返回的 `list` 数组。
+5. **添加加载提示**: 根据 `loading`, `finished`, `error` 状态,在列表底部显示不同的提示信息,提升用户体验。
+
+通过以上步骤,你就可以在项目中快速集成一个功能完善、体验良好的上拉刷新和下拉加载列表。
\ No newline at end of file
diff --git a/src/hooks/useScroll.ts b/src/hooks/useScroll.ts
new file mode 100644
index 0000000..1563223
--- /dev/null
+++ b/src/hooks/useScroll.ts
@@ -0,0 +1,74 @@
+import type { Ref } from 'vue'
+import { onMounted, ref } from 'vue'
+
+interface UseScrollOptions {
+ fetchData: (page: number, pageSize: number) => Promise
+ pageSize?: number
+}
+
+interface UseScrollReturn {
+ list: Ref
+ loading: Ref
+ finished: Ref
+ error: Ref
+ refresh: () => Promise
+ loadMore: () => Promise
+}
+
+export function useScroll({
+ fetchData,
+ pageSize = 10,
+}: UseScrollOptions): UseScrollReturn {
+ const list = ref([]) as Ref
+ const loading = ref(false)
+ const finished = ref(false)
+ const error = ref(null)
+ const page = ref(1)
+
+ const loadData = async () => {
+ if (loading.value || finished.value)
+ return
+
+ loading.value = true
+ error.value = null
+
+ try {
+ const data = await fetchData(page.value, pageSize)
+ if (data.length < pageSize) {
+ finished.value = true
+ }
+ list.value.push(...data)
+ page.value++
+ }
+ catch (err) {
+ error.value = err
+ }
+ finally {
+ loading.value = false
+ }
+ }
+
+ const refresh = async () => {
+ page.value = 1
+ finished.value = false
+ list.value = []
+ await loadData()
+ }
+
+ const loadMore = async () => {
+ await loadData()
+ }
+
+ onMounted(() => {
+ refresh()
+ })
+
+ return {
+ list,
+ loading,
+ finished,
+ error,
+ refresh,
+ loadMore,
+ }
+}
diff --git a/src/hooks/useUpload.ts b/src/hooks/useUpload.ts
new file mode 100644
index 0000000..7c9700a
--- /dev/null
+++ b/src/hooks/useUpload.ts
@@ -0,0 +1,171 @@
+import { ref } from 'vue'
+import { getEnvBaseUrl } from '@/utils/index'
+
+const VITE_UPLOAD_BASEURL = `${getEnvBaseUrl()}/upload`
+
+type TfileType = 'image' | 'file'
+type TImage = 'png' | 'jpg' | 'jpeg' | 'webp' | '*'
+type TFile = 'doc' | 'docx' | 'ppt' | 'zip' | 'xls' | 'xlsx' | 'txt' | TImage
+
+interface TOptions {
+ formData?: Record
+ maxSize?: number
+ accept?: T extends 'image' ? TImage[] : TFile[]
+ fileType?: T
+ success?: (params: any) => void
+ error?: (err: any) => void
+}
+
+export default function useUpload(options: TOptions = {} as TOptions) {
+ const {
+ formData = {},
+ maxSize = 5 * 1024 * 1024,
+ accept = ['*'],
+ fileType = 'image',
+ success,
+ error: onError,
+ } = options
+
+ const loading = ref(false)
+ const error = ref(null)
+ const data = ref(null)
+
+ const handleFileChoose = ({ tempFilePath, size }: { tempFilePath: string, size: number }) => {
+ if (size > maxSize) {
+ uni.showToast({
+ title: `文件大小不能超过 ${maxSize / 1024 / 1024}MB`,
+ icon: 'none',
+ })
+ return
+ }
+
+ // const fileExtension = file?.tempFiles?.name?.split('.').pop()?.toLowerCase()
+ // const isTypeValid = accept.some((type) => type === '*' || type.toLowerCase() === fileExtension)
+
+ // if (!isTypeValid) {
+ // uni.showToast({
+ // title: `仅支持 ${accept.join(', ')} 格式的文件`,
+ // icon: 'none',
+ // })
+ // return
+ // }
+
+ loading.value = true
+ uploadFile({
+ tempFilePath,
+ formData,
+ onSuccess: (res) => {
+ // 修改这里的解析逻辑,适应不同平台的返回格式
+ let parsedData = res
+ try {
+ // 尝试解析为JSON
+ const jsonData = JSON.parse(res)
+ // 检查是否包含data字段
+ parsedData = jsonData.data || jsonData
+ }
+ catch (e) {
+ // 如果解析失败,使用原始数据
+ console.log('Response is not JSON, using raw data:', res)
+ }
+ data.value = parsedData
+ // console.log('上传成功', res)
+ success?.(parsedData)
+ },
+ onError: (err) => {
+ error.value = err
+ onError?.(err)
+ },
+ onComplete: () => {
+ loading.value = false
+ },
+ })
+ }
+
+ const run = () => {
+ // 微信小程序从基础库 2.21.0 开始, wx.chooseImage 停止维护,请使用 uni.chooseMedia 代替。
+ // 微信小程序在2023年10月17日之后,使用本API需要配置隐私协议
+ const chooseFileOptions = {
+ count: 1,
+ success: (res: any) => {
+ console.log('File selected successfully:', res)
+ // 小程序中res:{errMsg: "chooseImage:ok", tempFiles: [{fileType: "image", size: 48976, tempFilePath: "http://tmp/5iG1WpIxTaJf3ece38692a337dc06df7eb69ecb49c6b.jpeg"}]}
+ // h5中res:{errMsg: "chooseImage:ok", tempFilePaths: "blob:http://localhost:9000/f74ab6b8-a14d-4cb6-a10d-fcf4511a0de5", tempFiles: [File]}
+ // h5的File有以下字段:{name: "girl.jpeg", size: 48976, type: "image/jpeg"}
+ // App中res:{errMsg: "chooseImage:ok", tempFilePaths: "file:///Users/feige/xxx/gallery/1522437259-compressed-IMG_0006.jpg", tempFiles: [File]}
+ // App的File有以下字段:{path: "file:///Users/feige/xxx/gallery/1522437259-compressed-IMG_0006.jpg", size: 48976}
+ let tempFilePath = ''
+ let size = 0
+ // #ifdef MP-WEIXIN
+ tempFilePath = res.tempFiles[0].tempFilePath
+ size = res.tempFiles[0].size
+ // #endif
+ // #ifndef MP-WEIXIN
+ tempFilePath = res.tempFilePaths[0]
+ size = res.tempFiles[0].size
+ // #endif
+ handleFileChoose({ tempFilePath, size })
+ },
+ fail: (err: any) => {
+ console.error('File selection failed:', err)
+ error.value = err
+ onError?.(err)
+ },
+ }
+
+ if (fileType === 'image') {
+ // #ifdef MP-WEIXIN
+ uni.chooseMedia({
+ ...chooseFileOptions,
+ mediaType: ['image'],
+ })
+ // #endif
+
+ // #ifndef MP-WEIXIN
+ uni.chooseImage(chooseFileOptions)
+ // #endif
+ }
+ else {
+ uni.chooseFile({
+ ...chooseFileOptions,
+ type: 'all',
+ })
+ }
+ }
+
+ return { loading, error, data, run }
+}
+
+async function uploadFile({
+ tempFilePath,
+ formData,
+ onSuccess,
+ onError,
+ onComplete,
+}: {
+ tempFilePath: string
+ formData: Record
+ onSuccess: (data: any) => void
+ onError: (err: any) => void
+ onComplete: () => void
+}) {
+ uni.uploadFile({
+ url: VITE_UPLOAD_BASEURL,
+ filePath: tempFilePath,
+ name: 'file',
+ formData,
+ success: (uploadFileRes) => {
+ try {
+ const data = uploadFileRes.data
+ onSuccess(data)
+ }
+ catch (err) {
+ onError(err)
+ }
+ },
+ fail: (err) => {
+ console.error('Upload failed:', err)
+ onError(err)
+ },
+ complete: onComplete,
+ })
+}
diff --git a/src/http/README.md b/src/http/README.md
new file mode 100644
index 0000000..5bb5a4f
--- /dev/null
+++ b/src/http/README.md
@@ -0,0 +1,13 @@
+# 请求库
+
+目前unibest支持3种请求库:
+- 菲鸽简单封装的 `简单版本http`,路径(src/http/http.ts),对应的示例在 src/api/foo.ts
+- `alova 的 http`,路径(src/http/alova.ts),对应的示例在 src/api/foo-alova.ts
+- `vue-query`, 路径(src/http/vue-query.ts), 目前主要用在自动生成接口,详情看(https://unibest.tech/base/17-generate),示例在 src/service/app 文件夹
+
+## 如何选择
+如果您以前用过 alova 或者 vue-query,可以优先使用您熟悉的。
+如果您的项目简单,简单版本的http 就够了,也不会增加包体积。(发版的时候可以去掉alova和vue-query,如果没有超过包体积,留着也无所谓 ^_^)
+
+## roadmap
+菲鸽最近在优化脚手架,后续可以选择是否使用第三方的请求库,以及选择什么请求库。还在开发中,大概月底出来(8月31号)。
\ No newline at end of file
diff --git a/src/http/alova.ts b/src/http/alova.ts
new file mode 100644
index 0000000..ad7cba5
--- /dev/null
+++ b/src/http/alova.ts
@@ -0,0 +1,133 @@
+import type { uniappRequestAdapter } from '@alova/adapter-uniapp'
+import type { IResponse } from './types'
+import AdapterUniapp from '@alova/adapter-uniapp'
+import { createAlova } from 'alova'
+import { createServerTokenAuthentication } from 'alova/client'
+import VueHook from 'alova/vue'
+import { toLoginPage } from '@/utils/toLoginPage'
+import { ContentTypeEnum, ResultEnum, ShowMessage } from './tools/enum'
+
+// 配置动态Tag
+export const API_DOMAINS = {
+ DEFAULT: import.meta.env.VITE_SERVER_BASEURL,
+ SECONDARY: import.meta.env.VITE_SERVER_BASEURL_SECONDARY,
+}
+
+/**
+ * 创建请求实例
+ */
+const { onAuthRequired, onResponseRefreshToken } = createServerTokenAuthentication<
+ typeof VueHook,
+ typeof uniappRequestAdapter
+>({
+ // 如果下面拦截不到,请使用 refreshTokenOnSuccess by 群友@琛
+ refreshTokenOnError: {
+ isExpired: (error) => {
+ return error.response?.status === ResultEnum.Unauthorized
+ },
+ handler: async () => {
+ try {
+ // await authLogin();
+ }
+ catch (error) {
+ // 切换到登录页
+ toLoginPage({ mode: 'reLaunch' })
+ throw error
+ }
+ },
+ },
+})
+
+/**
+ * alova 请求实例
+ */
+const alovaInstance = createAlova({
+ baseURL: API_DOMAINS.DEFAULT,
+ ...AdapterUniapp(),
+ timeout: 5000,
+ statesHook: VueHook,
+
+ beforeRequest: onAuthRequired((method) => {
+ // 设置默认 Content-Type
+ method.config.headers = {
+ ContentType: ContentTypeEnum.JSON,
+ Accept: 'application/json, text/plain, */*',
+ ...method.config.headers,
+ }
+
+ const { config } = method
+ const ignoreAuth = !config.meta?.ignoreAuth
+ // 处理认证信息 自行处理认证问题
+ if (ignoreAuth) {
+ const token = 'getToken()'
+ if (!token) {
+ throw new Error('[请求错误]:未登录')
+ }
+ // method.config.headers.token = token;
+ }
+
+ // 处理动态域名
+ if (config.meta?.domain) {
+ method.baseURL = config.meta.domain
+ console.log('当前域名', method.baseURL)
+ }
+ }),
+
+ responded: onResponseRefreshToken((response, method) => {
+ console.log('response===>', response)
+ const { config } = method
+ const { requestType } = config
+ const {
+ statusCode,
+ data: rawData,
+ errMsg,
+ } = response as UniNamespace.RequestSuccessCallbackResult
+
+ // 处理特殊请求类型(上传/下载)
+ if (requestType === 'upload' || requestType === 'download') {
+ return response
+ }
+
+ // 处理 HTTP 状态码错误
+ if (statusCode !== 200) {
+ const errorMessage = ShowMessage(statusCode) || `HTTP请求错误[${statusCode}]`
+ console.error('errorMessage===>', errorMessage)
+ uni.showToast({
+ title: errorMessage,
+ icon: 'error',
+ })
+ throw new Error(`${errorMessage}:${errMsg}`)
+ }
+
+ if(config.meta?.isHalo){
+ if(rawData) {
+ return rawData
+ }
+ if (config.meta?.toast !== false) {
+ uni.showToast({
+ title:'请求错误:返回数据为空' ,
+ icon: 'none',
+ })
+ return rawData
+ }
+ throw new Error('请求错误:返回数据为空')
+ }
+
+ // 处理业务逻辑错误
+ const { code, message, data } = rawData as IResponse
+ // 0和200当做成功都很普遍,这里直接兼容两者,见 ResultEnum
+ if (code !== ResultEnum.Success0 && code !== ResultEnum.Success200) {
+ if (config.meta?.toast !== false) {
+ uni.showToast({
+ title: message,
+ icon: 'none',
+ })
+ }
+ throw new Error(`请求错误[${code}]:${message}`)
+ }
+ // 处理成功响应,返回业务数据
+ return data
+ }),
+})
+
+export const http = alovaInstance
diff --git a/src/http/http.ts b/src/http/http.ts
new file mode 100644
index 0000000..c050c93
--- /dev/null
+++ b/src/http/http.ts
@@ -0,0 +1,200 @@
+import type { IDoubleTokenRes } from '@/api/types/login'
+import type { CustomRequestOptions, IResponse } from '@/http/types'
+import { nextTick } from 'vue'
+import { useTokenStore } from '@/store/token'
+import { isDoubleTokenMode } from '@/utils'
+import { toLoginPage } from '@/utils/toLoginPage'
+import { ResultEnum } from './tools/enum'
+
+// 刷新 token 状态管理
+let refreshing = false // 防止重复刷新 token 标识
+let taskQueue: (() => void)[] = [] // 刷新 token 请求队列
+
+export function http(options: CustomRequestOptions) {
+ // 1. 返回 Promise 对象
+ return new Promise((resolve, reject) => {
+ uni.request({
+ ...options,
+ dataType: 'json',
+ // #ifndef MP-WEIXIN
+ responseType: 'json',
+ // #endif
+ // 响应成功
+ success: async (res) => {
+ const responseData = res.data as IResponse
+ const { code } = responseData
+
+ // 检查是否是401错误(包括HTTP状态码401或业务码401)
+ const isTokenExpired = res.statusCode === 401 || code === 401
+
+ if (isTokenExpired) {
+ const tokenStore = useTokenStore()
+ if (!isDoubleTokenMode) {
+ // 未启用双token策略,清理用户信息,跳转到登录页
+ tokenStore.logout()
+ toLoginPage()
+ return reject(res)
+ }
+
+ /* -------- 无感刷新 token ----------- */
+ const { refreshToken } = tokenStore.tokenInfo as IDoubleTokenRes || {}
+ // token 失效的,且有刷新 token 的,才放到请求队列里
+ if (refreshToken) {
+ taskQueue.push(() => {
+ resolve(http(options))
+ })
+ }
+
+ // 如果有 refreshToken 且未在刷新中,发起刷新 token 请求
+ if (refreshToken && !refreshing) {
+ refreshing = true
+ try {
+ // 发起刷新 token 请求(使用 store 的 refreshToken 方法)
+ await tokenStore.refreshToken()
+ // 刷新 token 成功
+ refreshing = false
+ nextTick(() => {
+ // 关闭其他弹窗
+ uni.hideToast()
+ uni.showToast({
+ title: 'token 刷新成功',
+ icon: 'none',
+ })
+ })
+ // 将任务队列的所有任务重新请求
+ taskQueue.forEach(task => task())
+ }
+ catch (refreshErr) {
+ console.error('刷新 token 失败:', refreshErr)
+ refreshing = false
+ // 刷新 token 失败,跳转到登录页
+ nextTick(() => {
+ // 关闭其他弹窗
+ uni.hideToast()
+ uni.showToast({
+ title: '登录已过期,请重新登录',
+ icon: 'none',
+ })
+ })
+ // 清除用户信息
+ await tokenStore.logout()
+ // 跳转到登录页
+ setTimeout(() => {
+ toLoginPage()
+ }, 2000)
+ }
+ finally {
+ // 不管刷新 token 成功与否,都清空任务队列
+ taskQueue = []
+ }
+ }
+
+ return reject(res)
+ }
+
+ // 处理其他成功状态(HTTP状态码200-299)
+ if (res.statusCode >= 200 && res.statusCode < 300) {
+ // 处理业务逻辑错误
+ if (code !== ResultEnum.Success0 && code !== ResultEnum.Success200) {
+ uni.showToast({
+ icon: 'none',
+ title: responseData.msg || responseData.message || '请求错误',
+ })
+ return reject(responseData.data)
+ }
+ return resolve(responseData.data)
+ }
+
+ // 处理其他错误
+ !options.hideErrorToast
+ && uni.showToast({
+ icon: 'none',
+ title: (res.data as any).msg || '请求错误',
+ })
+ reject(res)
+ },
+ // 响应失败
+ fail(err) {
+ uni.showToast({
+ icon: 'none',
+ title: '网络错误,换个网络试试',
+ })
+ reject(err)
+ },
+ })
+ })
+}
+
+/**
+ * GET 请求
+ * @param url 后台地址
+ * @param query 请求query参数
+ * @param header 请求头,默认为json格式
+ * @returns
+ */
+export function httpGet(url: string, query?: Record, header?: Record, options?: Partial) {
+ return http({
+ url,
+ query,
+ method: 'GET',
+ header,
+ ...options,
+ })
+}
+
+/**
+ * POST 请求
+ * @param url 后台地址
+ * @param data 请求body参数
+ * @param query 请求query参数,post请求也支持query,很多微信接口都需要
+ * @param header 请求头,默认为json格式
+ * @returns
+ */
+export function httpPost(url: string, data?: Record, query?: Record, header?: Record, options?: Partial) {
+ return http({
+ url,
+ query,
+ data,
+ method: 'POST',
+ header,
+ ...options,
+ })
+}
+/**
+ * PUT 请求
+ */
+export function httpPut(url: string, data?: Record, query?: Record, header?: Record, options?: Partial) {
+ return http({
+ url,
+ data,
+ query,
+ method: 'PUT',
+ header,
+ ...options,
+ })
+}
+
+/**
+ * DELETE 请求(无请求体,仅 query)
+ */
+export function httpDelete(url: string, query?: Record, header?: Record, options?: Partial) {
+ return http({
+ url,
+ query,
+ method: 'DELETE',
+ header,
+ ...options,
+ })
+}
+
+// 支持与 axios 类似的API调用
+http.get = httpGet
+http.post = httpPost
+http.put = httpPut
+http.delete = httpDelete
+
+// 支持与 alovaJS 类似的API调用
+http.Get = httpGet
+http.Post = httpPost
+http.Put = httpPut
+http.Delete = httpDelete
diff --git a/src/http/interceptor.ts b/src/http/interceptor.ts
new file mode 100644
index 0000000..bcd0f87
--- /dev/null
+++ b/src/http/interceptor.ts
@@ -0,0 +1,69 @@
+import type { CustomRequestOptions } from '@/http/types'
+import { useTokenStore } from '@/store'
+import { getEnvBaseUrl } from '@/utils'
+import { stringifyQuery } from './tools/queryString'
+
+// 请求基准地址
+const baseUrl = getEnvBaseUrl()
+
+// 拦截器配置
+const httpInterceptor = {
+ // 拦截前触发
+ invoke(options: CustomRequestOptions) {
+ // 如果您使用了alova,则请把下面的代码放开注释
+ // alova 执行流程:alova beforeRequest --> 本拦截器 --> alova responded
+ // return options
+
+ // 非 alova 请求,正常执行
+ // 接口请求支持通过 query 参数配置 queryString
+ if (options.query) {
+ const queryStr = stringifyQuery(options.query)
+ if (options.url.includes('?')) {
+ options.url += `&${queryStr}`
+ }
+ else {
+ options.url += `?${queryStr}`
+ }
+ }
+ // 非 http 开头需拼接地址
+ if (!options.url.startsWith('http')) {
+ // #ifdef H5
+ if (JSON.parse(import.meta.env.VITE_APP_PROXY_ENABLE)) {
+ // 自动拼接代理前缀
+ options.url = import.meta.env.VITE_APP_PROXY_PREFIX + options.url
+ }
+ else {
+ options.url = baseUrl + options.url
+ }
+ // #endif
+ // 非H5正常拼接
+ // #ifndef H5
+ options.url = baseUrl + options.url
+ // #endif
+ // TIPS: 如果需要对接多个后端服务,也可以在这里处理,拼接成所需要的地址
+ }
+ // 1. 请求超时
+ options.timeout = 60000 // 60s
+ // 2. (可选)添加小程序端请求头标识
+ options.header = {
+ ...options.header,
+ }
+ // 3. 添加 token 请求头标识
+ const tokenStore = useTokenStore()
+ const token = tokenStore.updateNowTime().validToken
+
+ if (token) {
+ options.header.Authorization = `Bearer ${token}`
+ }
+ return options
+ },
+}
+
+export const requestInterceptor = {
+ install() {
+ // 拦截 request 请求
+ uni.addInterceptor('request', httpInterceptor)
+ // 拦截 uploadFile 文件上传
+ uni.addInterceptor('uploadFile', httpInterceptor)
+ },
+}
diff --git a/src/http/tools/enum.ts b/src/http/tools/enum.ts
new file mode 100644
index 0000000..806e616
--- /dev/null
+++ b/src/http/tools/enum.ts
@@ -0,0 +1,68 @@
+export enum ResultEnum {
+ // 0和200当做成功都很普遍,这里直接兼容两者(PS:0和200通常都不会当做错误码,但是有的接口会返回0,有的接口会返回200)
+ Success0 = 0, // 成功
+ Success200 = 200, // 成功
+ Error = 400, // 错误
+ Unauthorized = 401, // 未授权
+ Forbidden = 403, // 禁止访问(原为forbidden)
+ NotFound = 404, // 未找到(原为notFound)
+ MethodNotAllowed = 405, // 方法不允许(原为methodNotAllowed)
+ RequestTimeout = 408, // 请求超时(原为requestTimeout)
+ InternalServerError = 500, // 服务器错误(原为internalServerError)
+ NotImplemented = 501, // 未实现(原为notImplemented)
+ BadGateway = 502, // 网关错误(原为badGateway)
+ ServiceUnavailable = 503, // 服务不可用(原为serviceUnavailable)
+ GatewayTimeout = 504, // 网关超时(原为gatewayTimeout)
+ HttpVersionNotSupported = 505, // HTTP版本不支持(原为httpVersionNotSupported)
+}
+export enum ContentTypeEnum {
+ JSON = 'application/json;charset=UTF-8',
+ FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
+ FORM_DATA = 'multipart/form-data;charset=UTF-8',
+}
+/**
+ * 根据状态码,生成对应的错误信息
+ * @param {number|string} status 状态码
+ * @returns {string} 错误信息
+ */
+export function ShowMessage(status: number | string): string {
+ let message: string
+ switch (status) {
+ case 400:
+ message = '请求错误(400)'
+ break
+ case 401:
+ message = '未授权,请重新登录(401)'
+ break
+ case 403:
+ message = '拒绝访问(403)'
+ break
+ case 404:
+ message = '请求出错(404)'
+ break
+ case 408:
+ message = '请求超时(408)'
+ break
+ case 500:
+ message = '服务器错误(500)'
+ break
+ case 501:
+ message = '服务未实现(501)'
+ break
+ case 502:
+ message = '网络错误(502)'
+ break
+ case 503:
+ message = '服务不可用(503)'
+ break
+ case 504:
+ message = '网络超时(504)'
+ break
+ case 505:
+ message = 'HTTP版本不受支持(505)'
+ break
+ default:
+ message = `连接出错(${status})!`
+ }
+ return `${message},请检查网络或联系管理员!`
+}
diff --git a/src/http/tools/queryString.ts b/src/http/tools/queryString.ts
new file mode 100644
index 0000000..edf973e
--- /dev/null
+++ b/src/http/tools/queryString.ts
@@ -0,0 +1,29 @@
+/**
+ * 将对象序列化为URL查询字符串,用于替代第三方的 qs 库,节省宝贵的体积
+ * 支持基本类型值和数组,不支持嵌套对象
+ * @param obj 要序列化的对象
+ * @returns 序列化后的查询字符串
+ */
+export function stringifyQuery(obj: Record): string {
+ if (!obj || typeof obj !== 'object' || Array.isArray(obj))
+ return ''
+
+ return Object.entries(obj)
+ .filter(([_, value]) => value !== undefined && value !== null)
+ .map(([key, value]) => {
+ // 对键进行编码
+ const encodedKey = encodeURIComponent(key)
+
+ // 处理数组类型
+ if (Array.isArray(value)) {
+ return value
+ .filter(item => item !== undefined && item !== null)
+ .map(item => `${encodedKey}=${encodeURIComponent(item)}`)
+ .join('&')
+ }
+
+ // 处理基本类型
+ return `${encodedKey}=${encodeURIComponent(value)}`
+ })
+ .join('&')
+}
diff --git a/src/http/types.ts b/src/http/types.ts
new file mode 100644
index 0000000..8187822
--- /dev/null
+++ b/src/http/types.ts
@@ -0,0 +1,44 @@
+/**
+ * 在 uniapp 的 RequestOptions 和 IUniUploadFileOptions 基础上,添加自定义参数
+ */
+export type CustomRequestOptions = UniApp.RequestOptions & {
+ query?: Record
+ /** 出错时是否隐藏错误提示 */
+ hideErrorToast?: boolean
+} & IUniUploadFileOptions // 添加uni.uploadFile参数类型
+
+/** 主要提供给 openapi-ts-request 生成的代码使用 */
+export type CustomRequestOptions_ = Omit
+
+export interface HttpRequestResult {
+ promise: Promise
+ requestTask: UniApp.RequestTask
+}
+
+// 通用响应格式(兼容 msg + message 字段)
+export type IResponse = {
+ code: number
+ data: T
+ message: string
+ [key: string]: any // 允许额外属性
+} | {
+ code: number
+ data: T
+ msg: string
+ [key: string]: any // 允许额外属性
+}
+
+// 分页请求参数
+export interface PageParams {
+ page: number
+ pageSize: number
+ [key: string]: any
+}
+
+// 分页响应数据
+export interface PageResult {
+ list: T[]
+ total: number
+ page: number
+ pageSize: number
+}
diff --git a/src/http/vue-query.ts b/src/http/vue-query.ts
new file mode 100644
index 0000000..69ca80d
--- /dev/null
+++ b/src/http/vue-query.ts
@@ -0,0 +1,30 @@
+import type { CustomRequestOptions } from '@/http/types'
+import { http } from './http'
+
+/*
+ * openapi-ts-request 工具的 request 跨客户端适配方法
+ */
+export default function request(
+ url: string,
+ options: Omit & {
+ params?: Record
+ headers?: Record
+ },
+) {
+ const requestOptions = {
+ url,
+ ...options,
+ }
+
+ if (options.params) {
+ requestOptions.query = requestOptions.params
+ delete requestOptions.params
+ }
+
+ if (options.headers) {
+ requestOptions.header = options.headers
+ delete requestOptions.headers
+ }
+
+ return http(requestOptions)
+}
diff --git a/src/layouts/default.vue b/src/layouts/default.vue
new file mode 100644
index 0000000..ba4672f
--- /dev/null
+++ b/src/layouts/default.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/locale/README.md b/src/locale/README.md
new file mode 100644
index 0000000..1e77098
--- /dev/null
+++ b/src/locale/README.md
@@ -0,0 +1,12 @@
+# 注意事项
+
+> 文件夹名字必须为 `locale`, 这是 `uniapp` 官方约定的,如果改为别的,标题将不能正常切换多语言(其他内容还是正常)。
+>
+> `xxx.json` 的 `xxx` 多语言标识必须与 `uniapp` 官方约定的一致,否则也会出现 BUG。
+>
+> 查看截图 `screenshots/i18n.png`。
+
+## 参考文档
+
+[uniapp 国际化开发指南](https://uniapp.dcloud.net.cn/tutorial/i18n.html)
+[uniapp 国际化-注意事项](https://uniapp.dcloud.net.cn/api/ui/locale.html#onlocalechange) 最下面的注意事项
diff --git a/src/locale/en.json b/src/locale/en.json
new file mode 100644
index 0000000..d7acc57
--- /dev/null
+++ b/src/locale/en.json
@@ -0,0 +1,13 @@
+{
+ "tabbar.home": "Home",
+ "tabbar.gallery": "Gallery",
+ "tabbar.moments": "Moments",
+ "tabbar.about": "About",
+ "tabbar.me": "Me",
+ "tabbar.i18n": "I18n",
+ "i18n.title": "En Title",
+ "alova.title": "Alova Request",
+ "weight": "{heavy}KG",
+ "detail": "{0}cm, {1}KG",
+ "introduction": "I am {name},height:{detail.height},weight:{detail.weight}"
+}
diff --git a/src/locale/index.ts b/src/locale/index.ts
new file mode 100644
index 0000000..56e0540
--- /dev/null
+++ b/src/locale/index.ts
@@ -0,0 +1,81 @@
+import { createI18n } from 'vue-i18n'
+
+import en from './en.json'
+import zhHans from './zh-Hans.json' // 简体中文
+
+const messages = {
+ en,
+ 'zh-Hans': zhHans, // key 不能乱写,查看uniapp官网
+}
+
+const i18n = createI18n({
+ locale: uni.getLocale(), // 获取已设置的语言,fallback 语言需要再 manifest.config.ts 中设置
+ messages,
+ allowComposition: true,
+})
+
+console.log(uni.getLocale())
+console.log(i18n.global.locale)
+
+/**
+ * 可以拿到原始的语言模板,非 vue 文件使用这个方法,
+ * @param { string } key 多语言的key,eg: "app.name"
+ * @returns {string} 返回原始的多语言模板,eg: "{heavy}KG"
+ */
+export function getTemplateByKey(key: string) {
+ if (!key) {
+ console.error(`[i18n] Function getTemplateByKey(), key param is required`)
+ return ''
+ }
+ const locale = uni.getLocale()
+ console.log('locale:', locale)
+
+ const message = messages[locale] // 拿到某个多语言的所有模板(是一个对象)
+ if (Object.keys(message).includes(key)) {
+ return message[key]
+ }
+
+ try {
+ const keyList = key.split('.')
+ return keyList.reduce((pre, cur) => {
+ return pre[cur]
+ }, message)
+ }
+ catch (error) {
+ console.error(`[i18n] Function getTemplateByKey(), key param ${key} is not existed.`)
+ return ''
+ }
+}
+
+/**
+ * formatI18n('我是{name},身高{detail.height},体重{detail.weight}',{name:'张三',detail:{height:178,weight:'75kg'}})
+ * 暂不支持数组
+ * @param template 多语言模板字符串,eg: `我是{name}`
+ * @param {object | undefined} data 需要传递的数据对象,里面的key与多语言字符串对应,eg: `{name:'菲鸽'}`
+ * @returns
+ */
+function formatI18n(template: string, data?: any) {
+ return template.replace(/\{([^}]+)\}/g, (match, key: string) => {
+ // console.log( match, key) // => { detail.height } detail.height
+ const arr = key.trim().split('.')
+ let result = data
+ while (arr.length) {
+ const first = arr.shift()
+ result = result[first]
+ }
+ return result
+ })
+}
+
+/**
+ * t('introduction',{name:'张三',detail:{height:178,weight:'75kg'}})
+ * => formatI18n('我是{name},身高{detail.height},体重{detail.weight}',{name:'张三',detail:{height:178,weight:'75kg'}})
+ * 没有key的,可以不传 data;暂不支持数组
+ * @param template 多语言模板字符串,eg: `我是{name}`
+ * @param {object | undefined} data 需要传递的数据对象,里面的key与多语言字符串对应,eg: `{name:'菲鸽'}`
+ * @returns
+ */
+export function t(key, data?) {
+ return formatI18n(getTemplateByKey(key), data)
+}
+export default i18n
diff --git a/src/locale/zh-Hans.json b/src/locale/zh-Hans.json
new file mode 100644
index 0000000..fc9bd5b
--- /dev/null
+++ b/src/locale/zh-Hans.json
@@ -0,0 +1,13 @@
+{
+ "tabbar.home": "首页",
+ "tabbar.gallery": "相册",
+ "tabbar.moments": "瞬间",
+ "tabbar.about": "关于",
+ "tabbar.me": "我的",
+ "tabbar.i18n": "语言",
+ "i18n.title": "中文标题",
+ "alova.title": "Alova 请求",
+ "weight": "{heavy}公斤",
+ "detail": "{0}cm, {1}公斤",
+ "introduction": "我是 {name},身高:{detail.height},体重:{detail.weight}"
+}
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..cbd72af
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,21 @@
+import { createSSRApp } from 'vue'
+import App from './App.vue'
+import { requestInterceptor } from './http/interceptor'
+import { routeInterceptor } from './router/interceptor'
+
+import store from './store'
+import '@/style/index.scss'
+import 'virtual:uno.css'
+import i18n from './locale/index'
+
+export function createApp() {
+ const app = createSSRApp(App)
+ app.use(store)
+ app.use(routeInterceptor)
+ app.use(requestInterceptor)
+ app.use(i18n)
+
+ return {
+ app,
+ }
+}
diff --git a/src/pages-blog/about/about.vue b/src/pages-blog/about/about.vue
new file mode 100644
index 0000000..50b0b0e
--- /dev/null
+++ b/src/pages-blog/about/about.vue
@@ -0,0 +1,17 @@
+
+
+
+
+ 关于页面
+
+
diff --git a/src/pages-blog/page-template/page-template.vue b/src/pages-blog/page-template/page-template.vue
new file mode 100644
index 0000000..e8c20b7
--- /dev/null
+++ b/src/pages-blog/page-template/page-template.vue
@@ -0,0 +1,17 @@
+
+
+
+
+ 页面模板页面
+
+
diff --git a/src/pages-blog/post-detail/post-detail.vue b/src/pages-blog/post-detail/post-detail.vue
new file mode 100644
index 0000000..2947ae9
--- /dev/null
+++ b/src/pages-blog/post-detail/post-detail.vue
@@ -0,0 +1,17 @@
+
+
+
+
+ 文章详情页面
+
+
diff --git a/src/pages-demo/i18n/index.vue b/src/pages-demo/i18n/index.vue
new file mode 100644
index 0000000..b574630
--- /dev/null
+++ b/src/pages-demo/i18n/index.vue
@@ -0,0 +1,132 @@
+
+
+
+
+
+ 经过我的测试发现,小程序里面会有2处BUG:
+
+ 1. 页面标题多语言不生效
+ 已解决
+
+
+
+ 2. 多语言传递的参数不生效,如下 heavy
+
+ 已解决
+
+ 把 $t 改为自定义的 t 即可
+
+
+
+
+ 多语言测试
+
+
+ {{ $t("i18n.title") }}
+
+
+ 使用$t: {{ $t("weight", { heavy: 100 }) }}
+
+
+ {{ $t("weight", { heavy: 100 }) }}
+
+
+ 使用t: {{ t("weight", { heavy: 100 }) }}
+
+
+ {{ t("weight", { heavy: 100 }) }}
+
+
+ {{ t("introduction", user) }}
+
+
+
+ 切换语言
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+ 测试弹窗
+
+
+
+
+
diff --git a/src/pages-demo/request-demo/request-demo.vue b/src/pages-demo/request-demo/request-demo.vue
new file mode 100644
index 0000000..4c26f92
--- /dev/null
+++ b/src/pages-demo/request-demo/request-demo.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+ 查询文章列表
+
+
+
+
diff --git a/src/pages-demo/ucharts/data.json b/src/pages-demo/ucharts/data.json
new file mode 100644
index 0000000..8f3385e
--- /dev/null
+++ b/src/pages-demo/ucharts/data.json
@@ -0,0 +1,706 @@
+{
+ "localdata": [
+ { "value": 35, "text": "2016", "group": "目标值" },
+ { "value": 18, "text": "2016", "group": "完成量" },
+ { "value": 36, "text": "2017", "group": "目标值" },
+ { "value": 27, "text": "2017", "group": "完成量" },
+ { "value": 31, "text": "2018", "group": "目标值" },
+ { "value": 21, "text": "2018", "group": "完成量" },
+ { "value": 33, "text": "2019", "group": "目标值" },
+ { "value": 24, "text": "2019", "group": "完成量" },
+ { "value": 13, "text": "2020", "group": "目标值" },
+ { "value": 6, "text": "2020", "group": "完成量" },
+ { "value": 34, "text": "2021", "group": "目标值" },
+ { "value": 28, "text": "2021", "group": "完成量" }
+ ],
+ "localdataB": [
+ { "value": 50, "text": "一班" },
+ { "value": 30, "text": "二班" },
+ { "value": 20, "text": "三班" },
+ { "value": 18, "text": "四班" },
+ { "value": 8, "text": "五班" }
+ ],
+ "TLine": {
+ "series": [
+ {
+ "name": "时间轴1",
+ "data": [
+ [10000, 55],
+ [30000, 25],
+ [50000, 55],
+ [70000, 25],
+ [90000, 55]
+ ]
+ },
+ {
+ "name": "时间轴2",
+ "data": [
+ [0, 25],
+ [20000, 55],
+ [40000, 25],
+ [60000, 55],
+ [80000, 25]
+ ]
+ },
+ {
+ "name": "时间轴3",
+ "data": [
+ [0, 55],
+ [15000, 25],
+ [30000, 55],
+ [45000, 25],
+ [60000, 55]
+ ]
+ }
+ ]
+ },
+ "Scatter": {
+ "series": [
+ {
+ "name": "散点一",
+ "data": [
+ [10.0, 8.04],
+ [8.07, 6.95],
+ [13.0, 7.58],
+ [9.05, 8.81],
+ [11.0, 8.33],
+ [14.0, 7.66],
+ [13.4, 6.81],
+ [10.0, 6.33],
+ [14.0, 8.96],
+ [12.5, 6.82]
+ ]
+ },
+ {
+ "name": "散点二",
+ "data": [
+ [9.15, 7.2],
+ [11.5, 7.2],
+ [3.03, 4.23],
+ [12.2, 7.83],
+ [2.02, 4.47],
+ [1.05, 3.33],
+ [4.05, 4.96],
+ [6.03, 7.24],
+ [12.0, 6.26],
+ [12.0, 8.84],
+ [7.08, 5.82],
+ [5.02, 5.68]
+ ]
+ }
+ ]
+ },
+ "Bubble": {
+ "series": [
+ {
+ "name": "气泡一",
+ "data": [
+ [95, 95, 23, "标题1"],
+ [30, 55, 33, "标题2"]
+ ]
+ },
+ {
+ "name": "气泡二",
+ "data": [
+ [130, 30, 30, "标题3"],
+ [200, 90, 40, "标题4"]
+ ]
+ }
+ ]
+ },
+ "Column": {
+ "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
+ "series": [
+ {
+ "name": "目标值",
+ "data": [35, 36, 31, 33, 13, 34]
+ },
+ {
+ "name": "完成量",
+ "data": [18, 27, 21, 24, 6, 28]
+ }
+ ]
+ },
+ "ColumnA": {
+ "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
+ "series": [
+ {
+ "name": "成交量1",
+ "data": [15, { "value": 20, "color": "#f04864" }, 45, 37, 43, 34]
+ },
+ {
+ "name": "成交量2",
+ "data": [30, { "value": 40, "color": "#facc14" }, 25, 14, 34, 18]
+ }
+ ]
+ },
+ "Mix": {
+ "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
+ "series": [
+ {
+ "name": "曲面",
+ "data": [70, 50, 85, 130, 64, 88],
+ "type": "area",
+ "style": "curve"
+ },
+ {
+ "name": "柱1",
+ "index": 1,
+ "data": [40, { "value": 30, "color": "#f04864" }, 55, 110, 24, 58],
+ "type": "column"
+ },
+ {
+ "name": "柱2",
+ "index": 1,
+ "data": [50, 20, 75, 60, 34, 38],
+ "type": "column"
+ },
+ {
+ "name": "曲线",
+ "data": [70, 50, 85, 130, 64, 88],
+ "type": "line",
+ "style": "curve",
+ "color": "#1890ff",
+ "disableLegend": true
+ },
+ {
+ "name": "折线",
+ "data": [120, 140, 105, 170, 95, 160],
+ "type": "line",
+ "color": "#2fc25b"
+ },
+ {
+ "name": "点",
+ "index": 2,
+ "data": [100, 80, 125, 150, 112, 132],
+ "type": "point",
+ "color": "#f04864"
+ }
+ ]
+ },
+ "Line": {
+ "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
+ "series": [
+ {
+ "name": "成交量A",
+ "data": [35, 8, 25, 37, 4, 20]
+ },
+ {
+ "name": "成交量B",
+ "data": [70, 40, 65, 100, 44, 68]
+ },
+ {
+ "name": "成交量C",
+ "data": [100, 80, 95, 150, 112, 132]
+ }
+ ]
+ },
+ "Pie": {
+ "series": [
+ {
+ "name": "一班",
+ "data": 50
+ },
+ {
+ "name": "二班",
+ "data": 30
+ },
+ {
+ "name": "三班",
+ "data": 20
+ },
+ {
+ "name": "四班",
+ "data": 18
+ },
+ {
+ "name": "五班",
+ "data": 8
+ }
+ ]
+ },
+ "PieA": {
+ "series": [
+ {
+ "data": [
+ {
+ "name": "一班",
+ "value": 50
+ },
+ {
+ "name": "二班",
+ "value": 30
+ },
+ {
+ "name": "三班",
+ "value": 20
+ },
+ {
+ "name": "四班",
+ "value": 18
+ },
+ {
+ "name": "五班",
+ "value": 8
+ }
+ ]
+ }
+ ]
+ },
+ "Mount": {
+ "series": [
+ {
+ "data": [
+ {
+ "name": "一班",
+ "value": 82
+ },
+ {
+ "name": "二班",
+ "value": 63
+ },
+ {
+ "name": "三班",
+ "value": 86
+ },
+ {
+ "name": "四班",
+ "value": 65
+ },
+ {
+ "name": "五班",
+ "value": 79
+ }
+ ]
+ }
+ ]
+ },
+ "Radar": {
+ "categories": ["维度1", "维度2", "维度3", "维度4", "维度5", "维度6"],
+ "series": [
+ {
+ "name": "成交量1",
+ "data": [90, 110, 165, 195, 187, 172]
+ },
+ {
+ "name": "成交量2",
+ "data": [190, 210, 105, 35, 27, 102]
+ }
+ ]
+ },
+ "Arcbar1": {
+ "series": [
+ {
+ "name": "正确率",
+ "data": 0.8,
+ "color": "#2fc25b"
+ }
+ ]
+ },
+ "Arcbar2": {
+ "series": [
+ {
+ "name": "一班",
+ "data": 0.8
+ },
+ {
+ "name": "二班",
+ "data": 0.6
+ },
+ {
+ "name": "三班",
+ "data": 0.45
+ },
+ {
+ "name": "四班",
+ "data": 0.3
+ },
+ {
+ "name": "五班",
+ "data": 0.15
+ }
+ ]
+ },
+ "Gauge": {
+ "categories": [
+ {
+ "value": 0.2,
+ "color": "#1890ff"
+ },
+ {
+ "value": 0.8,
+ "color": "#2fc25b"
+ },
+ {
+ "value": 1,
+ "color": "#f04864"
+ }
+ ],
+ "series": [
+ {
+ "name": "完成率",
+ "data": 0.66
+ }
+ ]
+ },
+ "Candle": {
+ "categories": [
+ "2020/1/24",
+ "2020/1/25",
+ "2020/1/28",
+ "2020/1/29",
+ "2020/1/30",
+ "2020/1/31",
+ "2020/2/1",
+ "2020/2/4",
+ "2020/2/5",
+ "2020/2/6",
+ "2020/2/7",
+ "2020/2/8",
+ "2020/2/18",
+ "2020/2/19",
+ "2020/2/20",
+ "2020/2/21",
+ "2020/2/22",
+ "2020/2/25",
+ "2020/2/26",
+ "2020/2/27",
+ "2020/2/28",
+ "2020/3/1",
+ "2020/3/4",
+ "2020/3/5",
+ "2020/3/6",
+ "2020/3/7",
+ "2020/3/8",
+ "2020/3/11",
+ "2020/3/12",
+ "2020/3/13",
+ "2020/3/14",
+ "2020/3/15",
+ "2020/3/18",
+ "2020/3/19",
+ "2020/3/20",
+ "2020/3/21",
+ "2020/3/22",
+ "2020/3/25",
+ "2020/3/26",
+ "2020/3/27",
+ "2020/3/28",
+ "2020/3/29",
+ "2020/4/1",
+ "2020/4/2",
+ "2020/4/3",
+ "2020/4/8",
+ "2020/4/9",
+ "2020/4/10",
+ "2020/4/11",
+ "2020/4/12",
+ "2020/4/15",
+ "2020/4/16",
+ "2020/4/17",
+ "2020/4/18",
+ "2020/4/19",
+ "2020/4/22",
+ "2020/4/23",
+ "2020/4/24",
+ "2020/4/25",
+ "2020/4/26",
+ "2020/5/2",
+ "2020/5/3",
+ "2020/5/6",
+ "2020/5/7",
+ "2020/5/8",
+ "2020/5/9",
+ "2020/5/10",
+ "2020/5/13",
+ "2020/5/14",
+ "2020/5/15",
+ "2020/5/16",
+ "2020/5/17",
+ "2020/5/20",
+ "2020/5/21",
+ "2020/5/22",
+ "2020/5/23",
+ "2020/5/24",
+ "2020/5/27",
+ "2020/5/28",
+ "2020/5/29",
+ "2020/5/30",
+ "2020/5/31",
+ "2020/6/3",
+ "2020/6/4",
+ "2020/6/5",
+ "2020/6/6",
+ "2020/6/7",
+ "2020/6/13"
+ ],
+ "series": [
+ {
+ "name": "上证指数",
+ "data": [
+ [2320.26, 2302.6, 2287.3, 2362.94],
+ [2300, 2291.3, 2288.26, 2308.38],
+ [2295.35, 2346.5, 2295.35, 2346.92],
+ [2347.22, 2358.98, 2337.35, 2363.8],
+ [2360.75, 2382.48, 2347.89, 2383.76],
+ [2383.43, 2385.42, 2371.23, 2391.82],
+ [2377.41, 2419.02, 2369.57, 2421.15],
+ [2425.92, 2428.15, 2417.58, 2440.38],
+ [2411, 2433.13, 2403.3, 2437.42],
+ [2432.68, 2434.48, 2427.7, 2441.73],
+ [2430.69, 2418.53, 2394.22, 2433.89],
+ [2416.62, 2432.4, 2414.4, 2443.03],
+ [2441.91, 2421.56, 2415.43, 2444.8],
+ [2420.26, 2382.91, 2373.53, 2427.07],
+ [2383.49, 2397.18, 2370.61, 2397.94],
+ [2378.82, 2325.95, 2309.17, 2378.82],
+ [2322.94, 2314.16, 2308.76, 2330.88],
+ [2320.62, 2325.82, 2315.01, 2338.78],
+ [2313.74, 2293.34, 2289.89, 2340.71],
+ [2297.77, 2313.22, 2292.03, 2324.63],
+ [2322.32, 2365.59, 2308.92, 2366.16],
+ [2364.54, 2359.51, 2330.86, 2369.65],
+ [2332.08, 2273.4, 2259.25, 2333.54],
+ [2274.81, 2326.31, 2270.1, 2328.14],
+ [2333.61, 2347.18, 2321.6, 2351.44],
+ [2340.44, 2324.29, 2304.27, 2352.02],
+ [2326.42, 2318.61, 2314.59, 2333.67],
+ [2314.68, 2310.59, 2296.58, 2320.96],
+ [2309.16, 2286.6, 2264.83, 2333.29],
+ [2282.17, 2263.97, 2253.25, 2286.33],
+ [2255.77, 2270.28, 2253.31, 2276.22],
+ [2269.31, 2278.4, 2250, 2312.08],
+ [2267.29, 2240.02, 2239.21, 2276.05],
+ [2244.26, 2257.43, 2232.02, 2261.31],
+ [2257.74, 2317.37, 2257.42, 2317.86],
+ [2318.21, 2324.24, 2311.6, 2330.81],
+ [2321.4, 2328.28, 2314.97, 2332],
+ [2334.74, 2326.72, 2319.91, 2344.89],
+ [2318.58, 2297.67, 2281.12, 2319.99],
+ [2299.38, 2301.26, 2289, 2323.48],
+ [2273.55, 2236.3, 2232.91, 2273.55],
+ [2238.49, 2236.62, 2228.81, 2246.87],
+ [2229.46, 2234.4, 2227.31, 2243.95],
+ [2234.9, 2227.74, 2220.44, 2253.42],
+ [2232.69, 2225.29, 2217.25, 2241.34],
+ [2196.24, 2211.59, 2180.67, 2212.59],
+ [2215.47, 2225.77, 2215.47, 2234.73],
+ [2224.93, 2226.13, 2212.56, 2233.04],
+ [2236.98, 2219.55, 2217.26, 2242.48],
+ [2218.09, 2206.78, 2204.44, 2226.26],
+ [2199.91, 2181.94, 2177.39, 2204.99],
+ [2169.63, 2194.85, 2165.78, 2196.43],
+ [2195.03, 2193.8, 2178.47, 2197.51],
+ [2181.82, 2197.6, 2175.44, 2206.03],
+ [2201.12, 2244.64, 2200.58, 2250.11],
+ [2236.4, 2242.17, 2232.26, 2245.12],
+ [2242.62, 2184.54, 2182.81, 2242.62],
+ [2187.35, 2218.32, 2184.11, 2226.12],
+ [2213.19, 2199.31, 2191.85, 2224.63],
+ [2203.89, 2177.91, 2173.86, 2210.58],
+ [2170.78, 2174.12, 2161.14, 2179.65],
+ [2179.05, 2205.5, 2179.05, 2222.81],
+ [2212.5, 2231.17, 2212.5, 2236.07],
+ [2227.86, 2235.57, 2219.44, 2240.26],
+ [2242.39, 2246.3, 2235.42, 2255.21],
+ [2246.96, 2232.97, 2221.38, 2247.86],
+ [2228.82, 2246.83, 2225.81, 2247.67],
+ [2247.68, 2241.92, 2231.36, 2250.85],
+ [2238.9, 2217.01, 2205.87, 2239.93],
+ [2217.09, 2224.8, 2213.58, 2225.19],
+ [2221.34, 2251.81, 2210.77, 2252.87],
+ [2249.81, 2282.87, 2248.41, 2288.09],
+ [2286.33, 2299.99, 2281.9, 2309.39],
+ [2297.11, 2305.11, 2290.12, 2305.3],
+ [2303.75, 2302.4, 2292.43, 2314.18],
+ [2293.81, 2275.67, 2274.1, 2304.95],
+ [2281.45, 2288.53, 2270.25, 2292.59],
+ [2286.66, 2293.08, 2283.94, 2301.7],
+ [2293.4, 2321.32, 2281.47, 2322.1],
+ [2323.54, 2324.02, 2321.17, 2334.33],
+ [2316.25, 2317.75, 2310.49, 2325.72],
+ [2320.74, 2300.59, 2299.37, 2325.53],
+ [2300.21, 2299.25, 2294.11, 2313.43],
+ [2297.1, 2272.42, 2264.76, 2297.1],
+ [2270.71, 2270.93, 2260.87, 2276.86],
+ [2264.43, 2242.11, 2240.07, 2266.69],
+ [2242.26, 2210.9, 2205.07, 2250.63],
+ [2190.1, 2148.35, 2126.22, 2190.1]
+ ]
+ }
+ ]
+ },
+ "CandleColumn": {
+ "categories": [
+ "2020/1/24",
+ "2020/1/25",
+ "2020/1/28",
+ "2020/1/29",
+ "2020/1/30",
+ "2020/1/31",
+ "2020/2/1",
+ "2020/2/4",
+ "2020/2/5",
+ "2020/2/6",
+ "2020/2/7",
+ "2020/2/8",
+ "2020/2/18",
+ "2020/2/19",
+ "2020/2/20",
+ "2020/2/21",
+ "2020/2/22",
+ "2020/2/25",
+ "2020/2/26",
+ "2020/2/27",
+ "2020/2/28",
+ "2020/3/1",
+ "2020/3/4",
+ "2020/3/5",
+ "2020/3/6",
+ "2020/3/7",
+ "2020/3/8",
+ "2020/3/11",
+ "2020/3/12",
+ "2020/3/13",
+ "2020/3/14",
+ "2020/3/15",
+ "2020/3/18",
+ "2020/3/19",
+ "2020/3/20",
+ "2020/3/21",
+ "2020/3/22",
+ "2020/3/25",
+ "2020/3/26",
+ "2020/3/27",
+ "2020/3/28",
+ "2020/3/29",
+ "2020/4/1",
+ "2020/4/2",
+ "2020/4/3",
+ "2020/4/8",
+ "2020/4/9",
+ "2020/4/10",
+ "2020/4/11",
+ "2020/4/12",
+ "2020/4/15",
+ "2020/4/16",
+ "2020/4/17",
+ "2020/4/18",
+ "2020/4/19",
+ "2020/4/22",
+ "2020/4/23",
+ "2020/4/24",
+ "2020/4/25",
+ "2020/4/26",
+ "2020/5/2",
+ "2020/5/3",
+ "2020/5/6",
+ "2020/5/7",
+ "2020/5/8",
+ "2020/5/9",
+ "2020/5/10",
+ "2020/5/13",
+ "2020/5/14",
+ "2020/5/15",
+ "2020/5/16",
+ "2020/5/17",
+ "2020/5/20",
+ "2020/5/21",
+ "2020/5/22",
+ "2020/5/23",
+ "2020/5/24",
+ "2020/5/27",
+ "2020/5/28",
+ "2020/5/29",
+ "2020/5/30",
+ "2020/5/31",
+ "2020/6/3",
+ "2020/6/4",
+ "2020/6/5",
+ "2020/6/6",
+ "2020/6/7",
+ "2020/6/13"
+ ],
+ "series": [
+ {
+ "name": "成交量1",
+ "data": [
+ 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20,
+ 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37,
+ 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15,
+ 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45,
+ 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43, 15, 20, 45, 37, 43,
+ 15, 20, 45
+ ]
+ }
+ ]
+ },
+ "Word": {
+ "series": [
+ {
+ "name": "跨全端图表",
+ "textSize": 25
+ },
+ {
+ "name": "微信小程序",
+ "textSize": 20
+ },
+ {
+ "name": "支付宝小程序",
+ "textSize": 20
+ },
+ {
+ "name": "百度小程序",
+ "textSize": 20
+ },
+ {
+ "name": "QQ小程序",
+ "textSize": 20
+ },
+ {
+ "name": "头条小程序",
+ "textSize": 20
+ },
+ {
+ "name": "抖音小程序",
+ "textSize": 20
+ },
+ {
+ "name": "360小程序",
+ "textSize": 20
+ },
+ {
+ "name": "跨全端",
+ "textSize": 10
+ },
+ {
+ "name": "跨全端",
+ "textSize": 12
+ },
+ {
+ "name": "跨全端",
+ "textSize": 10
+ },
+ {
+ "name": "跨全端",
+ "textSize": 12
+ },
+ {
+ "name": "跨全端",
+ "textSize": 10
+ },
+ {
+ "name": "跨全端",
+ "textSize": 12
+ },
+ {
+ "name": "跨全端",
+ "textSize": 10
+ },
+ {
+ "name": "跨全端",
+ "textSize": 12
+ }
+ ]
+ }
+}
diff --git a/src/pages-demo/ucharts/index.vue b/src/pages-demo/ucharts/index.vue
new file mode 100644
index 0000000..e165e48
--- /dev/null
+++ b/src/pages-demo/ucharts/index.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/auth/README.md b/src/pages/auth/README.md
new file mode 100644
index 0000000..c851a76
--- /dev/null
+++ b/src/pages/auth/README.md
@@ -0,0 +1,20 @@
+# 登录页
+需要输入账号、密码/验证码的登录页。
+
+## 适用性
+
+本页面主要用于 `h5` 和 `APP`。
+
+小程序通常有平台的登录方式 `uni.login` 通常用不到登录页,所以不适用于 `小程序`。(即默认情况下,小程序环境是不会走登录拦截逻辑的。)
+
+但是如果您的小程序也需要现实的 `登录页` 那也是可以使用的。
+
+在 `src/router/config.ts` 中有一个变量 `LOGIN_PAGE_ENABLE_IN_MP` 来控制是否在小程序中使用 `H5的登录页`。
+
+更多信息请看 `src/router` 文件夹的内容。
+
+## 登录跳转
+
+目前登录的跳转逻辑主要在 `src/router/interceptor.ts` 和 `src/pages/login/login.vue` 里面,默认会在登录后自动重定向到来源/配置的页面。
+
+如果与您的业务不符,您可以自行修改。
diff --git a/src/pages/auth/login.vue b/src/pages/auth/login.vue
new file mode 100644
index 0000000..bef160c
--- /dev/null
+++ b/src/pages/auth/login.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ 登录页
+
+
+ 点击模拟登录
+
+
+
+
+
diff --git a/src/pages/auth/register.vue b/src/pages/auth/register.vue
new file mode 100644
index 0000000..e9809f0
--- /dev/null
+++ b/src/pages/auth/register.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+ 注册页
+
+
+ 点击模拟注册
+
+
+
+
+
diff --git a/src/pages/gallery/gallery.vue b/src/pages/gallery/gallery.vue
new file mode 100644
index 0000000..0da5668
--- /dev/null
+++ b/src/pages/gallery/gallery.vue
@@ -0,0 +1,17 @@
+
+
+
+
+ 相册页面
+
+
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
new file mode 100644
index 0000000..a29de76
--- /dev/null
+++ b/src/pages/index/index.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ Uni Halo v3.0.0
+
+
+
+ 请求演示
+
+
+
+
diff --git a/src/pages/me/me.vue b/src/pages/me/me.vue
new file mode 100644
index 0000000..9c5f142
--- /dev/null
+++ b/src/pages/me/me.vue
@@ -0,0 +1,79 @@
+
+
+
+
+
+ {{ userInfo.username ? '已登录' : '未登录' }}
+
+
+ {{ JSON.stringify(userInfo, null, 2) }}
+
+
+
+
+
+ 退出登录
+
+
+ 登录
+
+
+
+
+
diff --git a/src/pages/moments/moments.vue b/src/pages/moments/moments.vue
new file mode 100644
index 0000000..dde431f
--- /dev/null
+++ b/src/pages/moments/moments.vue
@@ -0,0 +1,17 @@
+
+
+
+
+ 瞬间页面
+
+
diff --git a/src/router/README.md b/src/router/README.md
new file mode 100644
index 0000000..60e3084
--- /dev/null
+++ b/src/router/README.md
@@ -0,0 +1,55 @@
+# 登录 说明
+
+## 登录 2种策略
+- 默认无需登录策略: DEFAULT_NO_NEED_LOGIN
+- 默认需要登录策略: DEFAULT_NEED_LOGIN
+
+### 默认无需登录策略: DEFAULT_NO_NEED_LOGIN
+进入任何页面都不需要登录,只有进入到黑名单中的页面/或者页面中某些动作需要登录,才需要登录。
+
+比如大部分2C的应用,美团、今日头条、抖音等,都可以直接浏览,只有点赞、评论、分享等操作或者去特殊页面(比如个人中心),才需要登录。
+
+### 默认需要登录策略: DEFAULT_NEED_LOGIN
+
+进入任何页面都需要登录,只有进入到白名单中的页面,才不需要登录。默认进入应用需要先去登录页。
+
+比如大部分2B和后台管理类的应用,比如企业微信、钉钉、飞书、内部报表系统、CMS系统等,都需要登录,只有登录后,才能使用。
+
+### EXCLUDE_LOGIN_PATH_LIST
+`EXCLUDE_LOGIN_PATH_LIST` 表示排除的路由列表。
+
+在 `默认无需登录策略: DEFAULT_NO_NEED_LOGIN` 中,只有路由在 `EXCLUDE_LOGIN_PATH_LIST` 中,才需要登录,相当于黑名单。
+
+在 `默认需要登录策略: DEFAULT_NEED_LOGIN` 中,只有路由在 `EXCLUDE_LOGIN_PATH_LIST` 中,才不需要登录,相当于白名单。
+
+### excludeLoginPath
+definePage 中可以通过 `excludeLoginPath` 来配置路由是否需要登录。(类似过去的 needLogin 的功能)
+
+```ts
+definePage({
+ style: {
+ navigationBarTitleText: '关于',
+ },
+ // 登录授权(可选):跟以前的 needLogin 类似功能,但是同时支持黑白名单,详情请见 src/router 文件夹
+ excludeLoginPath: true,
+ // 角色授权(可选):如果需要根据角色授权,就配置这个
+ roleAuth: {
+ field: 'role',
+ value: 'admin',
+ redirect: '/pages/auth/403',
+ },
+})
+```
+
+## 登录注册页路由
+
+登录页 `login.vue` 对应路由是 `/pages/login/login`.
+注册页 `register.vue` 对应路由是 `/pages/login/register`.
+
+## 登录注册页适用性
+
+登录注册页主要适用于 `h5` 和 `App`,默认不适用于 `小程序`,因为 `小程序` 通常会使用平台提供的快捷登录。
+
+特殊情况例外,如业务需要跨平台复用登录注册页时,也可以用在 `小程序` 上,所以主要还是看业务需求。
+
+通过一个参数 `LOGIN_PAGE_ENABLE_IN_MP` 来控制是否在 `小程序` 中使用 `H5登录页` 的登录逻辑。
diff --git a/src/router/config.ts b/src/router/config.ts
new file mode 100644
index 0000000..dbe1dbe
--- /dev/null
+++ b/src/router/config.ts
@@ -0,0 +1,30 @@
+import { getAllPages } from '@/utils'
+
+export const LOGIN_STRATEGY_MAP = {
+ DEFAULT_NO_NEED_LOGIN: 0, // 黑名单策略,默认可以进入APP
+ DEFAULT_NEED_LOGIN: 1, // 白名单策略,默认不可以进入APP,需要强制登录
+}
+// TODO: 1/3 登录策略,默认使用`无需登录策略`,即默认不需要登录就可以访问
+export const LOGIN_STRATEGY = LOGIN_STRATEGY_MAP.DEFAULT_NO_NEED_LOGIN
+export const isNeedLoginMode = LOGIN_STRATEGY === LOGIN_STRATEGY_MAP.DEFAULT_NEED_LOGIN
+
+export const LOGIN_PAGE = '/pages/auth/login'
+export const REGISTER_PAGE = '/pages/auth/register'
+
+export const LOGIN_PAGE_LIST = [LOGIN_PAGE, REGISTER_PAGE]
+
+// 在 definePage 里面配置了 excludeLoginPath 的页面,功能与 EXCLUDE_LOGIN_PATH_LIST 相同
+export const excludeLoginPathList = getAllPages('excludeLoginPath').map(page => page.path)
+
+// 排除在外的列表,白名单策略指白名单列表,黑名单策略指黑名单列表
+// TODO: 2/3 在 definePage 配置 excludeLoginPath,或者在下面配置 EXCLUDE_LOGIN_PATH_LIST
+export const EXCLUDE_LOGIN_PATH_LIST = [
+ '/pages/xxx/index', // 示例值
+ '/pages-sub/xxx/index', // 示例值
+ ...excludeLoginPathList, // 都是以 / 开头的 path
+]
+
+// 在小程序里面是否使用H5的登录页,默认为 false
+// 如果为 true 则复用 h5 的登录逻辑
+// TODO: 3/3 确定自己的登录页是否需要在小程序里面使用
+export const LOGIN_PAGE_ENABLE_IN_MP = false
diff --git a/src/router/interceptor.ts b/src/router/interceptor.ts
new file mode 100644
index 0000000..9c7a9ac
--- /dev/null
+++ b/src/router/interceptor.ts
@@ -0,0 +1,145 @@
+import { isMp } from '@uni-helper/uni-env'
+/**
+ * by 菲鸽 on 2025-08-19
+ * 路由拦截,通常也是登录拦截
+ * 黑、白名单的配置,请看 config.ts 文件, EXCLUDE_LOGIN_PATH_LIST
+ */
+import { useTokenStore } from '@/store/token'
+import { isPageTabbar, tabbarStore } from '@/tabbar/store'
+import { getAllPages, getLastPage, HOME_PAGE, parseUrlToObj } from '@/utils/index'
+import { EXCLUDE_LOGIN_PATH_LIST, isNeedLoginMode, LOGIN_PAGE, LOGIN_PAGE_ENABLE_IN_MP } from './config'
+
+export const FG_LOG_ENABLE = false
+
+export function judgeIsExcludePath(path: string) {
+ const isDev = import.meta.env.DEV
+ if (!isDev) {
+ return EXCLUDE_LOGIN_PATH_LIST.includes(path)
+ }
+ const allExcludeLoginPages = getAllPages('excludeLoginPath') // dev 环境下,需要每次都重新获取,否则新配置就不会生效
+ return EXCLUDE_LOGIN_PATH_LIST.includes(path) || (isDev && allExcludeLoginPages.some(page => page.path === path))
+}
+
+export const navigateToInterceptor = {
+ // 注意,这里的url是 '/' 开头的,如 '/pages/index/index',跟 'pages.json' 里面的 path 不同
+ // 增加对相对路径的处理,BY 网友 @ideal
+ invoke({ url, query }: { url: string, query?: Record }) {
+ if (url === undefined) {
+ return
+ }
+ let { path, query: _query } = parseUrlToObj(url)
+
+ FG_LOG_ENABLE && console.log('\n\n路由拦截器:-------------------------------------')
+ FG_LOG_ENABLE && console.log('路由拦截器 1: url->', url, ', query ->', query)
+ const myQuery = { ..._query, ...query }
+ // /pages/route-interceptor/index?name=feige&age=30
+ FG_LOG_ENABLE && console.log('路由拦截器 2: path->', path, ', _query ->', _query)
+ FG_LOG_ENABLE && console.log('路由拦截器 3: myQuery ->', myQuery)
+
+ // 处理相对路径
+ if (!path.startsWith('/')) {
+ const currentPath = getLastPage()?.route || ''
+ const normalizedCurrentPath = currentPath.startsWith('/') ? currentPath : `/${currentPath}`
+ const baseDir = normalizedCurrentPath.substring(0, normalizedCurrentPath.lastIndexOf('/'))
+ path = `${baseDir}/${path}`
+ }
+
+ // // 处理路由不存在的情况
+ // if (path !== '/' && !getAllPages().some(page => page.path === path)) {
+ // console.warn('路由不存在:', path)
+ // return false // 明确表示阻止原路由继续执行
+ // }
+
+ // // 插件页面
+ // if (url.startsWith('plugin://')) {
+ // FG_LOG_ENABLE && console.log('路由拦截器 4: plugin:// 路径 ==>', url)
+ // path = url
+ // }
+
+ // 处理直接进入路由非首页时,tabbarIndex 不正确的问题
+ tabbarStore.setAutoCurIdx(path)
+
+ // 小程序里面使用平台自带的登录,则不走下面的逻辑
+ if (isMp && !LOGIN_PAGE_ENABLE_IN_MP) {
+ return true // 明确表示允许路由继续执行
+ }
+
+ const tokenStore = useTokenStore()
+ FG_LOG_ENABLE && console.log('tokenStore.hasLogin:', tokenStore.hasLogin)
+
+ // 不管黑白名单,登录了就直接去吧(但是当前不能是登录页)
+ if (tokenStore.hasLogin) {
+ if (path !== LOGIN_PAGE) {
+ return true // 明确表示允许路由继续执行
+ }
+ else {
+ console.log('已经登录,但是还在登录页', myQuery.redirect)
+ const url = myQuery.redirect || HOME_PAGE
+ if (isPageTabbar(url)) {
+ uni.switchTab({ url })
+ }
+ else {
+ uni.navigateTo({ url })
+ }
+ return false // 明确表示阻止原路由继续执行
+ }
+ }
+ let fullPath = path
+
+ if (Object.keys(myQuery).length) {
+ fullPath += `?${Object.keys(myQuery).map(key => `${key}=${myQuery[key]}`).join('&')}`
+ }
+ const redirectUrl = `${LOGIN_PAGE}?redirect=${encodeURIComponent(fullPath)}`
+
+ // #region 1/2 默认需要登录的情况(白名单策略) ---------------------------
+ if (isNeedLoginMode) {
+ // 需要登录里面的 EXCLUDE_LOGIN_PATH_LIST 表示白名单,可以直接通过
+ if (judgeIsExcludePath(path)) {
+ return true // 明确表示允许路由继续执行
+ }
+ // 否则需要重定向到登录页
+ else {
+ if (path === LOGIN_PAGE) {
+ return true // 明确表示允许路由继续执行
+ }
+ FG_LOG_ENABLE && console.log('1 isNeedLogin(白名单策略) redirectUrl:', redirectUrl)
+ uni.navigateTo({ url: redirectUrl })
+ return false // 明确表示阻止原路由继续执行
+ }
+ }
+ // #endregion 1/2 默认需要登录的情况(白名单策略) ---------------------------
+
+ // #region 2/2 默认不需要登录的情况(黑名单策略) ---------------------------
+ else {
+ // 不需要登录里面的 EXCLUDE_LOGIN_PATH_LIST 表示黑名单,需要重定向到登录页
+ if (judgeIsExcludePath(path)) {
+ FG_LOG_ENABLE && console.log('2 isNeedLogin(黑名单策略) redirectUrl:', redirectUrl)
+ uni.navigateTo({ url: redirectUrl })
+ return false // 修改为false,阻止原路由继续执行
+ }
+ return true // 明确表示允许路由继续执行
+ }
+ // #endregion 2/2 默认不需要登录的情况(黑名单策略) ---------------------------
+ },
+}
+
+// 针对 chooseLocation 的特殊处理
+export const chooseLocationInterceptor = {
+ invoke(options: any) {
+ // 直接放行 chooseLocation 调用
+ FG_LOG_ENABLE && console.log('chooseLocation 调用,直接放行:', options)
+ return true
+ },
+}
+
+export const routeInterceptor = {
+ install() {
+ uni.addInterceptor('navigateTo', navigateToInterceptor)
+ uni.addInterceptor('reLaunch', navigateToInterceptor)
+ uni.addInterceptor('redirectTo', navigateToInterceptor)
+ uni.addInterceptor('switchTab', navigateToInterceptor)
+
+ // 添加 chooseLocation 的拦截器,确保直接放行
+ uni.addInterceptor('chooseLocation', chooseLocationInterceptor)
+ },
+}
diff --git a/src/router/permission.ts b/src/router/permission.ts
new file mode 100644
index 0000000..38fa06f
--- /dev/null
+++ b/src/router/permission.ts
@@ -0,0 +1,11 @@
+import { tabbarStore } from '@/tabbar/store'
+
+export const permission = {
+ install(router) {
+ router.beforeEach((to, from, next) => {
+ const path = to.path
+ tabbarStore.setAutoCurIdx(path)
+ next()
+ })
+ },
+}
diff --git a/src/service/index.ts b/src/service/index.ts
new file mode 100644
index 0000000..3bfbb5b
--- /dev/null
+++ b/src/service/index.ts
@@ -0,0 +1,6 @@
+/* eslint-disable */
+// @ts-ignore
+export * from './types';
+
+export * from './listAll';
+export * from './info';
diff --git a/src/service/info.ts b/src/service/info.ts
new file mode 100644
index 0000000..fe09da5
--- /dev/null
+++ b/src/service/info.ts
@@ -0,0 +1,14 @@
+/* eslint-disable */
+// @ts-ignore
+import request from '@/http/vue-query';
+import { CustomRequestOptions_ } from '@/http/types';
+
+import * as API from './types';
+
+/** 用户信息 GET /user/info */
+export function infoUsingGet({ options }: { options?: CustomRequestOptions_ }) {
+ return request('/user/info', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
diff --git a/src/service/listAll.ts b/src/service/listAll.ts
new file mode 100644
index 0000000..bc1c683
--- /dev/null
+++ b/src/service/listAll.ts
@@ -0,0 +1,18 @@
+/* eslint-disable */
+// @ts-ignore
+import request from '@/http/vue-query';
+import { CustomRequestOptions_ } from '@/http/types';
+
+import * as API from './types';
+
+/** 用户列表 GET /user/listAll */
+export function listAllUsingGet({
+ options,
+}: {
+ options?: CustomRequestOptions_;
+}) {
+ return request('/user/listAll', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
diff --git a/src/service/types.ts b/src/service/types.ts
new file mode 100644
index 0000000..4e46b61
--- /dev/null
+++ b/src/service/types.ts
@@ -0,0 +1,29 @@
+/* eslint-disable */
+// @ts-ignore
+
+export type InfoUsingGetResponse = {
+ code: number;
+ msg: string;
+ data: UserItem;
+};
+
+export type InfoUsingGetResponses = {
+ 200: InfoUsingGetResponse;
+};
+
+export type ListAllUsingGetResponse = {
+ code: number;
+ msg: string;
+ data: UserItem[];
+};
+
+export type ListAllUsingGetResponses = {
+ 200: ListAllUsingGetResponse;
+};
+
+export type UserItem = {
+ userId: number;
+ username: string;
+ nickname: string;
+ avatar: string;
+};
diff --git a/src/static/app/icons/1024x1024.png b/src/static/app/icons/1024x1024.png
new file mode 100644
index 0000000000000000000000000000000000000000..08dbd5f4a09da5a8e4f54ebb1fccfbe622ee2008
GIT binary patch
literal 59336
zcmeFZc{JN;8$TS?VP?9RR?%9jgV>iDOYKaj4I)K_#1c!ll-T!u>(i$-C`N>geTrCu
zq(XvNJ1vT0giyO8G>Ftr2*2n&zxV(5ocEvioVm~88*(q#b={xqb6xk6B;B(%zwo{I
z_W%Ik0@&gX6aYBOdwCY{tpM*4FQxK~_xLWr!YLR4P?tUZ;fuhThVlM+Ed=BkV(0%P
zB>X`T5)d99u8#8a4u13?0IBXD|-4E(uJl-KOFYclO!c(I65rBc=Jqvt1TZr)#-XYgz$6mCp=Jwl19
zAdEzY`c@5JEQkyhrK74=WvnH_`xA=H0f2y&59A75c=CiY_&P>XEp7f*k{A#fcU8zz
zykX~l-0xk_CcN(L#ojBDlG=X8ENwqI0u!U#Kku;V5Ip1;V@-PNan~q+&2&C#7c+(86+$~w&G+jS2@~E47-T3^Md)&46$bkKT-R;k>
zsJFRm1#a=h%1V956A39V0Dyhvb^PZQL~7xzzq^4;PIc&l2sR9abLxqyRmO@S_#G~I
zjbuX&lnP)1bid1FN?rwpfRZD7O(}Z$>hv9N^5i%!j41ScHPV!FXpthJQbn<2%von2(WcR?>su-?5s|E
z#%e1%vyBJ^tFP@Gn&;1BLeeHp{HmrK$2zQ-m=IjV6_gLk$79|TimNSoijxP+VxN}4
zL97k7tEw*8_n~e!1alMmXo!y|l{M};#%<`=Ao8%n3Trzf3fRhcjx(YCI(m1=McLdo
z{`X@3Jp+r4IM>e|sp;rAH;$@|8othx8kP}J2z}zZb7aA_^%e3cS~o3B6%tzBTc6Hb
zo%L>8YyWnx+8gT%czq=t2}ZJqTgzJNP3TkJK~BC?)wmjOyqi^TvSk@bKDD=^)*Q83
zVe$68ET{l?tNK>ZQ6Futv$(C|BRuzGXW*m049Q9hO0i5|wom29vq1pB+;$QaIHpJk
zU+K0aOZMqllU=gzbW87LcwwH~FX6mi&F7RvqSBlB=a(#Kukzo*4FW=bcP?rkt82q}
zbVf}LnA=bwku;&SLYB*9#PKieZ3B~=9YcI`4R-(uDNGO2%)Q7KZp2Ro#Om{qhAd2h
zb4b%i!?f_nzTi-mO=>kvNd=k%M?LhemOMGqLmx31(QQW(h^Qg&t$7>S_>J1OeYq1A
zegL4Hw#;_U*I>au9^?%|pxg6O)@i1(NB%JzgXXnYl#)U|dzy}JJv7bQw1?TKnbvPr
zmLxK_0?F&%qb30pnj^zaan<~-KQh(Xxe2qPhG}~7Z6Vet)X}bzNW;ojh3N{ZQD-yX
z4Mlp1S30Es-KaBkw5GZ_!dORwG^$E$aoo32OBYT>UQoLL6ao&c@gzDDj;#%rMm=FD
z(jJuZLj;pAJ~FP|w%;7KC;}g-_C5mJcx~SqwcFFj^x6hqbX|F%Aywb|Ms;UyyiRD3
z{j)n@-+YKKVQYB?(LXToCg5JUc|l$c#aA79FI>)Fd-q9_ZgI6pBz?d+KcgmN!L~G`
z#&+=mhVZ^%alO;;q@z3K_-1@GR+
zoM>u$QWFpBxc1gSz{7SZ-JWpr#r*<2jMLNdgmzI=$*?mSY-IGZR
z5x09^FfKT$B*P!u01rCTOzie~&S#yWsDEAg5B!3PK#@h17b6g6lF7B8-5!g9GHi-t
z!j2A>P-qX^la|5xgBSw0yehrOG-iLMEiL`qpYHx3c9{<_Aihe-oup2uQTyz`lj5Gu
z7}CP$pwMx(Ufg@EOE4H@r;=$Q-1FArHiG9|rB6%Ow@wJ{`8qr#+-DZwfvPH4YDCH-
z!(!}jBqpWFNxh%2X5jC^KG_CMI3K!|hh0vODK9o$Rhl9=x@giQhbS`S4xGH=X|x
z^mywkGM%wAI%E7^%55QNCNI0;ur2kUNjhp
z(U+^}(Sk_#arA}+(Q&9T_p%kPS8KduQQW-a(X}AdlVIS8ZoEuu?Piny2n0B6W
z`C1xh07|_ZUw$zLZ`+UFh7{Q|g%yf=BkwbWVWyTV9)Vk)go6bVv70?}$b4iBr5F7m
zFcFvh}%DLUptk!G_o{{H9*2T1bA&PgBWvJfyxHZ(O<76WKXbMQI3)0lL2h@Wufg
zEhE*L7DKkB?%;#S`F8kFG5JzQSBKj*8AL@CUlBNk;+%A?Mg42C#b)K2
zpyhSPg9?0%B0XI)exmuLURmgnW@@lDVJJe{{FX_opA2M3p2?3WUh09I{
zZE7pqKsT$p`iaR~Rg{&n>EjOz8B6E54|h{$9ptEd0lT#ke+3;q6&Q1GpIJA(cH!n^
z|Bl}uq2)fkGnskDPDD}0i{d;|I7Ykn`}vHJ!37W92iDzSm8Op#E-jSY6e6n4
zaJCEMsO@WiJ)ITc16U8ZIzfj-bTX+_H_K>QTA$8@3eBzBq4=(3s))_wP;|568i$A0
zIf=c8+4gxA89_ZDmC7cW)uyaibD=73Vey{jkbBn9yqNjm#UhBo$VTYX58rg;{FSEM
z<{A!L|7?AjW8ytVB?l@EGh_Z>{>k=(Ok|Rm_hAsCWfTaSWbfn5<;fkenbr)bw-}j>
zat@BMOK?4b_C)6{w>Hic(WAaZgoS*W8yxSjxao)8QUmGMMJ7|-<0Cho7Ov%;18>sCP=7_w!Zhv-OPo~R_{t=YXF_o
z>n~LXYrkyw-0|2r?GzUoc$S{rRT~EMH*1q;WLsWugNHa3lCy-B^r
z@*gc;?d&I8Xy`X7M>}*sgPEZPNCICMV0!$b(6onA%AC72bF^vlilAj2Zp3{LW%B!K
zYx`Bd+2OaQ1*_`M&ID3_;s?yWY*yxk5T^rm9eo82Q$rO}XO)%Pg%1uXZ5jvJ7+)vh
zK7R0p<*!pGdZ(7rW$WQR?>R{e?Zc|tENH4*fu&j4gG8Y{v7%j0#yb~4zPxJ7mr%#}
zKX*CXQO%?}%|OEmsMZvm?km=g%F+c+*VmQc`$)}5vGY6=#PGK{jwnPbGRL4Z*d0Q#
zsY8jW`v=h?$?A3xU?lM~=#Hw{YNEOfr5(LCWo5HuIb=wU`J*l*t3o7c*#`3gH
zG24ce_Jz-s6m=!H3}ehY`l)gC98^2u!r0oyq-t2-q8i+@|CeYl}dh=?JaWz=knm%Vc`rq&*+8-~3PiIPZSFy*smQw73
zj_KDSj?ZLEW$nKCm8Nrn6HW6OXUso*1bRVSBJ}ctLuLs#j24PC=FU0SebH%dxqNs5
z?EkLKi{VLDv%;l>7@7wmYI=T2CS4~G32d~8I4bPV>Zyg`|j7k}g4BwuPP5cR<
zkk)yvtyns%
zg*!-FU|UXPZj%-#vm1~HodnZahf`@jb1crO#AY4$_BPj^KzcimrX$J&-2!tRfGlvF8qG=}k5p!xEF%Nt_4Et$%HjSf`5}{3
zY(`7Vm!dzh^KGXnvWQ)FTqrN!us+KNh!ci{TXLwvI9tg3$%)8$K0kkd=SBQ)KomRv;1e)Cw$ceRUA$SAJd5dF
z%??v@
mG~jVnf|jhMT)RK>S?*EqXc266aO6OJO*cSvG2;o(%&pTzG!|jhWlKZ?VZj>W5E6FP2)Td)avV9{JBl|~R
zl*+@!ngd&A%VW1aSD%$f-KH7#5k!|S@d4y|IJM&3F|YPvZryZHJ!j=(zmO_7jb&&Z
z3G2-+g^iaW#m@2i%8yN}c@9giv4#gO_-(B~N+1n{i@j{$4|^wjf^|rTq^;)w0L?Ya
z5X-KAMt^hPh#JzY6gRAXLfe(zoPMr|8r!janTVf))Gq2)e;u!poERSdgx
zs61is6j?K_yc_EaT96^#{-HY_T-s-qO~Xzatjf5&9APUlOH%_n$Pty6qEAiXSZKD{`0)`ixz!(R?ImtH_J;F}eQeWS
zbv$>x)_Rh<0ND4^I}`A9jl0*Z@@zyRwcdkq2#vhm8xC~MZc#@14Da%yCm{cOcp7$(
z`BcD~00rW?s#}UBhzp3_r43e-W?|8#Y+;!xXbsIBwNrs
z>!%3OGoBhBNB1U68Zz#UK44D2WA0IQueX-(iS`jLdkCIu+gexf3X4B@W@~so6<)Z?
zC{sFlzIZ~ih(^05$4=7%#*wGW?3+)gZxgb@7mlhePd4rkos9dmn>2;Pg1Mh;miyFy
zD3_K3EKiZcXT%9LLSemcVjO%Aor~FeQ97eKJ*#Qr4{z`~nG1nv*9KYH<~^(&d@x3_
z=~8K%WwA|&=ZBAIO&Rq$%czAJXvH
z6|GH65xY3>m0~^YFoU!Gh8uU`_F4p67Q;j6B)wITGo(@4fOVF){?Pz1AT-;yiyEdh
z^Y{1Sq5cz$qRuG0A$)Pq#@r95#_-4wZpoRnn6Tc?tx3H+IN27b80)gF1#&s}Tl=$%
z30w2&v*J^0qw2aTQ(iDPja?zR_`x9&$Q8;I)-U_)cCw@JgPo-yTG|T9MSE>(?eu+r>bt
zpN2@Daf||w+V$8fasTGNMPd_&p9AK6wg#pRhsh{I)Sg=ueGq=+&TcSiM{IQ_sEA
zNI6iWA!r?#GZIEn6at1a9mA2Td+AyF-B#jjn?0z8J&VcT5=We9fj
zWwu^_Rr1X5q2oRFcMnhXRL2jB@gpqVSW-Q?v8{N>)meyF7d>?
z6+1oid1*rGe2A-Z1C*@B%k*wEsWzMN1_eNLG4;j8k(EukD~Q=jL!sO^!`zrG2r2eg#GD-LL+WY{>eHI{
zbh`|w3YP#bzwoq8IPd)t9#p-$Q7siOPQzBYWt3ChfJ!RXD*+*hZdD-r1BZiSP
z7giFfRq3JTt-M{3^WU`mq^A*Qwq`x~X64~e*S5z4IMdKryP>LN_3qsNsatM?kwHO5
zRVXt7c7EF_Pac_vQ(I5GiF8-WWsS=`Km4u#z|%gF`^0OU+)HRzqXRUV$-X~tj@0)
z1mL*NM?}j1IL*gb7vCUY6^o>$hPN56C-xD96cR5cXuYjcr>bKO(+K8HT3TPZ??@mc
z8EJm4Y6VL6@9OtR7K=5Flw&e^wAI7&vgvB+Do;CHqo2hz%!$}LuC`&n%{^uBeRIdS
zz{mUhPZAUn6#tvBK|H6MjM>}KUH$$AUt#cBK>7Hzv`+JI;@eL$1$H+XE*T-Wd!kBz
zzHq7@;Fw8!KXI==^-dzi)DvN~E$Fpl0gEq=8yA_M1OWn)r$;p=z*^U?XK7}&RF3qe
z5&Og~#Q$ekk0c3&Rgwg_bw1oRPoy=jl^zoQ%Je|V;Y?xhc|N25QC%|~73@S@h+QwN
zXOiS_IrZ0wQ;FwPew+VTVzH_;VcmnHaW>tW$+26Xd_eI>qTVlq(*$FZ$#tJBWm`+j
zVs(bBAgi{Yk51w9W%6~2JjF#PDYR#(e<@(I(Yx2Y*`~069kPWKOY#@u>rjH{k}flH
zafaFccbwvXes?+;ppB%LT3qZYgEZf)DO*IT^gr1$!feOzU^jUi5WtD~`JkOeE-Q1X
z-6SolkQ_cN#-Fxof39&;Sgm_S&L7wW#Cll9I;NSmy9FifXY;Un(-htm$Bk-eHxaiV
zOGO9aoEubKgEVnp6QqtY(FiJZ@4*$`<1YIB~-;{i%NC~%8ZkdJR{n`mv7fkI@d9~JALxRThq~H
zMpAp4Fx}#Jm{vNbDkLkCCweL>z}@Bwn1V5*wN>xgZN6FRYd-96pV>Sfc;?3b;Y_}+
z3x7m!sna!l)uiu=m6Ag#Rkbm8E;B4lemKj}f9gTq
zzN8F559u|VW>1>N?v}ZRi4ZN7RgX_qjCm%B%hED3@muRxcDEjLgU%9-oDd2Cy+l2`
zxZV)*OWG4i&joNZ$-zhDXRb7_MThR9zq>}EI?e1+D+XiE{nMyuKzhdAEp(s4bD)Xy
zVz(=OD)-Hj)%$Xj|B=gou!Cln>}I(^MpsLZr1j4S{|1=DRFYqcqxuFy&6~5~#b0A2
zU?2X@59#a3z&&(Tv8po>50T{4OSA~JepXb`bbQ>tGNB-NyE~6QevijP$~a*uo-{m6
z05u3_T~b5zVa>`;Y@t5hMusJxT18zG-{}97f9}f1Lr-GC$au)dki2Y4sgHqEgLa0t
zV_58I+kv`z5*+EOK1#?+eG_rBt<1ZCfWIVxUKZd1@XNL*Z2(q|{OI315mc`f-M={!
zwAUaQa@w#%R{^RL*+~m?Q3uU9o);M2-Q4}c*;=h3t$n{?_37IVrGUuV(H*O4`;{GZ
z5D=sypMPrYfM1J024!es>cZ6*VX{j+t81
zyr(ICs&PdLN}%1)^(rV}&@1-W
z8ERlb%+u67{)o6eN_Q4Wf3j{G-9{N$TGYRV4*njaDQS--i?ih0VbK5i;jy%Z^UC@8?%;*~zO+}h>t;XbdwsFRXx~~cp%Urlz<3yE&>DS--zjpz=
zCzXd&sl5}6`E$3_vB0bnkm(xCp{h;_W!&rNLOyLbw@3y#f$QyxeZ{Pn^dC=0SpUR-
z-)S8`HB_*x6+4=3CfsKStLZItyw>u^UrlSur)^wrWIH>lq^W}@Li!(vM0A`_2>uU%
z*XaF%`2u`U2dZgHl8J=%+zFF?a%v=i-h+$@3l+3@lMgUwp!q?`!bOH^lTnOSeUNHT
z0dJ#QaIo2SB|wMlnrTGVAx(q5+O(5S_g(V0RiB2D82
z8oU^M=afNb(19hosDCHtRWx+Y`&C#(I_5I*ay!zXZvZN{z
z(_URjw{nzG2w0->x08DZ+69H{cVVs2#RnM@
zeaA;*B=6JhnglVQ$!u}n3Gzlr3pI$fj*#WPL4;%$-8u_U@N_=}O}`%gGY7w6AExl!
z<5c50`{a2=AY5hafrGJG*s~x_Rm(GsI|WEW*G&C~{xz^wKzuv=R9q
z&c+MIn-22bD>icBpT16!9^xl!t?I6yO~0;=tjUt@-~Fw;GBPNr69UKw8PyAm(xE967FNZ-
zJ~{Quxot?&h`q<}^JO-J&YS1wUlshB^(i^UGLQ%lT3u+5mpK&*P+qX0jThfeog}av
zyYp||^)tG)^SZ%I9f+$P`3>;ZyRXfCBqfXMSXJWSqnaLj&NlgUeTboCaex0WOjJHwp7Y*|e
zmpY|)_NUVd1OI(kWvg95NWIJ(;s+ttS-MlGZSwq5JAB>Dip#vV
zr8wyMsekd<$nd{aV76F^51{>*|7QZ|E>7{wD|W0&uss%
zjNr+;+>&rk%{}J#cVQ+csYkj+Z^s@ek>t!bQcOumjRtienRG`0#i!u
z@nGo(x&HYzl{j@q(|k^8WZLY=e1ph18hC;6QZgO=Qr4>UB``GG0L%{t!Z$V~Tmj|g
zMWtBs??##0nK7k{O~tYLhiH%5CovKxG>2W@cVGC))lih=7Qp2>87gAVVEdMv{vuTmrz)fJiobbtyvNr
zQ+>s|+0voZC6FW<=@luHX2+-Z=ydez$MUNgnL@ymP^HKQVoLj6)O8%YNVj!Q%-LQy
zP3nbntQ8%ayOQfX0Tu6W1xEJyX>{+T$_&bqDQM68-mlkk`HoU864OjGw|}9_LfPUfq+H@wAX8
zFgWxf^3nmmT8@%0Q~5~`@LKyEc+29PleGB(uGrlvs=TaCYj|z?&8p?MWkps1(+S4&vT4G;OIosB^JZiMHJZazSM9FO6w|EjhW0vg|?
zYcP)P?i#`lLf!kgZ=Y})O>(4Wnho46*c#2FTYWT-@b1Kwod_6yYlPxBnB3bPv@SUt
z29xNM?Uv110CYg*%xeo3Bb5(bA#8hw2l(K1c$02?*mg+##P#WuK9(D&lT>Bgemqz-
zYID*llqQh*{KaPCZ7}%YLvMG|j4D((8qsS{OMYj?J9skX#kN_hq&s`>J*XYMUF3Ci
z0`EUA()7M=RA_7%72qFJ>TSx}Nz{HF*B8Y0Fg2!?EsYUeCyPRw2a^-q!%Ez7jiS+Z
zo6a(w;(wf&10a`}_l9J_(h57SFm8w_cNV8_;8P?e*>-YL7p`j@dyGw|csp#t(GCOd1XeF%Jf_WUD@Xr3R@}@xMrI%an
z%lTD^V6FtnpR{z66J^JZ<@yk|oZVVET`}6D3xuA@60>w4-HdSD6$EHwY0Ja~ux}I*
zEI60*+huUABuD|huEMF3Gj&)gh?<%??2|a*Ft&2_9WRsUv*`$=iNb+&%K*GI`bXbA5Zv
zOt)@C!?deLq(v3?}W=TZZFvO{-#$Cvfp{0>>Kv
zv9M%r+FNl!E?sF?nE4p?A7=n_-U+<8?39G|s!ESpTXfTyb}lG9qCaRhh};(ohYubC
z1le6toB+S=^4!nHDmC*m*mG%Z-Er`atxL=s8wGg!NnLf7Ah3U7Iri?pqi=fJ)Q1^x
z%)>0JzS)cqLFWPP=XkIm{4Yb?L!GJJn|Z|;4@;kMlalfbEq}yXNm*cE$j7(coSl%5=K2y(PE#jb~-@qY|({%SmEpRTUz%*>?b
zny!2A;v|)wj@O;iYNYj5O!4m)W{7m{w~y3eeyEN;Y@
znkTLVD=u4%W@JT7yn7DmF9!`ys}xV8NZnlybvHT0RTxkkP&{lvx8bjUR7
z(J|-K_N!qje8i_6iE;QU1QB@iT*Qm~?F?(!mVNI7Ovyn|T+DJ;!Sip+G_pL}(gmMvr_+qT)=%)1UbP9a?BdH>XfPx?NA-P~(E?Xv&J!4yRnVd4yrv
z3++_~V=Fv9^BF~F;H#0vk!wxG^cOe(P}`YLF3s&y0ry!1_dryRj0NYOoAI{8s_$59
zAagt!rF-}M)|Js_`%sc^42dq~nLrqk-Leox4^#uUX8g%;6jB>R;!=Dse@vMhi`Q
z|EYsm)uUTp*Fzh{d5Z}NKAtukpPEOND<^C}scw!vFL~eV^zOU2@pCHkcf!`hvkEe1JNefpJRtmwlLWpSJUj5pzrOP?pZrUYyq&jyL&m>U@Glko|AY!W
zi}t?efcx{si(_#sFB!A@I_(?qlUyQq`($~rg$(&G$vR&s{n>gv%X=m==VCp;qxlHro|4w{u^5gJ=$S*={Dyn+PTF1mmB
zeG>2>lYdK*ckdhOGW}k;RvZEhDk;sNJNluu(Pr7s3E&akcbHjhc+b%-9ll
zI@(j{U}qBvHm+#UvDAhdrD$Foe
z?X(Z~+jTOL2;eI6!yUlfxf@?~)p(IUfF}+v5(i1c_E&)GL!Z*70Fs
zCla=cRO`N$yv#*W=bv3`EZ7r
zOJSKt&bdxe3i6;MF%bwgvaP$kWtW$x-_Bt&2Q!wX{J2nCqMi%vGAfkWk)`A$YYK
zc=@rfoX9`S5x>2B9Nf-HB~XGJHoT!cYr
zkT|p6vOLXt(4^rW2~&rz$F$UII`q5HP@zjfIb-up-b<~d*IEv2q`#VX5kZ@oRmO&S
z5098wvK(U7d|5Tn!|ho2$+mE6V@+x{dHZ1Ge1d!xEz+ecbbI4`LR+?`?IayG`ObHq
z(tz0GR%m9oPImrEmxBn{yD`$jb&UkNfj}y7VeyFQl+_3`q;i81ecfE
z=Q*wob4BIyKF*1fY~YPyrIebS=Z1oS^Bz|_Q|w!D&<6Y5VB3KvPs1TfsV~S78U`%D
z)&mu?uWbQ5A~a8NH287cnk(%)qR<=;UDz>*_BMV#8wj(<<=-*+E%ZLp6eN^o6i_eC
zxaD1ll8EjonS=fMi{jx3`KQq
z9*5ZtDwz0Vw}R9ao30)dFHBcsf5@-XHkkB$ZQ)hA<95d6(D68ed8Y51FIN971l!JJ
zbL3h}ahbP4=J2$KMI(!MdckO6gaSHUL`umZJLL1?`_zlgu(U-<{EDYY!OavplY}U^
zZrLX|!77a&M9!VOtdSmmM5pgfK8J6;ZL2AmWKQ+1zYcD8x4c;#H>{MGF;MBHLO`s#
zw~BbbrIl4*=tQ7-r}?0n`Z`qPZJK$sfYG4fIV0X}FkYD(hs>J{KsPgr1(lnMFp0_6
zm3A_U%>yG{4vpYNC2jpETk8^1HMzRW*9q9|I*ZcTLSad37sV2}#?z~EFs^;8pAkFp
z;KLn%eEZ2lQ9pY&DmD~WGTe0Cc>3?g0v`&CHZFJnw!
zVJVH*h4%CS!B}5bfk)u3CK|vfFz*A7*u|h5tChvIHMOO-82He8cxDB8
z>U~k;yC3V$e$fG)+6oYdu&tlDM#P3(Vg5vWRs2j&P(7}A5o}-RxN}3<2E)07i_djV
z6Jg(Y2>x*pG$`k;RdZZWr36S
z0$rH@Y-1}8u_Eo#KI2Ml3v8*(;zmmkfO@+%0%wRio91^)BhlR)<7_I*Arh
z<3k`PS@1$#^wOGX8|CYEMu*rZKh(iboBVw$B^8QM
z$S!n@l4PQ*A?Wa|yN}beUINpBscJg5y_`)xmsnWT+7o=`M{Q>oMH4rBIL~!mK^RH9imcYatLpKTHx*0Zya2tjs
zf%Ad9vSi}gFSbrS0Jldq8mx!J;D+hV+$|Ho7|W2`1tERx<2yD)_tvFe%nRZ6ZPsrmqZ3v<|+{
z_+{gfVRTZ1Tu~M6L$Cd)y@!L)Z%{|^1hH@aaj`R0^XZ_LX(?4i4e9UAFLRHNEf%t7
z+NW2o$`0aXr|zwDgKG$Fx^`WRUxx7nN_Xnvp;d@^=dzmn%TRDHvIl#`)iz{&RCVai
z(h6Th;MZ-d1dX`?8@B4U`HGwrv#_`u@4+8`bMJ8Jw_|4idf~{bx%0}Nn;}(mywP-0
zxrEi98o1*{!!DttVkdVS7%?`ZnzTC^NS*o3rx8#8*Wq8urR$N>UCVQ(8Od%A!M^7G
zyNggQ|3RJM1*BGy4`zs@fg|p!x)C@~ueF{LTvv)XHgHWGYf$UG=G-dTjn-DT&IT%3
zt668KjLg5BfYvEic4m}1FIA>$dFRtNd3QM}MZRf=!|ShSos2#UT^uoO#BnrAqZT?R
zVJRCbp$QL+?tQ~mU&lFl0zOc^@fI_t8Fg3i&WuA-QH}58VCVR
zW|^&8@joSA`NzsHs6S>ES;nn$b~3thvsZe8Dp8XtbeOhOI4@{h4ZoaHwVN2KxJf4~
zb>ft*WJSg(AC*wUib^o6VR;~wqle-&Hu@)f=iH37VzOvRsCOQL*r`JvnZPg)}v-K`vU_
z&A{yZnwHR~-i?R?j_NoO6?5fs@d{=2(WOwi@q<$(h1w%g=0q
z8Tiw0+L@Pth8!zPOs*?kr@L8=)LUiB2YF|8g-MK!(iCB-)gSRemD$a5t_tBGw=!ZC
zJ|v^L3kR_!LaE|=*XT`n8~YV7x}y1;{p9{DLKvKiZmY{B5OLCmRavWEG&~vUt1UEhaC?|yH{A?rW?_a
zRR*6Hcqy4LV)P%{J-7D4euk6L%XHO=Rv`Kel(E80l_yd4u8?W<&SiV@kduV<6L^kj
zBpg>MVWnzA_jFmPW$|)+wQKs~DB}yQj_S23#h0rhV)Jl%&_JIa=^6N9-7UNb2z+@G
z7Wfd>qhkxRb)6-=BY1f9N9z|<6W*zeSDCqiohMe~7lXvT3nxBQ#jNayyvk3Tk|dbv
zi_gs9X`L
z!3w_2()MUKJqs|>`X?LtW|z9?9ZsK;@*a6vH;#QmBx~Tbv6dl~#5PqO!|ZT;-J{if
zT+L-)(9Cb7OOY}Vxav4D!VW4VRL#tk`c4Elm2bQi+^S(
z_;Te`6Jg_c=Ag$@vrrouJdv)c0ul}{RK=id4ULtMVJ10Q#VonzjIhhBkzy%`q2*1W
zuQtuBIA_f%>q(k?P>!Q`?EGZh?v1Un^TzSRzm2r-nwkv8?w1V3V={`}Y&Bvd4qALf
zBN3YidJ3Q@=aRRjkrRzZ8LPrNndMamCcU_^izjR5jCzZ$o6f3uF|xXtmA3nCcW|ZQ
zv_Xt^dnkmPj^l`^i8;ono5I7{-MUo+?X{fg>7`rl99!EuXprRUtHlPKOT|!Omeiyc
zSORSxe>lw_ulvt5={Fs`$Yt(Nm~DJ^aj!>A1et6;Z+qeZGVDZl4^gUv(G9XzzBUVY
zfmUiZGFHg+E2$6DOJB;7DF`KL!dU#L0;_w9t3o=dH0MGyljX-aPZ885?*|^XjL603
z3_GW8+(xZen%BlHF)8iTLT!|g^OyoI&)CnqPD3Z1;uifnYKvk3<~r7Ofz8*PwneS8=VKOm&Ei$o5t7D@2|+?9DOF=rPA(;p3|wxS58jv9Rmx%+4gzD~`v5
z^DD^O@E~<~=!)a6eh;?PC38ChN1D~1U=y|zLHe96Y+L+x-N=IKY6g`NXct2|aEsoY
zHVj{KAIk7}6kp>1#0^tGANJ&&+v&_G)TZeuu`S}jqu+E!qn}W6t33n&?%&2o007c?
z5OJmKs`?r7fpDJ|pV95K;vID+>_f*vS0i`AoAun-s<(RbGiNtwQX5NcbE&k7?V)Rs
zM?2*VNnvunO%cVO%F)H14^c9x7Pq%W#Q{ruT6&wDy>2hLRG_~hRn^;;@x0Uyp-^js
zFKhzCGZx$05)-kImTgKezo`)O#IHTRc{q};f+dVh8*o9ey?1`>
zo1Mf)jakc~aMgHsOW{heQTE7DuXSq2^69!QCYiOeVghU}=Jb5`2cR%R(bfwem9>q3
z4)~&Tr6*qQpdH=&Yz$T(ToYLzNUd$k_4`0ydubL4(wVikYk#!bjBb};0Q(TNgHGZQ
z&OQ)}of+)ugl9~7N!_K4>aH%hSK}M8Fj-^O(@ef(GcD6FS=UT`;ko=yJGUUEDi5)6
z9BHt1J%GSn?05O*-xr%Q*duvd>)+Sa8Z)Noe(F?Zarp=AskM66_$;GKQg7UDhQ
zdeL`$F)}@>f*rG`Ip3Fzu&KS)$w<_;_Qoq*;P!*FfG-~$3mC$c*YB8Q9|H3LF|9|^
z?eV_5{v4kp-5#?XtMEZFmPNlGo^nX>u_-OE5OZx&U>46qg4E3>Fxp`It6j#yaC_DM
zE3U8U?{gguin?Y=xrwN{c+TcboQiZyeba%x#=+c)4_5Fb+CgZ*G-`SO4U#V1iaT~1
zxcD(H>hB^yN}{i6TM<>+&m6jar*oFHNy1bOjlaAUX}22tW5VEb-VE%&r}_GNFQLR*Iv%mOF-Q)sU4{%YS_HMTbPkpmJUg?76mkVEy|Th@d7>ZyUUr
z3|l!DROp;DioRg31rc^i&H78}#6yvkAGEviqFSC-Rt&?d+)5G%PX7Im)T0l2dg4r
zv{vR_!2d8)%A%V1+4vZvH!U{xL0sY*e}|#{9OMT^$ubO$W0WYf4C5yDLJ4EDGJuu@
znFFiJ7#rp2F}kF`iE<4b<5ipjAI~HoeyZ|#Tx135c0h6w
z$Di<&%F@b^o5>9r#bi-u_KRSb0{1IfhUybibOR;j94x9XhN{PHFr6?yXcsC{EiYg3
zn}(hwa?pFM##d1e;WoJDa_XyR-V*I6Um}_$i=@*{{}@q)RA!GTS*OZFZ&vRtB^-ZF
z7u^DX8Rtc}gmf}Xv*0>xRm_cOJ{>kNpb6L~G1ip*=$nC|CKlUa?kmxF{SmdBXJRgK
zncl=y_jc`Bqia?-(`kilNQ1+gag&QWElUr}qiAOGJOtgaSV!hYyaM_8q>6NI;w*r@
z`q-tQ^39b}ZRzdd&Bn(RcZ!BFt%-WV8JHiMWKSD6#hDl2+}w9RBuMm5$G5GO9!?-!
zBl5#G$M8sz)myc*ncGh>D#;p7ZJtd@n}KV9xPOozx8q5FeE7<8i{h=Xz{FS6w@lRM
zB$S}}J6(@^Yw;!l%vm@#8WmI_!Mh+a#G@mxx?00D^)S$E?Iatv9G#|)`&_(eJgH?~
z=colKxg$H!-L}7`our1#2pJ!sEMoC1Rp|6X=j$p_4P9*csB(?|*^quSSC$*`WM!|p
zGc`W6VP=05D{zNBy|yEUS1@ha^rSR7j{YB_u7V-Tt?Lfmf+#Ir($d|6y(!1h5TmOm`MU|M<&zf&ehTRI#`+b%)~@^
z{ENZs?K{K$JKyEv>zMo(qCLF*H={JS<&?#OZKW1`?L5tO+$6RGZynGEhbOyrkS#
zhI_O`kY(G9QA?r+op6?y`&Po4?V4S9XHg}?8aaKnB1bW^kkX*J3{j*XaPWt{xqZ^8
zGVeRkN&j>Yh{u3k^H@y(F;ZA}<))_Mm6Nna>`|Nd`CG{BXI#U_tf$C4`2(7>a9ilK
z6&)mfMoS_&<8kwKgMPqchN;y*Xj*D&gx}%f(@zsTYFiX$dvfx!+>X>K2(aO2lL{Q7^=Y^;p&qmM6eSM~76as^Y
zq9l!BdU+x>|7ry-JEL%y-xGz0r;H6Ao&2&2Ch{rGHe-ndVRaFxgh;kfE|EfEYKG%MI^*tIFP^X%gQ4+b(3xy;+vWsRn=
z4vjlFt8t`G_D$+F^UiV;zgaszIIwCS^3b|tDc<&>1a)YyCb`j1I55py=SQWEw2Cb*
zFzZJ{$(U*~Vy#|5q;lB=lj8L``WQ7`I~Y3R7d>A+Mrow&yX;yOFz~PbWL$nY%Ni3G
ze@rUU;)8AC$`%OE>D!CcKL)kzL_=X)hk+a#<|Zk_iW_Qwrmqt5q+ROU+<4ap`*{3e
z^(#mxw@^0RR1wZjuSpdJ^`5Qa_fZ~+U`yO>m95fM>l0|`48L|&EQ(zPPJ{L`I)2P>
z#Gj&x&%$_TaoopFJJI$(tHUG5D_a{}53mX&^oXbSw|9LLUkS9nq*XVc^6j004iT-r
zhV>*wc{2coBXspOC2ZNFK}3R9Cr#BOSJia-ZIU^3Zsh})qVv7mcH#V-m&jRZnD~8I
zX`YAyt5)9qFv#g#aY1YMbMyV34&(mKMAU53?qWusP&qDxb6##rylXUAvFV$amV#-E
z+}n~ITDbcVn|v~9O}2;nLLg-QRn|ek|NX?5lO=kXxMoTL}H6g6QVkrpgGCCxr=J-*w(TBVA2_s#8yGAm
z9f{r5;F?>4nskpcC@g2WvQXB^`&k&NL$gc-bG_ZgQ+E!
zF_s}>QJ`;K!*P$*yRAIT;`_qemhXnK7bW?$^PtVGN>*5bLX(<^uEN~}QYW-+kww03
zWp>}w=q~2qSKL6{@2$$nv#jY$hc@8`5B!++!{ew*%0DZqZ7Y5Pr+NCwpF_!JlOAVQ
ztPkH6%my7YGWq0}u<4L}w}22J0_d1ZEV%)%;MX2el-~T9ITZG8yxutaISl{uz&T@c
zi}4z48lF~x9bH!{+o%<)ECkdR$DO-xU=_FP=67gC8fp0%T+!E+s((z4I!p~b9`5C5Og(P9)UkPU{}wnK23E+HB+ACV<1+1{-UxdJxQT*az2r&1
zSd^DOb84kIaDFPU0UKBDKj3cQRal3dk7V8K7N+HqQ|)>aT2a9qF1
z5*PJ2JtJRRUard62Fbsk@rr~?;=TO=N(#1^iKDN!!l_fi?^Ga28E!rhU=ci9W^Tav
zDhvL58_Z1_>TBLQySU17W&1r~{GE8!LqvkkMsY!PzAUh3Kfur7!*_F?s9aI`#n=w>
zecgz5Ti)xuhq8G2$>>zmv69`?@_b(-1;BXPfg{9YI%eA7;pq6`Yzb@yO5a~po}?IL
zj<94ei7krd3)p;ICky){6-9E%BJxWb9XziKLNBlhxez;(SXJQ>>y!A^(Y8Do0z7`W
z7Tg`>=Sa}GmUSDzahWZ3BB`wX&i*Y
zc{*Iy+PW*a`v5c~GZ+#7yp5y{W~yAcb*bT4Y!3OEyoPAfqnVg45oTF5uqN(@QLBbz
zp+fpS=x9BQPRC&Lx#s2;4|EHmLac&lVi|T40|w{`|CXYS~4y5AN;h`-iti?6ncIu*Akb%7?pMgu^n4#AT`=P0K%Dj>a@X~A7AN#Z85
zJ%c1Gb_zzicIt!^q)~sPkF+`=%H&rgBMf?`D#=RVHNEkeepapzmvv2k+C!l+Yr(s<
zq-&@d#M@LL)B8DT?4g8_XmR)UmMhNyUgCc^Pd&Jb7be>74v$i`bxR#
zd%yDJX_;}KRjl<(n13Y&Fj-EfXGog<7#dGhWw#F){-u`9F%_nbbHWt~p!&0!)UE27
z(VD*Qo^`p=S_~UeA*(Oo9!RJ;d2!zC&nT`rl?I1Q_lM
zTJtLIMz|B)5bo$nc+Q-R7=)O;RDSB#Po8%Us*0$`7PHkx=|C(aQ&nrmRn_sYIUhtq
zVjJ7+{RYd}2R$7b1@s;}A5Vj4kFOxqsz<@Lk|??~Ks2vn8NffAi3en*j9vrzxtr#Q
z*4Bx14JU$s7ivYib)BG^=)J)Q%Mw^M%!>Cvt^e3}EEBxFFybOiCQt+pqU_2mmo)d(
zYkdwbh;hv1poG0XhWa_(uUvHaCJl0zqk2UqHd^_@)VxbB9~4!ezUvpRRohcXrP!kp
z<8AgO0Uso!|KPJ*o?gOH`XH+~>E6KzvIUmuwH<8M?zQEDeCEwoD|7SeT}>Z;w(j^n
zZUm8GUY)Q$b_PBmYV6BRCEv)mM)>9v4fYi~9Y^3}V+4QFb
z%XXvnx$yr$lKz^X$^hjN0`mLl{QDN0z*5Ow2WZ6KUKVeN5Q7|UbxH~R)KSgbiJ{7-
zj}57*81KT!u;x0}+MXzfUmjWzc6$n5fn92OUOP&7_jfGc0HCM%^i=HNSP!)&W<3>8DwF{rE|l5iTo)vScVOqcY;W+p~MU
zGTLw2woI041@yv9l8pA)N3b}^SMU22B!H@;rIC80;^e%RMU2T;!e=lqoF*bgOT%Z+
z0sr7W>pv&2sgI2qI$W;Ka%;fbE5^e!WOR?22H;>#c~at{V*po8oY|LXAO!?U2>6y9j7T5!8C}&V%IlJ#SNU94H{jQEA{28g3
zc*3;_w7&QE5JcCLQL(F*SCr2*)s2@Q?gPp{th!$mVMkYrR
z4tL_mH}k=(+0Bjb5k$7<;o?TTZJ2#{`%(S8PE+WO85KXDbPk2{!Aj;Mt_%gRomojA#r`$8IaGLgcI_HdEXCSd}wLlD(bu4dE`OxW0g
zmXgJE476b!k3XGT3NV};bv%@|weS&;R($o8h>DDSCD|$e^6zLK
z*v;Nim<>YMLW=fBtqZa2g}vtMm1J$*hrenZ!p&jpZr?|9*J)z&=TC!5^%UFsEKZ-i
ztRDg?mjX_(8y&MxvZx$2W8?y~T+po1>GWgsg9-V^c8@~x{(pq0R~H%k7Hvyvl}V+%
zTm0PZpDzo4>&RCEX!8^VWZ@&6Sjx}J?P+w`1j*<;n%IP26AEFmov-